Update dependency laminas/laminas-servicemanager to v4
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| laminas/laminas-servicemanager (source) | ^3.24.0 -> ^4.0.0 |
Release Notes
laminas/laminas-servicemanager (laminas/laminas-servicemanager)
v4.5.0
Release Notes for 4.5.0
Feature release (minor)
4.5.0
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Dependencies,Enhancement
v4.4.0
Release Notes for 4.4.0
Feature release (minor)
4.4.0
- Total issues resolved: 0
- Total pull requests resolved: 3
- Total contributors: 2
Dependencies,Enhancement,QA
- 255: Upgrade Psalm to v6 thanks to @gsteel
Enhancement,QA,Review Needed
Review Needed,renovate
- 252: Lock file maintenance thanks to @renovate[bot]
v4.3.0
Release Notes for 4.3.0
Feature release (minor)
Introduces PHP 8.4 Support
4.3.0
- Total issues resolved: 0
- Total pull requests resolved: 5
- Total contributors: 4
Enhancement
- 248: Update to use PHPUnit 10 syntax thanks to @samsonasik
- 247: Update to latest PHP 8.1 syntax thanks to @samsonasik
- 246: Merge release 3.23.0 into 4.3.x thanks to @github-actions[bot]
Documentation,Enhancement
- 245: Merge release 4.2.1 into 4.3.x thanks to @gsteel
renovate
v4.2.1
Release Notes for 4.2.1
4.2.x bugfix release (patch)
4.2.1
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Documentation,Enhancement
- 244: Add mixed as array shape thanks to @grizzm0
v4.2.0
Release Notes for 4.2.0
Feature release (minor)
4.2.0
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Enhancement
- 237: Allow varexporter v0.5 thanks to @snapshotpl
v4.1.0
Release Notes for 4.1.0
Feature release (minor)
4.1.0
- Total issues resolved: 1
- Total pull requests resolved: 3
- Total contributors: 2
Documentation
- 234: Merge release 4.0.2 into 4.1.x thanks to @github-actions[bot]
- 232: Merge release 4.0.1 into 4.1.x thanks to @github-actions[bot]
Documentation,Enhancement
v4.0.2
Release Notes for 4.0.2
4.0.x bugfix release (patch)
4.0.2
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Bug,Documentation
v4.0.1
Release Notes for 4.0.1
4.0.x bugfix release (patch)
4.0.1
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Bug,Documentation
v4.0.0
Release Notes for 4.0.0
Release Notes for 4.0.0
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#getandServiceLocatorInterface#buildnow explicitly implementmixedas return-type to synchronize types withContainerInterface#get - Support for
psr/containerv1.1 and v2.0 -
Ahead of Time factory creation for services explicitly using
ReflectionBasedAbstractFactoryvialaminas-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/binare removed in favor of thelaminas-cliintegration. All CLI commands of v3.x are accessible viavendor/bin/laminas servicemanager:<v3.x command name>oncelaminas/laminas-cliis required in the projects dependencies - Removed deprecated
ConfigInterfaceandConfig-class since these files did not provide any validation logic and were just used to proxy the configuration array structure - Removed
AbstractPluginManager#validateandAbstractPluginManager::$instanceOfproperty as in v3.x, implementing plugin managers were able to implicitlyvalidatemixed. In case an implementing plugin manager is providing a single$instanceOfsuch aslaminas-cache, there is a new classAbstractSingleInstancePluginManageravailable which requires the$instanceOfproperty to be configured
Breaking Changes
-
AbstractPluginManagerdoes not extendServiceManageranymore and instead uses an ownServiceManagerinstance 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/binare now integrated vialaminas-cliand can be called viavendor/bin/laminasoncelaminas/laminas-cliis part of the projects requirements. Read more about how to consume these commands here. -
AbstractPluginManagerdoes not provide thevalidate-Method anymore and requires migration action such as:- extend
AbstractSingleInstancePluginManagerin case the plugin manager only provides instances of a specific interface- or class-string (please be aware that the$instanceOfproperty now requires nativestringproperty type) - implement
validatemethod and verify whatever type has to be returned and/or just allowmixedas v3.x did when omitting$instanceOfproperty
- extend
- Removed deprecated
ConfigInterfaceandConfig-class since these files did not provide any validation logic and were just used to proxy the configuration array structure - neither
ServiceManagernorAbstractPluginManagerdo validate the provided configuration at runtime anymore. due to the psalm-types provided toServiceManager#__construct,ServiceManager#configure,AbstractPluginManager#__constructandAbstractPluginManager#configure, the configuration schema is strictly typed and thus, a miss-configuration can be mitigated on static-analysis level prior actual runtime -
AbstractPluginManager#getdoes not accept options anymore, in case an instance with options needs to be created,AbstractPluginManager#buildhas 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 thanks to @boesing
-
200: Replace scope to retrieve plugin manager from
$thistoselfthanks to @boesing - 194: Narrow return type of single instance plugin managers thanks to @boesing
- 187: Remove removed binaries from composer thanks to @boesing
-
171: AOT factory creation CLI command for
ReflectionBasedAbstractFactorymapped factories thanks to @boesing - 58: Merge release 3.5.0 into 4.0.x thanks to @github-actions[bot]
BC Break,Enhancement
- 191: Modernize codebase thanks to @boesing
-
188: Add support for
psr/containerv2 thanks to @boesing and @danielspk -
181: Remove deprecated
ServiceManager#getServiceLocatormethod thanks to @boesing -
179: Remove
ServiceManagerinheritance forAbstractPluginManagerthanks to @boesing - 176: Convert old CLI standalone commands to laminas-cli commands thanks to @boesing
- 172: Convert commands to laminas-cli symfony commands thanks to @boesing
- 46: #44 add strict type declarations thanks to @GeeH
RFC
-
182: Remove
AbstractPluginManager#validatethanks to @boesing -
174: Mark
ServiceManagerasfinaland changeAbstractPluginManagerto use composition over inheritance thanks to @boesing
BC Break
- 170: Remove deprecated factories thanks to @boesing
-
169: Remove
container-interop/container-interoppolyfill thanks to @boesing
renovate
- 151: Update dependency psr/container to v2 thanks to @renovate[bot]
Bug
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.
- [ ] If you want to rebase/retry this PR, check this box
Read more information about the use of Renovate Bot within Laminas.
⚠ 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:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: composer.lock
Command failed: composer update laminas/laminas-servicemanager:4.0.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 psr/container 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 ^4.0.0, found laminas/laminas-servicemanager[4.0.0] but these were not loaded, likely because it conflicts with another require.
Problem 2
- laminas/laminas-mvc is locked to version 3.7.0 and an update of this package was not requested.
- laminas/laminas-mvc 3.7.0 requires laminas/laminas-servicemanager ^3.20.0 -> found laminas/laminas-servicemanager[3.20.0, 3.21.0, 3.22.0, 3.22.1] but it conflicts with your root composer.json require (^4.0.0).
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
⚠️ 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:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: composer.lock
Command failed: composer update laminas/laminas-servicemanager:4.2.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 psr/container 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 ^4.0.0, found laminas/laminas-servicemanager[4.0.0, ..., 4.2.0] but these were not loaded, likely because it conflicts with another require.
Problem 2
- laminas/laminas-mvc is locked to version 3.7.0 and an update of this package was not requested.
- laminas/laminas-mvc 3.7.0 requires laminas/laminas-servicemanager ^3.20.0 -> found laminas/laminas-servicemanager[3.20.0, 3.21.0, 3.22.0, 3.22.1] but it conflicts with your root composer.json require (^4.0.0).
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.