| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Exponential 6.0.14 source code.tar.gz | 2026-06-07 | 23.4 MB | |
| Exponential 6.0.14 source code.zip | 2026-06-07 | 29.3 MB | |
| Exponential CMS 6.0.14 source code.tar.gz | 2026-06-07 | 23.4 MB | |
| Exponential CMS 6.0.14 source code.zip | 2026-06-07 | 29.3 MB | |
| README.md | 2026-06-07 | 4.8 kB | |
| Totals: 5 Items | 105.4 MB | 0 | |
Overview
6.0.14 is a significant feature and bugfix release. The headline addition is full MongoDB 8 database adapter support, enabling the entire CMS kernel to run against MongoDB in place of MySQL/MariaDB/SQLite/PostgreSQL. Alongside this, a broad sweep of cross-database compatibility fixes was performed — including hardening the setup wizard for shared-hosting MySQL deployments.
New Features
MongoDB 8 Database Adapter
A complete new database backend (lib/ezdb/classes/expmongodb.php) implementing eZDBInterface for MongoDB 8.x via the mongodb/mongodb PHP library:
- Returns
'mongo'fromdatabaseName()— used as the branch sentinel throughout the kernel - Provides
aggregate(),insert(),upsert(),mongoUpdateOne(),mongoUpdateMany(),mongoDeleteOne(),deleteWhere() - Reads connection parameters from the standard
[DatabaseSettings]block insite.ini— no separate config file needed
Schema handler (lib/ezdbschema/classes/expmongoschema.php): no-op for all SQL DDL since MongoDB is schema-free.
Setup wizard integration:
ezstep_database_choice.php— adds MongoDB as a selectable type; validates PHP extension and Composer package availabilityezstep_create_sites.php— skips MySQL-specific post-install steps for MongoDBezstep_installer.php— routes schema install toexpMongoSchema- New info template:
design/standard/templates/setup/db/mongodb_info.tpl
Migration tooling (bin/mongodb/):
| Script | Purpose |
|---|---|
export_mysql.sh |
Dump each eZ table to NDJSON |
mysql2ndjson.py |
Normalise MySQL NULL/int/bool types |
fixup_ndjson.py |
Second-pass edge-case fixer |
validate_ndjson.sh |
Validate NDJSON before import |
import_all.sh |
Drive mongoimport (idempotent) |
create_indexes.js |
Create all indexes needed by kernel aggregate pipelines |
Full design and compatibility doc: doc/bc/6.0/MONGODB_KERNEL_SUPPORT_EXPANSION.md (~4,800 lines covering architecture, per-subsystem porting, datatype matrix, and known limitations).
Bug Fixes
Setup Wizard: Shared-Hosting MySQL (No Root Required)
ezstep_installer.php: copy explicitdbnameinto$dbParameters['database']so the connection targets the application database directly — no system-level grants needed.ezstep_site_details.php: removed legacy$dbName = 'mysql'hardcode (which requiredSHOW DATABASESprivilege). Whendbnameis provided, connect directly and pre-populate the dropdown.ezurlaliasml.phpstorePath(): wrapped MongoDB-specific block indatabaseName() === 'mongo'guard — previously everystorePath()call on MySQL/SQLite/PostgreSQL crashed with "Call to undefined method eZMySQLiDB::aggregate()".
Setup Wizard: PostgreSQL Re-run on Existing Database
ezpgsqlschema.php:CREATE SEQUENCE/TABLE→IF NOT EXISTSezdbschemainterface.phpinsertSchema(): skip schema creation and data insertion for tables that already existezpostgresqldb.phpcorrectSequenceValues(): replaced deprecatedpg_attrdef.adsrc(removed in PG 12) withpg_get_expr(pg_attrdef.adbin, pg_attrdef.adrelid)
Admin Templates / JS
browse.tpl: removed{if is_string(...)}guard that suppressed integerPersistentDatavalues — fixing the Copy content action.- Node full view template: initialise
js_class_languagesas'[]'not empty string — prevents JS parse error inClassMenuonclick handler. node_tabs.js: replaced deprecated jQuery.size()with.length(removed in jQuery 3.x) — restores tab selection and cookie-based tab restore.
Chores / Maintenance
- Copyright year bumped 2025 → 2026
- Standard design logo updated to Exponential PNG
- Default new-installation package version moved from 6.0.10 → 6.0.14
autoload/ezp_kernel.php:expMongoDBandexpMongoSchemamoved to correct alphabetical positionshare/filelist.md5regenerated;generatefilelist.shgained--include=<key>option and fixed an--include=parsing bug
Upgrade Note
- MySQL shared hosting: setup wizard no longer requires
SHOW DATABASESor root access. - MongoDB: new installations can select MongoDB 8 from the setup wizard. Existing MySQL installs can migrate via
bin/mongodb/. See known limitations indoc/bc/6.0/MONGODB_KERNEL_SUPPORT_EXPANSION.md§26. - jQuery: any custom code using
.size()should be updated to.length.