github the-momentum/open-wearables 0.4

latest releases: 0.5.1, 0.5.0, 0.4.3...
one month ago

Happy Friday! Here's a fresh release of Open Wearables - v0.4 is out 🚀

Highlights

1000 stars on GitHub ⭐

Last week we crossed 1000 stars on GitHub! It happened overnight after Open Wearables went viral on X:

Open Wearables X Viral

Thank you all for the support - it means a lot to the team and keeps us motivated!

Open Wearables Github Stars History

React Native SDK

The React Native SDK is here! @ninotell-tbb and @dtochetto-tbb for making this happen.

Oura Ring integration

We added support for Oura Ring as a new wearable provider - contributed by community member @vikohone 🎉

Raw payload storage & replay

You can now optionally store raw incoming payloads from all providers to S3. This is useful for debugging, auditing, and reprocessing data without asking users to re-sync. We also ship a replay script that lets you re-ingest stored payloads on demand.

More: Documentation

Provider disconnect

You can now disconnect users from wearable providers via the API. Currently, only Garmin includes full deregistration through their API - more providers coming soon, with no changes needed on your end.

More: API reference

Apple Health improvements

Apple Health XML import got several upgrades - sleep record handling, sleep stage timestamps, better data source extraction, and timezone-aware datetime storage. On the SDK side, we also landed fixes in the iOS SDK. If you're integrating sleep data via Apple Health, this release is a big step up.

Archive & retention policy

New configurable archive and retention policy with storage growth projections. Keeps your database lean as usage scales.

image

Redesigned mobile app connection flow

The invitation code dialog has been redesigned into a smoother mobile app connection flow - making it easier for end users to connect their devices.

More: Open Wearables app docs

Production docker-compose

A dedicated production docker-compose config is now available, making self-hosting easier.

More frequent releases

Until now we've been releasing every two weeks, but we noticed this sometimes causes upgrade pain for specific implementations. Going forward, we're switching to more frequent minor releases - smaller batches, faster to deploy.


What's Changed

Integrations

Apple Health

  • fix(backend): improve Apple XML data source extraction by @czajkub in #582
  • feat(backend): Add sleep record handling in Apple Health XML export by @czajkub in #583
  • feat: store sleep stages timestamps for Apple Health by @KaliszS in #567

API & Backend

  • feat(backend): add optional raw payload storage for incoming data by @bartmichalak in #591
  • feat: add S3 raw payload replay script by @bartmichalak in #619
  • feat(backend): added new s3 replay raw payloads example envs by @KaliszS in #629
  • feat: Add archive & retention policy w/ storage growth projection by @KaliszS in #535
  • feat: add password change endpoint with complexity validation by @kaifcodec in #550
  • fix(backend): add password length validation to PasswordChange schema by @bartmichalak in #631
  • fix(backend): include timezone offset in datetime saved to database by @czajkub in #608
  • fix(backend): unify uvicorn log format and remove duplicate log lines by @bartmichalak in #628
  • fix(backend): release event loop from fake async endpoints by @KaliszS in #623
  • feat: add configurable Sentry server_name via env var by @bartmichalak in #626

Frontend

  • feat: redesign invitation code dialog as mobile app connection flow by @bartmichalak in #561
  • fix: update UI connection status after OAuth authorization by @bartmichalak in #555

Docs

DevOps

Other

New Contributors

Full Changelog: 0.3...0.4

Don't miss a new open-wearables release

NewReleases is sending notifications on new releases.