Skip to content

chore(release): v0.22.0 - #299

Merged
fclairamb merged 2 commits into
mainfrom
release-please--branches--main
Sep 2, 2026
Merged

fclairamb merged 2 commits into
mainfrom
release-please--branches--main

Conversation

@fclairamb

@fclairamb fclairamb commented Sep 1, 2026 •

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

0.22.0 (2026-09-02)

Features

  • heartbeat: add an embedded TCP/UDP push transport for constrained devices (#301) (ecde564)
  • heartbeat: add an embedded TCP/UDP push transport so constrained (ecde564)

Bug Fixes

  • deps: update github.com/dop251/goja digest to 43234fa (#300) (9c9b3e2)
  • deps: update module github.com/aws/aws-sdk-go-v2/service/s3 to v1.110.0 (#298) (2482111)

This PR was generated with Release Please. See documentation.

@fclairamb
fclairamb force-pushed the release-please--branches--main branch 2 times, most recently from b8fd2ec to 15836f0 Compare September 2, 2026 01:56
@fclairamb fclairamb changed the title chore(release): v0.21.3 chore(release): v0.22.0 Sep 2, 2026
@fclairamb
fclairamb force-pushed the release-please--branches--main branch from 15836f0 to 63fc7fb Compare September 2, 2026 02:47
@fclairamb

Copy link
Copy Markdown
Owner Author

Release v0.22.0

The headline is push-based heartbeats for constrained devices: two optional listeners (port 4001, TCP and UDP, off by default) accept a one-line beat in either a plaintext (SP1) or HMAC-signed (SP2) form, so a microcontroller or cellular modem can report in without a TLS stack, a certificate store or a correct clock. Replay protection is a database-enforced strictly-increasing counter, require_hmac closes the plaintext form per check, and failed beats get no reply at all so the listeners give away nothing about which orgs, checks or tokens exist. Beats can also carry readings — battery voltage, signal strength — which land as check metrics and chart on the check page.

Alongside that:

  • gRPC checks now report a real DNS / connect / TLS / RPC phase breakdown instead of a connection_time_ms that measured almost nothing, attribute failures to the phase that failed, and can authenticate via request metadata (including encrypted secret metadata).
  • Uptime report emails gained period-over-period trends, a response-time summary, average incident duration, and a worst-first check table with a per-day availability strip — with deliberate guards so a digest never shows a green zero, a comparison against no baseline, or a cheerful response-time trend measured on error responses.
  • Two bugs fixed in passing, neither in the new code: a heartbeat config PATCH silently destroyed the check's ping token, and a report with no incidents in either period rendered <no value> instead of 0.

No new migration — the replay counter reuses the generic state_entries store, on a sliding 7-day window refreshed by every accepted beat.

Full details in CHANGELOG.md.

@fclairamb
fclairamb merged commit 9beac71 into main Sep 2, 2026
12 checks passed
@fclairamb
fclairamb deleted the release-please--branches--main branch September 2, 2026 02:50
@fclairamb

Copy link
Copy Markdown
Owner Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant