Revisionist¶
Version history, diff and restore for FormBuilder (Afform) and SearchKit (SavedSearch / SearchDisplay).
CiviCRM doesn't keep any record of who changed a Search or a Form, or what it looked like before - if someone breaks a report or a form, there's no way to see what changed or put it back. Revisionist fixes that: every time a FormBuilder form or a SearchKit search (and its displays) is saved, a snapshot is recorded automatically. From the item's own admin listing you can then:
- Browse every previous saved version, in order, with who saved it and when.
- See exactly what changed between any two versions, field by field, with an inline diff for form layout markup.
- Add your own note/description to a version, so a deliberate change is easy to find again later.
- Pin important versions (e.g. "known-good") so they're never pruned.
- Restore a whole item to a previous version - or, for a SearchKit search with multiple linked displays, restore just one display back to how it was, without touching the search or its other displays.

Supports¶
- FormBuilder: full version history for both the form's fields/settings and its layout (markup), diffed and restorable independently.
- SearchKit: full version history for a saved search and every SearchDisplay linked to it. A single builder action that touches several displays at once (e.g. saving two displays together) is still recorded as one revision, not several - see the tabbed diff view.
- Per-display restore for SearchKit, so you can revert one display's columns/sort/settings without disturbing the underlying search or any sibling display.
- Pinning and free-text descriptions on any revision.
- Automatic pruning: only the most recent N revisions are kept per item (configurable, pinned revisions are always kept regardless of count).
Compatibility / Requirements¶
- CiviCRM 6.15+ (standalone or any supported CMS).
- PHP 8.1 - 8.5.
- Requires the core
org.civicrm.afformandorg.civicrm.search_kitextensions (both bundled with CiviCRM core).
Configuration¶
Administer » System Settings » Revisionist Preferences: set how many revisions to keep per item (default 10). Pinned revisions don't count towards this limit and are never auto-pruned.
Support and Maintenance¶
This extension is supported and maintained with the help and support of the CiviCRM community by MJW.
We offer paid support and development as well as a troubleshooting/investigation service.