Releases: jovandeginste/workout-tracker
Releases · jovandeginste/workout-tracker
v2.6.0
What's Changed
- refactor(workouts): Improve climb detection logic and display by @jovandeginste in #719
- docs/ci/devcontainer: development environment improvements by @jovandeginste in #723
- Translations update from Hosted Weblate by @weblate in #720
- fix: make reset api key button HTMX by @jovandeginste in #724
- feat: Add extra workout types by @jovandeginste in #725
- Show workout icon when creating a manual workout by @jovandeginste in #726
- chore(deps): bump actions/setup-go from 6.1.0 to 6.2.0 in the all group by @dependabot[bot] in #727
- fix(database): Support e-cycling and improve workout type matching by @jovandeginste in #729
- fix(gpx): Standardize GPX extension names more robustly by @jovandeginste in #731
- Translations update from Hosted Weblate by @weblate in #732
- chore(deps): bump the all group with 7 updates by @dependabot[bot] in #733
- Bump templ to v0.3.960 by @jovandeginste in #734
- chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 in the all group by @dependabot[bot] in #730
- feat(health): Implement application and container health checks by @jovandeginste in #736
- Add support for workouts with distance, but without GPS by @jovandeginste in #738
- Fix collision of extra distance data by @jovandeginste in #740
- Add calories and total calories from fit files by @jovandeginste in #741
- Filter nil-positions when drawing points on the map by @jovandeginste in #742
- feat: Add support for Power metric by @jovandeginste in #743
- feat(workout-type): Add new workout types "indoor cycling" and "indoor running" by @jovandeginste in #744
- chore(deps): bump github.com/go-git/go-git/v5 from 5.16.2 to 5.16.5 by @dependabot[bot] in #745
- feat(workout-types): add more workout types by @jovandeginste in #747
- Update swagger by @jovandeginste in #748
Full Changelog: v2.5.1...v2.6.0
v2.5.1
What's Changed
- chore(release): Update CI to use unified frontend build target by @jovandeginste in #718
Full Changelog: v2.5.0...v2.5.1
v2.5.0
What's Changed
- Improve development workflow by @bastianjoel in #547
- feat(metrics) use enhanced speed readings from gpx files by @bastianjoel in #605
- feat(stats) use weighted averages from MapData for stats by @bastianjoel in #606
- Feat: Add workout types inline-skating and horse-riding. by @thomasrenes in #607
- Feat: Import workout type from GPX name field. by @thomasrenes in #608
- Translations update from Hosted Weblate by @weblate in #613
- feat(workout) improve workout detail chart by @bastianjoel in #617
- chore(deps): bump actions/checkout from 4 to 5 in the all group by @dependabot[bot] in #618
- chore(deps): bump golang from 1.24.1-alpine to 1.24.6-alpine by @dependabot[bot] in #619
- Improve release workflow documentation by @jovandeginste in #612
- Translations update from Hosted Weblate by @weblate in #621
- Update the README file with correct paths and base compose file by @jovandeginste in #622
- Improve map performance by @bastianjoel in #624
- fix(user-registration): Make sure user can not register as admin / active by @jovandeginste in #625
- Translations update from Hosted Weblate by @weblate in #627
- Minor workout chart improvements by @bastianjoel in #626
- chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 in the go_modules group by @dependabot[bot] in #629
- feat: user can control some options in heatmap by @cjc7373 in #623
- fix: heatmap config text in dark mode by @cjc7373 in #631
- chore(deps): bump the all group with 9 updates by @dependabot[bot] in #634
- fix(fit): Base the name of a workout on the local time by @jovandeginste in #637
- feat(equipment): Implement notes functionality by @jovandeginste in #639
- refactor(workouts): Extract workout data preparation logic by @jovandeginste in #640
- Update Dockerfile go version to
1.25.1by @bastianjoel in #642 - chore(deps): Update templ generated files to v0.3.943 by @bastianjoel in #641
- Add generated templ files check to test workflow by @bastianjoel in #643
- feat(secrets): Add support for reading secrets from files by @jovandeginste in #645
- feat(workout) improve breakdown table by @bastianjoel in #632
- refactor(docker): Consolidate Docker Compose setup to use profiles by @jovandeginste in #646
- feat(workout): Add support for custom workout types by @jovandeginste in #650
- feat(workout): Implement workout lock feature by @jovandeginste in #648
- chore(deps): bump actions/setup-go from 5.5.0 to 6.0.0 in the all group by @dependabot[bot] in #651
- feat(workout): Add slope detection and visualization by @jovandeginste in #649
- feat(workouts_slope): Introduce climb numbering for slope detection by @jovandeginste in #652
- fix(database): Correct workout average update and map detail saving by @jovandeginste in #653
- fix(details): Show the lock correctly by @jovandeginste in #654
- feat(workout): Display detected climbs on workout page by @jovandeginste in #655
- Translations update from Hosted Weblate by @weblate in #656
- feat(location): Improve location handling and display for workouts by @jovandeginste in #660
- Translations update from Hosted Weblate by @weblate in #659
- Improve slope detection by @jovandeginste in #661
- Translations update from Hosted Weblate by @weblate in #663
- feat(geocoder): Add automatic retries for HTTP requests by @jovandeginste in #665
- refactor(geocoder): Externalize client config and improve initialization by @jovandeginste in #666
- feat(workout) Add workout chart distance x-axis by @bastianjoel in #647
- Translations update from Hosted Weblate by @weblate in #667
- feat(i18n): Add Spanish (es) localization by @jovandeginste in #668
- fix(workouts) fix workouts uploaded from zip file cannot be updated by @bastianjoel in #669
- fix(workout): fix fit file workout name date empty by @bastianjoel in #670
- build(deps): Update Go and frontend dependencies by @jovandeginste in #672
- Translations update from Hosted Weblate by @weblate in #673
- feat(workout) smooth slope values to filter outliers by @bastianjoel in #676
- feat(worker): Allow custom worker delay time by @jovandeginste in #677
- feat(geocoder): Add offline mode configuration by @jovandeginste in #681
- Verify if templates are actually formatted by @jovandeginste in #685
- chore(deps): bump golangci/golangci-lint-action from 8.0.0 to 9.0.0 in the all group by @dependabot[bot] in #684
- Dev Container by @mu88 in #682
- Translations update from Hosted Weblate by @weblate in #678
- chore(deps): bump the all group with 3 updates by @dependabot[bot] in #688
- chore(deps): bump the all group across 1 directory with 2 updates by @dependabot[bot] in #693
- Translations update from Hosted Weblate by @weblate in #689
- Add support for Portuguese by @jovandeginste in #694
- chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.45.0 by @dependabot[bot] in #687
- chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /frontend in the npm_and_yarn group across 1 directory by @dependabot[bot] in #686
- feat: Allow HTML content in notices by @jovandeginste in #699
- refactor(database): Defer metric and address updates until
UpdateDataby @jovandeginste in #700 - feat(workout): Add support for 2D distance calculation and display by @jovandeginste in #702
- refactor(slope): Improve slope calculation and visualization by @jovandeginste in #704
- chore(deps): bump the all group across 1 directory with 12 updates by @dependabot[bot] in #703
- Revert "chore(deps): bump the all group across 1 directory with 12 updates" by @jovandeginste in #706
- fix(database): Correct slope percentage checks for climb categories by @jovandeginste in #708
- chore(update): Update dependencies by @jovandeginste in #709
- fix(deps): Downgrade templ to v0.3.943 by @jovandeginste in #710
- feat(background): Use worker pools to replace background loop by @jovandeginste in #701
- build: let Git handle line-endings by @mu88 in #683
- fix(background): Fix background job and improve logging structure by @jovandeginste in https://github.com/jovand...
v2.4.1
What's Changed
- fix(ui): restore the recent activities section by @nicosomb in #585
- Translations update from Hosted Weblate by @weblate in #584
- Fix
AverageSpeedNoPausenot updated correctly by @bastianjoel in #583 - chore(deps): bump the all group with 9 updates by @dependabot[bot] in #598
- chore(deps): bump golang from 1.24.4-alpine to 1.24.5-alpine by @dependabot[bot] in #589
- feat(web): Add configurable web root by @jovandeginste in #599
- Fix zero division errors for workouts with total duration of 0 by @bastianjoel in #596
- feat(calendar): Implement timezone support for calendar view by @jovandeginste in #600
- feat(config): Add web root configuration examples by @jovandeginste in #601
- refactor(conversions): Replace strconv with spf13/cast by @jovandeginste in #602
- feat(metrics): Add enhanced speed and temperature to workouts by @jovandeginste in #603
- Translations update from Hosted Weblate by @weblate in #604
- feat(stats): Allow users to customize displayed total statistics by @jovandeginste in #611
Full Changelog: v2.4.0...v2.4.1
v2.4.0
What's Changed
- Fix the way templ is run by @jovandeginste in #566
- feat: add workout public link deletion by @nicosomb in #565
- chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 in the go_modules group by @dependabot in #567
- build(deps): Update Go and frontend dependencies by @jovandeginste in #568
- Improve import of GPX files with time issues by @jovandeginste in #569
- refactor(workouts): Update icon for matching route segments by @jovandeginste in #570
- fix(ui): Rebuild code after changing templates by @jovandeginste in #571
- fix(ui): change the test on other users sections by @nicosomb in #572
- Translations update from Hosted Weblate by @weblate in #573
- chore(deps): bump gorm.io/datatypes from 1.2.5 to 1.2.6 in the all group by @dependabot in #575
- refactor(handlers): Extract calendar API handler by @jovandeginste in #578
- Add cadence stats to workout details by @bastianjoel in #576
- fix(user): Rebuild user show template by @jovandeginste in #579
- feat(statistics): Distinguish aggregation bucket from representative day by @jovandeginste in #580
- feat(calendar): Send workout end times to calendar by @jovandeginste in #581
- Update changelog by @jovandeginste in #582
New Contributors
Full Changelog: v2.3.0...v2.4.0
v2.3.0
What's Changed
- Translations update from Hosted Weblate by @weblate in #513
- fix(statistics): translate statistics page by @jovandeginste in #517
- Add rowing as a workout type by @jovandeginste in #519
- feat: expose SearchLocations function by @jovandeginste in #520
- fix(steps): Only update steps if they are not zero by @jovandeginste in #523
- fix(measurement): ensure correct measurement timezone handling by @jovandeginste in #524
- chore(deps): bump the all group with 2 updates by @dependabot in #525
- chore(deps): bump golangci/golangci-lint-action from 7.0.0 to 8.0.0 in the all group by @dependabot in #527
- Bump all dependencies by @jovandeginste in #528
- Add workout type other by @rafzi in #529
- chore(deps): bump actions/setup-go from 5.4.0 to 5.5.0 in the all group by @dependabot in #530
- fix(translation): Fix translation of update button for route route_segments by @jovandeginste in #534
- Translations update from Hosted Weblate by @weblate in #533
- Translations update from Hosted Weblate by @weblate in #535
- Check the lowercase file extension by @jovandeginste in #538
- Small fixes by @jovandeginste in #540
- feat(workouts): Add Open GPX Tracker for iOS to trusted altitude sources by @jovandeginste in #541
- Translations update from Hosted Weblate by @weblate in #545
- chore(deps): bump github.com/a-h/templ from 0.3.865 to 0.3.887 in the all group by @dependabot in #543
- feat(i18n): Add support for Brazilian Portuguese and Turkish languages by @jovandeginste in #548
- Translations update from Hosted Weblate by @weblate in #546
- refactor(views): Move markdown rendering to helper by @jovandeginste in #549
- fix(database): Prevent pre-migration error on missing columns by @jovandeginste in #550
- docs(readme): Add reference to Runtastic/Adidas Running import tool by @jovandeginste in #551
- Portuguese (brazilian) translation file by @matheuseduardo in #553
- Translations update from Hosted Weblate by @weblate in #552
- Align templ version with version from go.mod by @bastianjoel in #558
- Translations update from Hosted Weblate by @weblate in #555
- Specify used docker image versions in
Dockerfileby @bastianjoel in #559 - Use
assetdir directly on development by @bastianjoel in #560 - chore(deps): bump node from 22-alpine to 24-alpine by @dependabot in #562
- chore(deps): bump the all group with 5 updates by @dependabot in #563
- Update changelog by @jovandeginste in #564
New Contributors
- @rafzi made their first contribution in #529
- @matheuseduardo made their first contribution in #553
Full Changelog: v2.2.2...v2.3.0
v2.2.2
What's Changed
- Test user returned from API contains no sensitive information by @jovandeginste in #506
- Fix workout equipment not saved by @bastianjoel in #509
- fix(filters): Fix the different filters with translation keys by @jovandeginste in #511
- fix(uint64): Match the bit size of the uint64 IDs by @jovandeginste in #512
Full Changelog: v2.2.1...v2.2.2
v2.2.1
What's Changed
- Translations update from Hosted Weblate by @weblate in #494
- Translations update from Hosted Weblate by @weblate in #495
- chore(deps): bump the all group with 2 updates by @dependabot in #493
- Align api field names with
swagger.ymlby @bastianjoel in #496 - fix(i18n): rename translation keys to order by options by @jovandeginste in #499
- Bump all dependencies by @jovandeginste in #500
- Update changelog by @jovandeginste in #501
- fix(api) Fix WorkoutData json names by @bastianjoel in #502
- fix(api): whoami result not wrapped in APIResponse by @bastianjoel in #503
- Replace delete with htmx by @jovandeginste in #504
- Update swagger by @jovandeginste in #505
New Contributors
- @bastianjoel made their first contribution in #496
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
- Add support for FitoTrack backup files by @jovandeginste in #459
- feat(zip): Add support for zip files by @jovandeginste in #460
- fix(lint): Rename function consistent with conventions by @jovandeginste in #461
- feat(workouts): Allow uploading zip and ftb files by @jovandeginste in #462
- Update changelog by @jovandeginste in #463
- chore(docs): Add resources to edit GPX files by @jovandeginste in #464
- fix(json): Sanitize invalid JSON values from database by @jovandeginste in #466
- Translations update from Hosted Weblate by @weblate in #465
- chore(simplify): Remove unused variables from the function by @jovandeginste in #467
- chore(deps): Update all dependencies by @jovandeginste in #468
- fix(alerts): Store alerts in session manager by @jovandeginste in #469
- chore(alerts): Restructure alerts and notification translation strings by @jovandeginste in #470
- fix(translations): Fix alert / notification indentation by @jovandeginste in #471
- chore(translations): Use variable interpolation by @jovandeginste in #472
- Add more interpolation to translations by @jovandeginste in #473
- chore(translations): Refactor more translations to support pluralization by @jovandeginste in #474
- fix(i18n): Correct ellipsis in translations by @jovandeginste in #475
- fix(i18n): Re-set the user's requested language after authentication by @jovandeginste in #477
- chore(test): Check if all workout types are defined in English by @jovandeginste in #479
- chore(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 in the go_modules group by @dependabot in #481
- chore(deps): bump golangci/golangci-lint-action from 6.5.0 to 6.5.1 in the all group by @dependabot in #480
- Translations update from Hosted Weblate by @weblate in #476
- Refactor translation keys by @jovandeginste in #478
- fix(i18n): Fix refactoring error by @jovandeginste in #482
- fix(fit): skip invalid coordinates by @jovandeginste in #483
- Translations update from Hosted Weblate by @weblate in #484
- fix(db): use bytes type for content fields by @jovandeginste in #485
- fix(i18n): Fix translation mishaps... by @jovandeginste in #486
- Translations update from Hosted Weblate by @weblate in #487
- feat(i18n): add polish language support by @jovandeginste in #490
- Translations update from Hosted Weblate by @weblate in #488
- feat(i18n): Enable Polish translation by @jovandeginste in #491
- feat(release): Add release tooling by @jovandeginste in #492
Full Changelog: v2.1.1...v2.2.0
v2.1.1
What's Changed
- Fitbit sync cli by @jovandeginste in #429
- Translations update from Hosted Weblate by @weblate in #431
- fix(build): Improve Docker build process by @jovandeginste in #432
- Update all dependencies by @jovandeginste in #433
- feat(Fitbit): Sync recent activities from Fitbit by @jovandeginste in #434
- fix(Fitbit): Improve error handling from the Fitbit API by @jovandeginste in #435
- Update README and screenshots by @jovandeginste in #436
- Translations update from Hosted Weblate by @weblate in #437
- chore(config): Remove nakedret override configuration by @jovandeginste in #440
- chore(deps): bump golangci/golangci-lint-action from 6.3.2 to 6.5.0 in the all group by @dependabot in #439
- Translations update from Hosted Weblate by @weblate in #438
- feat(cli): Add granular control over Fitbit data syncing by @jovandeginste in #441
- Translations update from Hosted Weblate by @weblate in #443
- Add Simplified Chinese as a language by @jovandeginste in #444
- Translations update from Hosted Weblate by @weblate in #445
- fix(translations): Rename the file containing Simplified Chinese tran… by @jovandeginste in #446
- Refactor(i18n): Rename Norwegian translation file by @jovandeginste in #447
- fix(database): Set User in Workouts and Equipment by @jovandeginste in #449
- Translations update from Hosted Weblate by @weblate in #450
- Translations update from Hosted Weblate by @weblate in #451
- Translations update from Hosted Weblate by @weblate in #453
- fix(profile): Remove name attribute from api_key input field by @jovandeginste in #454
- Update screenshot script to k6 v0.52+ by @jovandeginste in #455
- Generate screenshots from separate database by @jovandeginste in #456
- chore(deps): bump the all group with 4 updates by @dependabot in #457
- Translations update from Hosted Weblate by @weblate in #458
Full Changelog: v2.1.0...v2.1.1