⚠️ BREAKING CHANGE
- Some env variables are removed as they are now available under admin tab as settings.
- Mandatory variable list also now reduced. Hopefully these two doesn't cause any issues to existing users. posting just incase.
💙 Support SparkyFitness
If SparkyFitness has been useful to you & your family, please consider sponsoring on GitHub or supporting via Ko-fi. Your support helps cover recurring costs such as AI coding tools, development infrastructure, and Apple & Google Developer memberships to keep the project actively maintained.
Important
💾 Upgrade Notice: Always remember to back up your database and environment before upgrading to a new version.
👍 Community Prioritization: Want to see a specific feature or fix in the next release? Add a 👍 reaction to open Issues to help us prioritize what to build next!
🚀 Key Highlights
What's Changed
Features
- feat(workout): implement multi-mode progressive overload engine and live targets by @sjsjsb in #2411
- feat(server): serialize database initialization across instances by @SisyphusMD in #2487
- fix(mcp): make food and measurement data consistent by @Dragonk in #2499
- feat(ai): let the chatbot update, delete, and edit workout presets by @Jerrys-modz in #2501
- feat(mobile): add configurable hydration reminders by @Odisseuss in #2496
- feat(mobile): ship German as a selectable app language by @DUC750 in #2510
- Feat/liftosaur integration by @Flexingg in #2454
- fix(reports): correct workout pace, elevation and NULL-rendered stats by @CodeWithCJ in #2524
- feat(polar): expand Polar AccessLink integration with cardio load, intraday samples, and temperature by @CodeWithCJ in #2527
- feat(mobile): multi-select food logging on the food search screen by @sheepdogs in #2515
- Mobile Update localeRegistry.json by @micfat888 in #2538
- Frontend Update localeRegistry.json by @micfat888 in #2539
Fixes
- fix(ai): support json_schema and normalize output for openai-compatible providers by @CodeWithCJ in #2480
- fix(server): restore demo-mode body size cap to mitigate memory exhaustion by @CodeWithCJ in #2482
- fix(garmin): prevent 0ml water intake entries and accept decimal values by @CodeWithCJ in #2483
- fix(actions): prevent review events from cancelling each other by @SisyphusMD in #2488
- fix(mobile): keep the list footer action clear of the system navigation bar by @zeusal in #2493
- fix(frontend): align the mood slider thumb with its band emoji by @zeusal in #2495
- fix(mobile): rest timer background sound by @zeusal in #2384
- fix(mealie): import recipes as a one-serving food variant by @aguspatur22 in #2513
- fix(mobile): allow late-arriving heart rate telemetry in health sync by @CodeWithCJ in #2511
- fix(auth): preserve OIDC provider identity during updates by @SisyphusMD in #2509
- fix(integrations): stop provider connections hanging on broken IPv6 by @CodeWithCJ in #2516
- fix(auth): handle concurrent OIDC provider initialization by @SisyphusMD in #2522
- fix(polar): surface daily activity metrics in reports and diary by @CodeWithCJ in #2525
- fix(mobile): invalidate and refetch active caffeine on food entry mutations and pull to refresh by @CodeWithCJ in #2528
- fix(auth): remove masked secrets from OIDC admin responses by @SisyphusMD in #2530
- fix(auth): refresh trusted SSO origins per request by @SisyphusMD in #2534
- fix(auth): honor the forced email login override by @SisyphusMD in #2535
- fix(mobile): finish shipping the Chinese and Cantonese locales by @CodeWithCJ in #2546
- fix(i18n): sync web and mobile language pickers with the shipped catalogs by @CodeWithCJ in #2547
- fix(i18n): use the Weblate widget translations for the newly shipped locales by @CodeWithCJ in #2548
Documentation
- docs: document Unix socket connections for PostgreSQL by @CodeWithCJ in #2492
- docs(auth): document OIDC update request fields by @SisyphusMD in #2517
Other Changes
- chore: sync db_schema_backup.sql with migrations by @github-actions[bot] in #2504
- chore: sync db_schema_backup.sql with migrations by @github-actions[bot] in #2526
- chore: sync db_schema_backup.sql with migrations by @github-actions[bot] in #2529
- chore: sync db_schema_backup.sql with migrations by @github-actions[bot] in #2542
- chore(i18n): sync translations from Weblate by @github-actions[bot] in #2544
New Contributors
- @Jerrys-modz made their first contribution in #2478
- @sjsjsb made their first contribution in #2411
- @Odisseuss made their first contribution in #2496
- @DUC750 made their first contribution in #2510
- @aguspatur22 made their first contribution in #2513
- @Flexingg made their first contribution in #2454
- @micfat888 made their first contribution in #2538
Full Changelog: v1.7.1...v1.7.2