legacyBridge: platform repository history
The history of legacyBridge, one of the platform repositories around Exponential (group: Legacy bridge and site bundles). Read it to learn what the repository gives you, how it relates to Exponential and when it changed. The ledger records 49 changes from 2025-07-01 to 2026-04-17, all made by the se7enxweb team.
What it is
Bridge that runs the Exponential legacy kernel inside the Symfony platform (se7enxweb/legacy-bridge).
How it relates to Exponential
The piece that lets one installation serve both the legacy admin / templates and the Symfony stack.
What a user gets
Run an existing Exponential 6 site beside Platform 3.x / 4.6 / 5.x, with PHP 8.x compatible code and exponential:legacy:* commands.
Install it with Composer (a project that already requires the platform pulls it in by itself):
composer require se7enxweb/legacy-bridgeCommands
Verified in bundle/Command/*.php of the repository (the setName and setDescription of each class). Run them from the Symfony project that hosts the bridge, as php bin/console <name>; php bin/console <name> --help prints the help of each.
| Command | What it does (from the command description) | Deprecated alias (still accepted) |
|---|---|---|
exponential:legacy:init | Prepares a platform installation for legacy usage. | ezpublish:legacy:init |
exponential:legacy:configure | Creates the platform configuration from an existing legacy installation directory. | ezpublish:configure |
exponential:legacy:install-extensions | Installs legacy extensions that Symfony bundles carry (symlink by default) into the legacy extensions directory. | ezpublish:legacybundles:install_extensions |
exponential:legacy:symlink | Installs legacy project settings and design files from src into the legacy directory. | ezpublish:legacy:symlink |
exponential:legacy:assets-install | Installs assets of the legacy installation and the wrapper scripts for the front controllers. | ezpublish:legacy:assets_install |
exponential:legacy:script | Runs a legacy command line script inside the bridge. | ezpublish:legacy:script |
Not run here: these commands need a Symfony project with the bridge installed, which this installation is not. To check, open the command classes named above.
Counts by kind
| Kind | Changes |
|---|---|
| Features | 8 |
| Fixes | 30 |
| Behaviour and upgrade changes | 3 |
| Tooling | 5 |
| Releases | 3 |
Releases made by the se7enxweb team
| Date | Tag | Commit | Change |
|---|---|---|---|
| 2025-08-25 | v2.1.10 | 441d49f | Update LegacyWrapperInstallCommand.php to include bugfix for quoted web dir upon install via composer. Very distressing. Bugfix. |
| 2026-02-25 | v2.1.11 | 9195072 | Replaced SiteDesign=admin2 with admin3 design for long term support and features. Enhancement. |
| 2026-03-25 | 3.0.0.1 | 54aca93 | create 3.x branch for eZ Platform 3.3 / Symfony 5.4 / PHP 8.x |
| 2026-03-25 | 3.0.0.2 | 3da2a70 | relax se7enxweb/ezplatform-xmltext-fieldtype constraint to ^2.0 for Packagist resolution |
| 2026-03-25 | 3.0.0.3 | 7820f65 | replace ezsystems/ezpublish-legacy with se7enxweb/exponential ^6.0.12 for PHP 8.x compatibility |
| 2026-03-26 | 3.0.0.4 | 2079902 | remove KernelInterface constructor for Symfony 5.4 compatibility; use kernel.bundles param in LegacyBundlesPass |
| 2026-03-26 | 3.0.0.5 | 232f212 | Fix TreeBuilder: pass root name to constructor, use getRootNode() for Symfony 5.4 compat |
| 2026-03-26 | 3.0.0.6 | 531ba3b | replace removed Exponential.config.resolver.core with Exponential.config.resolver |
| 2026-03-26 | 3.0.0.7 | 4b484e5 | Fix LegacyConfigResolver: add type declarations for PHP 8.x ConfigResolverInterface compat |
| 2026-03-26 | 3.0.0.8 | 3a0d4e8 | replace deprecated Symfony 4 HttpKernel event class names (GetResponseEvent → RequestEvent, FilterResponseEvent → ResponseEvent) |
| 2026-03-26 | 3.0.0.9 | 09fba84 | Fix REST event namespace for eZ Platform REST bundle |
| 2026-03-26 | 3.0.0.10 | 0a59fbf | Use Twig for legacy response rendering |
| 2026-03-26 | 3.0.0.11 | c4f1e87 | Use legacy storage connection in config mapper |
| 2026-03-26 | 3.0.0.12 | 9251bef | Drop obsolete kernel.name usage |
| 2026-03-26 | 3.0.0.13 | e6af074 | Align HTTP cache purger signatures |
| 2026-03-26 | 3.0.0.14 | 1962ca8 | Fix profiler collector signature |
| 2026-03-26 | 3.0.0.15 | a903e1e | Update Twig loader interfaces |
| 2026-03-26 | 3.0.0.16 | 6cde5d5 | Match installed Twig loader API |
| 2026-03-26 | 3.0.0.17 | 5990076 | Update legacy Twig bridge classes |
| 2026-03-26 | 3.0.0.18 | 85c6b7f | Fix Twig environment typehints |
| 2026-03-26 | 3.0.0.19 | 6cbc9e3 | Stop replacing initialized legacy closures |
| 2026-03-26 | 3.0.0.20 | bf3952c | Stop swapping legacy kernel handlers in console |
| 2026-03-26 | 3.0.0.21 | 891de81 | Use Symfony Contracts events |
| 2026-03-26 | 3.0.0.22 | c8a5224 | Update legacy event dispatching |
| 2026-03-26 | 3.0.0.23 | b9d41db | Select CLI legacy handler in console |
| 2026-03-26 | 3.0.0.24 | 05b2c60 | Inject siteaccess into CLI handler factory |
| 2026-03-26 | 3.0.0.25 | 264f981 | Update login cleanup listener for Symfony 5 |
| 2026-03-27 | v3.0.0.26 | a683980 | Twig 3 compatibility for eZ Platform 3.x |
| 2026-03-27 | v3.0.0.27 | fc8faa3 | register legacy console commands as DI services; refactor LegacyEmbedScriptCommand to use constructor injection instead of deprecated ContainerAwareCo |
| 2026-03-27 | v3.0.0.28 | bdae3a5 | refactor all legacy commands removing deprecated ContainerAwareCommand; use constructor injection for Symfony 5 compatibility |
| 2026-04-06 | v4.0.0.0 | cb08cb4 | Added extra GUI chrome to legacy_admin siteacessses via ngsite extension. Added for UI Compatibility Improvements. Enhancement. |
| 2026-04-07 | v4.0.0.1 | b926fc9 | SQLite: map pdo_sqlite driver + inject absolute DB path into legacy INI |
| 2026-04-16 | v4.0.0.2 | df32ec7 | session.storage removed in Symfony 5.4 factory-based session config |
| 2026-04-17 | v4.0.0.3 | d61370c | fall back to sessionStorage when session service is null on Symfony 5.3+ |
Changes made by the se7enxweb team, by theme
Symfony and platform compatibility (9)
- 2026-03-26
2079902fix: remove KernelInterface constructor for Symfony 5.4 compatibility; use kernel.bundles param in LegacyBundlesPass - 2026-03-26
232f212fix: Fix TreeBuilder: pass root name to constructor, use getRootNode() for Symfony 5.4 compat - 2026-03-26
3a0d4e8fix: replace deprecated Symfony 4 HttpKernel event class names (GetResponseEvent → RequestEvent, FilterResponseEvent → ResponseEvent) - 2026-03-27
a683980fix: Twig 3 compatibility for eZ Platform 3.x - 2026-03-27
bdae3a5fix: refactor all legacy commands removing deprecated ContainerAwareCommand; use constructor injection for Symfony 5 compatibility - 2026-04-04
8317c53fix: Ibexa 4.6 compat - service/param aliases, session mapper, csrf token, cache purger, boot guard, lazy kernel init - 2026-04-04
ed75494fix: Symfony 5.4 compat - create session.storage alias when storage_factory_id is used - 2026-04-06
cb08cb4fix: Added extra GUI chrome to legacy_admin siteacessses via ngsite extension. Added for UI Compatibility Improvements. Enhancement. - 2026-04-16
df32ec7fix: session.storage removed in Symfony 5.4 factory-based session config
Other changes to the fork (9)
- 2026-03-26
c4f1e87fix: Use legacy storage connection in config mapper - 2026-03-26
9251beffix: Drop obsolete kernel.name usage - 2026-03-26
e6af074fix: Align HTTP cache purger signatures - 2026-03-26
6cbc9e3fix: Stop replacing initialized legacy closures - 2026-03-26
bf3952cfix: Stop swapping legacy kernel handlers in console - 2026-03-26
891de81fix: Use Symfony Contracts events - 2026-03-26
c8a5224fix: Update legacy event dispatching - 2026-03-26
b9d41dbfix: Select CLI legacy handler in console - 2026-03-26
05b2c60fix: Inject siteaccess into CLI handler factory
Bug fixes (8)
- 2026-03-25
3da2a70fix: relax se7enxweb/ezplatform-xmltext-fieldtype constraint to ^2.0 for Packagist resolution - 2026-03-26
531ba3bfix: replace removed Exponential.config.resolver.core with Exponential.config.resolver - 2026-03-26
09fba84fix: Fix REST event namespace for eZ Platform REST bundle - 2026-03-26
1962ca8fix: Fix profiler collector signature - 2026-03-26
b2957a2fix: Fix getCurrentUser() -> getPermissionResolver()->getCurrentUserReference()->getUserId() for eZ Platform 3 API - 2026-03-27
fc8faa3fix: register legacy console commands as DI services; refactor LegacyEmbedScriptCommand to use constructor injection instead of deprecated ContainerAwareCo - 2026-04-04
f269b61fix: register legacy_mode under ibexa.site_access.config namespace - 2026-04-17
d61370cfix: fall back to sessionStorage when session service is null on Symfony 5.3+
Composer requirements (6)
- 2025-07-01
75e0f05tooling: Update composer.json switched vendor name - 2025-07-01
d9816e9tooling: Update composer.json replaced package vendor name - 2025-08-24
4b45ba8tooling: Update composer.json to include replacement package vendor name for twig/twig and sensio/distribution-bundle. Forking for changes. - 2025-08-25
8e158d2tooling: Update composer.json testing switch to dev-main for exponential 6.0.x. Testing. - 2025-08-25
3c23639tooling: Update composer.json replacing pacakge name and version back to tagged releases. Testing. - 2025-08-25
441d49frelease: Update LegacyWrapperInstallCommand.php to include bugfix for quoted web dir upon install via composer. Very distressing. Bugfix.
Design and templates (5)
- 2026-03-26
0a59fbffeature: Use Twig for legacy response rendering - 2026-03-26
a903e1efeature: Update Twig loader interfaces - 2026-03-26
6cde5d5feature: Match installed Twig loader API - 2026-03-26
5990076feature: Update legacy Twig bridge classes - 2026-03-26
85c6b7ffeature: Fix Twig environment typehints
PHP 8.x compatibility (4)
- 2025-08-24
7d0dcaefix: Update LegacyWrapperInstallCommand.php to include working change to run ezplatform-legacy with this bundle. This change fixed transparently but not correctly a path bug (...) - 2026-03-25
54aca93fix: create 3.x branch for eZ Platform 3.3 / Symfony 5.4 / PHP 8.x - 2026-03-26
4b484e5fix: Fix LegacyConfigResolver: add type declarations for PHP 8.x ConfigResolverInterface compat - 2026-04-05
6ca1508fix: PHP 8 compat - add int return type and return 0 to Command execute() methods
Package renamed to the se7enxweb vendor (2)
- 2026-03-25
7820f65bc: replace ezsystems/ezpublish-legacy with se7enxweb/exponential ^6.0.12 for PHP 8.x compatibility - 2026-04-04
7b57b96bc: require se7enxweb/exponential dev-main instead of ^6.0.12
Responsive admin design (admin3) (1)
- 2026-02-25
9195072feature: Replaced SiteDesign=admin2 with admin3 design for long term support and features. Enhancement.
Cleanup (1)
- 2026-03-26
264f981release: Update login cleanup listener for Symfony 5
Version numbers (1)
- 2026-04-06
8fc9d52release: Version API/Specific/Release Switch for se7enxweb/ezplatform-xmltext-fieldtype package requirements. Bugfix.
Extensions bundled with the distribution (1)
- 2026-04-06
0719670feature: Altering legacyBridge init_ini settings override installation file site.ini.append.php to test additional configuration items and remove ezmbpaex exte
SQLite support (1)
- 2026-04-07
b926fc9feature: SQLite: map pdo_sqlite driver + inject absolute DB path into legacy INI
Console command names (1)
- 2026-04-07
8cea9e8bc: rename legacy commands to exponential:legacy:* prefix, keep ezpublish:* as deprecated aliases (v4/4.x)