Change Log

This page lists changes to the Tenon.io website and API. Only the most relevant items are listed here. We rarely include things here related to security improvements or purely-internal things that wouldn't make much sense out of context. We encourage you to review this page periodically, especially if you've chosen to unsubscribe from system updates.

2019

June

  1. Improvement TEN-4319 Admin: Add mechanism for admin to change users' test settings.
  2. Improvement TEN-4534 Add History report type.
  3. Improvement TEN-4267 Admin: Add mechanism for admin to change users' API settings.
  4. Improvement TEN-3676 Allow PC admin to configure max spider limit for users
  5. Improvement TEN-3364 Bulk user add process should send invite link
  6. Bug TEN-4522 Change stripehooks to react only to items that have amount > 0
  7. Improvement TEN-4507 Create CSS declarations for tenon's new ARIA grids to display exactly like current tables
  8. Bug TEN-4536 Emails have delivery problems
  9. Improvement TEN-4521 Feedback lists on bulkUserAdd should be
    1. Bug TEN-4542 Tenon Projects marks any user as "unauthorized" on project creation if their plan is expired. Should only look at calls available.
    2. Bug TEN-4520 Unable to remove project URLs
    3. Improvement TEN-4509 Upgrade Stripe API version to latest
    4. Bug TEN-3956 Wrong number of params in method calls in `bestPractices.class`

    May

    1. Improvement TEN-3579 Private instances should not have multiple plans
    2. Improvement TEN-3688 Reports: List issues by * should provide a count of the total issues
    3. Bug TEN-3959 Dashboard filter dates not working
    4. Improvement TEN-4191 Upgrade Stripe API version
    5. Bug TEN-4253 Priority info is incorrect on Best Practice page
    6. Bug TEN-4321 history-by-docID does not appear to be working
    7. Bug TEN-4452 API not honoring settings hierarchy
    8. Improvement TEN-4470 Add feature for customers to view & download copies of past invoices
    9. Improvement TEN-4472 Disable password reset link when used
    10. Bug TEN-4473 Weak Cyphers allowed
    11. Bug TEN-4475 CSRFtoken cookie is not set to be HttpOnly
    12. Improvement TEN-4478 Create print stylesheet for dashboard and reports views that eliminates the header and navigation
    13. Improvement TEN-4493 Adjust documentation to list explicit endpoint for test API
    14. Improvement TEN-4504 Set HSTS header
    15. Improvement TEN-4506 Set Expect-CT header

    April

    1. Improvement TEN-4456 Log API responses that cannot be serialised as JSON
    2. Improvement TEN-4450 Get rid of Google URL shortener - doesn't seem like it is working anymore anyway
    3. Bug TEN-4447 When creating a new project urls are not processed
    4. Bug TEN-4446 Wrong fragment parameter for fragment test causes unscafolded code
    5. Bug TEN-4442 API response serialisation fails on NaN value somewhere
    6. Bug TEN-4430 Test 153 should look for long strings
    7. Bug TEN-4414 Tenon should validate # of URLs added vs. # of calls available - currently doesn't add any URLs when too few are available
    8. Bug TEN-4402 Nginx routing should generally account for /index.php links.
    9. Bug TEN-4337 test ID 148 is buggy
    10. Bug TEN-4006 API Log in users/view.php should include ALL records, regardless of HTTP status
    11. Improvement TEN-3590 add to sitemonitor UI: options so that users can set options there, instead of needing to read docs

    March

    1. Improvement TEN-4384 Add checks if user set both `url` and `src` parameters in api calls
    2. Improvement TEN-4377 Add long-term storage for document sources (fragment and full page source tests)
    3. Improvement TEN-4401 Add rate-limiting support to API
    4. Bug TEN-4407 API not available in browser via CORS
    5. Bug TEN-4354 Empty content tests (i.e. empty LI) should not flag for role="separator")
    6. Improvement TEN-4392 If a user accesses /login.php but is already logged in, redirect them to dashboard

    February

    1. Improvement TEN-3903 Set up tenon.io support form to send over support requests to Jira Service desk
    2. Bug TEN-4208 Fragment tests fail bizarrely
    3. Improvement TEN-4362 API should run in local browser mode depending on environment variable
    4. Bug TEN-4361 API response codes contain malformed urls
    5. Bug TEN-3560 Demo cookie doesn't seem to get unset when the user logs in
    6. Bug TEN-4358 Change apperance of PCI compliance info on buyboosts.php script
    7. Improvement TEN-4203 Add CORS header to projets API routes
    8. Bug TEN-4289 API log rows should not be empty for fragment tests
    9. Bug TEN-4290 User's expiration date fields do not show up on Edit Plan page
    10. Bug TEN-4348 Fix user menu links
    11. Improvement TEN-4345 Update Support Policy page
    12. Improvement TEN-4346 Add new research technologies
    13. Improvement TEN-4333 API should spin up a local browser to tests against if a remote browser is unavailable

    January

    1. Bug TEN-4225 :a11y_visible doesn't appear to take into consideration aria-hidden="true"
    2. Bug TEN-4230 230 should only flag if there's actual text
    3. Improvement TEN-4258 Add to tenon docs: Known issues
    4. Improvement TEN-3577 admin user add/ admin bulk add confirmation emails should describe the reset process
    5. Bug TEN-4310 duplicate summary test (211) is buggy
    6. Improvement TEN-3799 Ensure a 1-to-1 match between what's listed in test settings and actual live tests
    7. Improvement TEN-4331 Improve API logging and error handling
    8. Improvement TEN-4274 Remove memory and CPU restrictions from www and api containers
    9. Bug TEN-4313 test 153 is buggy - fails on all-numeric strings
    10. Bug TEN-4099 Test 93 should not flag things that have href="#"
    11. Bug TEN-4296 When a person's subscription expires, we should not lock them out of the system

    2018

    2017 saw the resolution of 575 user stories, improvements, and bugs in Tenon.

    December

    1. Story TEN-4240 Put postman collections on the site
    2. Story TEN-4232 Update Tenon privacy page to disclose marketing scripts
    3. Task TEN-4224 Allow twitter through CSP
    4. Bug TEN-4229 Test 210 flags valid elements
    5. Task TEN-4213 Add Twitter Conversion Snippet
    6. Task TEN-4212 Store document source as Redis tuple
    7. Story TEN-4079 store a complete copy of the node response within apiLog
    8. Task TEN-4207 Move refersion tracking code block to config.php
    9. Story TEN-4128 Templatize CSP so that private systems have much more restrictive CSP
    10. Bug TEN-4129 AJAX refresh rate not saved on account update
    11. Bug TEN-4167 Buy Boost post to Stripe is not replacing variable placeholders with their values
    12. Bug TEN-4197 Project add screen is disassembling URLs

    November

    1. Improvement TEN-3533 Configure memcache on customer instances
    2. Improvement TEN-3101 Analyze nginx configs for security and make any necessary changes
    3. Improvement TEN-4143 Require users to have API calls available before they can modify API settings and Test Settings
    4. Bug TEN-3678 tests 94 & 95 don't appear to be finding anything
    5. Bug TEN-4126 test api apparently requires lowercase URLs or converts URLs to lowercase
    6. Improvement TEN-4161 Revise test 21 to also look for `menu`
    7. Bug TEN-4157 html_beautify has namespace clashes with some sites under test
    8. Improvement TEN-4144 Reports API create all issues report

    October

    1. Improvement TEN-4110 Add documentation for test 107
    2. Improvement TEN-4109 Add documentation for test 182
    3. Improvement TEN-4108 Add documentation for test 203

    September

    1. Improvement TEN-3980 Add fields to registration and user profile
    2. Improvement TEN-4031 Add items with image role to all alt attribute tests
    3. Improvement TEN-4028 Add negative test case fixture to test 182 for links
    4. Bug TEN-3833 Are tests 148 and 228 identical?
    5. Bug TEN-3732 Are tests 156 and 182 too similar?
    6. Improvement TEN-4045 clear out some unused stuff from tenon-www
    7. Bug TEN-4018 Content in reports.php has the standards content all mushed together
    8. Improvement TEN-3900 Create a mechanism of Grading pages
    9. Improvement TEN-4065 Detect if site uses CSP prior to deciding whether to test the page or not.
    10. Bug TEN-3997 Displayed dates in dashboard may break layout
    11. Bug TEN-4101 Eliminate test 166 temporarily
    12. Bug TEN-3089 Ensure all Reports API examples are accurate
    13. Bug TEN-4069 Errors in Projects API documentation
    14. Bug TEN-4032 headings tests should not flag headings that are display:none
    15. Bug TEN-4097 history.php does not display result. errors logged in console
    16. Improvement TEN-4012 improve description of 219 to suggest that perhaps the developer does not have an appropriate role
    17. Improvement TEN-4077 Improve test vio content
    18. Bug TEN-3773 Is `waitFor` acting as designed? It should delay test execution for a specified time *after* the load event has finished.
    19. Bug TEN-4000 Issues by Certainty hover label is incorrect.
    20. Improvement TEN-4066 Migrate from Network Load Balancers to Application Load Balancers on AWS ECS Services
    21. Bug TEN-3991 Modify tID 152 to look for target size of 44px. This will align it with WCAG 2.5.5
    22. Bug TEN-3679 No LOGIN navigation link on documentation pages
    23. Bug TEN-4041 remove test 106
    24. Bug TEN-3792 remove test 136 temporarily until other lang attribute stuff is sorted
    25. Bug TEN-4042 remove test 169
    26. Bug TEN-4039 remove test 177
    27. Bug TEN-4037 Remove tID_174
    28. Improvement TEN-4070 Reports API: Create an "all issues" report
    29. Bug TEN-4074 Result is not displaying the number of issues discovered
    30. Bug TEN-4058 Review and fix the API response documentation
    31. Bug TEN-4036 Some test need to be rewritten for performance
    32. Bug TEN-4100 Some tests have no associated standards
    33. Improvement TEN-4034 test 191 should also look for aria-labelledby
    34. Bug TEN-4014 tid 164 is throwing false positives
    35. Bug TEN-4011 tid 173 throws false positive
    36. Bug TEN-4009 tid 203 is logging the image - should log the link
    37. Bug TEN-4010 tid 239 is logging the image - should log the link
    38. Bug TEN-4029 tID 85 should not throw if all of the inner form elements are hidden
    39. Bug TEN-4020 tID 87 should not be throwing errors for empty `summary`
    40. Bug TEN-4008 tID 93 should not be finding links that are empty
    41. improvement TEN-4096 Update tests September 2018
    42. Bug TEN-4076 UTF-8 page titles are inserted as LATIN

    August

    1. Bug TEN-3421 CSRFtoken breaks things in prod
    2. Bug TEN-3938 Improve projects API documentation regarding delete route
    3. Improvement TEN-3932 Remap our target size test to map to 2.5.5
    4. Bug TEN-3988 secure setcookie() not invoked correctly
    5. Bug TEN-3881 some tests have no standards
    6. Improvement TEN-3995 Update Standard mappings in the database
    7. Improvement TEN-3178 update Tenon's standards to use WCAG 2.1
    8. Improvement TEN-3831 update tests content
    9. Improvement TEN-3982 Update tests summer 2018
    10. Bug TEN-3662 verify the accuracy of tID_175

    July

    1. Improvement TEN-3982 Update tests summer 2018
    2. Improvement TEN-3586 Run through the dates displayed on the site and ensure they are displayed in the user's desired format
    3. Improvement TEN-3585 Run through the numbers displayed on the site and ensure they are displayed in the user's desired format
    4. Bug TEN-3865 test 152 is buggy
    5. Bug TEN-3863 false positive for insufficient line-height test (144)
    6. Bug TEN-3871 test 55 should not flag things that are display:none
    7. Bug TEN-3861 testID 246 should allow role=presentation
    8. Improvement TEN-2733 Create A11y POC service
    9. Bug TEN-3887 Fix cleanGlobals static warning
    10. Improvement TEN-3924 Create migration to eliminate tID_77

    June

    1. Bug TEN-3554 verify the usefulness of tID 106
    2. Improvement TEN-3604 Modify method of selecting previous time range
    3. Bug TEN-3649 tID_13 should not fail frames that aren't display:none
    4. Bug TEN-3663 tID_10 appears buggy
    5. Bug TEN-3674 Site Monitors on Private instances call the wrong API endpoint
    6. Bug TEN-3682 148 and 228 are too similarly worded and coded
    7. Bug TEN-3694 Improve description of tID_130
    8. Bug TEN-3754 Lower the certainty score on tid 235 to 40%
    9. Bug TEN-3790 test 42 and 77 have nearly identical titles. Are they the same?
    10. Bug TEN-3798 are tests 238 and 216 too similar?
    11. Bug TEN-3845 Bug tID 9 for image that is display:none;
    12. Bug TEN-3846 Bug: test ID 31 should not fail non-visible items
    13. Bug TEN-3848 test 239 should select (return) the link, not just the image
    14. Bug TEN-3849 Are tests 222 and 71 too similar?
    15. Bug TEN-3850 test 164 throwing false positives
    16. Bug TEN-3855 tID 152 does not appear to have any standards mapped to it.
    17. Bug TEN-3856 tID 184 should not fail links that have href="#" or href=""
    18. Bug TEN-3857 test 202 should check for visibility
    19. Bug TEN-3858 test 218 does not appear to have any standards
    20. Bug TEN-3859 test 219 throws false positives
    21. Bug TEN-3860 test 203 throws false positive
    22. Bug TEN-3864 are 244 and 246 identical?
    23. Bug TEN-3866 test 245 is considering aria-hidden as an orphaned attribute
    24. Bug TEN-3868 test 75 should not be flagging empty IDs
    25. Bug TEN-3869 test 138 should not be flagging images that are display:none;
    26. Bug TEN-3870 test 20 should not be flagging images or things that are display:none
    27. Bug TEN-3872 test 147 should flag the TD/ TH, not the content inside it
    28. Improvement TEN-3873 improve testVioTitle for 48
    29. Improvement TEN-3874 edit test settings: list of tests should include certainty score
    30. Bug TEN-3876 Test 235 should check only the full text string, not just partial.
    31. Improvement TEN-3877 153 description should include note that the content might also be getting converted to uppercase via CSS
    32. Bug TEN-3878 102 should not flag images that are inside of links, labels, or buttons
    33. Bug TEN-3880 test 144: Insufficient line height test should not test form fields
    34. Bug TEN-3886 Test 75 incorrectly matches on svg path IDs
    35. Bug TEN-3892 "Jira Push Example" and "Github push example" both have the same descriptions on the Get Code page
    36. Bug TEN-3894 "api default fragment" options on global config should be Yes/ No
    37. Improvement TEN-3917 Add WCAG 2.1 content to tenon-www standards content.
    38. Bug TEN-3922 Documentation inaccurate

    May

    1. Bug TEN-3821 tenon api documentation incorrectly says that `store` is set to 1, not 0 as default as stated in the documentation.
    2. Bug TEN-3801 Some `listIssuesBy*` reports don't properly display full error information - JSON might still be complete
    3. Bug TEN-3686 SQL error present on researchStatsByTechnology
    4. Bug TEN-3841 "mean" values in research stats are wrong
    5. Bug TEN-3851 Test ID 79 title needs fixing: "This link has a `title` attribute that isthe same as the text inside the link."
    6. Bug TEN-3656 tID_164 is buggy. Flagging optgroup elements that do have labels
    7. Improvement TEN-3528 Create provisioning ansible scripts for haproxy balancing
    8. Improvement TEN-3838 Modify website, terms, and privacy for GDPR
    9. Improvement TEN-3854 Adjust title on test 61
    10. Improvement TEN-3862 Create upper limit for issue instance reports

    April

    1. Bug TEN-3360 Language switcher does not switch UI language when deployed
    2. Improvement TEN-3636 Dashboard reports tables should encode entities
    3. Improvement TEN-3672 Redesign test settings page to add more info about each test
    4. Improvement TEN-3680 Add new `img-src` values to CSP
    5. Bug TEN-3689 tID_235 is buggy
    6. Bug TEN-3736 tID 184 should ignore empty hrefs, hrefs with # and hrefs with `javascript;`
    7. Bug TEN-3740 tid 86 should not throw an error if either attribute is blank
    8. Bug TEN-3760 PHP test API is returning 200 for cases where the URL is 400+
    9. Bug TEN-3761 User permissions level displayed is incorrect
    10. Bug TEN-3775 tenon pages don't set response codes properly
    11. Bug TEN-3821 tenon api documentation incorrectly says that `store` is set to 1, not 0 as default as stated in the documentation.
    12. Improvement TEN-3824 Log test API calls to events table

    March

    1. Bug TEN-3545 "Start your free trial" link has insufficient contrast in focus state
    2. Improvement TEN-3624 Add docker file to tenon-capture repo
    3. Improvement TEN-3594 Add indication of % to research stats difference and indicate positive or negative difference
    4. Improvement TEN-3593 Add link to Research in the site footer
    5. Improvement TEN-3556 Add pct difference to research stats by technology
    6. Bug TEN-3599 Add project view displays error
    7. Improvement TEN-3104 Adjust configuration of ipTables firewall
    8. Bug TEN-3578 All documentation should provide the instance domain whenever the Tenon instance URL is used.
    9. Improvement TEN-3598 Autogenerate a sitemap.xml file for tenon.io
    10. Bug TEN-3582 Calls to sandbox are being counted against the user limit
    11. Bug TEN-3681 Confirmation page syntax error
    12. Improvement TEN-3592 Create migration to delete certain tests and BPs
    13. Improvement TEN-3445 Create real-time data feed of the user's queue
    14. Improvement TEN-3609 Create SQL migrations to update tests for 2018
    15. Bug TEN-3570 Dashboard tables no longer sort
    16. Improvement TEN-3671 Delete "Test Now - With Options" video
    17. Improvement TEN-3099 Disable USB devices on all servers
    18. Improvement TEN-3511 eliminate test ID 213
    19. Improvement TEN-3638 extend processing timeout of api
    20. Improvement TEN-3635 Limit demo log to 200 rows
    21. Improvement TEN-2791 On Research home page, add "this month" and "this week" columns to the global data
    22. Improvement TEN-3103 Partition file system on servers
    23. Bug TEN-3574 pct difference not accurately calculating on research stats
    24. Bug TEN-3573 API not properly setting HTTP status
    25. Bug TEN-3300 pm2 does not restart when the server is started/ rebooted.
    26. Improvement TEN-3542 Remove tID_59
    27. Improvement TEN-3558 Research stats page content should be cached in db for long periods
    28. Bug TEN-3615 SQL error on web hook delete
    29. Improvement TEN-3621 Take tests passing/ failing out of TestNow reports
    30. Bug TEN-3521 tenon-cli does not honor API request parameters
    31. Bug TEN-3652 tID_138 should not flag empty alt/empty link
    32. Bug TEN-3644 tID_184 should not fail for blank href or '#"
    33. Improvement TEN-3664 tID_237 should ensure the item does not have a role attribute other than 'list'
    34. Improvement TEN-3661 tID_35 should only flag elements that have content in them
    35. Bug TEN-3646 tID_68 flagging things with NO alt. Should only flag empty alt
    36. Improvement TEN-3605 Update CSP Policy
    37. Improvement TEN-3629 Update tenon-api with the new tests

    February

    1. Improvement TEN-3501 Add "Explainer" doc to research stats
    2. Improvement TEN-3473 Add ability to re-run all URLs in a project
    3. Improvement TEN-3497 Add ariba badge to purchasing page
    4. Improvement TEN-3404 add history by docID documentation
    5. Improvement TEN-3537 Add to research stats: % of logs with zero errors
    6. Improvement TEN-3498 Adjust content on Tenon-research page
    7. Improvement TEN-3538 Get page title needs to set a generic title if one isn't found
    8. Bug TEN-3549 getErrorFree method results in double-escaping of strings
    9. Improvement TEN-3492 give user a way to see their usage numbers in their profile
    10. Improvement TEN-3373 Implement CSP, with reporting
    11. Improvement TEN-3303 Implement Datadog into Docker
    12. Bug TEN-3541 malformed list on stats explainer
    13. Improvement TEN-3493 on profile, set "your plan expires" to "your plan renews"
    14. Bug TEN-3489 Pricing page not switching properly to monthly prices during checkout.
    15. Improvement TEN-3494 provide users with their own full API log
    16. Improvement TEN-3514 remove 'apiErrors' from test API response
    17. Improvement TEN-3539 Review what the regular admin user has access to and verify they can do things that make sense
    18. Improvement TEN-3433 take pass vs. fail chart out of dashboard
    19. Improvement TEN-3534 take priority distribution chart out of dashboard
    20. Improvement TEN-3540 technologyCategoryLookup needs index on catID field
    21. Improvement TEN-3482 Update translation files
    22. Improvement TEN-3544 When user registers/ confirms or is added on Private instances, give them max api calls

    January

    1. Bug TEN-3411 TR elements do not have a unique ID value
    2. Improvement TEN-3409 "Issues List" should print out the name of the report
    3. Improvement TEN-3443 add dateAdded and lastmod fields to queueUrls
    4. Improvement TEN-3390 Add health checks for all containers to docker-compose
    5. Improvement TEN-3465 Add webdriver test: trying to register with an email that already exists
    6. Improvement TEN-3468 buy boosts must validate minimum purchase
    7. Bug TEN-2972 Chromeheadless link fetcher timeout exception + time to time crashes
    8. Improvement TEN-3459 Clarify terms of service on overuse
    9. Improvement TEN-3442 create async endpoint to retrieve current queue for user
    10. Improvement TEN-3456 create db migration with new, accurate AWS creds
    11. Improvement TEN-3386 Create private instance admin ability to disallow users from creating site monitors
    12. Improvement TEN-3384 Create private instance admin ability to set default max value for spider projects
    13. Bug TEN-3412 Direct access to history result does not display results
    14. Improvement TEN-3415 Don't create link to issue list unless project is selected
    15. Improvement TEN-3362 Ensure fractal-tenon is on our getCode page
    16. Improvement TEN-3363 Ensure that getCode page lists Intern
    17. Bug TEN-3358 Fix "get code" page so that our code samples point to GH and not Bitbucket
    18. Bug TEN-3392 Generating a new API key doesn't change what's displayed to the user
    19. Improvement TEN-3367 Provide admin ability to give customers boosts
    20. Improvement TEN-3299 Provide admin the ability to prevent users from modifying specific API parameters
    21. Improvement TEN-3446 Reduce the amount of info shown in admin users table. Admin can drill down instead.
    22. Improvement TEN-3315 Remove "Register" link from home template on PC systems that disallow registration
    23. Improvement TEN-3252 Review Ansible Firewall Rules
    24. Improvement TEN-2348 Set secure flag on cookies if server sets HTTPS
    25. Bug TEN-3427 site monitor 'last monitored' only updates based on siteKey. It should use pageHash and/ or URL
    26. Bug TEN-3403 Spider limit doesn't appear to be setting the limit correctly
    27. Bug TEN-3376 tenon-cli works, but fails all of its tests
    28. Bug TEN-3257 Tenon-spider instance blocks incoming api connections from tenon-www
    29. Bug TEN-3449 Test API returns 500 error when attempting to test source
    30. Bug TEN-3451 TestNow (when logged in) expands the window and causes the analyze now button to disappear off screen
    31. Improvement TEN-3455 Update client instances with correct AWS creds
    32. Bug TEN-3447 validateApiUser endpoint lists call info as strings not ints

    2017

    2017 saw the resolution of 857 user stories, improvements, and bugs in Tenon (almost 2x as many as 2016).

    December

    1. Improvement TEN-2896 Need test: absolute positioning (give LOW certainty)
    2. Improvement TEN-2879 Need test: Fieldset element with no form fields inside it.
    3. Improvement TEN-2876 Need test: Look for UL, OL, DL without relevant children
    4. Improvement TEN-2873 Need new test: Image within link cannot have empty alt unless there is other text within the link
    5. Improvement TEN-2693 Need test: <a> element with onclick, no href, no tabindex, no role
    6. Improvement TEN-3109 Reports API: need new report requestsByLevel
    7. Improvement TEN-2565 Reports API: Need new report: listIssuesByLevel
    8. Improvement TEN-3117 get rid of tID_168 in tenon_tests, remove from documentation, etc.
    9. Improvement TEN-2532 Need Test: Labels with display:none
    10. Improvement TEN-2830 Add inlining to site monitor script
    11. Improvement TEN-2891 Need test: Two adjacent links with the same accessible name
    12. Improvement TEN-2890 Need test: Two adjacent images with the same accessible name
    13. Improvement TEN-2888 Need test: the first instance of an abbreviation or acronym should disclose its expanded form
    14. Improvement TEN-2885 New test: Links that begin with unnecessary stuff like "Link" or "Click"
    15. Improvement TEN-2875 Need new test Do not use multiple labeling strategies
    16. Improvement TEN-2855 HistoryList.jsx - Display loader until finished loading instead of HistoryNoResultMessage
    17. Improvement TEN-2849 Strip comments from all public facing code during CI/CD process.
    18. Improvement TEN-3149 Drop tID_179 from all test stuff and docs
    19. Improvement TEN-2602 Need Test: th element has empty 'id' attribute
    20. Improvement TEN-3132 Document changes to Tenon Monitors
    21. Improvement TEN-3119 Create Admin Dashboard
    22. Improvement TEN-3116 Need utility function `isIconFont`
    23. Improvement TEN-3165 eliminate tID_24 from Tenon's tests
    24. Improvement TEN-3158 Improve tID_138 to get the accessible name of the image. Use that instead of the alt
    25. Improvement TEN-3160 add some discussion around security to the privacy and security docs
    26. Improvement TEN-3201 Remove tID_78
    27. Improvement TEN-3217 add rel=noopener to external links with target=_blank
    28. Improvement TEN-3185 Add content category to issue objects in "List Issues" reports
    29. Improvement TEN-3173 Improve ariaValid plugin. Add method for isValidAriaAttribute
    30. Improvement TEN-3148 tID_150 needs improvements
    31. Improvement TEN-3243 Add `area` to getAccessibleName
    32. Improvement TEN-3228 delete tID_244
    33. Improvement TEN-3229 Delete tID_181
    34. Improvement TEN-3241 Need Test: Uninformative alt attribute on image button - matches src attribute
    35. Improvement TEN-3232 Need test: Potentially poor alt attribute found on image button
    36. Improvement TEN-3233 Need test: Bad alt text on image button
    37. Improvement TEN-3234 Need test: Image button has empty alt and non-empty title
    38. Improvement TEN-3235 Need test: Image button has alt & title that are different
    39. Improvement TEN-3236 Need test: image button alt text consisting only of non-alphanumerics
    40. Improvement TEN-3231 Need test: Two adjacent image buttons with the same accessible name
    41. Improvement TEN-3240 Need Test: img button with aria-label and alt that are different.
    42. Improvement TEN-3239 Need test: image button has empty src attribute.
    43. Improvement TEN-3171 Add a 'lastVisit' cookie for users whenever they visit the site.
    44. Improvement TEN-2037 Add test for non-existent aria props as part of ariaValid
    45. Improvement TEN-3019 provide tooltips for project card buttons
    46. Improvement TEN-3264 Adjust labeling on dashboard charts
    47. Improvement TEN-3268 Update VPAT and a11y docs
    48. Improvement TEN-3272 Add accessibility tests on adminBrowseAdminSpec.js
    49. Improvement TEN-2231 New test needed: Item(s) with interactive role must have tabindex=0
    50. Improvement TEN-2200 Prioritiztion information should be provided at the test level and not BP level
    51. Improvement TEN-2844 Ensure Servers No Longer Utilize TLS 1.0
    52. Bug TEN-3060 Breadcrumb not working on admin pages
    53. Improvement TEN-3052 Need test: Multiple consecutive <br> tags next to each other, simulating paragraphs
    54. Improvement TEN-3080 Need test: Do not use blank rows or columns for presentation
    55. Improvement TEN-3081 Need test: avoid screen transitions on entering and leaving
    56. Improvement TEN-3112 Ensure that default project button doesn't react to click or key events
    57. Improvement TEN-2690 Need test: labellable element with empty label
    58. Bug TEN-3036 User settings page has bizarre flash of success message
    59. Bug TEN-3114 Fix templates header meta robots.
    60. Bug TEN-2077 "Warning" icon not displaying in test results display
    61. Improvement TEN-2061 Ensure tID 73 uses getAccessibleName to judge link quality
    62. Bug TEN-2673 tID 38 fails when aria-labelledby contains more than one ID ref
    63. Improvement TEN-3124 eliminate tID_50 entirely
    64. Bug TEN-2522 tID 44 counts fields as duplicates if their accessible name is blank
    65. Improvement TEN-3129 Eliminate tID_51, tID_52, tID_56 from all tests and docs
    66. Improvement TEN-2895 Need test: icon font on element with no accessible name and no aria-hidden
    67. Improvement TEN-2894 Need test: css generated content that is NOT an icon font
    68. Improvement TEN-3137 Make warning icon orange
    69. Improvement TEN-3122 Need test: img with non-empty alt/aria-label/title BUT has role = presentation
    70. Improvement TEN-3123 Add check for non-empty title attribute to tID_78
    71. Bug TEN-3128 Improve getAccessibleName to not return false if the name is blank
    72. Bug TEN-3167 getAccessibleName plugin gets tripped up when there's > 1 ID value in aria-labelledby
    73. Improvement TEN-3183 add testVioTitle to each object in "list issues" reports
    74. Improvement TEN-2880 tenon-plugin-utils: Need utility function to get an element's declared styles from CSS (not computed!)
    75. Improvement TEN-3184 add bpID to each issue object in "list issues" reports
    76. Improvement TEN-3142 tID_38 should use getAccessibleName
    77. Improvement TEN-3223 tID_82 should use getAccessibleName
    78. Improvement TEN-3222 tID_72 should use getAccessibleName
    79. Improvement TEN-3221 tID_68 should use getAccessibleName
    80. Improvement TEN-3220 tID_57 should use getAccessibleName
    81. Improvement TEN-3224 tID_90 should use getAccessibleName
    82. Improvement TEN-3225 tID_91 should use getAccessibleName
    83. Improvement TEN-3218 tID_07 should use getAccessibleName
    84. Improvement TEN-3140 tID_09 should use getAccessibleName
    85. Improvement TEN-3175 Need new test, invalid aria attribute value supplied
    86. Improvement TEN-3237 Need test: Using the same ALT text on image buttons with different src attributes
    87. Bug TEN-3155 a11y_visible doesn't seem to support display:none on TH elements
    88. Improvement TEN-3238 Need test: alt text for image button consisting only of numerics
    89. Improvement TEN-2208 Need test: Text language is in the wrong direction
    90. Improvement TEN-2069 Add test(s) to verify that the `lang` attribute, when supplied, is accurate
    91. Improvement TEN-3174 need new test: element has orphaned aria attributes
    92. Improvement TEN-3259 need test: more than one visible main element
    93. Improvement TEN-3260 Need test: more than one role="navigation" without a label
    94. Bug TEN-3275 research statistics appears to have two top-level headings
    95. Improvement TEN-3172 Need new test: invalid aria role supplied
    96. Bug TEN-3279 admin api log doesn't show tested URL
    97. Improvement TEN-3219 tID_44 should use getAccessibleName
    98. Improvement TEN-3147 tID_132 should use getAccessibleName
    99. Improvement TEN-3230 Need test: Image button missing alt attribute
    100. Improvement TEN-3285 Add sandbox attribute to all iframes within /documentation/videos
    101. Improvement TEN-3287 Set referrer policy header on all pages
    102. Improvement TEN-3286 Set HSTS Header on all pages
    103. Improvement TEN-3288 Remove "issue location" priority weight from Admin Config

    November

    1. Improvement TEN-2428 Add new project urls API route: get current queue
    2. Improvement TEN-2975 Combine name and email on users admin table to save horizontal space
    3. Improvement TEN-2973 Add to reports API docs: responseByID
    4. Improvement TEN-2516 Move projects-api docs to tenon-www
    5. Improvement TEN-2851 Provide ability for Admin (on Private Instances) to "Lock" rules
    6. Improvement TEN-2990 Ensure db backup script has accurate list of tables.
    7. Improvement TEN-3011 Add tenon-hooks documentation to tenon-www
    8. Improvement TEN-2822 Document CSP and Akamai WAF issues
    9. Improvement TEN-2833 Need report: list issues by Priority
    10. Improvement TEN-3021 Ensure that all relevant site monitor (sites) events actually post to their web hooks
    11. Improvement TEN-3025 Remove text from project card buttons
    12. Improvement TEN-2530 Need Chart: Priority Distribution
    13. Improvement TEN-3047 Update privacy document
    14. Bug TEN-3042 Field for "Add/ remove urls for testing" on Projects Add page should expand vertically when focused
    15. Improvement TEN-2836 Need report: Duplicates by Test ID
    16. Improvement TEN-3048 Ensure intercom, pipedrive, bugsnag, and google analytics are shut off in PC systems
    17. Improvement TEN-2145 ReportsAPI: Add ability to list issuesBySpecificWcagSc
    18. Improvement TEN-1867 Issues by TestID table should contain a column for the testID
    19. Improvement TEN-2567 Reports API: Need new report: list-issues-by-content-category
    20. Improvement TEN-2566 Reports API: Need new report: list-issues-by-wcag-sc
    21. Improvement TEN-2557 Reports API: Need new report: listIssuesByCertainty
    22. Improvement TEN-2558 Reports API: Need new report: listIssuesByPriority
    23. Improvement TEN-1973 Create cron to get rid of errorstats for tIDs that don't exist
    24. Improvement TEN-2201 Good code/ bad code examples should be at the indivdual test level and not the BP level
    25. Improvement TEN-1974 Add remediation guidance to the tests table, remove from BPs table
    26. Bug TEN-2918 Spider project should not require `limit` and `maxDepth` arguments
    27. Bug TEN-2941 on `tenon-projects`: verify user has API calls and/ or boosts before adding URLs (or adding spider jobs)
    28. Bug TEN-2951 `userPlans` row not inserted on new user creation
    29. Bug TEN-2956 When user is not logged in `userApiSetting is undefined
    30. Bug TEN-2953 Fatal error thrown for too many connections
    31. Improvement TEN-2739 Modify /project/* pages on tenon-www to support any relevant changes to projects API and spider
    32. Improvement TEN-2768 Add report type for response ID
    33. Improvement TEN-2948 Should there be asterix symbols on required fileds.
    34. Bug TEN-2950 `users.userLastLogin` not updating
    35. Bug TEN-2963 Track urlID in queue (and queueUrls table)
    36. Bug TEN-2924 Ensure `tenon-projects` POST route inherits the values from the user's account whenever a paramater is not set
    37. Bug TEN-2967 Ensure that project delete truly deletes everything
    38. Bug TEN-2984 Projects API should not disallow punctuation in `name` or `description` fields
    39. Bug TEN-2998 Changelog content has unescaped code example
    40. Bug TEN-3001 Issue ID not being populated in errorstats
    41. Improvement TEN-2958 Queue should check MIME type before sending request to tenon-api
    42. Bug TEN-1960 Test Now incorrectly states to users that it couldn't connect to the API whenever it receives any HTTP 400+ response
    43. Improvement TEN-2007 Add cron to delete any apiLog (and related records) older than 1 year.
    44. Improvement TEN-2834 Need report: list issues by Certainty
    45. Improvement TEN-2835 Need report: list duplicate issues by test ID
    46. Bug TEN-3041 Label for 'responseTime' should be 'Date Tested' in Worst Performing Pages table on the dashboard
    47. Improvement TEN-3084 Page performance report should include response ID
    48. Improvement TEN-2687 Need new test: heading content is only punctuation
    49. Improvement TEN-2692 Need test: link with visible text in it also has aria-label/ aria-labelledby

    October

    1. Improvement TEN-2857 Document that issue result content follows markdown convention for delineating code (`)
    2. Improvement TEN-2412 Create full(er) support for Stripe's webhooks
    3. Improvement TEN-2665 Implement Unattended Upgrades Into Ansible
    4. Improvement TEN-2705 Clean-up, clear out, approve/ disapprove PRs on tenon-delivery
    5. Improvement TEN-2868 Document how Site Monitors work
    6. Improvement TEN-2436 In users::realDelete(), delete all of their other stuff (projects, etc.)
    7. Improvement TEN-2802 Update services content on www
    8. Improvement TEN-2866 Add DIG info to Purchasing page
    9. Improvement TEN-2801 Finalize whatever is needed to internationalize Tenon's content.
    10. Improvement TEN-2798 The email that is sent to user from Admin/User confirm should have its own distinct message
    11. Improvement TEN-2852 i18n cron jobs for updating translation files
    12. Bug TEN-2923 `tenon-projects` does not seem to be sending URLs into`tenon-queue`
    13. Improvement TEN-2937 Version Pin Docker-images Dockerfiles.
    14. Bug TEN-2927 PHP Error displayed on /research/statsbytechnology.php
    15. Bug TEN-2698 Fix missing content header on some async_content
    16. Bug TEN-2909 SSL Cert issue on test2 appears to interfere with Stripe Hook delivery
    17. Improvement TEN-2913 Implement dev-sec.ssh-hardening
    18. Bug TEN-2911 Strange artefacts at the bottom of the page "documentation/site-monitor.php"
    19. Bug TEN-2861 Fix country and state dropdowns to follow the flow of the form on subscribe page (subscribe.php)
    20. Bug TEN-2858 Change pricing cards to fit all the text and resize correctly.
    21. Bug TEN-2625 When api call estimator gives people a recommendation, content is hidden
    22. Bug TEN-2902 Unclosed <ul> on services content
    23. Bug TEN-2859 White space appears to negatively impact the allowed domains in PC instances
    24. Bug TEN-2786 Fix country drop down duplication
    25. Improvement TEN-2865 Add tabindex=0 to the show/hide Project-Level API settings button on /projects/add.php
    26. Bug TEN-2843 Remove commented-out social icon for Crunchbase from the template footer
    27. Bug TEN-2825 Footer links have poor contrast when focused via keyboard
    28. Bug TEN-2485 PUT route on projects appears to require all params or validate all params. It should allow for only an update of new/ changed info

    September

    1. Bug TEN-2729 "Blog" link exists twice in logged-in footer
    2. Improvement TEN-2734 Add "Purchasing" link to Pricing page
    3. Improvement TEN-2726 Add a "Buy Boosts" button on the profile page.
    4. Improvement TEN-2699 Add CSRF protection
    5. Improvement TEN-2438 Add density info to dashboard summary
    6. Improvement TEN-2761 Add global data to summary
    7. Improvement TEN-2622 Add show/ hide on messages list
    8. Improvement TEN-1749 Create data source for retrieving a list of duplicate issues by testID
    9. Improvement TEN-2496 Create db migration to switch everyone's API calls available to test log counter method
    10. Improvement TEN-1745 Create read-only reports API
    11. Bug TEN-2787 CVC number not posted to stripe
    12. Improvement TEN-2174 Dashboard Summary should include "Unique Instances" and "Repeat Instances". Base on signature.
    13. Improvement TEN-2762 Do not create a "Free" Subscription when users initially register/ get added.
    14. Improvement TEN-2735 Ensure that support user always has a project on install
    15. Improvement TEN-2778 Issues by certainty should show count and percent
    16. Improvement TEN-2779 Issues by priority should show count and percent
    17. Improvement TEN-2694 Need test: link opens new window
    18. Improvement TEN-2691 Need test: title attribute on link
    19. Bug TEN-2741 Node API request examples appear out of date
    20. Bug TEN-2767 Page History Report Response numeric values are coming across as strings
    21. Improvement TEN-2771 Remove 'global' data from summary report.
    22. Improvement TEN-2146 Remove "Address" from settings nav on private systems
    23. Improvement TEN-2765 Remove duplicate issues table from the dashboard.
    24. Improvement TEN-2766 Remove duplicate vs. repeat issues from summary reports.
    25. Improvement TEN-2755 Reports API Document Size - should be rounded
    26. Improvement TEN-2757 Reports api: add issues by docID based on page history
    27. Improvement TEN-2556 Reports API: Issue Instances - rename to listIssueInstances
    28. Improvement TEN-2039 Reports API: Page Performance should have date(s) tested
    29. Improvement TEN-2144 ReportsAPI summary: add totalErrorFree and pctErrorFree
    30. Improvement TEN-2754 Set the X-XSS-Protection HTTP response header to '1'
    31. Improvement TEN-2753 Set X-Content-Type-Options Header
    32. Improvement TEN-2752 Set X-Frame-Options to SAMEORIGIN
    33. Bug TEN-2715 Some integers in test-api response are getting quoted
    34. Bug TEN-2675 There is no whitespace in system emails
    35. Improvement TEN-2711 turn off tenon-research on private instances
    36. Improvement TEN-2717 update password hashing strategies

    August

    1. Improvement TEN-2484 Feature request - Tenon inlineAsset service
    2. Improvement TEN-2660 Add ability to view all IPs used by user in /users/view.php
    3. Improvement TEN-2662 Create a best practices content retrieval service
    4. Improvement TEN-2674 Create private instance setting: expiration date
    5. Improvement TEN-2671 need test: ensure multiple aria strategies are not used to label objects
    6. Improvement TEN-2252 New test needed: dir=rtl without lang
    7. Bug TEN-2669 trueHttpResponseCodes report is malformed
    8. Bug TEN-2670 Project cards are broken
    9. Bug TEN-2697 Fix mixed content issue on "About" page

    July

    1. Improvement TEN-2083 Honor aria-hidden in the isVisible method
    2. Improvement TEN-1851 add aria-label to a11yText()
    3. Improvement TEN-1815 Need test: Invalid lang code value
    4. Improvement TEN-2596 Need Test: Don't use the same label attribute for different optgroup elements of the same select element
    5. Improvement TEN-2587 Need Test: Use a dt element as the first child of a dl element
    6. Improvement TEN-2626 Generate PO files for translation
    7. Improvement TEN-2604 Need Test: Avoid duplicate legend element values
    8. Improvement TEN-2613 Improve tID_210 by only returning an issue if the caption isn't blank
    9. Improvement TEN-2612 Improve tID_211 by only returning an issue if the summary isn't blank
    10. Improvement TEN-2592 Need Test: If an img element is a child of an a element with text, do not use the same text for its alt attribute as the text inside the a element
    11. Improvement TEN-2598 Need Test: Avoid duplicate label attribute values on optgroup elements

    June

    1. Bug TEN-2614 Data being returned by page-performance chart does not appear properly constructed
    2. Improvement TEN-2125 Private cloud: Remove demo log link in admin nav for private cloud users
    3. Improvement TEN-2155 Write navigation to templates with PHP and not React.
    4. Bug TEN-2624 Repair misconfiguration of travis file
    5. Bug TEN-2159 verify user agent string is being sent properly from TestAPI and that client requests are able to override the default
    6. Bug TEN-2616 .support-number css font color is incorrect.
    7. Bug TEN-2605 Default project not being created on login
    8. Bug TEN-2606 Broken link at api documentation site
    9. Bug TEN-2607 random "\" character in api documentation
    10. Improvement TEN-2595 Need Test: Use a scope or id attribute for every non-empty th element
    11. Improvement TEN-2584 Need Test: Don't use a value other than ltr, rtl, or auto on the dir attribute
    12. Improvement TEN-2597 Need Test: Avoid empty label attribute on optgroup element
    13. Improvement TEN-2582 Review & Revise VPAT/ GPAT information
    14. Improvement TEN-2585 Need test: Ensure frame titles are not empty
    15. Improvement TEN-2594 Need Test: Avoid empty summary attribute
    16. Improvement TEN-2601 Need Test: td/ th element has empty headers attribute
    17. Improvement TEN-2591 Need Test: Avoid empty p elements
    18. Improvement TEN-2590 Need Test: Avoid empty dd elements
    19. Improvement TEN-2589 Need Test: Avoid empty dt elements
    20. Improvement TEN-2588 Need Test: Avoid empty li elements/ role=listitem
    21. Improvement TEN-2599 Need Test: Avoid duplicate caption elements
    22. Improvement TEN-2593 Need Test: Avoid empty caption element
    23. Improvement TEN-2603 Need Test: do not open new windows on form submission (look for target=_blank) on form element)
    24. Improvement TEN-2602 Need Test: th element has empty id attribute
    25. Improvement TEN-2600 Need Test: Avoid duplicate summary attributes
    26. Bug TEN-2574 Ensure all 'delete' operations validate that the record to be deleted actually exists first
    27. Bug TEN-2581 Add aria-label on admin table links
    28. Bug TEN-2580 The title for all "View" and "Edit" pages should have the name of the record being acted on.
    29. Bug TEN-2579 Admin add/edit users does no meaningful validation
    30. Bug TEN-2578 Edit API config should give success/ failure feedback
    31. Bug TEN-2575 Create "Purchasing" page
    32. Bug TEN-2573 Lower certainty score of Test 130
    33. Bug TEN-2577 Create db migration to update the plans table to bring it in line with prod

    May

    1. Improvement TEN-2526 Add message code to apiLog record so we can see what the specific error was for 400s
    2. Improvement TEN-2547 API Call Estimator should recommend Boosts until calls exceed 2000
    3. Improvement TEN-2232 Create a sandbox file - set it so API calls against that specific sandbox file don't count toward usage limits
    4. Improvement TEN-1750 Create data source for issues by test ID
    5. Improvement TEN-1751 Create data source to retrieve a list of issues by WCAG SC
    6. Improvement TEN-2180 Design UI for purchasing API credits (boosts)
    7. Improvement TEN-2484 Create Tenon inlineAsset service
    8. Improvement TEN-2134 migrate from jshint to eslint
    9. Improvement TEN-2517 Modify pricing page with info about POs and Invoicing
    10. Improvement TEN-2569 Modify tenon's terms of use regarding cancellations
    11. Improvement TEN-2341 Need test: image has empty src attribute
    12. Improvement TEN-2423 Need test: label pointing to non-existent form field (possible duplicate)
    13. Improvement TEN-2414 New test needed: aria-label and alt that are different.
    14. Improvement TEN-2495 New test needed: Do not use aria-hidden="true" on a visible focusable element
    15. Improvement TEN-2251 New test needed: role=presentation on interactive control (i.e. links, buttons, etc.)
    16. Improvement TEN-2418 New test needed. Table with presentation role but has data table structures
    17. Improvement TEN-2362 New Test: detect aria-hidden on body element
    18. Bug TEN-1941 Reports API: Issues By Certainty not complete
    19. Bug TEN-2172 Reports-API: logTime not limited to dates the user has data for.
    20. Improvement TEN-2568 Set up supertest for testing reports api
    21. Bug TEN-2519 SQL Error on Confirm Test User
    22. Improvement TEN-2459 Test URL status code to determine test approach for Tenon Toolkit
    23. Bug TEN-2508 When newly registered user says they want a salesperson to call them, send follow-up email to schedule a call.

    April

    1. Improvement TEN-2397 Document test tID 183 radio buttons with the same name attributes
    2. Improvement TEN-2396 Document test tID 182 event handlers bound to non-actionable element that lacks role or tabindex
    3. Improvement TEN-2394 Document test tID 179 onblur, onfocus, or onchange events that shift focus or submit form
    4. Improvement TEN-2395 Document test tID 180 events bound to something that has negative tabindex but that is visible on screen and non-disabled
    5. Improvement TEN-2392 Document test tID 178 table is too complex
    6. Improvement TEN-2393 Document test tID 185 Text language is in the wrong direction.
    7. Improvement TEN-2390 Document test tID 175 verify that the lang attribute, when supplied, is accurate
    8. Improvement TEN-2391 Document test tID 177 poor readability
    9. Improvement TEN-2389 Document test tID 174 ARIA role overrides good role
    10. Improvement TEN-2386 Document test tID 171 area element links directly to sound file
    11. Improvement TEN-2387 Document test tID 172 video or audio elements without track sub elements for captions
    12. Improvement TEN-2388 Document test tID 173 link references media file directly
    13. Improvement TEN-2385 Document test tID 169 visual order must match focus order (1.3.2, 2.4.3)
    14. Improvement TEN-2383 Document test tID 167 Potential focus trap
    15. Improvement TEN-2384 Document test tID 168 CSS blink
    16. Improvement TEN-2381 Document test tID 163 Table headers
    17. Improvement TEN-2382 Document test tID 164 look for optgroup without label; without unique label; without option children
    18. Improvement TEN-2380 Document test tID 162 Suppressing text resize on mobile
    19. Improvement TEN-2377 Document test tID 159 find at least one landmark
    20. Improvement TEN-2378 Document test tID 160 look for css focus definition without identical hover definition
    21. Improvement TEN-2375 Document test tID 131: ensure links that point to an in page anchor: that the anchor exists (anchor does not need to be visible)
    22. Improvement TEN-2376 Document test tID 158 empty lang attribute
    23. Improvement TEN-2374 Document test tID 15 Avoid using tables for layout
    24. Improvement TEN-2372 Document test tID 117 acronym with no title or empty title
    25. Improvement TEN-2371 Document test tID 93 links have identical href attributes but different text
    26. Improvement TEN-2369 Document test tID 87 table has summary but no caption
    27. Improvement TEN-2370 Document test tID 88 List item has no useful text
    28. Improvement TEN-2368 Document test tID 85 Form has no submit mechanism
    29. Improvement TEN-2367 Document test tID 67: Form submits when checkbox is checked
    30. Improvement TEN-2365 Document test tID 55 Do not apply tabindex to elements that are not actionable and don't have events bound to them
    31. Improvement TEN-2366 Document test tID 56: Do not bind events to elements that are not focusable and do not have tabindex
    32. Improvement TEN-2364 Document test tID 184 Adjacent links going to the same destination
    33. Improvement TEN-2435 Document test ID 193 - label pointing to non-existent form field
    34. Improvement TEN-2458 Handle 413 Entity too large issue when POSTing source to the API
    35. Improvement TEN-2476 Create db migration to adjust API source limit
    36. Improvement TEN-2477 Create "ping" endpoint, for use with tenon-toolkit and other internal services to get http status code of urls
    37. Improvement TEN-2462 Update Docs for custom tests specification
    38. Improvement TEN-2336 Route "Garbage can" icon on project cards to project delete
    39. Improvement TEN-2265 Make the PHP form for adding projects work with the projects API
    40. Improvement TEN-2142 Change it so free trial isn't 30 days but rather just 50 free API calls.
    41. Improvement TEN-2493 Ensure that user profile page accurately shows calls available & boosts available
    42. Improvement TEN-2492 Add ability for admin to view users' test settings on /users/view.php
    43. Improvement TEN-2404 on /projects/add.php if validation errors are present, all hidden regions of the form should be shown
    44. Bug TEN-2111 Ensure that the PHP endpoint and UI properly gets/ sets/ sends waitFor when used
    45. Bug TEN-2499 SQL Syntax Error when adding standards
    46. Improvement TEN-2504 On /projects/delete.php verify that the user won't be left without a default.
    47. Bug TEN-2506 "View Results" button isn't showing up on History, even though cached record exists.
    48. Improvement TEN-2379 Document test tID 161 Provide a means to skip past repetitive navigation links
    49. Bug TEN-1972 tID 45 description in DB is poor. Test is about length
    50. Bug TEN-1971 Fix description of tID 57
    51. Improvement TEN-2413 Site Monitors: Get UA string and pass that as part of the request
    52. Improvement TEN-2461 Do not run site monitor test if the UA is Googlebot (or other well-known bot)
    53. Improvement TEN-2502 Eliminate confusing naming of waitFor vs. delay
    54. Bug TEN-2510 SQL error on confirm

    March

    1. Improvement TEN-2420 Remove test: tID 118
    2. Improvement TEN-2421 Extend processing timeout on test API to 90 seconds
    3. Improvement TEN-2358 Add stateful messages to form submissions throughout the site
    4. Improvement TEN-2407 Remove test: tID 11
    5. Improvement TEN-1473 Add UI affordance for users to delete projects
    6. Improvement TEN-2434 Add API Call Estimator
    7. Bug TEN-1655 Table sorting is does not use natural language sort
    8. Improvement TEN-2398 Create export of BP/ Test Information
    9. Bug TEN-1502 Sortable table caption shows field key value instead of human readable format

    February

    1. Improvement TEN-1473 Add UI affordance for users to delete projects
    2. Improvement TEN-2342 Create new method/ db table to house global stats. Add method to api class
    3. Improvement TEN-1776 Add web hooks
    4. Improvement TEN-1773 Create ability to get a list of all pages tested (inc. narrowing by project, etc.)
    5. Improvement TEN-1671 Adjust Tenon documentation to address change of projectID to auto generated string
    6. Improvement TEN-2318 Provide user setting for "refresh rate" for AJAX driven content
    7. Bug TEN-1502 Sortable table caption shows field key value instead of human readable format
    8. Improvement TEN-2348 Set secure flag on cookies if server sets HTTPS
    9. Bug TEN-2352 fix mismatched collation on research tables
    10. Improvement TEN-2311 small security improvements needed in nginx configs
    11. Improvement TEN-1689 Add user profile option to consent to anonymous stats
    12. Improvement TEN-2335 remove ref and importance from test api response
    13. Improvement TEN-2332 take configuration for api/ spider endpoints out of global config.
    14. Improvement TEN-1478 Create UI affordance to facilitate populating project test queue from sitemap.xml
    15. Improvement TEN-2147 Docs need more named anchors in Issue Response document
    16. Improvement TEN-1752 Create data source for issues by certainty
    17. Improvement TEN-1753 Create data source for api requests by day
    18. Improvement TEN-1770 Get data for chart/ table: Issues by content category
    19. Improvement TEN-2019 Ensure reports API allows for grabbing history by docID
    20. Improvement TEN-2333 Create a single "Settings" page under which all settings are listed
    21. Bug TEN-2020 Test Bug: tID 104
    22. Improvement TEN-2304 Create settings page for users to manage their Test Settings
    23. Bug TEN-2323 Bug on login form requires user to resubmit the form several times before login is successful
    24. Improvement TEN-2197 Need test: radio buttons with the same name attributes in separate fieldsets, groups, or radio groups
    25. Improvement TEN-2002 Allow test for frames/ iframes to honor aria-hidden=true
    26. Improvement TEN-2325 Add "can we have a sales person call you?" + name, phone number field to registration form
    27. Improvement TEN-1833 Need test: All caps text found; also check for uppercase text

    January

    1. Bug TEN-1838 Wide-page check (tID_28) not catching errors
    2. Bug TEN-1847 tID_46 finds the outer table. It should be finding the inner tables
    3. Bug TEN-1896 Test bug: tID 30 gets fooled by query string parameters
    4. Bug TEN-2026 memcached not being installed during provisioning of tenon-www
    5. Bug TEN-2209 Project filter on 'History' page does not submit AJAX request
    6. Bug TEN-2287 user api logs first date/ last date breaks SQL query when the user has no logs
    7. Bug TEN-2308 Fix bad markup on https://tenon.io/documentation/json-response-overview.php
    8. Improvement TEN-1071 New Selenium Test: user upgrade self
    9. Improvement TEN-1088 New Selenium Test: testNow from dashboard
    10. Improvement TEN-1475 Add ability to use site's sitemap.xml file to seed URLs to test
    11. Improvement TEN-1814 Need test: Group of radio buttons/ group of checkboxes not enclosed in a fieldset
    12. Improvement TEN-1820 Need test: form field that occurs after the submit button
    13. Improvement TEN-1871 Add test to find at least one landmark, preferably main
    14. Improvement TEN-1897 Deprecate the importance request parameter. Nobody uses it anyway.
    15. Improvement TEN-1914 Remove ref parameter from request - create reference link no matter what.
    16. Improvement TEN-2079 New test needed: area links to sound file
    17. Improvement TEN-2080 New test needed: video or audio elements without track sub elements for captions
    18. Improvement TEN-2081 New test needed: link references media file directly
    19. Improvement TEN-2138 Create Selenium tests for Best Practices CRUD
    20. Improvement TEN-2139 Create Selenium tests for BP meta CRUD
    21. Improvement TEN-2207 Need test: Adjacent links going to the same destination
    22. Improvement TEN-2242 Add other filenames to tests that reference spacer.gif
    23. Improvement TEN-2245 Verify that the generated issueID is truly unique
    24. Improvement TEN-2259 tenon-www: Set endpoints for various services to be configurable via a config file
    25. Improvement TEN-2283 Ensure project delete is a full delete
    26. Improvement TEN-2290 remove references to ref and importance parameters from docs
    27. Improvement TEN-2292 Improve invalid project detection in project URLs routes
    28. Improvement TEN-2303 Clarify on pricing page what an API call is
    29. Improvement TEN-2305 Tests passed/ vs. failed is inaccurate
    30. Improvement TEN-2306 add appID to siteMonitors:runMonitor requests
    31. Improvement TEN-912 New Selenium Test: Register (alt1 Error Handling)
    32. Improvement TEN-914 New Selenium Test: Confirm Registration (alt 1: User already confirmed)
    33. Improvement TEN-916 New Selenium Test: Log In (alt 1: Error State)
    34. Improvement TEN-919 New Selenium Test: Forgotten Password Reset (alt 1: Error state)
    35. Improvement TEN-921 New Selenium Test: Edit Profile (alt 1: Error State)
    36. Improvement TEN-979 Need test. Look for HTML5 audio element without controls AND with autoplay (1.4.2) must have low certainty

    2016

    2016 saw the resolution of 431 user stories, improvements, and bugs in Tenon.

    September - December

    1. Improvement TEN-1001 Need test: any event handlers bound to non-actionable element that lacks role or tabindex
    2. Improvement TEN-1072 New Selenium Test: view profile
    3. Improvement TEN-1074 New Selenium Test: edit address
    4. Improvement TEN-1077 New Selenium Test: edit API settings
    5. Improvement TEN-1079 New Selenium Test: remove URLs from project
    6. Improvement TEN-1081 New Selenium Test: add URLs to project
    7. Improvement TEN-1082 New Selenium Test: view profile from user menu
    8. Improvement TEN-1085 New Selenium Test: view notifications
    9. Improvement TEN-1090 New Selenium Test: view projects
    10. Improvement TEN-1111 Set deploy script to purge pagespeed's cache
    11. Bug TEN-1565 Tenon API testing executes before tested page's JS has executed
    12. Bug TEN-1966 Position information not reliably being returned in results
    13. Improvement TEN-2016 Convert soft deletes to hard deletes
    14. Improvement TEN-2041 sitemonitor: allow user to set the src to be sent by setting a valid selector
    15. Improvement TEN-2059 Ensure that the location for CDN archive is configurable based on environment.
    16. Improvement TEN-2068 Eliminate Unused stuff from deploy scripts/ roles/ playbooks, etc.
    17. Improvement TEN-2074 Create db migration to force 'ref' and 'importance' to '1' for existing projects and userApiSettings
    18. Improvement TEN-2076 Move all repos to Github
    19. Improvement TEN-2082 tID 58: Don't throw this error if the role is redundant
    20. Improvement TEN-2092 Set up a CDN instance for holding/ retrieving things like results archives, tested documents, etc.
    21. Bug TEN-2093 user must submit login form multiple times before being logged in
    22. Bug TEN-2101 The test now doesn't display results, it breaks with undefined.top error
    23. Improvement TEN-2116 Remove the "Monitor" option from Project URLs. It doesn't work well and people are confused by it.
    24. Improvement TEN-2118 Change how we do email sending - send email and then archive it
    25. Improvement TEN-2119 Document API response changes
    26. Bug TEN-2120 Default project is not being created when users log in
    27. Improvement TEN-2133 Eliminate Sparkpost from the system. Should be SendGrid
    28. Improvement TEN-2136 add issueID to errorStats table
    29. Improvement TEN-2148 "Add Site Monitor" form validation should make sure the chosen projectID exists
    30. Bug TEN-2149 ResultUrl not being added to response due to strict type checking
    31. Bug TEN-2150 `urlHttpCode` is inaccurate when users test `src` instead of `url` and a resource returns 404
    32. Improvement TEN-2154 create migration to update mail account settings
    33. Bug TEN-2158 System generated email for new API key and edit profile has excessive spacing between lines.
    34. Improvement TEN-2163 Set up various service "pings" to return proper HTTP status codes
    35. Improvement TEN-2175 Add test API response code to apiLog table in the database
    36. Improvement TEN-2181 Tests for frames and i-frames should ignore those with aria-hidden
    37. Improvement TEN-2188 Create private npm module for all test dependencies
    38. Bug TEN-2211 Project cards have inaccurate counts for Failed items, Queued items, etc.
    39. Improvement TEN-2213 Add tenon-cli to the "Get Code" page
    40. Bug TEN-2227 Bad response from tenon-api (on test2-api.tenon.io)
    41. Improvement TEN-2228 Reports table needs autoincrementing PKID
    42. Improvement TEN-2230 Put back appID into apiLog. Don't create the public list
    43. Improvement TEN-2238 Do not count HTTP 500 errors against user limits
    44. Bug TEN-2246 User profile info on plan and API calls is inaccurate
    45. Improvement TEN-2257 Create migration to add appID back to apilog
    46. Improvement TEN-2258 Create db migration to add field response_code to apiLog table
    47. Bug TEN-2262 Eliminate misspelled field name
    48. Bug TEN-2263 local copy of API results not stored properly before sending to AWS
    49. Improvement TEN-911 New Selenium Test: Register
    50. Improvement TEN-913 New Selenium Test: Confirm Registration
    51. Improvement TEN-915 New Selenium Test: Log In
    52. Improvement TEN-917 New Selenium Test: Log Out
    53. Improvement TEN-918 New Selenium Test: Forgotten Password Reset
    54. Improvement TEN-920 New Selenium Test: Edit Profile
    55. Improvement TEN-922 New Selenium Test: Generate new API key
    56. Improvement TEN-934 Add `npm test` to build

    May - August

    1. Bug TEN-1909 Improve performance of apiCache:: processResults()
    2. Bug TEN-1800 Documentation Links are Broken
    3. Bug TEN-1912 Test API response sometimes doesn't include results node
    4. Improvement TEN-1868 Add trust marks to website.
    5. Improvement TEN-1911 Limit demo page access to 5x in 24-hour period
    6. Improvement TEN-1802 JSON response from test API should include URL to view report output
    7. Improvement TEN-1790 unset/ reset userKey and userTimeout on login
    8. Bug TEN-1915 Add user's expiration date to the profile page
    9. Improvement TEN-1899 login process should always check for a default project and create one if a default project does not exist.
    10. Sub-task TEN-1541 Ensure project delete completely deletes the project, all test runs, all reports, all errors, etc.
    11. Improvement TEN-1716 Api Log/ Demo Log: If 'store' not set to '1', don't create a link to the results.
    12. Improvement TEN-1876 Add better documentation around 522 errors on the TestAPI
    13. Bug TEN-1921 Amend terms of use to discuss Demo usage
    14. Bug TEN-1922 Get rid of "Applications". Let application developers sign up for Referral program
    15. Sub-task TEN-1925 Create a way to see what the current memcached size is
    16. Task TEN-1964 Remove unused tables & fields
    17. Task TEN-1965 Create db migration for plain language improvements to test table
    18. Bug TEN-1961 Print stylesheet doesn't strip off UI, such as nav.
    19. Bug TEN-1969 Create contrast BPs
    20. Bug TEN-1855 tID_77 incorrectly mapped. Needs to be mapped to other "no alt attribute" tests
    21. Bug TEN-1854 modify tID_135 to only work on
    22. Improvement TEN-1937 add a retry to the PHP api class.
    23. Bug TEN-1933 Handle warnings generated from Ansible
    24. Improvement TEN-1905 Redirect all traffic to https always
    25. Bug TEN-2000 tenon-api does not appear to be honoring/ make use of 'waitfor'
    26. Bug TEN-636 remove tests relating to font tags (16, 26, and 63, I think)
    27. Improvement TEN-1926 Take Notifications out of left nav. Put in user menu
    28. Improvement TEN-2003 Add link to Blog in header navigation.
    29. Improvement TEN-1923 Create a Services Page
    30. Improvement TEN-1968 Add Access Monitor onto GetCode
    31. Task TEN-1967 Add Mortise Ruby Client to the Get Code page
    32. Bug TEN-2018 Test API: 'src' parameter appears to have a 116KB limit. Find out what is imposing this limit and increase it
    33. Bug TEN-1906 Do not set X-Powered-By header
    34. Improvement TEN-1977 create user test queue indexes migration
    35. Improvement TEN-1985 Add total logs to /users/view
    36. Improvement TEN-2042 verify that the TestAPI accepts & uses cookies
    37. Improvement TEN-2046 Block security hole in NGINX
    38. Bug TEN-2022 Project not being created by Test API if project doesn't exist.
    39. Bug TEN-2023 Add ability for customer to register sites for analytics style endpoint
    40. Improvement TEN-2050 php - add support for 'interval' in sitemonitor endpoint
    41. Improvement TEN-2048 Add Drupal Module to 'Get Code'
    42. Bug TEN-2035 Add isValidUrl to tenon plugins in test api
    43. Improvement TEN-2062 Test Api should automatically determine whether the `src` parameter contains a fragment or not
    44. Improvement TEN-2064 Ensure test API validates the `src` parameter. It must contain HTML
    45. Improvement TEN-2063 Ensure the test API validates the `url` parameter
    46. Bug TEN-2028 db-migrate migrations are broken
    47. Epic TEN-2027 Create Node microservice to access a PDF file and determine if it is tagged
    48. Bug TEN-1992 Fix template variable issue in Account Upgrade notification email
    49. Improvement TEN-2008 Fix tenon-api nodeunit tests
    50. Bug TEN-1898 Test API (node) is failing several unit tests
    51. Epic TEN-2030 Finish ariaValid plugin.
    52. Improvement TEN-2024 Take 'ref' and 'importance' out of projects add.php and user api settings
    53. Improvement TEN-1970 create test for empty lang that is NOT on the HTML element
    54. Bug TEN-2012 Color contrast gets fooled by transparent backgrounds
    55. Improvement TEN-2066 Ensure test API validates the viewport parameters
    56. Improvement TEN-1667 autogenerate projectID on project create
    57. Improvement TEN-2096 investigate abuse detected warning when registering a new account
    58. Improvement TEN-2044 Test API should get the page title
    59. Improvement TEN-1741 Test API should generate a unique ID for all issues in the test API response
    60. Improvement TEN-1515 Get tested page's HTTP response code. Add it to the JSON response as urlHttpCode
    61. Improvement TEN-1033 Add screen positioning & size fields to issue nodes
    62. Bug TEN-1547 Add check for array values in Math->isInteger
    63. Bug TEN-2109 Change how PHP assembles the POSTed data

    March - April

    1. Bug (Website) TEN-1859 Dashboard data appears incorrect/ not limited to logged-in user.
    2. Improvement (Website) TEN-785 Create VPAT for Tenon.io
    3. Improvement (Website) TEN-1489 Add link to documentation to logged in (side) menu
    4. Bug (Website) TEN-1787 Request parameters documentation does not discuss docID
    5. Improvement (Website) TEN-1865 Create cron to purge superuser test results
    6. Improvement (Website) TEN-1643 Disallow registration by users of disposable email accounts
    7. Improvement (Website) TEN-1870 Create video training page
    8. Bug (Website) TEN-1910 Adding any GET parameter to URL causes TestNow to submit. Should only submit if 'url' exists as parameter
    9. Bug (API) TEN-1715 Test API is not honoring test parameters

    As part of the above, there were a lot of code improvements to the Test API:

    1. Added explicit 405 response if request method isn't POST
    2. Added 402 response for users over their monthly limit, rather than the 401 response.
    3. 401 response is now purely reserved for missing/ invalid API key
    4. Removes requirement that both viewport params be set
    5. General code cleanup and improvements

    January - February

    1. Improvement (Website) TEN-1759 add all issue data to errorstats table, for use in reports
    2. Improvement (Tests) TEN-1807 Add test for alt attribute on element for which alt is invalid
    3. Bug (Tests) TEN-1049 BUG: label not associated with control, issue not created in resultset
    4. Improvement (Website) TEN-1767 bump deps and react to v14
    5. Bug (Website) TEN-786 Codemirror accessibility issue prevents screen reader from reading back content
    6. Bug (Tests) TEN-1466 False positive from tID 5 when object is svg
    7. Improvement (Website) TEN-1653 Go through entire system and look for opportunities for more memcached queries
    8. Improvement (Tests) TEN-1805 Improve test for justified text by only testing long strings - tID_36
    9. Improvement (Tests) TEN-994 Improve tID 58 by allowing those roles to be applied to SVG elements
    10. Bug (Website) TEN-1520 Incorrect label on hover: Density distribution chart
    11. Improvement (Tests) TEN-1100 Increase robustness of tID 33 by adding an extra check for another table (as the parent of the failing table)
    12. Improvement (Tests) TEN-1816 Need test: Adjacent links going to the same destination
    13. Improvement (Tests) TEN-1832 Need test: bold text in TD as implicit table header. Inspired by tID_20
    14. Improvement (Tests) TEN-976 Need test: check for accuracy of skip link (possible duplicate)
    15. Improvement (Tests) TEN-972 Need test: Check for at least one heading on the page (2.4.10)
    16. Improvement (Tests) TEN-1823 need test: form has no submit button
    17. Improvement (Tests) TEN-990 Need test: Frame titles that reference position
    18. Improvement (Tests) TEN-1829 need test: image button alt should not be blank
    19. Improvement (Tests) TEN-1817 Need test: Image link alt text repeats text in the link
    20. Improvement (Tests) TEN-1813 Need test: lang attribute is blank
    21. Improvement (Tests) TEN-1059 need test: look for area element with href that goes to same place as another
    22. Improvement (Tests) TEN-1091 need test: look for SELECT element with less than 5 options
    23. Improvement (Tests) TEN-1821 Need test: table summary and table caption are identical (1.3.1)
    24. Improvement (Tests) TEN-1080 Need test: Visible label pointing to invisible form field
    25. Improvement (Tests) TEN-1822 Need test: xml:lang and lang attributes are different
    26. Improvement (Tests) TEN-1831 Nested table test should consider the reverse case
    27. Improvement (Tests) TEN-988 New test: Using the same ALT text on images with different src
    28. Improvement (Website) TEN-1791 Remove 'rank' field from all tables
    29. Improvement (Tests) TEN-1400 tID 57 incorrectly generates error when link text is '0'
    30. Bug (Tests) TEN-935 tID_36 should only test when there's actual text in the node.
    31. Bug (Website) TEN-1584 Worst performing pages returns same page more than once

    2015

    2015 saw the resolution of 658 user stories, improvements, and bugs in Tenon.

    December

    December's list of resolved tickets is shorter than normal, owing to continued work on a handful of large features.

    1. Improvement (Website) TEN-1748 TEN-1554 Create data source for retrieving page history
    2. Improvement (Website) TEN-656 Drop some design love on /getCode.php
    3. Bug (Website) TEN-1440 Submitting markup from the dashboard (logged in) results in error
    4. Improvement (Website) TEN-1772 Create ability to get JSON data for issue instances by tID
    5. Improvement (Website) TEN-1771 Add links to all current resources we know about to /getcode.php
    6. Improvement (Website) TEN-1769 TEN-1657 create JSON endpoint to retrieve auto test queue
    7. Bug (Website) TEN-1765 issues-by-page incorrectly also counts non-successful test runs
    8. Improvement (Website) TEN-1640 add user's preferred language to the info we send over to Intercom
    9. Improvement (Website) TEN-1619 Add new "master" account to deploy stuff.
    10. Improvement (Website) TEN-1703 TEN-1643 Add to Terms of Use a note explaining that we disallow registration by disposable email accounts
    11. Bug (Website) TEN-1722 When markup is pasted into Logged-in Test now, it expands the field and hides the analyze button

    November

    The vast majority of work on Tenon during November 2015 was on the soon-to-be-release Projects API & Spider, hence the lower number of closed issues than we normally see. Also, many of the closed issues listed below have not been deployed, as they're part of that work.

    1. Bug (Website) TEN-1763 Pasting HTML into test now in header results in inability to click analyze button
    2. Improvement (Website) TEN-1761 Document that GET requests on the test API will return a 405
    3. Improvement (Website) TEN-1758 Redo the admin index page so it has more useful info for on-prem customers
    4. Improvement (Website) TEN-1756 Add "Standards" to Admin Utilities
    5. Improvement (Website) TEN-1762 Document that expired and exceeded-monthly-limit requests to the test API will get 402 Payment Required
    6. Improvement (Website) TEN-1588 Add city & country to IP cell of demoLog display table
    7. Improvement (Website) TEN-1747 TEN-1746 CLONE - Ensure project delete completely deletes the project, all test runs, all reports, all errors, etc.
    8. Bug (API) TEN-1660 Intermittent tenon script errors appear in the clientErrors API response
    9. Improvement (Website) TEN-1486 Create UI for users to see their test queue(s)
    10. Bug TEN-1028 Load Test fails on some websites
    11. Improvement TEN-1713 Add expiration date to Intercom data
    12. Improvement TEN-1567 Add Anisble MySQL backup playbook
    13. Bug TEN-861 We need a way to go through the User Test Queue much more rapidly than it is now
    14. Bug TEN-1627 Stripe Post for Free Plan is not coming through properly
    15. Improvement TEN-1639 Improve 'schedule' format and validation in tenon-spider
    16. Improvement TEN-1665 Add total logs and total today in the caption for Demo Logs
    17. Improvement TEN-1712 Add phpunit for performing unit tests on PHP
    18. Improvement TEN-1717 'store' should default to '1' for all users except the master account
    19. Bug TEN-1730 ProjectAPI Failing Test Case #5
    20. Bug TEN-1732 ProjectAPI Failing Test Case #22 - too much info returned
    21. Bug TEN-1728 Default Project settings are not applied to testNow.php
    22. Bug TEN-1731 ProjectAPI Failing Test Case #7 when duplicate request submitted
    23. Bug TEN-1729 ProjectAPI Failing Test Cases #2 & #4
    24. Bug TEN-1705 limit field on schedule is always NULL
    25. Improvement TEN-1724 bring addToQueue up to date with what spider is passing

    October

    1. Improvement (Website) TEN-1441 Home Design Improvements
    2. Bug (Website) TEN-519 Increase contrast on :focus & :hover styles
    3. Bug (API) TEN-1675 responseID isn't being added to JSON output
    4. Improvement (Website) TEN-1674 Set up Ansible playbooks to properly configure tenon spider for each env.
    5. Bug (Website) TEN-1677 Left Navi Tab labels appear below main content
    6. Improvement (Website) TEN-1621 Add ability to "move" test results to a different project
    7. Improvement (Website) TEN-1649 Add latest api run date to Intercom
    8. Improvement (Website) TEN-1681 TEN-1638 create migration to add phone number field to users
    9. Improvement (Website) TEN-1638 Add phone number field to user profile
    10. Improvement (Website) TEN-1661 Set default pricing to "yearly" on pricing page
    11. Bug (Website) TEN-1683 Alert Icon is missing from error message
    12. Bug (Website) TEN-1684 Left Navi tooltips should not line wrap
    13. Improvement (Website) TEN-1648 Add to intercom: Percentage of 400+ errors. Users with high % of 400+ errors need help
    14. Improvement (Website) TEN-1642 Add a metric to intercom.io data for avg. testrun density and average issues - these are people who really need help
    15. Bug (Website) TEN-1685 Massively huge alert icon for login page
    16. Bug (Website) TEN-1695 Mixed content syntax error when site's delivered over HTTPS
    17. Bug (Website) TEN-1678 Logged in Analyze feature should work like Testnow
    18. Bug (Website) TEN-1700 database migrations fail when run locally
    19. Improvement (Website) TEN-1694 Add plan progress to user info sent over to intercom
    20. Improvement (Website) TEN-1693 Add to intercom data whether user is subscribed to system updates
    21. Improvement (API) TEN-1585 Ensure PHP api class returns 401 if user's plan has expired
    22. Bug (Website) TEN-1704 Fix broken Image links and missing icons
    23. Improvement (Website) TEN-1706 Improving spacing for light footer
    24. Improvement (Website) TEN-1707 Make homepage background color purple
    25. Improvement (Website) TEN-1659 Create ability to export users for integration into email list
    26. Bug (Website) TEN-1510 bad error stats layout for testnow
    27. Bug (API) TEN-1699 Return proper HTTP status codes on validateUserByKey
    28. Bug (API) TEN-1711 When 'fragment' is set to '1', API still returns issues relating to title, etc.
    29. Bug (API) TEN-1682 While PHP is processing TestNow the server is locked
    30. Improvement (Website) TEN-1658 Ditch ability to send email manually from within Tenon. Intercom and MailChimp take care of this much better
    31. Bug (Website) TEN-1714 Historic Tests render error snippet as actual HTML
    32. Bug (Website) TEN-1708 Too much padding between my-account menu links
    33. Bug (Website) TEN-1578 Blog template footer is b0rken
    34. Bug (API) TEN-1508 fragment not set error - analyze error
    35. Improvement (Website) TEN-1662 Enable cloudflare on Test env
    36. Bug (Website) TEN-1509 Left menu layout issue on active link
    37. Bug (Website) TEN-1723 what-tenon-tests layout issues

    September

    1. Bug (Website) TEN-1599 blank eventlog causes fatal error due to call to undefined method eventLog::noRecordsFound
    2. Improvement (Website) TEN-820 Chart: Issues by priority (bar chart, issues by priority)
    3. Improvement (Website) TEN-1379 Show "Deleted" users. Provide a link to undelete them
    4. Improvement (API) TEN-1583 Return Events based tests to Tenon API tID_51,52 and 56
    5. Bug (Website) TEN-1610 Link to twitter profile is incorrect
    6. Improvement (Website) TEN-1587 Truncate response ID in demolog
    7. Bug (API) TEN-1614 project ID is not being added to API response
    8. Bug (Website) TEN-1606 processCache.php - bad prepared statement causes problems with cache processing
    9. Bug (Website) TEN-1605 duplicate-issues.php not returning data when data exists
    10. Bug (Website) TEN-1602 issues-by-tid.php not returning data when data exists
    11. Bug (Website) TEN-1616 FAQ link in footer needs to go away. Points to /contact.php
    12. Bug (Website) TEN-1613 Messages to admin users aren't being sent/ template variables aren't being set
    13. Bug (Website) TEN-1534 robots.txt file is not being copied over into tenon-www/dist
    14. Improvement (Website) TEN-1624 Add Intercom.io code to website
    15. Bug (Website) TEN-1538 messages intended for talktous@tenon.io are not being sent
    16. Improvement (Website) TEN-1641 add "latest test run" on the data we send to Intercom
    17. Bug (Website) TEN-1612 Newly provisioned system has free plan limit set to 50. Should be 500
    18. Bug (Website) TEN-1562 Syntax error in Arrays -> arrayToList
    19. Improvement (Website) TEN-1626 Switch to new Icon Pack

    August

    1. Bug (website): TEN-224 Create admin report: client failure report, to show % of client reports that result in failure.
    2. Improvement (website): TEN-559 Add ability to organize users around Organizations.
    3. Improvement (website): TEN-572 Add user ability to view a specific log entry by ID
    4. Improvement (website): TEN-627 When viewing report, provide ability to download the issues as CSV.
    5. Improvement (website): TEN-685 Add Timezone setting
    6. Improvement (website): TEN-687 Add Number Format setting
    7. Improvement (website): TEN-820 Chart: Issues by priority (bar chart, issues by priority)
    8. Improvement (website): TEN-821 Create table: top-errors
    9. Improvement (website): TEN-894 Chart: add passing / failing tests to testnow.php results
    10. Task (website): TEN-942 Modify API key creation to allow for creating a key for an org
    11. Task (website): TEN-944 Modify projects Add/ Update to support organizations
    12. Task (website): TEN-948 Create UI for adding users to an organization
    13. Bug (website):TEN-1417 Modifying anything in ProfileMenu.jsx breaks everything
    14. Improvement (website): TEN-1424 Require expiration date on bulk user add
    15. Sub-task (website): TEN-1433 TEN-1026 Get data for chart: density distribution
    16. Bug TEN-1447 (website): Owners of accounts that allow multiple users should get a default organization.
    17. Sub-task (website): TEN-1454 TEN-1410 create data for table: duplicated issues
    18. Sub-task (website): TEN-1455 TEN-1409 get data for table: issues by distinct test ID
    19. Improvement (website): TEN-1476 Add profile menu option for "Settings"
    20. Improvement (website): TEN-1477 Fix bad formatting of <select> elements in /settings.php
    21. Improvement (website): TEN-1490 Documentation template footer should match public footer
    22. Improvement (website): TEN-1497 Add link to "Organizations" in logged-in menu
    23. Bug (website): TEN-1514 Dashboard tables should differentiate between warnings and errors
    24. Bug (website): TEN-1518 When user selects "Yes" to both Test Now and Monitor URLs, set last monitored date to now
    25. Improvement (website): TEN-1522 Improve dashboard performance
    26. Bug (website): TEN-1523 Dashboard summary should distinguish between test runs and pages
    27. Bug (website): TEN-1527 Regression: project queued urls count does not decrease as urls are tested
    28. Bug (website): TEN-1529 Add memcached to improve performance
    29. Bug (website): TEN-1530 When populating a project with URLs only add unique URLs
    30. Improvement (website): TEN-1533 Protect queue tester from getting hemmed up by bad URLs
    31. Bug (website): TEN-1539 queue tester requires improvement to fail conditions.
    32. Bug (website): TEN-1540 Clicking subscribe on pricing.php refreshes the page the first time
    33. Bug (website): TEN-1542 Ensure CSV export also includes xpath information
    34. Bug (website): TEN-1543 position column is coming through as undefined in the CSV.
    35. Improvement (website): TEN-1559 Adjust settings options for date format to provide options in php date formats
    36. Bug (website): TEN-1563 Global stats are all returning 0 in API response
    37. Improvement (website): TEN-1566 Correct settings.php visual layout issue
    38. Improvement (website): TEN-1575 Adjust contact page layout to use 3-columns
    39. Bug (website): TEN-1577 free plan ID is getting passed to Stripe as falsey value during subscription create
    40. Improvement (website): TEN-1580 When user confirms, set their Timezone to UTC
    41. Improvement (website): TEN-1581 Verify /messages only shows those messages that were sent
    42. Task (spider): TEN-1590 Handle Throttling the Spider
    43. Bug TEN-1599 (website): blank eventlog causes fatal error due to call to undefined method eventLog::noRecordsFound

    July

    1. Bug (Website): /editaddress.php uses different layout than all other forms.
    2. Bug (Website): Mystery project being created
    3. Bug (Website): Multi-line project names reflow and break project card
    4. Bug (Website): Firefox does not display times correctly
    5. New Feature (Website): Improve page Footer
    6. Improvement (Website): Change config form fields to radio buttons
    7. Improvement (Website): on project create, add project name to be project ID if name not set
    8. Bug (API): Error response for empty url is non-conforming to specification
    9. Sub-task (Website): TEN-821 Get data for table: top errors
    10. Sub-task (Website): TEN-820 Get data for chart: Issues by priority
    11. New Feature (Website): User should explicitly agree to T&Cs prior to reg.
    12. Improvement (Website): On admin/plans adminTable, list how many people have that account type
    13. Bug (API): When someone sets a project as their default project, the API isn't honoring that setting.
    14. Bug (API): Supplying an invalid docID does not result in an error
    15. Improvement (API): Unlock free plan features since we are moving to free trials
    16. Sub-task (Website): TEN-814 Get data for chart: logs by day
    17. Sub-task (Website): TEN-1443 Get data for chart, true HTTP response codes
    18. Sub-task (Website): TEN-1407 Get data for summary table
    19. Sub-task (Website): TEN-1427 Get data for chart, response codes
    20. Bug (API): Supplying Invalid source to API call gives non-conforming response

    June

    1. New Feature (Website): Allow users to set their session timeout settings in their profile; make system follow this setting
    2. Improvement (Website): add smtp connection details to basicConfig (currently in env config)
    3. Improvement (API): Make globalConfig option for failed retest threshold
    4. New Feature (API): Add a waitFor option
    5. Improvement (Website): Format displayed dates into users' stored preferences
    6. New Feature (Website): Create ability to undelete content
    7. Improvement (API): Paid accounts should default to store=1
    8. Improvement (website): Reports/ Stats Track performance/ issue counts improvements across distinct URLs
    9. Bug (website): Blog template has old support URL
    10. Improvement (API): Remove API validation requirement calling for both viewport parameters to be set.
    11. New Feature (website): Create Stats: Countries that use Tenon
    12. Improvement (website): Refactor failure logs
    13. New Feature (website): Create mechanism to get page title.
    14. New Feature (website): Enhance error storage to support issue signature, tID, bpID and response ID for use in stats
    15. Improvement (website): Add param to mail class to indicate the nature of the message (marketing or system)
    16. Improvement (website): Implement Expiration Dates on plans
    17. New Feature (website): Format displayed dates into users' stored preferences
    18. Improvement (website): Require user to be logged in before submitting support request
    19. New Feature (website): Create ability for Admin to backup their data.
    20. New Feature (website): Create ability to clone project
    21. Bug (website): Queue is not repopulated if user selects "Test Urls Now" in Project add/ edit screen
    22. Bug (website): Best Practices Template needs to remove dashboard link
    23. Improvement (website): Add unsubscribe link to all outgoing emails.
    24. New Feature (website): Create ability to undelete content

    May

    1. New Feature (website): Add option to projects to set-as-default
    2. New Feature (website): Add failed test runs to project card
    3. New Feature (website): Enhance calculation of issue signature to ensure uniqueness
    4. Improvement (API): Adjust some tables-related tests to not test tables with 'presentation' role
    5. New Feature (website): Adds Tenon Roadmap (available to paid users only)
    6. Bug (API): appID not being passed back by the API
    7. New Feature (API): Adds waitFor parameter to request options

    April

    1. Improvement (website): 17 new Selenium acceptance tests to be run on build & deploy
    2. Improvement (API): 21 test improvements including 16 new tests

    March

    1. Improvement (website): If the user hits their daily limit, do not pluck any more URLs out of the project test queue
    2. Improvement (website): Upon login make sure user has api settings record. If not, create it
    3. Bug (website): queueTester has invalid SQL exception
    4. Bug (website): Gravatar urls don't use https
    5. Improvement (website): on password reset, check that user is confirmed
    6. Improvement (website): on password reset, check user is not deleted
    7. Improvement (website): Improve Unauthorized message when daily limit is reached
    8. Improvement (website): Move to monthly limits
    9. New feature (API): add additional response summary data to apiLog
    10. Bug (API): the API should return proper HTTP response codes corresponding to the status we're returning back
    11. Improvement (website): 16 new automated acceptance tests
    12. Bug (website): On project edit: If an url is already in the test queue, do not re-add them to the queue
    13. Improvement (API): When an URL is tested via API, it should be added to the projectUrls table

    February

    1. New feature (website): Add ability for users to register applications
    2. Bug fix (website): Editing password actually unsets password
    3. New feature (website): "Notifications" shows a history of all messages users have been sent
    4. New feature (website): Ability to edit billing address
    5. New feature (website): Dashboard. Shows API request history
    6. New feature (website): Projects & Reports
    7. New feature (API): More informative error messages from API.
    8. New feature (API): Addition of apiErrors node in JSON response
    9. New feature (website): Ability to unsubscribe from mailing lists
    10. New feature (website): Ability to subscribe & modify plan
    11. New feature (API): Addition of appID parameter to request parameters, so users can track where the results came from
    12. New feature (API): Addition of apiErrors node in JSON response
    13. New feature (API): Addition of Change log and Accessibility pages to documentation

    January

    1. New feature (website): Create page with which Tenon users can unsubscribe from mailing list

    2014

    December

    1. Bug fix (website): Admin ability to confirm users not working
    2. New feature (website): In "Test Now" also show how to do that same request in php, NodeJS, curl, ruby, etc
    3. New feature (website): Create a report on what Tenon tests

    November

    1. New feature (API): Keep track of # of tests passed vs. # of tests failed in issue summary
    2. Bug fix (API): density info not being returned (global) in api responses.
    3. Bug fix (API): Filtering on Level only shows issues by that level
    4. New feature (website): Separate out documentation to be individual pages.

    Prior to November 2014 we did not track issues & new features in a way that lends itself to delineating "public"-relevant issues from other issues.