Products#Coding agent

Video.js 10 is GA: five player projects, one rewrite

Video.js 10 went GA on October 1: five player projects rebuilt as one and, by official numbers, about 60% smaller than v8. The npm main package is still v8.

Official Video.js 10 announcement art: the VideoJS wordmark in cream on a dark background above the line V10 IS GA, with retro orange stripes at the bottom

Video players just had their rare consolidation moment: on October 1, 2026, Video.js 10.0.0 reached general availability. This was not a routine major version — it is a ground-up rebuild that folds the development effort of five player projects, Video.js, Plyr, Vidstack, Media Chrome and Mux Player, into one codebase, led by Video.js creator Steve Heffernan at Mux, the video-cloud company he works with. Per the official RC-phase benchmarks, the v10 default bundle including adaptive streaming is about 60% smaller than v8. One caveat colors everything: as of October 12, 2026, the main video.js package on npm is still v8 (v8.24.2 shipped on October 6), and v10 arrives under new names such as @videojs/react and @videojs/html. Decide before you migrate — that is the real message of this release.

Key points

  • Video.js 10.0.0 went GA on October 1, 2026, merging five player projects — Video.js, Plyr, Vidstack, Media Chrome and Mux Player; the beta announcement put their combined footprint at roughly 75,000 GitHub stars and tens of billions of plays per month.
  • Official numbers: the v10 default bundle is about 60% smaller than v8 including streaming (RC benchmarks); the March beta announcement claimed 88% against v8’s full default bundle, 66% excluding ABR — different baselines.
  • v10 is a rebuild, not a drop-in upgrade: it does not preserve every v8 API, the SPF streaming engine has no ads or true low-latency live yet, and those cases still route through the HLS.js-backed component.

Background

Steve Heffernan created Video.js in 2010 to help developers move from Flash video to HTML5, and Brightcove maintained it for many of the years since. The turning point came in late October 2025, when Mux announced a reboot of Video.js, and between January and March 2026 the maintainers of Plyr, Vidstack, Media Chrome and Mux Player followed with announcements that their efforts would merge in. The beta shipped on March 10, 2026. Community attention peaked early: the beta post hit 648 points and 137 comments on Hacker News on March 24, while the GA post on October 6 managed 4 points and no comments. Sam Potts, the creator of Plyr, designed the new v10 skins.

The facts

The official numbers center on size and architecture. According to the GA announcement (October 1, 2026), v10 splits state, UI and media into composable pieces, so anything unused stays out of the bundle; the new SPF streaming composition framework drives most of the size savings, but it does not yet support ads or true low-latency live — those go through the HlsJsVideo component backed by HLS.js, and the player and streaming engine remain independent choices.

Comparisonv8v10Source
Default full bundle (with adaptive streaming)baseline~60% smallerGA announcement RC benchmarks, Oct 2026
Default HTML player, min / gzip260.5 kB / 75.2 kB97.4 kB / 25.1 kBbeta announcement, Mar 2026
Minimal React player, gzip—under 5 kBbeta announcement, Mar 2026
SPF streaming engine, gzip—12.1 kB (about 12% of HLS.js-light)beta announcement, Mar 2026

Distribution changed too: v10 ships as @videojs/react, @videojs/html and friends (@videojs/react is at 10.0.1, published October 2, 2026), with first-class React components alongside Web Components, and TypeScript and Tailwind treated as first-class. Playback sources cover HLS, DASH, YouTube, Vimeo, Mux and Cloudflare Stream. The skin system follows the shadcn playbook — the official skins (Default, Neutral, and Compat for older browsers, which sets the support floor back to Safari 16) can be copied into your project as editable source through a CLI. Repository state: as of October 12, 2026, videojs/video.js has about 40,000 stars, is written in TypeScript and licensed Apache 2.0.

What others say

Reaction has been lopsided. On Hacker News, the beta thread (March 24, 648 points) treated “I took back Video.js after 16 years” as a story worth reading; the GA thread (October 6) drew almost nothing. Production use exists: Torah Live, an education video service, reported in a GitHub discussion on September 23 that it runs v10 in production. The partners tell one story — Mux’s blog series frames the five projects as one future, with the maintainers of Plyr, Vidstack and Media Chrome folded into v10 development. The Chinese tech outlet 前端开发爱好者 covered the release on October 12, emphasizing the size cut and the AI-coding support, and reminding readers to read the migration guide before touching old projects. One fact worth keeping straight: the ~75,000-star figure comes from the March beta announcement, not the GA post, and should carry that date when quoted.

Our take

Video.js 10 attracts everyone, but not everyone should migrate now. Users of Vidstack, Media Chrome and Mux Player have the least choice — their projects’ maintainers have folded into v10, and long-term that is the only road. New projects can start straight from @videojs/react, and the official Skill for coding agents (npx @videojs/cli agents skills) lets tools like Claude Code and Codex write player code against version-matched docs — a player project shipping its own agent skill is the same trend we saw in our review of ten video agent skills. Deeply customized v8 setups and teams that need ads or low-latency live can afford to wait: the timing of the npm main-package switch is unannounced, and the official word on SPF ads is only “later in 2026”. One easy trap: the GA claim of 60% and the beta claim of 88% measure different bundles (streaming included or not), so quote them with their baselines or don’t quote them.

How to try it

For a new project, install the React package and pick a streaming adapter as needed:

npm install @videojs/react
npm install @videojs/dash-video   # only if you use DASH

The v10 docs ship LLM-friendly formatting: after installing, node_modules/@videojs/react/docs/llms.txt is the index, and the official advice is to have your coding agent read it before writing player code. For existing v8 projects, the team published five migration guides — Video.js v8, Plyr, Media Chrome, Vidstack and Mux Player.