NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #2066 most downloaded on Packagist
Not only Composer tools to build a Monorepo.
Last release 2 months ago
31 Jul 2026
Ships unpredictably
gaps range from 8 days to 11 months
Rarely documented
notes for 10 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
572 releases · first in 2018
Support sebastian/diff ^9.0 , which unblocks upgrading to PHPUnit 13 / Pest 5. The previous cap at ^8.0 transitively blocked any project that wanted P
sebastian/diff ^9.0, which unblocks upgrading to PHPUnit 13 / Pest 5. The previous cap at ^8.0 transitively blocked any project that wanted PHPUnit 13 while keeping monorepo-builder installed. sebastian/diff 9.0 removed UnifiedDiffOutputBuilder, so CompleteUnifiedDiffOutputBuilderFactory now picks the right output builder at runtime and returns the shared DiffOutputBuilderInterface. Console diff output is byte-identical across sebastian/diff 6, 7, 8, and 9. Note that sebastian/diff 9.0 requires PHP 8.4, so it is only selected on PHP 8.4+; older PHP keeps the existing builder. (#120)sebastian/diff 9 on PHP 8.4, so both output builder paths are covered. (#120)readonly promotions flagged by rector 2.5. (#120)Full Changelog: 12.7.1...12.7.2
One column per quarter.
Fix uninitialized typed $container error on Symfony Console 8.1
$container error on Symfony Console 8.1 (#119)Full Changelog: 12.7.0...12.7.1
The zero-argument form MBConfig::disableAutoloadMerge() continues to work but now emits an E_USER_DEPRECATED notice. It maps to skipping both sections…
disableAutoloadMerge(sections, forTypes) API — independently control which composer.json autoload sections (autoload, autoload-dev) get skipped from root merge, optionally filtered by package type. New Symplify\MonorepoBuilder\Config\AutoloadSection and Symplify\MonorepoBuilder\Config\PackageType enums power the API; mixing enum cases and plain strings in the same call is supported (escape hatch for composer/installers ecosystem types like wordpress-plugin, drupal-module, symfony-bundle, and for user-defined custom types). Multiple types are OR-matched. Two filter channels are intentionally distinct: pass forTypes: [] to skip every package regardless of type; pass a non-empty list to skip ONLY packages whose composer.json declares the matching type literally. (#117)MBConfig::shouldSkipAutoload(?string $packageType): bool and MBConfig::shouldSkipAutoloadDev(?string $packageType): bool let custom mergers consult the configured rules per package. The bundled AutoloadComposerKeyMerger and AutoloadDevComposerKeyMerger now consult them symmetrically. (#117)MBConfig::disableAutoloadMerge() continues to work but now emits an E_USER_DEPRECATED notice. It maps to skipping both sections for all packages — equivalent to disableAutoloadMerge(sections: [AutoloadSection::Autoload, AutoloadSection::AutoloadDev], forTypes: []). Update existing config files at your convenience.MBConfig::isAutoloadMergeDisabled() getter is marked @deprecated; prefer shouldSkipAutoload($packageType) and shouldSkipAutoloadDev($packageType) for new code.Full Changelog: 12.6.2...12.7.0
Honor disablePackageReplace() in RootRemoveComposerJsonDecorator
Honor disablePackageReplace() in RootRemoveComposerJsonDecorator (#116)
Fix repositories array becoming a JSON object after path-type dedup (…
Fix repositories array becoming a JSON object after path-type dedup (…
Add disablePackageReplace() and disableAutoloadMerge() opt-outs for n…
Add disablePackageReplace() and disableAutoloadMerge() opt-outs for n…
Remove stale composer-json-manipulator autoload entry that breaks PHAR build
Full Changelog: 12.5.0...12.5.2
Remove stale composer-json-manipulator autoload entry that breaks PHA…
Remove stale composer-json-manipulator autoload entry that breaks PHA…
Merge command now preserves unknown/custom composer.json sections — Sections like scripts-aliases , abandoned , readme , and any other non-standard ke
scripts-aliases, abandoned, readme, and any other non-standard keys in root composer.json are no longer silently dropped during merge (#105, #106)dataToAppend supports arbitrary composer.json keys — No longer limited to the 24 hardcoded sections (#105)composer.json is preserved by default — New sections are appended at the end; custom ordering is available via composerSectionOrder() (#107)ComposerJson::sortItemsByOrderedListOfKeys() and ArraySorter::recursiveSortBySchema()FilterOutDuplicatedRequireAndRequireDevJsonDecorator which was a no-op due to array_intersect comparing values instead of keysMergedAndDecoratedComposerJsonFactory (was merging object with itself)webmozart/assert ^2 (#103)ComposerJsonMerger and decoratorDECORATOR_ORDER constant for decorator execution orderingRequireRequireDevDuplicateCleaner, src-deps/composer-json-manipulator/Full Changelog: 12.4.5...12.5.0
Fix disableDefaultWorkers() edge case where user-added workers were i…
Fix disableDefaultWorkers() edge case where user-added workers were i…
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →