changelog
Everything we’ve shipped.
Newest first. The badge on the homepage reads the top entry here. If this page goes quiet, the badge says so. There is an RSS feed.
no design milestones, no roadmap. last update: shipped today.
2 September 2026
shipped
The Slack app is installable
Any workspace can add Fwozen to Slack now. Settings → Slack has a working Connect Slack button, and step 5 of setup offers Add to Slack again. Both spent a release explaining that the app was built and nobody could install it. That was true, because the production Slack app had never been given public distribution. It has now. The app is free on every plan and bot-only, it never reads message history, and it posts to the channels you pick when a freeze starts, ends or stops being enforced. It adds /fwozen freeze, /fwozen thaw and /fwozen status, so anybody can freeze or ask what is frozen without leaving Slack. It is not in the Slack Marketplace, so you install it from Fwozen rather than from Slack.
31 August 2026
shipped
One-click enforcement, where your installation has granted it
Fwozen can now write the enforcement rule itself. Where your installation has granted repository administration — every new installation does, and an older one when an organisation owner accepts the change — the repository ruleset that makes the fwozen check required is one button: Fwozen writes it with a token minted for that call, reads the rule back from GitHub before anything claims it exists, and records the write. No GitHub credential of yours is stored, and none is asked for. Everywhere the permission is not granted, setup is the guided save it has been since August: the exact GitHub settings page, the exact values, and verification once you save. Organisation-scope rules are always a save you make — Fwozen asks for no organisation administration in either direction — and a repository you have marked as managed by infrastructure-as-code is never written to. Removing Fwozen still leaves your rules exactly where they are: the rule Fwozen writes only makes a check required, and the freeze itself is that check.
15 August 2026
shipped
Setup is guided, not written for you — and campaign state stops rounding up
Three changes that make the product say what it does. Enforcement setup no longer writes a ruleset with your admin authorization: Fwozen writes the current fwozen result to every watched branch tip, open pull request head and live merge-group head, opens the exact GitHub Rules settings page with the values to enter, and verifies the ruleset after you save one native rule — and it no longer stores your GitHub token, because nothing needs one any more. Freeze campaigns now report partial and failed from the writes GitHub actually accepted, instead of marking a campaign applied when every write was rejected; a later reconciler pass repairs the targets without erasing the record that it was ever partial. And two-person approval for per-PR exceptions, which the engine has always enforced, is now selectable in organisation settings.
30 July 2026
shipped
Quick freezes from the dashboard
The freeze tab now has a quick-freeze band: freeze all repositories or a single one, merges or deploys, in one click each — no wizard, no confirmation dialog. Quick freezes run until lifted, show up in the active list immediately, and Lift is the undo. The full composer remains for scheduled, scoped, or branch-specific freezes.
30 July 2026
fixed
Freezes now show who froze it, by name
The fwozen check summary and the Slack announcement rendered the internal account id — “Frozen by user_01KYT…” — instead of a person. Both surfaces now resolve the actor to a display name or GitHub login, and older records resolve on read, so history reads correctly too.
30 July 2026
fixed
Checks clear reliably when a freeze ends
Lifting, expiring, or superseding a freeze did not re-arm its targets, so the unfreeze fan-out had nothing to do and a failing fwozen check could stay on a pull request after the freeze was over. Ending a freeze now re-queues every target and every check is rewritten to success.
30 July 2026
fixed
Onboarding: Skip setup is honoured, and the install step reads correctly
Choosing “Skip setup” sent you back into the wizard on the next navigation, and the install step rendered its ordinary empty state — no installation yet — as an error card. Both are fixed.
30 July 2026
shipped
Fwozen 1.0
The first release. Org-wide, glob, repo, and branch freezes with a required reason; enforcement verification that reads GitHub’s effective rules and a reconciler that re-asserts state; merge-group freezing so a queued pull request cannot slip through; deploy gating via the fwozen/deploy-gate check and the fwozen/gate-action GitHub Action; per-PR hotfix exceptions with a reason and a TTL; scheduled and recurring freezes with timezone and DST handling; the Slack app and /fwozen; an append-only audit log with an actor on every row; a compatibility API namespace so scripts written for an older freeze tool keep working; the dashboard; and self-serve billing with a 14-day Business trial.
Bugs we ship and then fix get an entry with a date, the same as features do. That’s the least fun entry to write and the most useful one to publish.