3.2 released 9 August 2021, latest 3.2.47.
Vue 3.2 reached end of life on 11 May 2023.
What changed
Vue 3.2 made several Composition API and single-file component capabilities production-ready or more practical than in earlier Vue 3 releases. It stabilized <script setup>, giving components a more concise Composition API authoring format with compiler macros such as defineProps and defineEmits. It added CSS v-bind() support in single-file component styles, allowing reactive component state to feed CSS custom properties, and introduced v-memo for selectively skipping updates to subtrees when declared dependencies have not changed. The cycle also improved custom-element support through defineCustomElement, expanded server-side-rendering capabilities, and included compiler and runtime performance work. These additions built on Vue 3 rather than changing the fundamental Vue 3 application model, but projects that adopted them may have source code and build tooling specifically shaped around 3.2 behavior.
What staying costs
Vue 3.2 has reached end of life, so remaining on it leaves the application without maintenance fixes from the Vue project. The practical risk is not only unresolved defects or security-relevant issues in the framework and its rendering paths; it is also growing incompatibility with maintained Vue ecosystem packages, build tooling, TypeScript integrations, test tools, and browser-facing dependencies. Teams can become unable to take routine dependency updates without first resolving their Vue version gap. Because 3.2 introduced compiler-driven features such as <script setup>, CSS v-bind(), and v-memo, an upgrade should also account for compiler, runtime, and single-file-component tooling moving together. Updating only the vue runtime while retaining an older compiler or plugin stack can create build-time or runtime inconsistencies.
What to do
Plan an upgrade from 3.2 to the current maintained Vue 3 release, rather than treating 3.2 as a supported baseline. Inventory direct and transitive Vue packages, including vue, @vue/compiler-sfc, server-renderer where applicable, router, state-management libraries, component libraries, testing utilities, and the Vite or webpack Vue integration. Upgrade the Vue runtime and matching compiler packages together, then align the framework plugin and associated tooling to versions documented as compatible with the selected Vue release. Review the Vue migration guidance and the changelogs spanning the intervening 3.x releases for deprecated APIs, changed compiler behavior, SSR and hydration fixes, and TypeScript changes. Run type checks, production builds, unit tests, end-to-end tests, and manual checks of routing, forms, transitions, custom elements, and SSR hydration if used. Deploy through a staged rollout with client-side error and performance monitoring, and keep the resulting Vue and compiler versions pinned and regularly updated within the maintained line.
We can tell you what moving off Vue 3.2 involves.
What it takes to move off Vue 3.2 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.
