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 #711
- fix(background): Correct variable scoping and add error logging for batch queries by @jovandeginste in #712
- feat: Implement tabbed content view for workout details by @jovandeginste in #713
- feat(assets): Introduce application logos and update UI elements by @jovandeginste in #714
- fix(climb): Fix average climb slope rendering by @jovandeginste in #715
- fix(background): Fix background task batch processing (again) by @jovandeginste in #716
- Update changelog by @jovandeginste in #717
New Contributors
- @thomasrenes made their first contribution in #607
- @cjc7373 made their first contribution in #623
- @mu88 made their first contribution in #682
Full Changelog: v2.4.1...v2.5.0