Skip to content

Fix unpacking packs on Composer < 2.2.6 and keep empty sections in composer.json and composer.lock - #1129

Merged
nicolas-grekas merged 1 commit into
2.xfrom
unpack-fixes
Oct 29, 2026
Merged

nicolas-grekas merged 1 commit into
2.xfrom
unpack-fixes

Conversation

@nicolas-grekas

@nicolas-grekas nicolas-grekas commented Oct 29, 2026 •

Copy link
Copy Markdown
Member
Q A
Bug fix? yes
New feature? no
Deprecations? no
Issues -
License MIT

Three fixes found while looking at #783 again. They all touch Unpacker::updateLock(), one commit each.

Unpacking a pack removed the empty require-dev section of composer.json, even with composer update. unpack() already removes the packs from composer.json, so I removed the second removal. composer require removes the empty section too: that part of #783 is fixed in composer/composer#13178.

Unpacking failed with a fatal error on Composer < 2.2.6, because getDevMode() doesn't exist there.

Updating composer.lock turned the empty stability-flags, platform and platform-dev objects into arrays, and the next composer update turned them back. Flex now keeps them as objects, like Composer's Locker does.

@nicolas-grekas
nicolas-grekas merged commit 87e1a19 into 2.x Oct 29, 2026
5 of 6 checks passed
@nicolas-grekas
nicolas-grekas deleted the unpack-fixes branch October 29, 2026 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant