You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 I have created a release beep boop
0.22.0 (2026-09-02)
Features
Bug Fixes
This PR was generated with Release Please. See documentation.