github OpenStrap/edge v0.9.22-whoop5-experimental
v0.9.22-whoop5-experimental — WHOOP 5 (experimental)

pre-release3 hours ago

⚠️ EXPERIMENTAL BUILD — not a stable release

This is an experimental build with WHOOP 5 (gen5) support, substantially reworked since the earlier v0.9.14-whoop5-experimental build. It is unsigned (sideload only) and has not been validated on a physical WHOOP 5 band. If you rely on your data, stay on v0.9.21.

What's in it

  • WHOOP 4: unchanged — identical behavior to v0.9.21 (verified: every shared-code diff on this branch is either an additive {BandProfile profile = gen4}-style default parameter or a comment-only change; the 2934-case gen4 decode parity oracle still matches exactly).
  • WHOOP 5 (experimental): full protocol decode for the real historical record versions (v18/v20/v21/v26 — the earlier build targeted the wrong version set entirely), the connect/handshake/clock/offload/ACK path wired through the same BandProfile-gated BLE engine as WHOOP 4, gen5-specific commands (haptics, R22 deep-buffer opt-in, body location, extended battery).
  • Every protocol-level claim was independently cross-validated against real captured fixtures from two external reference implementations (not just our own tests) before this build was cut — several real bugs were found and fixed this way (a wrong record-index field width, an overly-loose data-range timestamp scan, an unvalidated activity-class byte). One area (the v20 raw-optical deep buffer) is flagged as genuinely unresolved — the two references disagree on its byte layout and neither has real hardware data to settle it, so treat any v20 optical output as unverified.
  • Analytics: no shared-code changes — gen5's data already fits the existing band-agnostic pipeline. One new, fully independent addition (IMU gait-cadence estimation, gated off by default) since gen5 exposes a gyroscope gen4 never had.

Downloads

  • Androidopenstrap-edge-v0.9.22-whoop5-experimental.apk: sideload directly.
  • iOSopenstrap-edge-v0.9.22-whoop5-experimental-unsigned.ipa: unsigned; re-sign with your own Apple ID (AltStore / Sideloadly / TrollStore). Free-account re-signs use a different team id, so App Group features (home widget + Live Activity) may not work, and there is no iOS OTA.

Known limitations

  • No physical WHOOP 5 hardware was available to verify the pairing/handshake/offload path end-to-end — every gen5 code path is implemented against byte-verified real captures but marked untested-on-hardware in code comments.
  • v20 raw-optical deep-buffer decode is explicitly unverified (see above) — don't trust it for anything.
  • Not App Store signed; no auto-update on iOS.

Built from feat/multiband-whoop5 (protocol pinned @ c525e29, analytics @ cbbe06a). Marked pre-release — v0.9.21 remains the "Latest" stable release.

Don't miss a new edge release

NewReleases is sending notifications on new releases.