Features and fixes
Security + stability update to WonderCMS core (index.php) with no intended breaking changes. It hardens module installs/updates, fixes a few long-standing bugs, improves PHP 8.4+ compatibility, and adds an ultra-simple plugin enable/disable mechanism (no file deletion needed) with conflict-prevention for editor/translation plugins.
Changes
- Safer theme/plugin installs & updates
- Login hooks now work
- Plugins load before
loginAction()sologin_success/login_failedlisteners can run reliably
- Plugins load before
- Search fixes
- Fixed broken internal search helper methods
- Improved Simple Blog post search compatibility
- More accurate update checks
- Replaced string compares with
version_compare()for modules + core update checks
- Replaced string compares with
- PHP compatibility / deprecation cleanup
- Explicit nullable params for PHP 8.4+
- Fixed
str_ireplace(..., null, ...)deprecation triggered during plugin deletion on newer PHP
- Plugin enable/disable (new)
- New
config.disabledPluginslist in the DB loadPlugins()skips disabled plugins but still lists them as installed- Settings → Plugins now shows Enable/Disable for installed plugins
- Editor/translation conflict prevention: enabling/installing one editor/translation plugin auto-disables other enabled plugins from the same group (with confirmation prompt)
- New
Backwards compatibility
- No plugin API changes (existing plugins do not need changes).
config.disabledPluginsis optional; if missing, behavior is unchanged.- Note: if a user disables plugins on this version and later downgrades to an older WonderCMS, the older core will ignore
disabledPluginsand those plugins will load again (expected).
How to update
- Log into your WonderCMS website and create a backup of your website through WonderCMS -> Security.
- Click "Update".
- If update isn't visible, open Settings -> Themes and click "Check for updates".
Installation
- Unzip and upload the files wherever you want WonderCMS installed and visit that URL.
- SHA-256 signature: 14985f23f6a0766d251b48cda54579a1188ea56226c340059efd6c552ade9382