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

Bump laminas/laminas-servicemanager from 3.22.1 to 4.0.0 #443

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 5, 2024

Bumps laminas/laminas-servicemanager from 3.22.1 to 4.0.0.

Release notes

Sourced from laminas/laminas-servicemanager's releases.

4.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#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

... (truncated)

Commits
  • aa4b0f5 Merge pull request #225 from boesing/docs/console-tools-bugfix
  • e3ec60c bugfix: link to proper AoT factory section
  • aa074ae Merge pull request #224 from laminas/renovate/lock-file-maintenance
  • e80b222 Lock file maintenance
  • d69bfef Merge pull request #206 from laminas/renovate/lock-file-maintenance
  • c7edb25 Lock file maintenance
  • a18bb35 Merge pull request #204 from boesing/qa/static-analysis
  • ee7ab4e qa: remove redundant method implementations
  • b79a3d4 qa: ignore `SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration.NoA...
  • 9fa7191 qa: update psalm to latest stable version
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [laminas/laminas-servicemanager](https://github.com/laminas/laminas-servicemanager) from 3.22.1 to 4.0.0.
- [Release notes](https://github.com/laminas/laminas-servicemanager/releases)
- [Commits](laminas/laminas-servicemanager@3.22.1...4.0.0)

---
updated-dependencies:
- dependency-name: laminas/laminas-servicemanager
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Mar 5, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github Apr 4, 2024

Superseded by #457.

@dependabot dependabot bot closed this Apr 4, 2024
@dependabot dependabot bot deleted the dependabot/composer/laminas/laminas-servicemanager-4.0.0 branch April 4, 2024 08:33
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