Repository navigation
v3.4.0
What's Changed
Added
- Change log for menu location assignments (#156) — with the new
menu_locations_logfeature flag on (drupal_kit.feature_flags; on by default, a deliberate exception to the opt-in rule because the entries are the only record of who changed a menu every page shows),MenuLocationsChangeLoggerwrites onenoticeentry to thedrupal_kitlog channel for each real change to a menu location:header (en) [arkero]: main-en -> main-de, by editor (uid 5). One event subscriber covers the admin form, the Translate tab and a direct config write such asdrush config:set. A language override is stored in a config collection and fires the collection events, notConfigEvents::SAVE, so the subscriber listens to both. A save that changes no assignment writes nothing. A change without a logged-in user readsanonymous (cli). Removing an override reads(inherited). The log adds the IP address and the time.drupal_kit_post_update_feature_flag_menu_locations_log()declares the flag asTRUEon a site that already had the module enabled, so an upgrade starts logging; a site sets the keyFALSEto opt out. See the README's Change log section for retention.
Fixed
- The menu locations form shows a menu pinned in
settings.php(#157) —MenuLocationsFormnow binds each slot select to its config key with#config_target(ConfigTarget) instead of setting#default_valueand saving in its ownsubmitForm(). Core'sConfigFormBasethen adds the "These values are overridden" notice, so a site builder no longer sees one menu in the form while the site uses another. The select still shows the stored value, as every core config form does; the notice is what tells the override wins. Choosing "- None -" still removes the key (ToConfig::DeleteKey). Thelangcodestamp moved into a hidden#config_targetelement with the same rule as before, so the form has nosubmitForm()of its own. A theme that declares no slots now gets the message without a Save button, because there is nothing for core's binding to save.
Pull Requests
- #155 — docs(agents): drop Copilot-specific review guidance
- #158 — fix(menu): bind menu locations form to config with #config_target (#157)
- #159 — feat(menu): log changes to menu location assignments behind a feature flag (#156)
Full Changelog: v3.3.0...v3.4.0