| Age | Commit message (Expand) | Author |
| 2026-08-03 | Display stale accounts in users#index | erdgeist |
| 2026-08-03 | Display last login date in users#show | erdgeist |
| 2026-08-02 | Report changing the end time of an event in action log | erdgeist |
| 2026-08-02 | Witness calendar entries | erdgeist |
| 2026-08-02 | Witness account creation | erdgeist |
| 2026-08-02 | Give the session cookie a lifetime so it survives app switches | erdgeist |
| 2026-08-02 | Say when a translation is unchanged and where to look instead | erdgeist |
| 2026-08-02 | Repair unreachable and one-sided locale keys | erdgeist |
| 2026-08-01 | Require a second factor for elevation, not for holding admin | erdgeist |
| 2026-08-01 | tidy up user list, make otp flag more visible | erdgeist |
| 2026-08-01 | Let Redaktion grant and revoke its own role | erdgeist |
| 2026-08-01 | Show and extend the elevation window | erdgeist |
| 2026-08-01 | Require a fresh second factor for user management | erdgeist |
| 2026-08-01 | Declare role requirements per controller | erdgeist |
| 2026-07-31 | Warn before the gate refuses, and check restore destinations | erdgeist |
| 2026-07-31 | Show the gate before it refuses, and check the destination | erdgeist |
| 2026-07-31 | Gate live-content changes on restricted surfaces | erdgeist |
| 2026-07-31 | Replace user deletion with deactivation | erdgeist |
| 2026-07-31 | Group user accounts by role | erdgeist |
| 2026-07-31 | Translate the Copied! label indicator for copy-url buttons | erdgeist |
| 2026-07-31 | Let shortcode aggregate log but remove failed shortcode itself | erdgeist |
| 2026-07-30 | Provide the full i18n matrix for public/admin-preview/shared-preview urls | erdgeist |
| 2026-07-30 | Replaces the grey slab and filled-box handle with the house card idiom, | erdgeist |
| 2026-07-30 | Localise model validation messages and refusal reasons | erdgeist |
| 2026-07-30 | Use icon sets on the public page and add a public-site shortcut in admin realm | erdgeist |
| 2026-07-30 | Retire the unroutable scaffold views | erdgeist |
| 2026-07-30 | Emit per-page Open Graph metadata | erdgeist |
| 2026-07-28 | Let editors manage menu titles in both locales | erdgeist |
| 2026-07-27 | Surface held locks in the dashboard's work-in-progress widget | erdgeist |
| 2026-07-27 | Retire orphaned drafts partial and their translations | erdgeist |
| 2026-07-27 | Consolidate all main nav items in a single partial | erdgeist |
| 2026-07-27 | Move nav_switcher locale keys to layouts | erdgeist |
| 2026-07-27 | Move switchers out of the user check, so it also works when logged out | erdgeist |
| 2026-07-26 | Fix login view so the user knows where they are logging in to | erdgeist |
| 2026-07-25 | Extract public-site strings to i18n | erdgeist |
| 2026-07-25 | Extract admin strings to i18n: revisions, page_translations, and menu items, | erdgeist |
| 2026-07-25 | Extract admin strings to i18n: dashboard, layout chrome, and the JS bridge | erdgeist |
| 2026-07-25 | Extract admin strings to i18n: assets and events clusters | erdgeist |
| 2026-07-25 | Extract flashes to i18n and stop dispatching on submit labels | erdgeist |
| 2026-07-25 | Extract admin strings to i18n: users and tags clusters | erdgeist |
| 2026-07-25 | Extract admin strings to i18n: the nodes cluster | erdgeist |
| 2026-07-24 | Extract admin strings to i18n: sessions, otp, users/edit | erdgeist |
| 2026-07-24 | Add a pseudo-locale tripwire for the i18n extraction | erdgeist |
| 2026-07-24 | Give all sessions a uniform absolute lifetime of one week | erdgeist |
| 2026-07-24 | Render the otp verbs properly in the action log | erdgeist |
| 2026-07-24 | Polish the OTP flows: autocomplete tokens, button dialect, QR sizing, my-account link | erdgeist |
| 2026-07-24 | Add self-service TOTP enrollment UI and witnessed admin reset | erdgeist |
| 2026-07-24 | Add TOTP enrollment and verification to User, witnessed in the action log | erdgeist |
| 2026-07-24 | Reduce visual clutter: remove time from article partials | erdgeist |
| 2026-07-23 | Force tags to be lowercase. A script unifies existing tags in both cases | erdgeist |