laminas / laminas-filter

Programmatically filter and normalize data and files
https://docs.laminas.dev/laminas-filter/
BSD 3-Clause "New" or "Revised" License
85 stars 35 forks source link

Update dependency laminas/laminas-servicemanager to v4 #125

Open renovate[bot] opened 8 months ago

renovate[bot] commented 8 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
laminas/laminas-servicemanager (source) ^3.21.0 -> ^3.21.0 \|\| ^4.0.0 age adoption passing confidence

Release Notes

laminas/laminas-servicemanager (laminas/laminas-servicemanager) ### [`v4.0.0`](https://togithub.com/laminas/laminas-servicemanager/releases/tag/4.0.0) [Compare Source](https://togithub.com/laminas/laminas-servicemanager/compare/3.22.1...4.0.0) ##### Release Notes for [4.0.0](https://togithub.com/laminas/laminas-servicemanager/milestone/2) ##### Release Notes for [4.0.0](https://togithub.com/laminas/laminas-servicemanager/milestone/2) `laminas-servicemanager` 4.0.0 is here and finally enables projects to consume `psr/container` v2.0.0 after 2 years along with several type-additions and plugin manager decoupling. The migration guide is not written yet but will be at some point (once we added support for SM v4 to other components) later. ##### Added - Several native type-additions including property-, argument- and return-types and a lot more psalm types - `ServiceManager#get`, `PluginManagerInterface#get` and `ServiceLocatorInterface#build` now explicitly implement `mixed` as return-type to synchronize types with `ContainerInterface#get` - Support for `psr/container` v1.1 **and** v2.0 - [Ahead of Time factory creation](https://togithub.com/laminas/laminas-servicemanager/blob/9c92e9879a18398a53edd893378ca75d70658c51/docs/book/v4/console-tools.md#generate-ahead-of-time-factories) for services explicitly using `ReflectionBasedAbstractFactory` via `laminas-cli` ##### Removed - Dropped support for PHP <8.1 - Removed deprecated interfaces such as - `Laminas\ServiceManager\AbstractFactoryInterface` - `Laminas\ServiceManager\FactoryInterface` - `Laminas\ServiceManager\InitializerInterface` - `Laminas\ServiceManager\DelegatorFactoryInterface` - CLI commands which were exposed via `vendor/bin` are removed in favor of the `laminas-cli` integration. All CLI commands of v3.x are accessible via `vendor/bin/laminas servicemanager:` once `laminas/laminas-cli` is required in the projects dependencies - Removed deprecated `ConfigInterface` and `Config`-class since these files did not provide any validation logic and were just used to proxy the configuration array structure - Removed `AbstractPluginManager#validate` and `AbstractPluginManager::$instanceOf` property as in v3.x, implementing plugin managers were able to implicitly `validate` `mixed`. In case an implementing plugin manager is providing a single `$instanceOf` such as `laminas-cache`, there is a new class `AbstractSingleInstancePluginManager` available which requires the `$instanceOf` property to be configured ##### Breaking Changes - `AbstractPluginManager` does not extend `ServiceManager` anymore and instead uses an own `ServiceManager` instance under the hood to manage plugin manager related services which can be configured the same way as in v3.x - Dedicated CLI commands which were previously linked to `vendor/bin` are now integrated via `laminas-cli` and can be called via `vendor/bin/laminas` once `laminas/laminas-cli` is part of the projects requirements. Read more about how to consume these commands [here](https://togithub.com/laminas/laminas-servicemanager/blob/9c92e9879a18398a53edd893378ca75d70658c51/docs/book/v4/console-tools.md). - `AbstractPluginManager` does not provide the `validate`-Method anymore and requires migration action such as: - extend `AbstractSingleInstancePluginManager` in case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the `$instanceOf` property now requires native `string` property type) - implement `validate` method and verify whatever type has to be returned and/or just allow `mixed` as v3.x did when omitting `$instanceOf` property - Removed deprecated `ConfigInterface` and `Config`-class since these files did not provide any validation logic and were just used to proxy the configuration array structure - neither `ServiceManager` nor `AbstractPluginManager` do validate the provided configuration at runtime anymore. due to the psalm-types provided to `ServiceManager#__construct`, `ServiceManager#configure`, `AbstractPluginManager#__construct` and `AbstractPluginManager#configure`, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtime - `AbstractPluginManager#get` does not accept options anymore, in case an instance with options needs to be created, `AbstractPluginManager#build` has to be used ##### 4.0.0 - Total issues resolved: **7** - Total pull requests resolved: **14** - Total contributors: **6** ##### Enhancement - [204: Introduce plugin manager static analysis file](https://togithub.com/laminas/laminas-servicemanager/pull/204) thanks to [@​boesing](https://togithub.com/boesing) - [200: Replace scope to retrieve plugin manager from `$this` to `self`](https://togithub.com/laminas/laminas-servicemanager/pull/200) thanks to [@​boesing](https://togithub.com/boesing) - [194: Narrow return type of single instance plugin managers](https://togithub.com/laminas/laminas-servicemanager/pull/194) thanks to [@​boesing](https://togithub.com/boesing) - [187: Remove removed binaries from composer](https://togithub.com/laminas/laminas-servicemanager/pull/187) thanks to [@​boesing](https://togithub.com/boesing) - [171: AOT factory creation CLI command for `ReflectionBasedAbstractFactory` mapped factories](https://togithub.com/laminas/laminas-servicemanager/issues/171) thanks to [@​boesing](https://togithub.com/boesing) - [58: Merge release 3.5.0 into 4.0.x](https://togithub.com/laminas/laminas-servicemanager/pull/58) thanks to [@​github-actions](https://togithub.com/github-actions)\[bot] ##### BC Break,Enhancement - [191: Modernize codebase](https://togithub.com/laminas/laminas-servicemanager/pull/191) thanks to [@​boesing](https://togithub.com/boesing) - [188: Add support for `psr/container` v2](https://togithub.com/laminas/laminas-servicemanager/pull/188) thanks to [@​boesing](https://togithub.com/boesing) and [@​danielspk](https://togithub.com/danielspk) - [181: Remove deprecated `ServiceManager#getServiceLocator` method](https://togithub.com/laminas/laminas-servicemanager/pull/181) thanks to [@​boesing](https://togithub.com/boesing) - [179: Remove `ServiceManager` inheritance for `AbstractPluginManager`](https://togithub.com/laminas/laminas-servicemanager/pull/179) thanks to [@​boesing](https://togithub.com/boesing) - [176: Convert old CLI standalone commands to laminas-cli commands](https://togithub.com/laminas/laminas-servicemanager/pull/176) thanks to [@​boesing](https://togithub.com/boesing) - [172: Convert commands to laminas-cli symfony commands](https://togithub.com/laminas/laminas-servicemanager/issues/172) thanks to [@​boesing](https://togithub.com/boesing) - [46: #​44 add strict type declarations](https://togithub.com/laminas/laminas-servicemanager/pull/46) thanks to [@​GeeH](https://togithub.com/GeeH) ##### RFC - [182: Remove `AbstractPluginManager#validate`](https://togithub.com/laminas/laminas-servicemanager/issues/182) thanks to [@​boesing](https://togithub.com/boesing) - [174: Mark `ServiceManager` as `final` and change `AbstractPluginManager` to use composition over inheritance](https://togithub.com/laminas/laminas-servicemanager/issues/174) thanks to [@​boesing](https://togithub.com/boesing) ##### BC Break - [170: Remove deprecated factories](https://togithub.com/laminas/laminas-servicemanager/pull/170) thanks to [@​boesing](https://togithub.com/boesing) - [169: Remove `container-interop/container-interop` polyfill](https://togithub.com/laminas/laminas-servicemanager/pull/169) thanks to [@​boesing](https://togithub.com/boesing) ##### renovate - [151: Update dependency psr/container to v2](https://togithub.com/laminas/laminas-servicemanager/pull/151) thanks to [@​renovate](https://togithub.com/renovate)\[bot] ##### Bug - [89: AbstractPluginManager::get has parameter name mismatch with ContainerInterface::get](https://togithub.com/laminas/laminas-servicemanager/issues/89) thanks to [@​Slamdunk](https://togithub.com/Slamdunk)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



Read more information about the use of Renovate Bot within Laminas.

renovate[bot] commented 8 months ago

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

The artifact failure details are included below:

File name: composer.lock
Command failed: composer update laminas/laminas-servicemanager:4.1.0 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Dependency laminas/laminas-stdlib is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires laminas/laminas-servicemanager ^3.21.0 || ^4.0.0, found laminas/laminas-servicemanager[3.21.0, 3.22.0, 3.22.1, 4.0.0, 4.0.1, 4.0.2, 4.1.0] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - laminas/laminas-crypt is locked to version 3.11.0 and an update of this package was not requested.
    - laminas/laminas-crypt 3.11.0 requires laminas/laminas-servicemanager ^3.11.2 -> found laminas/laminas-servicemanager[3.11.2, ..., 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
  Problem 3
    - laminas/laminas-i18n is locked to version 2.26.0 and an update of this package was not requested.
    - laminas/laminas-i18n 2.26.0 requires laminas/laminas-servicemanager ^3.21.0 -> found laminas/laminas-servicemanager[3.21.0, 3.22.0, 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
  Problem 4
    - laminas/laminas-validator 2.53.0 requires laminas/laminas-servicemanager ^3.21.0 -> found laminas/laminas-servicemanager[3.21.0, 3.22.0, 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
    - laminas/laminas-uri 2.11.0 requires laminas/laminas-validator ^2.39 -> satisfiable by laminas/laminas-validator[2.53.0].
    - laminas/laminas-uri is locked to version 2.11.0 and an update of this package was not requested.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
gsteel commented 8 months ago

This will likely have to go into v3:

Laminas/Crypt will not get updated to support v4 of service manager (Crypt is already dropped in 3.0.x here).

renovate[bot] commented 5 months ago

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

The artifact failure details are included below:

File name: composer.lock
Command failed: composer update laminas/laminas-servicemanager:4.1.0 --with-dependencies --ignore-platform-req='ext-*' --ignore-platform-req='lib-*' --no-ansi --no-interaction --no-scripts --no-autoloader --no-plugins
Loading composer repositories with package information
Dependency laminas/laminas-stdlib is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires laminas/laminas-servicemanager ^3.21.0 || ^4.0.0, found laminas/laminas-servicemanager[3.21.0, 3.22.0, 3.22.1, 4.0.0, 4.0.1, 4.0.2, 4.1.0] but these were not loaded, likely because it conflicts with another require.
  Problem 2
    - laminas/laminas-crypt is locked to version 3.11.0 and an update of this package was not requested.
    - laminas/laminas-crypt 3.11.0 requires laminas/laminas-servicemanager ^3.11.2 -> found laminas/laminas-servicemanager[3.11.2, ..., 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
  Problem 3
    - laminas/laminas-i18n is locked to version 2.26.0 and an update of this package was not requested.
    - laminas/laminas-i18n 2.26.0 requires laminas/laminas-servicemanager ^3.21.0 -> found laminas/laminas-servicemanager[3.21.0, 3.22.0, 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
  Problem 4
    - laminas/laminas-validator 2.56.0 requires laminas/laminas-servicemanager ^3.21.0 -> found laminas/laminas-servicemanager[3.21.0, 3.22.0, 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
    - laminas/laminas-uri 2.11.0 requires laminas/laminas-validator ^2.39 -> satisfiable by laminas/laminas-validator[2.56.0].
    - laminas/laminas-uri is locked to version 2.11.0 and an update of this package was not requested.

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.