This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+3 more
Affected surfaces
Summary
AI summaryBroad release touches 🚀 Key Highlights, feat, mobile, and Other Changes.
Full changelog
💙 Support SparkyFitness
If SparkyFitness has been useful to you & your family, please consider supporting the project. Your support helps cover recurring costs such as AI coding tools, development infrastructure, and Apple & Google Developer Program memberships to keep the project actively maintained.
🚀 Key Highlights
- Unified versioning: Server, Web, and Mobile are now all v1.6.0, making it easier to identify compatible releases.
- Redesigned mobile workouts by @apedley. Thanks to everyone who shared feedback that helped improve the workout experience.
- Support for FIT file import is available now
- Add your food & exercises to Favorite option for easy logging.
- Period cycle & pregnancy tracking is now available in the mobile app.
- Entry time has been added to most logs. Set your preferred meal times, and the app will automatically detect the meal type.
- Settings have been reorganized, and CSV Import has been moved to Data Management.
- OIDC & Passkey authentication is now supported in the mobile app.
- Goals now include a Target Direction to indicate whether staying above or below the target is preferred.
- Numerous bug fixes, enhancements, and performance improvements across the project.
- Added a FAQ to the documentation to answer common questions and help new users get started.
⚠️ Backup before upgrading.
If you do not see the latest updates, please refresh the page or clear your browser cache.
⚠️ SparkyFitnessMCP - This is now decommissioned as it is now part of /mcp endpoint.
⚠️ Fitbit API is being replaced.
As Google is decommissioning the Fitbit API, it is being replaced with the Google Health API.
Fitbit support will be removed once decommissioning is complete.
⚠️ Use caution with write-back functionality.
⚠️ Though you don't need to immediately upgrade, in the upcoming months the Postgres upgrade will be mandated.
Have caution. Below guide might have flaws. Research yourself before performing the upgrade. Some funcationality like auto backup within SparkyFitness will not work if you don't upgrade.
https://codewithcj.github.io/SparkyFitness/install/postgres-upgrade
What's Changed
Features
- feat(reports): customize measurement charts via dashboard-layout system by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1736
- Implementation of OIDC, Passkey and dynamic login form based on global admin settings by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1735
- fix for medication tab by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1755
- feat(food-import): add overwrite option and drop quick-food from CSV import by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1761
- feat: update outbound URL policy for local networks by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1764
- feat(health-import): CSV import for measurements, sleep, water import by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1766
- support french in YAZIO integration by @TheToto in https://github.com/CodeWithCJ/SparkyFitness/pull/1778
- Indicate calendar days that have progress photos (#1759) by @zeusal in https://github.com/CodeWithCJ/SparkyFitness/pull/1784
- feat(ai): auto-transcode HEIC/HEIF images to JPEG in the AI dispatcher by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1785
- feat(diary): implement local time-of-day logging for food, exercise and preset entries by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1782
- feat(food-search): include recent and frequent meals in the search landing by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1790
- feat(ai): add Meta as an AI provider by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1791
- feedbacks changes on entry_time PR by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1799
- workouts v2 polish + keyboard fixes by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1792
- feat: add FIT file import for gamin devices by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1793
- Chatbot optimization by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1807
- Workouts v2: Active Workout Screen And Live Activity by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1812
- ci: publish documentation on release instead of push to main by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1816
- feat(mobile): include recent and frequent meals in the food search landing by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1806
- feat: android passkey+oidc fixes and server config layout fixes by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1821
- feat: add scheduled hourly auto-sync for Hevy provider & search enhancements by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1817
- feat: measurement form placeholders and use last button by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1826
- feat(openfoodfacts): support self-hosted OFF via provider settings by @petermcneil in https://github.com/CodeWithCJ/SparkyFitness/pull/1658
- feat: add calories and macros to diary on mobile by @BryceKrispiess in https://github.com/CodeWithCJ/SparkyFitness/pull/1808
- Added buttons for Clear, Now and Default for time entries for food & exercise while adding to diary by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1839
- Diary calories and macros on mobile - new by @BryceKrispiess in https://github.com/CodeWithCJ/SparkyFitness/pull/1841
- feat: add self-service "delete synced data by source" in Data Management by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1845
- feat: add medication log calendar and reports log table by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1851
- diary page UI alignment & added edit/delete fasting and check-in tab optimization by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1858
- doc update for ios Mobile app dev and updated configuration to use env variables for bundle id & group ids by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1859
- feat: favorite (starred) foods and meals by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1837
- Added Calculation direction(Min, Max or Target) and Added Sugar algorithm by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1852
- feat(mobile): add daily nutrition details and nutrient trends screens by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1860
- add initial support for Oura by @elemated in https://github.com/CodeWithCJ/SparkyFitness/pull/1846
- added cycle & pregnancy feature to mobile app by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1864
- feat(mobile): add editable entry time to food and meal logging by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1865
- feat(mobile): fasting history with view, edit & delete by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1866
- feat(mobile,web): implement public sharing toggles, status badges, and fix web badge fallthrough by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1867
- feat(mobile): show meal calorie targets in diary and meal detail views by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1868
- feat(mobile): sync diary date across Dashboard, Diary, and logging screens by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1869
- (feat) Import Mood using CSV file and Sync dates between Diary, Dashboard & Library sections in mobile app by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1876
- CSV Import for Food diary & Mood & Consolidated all CSV Imports into Data management in Settings tab by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1880
- feat(helm): key in existingSecret and valueFrom in extraEnv by @abelfodil in https://github.com/CodeWithCJ/SparkyFitness/pull/1877
- feat(helm): add extraObjects support by @abelfodil in https://github.com/CodeWithCJ/SparkyFitness/pull/1886
- feat: add nasal_spray medication type by @andersmmg in https://github.com/CodeWithCJ/SparkyFitness/pull/1891
- feat(system): add remote broadcast announcements and unified version management by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1895
- announcement fix by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1896
- Announcement fix & updated whatsnew in mobile app by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1897
Fixes
- fix: allow trailing decimals in serving size input by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1745
- fix: mobile search fixes by @BryceKrispiess in https://github.com/CodeWithCJ/SparkyFitness/pull/1741
- fix(mobile): health connect time zone and multi integration fix by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1756
- test: fix long running test waiting for debounce by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1757
- fix(security): update executeCommand to use argv execFile by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1758
- Fix for run time error while clearing nutrition input by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1762
- fix(meals): await attachFoodsToMeals in remaining read paths by @jsandai in https://github.com/CodeWithCJ/SparkyFitness/pull/1794
- yazio improvements by @thorethy1 in https://github.com/CodeWithCJ/SparkyFitness/pull/1739
- fix(mobile): add request timeouts to all network calls by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1801
- reset to page 1 on food search change by @joeledwardson in https://github.com/CodeWithCJ/SparkyFitness/pull/1811
- fix: make time control interactive for android by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1822
- fix: permissions and privilage escalation issues by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1828
- doc updates by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1832
- group synced workouts into preset sessions and map missing fields by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1840
- fix(yazio): add country/language matching user language by @TheToto in https://github.com/CodeWithCJ/SparkyFitness/pull/1827
- fix: Added system prompt to AI ChatBOT by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1843
- hevy integrations fixes: rep types and sync by @l0r3v in https://github.com/CodeWithCJ/SparkyFitness/pull/1849
- fix: allow logging the same exercise twice per day in diary by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1855
- fxied barcode to retrieve correct serving unit by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1857
- fix(ai): log external foods in the variant's own unit, not bare servings by @GraysonCAdams in https://github.com/CodeWithCJ/SparkyFitness/pull/1878
- fix for CORS issues when using Cloudflare Tunnel by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1887
- fix(mobile): resolve trend chart date gaps, pregnant onboarding LMP, appointment UTC offsets, and custom meal targets and auto meal type based on default time by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1888
- fix for google health missing health in auto scheduled refresh by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1899
- fix(mobile): enforce package.json as single source of truth for app version by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1902
Documentation
- docs: update agent docs by @apedley in https://github.com/CodeWithCJ/SparkyFitness/pull/1753
- (doc) coding assistant tool documentation improvement for better results by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1752
- docs: add Zenith to the Cloud hosting options by @odpay in https://github.com/CodeWithCJ/SparkyFitness/pull/1714
- Updated part about HTTPS in the docs by @garakangas in https://github.com/CodeWithCJ/SparkyFitness/pull/1830
Other Changes
- chore(nix): update pnpm deps hashes by @github-actions[bot] in https://github.com/CodeWithCJ/SparkyFitness/pull/1747
- chore(nix): update pnpm deps hashes by @github-actions[bot] in https://github.com/CodeWithCJ/SparkyFitness/pull/1788
- chore(nix): update pnpm deps hashes by @github-actions[bot] in https://github.com/CodeWithCJ/SparkyFitness/pull/1800
- chore(nix): update pnpm deps hashes by @github-actions[bot] in https://github.com/CodeWithCJ/SparkyFitness/pull/1804
- chore(nix): update pnpm deps hashes by @github-actions[bot] in https://github.com/CodeWithCJ/SparkyFitness/pull/1814
- Revert "feat: add calories and macros to diary on mobile" by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1833
- TDEE Updates by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1893
- apple bundle id updates by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1898
- chore(i18n): sync translations from Weblate by @github-actions[bot] in https://github.com/CodeWithCJ/SparkyFitness/pull/1900
- icon fix for expo widget by @CodeWithCJ in https://github.com/CodeWithCJ/SparkyFitness/pull/1901
New Contributors
- @TheToto made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1778
- @odpay made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1714
- @joeledwardson made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1811
- @petermcneil made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1658
- @elemated made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1846
- @abelfodil made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1877
- @GraysonCAdams made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1878
- @andersmmg made their first contribution in https://github.com/CodeWithCJ/SparkyFitness/pull/1891
Full Changelog: https://github.com/CodeWithCJ/SparkyFitness/compare/v0.17.3...v1.6.0
Breaking Changes
- SparkyFitnessMCP is decommissioned; functionality moved to /mcp endpoint
- Fitbit API support will be removed once Google decommisions it
Security Fixes
- fix(security): update executeCommand to use argv execFile (mitigates command injection)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About SparkyFitness
SparkyFitness: Built for Families. Powered by AI. Track food, fitness, water, and health — together.
Beta — feedback welcome: [email protected]