v3.0.0.34
Full Changelog: v3.0.0.33...v3.0.0.34
Tag: v3.0.0.34
Branch: 3.x
Date: April 11, 2026
What's Changed
This release delivers full eZ Platform 3.x / Symfony 5.4 / PHP 8 compatibility for the legacy bridge, including a comprehensive set of fixes accumulated across the 3.x branch plus new dependency declarations to ensure correct package resolution.
Dependencies
- Added
se7enxweb/ngsymfonytools ^4.0as a direct dependency — replacesnetgen/ngsymfonytools 2.xwhich had been migrated toIbexa\namespaces incompatible with eZ Platform 3.x - Added
se7enxweb/richtext-datatype-bundle dev-2.0.xas a direct dependency — pins to the eZ Platform 3.x compatibility branch of the richtext legacy datatype bridge
eZ Platform 3.x API Compatibility
- Replaced deprecated
setCurrentUser()withgetPermissionResolver()->setCurrentUserReference()inRequestListener - Replaced deprecated
getCurrentUser()calls withgetPermissionResolver()->getCurrentUserReference()->getUserId() - Fixed
LegacyToken— added required abstract method implementations:getRoleNames(),__serialize(),__unserialize()
SQLite Support
- Fixed
DatabaseImplementationalias:ezsqlite3→sqlite3inConfiguration.php - Added Doctrine SQLite
pathparameter mapping to legacyDatabaseINI setting - Added
pdo_sqlitedriver mapping to theezsqlite3legacy handler
Symfony 5 / PHP 8 Compatibility
- Refactored all legacy console commands removing deprecated
ContainerAwareCommand; use constructor injection throughout - Registered legacy console commands as DI services
- Fixed Twig 3 compatibility for eZ Platform 3.x template rendering
- Updated login cleanup listener for Symfony 5
- Updated legacy event dispatching to use Symfony Contracts events
Configuration
- Fixed
legacy_adminsiteaccess: addedadmintoRelatedSiteAccessList,eng-UStoSiteLanguageList - Renamed console commands to
exponential:legacy:*prefix;ezpublish:legacy:*retained as deprecated aliases
Upgrade Notes
If your project previously declared se7enxweb/ngsymfonytools or se7enxweb/richtext-datatype-bundle directly in your root composer.json, those entries can be removed — they are now managed as transitive dependencies of this package.