Skip to content

Releases: laminas/laminas-cache

2.12.1

01 Aug 10:19
2.12.1
0b7ef4d
Compare
Choose a tag to compare

Release Notes for 2.12.1

2.12.x bugfix release (patch)

Fixes

  • This component now only provides the laminas-cli config for CLI commands when symfony/console is available.

2.12.1

  • Total issues resolved: 1
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

2.12.0

30 Jul 14:16
2.12.0
302a91e
Compare
Choose a tag to compare

Release Notes for 2.12.0

Feature release (minor)

This release focuses on providing forward compatibility to the next major release of this component.
With laminas/laminas-cache v3, using static factories for the adapters won't be possible anymore as this component wont be aware of which storage adapters are around.
All storage adapters will have to populate themselves to the AdapterPluginManager.

Instead of using the StorageFactory (which is marked as deprecated in this release), the StorageAdapterFactory (StorageAdapterFactoryInterface) should be used. It provides StorageAdapterFactoryInterface#createFromArrayConfiguration which consumes the exact same (normalized¹) configuration as StorageFactory#factory.
There are also replacements for the other methods of the StorageFactory:

  • StorageAdapterFactoryInterface#create is a replacement for StorageFactory#adapterFactory
  • StoragePluginFactoryInterface is a replacement for the StorageFactory#pluginFactory

To verify that your projects configuration is compatible with the new normalized¹ configuration, you can use laminas/laminas-cli with the CLI command laminas-cache:deprecation:check-storage-factory-config.

Added

  • Added a laminas-cli command to check project configuration for deprecated storage configuration.
  • Added a StorageAdapterFactoryInterface which is retrievable via the PSR-11 container when this component is used with either laminas/laminas-mvc or mezzio/mezzio.

Fixed

  • CacheItemPoolDecorator#saveDeferred queued already expired cache items. This has been fixed and thus, the method will return false for cache items which are already expired.
  • Serializer plugin treated non-existent cache items as an error and thus did not incremented/decremented these values. Non-existent values must be treated as 0 as this is how adapters handle the increment/decrement when not used with the Serializer plugin.

Changed

  • The ExceptionInterface now extends the Throwable interface.
  • CallbackCache, ObjectCache and ClassCache simplified method calls by avoiding the usage of call_user_func* functions.
  • The PSR-16 decorator now uses the maximum key length capability to better reflect the PSR requirements. PSR-16 requires that the backend supports at least 64 characters but it may also allow more than 64 characters.

Deprecated

  • Deprecated StorageFactory in favor of StorageAdapterFactoryInterface and StoragePluginFactoryInterface.
  • Deprecated some storage configurations to normalize¹ the configuration for the StorageAdapterFactoryInterface.
  • Deprecated the usage of storage adapters which do not provide the maximum key length capability in combination with the PSR-16 decorator.

¹ Normalized array configuration example

[
    'adapter' => 'apcu',
    'options' => ['ttl' => 3600],
    'plugins' => [
        [
            'name' => 'exception_handler',
            'options' => [
                'throw_exceptions' => false,
             ], 
        ],
    ],
];

2.12.0

  • Total issues resolved: 6
  • Total pull requests resolved: 12
  • Total contributors: 4

Bug

Enhancement

Documentation,Enhancement

2.12.0-rc2

27 Jul 19:42
302a91e
Compare
Choose a tag to compare
2.12.0-rc2 Pre-release
Pre-release

Feature release (minor)

Added

  • Added a laminas-cli command to check project configuration for deprecated storage configuration.

Fixed

  • CacheItemPoolDecorator#saveDeferred queued already expired cache items. This has been fixed and thus, the method will return false for cache items which are already expired.
  • Serializer plugin treated non-existent cache items as an error and thus did not incremented/decremented these values. Non-existent values must be treated as 0 as this is how adapters handle the increment/decrement when not used with the Serializer plugin.

Changed

  • The ExceptionInterface now extends the Throwable interface.
  • CallbackCache, ObjectCache and ClassCache simplified method calls by avoiding the usage of call_user_func* functions.
  • The PSR-16 decorator now uses the maximum key length capability to better reflect the PSR requirements. PSR-16 requires that the backend supports at least 64 characters but it may also allow more than 64 characters.

Deprecated

  • Deprecated some storage configurations to normalize the configuration for the StorageAdapterFactoryInterface.
  • Deprecated the usage of storage adapters which do not provide the maximum key length capability in combination with the PSR-16 decorator.

2.12.0-rc1

27 Jul 15:22
7d4a6a5
Compare
Choose a tag to compare
2.12.0-rc1 Pre-release
Pre-release

Feature release (minor)

Added

  • Added a laminas-cli command to check project configuration for deprecated storage configuration.

Changed

  • The ExceptionInterface now extends the Throwable interface.
  • CallbackCache, ObjectCache and ClassCache simplified method calls by avoiding the usage of call_user_func* functions.
  • The PSR-16 decorator now uses the maximum key length capability to better reflect the PSR requirements. PSR-16 requires that the backend supports at least 64 characters but it may also allow more than 64 characters.

Deprecated

  • Deprecated some storage configurations to normalize the configuration for the StorageAdapterFactoryInterface.
  • Deprecated the usage of storage adapters which do not provide the maximum key length capability in combination with the PSR-16 decorator.

2.11.3

08 Jul 18:24
2.11.3
775cf88
Compare
Choose a tag to compare

Release Notes for 2.11.3

2.11.x bugfix release (patch)

2.11.3

  • Total issues resolved: 1
  • Total pull requests resolved: 1
  • Total contributors: 2

Bug,Documentation

2.11.2

03 Jun 19:19
2.11.2
f825aec
Compare
Choose a tag to compare

Release Notes for 2.11.2

2.11.x bugfix release (patch)

Fixes

  • Fixes a bug where decrementing a single key in combination with the Serializer plugin actually incremented the value

Added

  • Added documentation for the RedisCluster adapter which is available in laminas/laminas-cache-storage-adapter-redis v1.2.0

2.11.2

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 1

Documentation

Bug

Enhancement

2.11.1

03 May 20:26
2.11.1
f888588
Compare
Choose a tag to compare

Release Notes for 2.11.1

2.11.x bugfix release (patch)

Fixes

  • Fixes a PSR-6 deletion regression which was introduced in 2.10.2. The CacheItemPoolDecorator now verifies that all keys are absent from the storage. This is now in sync with the SimpleCacheDecorator.

2.11.1

2.10.3

03 May 20:03
2.10.3
a9982f2
Compare
Choose a tag to compare

2.10.3 - 2021-05-03


Release Notes for 2.10.3

2.10.x bugfix release (patch)

Fixes

  • Fixes a PSR-6 deletion regression which was introduced in 2.10.2. The CacheItemPoolDecorator now verifies that all keys are absent from the storage. This is now in sync with the SimpleCacheDecorator.

2.10.3

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Bug

2.11.0

02 May 13:57
2.11.0
d789161
Compare
Choose a tag to compare

Release Notes for 2.11.0

This release aims to support PHP 8.0 for laminas-cache.

In laminas-cache v2.10.0, adapters were split into their very own components without receiving any changes. These changes were necessary to keep laminas-cache maintainable long term as development can now be focused on these adapters rather than the whole ecosystem.

Most of these adapters will not receive support for PHP 8.0, so they are likely blocking users from migrating to PHP 8.0 if the projects won't start to prepare for laminas-cache v3.0.0 which requires all projects to require those adapters they really use. With laminas-cache v2.10+, composer comes to the rescue and enables users to start prepare their project by explicitly use a require entry for those adapters which are in use while "removing" adapters, they don't.
To achieve this, the replace section of the projects composer.json has to list all adapters which are not used.

An example configuration can be found either in the installation section of the laminas documentation or in the README.md of this package.

Added

  • Added support for PHP 8.0

Removed

  • Removed support for PHP prior 7.3
  • Removed support for laminas-servicemanager and laminas-eventmanager in their v2 versions

Deprecated

  • PatternFactory has been marked as deprecated. Instead of using static factories like this, receiving the PatternPluginManager is recommended.

2.11.0

  • Total issues resolved: 0
  • Total pull requests resolved: 6
  • Total contributors: 1

Bug,Documentation

Enhancement

Documentation Needed,Enhancement

2.10.2

29 Apr 08:04
2.10.2
23d1340
Compare
Choose a tag to compare

2.10.2 - 2021-04-29


Release Notes for 2.10.2

2.10.x bugfix release (patch)

Fixed

  • The decorator for PSR-6 CacheItemPool assumed that a deletion was successful even if the underlying storage failed to delete these items.

2.10.2

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Bug

Documentation