PackageTrack
Sign in Get early access

coenjacobs/mozart

Composes all dependencies as a package inside a WordPress plugin

1.2.3 4.2M downloads/mo #2226 most downloaded on Packagist coenjacobs/mozart

What this package is like to depend on

Last release 3 months ago

01 May 2026

Ships unpredictably

gaps range from 8 days to 4.9 years

Some releases are documented

notes for 10 of 33 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

41 releases · first in 2017

25 releases in the last 12 months

see the full history below

Release timeline

39 releases · Mar 2017 to May 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 41
  1. 1.2.3 01 May 2026
    Release notes

    What's Changed

    Full Changelog: 1.2.2...1.2.3

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.2.3

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.2.3

    Available Tags

    • 1.2.3 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  2. 1.2.2 28 Mar 2026
    Release notes

    What's Changed

    Full Changelog: 1.2.1...1.2.2

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.2.2

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.2.2

    Available Tags

    • 1.2.2 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  3. 1.2.1 19 Mar 2026
    Release notes

    What's Changed

    • BACKPORT: Fix symlinks in vendor packages causing UnableToListContents failure by @coenjacobs in #373

    Full Changelog: 1.2.0...1.2.1

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.2.1

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.2.1

    Available Tags

    • 1.2.1 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  4. 1.2.0 12 Mar 2026
    Release notes

    Mozart 1.2.0 is a major feature release. 🎉 The headline: Mozart now works with zero configuration — just run mozart compose and it handles the rest. This release also adds global-scope constant and function prefixing and automatic autoloader generation.

    New features

    • Zero configuration — Running mozart compose is now the only opt-in required. All six settings have sensible defaults, inferred from your project's composer.json. Existing extra.mozart blocks continue to work unchanged. A new mozart config command lets you inspect the resolved configuration and where each value came from. #316
    • Autoloader generation — Mozart now generates a Composer-compatible autoloader file covering PSR-4, classmap, and files entries for all processed dependencies. This is enabled by default (generate_autoloader: true) and replaces the need to manually configure your project's composer.json autoload section. See usage docs. #315
    • Global-scope constant prefixing — Constants declared with const or define() at global scope are now prefixed with constant_prefix (defaults to an uppercased version of classmap_prefix). References via constant(), defined(), and bare constant fetches are updated throughout the codebase. #308
    • Global-scope function prefixing — Functions declared at global scope are now prefixed with functions_prefix (defaults to a lowercased version of classmap_prefix). References via function_exists() and direct function calls are updated accordingly. #308
    • PHP built-in symbol protection — Mozart ships a database of PHP built-in symbols (PHP 7.4–8.5) and skips them during renaming. Polyfill packages like symfony/polyfill-php80 are no longer broken by having their declarations prefixed. #306

    Improvements

    • Namespaced define() calls routed correctlydefine() inside a namespace block is now handled by the namespace replacer instead of being incorrectly prefixed with constant_prefix. #353
    • Files autoloader basename collision — Global-scope files with the same basename but in different directories are no longer flattened to the same target path. #351
    • NameVisitor routes by symbol type — Class, constant, and function references are now matched against their respective maps, preventing cross-type collisions. #363
    • Case-insensitive symbol lookups — Class and function name matching is now case-insensitive (as PHP itself is), while constant matching remains case-sensitive. #314
    • Parent replacer propagation for files autoloaders — Namespaced files autoloader entries in parent packages now receive constant and function renames from child packages. #365, #367
    • Generated autoloader hardening — Fixed file identifier collisions, Windows path separators in $baseDir, and absolute classmap paths. #362
    • Boolean config values detected correctlydelete_vendor_directories: false and generate_autoloader: false are now properly distinguished from "not set" when reporting config sources. #323
    • Parent replacer early return — Fixed replaceParentPackage() exiting after the first autoloader combination instead of processing all of them. #288
    • Enum declaration support — Enums are now handled in both the declaration visitor and classmap mode. #290, #313
    • Diamond dependency reprocessing — Added a visited-set to replacePackages() to prevent processing the same package twice. #292
    • Typed exceptions — All bare exceptions replaced with MozartException subtypes; error output uses writeln() instead of write(). #294
    • FilesHandler exception wrapping — All Flysystem exceptions are now wrapped in FileOperationException. #296
    • Windows directory separator — Fixed PSR-4 path flattening breaking on Windows backslashes. #310

    Forward ported bug fixes

    These bug fixes have been released earlier today in versions 1.1.4 and 1.0.10 as well:

    • PHPDoc FQCN prefixing hardened — Fully-qualified class names in PHPDoc annotations (@param, @return, @var, @throws, etc.) logic reworked and are now properly rewritten to use the prefixed namespace. #360
    • Shared vendor dependencies preserved during cleanup — Vendor directories required by non-processed installed packages are no longer deleted. #357

    Infrastructure

    • PHP minimum raised to 8.2 (from 8.1) #368
    • Upgraded to PHPUnit 11, PHPStan 2.x, Symfony 7.x, php-parser 5.x (only) #368
    • Docker images updated to Composer 2.9.5 and Xdebug 3.5.1 #368
    • GitHub Actions bumped to latest major versions #368

    Upgrade notes

    • PHP 8.2 required — Mozart 1.2.0 requires PHP 8.2 or higher. The resulting bundled files can still target any PHP version.
    • Autoloader generation is on by default — If you already manually configure autoloading in your project's composer.json for Mozart-processed dependencies, have your code include the newly created autoload.php to benefit from this new feature. Or alternatively, set generate_autoloader to false in your extra.mozart block to keep your existing setup. See the configuration docs.
    • New prefixes are applied automaticallyconstant_prefix and functions_prefix are derived from classmap_prefix by default. If your dependencies declare global-scope constants or functions, these will now be prefixed. Set either to an empty string in extra.mozart to disable.

    Documentation

    Full documentation for all features is available in docs/:

    Full Changelog: 1.1.4...1.2.0

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.2.0

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.2.0

    Available Tags

    • 1.2.0 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  5. 1.1.6 28 Mar 2026
    Release notes

    What's Changed

    Full Changelog: 1.1.5...1.1.6

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.1.6

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.1.6

    Available Tags

    • 1.1.6 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  6. 1.1.5 19 Mar 2026
    Release notes

    What's Changed

    • BACKPORT: Fix symlinks in vendor packages causing UnableToListContents failure by @coenjacobs in #374

    Full Changelog: 1.1.4...1.1.5

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.1.5

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.1.5

    Available Tags

    • 1.1.5 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  7. 1.1.4 12 Mar 2026
    Release notes

    Maintenance release, containing:

    • Preserve shared vendor dependencies during cleanup #356
    • Fix PHPDoc namespace prefixing #361

    Full Changelog: 1.1.3...1.1.4

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.1.4

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.1.4

    Available Tags

    • 1.1.4 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  8. 1.1.3 04 Mar 2026
    Release notes
    • [FORWARD PORT] Fix delete_vendor_directories setter name mismatch #321

    Full Changelog: 1.1.2...1.1.3

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.1.3

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.1.3

    Available Tags

    • 1.1.3 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  9. 1.1.2 24 Feb 2026

    Nothing published for this version

  10. 1.1.1 20 Feb 2026

    Nothing published for this version

  11. 1.1.0 12 Feb 2026

    Nothing published for this version

  12. 1.1.0-beta-2 no date pre-release

    Nothing published for this version

  13. 1.1.0-beta-1 07 Feb 2026 pre-release

    Nothing published for this version

  14. 1.0.10 12 Mar 2026
    Release notes

    Maintenance release, containing:

    • Backported: Preserve shared vendor dependencies during cleanup #356
    • Backported: Fix PHPDoc namespace prefixing #361

    Full Changelog: 1.0.9...1.0.10

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.0.10

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.0.10

    Available Tags

    • 1.0.10 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  15. 1.0.9 04 Mar 2026
    Release notes

    Maintenance release, containing:

    • Fix delete_vendor_directories setter name mismatch #320

    Full Changelog: 1.0.8...1.0.9

    Docker Images

    This release includes Docker images for multiple architectures (linux/amd64, linux/arm64, linux/arm/v7).

    Pull from Docker Hub

    docker pull coenjacobs/mozart:1.0.9

    Pull from GitHub Container Registry

    docker pull ghcr.io/coenjacobs/mozart:1.0.9

    Available Tags

    • 1.0.9 - This release

    • latest - Latest stable version (if this is the highest version)

    Links

    Open source →
  16. 1.0.8 24 Feb 2026

    Nothing published for this version

  17. 1.0.7 20 Feb 2026

    Nothing published for this version

  18. 1.0.6 11 Feb 2026

    Nothing published for this version

  19. 1.0.5 06 Feb 2026

    Nothing published for this version

  20. 1.0.4 06 Feb 2026

    Nothing published for this version

  21. 1.0.3 06 Feb 2026

    Nothing published for this version

  22. 1.0.2 25 Jan 2026

    Nothing published for this version

  23. 1.0.1 19 Jan 2026

    Nothing published for this version

  24. 1.0.0 12 Jan 2026

    Nothing published for this version

  25. 1.0.0-beta-3 no date pre-release

    Nothing published for this version

  26. 1.0.0-beta-2 09 Jan 2026 pre-release

    Nothing published for this version

  27. 1.0.0-beta-1 09 Jan 2026 pre-release

    Nothing published for this version

  28. 0.7.1 02 Feb 2021

    Nothing published for this version

  29. 0.7.0 01 Feb 2021

    Nothing published for this version

  30. 0.6.0 17 Jan 2021

    Nothing published for this version

  31. 0.6.0-beta-3 02 Jun 2020 pre-release

    Nothing published for this version

  32. 0.6.0-beta-2 23 May 2020 pre-release

    Nothing published for this version

  33. 0.6.0-beta-1 23 May 2020 pre-release

    Nothing published for this version

  34. 0.5.1 23 Dec 2019

    Nothing published for this version

  35. 0.5.0 23 Dec 2019

    Nothing published for this version

  36. 0.4.0 27 Jun 2019

    Nothing published for this version

  37. 0.3.0 06 Feb 2019

    Nothing published for this version

  38. 0.2.2 25 Jun 2018

    Nothing published for this version

  39. 0.2.1 04 Dec 2017

    Nothing published for this version

  40. 0.2.0 24 Mar 2017

    Nothing published for this version

  41. 0.1.0 06 Mar 2017

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive