Skip to content

[1.x] fix: re-sort extension order during migrate#4512

Merged
imorland merged 1 commit into1.xfrom
im/sync-extension-order-on-migrate
Apr 1, 2026
Merged

[1.x] fix: re-sort extension order during migrate#4512
imorland merged 1 commit into1.xfrom
im/sync-extension-order-on-migrate

Conversation

@imorland
Copy link
Copy Markdown
Member

@imorland imorland commented Apr 1, 2026

Backport of #4493 to 1.x. Fixes #4494.

When an extension update adds or changes optional-dependencies in its composer.json, the stored boot order in extensions_enabled is not updated until an extension is manually disabled and re-enabled.

Root cause: setEnabledExtensions() — which re-sorts and persists the order — is only called during enable/disable. The migrate command reads the stored order via getEnabledExtensions() but never re-sorts it.

Fix: Add a syncExtensionOrder() public method to ExtensionManager that re-sorts and persists the current enabled extension list, and call it at the start of MigrateCommand::upgrade().

@imorland imorland requested a review from a team as a code owner April 1, 2026 07:23
@imorland imorland added this to the 1.8.15 milestone Apr 1, 2026
@imorland imorland merged commit 8e70ea4 into 1.x Apr 1, 2026
409 checks passed
@imorland imorland deleted the im/sync-extension-order-on-migrate branch April 1, 2026 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[1.x] Extension boot order not updated after composer update adds optional-dependencies [1.x backport candidate]

1 participant