What's New
sleep --total for nightly sleep duration
The --total flag now supports the sleep table, reporting nightly sleep duration in hours. Sessions that start before midnight are correctly attributed to the night they belong to (via a 6-hour shift), matching how you'd intuitively think of sleep data.
healthsync query sleep --total --from 2024-01-01Non-English Apple Health exports
Zips exported from non-English iPhones (e.g. Chinese, where the XML is named 导出.xml instead of export.xml) now parse correctly. The parser identifies the HealthKit file by its content rather than its filename, so any locale works without renaming. Fixes #5.
Timestamps now compatible with SQLite date functions
Timestamps are stored as YYYY-MM-DD HH:MM:SS (local time) instead of YYYY-MM-DD HH:MM:SS +0530. This means julianday(), date(), and friends now work directly on the stored values in SQL queries. Fixes #6.
Upgrading? Re-run
healthsync parseon your export to pick up the normalized timestamp format. Older databases will still work with the CLI, but raw SQL queries usingjulianday()ordate()will return NULL on their offset-suffixed timestamps.
Other Changes
- Fix
--tofilter onsleep --totalso it correctly includes pre-midnight sessions of the last day - Homebrew tap (
brew tap BRO3886/tap && brew install healthsync) now auto-updates on release - Mobile layout fixes on the landing page
- Agent skill references expanded with full DDL for all 43 tables
Install / Update
curl -fsSL https://healthsync.sidv.dev/install | bashOr via Homebrew:
brew upgrade healthsyncOr via Go:
go install github.com/BRO3886/healthsync@v0.5.2Full Changelog: v0.5.1...v0.5.2