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 Laminas packages to v4 (major) #119

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 5, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
laminas/laminas-cache (source) ^3.12.1 -> ^4.0.0 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-cache (laminas/laminas-cache)

v4.0.0

Compare Source

Release Notes for 4.0.0

laminas-cache 4.0.0 is here and finally adds native types everywhere, adds support for psr/cache and psr/simple-cache v2 & v3 and introduces an all new metadata logic which allows adapters to provide metadata they actually support.

Please read more on how to migrate your project in our migration guideline.

Added
  • Every adapter which supports metadata now implements MetadataCapableInterface and provides a dedicated object containing all the metadata values it supports
  • Adds support for psr/cache and psr/simple-cache v2 & v3
Removed
  • supportedMetadata capability from Capabilities
  • KeyListIterator::CURRENT_AS_METADATA mode along with Laminas\Cache\Exception\MissingKeyException
  • automatic instantiation of SerializerInterface when calling PluginOptions#getSerializer
  • Increment and decrement feature from StorageInterface, so there is no more StorageInterface#incrementItem, StorageInterface#decrementItem, StorageInterface#decrementItems and StorageInterface#incrementItems
    • this also removes incrementItem, incrementItems, decrementItem, derementItems events (pre, post and exception)
  • dependency inversion on virtual package laminas/laminas-cache-storage-adapter-implementation which now allows laminas-cache to be required without a concrete storage adapter implementation
  • removed support for psr/cache and psr/simple-cache v1
Breaking Changes
  • AbstractAdapter and StorageInterface are not aware of the methods getMetadata anymore. These were moved to the new MetadataCapableInterface
  • Capabilities do not provide supportedMetadata anymore. The supported metadata is tied to the used storage adapter and thus, was already requiring projects to explicitly know the exact implementation of the cache backend in case of using these metadatas anyway
  • KeyListIterator and the corresponding IteratorInterface does not provide the mode CURRENT_AS_METADATA anymore
  • PluginOptions#getSerializer does not create a serializer anymore if a string option was passed, instead, the string is returned
  • Increment and decrement feature was removed from StorageInterface, so there is no more StorageInterface#incrementItem, StorageInterface#decrementItem, StorageInterface#decrementItems and StorageInterface#incrementItems
    • this also removes incrementItem, incrementItems, decrementItem, derementItems events (pre, post and exception)
  • Every method now has native return types
  • Every property now has native types
  • Every method argument now has native types
  • ObjectCache does not inherit the CallbackCache pattern anymore
4.0.0
  • Total issues resolved: 9
  • Total pull requests resolved: 18
  • Total contributors: 4
BC Break,Enhancement
Enhancement
Bug,Enhancement
BC Break,Feature Removal
BC Break
Feature Request
BC Break,Bug
Documentation
laminas/laminas-servicemanager (laminas/laminas-servicemanager)

v4.1.0

Compare Source

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
Documentation,Enhancement

v4.0.2

Compare Source

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

Compare Source

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

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 these updates again.


  • If you want to rebase/retry this PR, check this box

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

@renovate renovate bot added the renovate label Mar 5, 2024
Copy link
Contributor Author

renovate bot commented Mar 5, 2024

⚠ 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.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-cache is locked to version 3.12.1 and an update of this package was not requested.
    - laminas/laminas-cache 3.12.1 requires laminas/laminas-servicemanager ^3.21 -> 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 3
    - laminas/laminas-cache-storage-deprecated-factory is locked to version 1.2.0 and an update of this package was not requested.
    - laminas/laminas-cache-storage-deprecated-factory 1.2.0 requires laminas/laminas-servicemanager ^3.7 -> found laminas/laminas-servicemanager[3.7.0, ..., 3.22.1] but it conflicts with your temporary update constraint (laminas/laminas-servicemanager:4.1.0).
  Problem 4
    - laminas/laminas-filter is locked to version 2.35.2 and an update of this package was not requested.
    - laminas/laminas-filter 2.35.2 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 5
    - laminas/laminas-validator is locked to version 2.53.0 and an update of this package was not requested.
    - 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).
  Problem 6
    - laminas/laminas-view is locked to version 2.34.0 and an update of this package was not requested.
    - laminas/laminas-view 2.34.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 7
    - laminas/laminas-cache 3.12.1 requires laminas/laminas-servicemanager ^3.21 -> 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-cache-storage-adapter-memory 2.3.0 requires laminas/laminas-cache ^3.0 -> satisfiable by laminas/laminas-cache[3.12.1].
    - laminas/laminas-cache-storage-adapter-memory is locked to version 2.3.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.

@renovate renovate bot force-pushed the renovate/major-laminas branch 2 times, most recently from 60387a9 to d99fb00 Compare March 15, 2024 12:50
@renovate renovate bot force-pushed the renovate/major-laminas branch 2 times, most recently from 9b9cd99 to 483aff5 Compare March 25, 2024 03:22
@renovate renovate bot force-pushed the renovate/major-laminas branch 2 times, most recently from ec68c49 to 7e722cc Compare April 15, 2024 03:52
@renovate renovate bot force-pushed the renovate/major-laminas branch 2 times, most recently from 1e568e9 to 0dd99e1 Compare May 6, 2024 04:24
@renovate renovate bot force-pushed the renovate/major-laminas branch from 0dd99e1 to b5b4449 Compare May 13, 2024 03:49
Copy link
Contributor Author

renovate bot commented May 13, 2024

⚠️ 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-cache:4.0.0 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-eventmanager 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.
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
    - Root composer.json requires laminas/laminas-cache ^4.0.0, found laminas/laminas-cache[4.0.0] but these were not loaded, likely because it conflicts with another require.
  Problem 3
    - laminas/laminas-cache-storage-adapter-memory is locked to version 2.3.0 and an update of this package was not requested.
    - laminas/laminas-cache-storage-adapter-memory 2.3.0 requires laminas/laminas-cache ^3.0 -> found laminas/laminas-cache[3.0.0, ..., 3.12.2] but it conflicts with your root composer.json require (^4.0.0).
  Problem 4
    - laminas/laminas-cache-storage-deprecated-factory is locked to version 1.2.0 and an update of this package was not requested.
    - laminas/laminas-cache-storage-deprecated-factory 1.2.0 requires laminas/laminas-cache ^3.0 -> found laminas/laminas-cache[3.0.0, ..., 3.12.2] but it conflicts with your root composer.json require (^4.0.0).
  Problem 5
    - laminas/laminas-filter is locked to version 2.36.0 and an update of this package was not requested.
    - laminas/laminas-filter 2.36.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 6
    - laminas/laminas-validator is locked to version 2.57.0 and an update of this package was not requested.
    - laminas/laminas-validator 2.57.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 7
    - laminas/laminas-view is locked to version 2.35.0 and an update of this package was not requested.
    - laminas/laminas-view 2.35.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).

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

@renovate renovate bot force-pushed the renovate/major-laminas branch 2 times, most recently from 65b8091 to 6f30c34 Compare May 27, 2024 03:34
@renovate renovate bot force-pushed the renovate/major-laminas branch 2 times, most recently from 3344c26 to c4e49bb Compare June 10, 2024 03:45
@renovate renovate bot changed the title Update dependency laminas/laminas-servicemanager to v4 Update Laminas packages to v4 (major) Jun 16, 2024
| datasource | package                        | from   | to    |
| ---------- | ------------------------------ | ------ | ----- |
| packagist  | laminas/laminas-cache          | 3.12.2 | 4.0.0 |
| packagist  | laminas/laminas-servicemanager | 3.22.1 | 4.1.0 |


Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@gsteel gsteel added the stop-updating Instructs renovate to stop updating PR label Jun 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
renovate stop-updating Instructs renovate to stop updating PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant