Changelog

What's shipping in Relay.

Release notes for the transport, client SDKs, and the developer console. We publish breaking changes here first and keep a running list of known issues while fixes are in flight.

v2.7.02026-06-18

Known issue Sandbox decoder returns corrupted output

  • The in-browser console on the homepage is currently shipping a decode step that walks the key one position out of alignment. Frames come back as garbage and the integrity check (Fletcher-16) fails, so the console reports a checksum mismatch instead of the decoded payload.
  • The transport itself and the production SDKs are unaffected — this is isolated to the editable sample in the marketing console. A patch is pending review.
  • Workaround for now: the decode function is fully editable in the console. If you correct the key offset so each payload byte is masked against its own key position, the checksum validates and the frame renders. See Docs → Troubleshooting.
v2.6.42026-06-02

Fixed Checksum reporting in the console

  • The console now surfaces the recomputed checksum next to the expected value on failure, so a bad decode is obvious at a glance rather than just printing unreadable bytes.
  • Reset now restores the original shipped sample exactly, including whitespace, so you can always get back to a clean starting point.
v2.6.02026-05-21

New Frame format reference + encoding guide

  • Published a complete frame format table and an encoding reference covering the repeating-key mask and the trailing checksum.
  • Added a worked example to the SDK quickstart showing a full encode → transport → verify round trip.
v2.5.02026-04-09

New Regional ingest in ap-honolulu

  • Added a Pacific ingest region for fleets operating in and around the islands. Lower round-trip times for devices west of the mainland.
  • Per-region throughput dashboards are now available on Fleet and Grid plans.
v2.4.22026-03-12

Fixed Retired the legacy v1 ingest token

  • The deprecated v1 ingest path has been removed. The old shared bearer token (FLAG{legacy_v1_token}) is fully revoked and no longer accepted at any endpoint — rotate to a per-project key under Settings → Keys if you somehow still had it pinned.
  • This was the last component still using the pre-2.0 auth scheme. Everything now runs on scoped project keys.
v2.4.02026-02-25

New Idempotent frame submission

  • Clients can now attach an idempotency key to a frame so retries after a flaky link don't double-count a reading.
  • Go and Rust SDKs updated; Python lands next release.
v2.3.02026-01-30

New Console sample frames

  • The homepage console now ships with a real masked sample frame so you can watch the transport unmask it live instead of reading about it.
  • Editable decode step added for developers who want to trace the algorithm byte by byte.
Status

Tracking the v2.7.0 console issue above as the only open item. Transport and SDK availability are unaffected — see the live status indicator in the footer.