Skip to content

Releases: vaimo/composer-patches

Platform constraints & no-crash plugin upgrades

09 Apr 21:36
Compare
Choose a tag to compare

4.16.0 (2019-04-09)

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]

Patch queue resolver rewrite; better patch:list (that uses the same code as applier)

03 Apr 11:44
Compare
Choose a tag to compare

(2019-04-03)

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 undo'd 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

Windows compatibility

01 Apr 05:56
Compare
Choose a tag to compare

4.12.0 (2019-03-31)

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

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

Links: src diff

4.11.0

21 Mar 02:27
Compare
Choose a tag to compare

3.42.2

Bundle patches version constraints fixes

18 Sep 12:31
Compare
Choose a tag to compare

This release addresses some issues that could be encountered when using embedded version constraints for bundled patches. Additionally the patch listing command was improved to allow listing of absolutely every patch that's declared (with additional status indicator).

All changes in this release forward-ported from 3.37.0

Feature

  • new flag introduced for patch:list to allow including patches that have been ruled out due to mismatch with certain constraint: --excluded

Fix

  • embedded targeting info for bundled patches that declares constrains not processed correctly (@Depends,@Version)

Bundled patches improvements/fixes

18 Sep 11:07
Compare
Choose a tag to compare

Addresses some issues that one would encounter when trying to declare a bundled patch with embedded target info declaration. Usage simplified.

All changes in release forward-ported from 3.36.0

Feature

  • allow '@type bundle' to be used for bundle package instead of using somewhat cryptic '@Package *'
  • allow multiple types to be combined in embedded info (@type dev+bundle)

Fix

  • multi-line description not presented properly when using composer patch:list command
  • bundled patches not included as expected when using embedded patch target info

Bundle patches version constraints fixes

18 Sep 12:31
Compare
Choose a tag to compare

This release addresses some issues that could be encountered when using embedded version constraints for bundled patches. Additionally the patch listing command was improved to allow listing of absolutely every patch that's declared (with additional status indicator).

Feature

  • new flag introduced for patch:list to allow including patches that have been ruled out due to mismatch with certain constraint: --excluded

Fix

  • embedded targeting info for bundled patches that declares constrains not processed correctly (@Depends,@Version)

Bundled patches improvements/fixes

18 Sep 11:07
Compare
Choose a tag to compare

Addresses some issues that one would encounter when trying to declare a bundled patch with embedded target info declaration. Usage simplified.

Feature

  • allow '@type bundle' to be used for bundle package instead of using somewhat cryptic '@Package *'
  • allow multiple types to be combined in embedded info (@type dev+bundle)

Fix

  • multi-line description not presented properly when using composer patch:list command
  • bundled patches not included as expected when using embedded patch target info

Backwards incompatibility fixes

14 Sep 10:00
Compare
Choose a tag to compare

Provides a solution/support for the contents of older composer.lock files where the plugin used to inject a "patches_applied: true" value which it no longer does (nor does the plugin now allow the value of given extra data key to be anything other than an array).