Highlights
Polar got refactor & webhook support
Polar now synchronises sleep and timeseries data. By default, the Periodic Pullsync method is enabled, but webhooks can be activated in Settings > Providers.
Expanded Sport Type Support across Multi-Provider Mappings
Expanded the WorkoutType enum to explicitly support specific activities that were previously bundled into WorkoutType.OTHER. Over 70 provider-specific mappings across Apple, Garmin, Suunto, and WHOOP have been updated. New explicitly supported sports include: Cricket, lacrosse, racquetball, bowling, archery, fencing, fishing, wakeboarding, parkour, curling, and more.
Garmin fetches new fields
allDayRespiration and moveIQActivities have been added to the list of Garmin-specific attributes that we support.
Strict RMSSD enforcement for HRV-CV Resilience Score
Temporarily disabled the automatic fallback to SDNN when overnight RMSSD data is missing within the sleep window. Until SDNN-based calculations are fully validated, users without RMSSD data will now receive a null score instead of a potentially misleading fallback value.
What's Changed
- refactor(backend): updated all python dependencies by @KaliszS in #1023
- refactor(frontend): updated all TypeScript dependencies by @KaliszS in #1025
- fix(backend): garmin allDayRespiration & moveIQActivities by @KaliszS in #1026
- feat(backend): add recovery summary endpoint by @KaliszS in #1027
- chore: disable SDNN fallback in HRV-CV score calculation pending validation by @FBegiello in #1040
- fix: commit each data type individually and rollback session on exception for Oura and Whoop by @czajkub in #1022
- fix: Cast to local date for summary endpoints by @czajkub in #1033
- fix(backend): validation for date parameters in OpenAPI specs by @KaliszS in #1052
- fix(users): skip invalid user rows during email validation by @zxjt2z42px-creator in #1032
- fix: Handle duplicate EventRecordDetail inserts gracefully with savepoint by @czajkub in #1047
- refactor(frontend): update dependencies by @KaliszS in #1056
- fix: Add missing workout types, rename series type to SDK by @czajkub in #1048
- feat: Polar refactor by @czajkub in #1041
- fix(integrations): emit outgoing webhook for suunto live workout push by @HugoHeneault in #1045
New Contributors
- @zxjt2z42px-creator made their first contribution in #1032
- @HugoHeneault made their first contribution in #1045
Full Changelog: 0.5.1...0.5.2