Skip to main content
drupalreleases
Release: Cms 2.2.3 — Update released for Drupal core (2.2.3)! Release: Libraries API 4.2.1 — Minor update available for module libraries (4.2.1). Release: Menu Link Attributes 8.x-1.10 — Minor update available for module menu_link_attributes (8.x-1.10). Release: Menu Link Attributes 8.x-1.9 — Minor update available for module menu_link_attributes (8.x-1.9). Release: Taxonomy Menu 8.x-3.9 — Minor update available for module taxonomy_menu (8.x-3.9). Release: Menu Item Extras 3.2.0 — Minor update available for module menu_item_extras (3.2.0). Release: Layout Paragraphs 2.1.4 — Minor update available for module layout_paragraphs (2.1.4). Release: PhotoSwipe - Responsive JavaScript Modal Image Gallery 5.0.11 — Minor update available for module photoswipe (5.0.11). Module Revived: Libraries API 4.2.0 — Module libraries updated after 11 months of inactivity (4.2.0). Security Coverage: Component Library — Module component_library now has official Drupal security advisory coverage.

Config Trail

1 sites Security covered
View on drupal.org

Config Trail provides a history of all configuration changes on your Drupal site, allowing you to see what changed, when, and who made the change. It offers tools to safely undo these changes, even across deployments, by integrating with Git and other workflows.

Config Trail gives you a complete, timestamped history of every configuration
change on your Drupal site — with the tools to understand and undo them safely,
even across deployments.

The problem it solves

Rolling back config only in the database means the next

drush config:import

silently overwrites your rollback. Config Trail treats yml sync files and
Git as first-class citizens of the rollback workflow, so rollbacks survive
deployments.

Features

  • Automatic tracking of every config create, update, and delete
  • Side-by-side diff viewer for any two trail entries
  • Per-key partial restore — undo only the keys that changed in an entry,
    leaving all other keys untouched
  • Full restore — replace the entire config with a point-in-time snapshot
  • Bulk rollback — revert every tracked config to a chosen date and time
  • Five rollback strategies: DB only → DB + yml export → + Git commit →
    + push → + GitLab MR / GitHub PR
  • Sync status page — spot configs that will be overwritten on the next
    deployment before it happens
  • Async queue support — Git and API operations run via Drupal Queue so
    they never block a page request
  • Drush commands for every operation (list, show, rollback, export,
    sync-status, clean)
  • Slack and Microsoft Teams webhook notifications on every rollback
    and export
  • Configurable exclusion patterns with wildcard support
  • Developer hooks: hook_config_trail_should_track_alter(),
    hook_config_trail_entry_saved(),
    hook_config_trail_rollback_applied()

Comparison with config_revision

Feature config_revision Config Trail Change tracking ✅ ✅ Diff viewing ✅ ✅ Rollback ✅ ✅ Auto-export to yml ❌ ✅ Git commit on rollback ❌ ✅ GitLab MR / GitHub PR ❌ ✅ Deployment-safe rollbacks ❌ ✅ Slack / Teams notifications ❌ ✅ Drush commands Partial ✅ Drupal 11 support ❌ ✅ No core patches required ❌ ✅

Requirements

  • Drupal 10.x or 11.x
  • PHP 8.1+
  • Git binary on the server (optional — only needed for commit/push features)
  • cURL extension (optional — only needed for GitLab/GitHub/Slack/Teams)

Installation

  composer require drupal/config_trail
  drush en config_trail -y
  drush updb -y
  

Tracking begins immediately. No configuration required to get started.

Tracking begins immediately. No configuration required to get started.

Configuration

Administration → Configuration → Development → Config Trail → Settings

Set your rollback strategy default, exclusion patterns, Git binary path,
remote/branch, GitLab/GitHub tokens, and notification webhooks. API tokens
and webhook URLs are stored in Drupal State so they are never exported to
yml or committed to Git.

Rollback strategies

  1. Database only — fast, but lost on the next
    drush cim
  2. Database + Export to yml — writes the yml file to
    the sync directory
  3. Database + Export + Git commit — commits locally
    without pushing
  4. Database + Export + Git commit + Push — pushes
    directly to the target branch
  5. Database + Export + Git commit + Push + MR/PR —
    opens a merge/pull request for team review

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
May 2026
Latest release
4 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-beta1 Pre-release 10–11 May 17, 2026