Skip to content

Releases: MashSoftware/time-tracker

v0.29.0

30 Oct 23:13
483a6ed
Compare
Choose a tag to compare
v0.29.0 Pre-release
Pre-release

Added

  • Dark mode. There is no light mode. This is the way.

Changed

  • Cancel button on time entry forms now goes back to the referring page with url query strings, instead of the latest weekly page.
  • Next page navigation button is removed on the current week page.
  • Previous page navigation button is removed on the 12th week page, as per the users time entry history limit.
  • Tests follow redirects to login page where authentication is required.

Fixed

  • Radios not populating when editing an existing time entry or setting a default tag/location.

v0.28.3

25 Oct 10:57
Compare
Choose a tag to compare
v0.28.3 Pre-release
Pre-release

Fixed

  • Heroku Postgres dialect difference
  • Updated SQLAlchemy UUID types cast as Strings

v0.28.2

24 Oct 22:38
219b629
Compare
Choose a tag to compare
v0.28.2 Pre-release
Pre-release

Changed

  • Local development now uses Docker and Docker Compose. Thanks @ahosgood.
  • Publish Docker image to GitHub Packages.
  • Upgraded requirements.
  • Bump Python version to 3.11.6.

Fixed

  • Add timeout to external API HTTP requests.

v0.28.1

12 Aug 23:20
5238be2
Compare
Choose a tag to compare
v0.28.1 Pre-release
Pre-release

Changed

  • Upgraded requirements
  • Bump Python version to 3.10.6

Fixed

  • Error on account activation due to trying to log the current user when not signed in.
  • Incorrect link URL to GitHub releases page.

v0.28.0

12 Aug 00:37
e14549e
Compare
Choose a tag to compare
v0.28.0 Pre-release
Pre-release

Added

  • Custom locations can be created and added to time entries, allowing tracking of working from multiple places.
  • New URL: time-tracker.mashsoftware.com.
  • Aria labels on icons where needed, i.e. where used decoratively without additional text.
  • More meta keywords for better search engine indexing.

Changed

  • Renamed application from "The Button" to "Mash Time Tracker", following a new naming convention for Mash Software projects.
  • Redesigned home page highlighting main features of the app and secondary technical features.
  • Application now doesn't go to sleep after a period of inactivity.
  • Actions on cards (entries, tags and locations) now appear in a card footer.
  • Increased gap between block level buttons in mobile widths for easier tap targets.

Fixed

  • Time entries recorded on Sundays were saved and accounted for in totals, but not displayed in the weekly view. Thanks @ahosgood

v0.27.0

04 Aug 22:39
3fc38d1
Compare
Choose a tag to compare
v0.27.0 Pre-release
Pre-release

Added

  • Cookie page detailing what cookies the app uses and the ability to accept or reject non-essential cookies. Link also added to footer.
  • Cookie banner to allow users to accept or reject non-essential cookies.
  • Persistent cookies_policy cookie is set to store preferences with an expiry of one year.
  • App-wide CSRF protection. All forms were already CRSF protected using WTForms, but this setting protects every route unless explicitly exempt.
  • Highlight active navigation item in navbar.
  • Development-only requirements containing packages used for linting, formatting, testing and requirements management.
  • Using Pytest Coverage to measure unit test coverage, including in branching code.
  • Refactored unit and functional tests. Thanks @jonodrew.
  • Error handling if email send request to service providers API fails for any reason. Re-raised as a 500 internal server error and logged.
  • Error pages contain a back link taking the user back to the referring page if there was one.

Changed

  • Time entries spanning multiple days now add the date to the end time e.g. instead of "22:00 to 06:00" it's now "22:00 to 28/03/2021 06:00".
  • "Remember me" checkbox is removed from the login page if the user has not accepted non-essential cookies.
  • session and remember_token cookies are set to HttpOnly and Secure to prevent access over non-HTTPS connections or via JavaScript to mitigate cookie theft via cross-site scripting (XSS) or eavesdropping.
  • Reduced remember_token cookie expiration from one year, to thirty days.
  • Content Security Policy (CSP) updated to require HTTPS connection to all sources.
  • Require a fresh login (not a restored session) prior to any delete action.
  • CSRF errors are now explicitly handled with a flash message to inform the user to try again, rather than a form validation error.
  • Flash messages have been simplified to three categories; error, important and success. Error messages are used for form validation and are not dismissable. Important and success messages are dismissable contextual confirmation of user actions.
  • Form fields validation error messages are now added to the aria-describedby attribute.
  • Non-primary action buttons now use the "outline" style.
  • Footer layout redesigned for multiple columns on desktop and single column on mobile.
  • Reduce header content margin.
  • Swapped Fontawesome icons out for Bootstrap icons
  • Upgraded to Bootstrap v5.2.0

Removed

  • Python 3.6 support
  • Postgres 10 support
  • Redis 5 support

Fixed

  • Prevent other users time entries from appearing in search results. Other users entries could not be edited or deleted, this resulted in a 403 forbidden error.
  • Pre-select "None" when changing default tag and user has no tags.
  • Database URI using deprecated scheme designator.

v0.26.0

09 Mar 21:50
8a75f10
Compare
Choose a tag to compare
v0.26.0 Pre-release
Pre-release

Added

  • Search for time entries based on comment contents.
  • Set a default tag to use for all new time entries created with the "Start now" button. Thanks @ahosgood.
  • Use webmanifest shortcuts to expose start / stop now function to OS. Thanks @andymantell.
  • Better logging to stdout and stderr to aid app monitoring.
  • More unit tests.
  • Versioning, contributors, support to the README
  • Contributor Covenant Code of Conduct
  • Contribution guidelines

Changed

  • Pre-select users default tag, or "None" if not set, on manual time entry form.
  • Tag page highlights which tag is the current default.

Fixed

  • Pre-select "None" tag when editing and existing entry if no tag was previously selected. Thanks @ahosgood.
  • Prevent viewing other users tagged time entries pages if you knew the UUID of the tag.

v0.25.0

26 Feb 15:55
2935afb
Compare
Choose a tag to compare
v0.25.0 Pre-release
Pre-release

Added

  • Scheduled task to delete all time entries older than 12 weeks. This is run daily at midnight UTC and based on the start date and time of the time entry. This helps to minimise the storage requirements of the app.
  • Display time entry history retention period and date in user account page.
  • Total amount of time associated with each tag on both the tag list page and tagged time entry pages.
  • Date a tag was last used displayed on tag card.

Changed

  • Time entry limit changed to entry history retention period in account settings.
  • Weekly summary now includes the current duration of in-progress time entries in both time and tag totals.
  • Redesigned home page and re-written selling-points.
  • Redesigned page title headers.
  • Redesigned layout of tag card.
  • Moved more code to common utils with additional unit tests.

Removed

  • User account based limit of 120 entries. Now you can create as many time entries as you like, but they will be deleted after 12 weeks.

v0.24.0

19 Jan 00:28
3722f9a
Compare
Choose a tag to compare
v0.24.0 Pre-release
Pre-release

Added

  • New tagged entry page showing all time entries linked to a particular tag.
  • In-progress time entry cards now have a header that displays how long ago that entry started (on page load/refresh, not real-time). Thanks @ahosgood.
  • Count of time entries and tags used vs limits on the account page.

Changed

  • Tag page layout now shows tags alongside the number of times each has been used, link to view all time entries linked to that tag and links to edit or delete.
  • Tags on time entry cards are now links to the new tagged time entries page showing all entries with that tag.
  • Delete tag page now says how many time entries will be impacted, with a link to view them before confirming or cancelling the delete action.
  • Removed italic (emphasis) from time entry comments so that emojis don't look weird.
  • Improved 404 error pages where URL pattern matches the expected type, but is not a valid instance of that type.
  • Removed drop-down from "Stop now" button since all items on it are disabled anyway. Now only show dropdown on the "Start now" button state. Thanks @andymantell.
  • Delete account confirmation page now says how many entries and tags will be deleted along with the account.

Fixed

  • Tag names containing only whitespace now fail form validation, must contain some other characters.
  • Strip whitespace before checking for duplicated tag names.
  • Strip whitespace before creating or editing a tag name.

v0.23.2

03 Jan 23:14
4815818
Compare
Choose a tag to compare
v0.23.2 Pre-release
Pre-release

Added

  • Unit test to cover verification token generation bug found in previous release.

Changed

  • Renamed default branch from master to main and renamed all references.

Fixed

  • Error when requesting activation for unregistered email addresses.
  • Whitespace not stripped from comments, resulting in empty strings stored instead of null.