| Age | Commit message (Expand) | Author |
| 9 days | Surface redirects in nodes#show, the action log and when publishing | erdgeist |
| 10 days | Redirect a page to a node or an external URL | erdgeist |
| 2026-08-09 | Drop nodes.external_url | erdgeist |
| 2026-08-09 | Attach assets to the draft instead of to every lifecycle row | erdgeist |
| 2026-08-08 | Move the external homepage onto the draft | erdgeist |
| 2026-08-07 | Move the pending address from the node onto the draft | erdgeist |
| 2026-08-06 | Let editors set a node external homepage, gated and witnessed | erdgeist |
| 2026-08-04 | Give node lists a flag column and a shared action bar | 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 | Retire the unused per-node permission subsystem | erdgeist |
| 2026-07-31 | Validate format of slug to be alphanum or _- | 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-23 | Keep in-editor asset curation off the head, layering it like every edit | 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 | Convert the log's node zoom to participants, completing subtree histories | 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-18 | Accept blank template names in the allowlist validations | 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 | 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 | Fix the cleanup cascade for a real node destroy | 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 | Fix computed_unique_name code and consumer | erdgeist |
| 2026-07-16 | Split current_unique_name in a setter and an accessor | 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 | Retire wipe_draft! and find_or_create_draft from production code | erdgeist |
| 2026-07-13 | wipe_draft!: add a grace period to the lock-with-no-draft branch | erdgeist |
| 2026-07-13 | Carry over other-locale translations when creating an autosave | erdgeist |
| 2026-07-13 | Asset picker: attach/detach/reorder UI, read-only view, autosave fix | erdgeist |
| 2026-07-13 | Add RelatedAssetsController: search, attach, detach, reorder | erdgeist |
| 2026-07-12 | Rebuild the admin dashboard: icon nav, search, signposts, widgets | erdgeist |
| 2026-07-12 | Extract drafts/recent query logic from controller into Node | erdgeist |
| 2026-07-11 | Add drafts/recent/mine/chapters admin node views | erdgeist |
| 2026-07-10 | Prevent a staged parent move from crashing on its own descendant | erdgeist |
| 2026-07-10 | Add head/draft/autosave layer comparison at three UI entry points | erdgeist |
| 2026-07-08 | Fix blank-title validation and its lost form state on re-render | erdgeist |
| 2026-07-08 | Fix authorship and published_at loss in autosave promotion | erdgeist |
| 2026-07-08 | Add head/draft/autosave hierarchy to Node | erdgeist |
| 2026-07-07 | Replace awesome_nested_set with a plain parent_id-based NestedTree concern | erdgeist |