Releases: laminas/laminas-cache
2.12.1
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 whensymfony/console
is available.
2.12.1
- Total issues resolved: 1
- Total pull requests resolved: 1
- Total contributors: 1
Bug
2.12.0
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 forStorageFactory#adapterFactory
StoragePluginFactoryInterface
is a replacement for theStorageFactory#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 eitherlaminas/laminas-mvc
ormezzio/mezzio
.
Fixed
CacheItemPoolDecorator#saveDeferred
queued already expired cache items. This has been fixed and thus, the method will returnfalse
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 as0
as this is how adapters handle the increment/decrement when not used with theSerializer
plugin.
Changed
- The
ExceptionInterface
now extends theThrowable
interface. CallbackCache
,ObjectCache
andClassCache
simplified method calls by avoiding the usage ofcall_user_func*
functions.- The
PSR-16
decorator now uses themaximum 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 ofStorageAdapterFactoryInterface
andStoragePluginFactoryInterface
. - 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 thePSR-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
- 135: Bugfix: Serializer should treat non-existent items as
0
when incrementing/decrementing items thanks to @boesing - 134: Bugfix: Expired cache items must not be queued for later persistence thanks to @boesing
- 112: PSR-16 decorator should use maximum key length capability thanks to @boesing and @weierophinney
Enhancement
- 120: qa: normalize plugin tests thanks to @boesing
- 113: Remove
\Exception
fallback for PSR-16 decorator thanks to @boesing - 109: Extend Throwable in ExceptionInterface thanks to @ghostwriter
- 105: Remove file headers thanks to @ghostwriter
- 104: Normalize
StorageFactory
options thanks to @boesing - 80: Normalize adapter configuration thanks to @boesing
- 63: CallbackCache: simplify calling function/method thanks to @marc-mabe
Documentation,Enhancement
2.12.0-rc2
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 returnfalse
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 as0
as this is how adapters handle the increment/decrement when not used with theSerializer
plugin.
Changed
- The
ExceptionInterface
now extends theThrowable
interface. CallbackCache
,ObjectCache
andClassCache
simplified method calls by avoiding the usage ofcall_user_func*
functions.- The
PSR-16
decorator now uses themaximum 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 thePSR-16
decorator.
2.12.0-rc1
Feature release (minor)
Added
- Added a
laminas-cli
command to check project configuration for deprecated storage configuration.
Changed
- The
ExceptionInterface
now extends theThrowable
interface. CallbackCache
,ObjectCache
andClassCache
simplified method calls by avoiding the usage ofcall_user_func*
functions.- The
PSR-16
decorator now uses themaximum 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 thePSR-16
decorator.
2.11.3
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
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 inlaminas/laminas-cache-storage-adapter-redis
v1.2.0
2.11.2
- Total issues resolved: 0
- Total pull requests resolved: 3
- Total contributors: 1
Documentation
- 122: Documentation: redis update thanks to @boesing
Bug
Enhancement
2.11.1
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. TheCacheItemPoolDecorator
now verifies that all keys are absent from the storage. This is now in sync with theSimpleCacheDecorator
.
2.11.1
-
Total issues resolved: 0
-
Total pull requests resolved: 1
-
Total contributors: 1
-
101: Merge release 2.10.3 into 2.11.x thanks to @github-actions[bot]
2.10.3
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. TheCacheItemPoolDecorator
now verifies that all keys are absent from the storage. This is now in sync with theSimpleCacheDecorator
.
2.10.3
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Bug
2.11.0
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
andlaminas-eventmanager
in their v2 versions
Deprecated
PatternFactory
has been marked as deprecated. Instead of using static factories like this, receiving thePatternPluginManager
is recommended.
2.11.0
- Total issues resolved: 0
- Total pull requests resolved: 6
- Total contributors: 1
Bug,Documentation
- 78: fix potential markdown issues thanks to @boesing
Enhancement
- 77: qa: removing changelog in favor of the release notes thanks to @boesing
- 76: PHP 8.0 support for v2 thanks to @boesing
- 75: bump phpunit to 9.5 thanks to @boesing
- 74: continous integration thanks to @boesing
Documentation Needed,Enhancement
2.10.2
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