Skip to content

v1.12.0 - Recover interrupted Garmin upgrades and keep Strava current

Choose a tag to compare

@github-actions github-actions released this 07 Sep 01:59
· 6 commits to main since this release
b8f3b20

Eufy Sync now saves a Garmin replacement before deleting the weight-only reading it replaces. If the upload fails or the process stops, a later run can finish the replacement from the saved measurement.

  • Garmin revisits older weight-only readings so body composition can arrive after the initial WiFi sync. Readings with different IDs must match within 120 seconds and 0.1 kg, with only one possible match.
  • Profile selection checks raw and processed history together. Raw readings with missing or unknown profile IDs cannot slip through the selected profile's filter.
  • Strava receives only the newest valid weight from each run. Backfill cannot overwrite a newer recorded weight with an older one.
  • --doctor checks live Garmin and Strava access and shares the sync lock when refreshing tokens.
  • Scheduled runs retry once after 60 seconds when a temporary network failure is the only error.

The existing sync database is updated automatically. Configuration and the four-hour schedule stay the same.

All 447 tests passed on Linux, macOS, and Windows with Python 3.12, 3.13, and 3.14. Ruff and live Garmin and Strava connection checks also passed.

Full changelog