Skip to content
Breaking changes

v10.0.0-beta.23

Compare changes on GitHub

Beta.23 ships two breaking changes. First, the overloaded “cast” vocabulary splits into two concepts (#1380): the Google Cast integration is now google-cast, and the generic W3C Remote Playback surface is now remote-playback. Update CastableMediaMixin to GoogleCastMixin, castFeature to remotePlaybackFeature, selectCast to selectRemotePlayback, and the state fields castState, castAvailability, and toggleCast() to remotePlaybackState, remotePlaybackAvailability, and toggleRemotePlayback(). The CastButton component and its data-cast-state attribute keep their names. The same PR keeps controls visible while the cast picker is open, hides buttons for unsupported features in the skins, and hides the cast button on non-Chromium browsers.

Second, fullscreen and picture-in-picture state moves onto the media capability interfaces (#1469). MediaFullscreenCapability gains isFullscreen and exitFullscreen, MediaPictureInPictureCapability gains isPictureInPicture and exitPictureInPicture, and the presentation helpers isFullscreenElement and isPictureInPictureElement are renamed to isFullscreen and isPictureInPicture. If you call exitFullscreen directly, it now requires a media argument, and custom media hosts should implement the new getters and exit methods.

Live streaming is the headline feature work: HLS stream-type detection and live duration derived from the seekable window (#1387), liveEdgeStart and targetLiveWindow properties modeled on the media-ui-extensions live-edge proposal (#1445), and live-video and live-audio presets that drop seek and playback-rate UI for live sources (#1399). Along the way, streamTypeFeature moved out of the base video and audio presets; opt in explicitly if you need stream-type state.

Elsewhere, React’s MediaGesture and MediaHotkey become Gesture and Hotkey with deprecated aliases for the old names (#1374), mux elements observe cast attributes (#1386), @videojs/html re-exports reactive primitives from @videojs/element (#1472), and the docs gain a how-to guide for building custom components (#1008).