We’re happy to announce that October CMS v4.2 will be released this month. This release includes a few important platform updates:
- Vue 3 Migration: The backend has been fully upgraded from Vue 2 to Vue 3
- ESM Module Support: JavaScript assets now use native ES modules
- eCommerce: Yes, finally!
Vue 3: What does this mean for you?
Most sites will be completely unaffected.
Vue is only used in the backend (editor and dashboard). If your plugin does not register Vue components, extend the editor, or ship custom Vue-based JavaScript, no changes are required.
For Plugin Authors Using Vue Components
If your plugin registers Vue components (via VueComponentBase), editor extensions, or uses any Vue-related JavaScript, this update will require changes to your code.
What changed:
-
Vue.component()global registration is replaced by ESMexport default(VueMaker handles registration) -
oc.Modules.register()/oc.Modules.import()are replaced by ESMimport/export -
$componentNameis now required on allVueComponentBaseclasses , an exception will be thrown if not defined - Editor extensions now register via
oc.editorExtensions['namespace']instead of the module system - Lifecycle hooks:
beforeDestroy→beforeUnmount,destroyed→unmounted - Event bus:
$on/$off/$emiton Vue instances replaced by mitt -
$childrenremoved — use template refs instead -
Vue.set()/Vue.delete()removed — direct assignment works with Vue 3 reactivity -
Vue.extend()replaced byoc.createVueApp() - Complex class instances in reactive data should use
Vue.markRaw()to prevent browser freezing
Recommended Composer strategy:
If your plugin currently supports both v3 and v4 in the same major release, you may want to adjust your version constraints to keep upgrades predictable. One approach is to release a patch to your current major version that limits compatibility to pre-4.2:
"october/rain": "^3.0 || ^4.0 <4.2"
Then release a new major version with Vue 3 support that requires v4.2:
"october/rain": "^4.2"
This keeps existing installs stable while giving you room to introduce Vue 3 support cleanly in a new major version.
We’ll be sharing more detailed migration guidance and documentation closer to release. If you have questions, don’t hesitate to reach out.