Highlights
Native-client synchronization
This release adds the backend sync foundation for native clients such as the BeaverHabits iOS app:
- Added authenticated realtime sync over WebSocket at
/api/v1/sync/ws, including acknowledged tick commands and fan-out to other connected devices. - Added lossless habit snapshot export through
GET /api/v1/habits/export, with support for bothUSER_DISKandUSER_DATABASEstorage. - Added habit-list metadata pushes and change broadcasts without overwriting completion records.
- Improved merge behavior so imports preserve existing data, explicit
nullnotes sync correctly, and web-originated changes reach native clients.
Reliability and maintenance
- Updated dependencies and expanded health-check coverage.
- Replaced bare exception handlers so shutdown and interrupt signals are not swallowed.
What's Changed
- chore: update dependencies and health checks
- feat(api): add native snapshot export and realtime ticks (#215)
- feat(sync): add snapshot export, habit-list pushes, and safer cross-device merging (#216)
- fix: narrow bare exception handlers by @fazalpsinfo-cmyk (#217)
Full Changelog: v0.9.1...v0.10.0