Fix: "ImpulseCore X.Y.Z required, found A.B.C" on module activation
The module you're activating pins a newer ImpulseCore minimum than you have installed. Upgrade Core in place, then re-activate the module.
Last updated 20 days ago
Fix: "ImpulseCore X.Y.Z required, found A.B.C" on module activation
What you're seeing
You clicked Activate on an Impulse module (ImpulseMinio, ImpulseDB Postgres, etc.) in System Settings β Addon Modules, and the activation failed with:
ImpulseCore 1.6.0 required, found 1.4.2The module didn't activate. None of its tables were created, the admin tab won't open, and the row never appeared in Core's Modules-registered table.
Why it happens
Every module ships an impulse_module.json manifest with a core_min_version field. When the activate hook runs, Core's registerModule() compares that minimum against its own installed version. If Core is older, registration fails fast β by design, so a module never silently runs against a Core that's missing facade methods or schema it depends on.
The version is pinned because newer Core releases add facade methods and schema. A module built against Core 1.6 may call ImpulseCore::recordSecurityEvent() or read columns that the 1.4 schema doesn't have.
Fix
- Confirm the version gap. Open Addons β ImpulseCore in WHMCS admin. The Overview tab shows Core's running version. Compare against the version the error names.
- Download the latest ImpulseCore release. Get a release that's at or above the minimum the module requires.
- Upgrade Core in place. Extract the archive over the existing
modules/addons/impulsecore/directory:
cd /path/to/whmcs unzip -o /tmp/impulsecore-X.Y.Z.zip The -o overwrites without prompting. File permissions stay the same; no database action is needed at this step.
- Re-activate ImpulseCore. In System Settings β Addon Modules, click Deactivate on ImpulseCore, then Activate again. The activate hook is idempotent β it migrates the schema in place, leaves existing data alone, and updates the cached version row in
mod_impulsecore_modules. - Now activate the module. Return to System Settings β Addon Modules and click Activate on the module you originally tried. The version check now passes and registration completes.
How to confirm it worked
The Overview tab of ImpulseCore shows the new Core version at the top, and the module you just activated appears in the Modules registered table with its slug, version, and registration timestamp.
If you still see the version error after upgrading, Core wasn't actually re-activated. Toggle it off and on once in Addon Modules β the schema migration only runs on activate.
Why upgrading Core is safe
Core's activate hook is built to be re-run any number of times. Existing rows in mod_impulsecore_* tables stay. New columns are added with safe defaults. Module registrations, audit history, project memberships, and cron task definitions all survive an upgrade.