Release notes
What changed, when, and whether you need to act. Release notes are derived from the same changelog the marketing site publishes - one source, so the developer-facing and public views never disagree.
Where to read them
The canonical, dated list lives on the changelog. This page is the docs-side entry point: it explains how to read a release and what the version tags mean, so you don't have to guess whether an update is safe to take.
How to read a release
- Additive by default - the API is versioned; breaking changes mean a new version prefix (
/v2/…), never a mutated old one. A release under/v1won't break an existing/v1caller. - Runtime updates - the on-device runtime updates independently of the edge. Interception stays byte-exact across updates; if a release changed that, it would be called out explicitly.
- Reversible - any runtime update remains cleanly removable.
surfil uninstallrestores configs byte-for-byte regardless of version.
Key rotations
Signing-key rotations are a special kind of release: a new epoch is published, and old receipts stay verifiable under their original epoch key. You never need to re-verify or re-issue a receipt because a key rotated.
Release notes state what was measured and shipped - no roadmap promises dressed up as releases. If something isn't in the changelog, it hasn't shipped.