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 #349
- Add heat map of workouts by @jovandeginste in #350
- Draw all coordinates individually by @jovandeginste in #351
- A bundle of fixes by @jovandeginste in #352
- Add markers per workout to the heatmap by @jovandeginste in #353
- Style(css): Update notice colors by @jovandeginste in #354
- A number of fixes by @jovandeginste in #355
- Switch html/template to templ by @jovandeginste in #357
- Further cleanup after switch to templ by @jovandeginste in #359
- chore(deps): bump the all group across 1 directory with 6 updates by @dependabot in #358
- Fix workouts display at time 0 by @jovandeginste in #361
- Add tests for the API by @jovandeginste in #360
- Update the swagger API docs by @jovandeginste in #362
- Fix some more linting issues by @jovandeginste in #363
- Remove html/template from markdown conversion by @jovandeginste in #364
- Improve filters by @jovandeginste in #365
- Fix the missing tailwind class generation by @jovandeginste in #366
- Switch i18n library to ctxi18n by @jovandeginste in #367
- Remove untranslated language files by @jovandeginste in #369
- Translations update from Hosted Weblate by @weblate in #368
- Replace github.com/vorlif/spreak with github.com/sersh88/timeago by @jovandeginste in #370
- More cleanups after templ + i18n switch by @jovandeginste in #371
- Add all remaining missing translations by @jovandeginste in #372
- Add more missing translations by @jovandeginste in #374
- Translations update from Hosted Weblate by @weblate in #373
- Fix a few more template errors by @jovandeginste in #375
- Update changelog by @jovandeginste in #376
- refactor: Improve error handling in equipment handlers by @jovandeginste in #377
New Contributors
- @dependabot made their first contribution in #249
- @Monirzadeh made their first contribution in #285
- @woernsn made their first contribution in #308
Full Changelog: v1.18.1...v2.0.0