Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency laminas/laminas-servicemanager to v4 #223

Open
wants to merge 1 commit into
base: 2.3.x
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 4, 2024

Mend Renovate

This PR contains the following updates:

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

Release Notes

laminas/laminas-servicemanager (laminas/laminas-servicemanager)

v4.0.0

Compare Source

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#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 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:<v3.x command name> 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.
  • 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
BC Break,Enhancement
RFC
BC Break
renovate
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

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Mar 4, 2024
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 5 times, most recently from 2eca4e8 to 9107e1d Compare March 9, 2024 04:40
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 8 times, most recently from 1b874ad to ad4589d Compare March 22, 2024 05:00
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 6 times, most recently from 5ad37f1 to 929b704 Compare March 29, 2024 03:22
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 6 times, most recently from cbe16d7 to 64a5b9e Compare April 6, 2024 04:30
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 4 times, most recently from f89ce06 to 0293335 Compare April 13, 2024 03:22
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 7 times, most recently from f4f2e5f to 55fd1c0 Compare May 1, 2024 03:50
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 7 times, most recently from 8fd508c to c89e4e0 Compare May 9, 2024 05:07
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 6 times, most recently from 6beedc5 to acc5117 Compare May 17, 2024 19:01
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 5 times, most recently from ed8e8c3 to 3ad507d Compare May 24, 2024 04:12
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch 3 times, most recently from 768940f to 1e34841 Compare May 30, 2024 04:19
| datasource | package                        | from   | to    |
| ---------- | ------------------------------ | ------ | ----- |
| packagist  | laminas/laminas-servicemanager | 3.22.1 | 4.1.0 |
@renovate renovate bot force-pushed the renovate/laminas-laminas-servicemanager-4.x branch from 1e34841 to d7a1251 Compare June 1, 2024 05:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants