| Age | Commit message (Expand) | Author |
| 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 | Widen nodes#show to all attachments | erdgeist |
| 2026-07-21 | Make PDFs eligible for headline and allow searching assets by filename | erdgeist |
| 2026-07-21 | Extract Page#headline_asset | erdgeist |
| 2026-07-21 | Implement model side of PDF raster preview generation | erdgeist |
| 2026-07-21 | Add storage isolation for tests, preventing live data destruction | erdgeist |
| 2026-07-21 | Resolve preview's page-to-node lookup for every layer | erdgeist |
| 2026-07-21 | Remove Page#update_assets | erdgeist |
| 2026-07-21 | Remove unreachable image_box drag-and-drop UI | erdgeist |
| 2026-07-21 | Show which image is headlined on nodes#show | erdgeist |
| 2026-07-21 | Render asset credit inside the gallery lightbox correctly | erdgeist |
| 2026-07-21 | Stop related_assets from duplicating on every clone | erdgeist |
| 2026-07-21 | Whitespace fix | erdgeist |
| 2026-07-20 | Remove a superflous section header | erdgeist |
| 2026-07-20 | Improve discoverability of headline image logic in nodes#edit | erdgeist |
| 2026-07-20 | Make headline images explicit, add asset credits | erdgeist |
| 2026-07-20 | Link publish actions to revision diffs in recents | erdgeist |
| 2026-07-19 | Remove one dead events view | erdgeist |
| 2026-07-19 | Add copy-url button to assets; unified the mechanism across views | erdgeist |
| 2026-07-19 | Simplify sanitize_filenames for the unicode age | erdgeist |
| 2026-07-19 | Point the style sheet to the correct WIP version in tree | erdgeist |
| 2026-07-19 | Start demolition survey of the css for later redesigns | erdgeist |
| 2026-07-19 | Log CSP violations to their own file instead of relying on Rails.logger | erdgeist |
| 2026-07-19 | Add a 500er logger and a trip wire in admin/boom to test it | erdgeist |
| 2026-07-19 | Fix render gallery rename issue. We saw 500s | erdgeist |
| 2026-07-19 | Refine the action log's time column layout | erdgeist |
| 2026-07-18 | Accept blank template names in the allowlist validations | erdgeist |
| 2026-07-18 | Emit a report-only Content-Security-Policy with nonced inline scripts | 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 | Route and control trash, restore, and permanent deletion | 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 | Implement transparent password hash migration | erdgeist |
| 2026-07-17 | Fix computed_unique_name code and consumer | erdgeist |
| 2026-07-17 | Retire recent changes widget, replace with action log | erdgeist |
| 2026-07-17 | Retire recent changes widget, replace with action log | erdgeist |
| 2026-07-17 | Cutover to new Recent Changes widget | erdgeist |
| 2026-07-16 | Move rrule builder to a partial and share between events#new and events#edit | erdgeist |