PackageTrack
Sign in Get early access

vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

6.0.2 4.8M downloads/mo #2406 most downloaded on Packagist vaimo/composer-patches

What this package is like to depend on

Last release 2 months ago

12 Jun 2026

Release timing varies

gaps range from 2 weeks to 12 months

Nearly every release is documented

notes for 194 of 204 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

204 releases · first in 2017

5 releases in the last 12 months

see the full history below

Release timeline

204 releases · Jun 2017 to Jun 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 204
  1. 6.0.2 12 Jun 2026
    Release notes
    • Use stdout only when reusing patch command output (#155), thank you @coding46
    Open source →
  2. 6.0.1 02 Mar 2026
    Release notes

    The changes here are only done for version 6 of the patcher, since as mentioned in #147 the changes will not be compatible with version 5.

    Maintenance

    • Updated dev dependency to vaimo/composer-changelogs to allow installing version with equal PHP version support as in version 6 of the patcher
    • Removed workarounds in Github workflows to get around vaimo/composer-changelogs incompatibilities since the package now works as is
    Open source →
    Release notes

    Maintenance

    • Updated dev dependency to vaimo/composer-changelogs to allow installing version with equal PHP version support as in version 6 of the patcher: https://github.com/vaimo/composer-patches/pull/147
    • Removed workarounds in Github workflows to get around vaimo/composer-changelogs incompatibilities since the package now works as is

    Links: src diff

    Open source →
  3. 6.0.0 03 Feb 2026
    Release notes
    • Added support for symfony/console 8: #146
    • Adding the support introduced breaking changes, so dropped PHP 7.0 and symfony/console 3 support and bumped up the major version of the patcher
    • Composer 1 support also removed from composer.json as we're not currently able to guarantee support for it, recommended to use the older versions of the patcher (for example 5.5.4) if this is still needed
    • Version 5 is now maintained in release/5 branch
    • Github workflows have been updated to run the testsuite against PHP 8.5
    Open source →
    Release notes

    Breaking

    • Dropped possibility to install the package with Composer 1 as we haven't been able to guarantee the support since 5.5.4
    • Dropped possibility to install the package with PHP 7.0 in favor of symfony/console 8
    • Updated Composer command classes with symfony/console 8 support, which include void return types that are only supported in PHP >=7.1

    Feature

    • Added support for symfony/console 8

    Maintenance

    • Updated README files related to Composer 1 and release branches

    Links: src diff

    Open source →
  4. 5.6.1 12 Jun 2026
    Release notes
    • Use stdout only when reusing patch command output (#155) (#156), thank you @coding46
    Open source →
  5. 5.6.0 29 Jan 2026
    Release notes
    • Added support for symfony/console 7: #139
    • Dropped Composer 1 from Github workflows of the repository
    • Updated testsuite and dependency checks ran in workflows to take symfony/console 7 into account
    Open source →
    Release notes

    Feature

    • Added support for symfony/console 7: https://github.com/vaimo/composer-patches/pull/139

    Maintenance

    • Dropped Composer 1 from Github workflows of the repository
    • Updated testsuite and dependency checks ran in workflows to take symfony/console 7 into account

    Links: src diff

    Open source →
  6. 5.5.4 01 Aug 2025
    Release notes
    Open source →
    Release notes

    Fix

    • Updated vaimo/topological-sort dependency to allow installing latest version with PHP compatibility improvements: https://github.com/vaimo/composer-patches/pull/135

    Links: src diff

    Open source →
  7. 5.5.3 30 Jul 2025
    Release notes
    • Fixed issue reported in #122 where Composer version comparisons did not work in preview builds of Composer: #134
    Open source →
    Release notes

    Fix

    • Fix issue where Composer version comparisons did not work in preview builds of Composer: https://github.com/vaimo/composer-patches/pull/134

    Links: src diff

    Open source →
  8. 5.5.2 18 Jul 2025
    Release notes
    • Fixing the issue reported in #118, #113 and #100 related to incorrect handling of promises during patching, which caused installation of package to be attempted before the package was even downloaded: #124, #119
    Open source →
    Release notes

    Fix

    • Fix incorrect handling of promises during package reset: https://github.com/vaimo/composer-patches/pull/124, https://github.com/vaimo/composer-patches/pull/119

    Links: src diff

    Open source →
  9. 5.5.1 14 Jul 2025
    Release notes

    Further adjusting the workaround created for loophp/phposinfo package backwards compatibility (#133), the compatibility.php loaded through Composer autoload is no good in this context since the workaround is needed also before autoloader files are created.

    Note: due to the nature of the change, updating the package to this version and above will require using no-plugins flag: https://github.com/vaimo/composer-patches?tab=readme-ov-file#upgrades

    Open source →
    Release notes

    Fix

    • Further adjusting the workaround created for loophp/phposinfo package backwards compatibility: https://github.com/vaimo/composer-patches/pull/133

    Links: src diff

    Open source →
  10. 5.5.0 14 Jul 2025
    Release notes
    • Added support for negated dependencies: #129, #131
    Open source →
    Release notes

    Feature

    • Added support for negated dependencies: https://github.com/vaimo/composer-patches/pull/129

    Maintenance

    • Added tests for verify the support for negated dependencies: https://github.com/vaimo/composer-patches/pull/131

    Links: src diff

    Open source →
  11. 5.4.0 04 Jun 2025
    Release notes

    Maintenance

    • Added Github workflows config file, that runs ci:build command from the package against PHP versions 7.0 - 8.4. Different Composer versions also included.
    • Dropped sebastian/phpcpd from dev dependencies since this is abandoned and will not work with PHP 8.4, cleaned out all references from testing scripts.
    • Added explicit version requirement for symfony/console, since the code in the package will not work with versions 7 and above of symfony/console.
    • Updated bin/analyse-dependencies script to always run as if it was given 'current' in the parameters, since looping through different PHP versions and installing packages will not work anymore with the big differences between PHP versions.
    • Updated whitelists related to bin/analyse-dependencies script, since the bigger range of PHP versions means different versions of the dependencies.
    • Updated bin/test command to ignore Composer 1 deprecation warnings since these are not relevant during the tests.
    • Updated bin/test command to expect Composer 2 related outputs in .output files, while Composer 1 related outputs are expected to be in .output-v1.
    • Updated some test scenarios related to bin/test to ignore unhandled promise rejection errors for now, which come up in Composer >2.7.
    • Updated documentation a little bit, mainly cleaned out invalid whitespaces (which might show up weirdly depending on IDE) and updated development guidelines with few more details

    Fix

    • Compatibility with PHP 7.0 restored, while still including support for PHP 8.4. Instead of explicitly marking the nullable parameters, dropped the explicit types from the parameters altogether.
    • Adjusted the loophp/phposinfo compatibility approach taken in 5.3.1 to autoloader based one, since the previous approach didn't work with the testsuite.
    • Fixed issue with bin/analyse-dependencies command not understanding empty autoloader paths of packages.
    • Fixed issue with bin/test command related to Composer version detection, which caused execution of queue_update and queue_install commands to not work correctly.
    • Fixed issue with Composer file manipulation during bin/test command, where only certain packages were meant to be modified with underscore prefix, but trailing separator caused the prefix to apply on all packages, which caused some side effects.
    • Fixed some loose issues found by bin/analyse command, mainly unnecessary else usages and excessively long line lengths
    • Fixed PHP >8.1 incompatibility with patch:validate command, where array_map and reset function usage together caused the command to break
    • Included alternative fix suggestion for https://github.com/vaimo/composer-patches/pull/110 and updated test scenarios to verify the fix

    Links: src diff

    Open source →
  12. 5.3.1 03 Jun 2025
    Release notes

    Fix

    • Fixes issue where package can be installed with loophp/phposinfo 1.6, despite the package code having hard references to 1.7. The package should now work with both 1.6 and 1.7. https://github.com/vaimo/composer-patches/pull/127
    • Fixes accidentally missed backwards incompatibility added in 5.3.0, which would've locked the package only to PHP 7.4 and above. https://github.com/vaimo/composer-patches/pull/127
    • Updated minimum PHP version requirement to 7.1 from 7.0, since version 5.2.1 added PHP 8.4 compatibility changes that are not compatible with PHP 7.0. https://github.com/vaimo/composer-patches/pull/127

    Links: src diff

    Open source →
  13. 5.3.0 02 Jun 2025
    Release notes

    Feature

    • Allow wildcard in patches search folder path: https://github.com/vaimo/composer-patches/pull/86

    Links: src diff

    Open source →
  14. 5.2.2 02 Jun 2025
    Release notes

    Fix

    • Fixes issue where platform and platform-dev data types are modified for no reason in latest versions of Composer: https://github.com/vaimo/composer-patches/pull/126

    Feature

    • Improved performance by preventing unnecessary lock file writing: https://github.com/vaimo/composer-patches/pull/123

    Links: src diff

    Open source →
  15. 5.2.1 17 Apr 2025
    Release notes

    Fix

    • Fixes PHP 8.4 compatibility errors related to Implicitly marking parameter xxxxx as nullable is deprecated, the explicit nullable type must be used instead: https://github.com/vaimo/composer-patches/pull/121

    Links: src diff

    Open source →
  16. 5.2.0 18 Apr 2024
    Release notes

    Fix

    • Add JSON output format flag and correct return value in ListCommand: https://github.com/vaimo/composer-patches/pull/108
    • Resolve RuntimeException "Could not delete file": https://github.com/vaimo/composer-patches/pull/112

    Links: src diff

    Open source →
  17. 5.1.2 22 Nov 2023
    Release notes

    Fix

    • Resolve unzip error on applying new patches when composer cache is cleared: https://github.com/vaimo/composer-patches/pull/107

    Links: src diff

    Open source →
  18. 5.1.1 09 Mar 2023
    Release notes

    Fix

    • Fix deprecation message for PHP 8.2: https://github.com/vaimo/composer-patches/pull/105

    Links: src diff

    Open source →
  19. 5.1.0 08 Jul 2022
    Release notes

    Fix

    • Use the proper way to retrieve the Composer version: https://github.com/vaimo/composer-patches/pull/92
    • Fix PHP 8.1 deprecation notices

    Links: src diff

    Open source →
  20. 5.0.0 13 May 2022
    Release notes

    Fix

    • Drop php5 support, Fix PHP 8.1 deprecation notices: https://github.com/vaimo/composer-patches/pull/96
    • Add conflict with cweagans/composer-patches: https://github.com/vaimo/composer-patches/pull/94
    • Uninstall package during ReInstallOperation for Composer v2 https://github.com/vaimo/composer-patches/pull/99

    Links: src diff

    Open source →
  21. 4.22.4 25 Feb 2021
    Release notes

    changes in this release forward-ported from 3.53.4

    Fix

    • bundled patches fail to apply when using patch-mapping configuration due to refactored code in 3.53.2 having messed up argument order used for a sub-function call in BasePathComponent

    Links: src diff

    Open source →
  22. 4.22.3 24 Feb 2021
    Release notes

    changes in this release forward-ported from 3.53.3

    Fix

    • patch applier crash when branch alias defined for root package (scenario: root-branch-alias) [pull/73]

    Maintenance

    • make patch commands available when the plugin itself is a root package (just for the sake of allowing people to conduct quick experiments when developing)

    Links: src diff

    Open source →
  23. 4.22.2 24 Feb 2021
    Release notes

    changes in this release forward-ported from 3.53.2

    Fix

    • patches applied before packages properly re-installed with Composer V2 (missed the fact that installations, like downloads are now done in asynchronous manner) [issues/70]

    Links: src diff

    Open source →
  24. 4.22.1 20 Feb 2021
    Release notes

    changes in this release forward-ported from 3.53.1

    Fix

    • minor issue addressed with V2-style call being in code without version-check (said call is currently backwards-compatible with V1, but you never know ...)

    Links: src diff

    Open source →
  25. 4.22.0 20 Feb 2021
    Release notes

    changes in this release forward-ported from 3.53.0

    Feature

    • add support for Composer 2 [issues/59]
    • allow patcher operations to be optionally disabled by re-declarng them with label replaced with: false

    Maintenance

    • introduce ready-to-use development environment setup for quicker developer onboarding [issues/65]
    • improved linter rules to be a it less forgiving on excessive use of whitespace
    • fix an issue where GIT applier was polled within the tests (due to there being repo-within-repo situation which made the applier to be excluded)

    Links: src diff

    Open source →
  26. 4.21.1 31 Jan 2021
    Release notes

    changes in this release forward-ported from 3.52.1

    Fix

    • remove patch availability validation crash under certain package setups

    Maintenance

    • improve test coverage to include scenarios where the patches are owned by a sub-package rather than the root

    Links: src diff

    Open source →
  27. 4.21.0 31 Jan 2021
    Release notes

    changes in this release forward-ported from 3.52.0

    Feature

    • allow global usage of the plugin when explicitly enabled via environment variable: COMPOSER_PATCHER_ALLOW_GLOBAL_USAGE (pull/45)

    Fix

    • added /F switch to where to add double quotes to windows commands (pull/44)
    • added no-scripts option to avoid executing post-install-cmd (pull/48)
    • strpos() empty needle errors can occur with certain configurations (pull/53)
    • patches-searches path containing .patch fails (pull/58) (with extra modifications)

    Maintenance

    • CI config fixed to use Composer 1.X
    • make it possible to run tests while developing the module on MacOS
    • make sure output assertions on tests don't fail on small terminal windows when composer output gets wrapped
    • update compatibility checker not to fail on false-negatives
    • fix normalizer script not executing as expected after code:deps run

    Links: src diff

    Open source →
  28. 4.20.2 24 Sep 2019
    Release notes

    changes in this release forward-ported from 3.51.2

    Fix

    • some errors not properly reported in the 'most likely' errors brief report (for patches with corrupt content)
    • errors not listed when file reference not available within patch (affects brief reporting, everything worked as expected with -vvv)

    Links: src diff

    Open source →
  29. 4.20.1 24 Sep 2019
    Release notes

    changes in this release forward-ported from 3.51.1

    Fix

    • allow the plugin to be installed as dependency to globally installed package (as part of dependency of some global package); previously caused every composer call to crash with class declaration conflict
    • patch error reporting includes patch creation date where just path should have been shown
    • patch errors caused by output analysis did not include the raw output line that caused the failure detector to trigger
    • outdated documentation reference in code when specifying unsecure URL endpoint for a patch to be downloaded from

    Maintenance

    • new documentation page added to shed some light to different situations one might find themselves in when a patch applying fails

    Links: src diff

    Open source →
  30. 4.20.0 16 Sep 2019
    Release notes

    changes in this release forward-ported from 3.51.0

    Feature

    • allow defining OS-specific applier operation without overwriting the default operation value

    Fix

    • proper support for FreeBSD 'patch' command that does not have the call arguments of --no-backup-if-mismatch and --verbose [issues/38]

    Maintenance

    • documentation split to make it easier to read and work with updating it [issues/38]

    Links: src diff

    Open source →
  31. 4.19.3 05 Sep 2019
    Release notes

    changes in this release forward-ported from 3.50.3

    Fix

    • running 'composer update --lock' not cleaning up composer.lock afterwards when patches already applied. No such issue when no patches applied at all (running 'update' with --lock does not apply the patches); This situation resulted in patches being perceived as already applied when a package with such a lock was installed

    Maintenance

    • the state of the test installation not properly reset when composer.lock got corrupted (example: 'patches_applied' key ended up there)
    • test run output improvements; less output from composer calls that are not directly relevant to scenarios

    Links: src diff

    Open source →
  32. 4.19.2 02 Sep 2019
    Release notes

    changes in this release forward-ported from 3.50.2

    Fix

    • loosened dependency on drupol/phposinfo to make sure that the module is installable on all PHP version (latest release of the module is only covering PHP <7.0 (the constraint used to explicitly state 1.6.1.2, changed to 1.6 which covers all needed PHP versions) [issues/37]
    • validation error for remote patches displayed TMP path in output instead of the URL
    • the 'probable causes' report did not include file path reference

    Maintenance

    • removed lock files from tests to make sure that initial setup always ends up installing the latest package dependencies
    • make sure that under no conditions, the Packagist package will not end up being used in tests (using aliased package)
    • run tests (including the test that the module can be installed) on multiple PHP versions: 5.3 5.4 5.5 5.6 7.0 7.1 7.2 7.3
    • run Compatibility rule-set on all installations

    Links: src diff

    Open source →
  33. 4.19.1 28 Aug 2019
    Release notes

    changes in this release forward-ported from 3.50.1

    Fix

    • the command patch:list not usable when some patch configuration included remote patches that would have resulted in 404 errors on apply (now listing said patches with proper errors)

    Maintenance

    • test coverage increased around dealing with remote patches

    Links: src diff

    Open source →
  34. 4.19.0 28 Aug 2019
    Release notes

    changes in this release forward-ported from 3.50.0

    Feature

    • allow defining sha1 checksum for remote patches through 'sha1' key within JSON definition

    Fix

    • the configuration value of 'secure-http' not having any effect (value usage ignored); Now properly handled by remote filesystem implementation
    • allow retries on failed downloads (switch from using remote filesystem to file downloader which allows the usage of caching and retry logic in place for Composer package downloads)

    Links: src diff

    Open source →
  35. 4.18.3 26 Aug 2019
    Release notes

    changes in this release forward-ported from 3.49.3

    Fix

    • needless whitespace in output when using patches-search (extra line for patch label added for no reason)

    Maintenance

    • introduces output expectation for each test scenario

    Links: src diff

    Open source →
  36. 4.18.2 26 Aug 2019
    Release notes

    changes in this release forward-ported from 3.49.2

    Maintenance

    • package configuration and build flow updates

    Links: src diff

    Open source →
  37. 4.18.1 26 Aug 2019
    Release notes

    changes in this release forward-ported from 3.49.1

    Maintenance

    • code quality improvements

    Links: src diff

    Open source →
  38. 4.18.0 26 Aug 2019
    Release notes

    changes in this release forward-ported from 3.49.0

    Feature

    • allow very precise configuration for specific OS based on OS names in drupol\phposinfo\Enum\OsName

    Fix

    • switched over to using drupol/phposinfo instead of tivie/php-os-detector which was only detecting the OS that php binary was built for and not the actual OS the php binary was being used

    Maintenance

    • improved dependency compatibility scanner to allow whitelisted issue reports (in case the dependency had mechanics to deal with the reported issue)

    Links: src diff

    Open source →
  39. 4.17.10 25 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.10

    Fix

    • more clear error reporting when encountering patch reversals (failures from log output analysis)

    Maintenance

    • increased test coverage

    Links: src diff

    Open source →
  40. 4.17.9 22 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.9

    Fix

    • certain behaviour flags incorrectly forced to false (explicit flag) when using redo/undo with no option to override said falsey value

    Maintenance

    • improved test coverage where 'redo' and 'undo' also get covered
    • allow multiple commands to be called per test

    Links: src diff

    Open source →
  41. 4.17.8 22 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.8

    Fix

    • patches validation not failing when there are patch files present without patch target definition in JSON files and using sym-linked patch folder (not an issue when using patches-search)

    Links: src diff

    Open source →
  42. 4.17.7 22 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.7

    Fix

    • using printf variable syntax in patch descriptions crashed the patch applier

    Links: src diff

    Open source →
  43. 4.17.6 21 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.6

    Fix

    • the meta-data @skip tag not perceived properly (this actually affected all tags that had no value)

    Maintenance

    • test coverage improved; introduced the possibility to write test scenarios for multiple installations (one using patches-search, other using patches-file, etc)

    Links: src diff

    Open source →
  44. 4.17.5 21 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.5

    Fix

    • basePatch templates not being applied after code changes from last release

    Links: src diff

    Open source →
  45. 4.17.4 19 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.4

    Fix

    • patch file meta-tags conflict in situations where there are values for all of: depends, package, version; the following setup now results in package+version also being listed as dependency

    Links: src diff

    Open source →
  46. 4.17.3 19 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.3

    Fix

    • meta-tags overwriting each-other rather than stacking (when, say @depends is used multiple times)

    Links: src diff

    Open source →
  47. 4.17.2 12 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.2

    Maintenance

    • added notice to the 'most likely error' output (on patch failure) to indicate that the list presented is not the full list of details

    Links: src diff

    Open source →
  48. 4.17.1 11 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.1

    Fix

    • broken compatibility with PHP 5.3 (wrong array syntax used)

    Links: src diff

    Open source →
  49. 4.17.0 11 Aug 2019
    Release notes

    changes in this release forward-ported from 3.48.0

    Feature

    • highlight most probable error that caused patch to fail in the non-verbose error message (full logs available when running with -vvv); this change was introduced to make it easier for people to identify issues within patches as the verbose output is extremely noisy [issues/34]

    Fix

    • operation step always gets reported as 'UNKNOWN' when running the apply commands with heightened verbosity [issues/34]
    • hard-coded path separators made patches to fail on certain operation systems (Windows) when applying remote patch [github/33]

    Maintenance

    • exception and call stack directly exposed when executing code with 'halt of first failure'; changed to fail with proper error message (full stack still available with -vvv)

    Links: src diff

    Open source →
  50. 4.16.2 26 Jul 2019
    Release notes

    changes in this release forward-ported from 3.47.2

    Fix

    • support for older (<1.1) Composer releases faultily implemented where the availability with CommandsProvider was incorrectly checked for

    Links: src diff

    Open source →
  51. 4.16.1 19 Jun 2019
    Release notes

    all features and fixes in this release are forward-ported from 3.47.1

    Fix

    • wrong path used for pre-loading classes while running composer commands when the plugin package used as ROOT
    • removed all syntax/code that was not compatible with 5.3
    • removed/replaced all dependencies that were not compatible with 5.3
    • having a patch for a back-ported fix for a package where when the package gets updated, the update could cause reverse-apply of the patch, thus reintroducing issue that was fixed in newer release (only happens with patches that should be declared with upper-capped version constraints but are not for some reason). This will cause patch failure from now on
    • don't provide patch commands when plugin on older (<1.1) Composer versions [github/31]
    • always load patches in alphabetical order from file-system when using patches-search (unless @after, @before directives used within the patch file; introduced in FileSystemUtils, using natural sorting) [github/29]
    • fail the whole patching process with fatal exception when none of the patch applier commands (defined in the plugin config) are available [github/30]
    • log output typos corrected

    Maintenance

    • improved early auto-loader setup within proxy plugin
    • code normalized according to coding standards
    • simple integration tests added that test the patch applying in sandbox Composer project

    Links: src diff

    Open source →
  52. 4.16.0 09 Apr 2019
    Release notes

    all features and fixes in this release are forward-ported from 3.47.0

    Feature

    • allow platform requirement dependencies on patches a'la php:>=7.2 (previously only package dependencies could be declared); usable with "depends" config or @depends tag

    Fix

    • malformed package reset queue in some edge cases when using bundled patches which targets packages that have no direct patches applying on them
    • load all the plugin classes on startup (to avoid crashes on patch apply); the old plugin logic will be used til the end of the particular Composer call that upgraded the plugin [github/28]

    Links: src diff

    Open source →
  53. 4.15.0 02 Apr 2019
    Release notes

    This release comes basically with re-written logic to the core of the patch apply queue generation due to issues with the old logic. The listing command now also uses same code which removes some of the confusion when using apply and seeing something different than what list reports

    All features and fixes in this release are forward-ported from 3.46.0

    Feature

    • added --with-affected argument option for path:list command to list patches that indirectly are affected by the new/changed patches (would be re-applied on actually patch:apply due to package resets caused by new/changed statuses)
    • patch owner embedded in applied patch registry to provide proper REMOVED information when patch gets removed

    Fix

    • bundled patches partially reset when removing some dev-only (with --no-dev option) patches that targeted same packages as bundles did; Issue caused by only partially recursive lookup on an impact of re-installing certain composer package
    • the alias argument for --explicit, --show-reapplies did not trigger explicit output
    • make sure that repeated patch:undo calls don't reinstall previously reverted patches
    • make sure that patch:list uses same functionality that the main patch applier uses, thus guaranteeing that path:list will list the things as they'd be processed in actual patch apply run

    Links: src diff

    Open source →
  54. 4.14.0 02 Apr 2019
    Release notes

    all features and fixes in this release are forward-ported from 3.45.0

    Feature

    • allow patch:validate to use only patches that the root package owns: --local

    Fix

    • patch contents not properly analysed when working with Bundled patches or using patches-search or patcher/search when trying to apply patches on Windows; Reason: using OS-specific EOL constant to split file content to lines [github/26]

    Links: src diff

    Open source →
  55. 4.13.0 01 Apr 2019
    Release notes

    all features and fixes in this release are forward-ported from 3.44.0

    Feature

    • Allow declaration of patches that only apply when owner package is used as ROOT package (README/Patches: local patch)

    Links: src diff

    Open source →
  56. 4.12.0 31 Mar 2019
    Release notes

    all features and fixes in this release are forward-ported from 3.43.0

    Feature

    • allow patch file paths, etc to be defined under extra/patcher key to make sure that they don't hog up too much main level keys of 'extra' config for given package (old keys are also still supported)
    • allow some patches to be ignored when running patch:validate by providing list of path ignores in package's configuration: extra/patcher/ignore (takes array of ignored paths)
    • allow patcher operations to be split to have separate sub-operation per OS type [github/26]

    Fix

    • some path processing functions did not use proper directory separator constant
    • patches not applied properly on Windows due to using 'which' instead of 'where' when resolving the patch applier absolute path [gitdhub/26]

    Links: src diff

    Open source →
  57. 4.11.0 21 Mar 2019
    Release notes

    all features and fixes in this release are forward-ported from 3.42.0, 3.42.1 & 3.42.2

    Feature

    • added more informative patches configuration JSON validation (that gives exact details on what's wrong with the JSON file)
    • added alias for --excluded argument: --with-excludes for more intuitive usage and to move towards more self-documenting arguments
    • added alias for --explicit argument: --show-reapplies for more intuitive usage and to move towards more self-documenting arguments
    • added reason to patch:validation errors (either 'NO FILE' or 'NO CONFIG')

    Fix

    • incorrect TMP path on Windows [github/22]
    • crash when running patch:list in situation where none of bundled patches dependencies is directly available (expectation: should be able to list all patches even when none of the targets are installed)
    • the patch:validate not catching situations where there's a patch JSON declaration that has no corresponding file at the place where the declaration targets
    • better error message when wanting to download patches from unsecure URLs by referring to documentation of the plugin rather than to documentation of Composer (the module has it's own 'secure-http' config option that only affects patches)
    • patch validation not properly issues that one can have with remote patches (report UNSECURE and ERROR 404 patches)
    • rollback on newer array declaration usage (broke compatibility with 5.3)

    Maintenance

    • made patch commands available within the plugin itself (not currently used for anything, potentially used in integration tests in the near future)

    Links: src diff

    Open source →
  58. 4.10.0 20 Feb 2019
    Release notes

    Feature

    • forward-port (3.41.0): allow patcher config overrides per package instead of allowing it only per patch definition (reserved key: '_config'). More on this under the topic of 'Patches: shared config' in the README

    Links: src diff

    Open source →
  59. 4.9.0 12 Feb 2019
    Release notes

    Feature

    • forward-port (3.40.0): allow patch to target the autoloader root (instead of targeting package root) by configuring 'cwd' key to 'autoload'

    Links: src diff

    Open source →
  60. 4.8.2 12 Feb 2019
    Release notes

    Maintenance

    • follow-up to incorrectly released version (4.8.1); no extra changes done

    Links: src diff

    Open source →

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