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 2026Releases
latest 60 of 204-
6.0.212 Jun 2026Release notes
Open source → -
6.0.102 Mar 2026Release notes
Open source →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-changelogsto 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-changelogsincompatibilities since the package now works as is
Release notes
Open source →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
- Updated dev dependency to
-
6.0.003 Feb 2026Release notes
Open source →- Added support for
symfony/console8: #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
Release notes
Open source →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
- Added support for
-
5.6.112 Jun 2026Release notes
Open source → -
5.6.029 Jan 2026Release notes
Open source →- Added support for
symfony/console7: #139 - Dropped Composer 1 from Github workflows of the repository
- Updated testsuite and dependency checks ran in workflows to take
symfony/console7 into account
Release notes
Open source →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
- Added support for
-
5.5.401 Aug 2025Release notes
Open source →- Updated vaimo/topological-sort dependency to allow installing latest version with PHP compatibility improvements: #135
Release notes
Open source →Fix
- Updated vaimo/topological-sort dependency to allow installing latest version with PHP compatibility improvements: https://github.com/vaimo/composer-patches/pull/135
-
5.5.330 Jul 2025Release notes
Open source →Fix
- Fix issue where Composer version comparisons did not work in preview builds of Composer: https://github.com/vaimo/composer-patches/pull/134
-
5.5.218 Jul 2025Release notes
Open source →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
-
5.5.114 Jul 2025Release notes
Open source →Further adjusting the workaround created for
loophp/phposinfopackage 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-pluginsflag: https://github.com/vaimo/composer-patches?tab=readme-ov-file#upgradesRelease notes
Open source →Fix
- Further adjusting the workaround created for loophp/phposinfo package backwards compatibility: https://github.com/vaimo/composer-patches/pull/133
-
5.5.014 Jul 2025Release notes
Open source →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
-
5.4.004 Jun 2025Release notes
Open source →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
-
5.3.103 Jun 2025Release notes
Open source →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
-
5.3.002 Jun 2025Release notes
Open source →Feature
- Allow wildcard in patches search folder path: https://github.com/vaimo/composer-patches/pull/86
-
5.2.202 Jun 2025Release notes
Open source →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
-
5.2.117 Apr 2025Release notes
Open source →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
-
5.2.018 Apr 2024Release notes
Open source →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
-
5.1.222 Nov 2023Release notes
Open source →Fix
- Resolve unzip error on applying new patches when composer cache is cleared: https://github.com/vaimo/composer-patches/pull/107
-
5.1.109 Mar 2023Release notes
Open source →Fix
- Fix deprecation message for PHP 8.2: https://github.com/vaimo/composer-patches/pull/105
-
5.1.008 Jul 2022Release notes
Open source →Fix
- Use the proper way to retrieve the Composer version: https://github.com/vaimo/composer-patches/pull/92
- Fix PHP 8.1 deprecation notices
-
5.0.013 May 2022Release notes
Open source →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
-
4.22.425 Feb 2021Release notes
Open source →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
-
4.22.324 Feb 2021Release notes
Open source →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)
-
4.22.224 Feb 2021Release notes
Open source →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]
-
4.22.120 Feb 2021Release notes
Open source →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 ...)
-
4.22.020 Feb 2021Release notes
Open source →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)
-
4.21.131 Jan 2021Release notes
Open source →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
-
4.21.031 Jan 2021Release notes
Open source →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
-
4.20.224 Sep 2019Release notes
Open source →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)
-
4.20.124 Sep 2019Release notes
Open source →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
-
4.20.016 Sep 2019Release notes
Open source →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]
-
4.19.305 Sep 2019Release notes
Open source →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
-
4.19.202 Sep 2019Release notes
Open source →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
-
4.19.128 Aug 2019Release notes
Open source →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
-
4.19.028 Aug 2019Release notes
Open source →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)
-
4.18.326 Aug 2019Release notes
Open source →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
-
4.18.226 Aug 2019Release notes
Open source →changes in this release forward-ported from 3.49.2
Maintenance
- package configuration and build flow updates
-
4.18.126 Aug 2019Release notes
Open source →changes in this release forward-ported from 3.49.1
Maintenance
- code quality improvements
-
4.18.026 Aug 2019Release notes
Open source →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)
-
4.17.1025 Aug 2019Release notes
Open source →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
-
4.17.922 Aug 2019Release notes
Open source →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
-
4.17.822 Aug 2019Release notes
Open source →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)
-
4.17.722 Aug 2019Release notes
Open source →changes in this release forward-ported from 3.48.7
Fix
- using printf variable syntax in patch descriptions crashed the patch applier
-
4.17.621 Aug 2019Release notes
Open source →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)
-
4.17.521 Aug 2019Release notes
Open source →changes in this release forward-ported from 3.48.5
Fix
- basePatch templates not being applied after code changes from last release
-
4.17.419 Aug 2019Release notes
Open source →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
-
4.17.319 Aug 2019Release notes
Open source →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)
-
4.17.212 Aug 2019Release notes
Open source →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
-
4.17.111 Aug 2019Release notes
Open source →changes in this release forward-ported from 3.48.1
Fix
- broken compatibility with PHP 5.3 (wrong array syntax used)
-
4.17.011 Aug 2019Release notes
Open source →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)
-
4.16.226 Jul 2019Release notes
Open source →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
-
4.16.119 Jun 2019Release notes
Open source →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
-
4.16.009 Apr 2019Release notes
Open source →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]
-
4.15.002 Apr 2019Release notes
Open source →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
-
4.14.002 Apr 2019Release notes
Open source →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]
-
4.13.001 Apr 2019Release notes
Open source →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)
-
4.12.031 Mar 2019Release notes
Open source →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]
-
4.11.021 Mar 2019Release notes
Open source →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)
-
4.10.020 Feb 2019Release notes
Open source →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
-
4.9.012 Feb 2019Release notes
Open source →Feature
- forward-port (3.40.0): allow patch to target the autoloader root (instead of targeting package root) by configuring 'cwd' key to 'autoload'
-
4.8.212 Feb 2019Release notes
Open source →Maintenance
- follow-up to incorrectly released version (4.8.1); no extra changes done