| Age | Commit message (Expand) | Author |
| 12 days | Replace awesome_nested_set with a plain parent_id-based NestedTree concern | erdgeist |
| 12 days | Add tree-position scoping to Page.aggregate | erdgeist |
| 12 days | Apply slug immediately for never-published nodes | erdgeist |
| 12 days | Fix test to match the current layout | erdgeist |
| 12 days | Restructure nodes#show and nodes#new around node_description/node_content | erdgeist |
| 12 days | Fix shared preview links breaking after a second publish | erdgeist |
| 13 days | Add public preview links for drafts | erdgeist |
| 13 days | Add preview_token to pages | erdgeist |
| 13 days | Drop dead custom_rrule column from events | erdgeist |
| 13 days | Add FK with ON DELETE CASCADE on occurrences.event_id | erdgeist |
| 13 days | Strengthen event/occurrence cascade test with real assertions | erdgeist |
| 13 days | Remove dead custom_rrule references after column drop | erdgeist |
| 13 days | Disable verify_foreign_keys_for_fixtures for test env | erdgeist |
| 13 days | Add migration for the default template name feature | erdgeist |
| 13 days | Add erfa/chaostreff node-kind creation conventions, part 2 | erdgeist |
| 13 days | Whitespace fixes | erdgeist |
| 13 days | Surface node-kind conventions in the admin UI | erdgeist |
| 13 days | Add erfa/chaostreff node-kind creation conventions | erdgeist |
| 13 days | Fix admin search results colliding with other search widgets | erdgeist |
| 2026-07-04 | Retire event_information, superseded by nodes#show's event manager | erdgeist |
| 2026-07-04 | Fix safe_return_to being uncallable from controllers | erdgeist |
| 2026-07-04 | Add self-service event creation from nodes#show | erdgeist |
| 2026-07-03 | Change open-today widget label | erdgeist |
| 2026-07-03 | Reduce right-column widget font size to 0.9rem | erdgeist |
| 2026-07-03 | Style open-today widget for wrapped multi-line entries | erdgeist |
| 2026-07-03 | Add weekday abbreviation for open-today widget | erdgeist |
| 2026-07-03 | Correct chapters seed against live ccc.de pages | erdgeist |
| 2026-07-03 | ascade-destroy occurrences; support events without a fixed start time | erdgeist |
| 2026-07-02 | rc.d: gemset auto-detection, occurrence regeneration command | erdgeist |
| 2026-07-02 | Add 'open today' sidebar widget and open days in chapter lists | erdgeist |
| 2026-07-02 | Fix DST drift in occurrence generation | erdgeist |
| 2026-07-02 | Add direct edit link to nodes#index | erdgeist |
| 2026-07-02 | Remove review notes file | erdgeist |
| 2026-07-02 | Rewrite chapter seeds: multi-event support, drop is_primary, fix data | erdgeist |
| 2026-07-02 | Rewrite chapter_detail template with humanized event schedule | erdgeist |
| 2026-07-02 | Add tagging support to Event model | erdgeist |
| 2026-07-02 | Clean up events views: return_to, subnav, remove custom_rrule | erdgeist |
| 2026-07-02 | Fix button_to styling for Rails 8.1, add destructive variant | erdgeist |
| 2026-07-01 | Add RRULE humanizer and wire events into nodes#show | erdgeist |
| 2026-06-30 | Fix events CRUD for standalone events and add events to admin menu | erdgeist |
| 2026-06-30 | Add chapter_detail template with events and external URL rendering | erdgeist |
| 2026-06-30 | Phase 2: chapter nodes, aggregate partial, fixes | erdgeist |
| 2026-06-30 | Phase 1: standalone events, external_url on nodes | erdgeist |
| 2026-06-30 | Address brakeman security findings | erdgeist |
| 2026-06-30 | Permit :admin in params only for admins | erdgeist |
| 2026-06-30 | Remove recent_changes RSS feed. It leaks unpublished drafts and the basic auth was only symbolic | erdgeist |
| 2026-06-30 | Remove obsolete view | erdgeist |
| 2026-06-30 | Remove obsolete partial | erdgeist |
| 2026-06-30 | Prevent xss by not allowing return_to to point to javascript resources | erdgeist |
| 2026-06-30 | Fix aggregate shortcode syntax in content_controller_test | erdgeist |