Releases: jovandeginste/workout-tracker
v2.1.0
Breaking change for imperial unit users!
Weights stored in the database since this release are now correctly converted from the user's preferred unit (kilograms or pounds). However, the weights stored before this release were not converted before storing. If you entered "10 pounds", it was stored as "10 kg" but shown as "10 pounds". This means that data entered before this release will be wrong. What was 10 pounds will now show 22 pounds...
If you want to update all weights in the workout table (eg. all your users use pounds), you can run this single query:
update map_data set total_weight = total_weight * 2.20462262;
What's Changed
- chore(deps): bump golangci/golangci-lint-action from 6.1.1 to 6.2.0 in the all group by @dependabot in #408
- fix(database): Handle zero duration in workout average speed calculation by @jovandeginste in #409
- feat(import): Implement export and import CLI commands by @jovandeginste in #410
- fix(app): Fix redirect URLs after workout creation by @jovandeginste in #415
- Translations update from Hosted Weblate by @weblate in #413
- Translations update from Hosted Weblate by @weblate in #414
- chore(deps): bump the all group with 5 updates by @dependabot in #418
- chore(deps): bump actions/setup-go from 5.2.0 to 5.3.0 in the all group by @dependabot in #416
- Bump all dependencies by @jovandeginste in #419
- fix(filter): Update the unscoped value for the
since
filter by @jovandeginste in #420 - Development improvements by @jovandeginste in #422
- Ignore templ watch files by @jovandeginste in #423
- Bug fixes and debugging tools by @jovandeginste in #424
- feat(api): Add endpoint to create manual workouts by @jovandeginste in #425
- Add daily measurements by @jovandeginste in #427
- chore(deps): bump golangci/golangci-lint-action from 6.2.0 to 6.3.2 in the all group by @dependabot in #426
- Improve the measurement conversions and interface by @jovandeginste in #428
- Update changelog by @jovandeginste in #430
Full Changelog: v2.0.3...v2.1.0
v2.0.3
What's Changed
- Update readme by @jovandeginste in #395
- Add resources for route segments by @jovandeginste in #396
- Add route segment tests by @jovandeginste in #397
- Finnish translations by @tphakala in #398
- Translations update from Hosted Weblate by @weblate in #400
- Refactor(build): Rename binary and restructure project by @jovandeginste in #403
- feat(database): Improve statistics query by @jovandeginste in #404
- Add a debugger tool by @jovandeginste in #405
- Add generic diagnose command by @jovandeginste in #407
New Contributors
Full Changelog: v2.0.2...v2.0.3
v2.0.2
What's Changed
- Refactor(template): Remove duplicate footer from statistics page by @jovandeginste in #386
- Refactor(views): Improve workout and route segment name display by @jovandeginste in #389
- refactor(converters): Improve name detection by @jovandeginste in #390
- Fix(gpx): Handle GPX files without track names by @jovandeginste in #391
- Upgrade go.mod to v2 by @jovandeginste in #393
- Implement simple query caching by @jovandeginste in #394
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- Add back a number of icons that went missing by @jovandeginste in #378
- Bump templates generated by templ by @jovandeginste in #379
- Convert the pages into a shared template by @jovandeginste in #381
- Improve the page options for scripts and stylesheets by @jovandeginste in #382
- fix(user): Set context of user from request by @jovandeginste in #384
- Always show workout details in lists by @jovandeginste in #385
Full Changelog: v2.0.0...v2.0.1
v2.0.0
What's Changed
- Only keep the basename when storing the filename by @jovandeginste in #235
- feat: Accept API query parameters for workout import by @jovandeginste in #237
- Translations update from Hosted Weblate by @weblate in #241
- fix: update default workout types when editing equipment by @jovandeginste in #243
- feat: add Indonesian language by @jovandeginste in #245
- fix: use English plural form by @jovandeginste in #246
- fix: actually fix the English translation now by @jovandeginste in #247
- fix: add prettier and air dependencies by @pixelspark in #248
- Add route segments by @jovandeginste in #234
- chore(deps): bump micromatch from 4.0.7 to 4.0.8 in the npm_and_yarn group across 1 directory by @dependabot in #249
- Split dependency installation in dev vs build by @jovandeginste in #253
- Remove a single translation that is almost identical by @jovandeginste in #255
- Show tempo for running (speed for others) by @jovandeginste in #254
- Translations update from Hosted Weblate by @weblate in #244
- Feature/batch matching by @pixelspark in #262
- fix: do not show zero heart rate in chart by @pixelspark in #263
- feat: add golangci-lint configuration by @jovandeginste in #264
- Remove location from dashboard tiles, cosmetic improvements by @jovandeginste in #258
- feat: Add donation section to README by @jovandeginste in #265
- feat: add prettier configuration by @jovandeginste in #266
- feat: Add calorie calculation and display by @jovandeginste in #268
- feat: add Persian language support by @jovandeginste in #269
- feat: Add translation strings for calorie burn estimation by @jovandeginste in #270
- fix: error saving route segment after matching by @jovandeginste in #272
- Translations update from Hosted Weblate by @weblate in #271
- feat: Add map full screen toggle and aerial map option by @jovandeginste in #274
- Translations update from Hosted Weblate by @weblate in #275
- fix: place closing div of map in the right spot by @jovandeginste in #276
- feat: Add Matrix chat badge by @jovandeginste in #279
- docs: Add a link to the Matrix chatroom by @jovandeginste in #281
- feat: Delay expensive workout actions to background routine by @jovandeginste in #282
- chore: Move the route handlers to their own files by @jovandeginste in #283
- add dependabot to take care of dependency update by @Monirzadeh in #285
- chore(deps): bump docker/build-push-action from 5 to 6 in the all group by @dependabot in #287
- chore(deps): bump the all group with 6 updates by @dependabot in #288
- fix: wrong usage of Param for swagger by @Monirzadeh in #289
- Translations update from Hosted Weblate by @weblate in #290
- add golangci-lint by @Monirzadeh in #284
- use map for icons by @Monirzadeh in #291
- fix: show min/mi value instead of min/km when using imperial units by @jovandeginste in #295
- Update changelog by @jovandeginste in #296
- chore(deps): bump the all group with 2 updates by @dependabot in #292
- feat: add workout sharing functionality by @jovandeginste in #286
- feat: Show elevation of route segment instead of speed by @jovandeginste in #297
- Switch icon library from fontawesome to iconify by @jovandeginste in #299
- feat: add support for e-cycling by @jovandeginste in #300
- feat: Add Russian translation by @jovandeginste in #301
- Translations update from Hosted Weblate by @weblate in #303
- Translations update from Hosted Weblate by @weblate in #302
- Fix Russian translation file by @jovandeginste in #304
- Translations update from Hosted Weblate by @weblate in #305
- Translations update from Hosted Weblate by @weblate in #306
- fix: Use default file name "workout.gpx" by @jovandeginste in #309
- Translations update from Hosted Weblate by @weblate in #310
- Add postgres docker-compose file by @woernsn in #308
- fix(importer): Remove Filename field reset by @jovandeginste in #311
- chore(deps): bump the all group with 4 updates by @dependabot in #312
- chore(deps): bump the all group across 1 directory with 2 updates by @dependabot in #319
- feat(middleware): Validate user on all endpoints by @jovandeginste in #323
- Dispatch all data functions used in the views by @jovandeginste in #324
- Fix database constraints and improve data matching by @jovandeginste in #326
- Translations update from Hosted Weblate by @weblate in #325
- feat(database): Add pre-migration cleanup actions by @jovandeginste in #327
- Style(css): Remove unused material icons link by @jovandeginste in #328
- feat(app): Add workout filtering and sorting by @jovandeginste in #331
- chore(deps): update github.com/galeone/tcx by @jovandeginste in #340
- chore(deps): bump the all group across 1 directory with 5 updates by @dependabot in #333
- chore(deps): bump nanoid from 3.3.7 to 3.3.8 in the npm_and_yarn group across 1 directory by @dependabot in #337
- chore(deps): bump actions/setup-go from 5.1.0 to 5.2.0 in the all group by @dependabot in #339
- Translations update from Hosted Weblate by @weblate in #332
- chore(deps): bump golang.org/x/crypto from 0.27.0 to 0.31.0 in the go_modules group by @dependabot in #336
- Fix the user lookup function for API calls by @jovandeginste in #341
- Update changelog by @jovandeginste in #342
- Add profile option to switch app theme by @jovandeginste in #343
- Fix struct alignment by @jovandeginste in #344
- Fix timezone issues in workout statistics by @jovandeginste in #345
- Parse and show workout timezone by @jovandeginste in #346
- feat(filter): Improved filter UI by @jovandeginste in #347
- chore(fit): Switch to different library for Garmin FIT by @jovandeginste in #348
- feat(style): Add cursor pointer style and apply to filter summary by @jovandeginste in https://github.com/jovandeginste/workout-track...
v1.18.1
What's Changed
- fix: add function to get filename of workout by @jovandeginste in #233
Full Changelog: v1.18.0...v1.18.1
v1.18.0
What's Changed
- fix: calculate rate limit time remaining by @jovandeginste in #222
- refactor: improve API button style and behavior by @jovandeginste in #223
- feat: refactor workouts handlers to use HasFile method instead of nil… by @jovandeginste in #224
- docs: add generic upload API endpoint usage documentation by @jovandeginste in #227
- Create FUNDING.yml by @jovandeginste in #228
- docs: add more badges and direct link to swagger spec editor by @jovandeginste in #229
- chore: update all dependencies by @jovandeginste in #230
- fix: updated README.md with correct badge links by @jovandeginste in #231
- chore: remove legacy attributes by @jovandeginste in #232
Full Changelog: v1.17.1...v1.18.0
v1.17.1
What's Changed
- Add direct link to changelog in the footer by @jovandeginste in #214
- Show a message per user when the application was updated by @jovandeginste in #215
- fix: add version notice styles and template by @jovandeginste in #216
- fix: support editing workouts using Imperial units by @jovandeginste in #218
- Fix the input files and configuration for better Weblate integration by @jovandeginste in #219
- Translations update from Hosted Weblate by @weblate in #220
- Update changelog by @jovandeginste in #221
Full Changelog: v1.17.0...v1.17.1
v1.17.0
What's Changed
- Add a changelog system and the changelog by @jovandeginste in #204
- Update meta-information and add extra Weblate link by @jovandeginste in #207
- Add support to update manually added workouts by @jovandeginste in #208
- Improve input of location for manual workouts by @jovandeginste in #209
- Allow partial location by @jovandeginste in #210
- Update changelog by @jovandeginste in #211
- Automate changelog commit (and exclude changelog updates from changelog) by @jovandeginste in #212
- Exclude some commits from the changelog by @jovandeginste in #213
Full Changelog: v1.16.5...v1.17.0
v1.16.5
What's Changed
- Parse extention nodes and standardize extra metric names by @jovandeginste in #196
- Create nb_NO.json by @jovandeginste in #197
- Add Norwegian as a language in the app by @jovandeginste in #198
- Add some basic way to show custom statistic ranges by @jovandeginste in #199
- Add options to change the range and bucket size of statistics by @jovandeginste in #200
- Add more ranges by @jovandeginste in #201
- Skip updates for non-GPX based workouts by @jovandeginste in #203
Full Changelog: v1.16.4...v1.16.5