What changed
On October 1, 2026, Video.js 10.0.0 reached general availability. It rebuilds the player as separate state, media and UI components, drawing on Video.js, Plyr, Vidstack, Media Chrome and Mux Player. The release offers React components and vanilla HTML Web Components, customisable skins via Shadcn CLI, and an official coding-agent skill. New v10 packages are @videojs/react and @videojs/html; the older video.js npm package remains on v8. The project reports about 60% smaller default bundles than v8 under its RC comparison, while noting its SPF streaming engine does not yet support advertising or true low-latency live streaming.
Why it matters
A widely used web-video player has changed its integration contract. Teams upgrading need to translate legacy API usage and assess streaming features, browser support and skin ownership. For new apps, composable components can reduce shipped code and allow UI changes without forking player internals.
One architecture across several player ecosystems
The project integrates lessons and contributors from five player families and separates UI controls from the media renderer. React and standard Web Component paths have dedicated documentation.
Not a drop-in upgrade
v10 lives in @videojs/react and @videojs/html, while video.js on npm remains v8. Legacy APIs need deliberate migration and integration tests; a simple dependency bump will not perform the rewrite.
New UI and agent integration
The Shadcn CLI can copy player skin source into an application for direct editing. A project-maintained coding-agent skill documents v10 APIs, but does not eliminate migration testing.
Streaming caveats
The new SPF composition engine does not yet support ads or true low-latency live. The project suggests HlsJsVideo for these use cases. A Compat skin extends Safari support back to version 16.