Blogs / 7x / 7x Releases Exponential Platform Legacy 3.3.44.7

7x Releases Exponential Platform Legacy 3.3.44.7

Saturday 18 April 2026 7:54:24 pm

  • Currently 3 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

By : Graham Brookins

Rebooting our free software community software distribution of this Very Powerful Symfony CMS Framework with Full Legacy Bridge Support!

7x is happy to announce that we are now releasing the newly rebranded and improved Exponential Platform Legacy 3.3.44.7 (Based upon Platform v3.3 + Legacy Bundle) available now for download, installation, upgrade.

This release is our fourth as Exponential Platform Legacy. The software is exactly the same as before as you expect it to be, with a simple text change to the software to replace the product name and remove the trademarked term.

Upgrade process for existing installations has not changed at all. New installations work as expected. Freedom for the Exponential Community is retained and stable for general use! No slowdowns here, full speed ahead! Try out the new features today by downloading the software package now available (tar.gz or zip)!

Introducing Exponential Platform Legacy 3.x — Full Symfony 5 Stack, SQLite Zero-Config, and 7x Stability Patches Through v3.3.44.7

April 2026 — 7x (se7enxweb), North American stewards of Exponential Platform

We are pleased to announce the first public announcement of the Exponential Platform Legacy 3.x release line. The 3.x series delivers the complete eZ Publish legacy CMS running on Symfony 5 and PHP 8.0 through PHP 8.4 — the first fully-supported open-source distribution of this stack. This announcement covers all releases from the initial preview at v3.0.0.0 through the current stable release at v3.3.44.7, released April 2026.

The 3.x branch is available now on GitHub and SourceForge. Install with:

What Is Exponential Platform Legacy 3.x?

Exponential Platform Legacy 3.x is the open-source distribution of the eZ Platform 3.3.x stack — the Symfony 5 generation of the platform — maintained by 7x as free, GPL-licensed software. It ships the full dual-kernel experience: the modern eZ Platform 3.3 stack (Admin UI, REST API v2, GraphQL, Solr search) running alongside the eZ Publish legacy kernel via the LegacyBridge, on a single Composer install.

The 3.x series bridges the gap between the 2.5.x Symfony 3.4 line and the 5.x Symfony 7 line, giving users who depend on the Symfony 5 generation of the platform a fully maintained, installable distribution for the first time.

Technology stack (3.x):

  • eZ Platform 3.3.x / Symfony 5
  • PHP 8.0, 8.1, 8.2, 8.3, 8.4 (all tested)
  • MySQL 8.0, MariaDB 10.6, PostgreSQL 14+, SQLite 3.35+ (zero-config local development)
  • se7enxweb/legacy-bridge ^3.0.0.34 — full eZ Publish legacy kernel integration
  • se7enxweb/ezplatform-kernel ~1.3.43 — locked to the tested-compatible minor
  • se7enxweb/ngsymfonytools 4.x — Twig integration for legacy templates
  • se7enxweb/richtext-datatype-bundle 2.0.x — RichText field type for legacy kernel
  • Webpack Encore + Symfony UX Stimulus (scaffolded)

Release History: v3.0.0.0 through v3.3.44.7

The 3.x line has shipped eight releases since its preview debut. Each is described below in chronological order.

v3.0.0.0 — Preview Release (March 30, 2026)

The first preview release of the 3.x line. Established the foundational working state of the stack: the default welcome page and route tested working under Twig 3 / Symfony 5 / Symfony 7 LTS; the Administrator and Admin UI tested without issues; the LegacyBridge working without issues. PHP 8.0 through PHP 8.4 support confirmed.

This release also established the Exponential Platform open-source project website and the Platform documentation site.

v3.3.44.0 — Feature and Documentation Release (April 8, 2026)

The first stable feature release of the 3.x line. This release delivers substantial feature development, infrastructure improvements, two new in-tree Symfony bundles, a full CSS architecture overhaul, an expanded template system, and a comprehensive rewrite of all documentation since the v3.0.0.0 preview.

New: exponential-oss Installer Type + SQLite Zero-Config Support

  • Added src/Installer/ExponentialOssInstaller.php — registers the exponential-oss install type for ezplatform:install and ibexa:install commands
  • On SQLite: overrides the base data directory to the project data/ directory so the bundled data/sqlite/cleandata.sql is used (the vendor kernel ships no SQLite seed data)
  • On MySQL/PostgreSQL: delegates entirely to CoreInstaller via parent — no behaviour change for existing installations
  • New data/sqlite/cleandata.sql (1,156 lines) — SQLite-compatible seed data adapted from data/mysql/cleandata.sql; 156 schema queries, 104 seed queries, 124 tables, fully tested
  • SQLite 3.35+ added as a supported zero-config database for development, testing, and air-gapped deployments
  • .env updated: SQLite DSN documented as the first DATABASE_URL example with an env-aware path; PostgreSQL example also added

New: ExponentialPlatformLegacyInjectedSettingsBundle (in-tree)

A new in-tree Symfony bundle that replicates the netgen_site_legacy injected_settings / injected_merge_settings capability, removing a Netgen runtime dependency from the skeleton:

  • LegacyInjectedSettingsSubscriber listens on LegacyEvents::PRE_BUILD_LEGACY_KERNEL (priority 64); applies global scalar overrides then per-siteaccess overlays
  • Full per-siteaccess override support for site, adminui, and legacy_admin
  • Registered in config/bundles.php with explicit DI wiring via Resources/config/services.yaml
  • Ships with README.md, INSTALL.md, USAGE.md, and standalone composer.json

New: ExponentialPlatformLocationChildrenTwigHelper (in-tree)

  • Twig extension providing a location children helper for templates
  • Ships with README.md, INSTALL.md, and standalone composer.json

CSS Architecture Overhaul

All inline <style> blocks removed from Twig templates and consolidated into a single SCSS source of truth:

  • New SCSS partial assets/sass/_sevenx_content_website_app.scss (1,377 lines) — centralises all design rules previously scattered across template style blocks
  • Rules migrated: lp-* portal shell utilities, rainbow animation keyframes, homepage layout (~268 lines), info-folder view layout (~448 lines), responsive grid media blocks, video.js play-button overrides
  • Email templates deliberately not migrated (inline CSS required by email clients)

Asset Cache Busting Fix

  • templates/themes/standard/parts/page_head.html.twig: replaced hardcoded assets/app/build/index.css path with manifest-aware encore_entry_css_files('index', 'app') — emits content-hashed filenames; works correctly in both dev and prod environments
  • webpack.config.default.js: .enableVersioning() now always enabled (was previously gated on isProduction()) — eliminates stale-cache issues in dev builds

Template System: Partial Architecture and New Themes

New shared partial system eliminating approximately 340 lines of duplicated inline code:

  • standard/parts/content_hero.html.twig — shared hero header partial (breadcrumb, H1, badge row, quick-reference pills)
  • standard/parts/content_sidebar.html.twig — sidebar coordinator (4 widget cards: metadata, navigate, rest_api, ecosystem)
  • standard/parts/content_sidebar_infos.html.twig — sidebar coordinator for info views (6 widgets: design_notice, filter_chips, stats_card, quicklist_card, schema_card)
  • New themes added: sevenx_content_website_app, sevenx_content_website_app_info, standard (with full user templates: login, register, forgot/reset password flows)
  • layout_container.html.twig for root location rendering with LegacyBridge srcdoc iframe and auto-height expansion script
  • Theme directory names normalised: hyphens converted to underscores (the eZ Design Engine requires underscore keys in design_list)

Configuration and Infrastructure

  • AppExtension prepend alias map fixed: prependExtensionConfig('ibexa', ...) was being silently discarded; now correctly maps both ibexa and platform subdirectory names to ezpublish
  • config/app/prepends/ibexa/ renamed to prepends/platform/ — aligns directory name with project identity
  • config/app/packages/legacy.yaml: full injected_settings and injected_merge_settings block for SiteDesign, DatabaseSettings, ExtensionSettings, SiteList, AvailableSiteAccessList, SiteAccessRules; per-siteaccess overrides for site, admin, and legacy_admin
  • content_view.yaml: full-view rules added for user_group and user content types
  • Static analysis scaffolding added: phpstan.dist.neon, .php-cs-fixer.dist.php
  • Symfony UX Stimulus controllers scaffolded (assets/controllers/, assets/bootstrap.js, assets/app.js)
  • behat.yml.dist added for acceptance testing scaffolding
  • Security compiler passes: SecurityListener.php, SecurityListenerOverridePass.php, XslRegisterPass.php

Command Prefix Convention: exponential:* is now canonical

All command examples throughout the codebase and documentation updated to the exponential:* / exponential:legacy:* canonical prefix:

  • ezplatform:installexponential:install
  • ezplatform:reindexexponential:reindex
  • ezpublish:legacy:scriptexponential:legacy:script
  • ezplatform:content:cleanup-versionsexponential:content:cleanup-versions

Commands not yet migrated to the new prefix are annotated with (not yet migrated) in the documentation.

Documentation

  • README.md fully rewritten — shields badges, project notice, technology stack table, requirements, Quick Start with SQLite zero-config option, main features list, CLI commands reference, branching and versioning, full COPYRIGHT and LICENSE sections
  • doc/INSTALL.md fully rewritten across 24 sections — architecture overview, composer create-project primary install path, cross-platform Node.js install tables, SQLite zero-config walkthrough (Section 5c), Docker section, Deployer section, complete database conversion paths (MySQL/MariaDB, PostgreSQL, SQLite, Oracle — all conversion directions documented), complete CLI reference, Makefile target docs

v3.3.44.1 — Patch Release: PHP 8 / Symfony 5 Compatibility (April 11, 2026)

Patch release resolving runtime compatibility issues when running the eZ Platform 3.x legacy bridge stack on PHP 8 / Symfony 5. Includes SQLite seed data fixes, webpack build fixes, security hardening, and a full set of legacy INI settings for the legacy_site siteaccess.

Compatibility Fixes

  • se7enxweb/legacy-bridge pinned to ^3.0.0.34 — pulls in all PHP 8 / Symfony 5 runtime fixes: SQLite driver alias (sqlite3 not pdo_sqlite); getPermissionResolver()->setCurrentUserReference() replacing removed setCurrentUser(); LegacyToken abstract method implementations (getRoleNames(), __serialize(), __unserialize()); SQLite path-to-database INI parameter mapping; logout crash fixed via security.yaml logout.target: /login
  • se7enxweb/ezplatform-kernel pinned to ~1.3.43 — locked to the tested-compatible minor
  • config/bundles.php: registered NetgenRichTextDataTypeBundle

Legacy INI Settings

  • ezpublish_legacy/settings/override/site.ini.append.php: updated to activate all required extensions (ngsymfonytools, ezrichtext, ezplatformsearch, sevenx_themes_simple, bcwebsitestatistics); legacy_site added to SiteList and AvailableSiteAccessList; MatchOrder=host;uri; HostMatchMapItems for platform/edit hostname routing
  • ezpublish_legacy/settings/siteaccess/legacy_admin/site.ini.append.php: SiteDesign=admin3 (corrected from admin2); AdditionalSiteDesignList fallback chain (admin3 → admin2 → admin → standard → base); eng-US added to SiteLanguageList

Symfony / Siteaccess Config

  • config/app/packages/ezpublish_siteaccess.yaml: legacy_site siteaccess group added with legacy_mode: true
  • config/app/packages/legacy.yaml: SiteDesign set to simple; per-siteaccess block added for legacy_site

Build / Asset Fixes

  • encore.config.js / ez.config.setup.js: path resolution bugfix preventing webpack build failure
  • sass-loader upgraded to modern API — removes deprecation warnings in Node 20 builds

SQLite Data Fix

  • data/sqlite/cleandata.sql: unescaped backslash-escaped quotes and \n sequences that caused SQLite parse errors during exponential:install

Security

  • Logout now redirects to /login instead of crashing with a null user reference on /adminui/

Assets

  • public/assets/images/exponentialplatform.png added

Dependency ecosystem changes in this release

  • se7enxweb/legacy-bridge 3.x: requires ngsymfonytools ^4.0, richtext-datatype-bundle 2.0.x-dev
  • se7enxweb/richtext-datatype-bundle 2.0.x: uses ez_richtext_to_html5 Twig filter (eZ Platform 3.x); all Ibexa\ namespaces restored to EzSystems\eZ\
  • se7enxweb/ngsymfonytools 4.x: uses twig service (Symfony 5 removed templating); correct ezpublish.api.repository service ID

v3.3.44.2 — Documentation Patch (April 11, 2026)

Micro-patch adding a missing required installation step to the SQLite install walkthrough in doc/INSTALL.md. Section 5c (SQLite install walkthrough) now includes Step 6 — Regenerate legacy extension autoloads (php bin/console ezpublish:legacy:generate-autoloads). Without this step, the legacy kernel cannot locate extension classes after a fresh install, causing runtime null-object errors such as Call to a member function attribute() on null in LegacyMapper/Security.php. No code changes.

v3.3.44.3 — Apache Configuration (April 11, 2026)

Micro-patch adding public/.htaccess to version control. This file was previously excluded by .gitignore and is required for Apache-based deployments. The file covers:

  • APP_ENV=dev default via SetEnvIf (overridable per virtual host)
  • gzip compression for all text, CSS, JS, XML, and JSON content types
  • URL rewrite rules: strips /index.php prefix via 301 redirect, Let's Encrypt ACME challenge passthrough, blocks executable file access under var/
  • Static passthrough rules for var/storage/images, design/, share/icons/, extension/ assets, favicon, bundles/, assets/, build/
  • Commented-out maintenance mode stubs and cluster/DFS image streaming rules ready to activate when needed

v3.3.44.4 — Automatic Legacy INI Settings Install (April 11, 2026)

composer.json now includes ScriptHandler::installIniSettings in project-scripts, which runs before ezpgenerateautoloads.php on every composer install and composer update. All legacyBridge init_ini settings — including the legacy_site siteaccess directory — are now copied automatically into settings/ without any manual step.

Existing customised settings files are not overwritten. If upgrading from v3.3.44.3, run composer update se7enxweb/legacy-bridge and the INI files will be copied on the next Composer run.

v3.3.44.5 — AlloyEditor Fork: Zero Classmap Ambiguity Warnings

  • Replaced contextualcode/ezplatform-alloyeditor-element-width with se7enxweb/ezplatform-alloyeditor-element-width (now on Packagist)
  • The se7enxweb fork provides a replace shim for the contextualcode original and switches its dependencies from ezsystems/* to se7enxweb/*
  • Classmap ambiguity warnings eliminated: 1,159 warnings → 0 on composer dump-autoload

v3.3.44.6 — Bundle Registration Cleanup + Solr and DoctrineSchema Fixes

config/bundles.php

Removed 12 stale duplicate bundle registrations — the original ezsystems/* bundles that are no longer needed now that all packages are resolved through the se7enxweb/* fork ecosystem. The se7enxweb forks register their classes under the same fully-qualified class names, so having both caused conflicts:

  • EzSystems\EzPlatformDesignEngineBundle\EzPlatformDesignEngineBundle
  • EzSystems\EzPlatformRichTextBundle\EzPlatformRichTextBundle
  • EzSystems\EzPlatformUserBundle\EzPlatformUserBundle
  • EzSystems\PlatformHttpCacheBundle\EzSystemsPlatformHttpCacheBundle
  • Ibexa\Platform\Bundle\Search\IbexaPlatformSearchBundle
  • EzSystems\EzPlatformCronBundle\EzPlatformCronBundle
  • EzSystems\EzPlatformStandardDesignBundle\EzPlatformStandardDesignBundle
  • EzSystems\EzPlatformAdminUiBundle\EzPlatformAdminUiBundle
  • EzSystems\EzPlatformAdminUiAssetsBundle\EzPlatformAdminUiAssetsBundle
  • EzSystems\EzPlatformMatrixFieldtypeBundle\EzPlatformMatrixFieldtypeBundle
  • EzSystems\EzPlatformGraphQL\EzSystemsEzPlatformGraphQLBundle
  • ContextualCode\EzPlatformAlloyEditorElementWidth\EzPlatformAlloyEditorElementWidthBundle

Added 2 missing bundle registrations that were being stripped by Symfony Flex recipe cleanup:

  • EzSystems\DoctrineSchemaBundle\DoctrineSchemaBundle — required after DoctrineMigrationsBundle by EzSystemsPlatformInstallerBundle::build()
  • EzSystems\EzPlatformSolrSearchEngineBundle\EzSystemsEzPlatformSolrSearchEngineBundle — required by config/packages/ezplatform_solr.yaml

composer.json

Added two root-level replace entries to suppress duplicate packages being resolved alongside their se7enxweb/* fork equivalents, eliminating Ambiguous class resolution warnings on composer dump-autoload:

  • se7enxweb/ezpublish-legacy-installer
  • ezsystems/doctrine-dbal-schema

Related upstream fixes in this release

  • se7enxweb/sevenx-recipes v1.2.0 — Flex recipes now auto-register DoctrineSchemaBundle and EzSystemsEzPlatformSolrSearchEngineBundle on fresh installs
  • se7enxweb/oss v3.3.0.5 — se7enxweb/ezplatform-alloyeditor-element-width added to the OSS metapackage

v3.3.44.7 — Restore 7 Missing Bundle Registrations (Current Stable)

The v3.3.44.6 cleanup removed bundle registrations that were incorrectly identified as stale but are actually required for composer update post-scripts to pass. This caused post-scripts to fail with Symfony config namespace errors. The following seven bundles have been restored:

  • EzPlatformDesignEngineBundle — required for the ezdesign config namespace
  • EzPlatformAdminUiBundle — required for content_tree_module and subtree_paths options
  • EzPlatformUserBundle — required for user_settings_update_view option
  • IbexaPlatformSearchBundle — required for search_view option
  • EzSystemsPlatformHttpCacheBundle — required for varnish_invalidate_token option
  • EzPlatformRichTextBundle — required for the ezrichtext config namespace
  • EzSystemsEzPlatformGraphQLBundle — required for FieldDefinition GraphQL type resolution

Related fix in this release

  • se7enxweb/ezplatform-graphql v2.3.20 — fixed hardcoded /vendor/ezsystems/ezplatform-graphql path corrected to /vendor/se7enxweb/ezplatform-graphql so GraphQL types load correctly

All 4 composer post-scripts now pass cleanly:

  • bazinga:js-translation:dump
  • assets:install
  • ezpublish:legacy:assets_install
  • ezpublish:legacybundles:install_extensions

What's Coming Next in 3.x

  • PHP 8.5 and PHP 8.6 compatibility testing and fixes
  • Oracle runtime database support evaluation
  • Migration of remaining ezplatform:cron:run, ezplatform:graphql:generate-schema, and ezpublish:legacy:clear-cache / generate-autoloads to the exponential:* canonical prefix
  • Demo design refinements for a faster getting-started experience
  • Further rebranding pass

Support the Project

The 3.x release line — eight releases in one week — is the work of 7x (se7enxweb), maintained as free, GPL-licensed software. If your project depends on this stack, please consider supporting it:

Download and Resources

Exponential Platform is not affiliated with eZ Systems or Ibexa. All software is GPL-licensed and free. 7x (se7enxweb) is the North American company that has maintained this platform and its ecosystem for 24+ years.