October CMS v4.2 is Coming: Vue 3, ESM & eCommerce

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 ESM export default (VueMaker handles registration)
  • oc.Modules.register() / oc.Modules.import() are replaced by ESM import / export
  • $componentName is now required on all VueComponentBase classes , an exception will be thrown if not defined
  • Editor extensions now register via oc.editorExtensions['namespace'] instead of the module system
  • Lifecycle hooks: beforeDestroybeforeUnmount, destroyedunmounted
  • Event bus: $on / $off / $emit on Vue instances replaced by mitt
  • $children removed — use template refs instead
  • Vue.set() / Vue.delete() removed — direct assignment works with Vue 3 reactivity
  • Vue.extend() replaced by oc.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.

8 Likes