Insights

Open Wearables 0.5.2: Polar Refactor, Expanded Sport Types, and Stricter HRV Data Integrity

Author
Bartosz Michalak
Published
May 20, 2026
Last update
May 20, 2026

Table of Contents

EXCLUSIVE LAUNCH
AI Implementation in Healthcare Masterclass
Start the course

Key Takeaways

  1. Polar integration is fully refactored: sleep and timeseries data now sync correctly, and optional webhook support replaces the need to rely solely on periodic polling.
  2. Over 70 provider-specific workout type mappings were updated across Apple Health, Garmin, Suunto, and WHOOP, adding explicit support for cricket, lacrosse, parkour, curling, and more.
  3. Garmin data collection now includes allDayRespiration and moveIQActivities fields.
  4. RMSSD enforcement for HRV-CV Resilience Score is now strict: users without overnight RMSSD data receive null rather than a SDNN-based fallback.
  5. This release includes a new recovery summary endpoint and multiple reliability fixes across session handling, date validation, and webhook delivery.

Is Your HealthTech Product Built for Success in Digital Health?

Download the Playbook

Introduction

Version 0.5.2 of Open Wearables is out. The codename is "Polar refactor," and that tells you most of what you need to know about the headline change. But the release covers more ground than that: expanded sport type coverage, a new API endpoint, tighter data integrity for HRV scoring, and a set of reliability fixes that address real edge cases in production deployments.

This post walks through what changed, why it matters, and where the tradeoffs are. The Polar webhook addition is a developer ergonomics improvement worth understanding in context. The RMSSD enforcement decision is a data integrity call with a real cost, and it deserves an honest explanation rather than just a changelog entry.

If you are new to Open Wearables, the quickstart guide is the fastest path to a working integration. The full documentation covers the platform architecture, including the 4-layer model: Wearable Data, Health Scores, Health AI Engine, and Coaching Profiles.

Polar Refactor and Webhook Support

The previous Polar integration had gaps. Sleep data and timeseries data were not synchronising correctly, which meant any application relying on Polar as a primary source was getting incomplete data or no data at all for those categories. The 0.5.2 refactor addresses this directly.

Periodic Pull remains the default sync method. When a user connects a Polar account, the platform will continue to fetch data on a scheduled basis without any additional configuration. That behavior has not changed.

What is new is the option to enable webhooks. You can activate them under Settings > Providers. When webhooks are active, Polar pushes data to Open Wearables as events occur rather than waiting for the next polling cycle. For applications where data freshness matters, this is a meaningful improvement. Coaching applications that surface real-time readiness scores, clinical workflows that need sleep data the same morning it is recorded, and any integration where a 15-minute polling window creates friction will benefit from this.

The architectural point is worth stating plainly: webhook-based ingestion does not change what data you receive, it changes when you receive it. If your use case is comfortable with periodic pulls and the latency is acceptable, you do not need to touch anything. If it is not, the option is now there.

This is also a good moment to note what the Polar refactor represents at the platform level. Open Wearables is built around the principle of health intelligence, not just health data. Clean, timely ingestion from each provider is the foundation that makes downstream scoring and AI-driven insights reliable. A partial Polar integration was a gap in that foundation. 0.5.2 closes it.

Expanded Sport Type Coverage

The WorkoutType enum in Open Wearables has always included a catch-all WorkoutType.OTHER for activities that did not have an explicit mapping. That was a pragmatic decision early in the project development, but it has costs at scale.

When you aggregate workout data across Apple Health, Garmin, Suunto, and WHOOP, the OTHER bucket becomes a noise source. You cannot reliably filter by activity, build sport-specific training load models, or surface meaningful coaching insights for activities that are all labelled identically.

0.5.2 moves more than 70 provider-specific mappings out of OTHER and into named types. The newly explicit sports include cricket, lacrosse, racquetball, bowling, archery, fencing, fishing, wakeboarding, parkour, and curling, among others. Each of these now has a discrete identifier that travels cleanly through the platform data model.

For most existing deployments this is a non-breaking addition. If your application references WorkoutType.OTHER, you may find that some activities which previously landed there now resolve to a named type. Review the updated enum definitions in the documentation if that affects downstream logic in your codebase.

The broader point is about data quality at the source. Open algorithms and zero black boxes is a design commitment, and that commitment depends on having accurate, granular input data. A workout recorded as OTHER is an algorithm that cannot do its job properly.

New Garmin Fields

Garmin device ecosystem captures a wide range of physiological signals, and the Open Wearables integration has been extended to collect two additional fields: allDayRespiration and moveIQActivities.

allDayRespiration provides continuous breathing rate data across the full day, not just during workouts or sleep. This is relevant for applications that model stress, recovery, and baseline autonomic function. moveIQActivities captures Garmin automatic activity detection: periods of walking, running, or cycling that the device identifies without manual workout logging.

Both fields are added to Garmin-specific attributes in the data model.

Strict RMSSD Enforcement for HRV Scoring

This is the change that requires the most direct explanation.

The HRV-CV Resilience Score in Open Wearables uses overnight RMSSD as its primary input. RMSSD is a time-domain measure of heart rate variability that reflects parasympathetic nervous system activity during sleep. It is the appropriate metric for this score.

Prior to 0.5.2, if overnight RMSSD data was absent, the platform would automatically fall back to SDNN. SDNN is a related but distinct measure: it captures total HRV variability rather than the parasympathetic component specifically. The fallback produced a score, but it was not guaranteed to be methodologically consistent with RMSSD-based scores from other sessions or other users.

In 0.5.2, that fallback is disabled. Users without overnight RMSSD data now receive null for their HRV-CV Resilience Score.

The cost is visible: some users will see no score where they previously saw one. That is an intentional tradeoff. A null result is honest. A score derived from a different metric without disclosure is not.

The SDNN fallback is not gone permanently. It is disabled pending validation work to determine whether a cross-metric normalization approach can produce scores that are sufficiently consistent for clinical and coaching use. If that validation succeeds, a properly calibrated fallback may return in a future release. Until it does, strictness is the right default.

For developers: if you are surfacing the HRV-CV Resilience Score in an application, handle null gracefully. The documentation covers the score methodology and the data requirements.

New Recovery Summary Endpoint

0.5.2 adds a recovery summary endpoint to the API. This aggregates recovery-relevant signals into a single response, reducing the number of calls needed to build a complete recovery view for a given user. Details are in the API documentation.

Reliability Fixes

Several fixes in this release address edge cases that surface in production deployments at any meaningful scale.

Session handling for Oura and WHOOP has been improved: each data type is now committed individually, and the session is rolled back on exception. This prevents partial writes from corrupting a sync run when one data type fails. The behavior is more predictable and easier to reason about in error scenarios.

Duplicate EventRecordDetail inserts are now handled gracefully with savepoints, rather than failing the entire operation. Date parameter validation in OpenAPI specs has been tightened. Invalid user rows are skipped during email validation rather than halting the process. Suunto live workout push now correctly emits outgoing webhooks.

These are not headline features, but they represent the kind of work that makes a platform reliable rather than just functional. At the $0 per user pricing model, the infrastructure cost is yours to manage. That makes stability and predictability in the data layer more important, not less.

Getting Started

If you are evaluating Open Wearables for a healthtech project, the fastest path is the quickstart guide. It covers environment setup, provider connection, and your first API call.

The GitHub repository contains the full source, including the updated WorkoutType enum, the Polar webhook configuration, and the new recovery summary endpoint. The project is MIT licensed.

For teams building more complex integrations, the Momentum healthtech services page describes how we work with product teams on architecture, implementation, and ongoing development.

Frequently Asked Questions

Do I need to change anything to get the Polar webhook support?
No changes are required to existing integrations. Periodic Pull remains the default. To enable webhooks, go to Settings > Providers in your deployment and activate the option for Polar. The documentation at docs.openwearables.io covers the webhook configuration in detail.
Do I need to change anything to get the Polar webhook support?
No changes are required to existing integrations. Periodic Pull remains the default. To enable webhooks, go to Settings > Providers in your deployment and activate the option for Polar. The documentation at docs.openwearables.io covers the webhook configuration in detail.
My application was receiving HRV-CV Resilience Scores for some users. After upgrading to 0.5.2, those users now get null. What happened?
Those users were receiving scores based on the SDNN fallback, which has been disabled in 0.5.2. Users will continue to receive null until overnight RMSSD data is available for them, or until a validated fallback approach is reintroduced. Update your application to handle null as a valid score state.
Are the new sport types in WorkoutType backward compatible?
The enum additions are backward compatible in the sense that no existing named types have been removed or renamed. However, if your application has logic that depends on certain activities mapping to WorkoutType.OTHER, that logic may behave differently after the update. Review the updated enum definitions before deploying.
What does the new recovery summary endpoint return?
It aggregates recovery-relevant signals for a given user into a single API response. Full response schema is in the API documentation at docs.openwearables.io.
Is the SDNN fallback gone permanently?
No. It has been disabled pending validation of a cross-metric normalization approach. If that work confirms that SDNN-derived scores can be made consistent with RMSSD-derived scores, a calibrated fallback will be reintroduced with proper documentation of the methodology.
How do I contribute to Open Wearables?
The GitHub repository at github.com/the-momentum/open-wearables has contribution guidelines. Two new contributors joined with this release, and the project is actively maintained.

Written by Bartosz Michalak

Director of Engineering
He drives healthcare open-source development at the company, translating strategic vision into practical solutions. With hands-on experience in EHR integrations, FHIR standards, and wearable data ecosystems, he builds bridges between healthcare systems and emerging technologies.

See related articles

Build on Open Wearables

Let's Create the Future of Health Together

Open Wearables gives your team access to clean, scored health data from Apple Health, Garmin, Polar, and other connected sources, with open algorithms and no per-user fees. If you are building a healthtech product and want to talk through how it fits your architecture, we are available.

Looking for a partner who not only understands your challenges but anticipates your future needs? Get in touch, and let’s build something extraordinary in the world of digital health.

Newsletter

Bartosz Michalak