Skip to content

Releases: laminas/laminas-cache

2.13.2

07 Nov 13:12
2.13.2
fc32558
Compare
Choose a tag to compare

Release Notes for 2.13.2

2.13.x bugfix release (patch)

2.13.2

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

Bug

2.13.1

07 Nov 10:47
2.13.1
977a5b6
Compare
Choose a tag to compare

Release Notes for 2.13.1

2.13.x bugfix release (patch)

2.13.1

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

Bug,hacktoberfest-accepted

2.12.3

07 Nov 13:10
2.12.3
42d5e91
Compare
Choose a tag to compare

Release Notes for 2.12.3

2.12.x bugfix release (patch)

2.12.3

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

Bug

2.13.0

08 Aug 10:22
2.13.0
566948e
Compare
Choose a tag to compare

Release Notes for 2.13.0

Feature release (minor)

Changed

  • The already deprecated PatternFactory no longer suggests the PatternPluginManager as an alternative.

Deprecated

  • Deprecated the PatternPluginManager as with v3.0.0, cache pattern do require strict dependency injection. Since most of the cache pattern depend on a storage implementation, which are not longer known by this component as of v3, a dynamic factory for the cache pattern won't be suitable anymore.
  • Deprecated the pattern factories PatternCacheFactory and StoragePatternCacheFactory which were introduced in v2.12.0 to provide forward compatibility for the new StorageCapableInterface implementing patterns.

2.13.0

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

Enhancement

2.12.2

06 Aug 07:33
2.12.2
36f5cef
Compare
Choose a tag to compare

Release Notes for 2.12.2

2.12.x bugfix release (patch)

With 2.12.0, a better key length handling for the PSR-16 decorator was introduced. The decorator initially supported 64 characters which was the minimum which PSR-16 requires to be supported by implementing cache backends. The redis adapter can take keys up to a length of 512 MB which results in a PCRE2 compilation error when validating the cache key length with the PSR-16 decorator.

This release decreases the maximum allowed key length for the PSR-16 decorator to 65534 to avoid that compilation error. Technically, this would be a BC break, but given the fact that cache adapters with a support for keys bigger than that ran into the compilation error when validating the cache keys, this is rather a necessary bugfix.

Changed

  • The maximum supported key length for the PSR-16 decorator is now 65534

Fixes

  • By decreasing the maximum supported key length for the PSR-16 decorator, preg_match won't result in a compilation error for cache adapters which would support even longer keys.

2.12.2

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

Bug

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