The Vue 2 repo, now a legacy source tree

vuejs/vue is the Vue 2 source repository. That sentence matters more than the star count. The README now opens with an end-of-life notice: Vue reached EOL on December 31, 2023, and no longer receives new features, updates, or fixes. The actively maintained repository for the latest Vue is vuejs/core.

The repo is still historically important. Vue 2 shaped a decade of frontend development: approachable templates, single-file components, a gentle learning curve, a flexible ecosystem, and a runtime that many production apps still carry. But for searchers landing here in 2026, the right question is no longer “should I start with this framework?” It is “what do I do with existing Vue 2 code?”

That makes this page different from a normal framework page. The value of vuejs/vue today is source reading, migration planning, bug archaeology, and legacy maintenance. If you are creating a new application, the answer is simpler: start with Vue 3.

What this repository contains

Vue 2 is a progressive framework for building user interfaces. The repository includes the runtime core, compiler, platform-specific browser code, server-side renderer, single-file component parser, shared utilities, type declarations, tests, build scripts, and distribution build configuration.

The contribution guide describes the structure clearly. src/core contains platform-agnostic runtime code: observer, virtual DOM, instance methods, global API, and abstract components. src/compiler converts templates into render functions through parsing, optimization, and code generation. src/platforms injects browser-specific runtime and compiler behavior. src/server handles SSR. src/sfc parses Vue single-file components. The packages area includes Vue 2 packages such as vue-server-renderer, vue-template-compiler, and the compiler SFC pieces introduced for the 2.7 line.

That structure is useful for anyone debugging a Vue 2 app. It tells you where to look when a problem touches reactivity, slots, compiler output, SSR, browser patching, or type declarations.

The EOL line changes the decision

As of 2026-06, the local snapshot shows more than 209,000 stars and more than 33,000 forks. Those numbers reflect Vue 2’s historical reach, not current product direction. The repo is not archived, and it had pushes after the EOL notice, including spelling and link fixes. But the README states the maintenance boundary plainly: no new features, updates, or fixes.

The final release visible through GitHub is v2.7.16, published on December 24, 2023, with the release name “Swan Song.” That name is not subtle. Vue 2.7 was a bridge release with Composition API and TypeScript-related work, but it was still the end of the Vue 2 line.

For teams, the implication is practical. If the app is actively developed, build a migration plan. If the app is stable but under compliance or security requirements, the README points to commercial Vue 2 NES support from HeroDevs. If the app is internal, low-risk, and near retirement, the best decision may be containment: pin dependencies, document risk, reduce surface area, and avoid new feature work.

How to work with the source

There is no reason to invent install commands. The contribution guide gives the development setup: Node.js 18+, pnpm 8+, then install dependencies and use the existing scripts. Common scripts cover development builds, unit tests, E2E tests, SSR tests, SFC tests, type checks, and full builds. The test script runs type checking, type tests, unit tests, E2E tests, SSR tests, and SFC tests.

For source reading, start from the subsystem:

  • Reactivity and instance behavior: src/core
  • Template compilation: src/compiler
  • Browser-specific runtime behavior: src/platforms/web
  • Server-side rendering: src/server
  • Single-file component parsing: src/sfc
  • Public type declarations: types

For application maintenance, read the migration guide first, not random open issues. The issue list contains a mix of old Vue 2 reports, post-EOL feature requests, spam-like requests, and real legacy pain points. One maintainer response in 2024 states the key fact in plain words: Vue 2 is no longer being maintained.

Vue 2 versus active framework repos

Repository Stars Status Use when
vuejs/vue 209,845 Vue 2, EOL You maintain or study existing Vue 2 applications
vuejs/core 53,804 Active Vue 3 core You start new Vue work or migrate modern apps
react/react 245,757 Active UI library You want the React ecosystem and UI primitives
angular/angular 100,316 Active full framework You want an opinionated TypeScript application platform
sveltejs/svelte 87,167 Active compiler-centered framework You want Svelte's compile-time model

Counts are GitHub snapshots from 2026-06. The comparison is not “Vue 2 versus everyone” as a new-project choice. Vue 2 has already exited that race. The relevant comparison is where your existing code should move, or which active framework you would choose today.

What still makes Vue 2 worth reading

The source remains a useful artifact. Vue 2’s observer-based reactivity, virtual DOM patching, template compiler, slot behavior, component lifecycle, and SFC tooling are still worth understanding because many production apps depend on them. Reading this repo can explain why a legacy app behaves the way it does.

It also helps migration work. You can map old APIs to Vue 3 concepts more confidently when you know what the old code did. Type and compiler issues in Vue 2.7 also explain why some codebases hit friction during gradual TypeScript or Vite migration.

What not to do

Do not start a new project on Vue 2. Do not treat open issues as a promise of future fixes. Do not assume the high star count means active maintenance. Do not build a long roadmap on top of an EOL framework unless your organization has made that risk explicit.

Do not confuse npm availability with support. The README says Vue 2 remains available through existing distribution channels such as CDNs, package managers, and GitHub. Availability is not maintenance.

For the active React source page on this site, see react/react. For frontend learning paths beyond a single framework, nilbuild/developer-roadmap gives a broader map. For JavaScript and TypeScript project practice, practical-tutorials/project-based-learning can help after you choose a stack.

FAQ

Is vuejs/vue still maintained? No in the normal product sense. Vue 2 reached end of life on December 31, 2023. The README says it no longer receives new features, updates, or fixes.

Where is Vue 3 developed? Vue 3 is developed in vuejs/core, which the Vue 2 README identifies as the actively maintained repository for the latest Vue.

Should a new project use Vue 2? No. New projects should use Vue 3 unless there is an unusual legacy constraint.

What was the final Vue 2 release? The latest GitHub release is v2.7.16, published on December 24, 2023, named “Swan Song.”

What should teams stuck on Vue 2 do? Plan migration where possible. If compliance or security requirements prevent unmaintained software, evaluate supported legacy options such as the Vue 2 NES link referenced in the README.