Skip to content

Releases: vaimo/composer-patches

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).

Graceful composer.lock sanitization (forward-ported features)

11 Sep 08:37
Compare
Choose a tag to compare

This release introduces much more graceful manner of sanitizing composer.lock after the process of applying patches has been finished.

Graceful composer.lock sanitization

11 Sep 08:37
Compare
Choose a tag to compare

This release introduces much more graceful manner of sanitizing composer.lock after the process of applying patches has been finished.

Lock manager package resolver rewrite (forward-ported features)

10 Sep 21:36
Compare
Choose a tag to compare

Overview

Potential issues with the code that deals with rewriting the lock file. Logic changed to embrace the internal package resolver logic of Composer rather than assuming that every lock record matches directly name-to-name. Forward-ported from 3.35.1.

Fix

  1. lock management reworked to use built-in methods for locating a package to avoid issues with potential aliases, etc

Inconsistency fixes and new command for listing patches (forward-ported features)

10 Sep 19:05
Compare
Choose a tag to compare

Overview

Addresses some issues with 'undo' and 'redo' commands where certain sequences produce results that are not consistent with the semantic meaning of the commands.

All changes introduced (and forward ported over) in 3.35.0

Feature

  1. list command added (allows listing all registered patches and their state)

Fix

  1. bundled patch targets not properly reset when using patch:redo in case patches applied on packages, but installed.json reset to provide no information about applied patches
  2. patches for packages that are covered with certain bundle patch do not get re-applied when running patch:redo with filter (redo should not leave any patch uninstalled even when executed with a filter)

Lock manager package resolver rewrite

10 Sep 21:37
Compare
Choose a tag to compare

Overview

Potential issues with the code that deals with rewriting the lock file. Logic changed to embrace the internal package resolver logic of Composer rather than assuming that every lock record matches directly name-to-name. Forward-ported from 3.35.1.

Fix

  1. lock management reworked to use built-in methods for locating a package to avoid issues with potential aliases, etc

Inconsistency fixes and new command for listing patches

10 Sep 19:06
Compare
Choose a tag to compare

Overview

Addresses some issues with 'undo' and 'redo' commands where certain sequences produce results that are not consistent with the semantic meaning of the commands.

Feature

  1. list command added (allows listing all registered patches and their state)

Fix

  1. bundled patch targets not properly reset when using patch:redo in case patches applied on packages, but installed.json reset to provide no information about applied patches
  2. patches for packages that are covered with certain bundle patch do not get re-applied when running patch:redo with filter (redo should not leave any patch uninstalled even when executed with a filter)

Command behaviour improvements, additional embedded info options

02 Sep 09:17
Compare
Choose a tag to compare

Fixes module behaviour for certain project states where different commands are used in certain sequence - resulting a situation where full 'reapply' was needed to be able to continue.

Also introduced: level and category (latter is not yet used for anything) tags for embedded target info.

Feature

  1. allow patch path strip level to be defined in patch's embedded target-info declaration (level )

Fix

  1. patches queue generator sometimes generated lists that did not queue proper re-applying of patches when dealing with bundles and indirect targets so that 'patch:redo' == 'patch:undo' + 'patch:apply'
  2. make sure that the removal of 'dev' bundle (or any other type with indirect targets) patches cause proper re-patching of related targets when running with --no-dev
  3. conflicting project applied patches state when doing a --no-dev call and a filtered undo/redo after that

cwd path options per path

22 Aug 01:37
Compare
Choose a tag to compare

Introduces new feature of allowing patch to be applied to project root or to vendor root when certain special case calls for it.

Feature

  1. allow patch applied root to be configured per patch to allow patching of files that are mapped by other composer plugins to project root (see more at 'Patches: patch applier cwd options')

Fix

  1. switched away from using a class constant name that on older php versions is reserved (new)
  2. avoid reporting non-vcs package differences as reason for halting the patch applying (which requires package reset)
  3. full list of applied patches ended up in composer.lock (new: none added, not even 'true' flag)
  4. multiple dependencies on patches with embedded target info not respected

validation issues

16 Aug 12:36
Compare
Choose a tag to compare

Fixe

  1. definition list validation command returning with false failures when using #skip on patch paths

Maintenance

  1. removing #skip flag from path when encountered (previously it remained in the path)