Skip to content

v10.0.1

Compare changes on GitHub

10.0.1 smooths the first upgrade path after Video.js 10, with clearer documentation and fixes for React media and Mux streams.

React media and playback

Adapter-backed React media now hand mediaRef the playback adapter, as intended, matching what embeds already did and what useMedia() returns. On HlsJsVideo, MuxVideo, DashVideo, and other adapter-backed components, mediaRef.current is the adapter, so mediaRef.current?.engine reaches the underlying engine; use ref when you need the rendered <video> or <audio> element. Video and Audio keep handing mediaRef their element (#3141).

Embed components now honor React’s autoPlay prop, so YouTube, Vimeo, Spotify, Twitch, TikTok, Cloudflare, and Wistia embeds behave like native media without leaving a stray autoplay attribute on the iframe. The same update removes callback-ref cleanup warnings in React 18 (#3136). Unmounting YouTubeVideo also no longer lets the YouTube IFrame API remove an iframe before React cleans it up (#3154).

MuxVideo now recognizes stream.mux.com URLs with or without .m3u8. Extension-less stream URLs gain the same playback ID, poster, storyboard, metadata, playback parameters, and DRM configuration as their .m3u8 equivalents (#3143). See the React MuxVideo reference or HTML MuxVideo reference.

Documentation and navigation

The docs navigation now lets you switch between the pre-release docs, the current version, and the legacy site from one menu (#3144). Blog posts from before Video.js 10 now redirect to the legacy blog, while the current archive points readers there for older posts (#3127). The Video.js 10 announcement is also available for the full release story (#3061).

Skin reference pages now include live React and HTML examples, so you can see each packaged skin before adapting it (#3137). The docs now consistently call Video.js attachable media a media component, while reserving “media element” for the native HTMLMediaElement (#3150).