symplify/monorepo-builder
Not only Composer tools to build a Monorepo.
12.7.2
6.2M downloads/mo
#2113 most downloaded on Packagist
symplify/monorepo-builder
What this package is like to depend on
Last release 24 days ago
31 Jul 2026
Ships unpredictably
gaps range from 8 days to 11 months
Rarely documented
notes for 10 of 542 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
572 releases · first in 2018
17 releases in the last 12 months
see the full history below
Release timeline
565 releases · Jun 2018 to Jul 2026Releases
latest 60 of 572-
12.7.231 Jul 2026Release notes
Open source →What's Changed
Features
- Support
sebastian/diff^9.0, which unblocks upgrading to PHPUnit 13 / Pest 5. The previous cap at^8.0transitively blocked any project that wanted PHPUnit 13 while keepingmonorepo-builderinstalled.sebastian/diff9.0 removedUnifiedDiffOutputBuilder, soCompleteUnifiedDiffOutputBuilderFactorynow picks the right output builder at runtime and returns the sharedDiffOutputBuilderInterface. Console diff output is byte-identical acrosssebastian/diff6, 7, 8, and 9. Note thatsebastian/diff9.0 requires PHP 8.4, so it is only selected on PHP 8.4+; older PHP keeps the existing builder. (#120)
Internal
- CI now runs the package-builder test suite against
sebastian/diff9 on PHP 8.4, so both output builder paths are covered. (#120) - Applied Rector
readonlypromotions flagged by rector 2.5. (#120)
Full Changelog: 12.7.1...12.7.2
- Support
-
12.7.120 May 2026Release notes
Open source →What's Changed
Bug Fixes
- Fix uninitialized typed
$containererror on Symfony Console 8.1 (#119)
Full Changelog: 12.7.0...12.7.1
- Fix uninitialized typed
-
12.7.024 Apr 2026Release notes
Open source →What's Changed
Features
- Add parameterized
disableAutoloadMerge(sections, forTypes)API — independently control whichcomposer.jsonautoload sections (autoload,autoload-dev) get skipped from root merge, optionally filtered by packagetype. NewSymplify\MonorepoBuilder\Config\AutoloadSectionandSymplify\MonorepoBuilder\Config\PackageTypeenums power the API; mixing enum cases and plain strings in the same call is supported (escape hatch forcomposer/installersecosystem types likewordpress-plugin,drupal-module,symfony-bundle, and for user-defined custom types). Multiple types are OR-matched. Two filter channels are intentionally distinct: passforTypes: []to skip every package regardless of type; pass a non-empty list to skip ONLY packages whosecomposer.jsondeclares the matchingtypeliterally. (#117) - New query methods
MBConfig::shouldSkipAutoload(?string $packageType): boolandMBConfig::shouldSkipAutoloadDev(?string $packageType): boollet custom mergers consult the configured rules per package. The bundledAutoloadComposerKeyMergerandAutoloadDevComposerKeyMergernow consult them symmetrically. (#117)
Deprecations
- The zero-argument form
MBConfig::disableAutoloadMerge()continues to work but now emits anE_USER_DEPRECATEDnotice. It maps to skipping both sections for all packages — equivalent todisableAutoloadMerge(sections: [AutoloadSection::Autoload, AutoloadSection::AutoloadDev], forTypes: []). Update existing config files at your convenience. MBConfig::isAutoloadMergeDisabled()getter is marked@deprecated; prefershouldSkipAutoload($packageType)andshouldSkipAutoloadDev($packageType)for new code.
Full Changelog: 12.6.2...12.7.0
- Add parameterized
-
12.6.222 Apr 2026 -
12.6.122 Apr 2026 -
12.6.022 Apr 2026 -
12.5.226 Mar 2026Release notes
Open source →What's Changed
Bug Fixes
- Remove stale composer-json-manipulator autoload entry that breaks PHAR build (#109)
- Fix workers() not respecting user-specified order (#112)
Improvements
- Allow sebastian/diff ^8 (#110)
Full Changelog: 12.5.0...12.5.2
-
12.5.113 Feb 2026 -
12.5.013 Feb 2026Release notes
Open source →What's Changed
Bug Fixes
- Merge command now preserves unknown/custom composer.json sections — Sections like
scripts-aliases,abandoned,readme, and any other non-standard keys in rootcomposer.jsonare no longer silently dropped during merge (#105, #106) dataToAppendsupports arbitrary composer.json keys — No longer limited to the 24 hardcoded sections (#105)- Original section order of root
composer.jsonis preserved by default — New sections are appended at the end; custom ordering is available viacomposerSectionOrder()(#107) - Fix comparator transitivity violations in
ComposerJson::sortItemsByOrderedListOfKeys()andArraySorter::recursiveSortBySchema() - Fix
FilterOutDuplicatedRequireAndRequireDevJsonDecoratorwhich was a no-op due toarray_intersectcomparing values instead of keys - Fix self-merge bug in
MergedAndDecoratedComposerJsonFactory(was merging object with itself)
Improvements
- Allow
webmozart/assert^2 (#103)
Internal
- Consolidate require/require-dev dedup logic into
ComposerJsonMergerand decorator - Add explicit
DECORATOR_ORDERconstant for decorator execution ordering - Remove dead code:
RequireRequireDevDuplicateCleaner,src-deps/composer-json-manipulator/
Full Changelog: 12.4.5...12.5.0
- Merge command now preserves unknown/custom composer.json sections — Sections like
-
12.4.512 Jan 2026 -
12.4.412 Dec 2025Nothing published for this version
-
12.4.311 Dec 2025Nothing published for this version
-
12.4.211 Dec 2025Nothing published for this version
-
12.4.111 Dec 2025Nothing published for this version
-
12.4.0no dateNothing published for this version
-
12.3.220 Nov 2025Nothing published for this version
-
12.3.114 Nov 2025Nothing published for this version
-
12.3.013 Nov 2025Nothing published for this version
-
12.2.022 Aug 2025Nothing published for this version
-
12.1.214 Aug 2025Nothing published for this version
-
12.1.114 Aug 2025Nothing published for this version
-
12.1.013 Aug 2025Nothing published for this version
-
12.0.207 Aug 2025Nothing published for this version
-
12.0.106 Aug 2025Nothing published for this version
-
12.0.006 Aug 2025Nothing published for this version
-
11.2.2311 Jul 2025Nothing published for this version
-
11.2.2223 Aug 2024Nothing published for this version
-
11.2.2121 Aug 2024Nothing published for this version
-
11.2.2017 Nov 2023Nothing published for this version
-
11.2.1920 Oct 2023Nothing published for this version
-
11.2.1819 Oct 2023Nothing published for this version
-
11.2.1718 Aug 2023Nothing published for this version
-
11.2.1618 Aug 2023Nothing published for this version
-
11.2.1518 Aug 2023Nothing published for this version
-
11.2.1416 Aug 2023Nothing published for this version
-
11.2.1315 Aug 2023Nothing published for this version
-
11.2.1215 Aug 2023Nothing published for this version
-
11.2.1115 Aug 2023Nothing published for this version
-
11.2.1015 Aug 2023Nothing published for this version
-
11.2.915 Aug 2023Nothing published for this version
-
11.2.815 Aug 2023Nothing published for this version
-
11.2.715 Aug 2023Nothing published for this version
-
11.2.615 Aug 2023Nothing published for this version
-
11.2.515 Aug 2023Nothing published for this version
-
11.2.407 Aug 2023Nothing published for this version
-
11.2.327 Feb 2023Nothing published for this version
-
11.2.228 Jan 2023Nothing published for this version
-
11.2.128 Jan 2023Nothing published for this version
-
11.2.028 Jan 2023Nothing published for this version
-
11.1.3228 Jan 2023Nothing published for this version
-
11.1.3128 Jan 2023Nothing published for this version
-
11.1.3010 Jan 2023Nothing published for this version
-
11.1.2909 Jan 2023Nothing published for this version
-
11.1.2806 Jan 2023Nothing published for this version
-
11.1.2706 Jan 2023Nothing published for this version
-
11.1.2605 Jan 2023Nothing published for this version
-
11.1.2505 Jan 2023Nothing published for this version
-
11.1.2423 Dec 2022Nothing published for this version
-
11.1.2323 Dec 2022Nothing published for this version
-
11.1.2223 Dec 2022Nothing published for this version