Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Deterministic Config UUID

5 sites No security coverage Drupal 9–11
View on drupal.org

This module generates predictable UUIDs for your site's configuration files. This ensures that your exported configuration remains consistent across different environments and over time, making it easier to manage and version control your site's settings. It handles complex configurations, including nested elements and specific field settings, to maintain these consistent UUIDs.

Provides deterministic UUIDs for exported configuration. Instead of random UUIDs, this module generates predictable UUID v5 hashes based on the configuration name and a fixed namespace. This ensures stable and repeatable config:export results, making clean installs and generated configuration (such as through migrations) consistent across environments.

Features

  • Generates deterministic UUIDs using UUID v5 specification for all exported configuration.
  • UUID hash is derived from the config name and a configurable namespace UUID.
  • Ensures exports of the same config file always produce the same UUID.
  • Handles nested plugin instances within configuration (e.g., image effects, filters) with hierarchical UUID generation.
  • Intelligently skips UUID remapping for field storage configs with long names that would break Drupal's hashed table name resolution.
  • Overrides both file storage (for exports) and active database storage (for runtime consistency).
  • Integrates seamlessly with drush config:export and core configuration management.
  • Improves reproducibility and version control cleanliness by eliminating UUID churn.
  • Supports complex nested configuration structures with deterministic UUID generation at all levels.

Post-Installation

No configuration required. Once enabled, drush config:export or core export functionality will automatically use deterministic UUIDs. For example, admin_toolbar.settings.yml will always export with
the same UUID. The module uses a default namespace UUID (00000000-0000-0000-0000-000000000000) which can be customized by modifying the NAMESPACE constant in the module's classes for project-specific implementations.

Technical Details

The module implements custom storage classes that extend Drupal's FileStorage and DatabaseStorage, intercepting read and write operations to ensure UUID consistency. It uses the Ramsey UUID library to generate UUID v5 hashes, ensuring compliance with RFC 4122. The module also includes intelligent detection for field storage configurations that would be affected by Drupal's table name hashing mechanism, preserving their original UUIDs to maintain database integrity.

Additional Requirements

Requires the Ramsey UUID library (automatically managed via Composer). Works with Drupal core configuration management system (Drupal 9 or 10).

Optional but useful with migration and config management workflows:

Similar projects

Modules like Config Normalizer or href="https://www.drupal.org/project/config_sync_without_site_uuid">Config Sync Without Site UUID handle
different aspects of configuration consistency. This module is unique in providing deterministic UUID generation
for exported config, including support for nested plugin instances and intelligent field storage handling.

Supporting this Module

If you find this module helpful, consider sponsoring or contributing back via the issue queue.

Community Documentation

Examples, walkthroughs, and use cases will be shared here.

Depends on

Dependencies of the latest stable release

  • system Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
4
Tracked since
Aug 2025
Latest release
5 months ago
Releases (12 mo)
3 ▲ from 1
Maintenance
Slowing

Release Timeline

Releases

Version Type Core Release date
1.0.3 Stable 9–11 Mar 2, 2026
1.0.2 Stable 9–11 Feb 26, 2026
1.0.1 Stable 9–11 Jan 24, 2026
1.0.x-dev Dev 9–11 Aug 30, 2025