Skip to content

v0.17.3

Latest

Choose a tag to compare

@CodeWithCJ CodeWithCJ released this 06 Jul 14:58
2a7e0d8

💙 Support SparkyFitness

Support development if you find SparkyFitness useful — There is approximately $54 in remaining project expenses from mac mini, apple & google fees.

Key Highlights

  • 🤖 Your AI coach is now available on mobile
  • ✨ Experience the refreshed Liquid Glass design (refer settings in mobile app)
  • 💊 Medication tracking is now available on web
  • 🌸 Period tracking is now available on web (refer settings)
  • 🤰 Pregnancy tracking is now available on web (refer settings)

⚠️ 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(ci): migration tests by @apedley in #1618
  • feat(mobile): dashboard settings screen, settings fixes by @apedley in #1627
  • Feature/Use native tabs on iOS by @thorethy1 in #1515
  • feat(ai): add xAI (Grok) as an AI service provider by @jsandai in #1643
  • feat(mobile): liquid glass tab bar toggle by @apedley in #1646
  • feat(food-search): unified single-field food search (Phase 1) by @jsandai in #1607
  • feat: chat bot web fixes and mobile port by @apedley in #1651
  • Implementation of medication & GLP management. by @CodeWithCJ in #1637
  • feat(food-search): All Providers aggregated search (mobile, phase 2) by @jsandai in #1654
  • fix(mobile): sync Health Connect/HealthKit hydration to water intake by @CodeWithCJ in #1663
  • [Feature]: Allow sub-tenth food quantities (e.g. 0.25 cup) by @jsandai in #1665
  • [Feature]: Add a "Duplicate" action to the meal Actions menu by @jsandai in #1667
  • feat: openai compat fix, test connection, vision specific ai by @apedley in #1673
  • Feature/liquid glass native banners by @thorethy1 in #1661
  • feat(security): isolate family sharing permissions and MCP Goal fix by @CodeWithCJ in #1671
  • feat(onboarding): Persist skipping onboarding by @ikogan in #1687
  • [feature] Custom Nutrient mapping to provider nutrient for auto import while importing a food from online by @CodeWithCJ in #1684
  • feat(meals): implemented re-usable meals (linked sub-meals) by @CodeWithCJ in #1699
  • feat(food-search): All Providers aggregated search on web (phase 3) by @jsandai in #1695
  • feat: default food provider selector by @jsandai in #1697
  • feat(food-search): Load more for single-provider online results by @jsandai in #1705
  • native-header tests by @thorethy1 in #1682
  • feat: upgrade to expo 56 by @apedley in #1709
  • feat: update whats new section of app by @apedley in #1719
  • (feat) Add period & pregnancy tracking by @CodeWithCJ in #1717
  • feat: update labels for adaptive TDEE and fix tdee settings by @apedley in #1730

Fixes

  • Check-in numbers rounding by @gPinato in #1606
  • fix(garmin): garmin login change revert by @apedley in #1617
  • fix: use env variable for provider_id instead of hardcoded 'oidc-env' by @l0r3v in #1628
  • fix(reports): make maximized charts fit the viewport and stop Y-axis label clipping by @jsandai in #1630
  • fix: coerce string-typed pagination fields in food search response (#1619) by @MohammadYusif in #1620
  • fix(ai): drop Zod email() from the published manage_profile tool schema by @jsandai in #1650
  • fix: preserve external data credentials on edit by @apedley in #1655
  • fix(oidc): persist admin_group on provider update by @l0r3v in #1647
  • fix(server): resolve TypeError when creating meal templates with non-default variants by @CodeWithCJ in #1662
  • fix: allow decimal values for exercise duration by @apedley in #1664
  • db: fix current_user_id() RLS crash during API key authentication by @CodeWithCJ in #1669
  • Fix: FatSecret search calorie mismatch by @BryceKrispiess in #1679
  • fix: preserve Garmin sync freshness on phase failure by @ag-linden in #1677
  • fix(mobile): sync Heart Rate Variability (HRV) from Apple Health by @OlegA-X in #1676
  • fix(mobile): show over calories as negative by @BryceKrispiess in #1698
  • fix(mobile): chat input flicker by @apedley in #1700
  • fix: locale-dependent date crash by @apedley in #1706
  • Native header screen fixes by @thorethy1 in #1681
  • Resolve an HTTP 500 error ("rawBody.startsWith is not a function") on POST /api/measurements/health-data when using Content-Type: application/json. by @CodeWithCJ in #1708
  • fix: main site crash. remove redefinition of foodProviderOptions by @apedley in #1707
  • fix: chat messages and keyboard now slide into place by @apedley in #1718
  • fix: resolve sleep stage overlap and correct time asleep by @apedley in #1722
  • fix: anchor Google Health sleep entries to the wake up day by @apedley in #1724
  • fix: Update dev docs and compose file by @garakangas in #1725
  • fix: YAZIO error when global provider by @kszkristof in #1721
  • fix(frontend): support running container as non-root on port 8080 by @CodeWithCJ in #1729
  • fix(mcp): normalize null optional parameters to undefined by @CodeWithCJ in #1731

Documentation

Other Changes

  • Fix nix update branch by @dlip in #1623
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1624
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1641
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1644
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1656
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1674
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1693
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1702
  • removal of SparkyFitnessMCP by @CodeWithCJ in #1726
  • chore(nix): update pnpm deps hashes by @github-actions[bot] in #1727

New Contributors

Full Changelog: v0.17.2...v0.17.3