Skip to content

6.4.0

Choose a tag to compare

@datasage datasage released this 04 Aug 16:20
· 9 commits to 6.4.x since this release

First release of the datasage fork. Modernises the dependency surface and adds PHP 8.5 support.

Supported PHP: 8.2 – 8.5. PHP 8.1 is dropped.

Cache: laminas-cache → PSR-6

  • doctrine.cache.* services now resolve to Psr\Cache\CacheItemPoolInterface instead of the abandoned Doctrine\Common\Cache\Cache.
  • Pre-configured pools are provided by symfony/cache. psr/cache is accepted at ^1.0 || ^2.0 || ^3.0, since only the interface is consumed.
  • Cache\LaminasStorageCache and Cache\DoctrineCacheStorage are removed, along with the top-level caches configuration. The filesystem cache directory moves to doctrine.cache.filesystem.directory.
  • Any PSR-6 implementation can be plugged in: an instance service that already implements CacheItemPoolInterface is used as-is.

Annotations removed

  • doctrine/annotations is dropped. Mapping must be declared with PHP attributes.
  • Options\Driver::getCache() is removed. setCache() remains as a deprecated no-op so existing driver configuration keeps loading.

Dependencies

Removed: doctrine/cache, doctrine/annotations, laminas/laminas-cache (+ storage adapters), composer/semver, composer-runtime-api.

Moved to suggest: laminas/laminas-mvc and doctrine/doctrine-laminas-hydrator. Neither was used by src/, and both blocked PHP 8.5 — laminas-mvc has no 8.5 release on any branch, and the hydrator's only 8.5-capable version would have forced every consumer onto ORM 3.

Widened:

Package Was Now
doctrine/collections ^2.0 ^2.0 || ^3.0
doctrine/persistence ^3.0 ^3.0 || ^4.0
psr/container ^1.1 ^1.1 || ^2.0
symfony/console ^6.2 || ^7.0 ^6.2 || ^7.0 || ^8.0
laminas/laminas-servicemanager ^3.17 ^3.17 || ^4.0
laminas/laminas-validator ^2.25 ^2.25 || ^3.0
laminas/laminas-paginator ^2.13 ^2.13 || ^3.0

doctrine/orm 2.20 remains resolvable on PHP 8.5, so no ORM 2 → 3 migration is forced.

CLI

bin/doctrine-module no longer requires laminas-mvc. It still boots a full MVC application when laminas-mvc is installed — preserving module onBootstrap() listeners — and wires the module manager directly otherwise.

Upgrading

  • Consumers reading doctrine.cache.* as a Doctrine\Common\Cache\Cache must move to the PSR-6 API.
  • Anything overriding the caches config must move to doctrine.cache.*.
  • DoctrineORMModule and DoctrineMongoODMModule need matching releases; the conflict bounds require 6.4.0 and 5.4.0 respectively.

Verified by resolving and running the suite inside real PHP 8.2, 8.3, 8.4 and 8.5 containers, plus --prefer-lowest on 8.2.