Releases: laminas/laminas-cache-storage-adapter-filesystem
Releases · laminas/laminas-cache-storage-adapter-filesystem
3.1.0
Release Notes for 3.1.0
Feature release (minor)
This release adds support for PHP 8.4.
3.1.0
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 2
Enhancement
3.0.0
Release Notes for 3.0.0
Backwards incompatible release (major)
laminas-cache-storage-adapter-filesystem
3.0.0 is here and finally adds native types everywhere, adds support for psr/cache
and psr/simple-cache
v2 & v3, supports laminas/laminas-cache
v4 and introduces an all new metadata and persistence logic. The Filesystem
does now persist the value as a serialized string along with the expiry date so that cache items can now have dedicated TTLs.
Added
- Dedicated
Metadata
object forFilesystem#getMetadata
- Adds support for
psr/cache
andpsr/simple-cache
v2 & v3 by introducing TTL per-item handling Filesystem
now allows passing aClockInterface
via its constructor- New option to configure unserializable classes (
unserializable_classes
) which can be passed as aFilesystem
option asboolean
or anon-empty-list<class-string>
value. Defaults totrue
and can be modified according to the unserialize function documentation (value is passed toallowed_classes
option ofunserialize
). This option is only used when there is noSerializer
plugin attached to the storage adapter FilesystemInteractionInterface
does now provide a new methodgetFirstLineOfFile
to have a performant way to read the cache expiry information without loading the whole file into memory
Changed
- Filesystem adapter now supports per-item TTL and thus, the TTL is calculated
on-write
rather thanon-read
- The
Filesystem
adapter now uses.cache
suffix which is not configurable anymore (used to be.dat
) as the old.dat
files might not be compatible anymore. This will probably introduce problems in projects which rely on existing files which are not generated when these are missing. It is also mandatory that if caches are created cross-project, that both projects use the same adapter version. Please keep this in mind when upgrading FilesystemOptions
does now prevent projects from updating the key pattern, the key pattern is fixed and must not changeFilesystemOptions
has a modified key pattern and now allows dots (.
) in cache keys. This is mandatory to have proper PSR-6 support which requires caches to supportA-Z
,a-z
,0-9
,_
, and.
Filesystem
adapter now stores values as serialized strings within the cache file in case that there is noSerializer
plugin attached to the adapter
Removed
Filesystem::METADATA_ATIME
constant, useMetadata#lastAccessTime
insteadFilesystem::METADATA_CTIME
constant, useMetadata#creationTime
insteadFilesystem::METADATA_MTIME
constant, useMetadata#lastModifiedTime
insteadFilesystem::METADATA_FILESIZE
constant, useMetadata#filesize
insteadFilesystem::METADATA_FILESPEC
constant, useMetadata#filespec
insteadFilesystemOptions#setSuffix
as the suffix is not configurable anymoreFilesystemOptions#getSuffix
as the suffix is not configurable anymoreFilesystemOptions#setTagSuffix
as the tag suffix is not configurable anymoreFilesystemOptions#getTagSuffix
as the tag suffix is not configurable anymoreFilesystemInteractionInterface#umask
as it was not usedFilesystemInteractionInterface#touch
as it is not used anymore
3.0.0
- Total issues resolved: 1
- Total pull requests resolved: 5
- Total contributors: 2
Enhancement
- 97: Introduce modifiable clock from
laminas-cache-storage-adapter-test
v4.1 thanks to @boesing - 96: Prevent double serialization when
Serializer
plugin is used thanks to @boesing
BC Break,Enhancement
- 91: Introduce TTL per item along with value serialization thanks to @boesing
- 90: Add support
laminas-cache
v4 thanks to @boesing
Enhancement,RFC,Won't Fix
BC Break
- 70: Compatibility with PSR-6/PSR-16 thanks to @codealfa
2.4.1
Release Notes for 2.4.1
2.4.x bugfix release (patch)
2.4.1
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 2
Documentation
- 88: Corrected link to documentation thanks to @modir
Bug
2.4.0
Release Notes for 2.4.0
Feature release (minor)
2.4.0
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 2
Enhancement
renovate
- 68: Update dependency vimeo/psalm to v5 thanks to @renovate[bot]
2.3.0
Release Notes for 2.3.0
Feature release (minor)
2.3.0
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Enhancement,dependency update
- 66: Add PHP 8.2 support thanks to @fezfez
2.2.0
Release Notes for 2.2.0
Feature release (minor)
2.2.0
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Enhancement
2.1.0
Release Notes for 2.1.0
Feature release (minor)
2.1.0
- Total issues resolved: 0
- Total pull requests resolved: 6
- Total contributors: 5
Enhancement,dependency update
- 63: Drop support for PHP 7.3 thanks to @gsteel
Enhancement
- 61: Remove dependabot in favor of renovate thanks to @boesing
- 41: Prepare for Renovate with reusable workflows thanks to @ghostwriter
renovate
- 56: Configure Renovate thanks to @renovate[bot]
dependency update
2.0.1
Release Notes for 2.0.1
2.0.x bugfix release (patch)
2.0.1
- Total issues resolved: 2
- Total pull requests resolved: 2
- Total contributors: 2
Bug
2.0.0
Release Notes for 2.0.0
Backwards incompatible release (major)
Added
- Adds support for PHP 8.1
- Adds support for
laminas-cache
v3.0.0
Breaking Changes
- Adapter was marked as
final
2.0.0
- Total issues resolved: 2
- Total pull requests resolved: 4
- Total contributors: 2
BC Break,Enhancement
- 16: Add PHP 8.1 support thanks to @boesing
- 14: Move filesystem interaction to dedicated interface thanks to @boesing and @zigu007
- 13: Provide compatibility for
laminas-cache
v3.0 thanks to @boesing
Enhancement
- 15: Add benchmarks thanks to @boesing
1.1.1
Release Notes for 1.1.1
1.1.x bugfix release (patch)
1.1.1
- Total issues resolved: 0
- Total pull requests resolved: 1
- Total contributors: 1
Enhancement
- 8: Adopt Laminas CI workflow thanks to @Slamdunk