| Age | Commit message (Expand) | Author |
| 2026-08-02 | Witness calendar entries | erdgeist |
| 2026-08-02 | Test the neighbour revision pair arithmetic | erdgeist |
| 2026-08-02 | Test that aggregate? keeps the attributes the editor permits | erdgeist |
| 2026-08-01 | Require a second factor for elevation, not for holding admin | erdgeist |
| 2026-08-01 | Allow aggregate to order by slug and paint chapters list more nicely | 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 | Bind aggregates over scoped tags to their subtree | erdgeist |
| 2026-07-31 | Gate live-content changes on restricted surfaces | erdgeist |
| 2026-07-31 | Retire the unused per-node permission subsystem | erdgeist |
| 2026-07-30 | Localise model validation messages and refusal reasons | erdgeist |
| 2026-07-27 | Surface held locks in the dashboard's work-in-progress widget | erdgeist |
| 2026-07-24 | Add TOTP enrollment and verification to User, witnessed in the action log | erdgeist |
| 2026-07-23 | Record asset deltas at publish, with changed assets as participants | erdgeist |
| 2026-07-23 | Witness asset uploads and out-of-band attaches in the action log | erdgeist |
| 2026-07-23 | Witness asset destruction, naming every node it strips | erdgeist |
| 2026-07-23 | Add action_participants, recording every node a trash/destroy touches | erdgeist |
| 2026-07-22 | Add Node#attach_asset! attaching across all lifecycle rows | erdgeist |
| 2026-07-22 | Retire nodes#recent, superseded by the action log | erdgeist |
| 2026-07-22 | Fix Node#title ignoring autosave | erdgeist |
| 2026-07-21 | Render PDF headlines as document cards, not lightbox images | erdgeist |
| 2026-07-21 | PDFs currently should have no credits attached to them in display | erdgeist |
| 2026-07-21 | More PDF headline eligibility | erdgeist |
| 2026-07-21 | Make PDFs eligible for headline and allow searching assets by filename | erdgeist |
| 2026-07-21 | Remove Page#update_assets | erdgeist |
| 2026-07-20 | Make headline images explicit, add asset credits | erdgeist |
| 2026-07-18 | Accept blank template names in the allowlist validations | erdgeist |
| 2026-07-18 | Give action log entries per-verb icons | erdgeist |
| 2026-07-18 | Annotate the History list with each revision's lifecycle | erdgeist |
| 2026-07-18 | Give Trash a proper title on lazy construction | erdgeist |
| 2026-07-18 | Keep the Trash out of the drafts surfaces | erdgeist |
| 2026-07-18 | Teach the action log reader the Trash vocabulary | erdgeist |
| 2026-07-18 | Add Trash affordances: cockpit, listing, dashboard entry | erdgeist |
| 2026-07-17 | Add trash!, restore_from_trash!, and destroy_from_trash! with log entries | erdgeist |
| 2026-07-17 | Bootstrap the Trash node: reserved slug, identity, guards | erdgeist |
| 2026-07-17 | Refuse destroying nodes that still have children | erdgeist |
| 2026-07-17 | Allowlist aggregate order columns and template names | erdgeist |
| 2026-07-17 | Allow updating migrated users without supplying a password | erdgeist |
| 2026-07-17 | Implement transparent password hash migration | erdgeist |
| 2026-07-17 | Add some more tests for the login basics while refactoring | erdgeist |
| 2026-07-17 | Improve test coverage for two-ordinal week selection in rrule humanizier | erdgeist |
| 2026-07-16 | Aggregate selected weeks in a more human friendly form | erdgeist |
| 2026-07-16 | managed RRULE constructs now include week selection | erdgeist |
| 2026-07-16 | Condense the action log into a scannable table | erdgeist |
| 2026-07-16 | Add a reader for the action log at admin/log | erdgeist |
| 2026-07-16 | Record the full lifecycle contract in NodeAction entries | erdgeist |
| 2026-07-15 | Add NodeAction: an append-only log of who did what to a node | erdgeist |
| 2026-07-14 | Extend static-asset cache-busting to the public layout | erdgeist |
| 2026-07-14 | Retire wipe_draft! and find_or_create_draft from production code | erdgeist |
| 2026-07-13 | Add cache-buster using mtime of css and js files outside the asset pipeline | erdgeist |