You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multi-Engine Architecture: New pluggable engine system with capability-based selection and runtime switching. Engines can be registered and dynamically selected based on media type and capabilities.
Engine API: New player methods addEngine(), removeEngine(), getEngine(), setEngine(), and canPlay() for managing media engines.
Engine Events: New events player/engine/set and player/engine/switched for tracking engine changes.
Engine Docs: New docs/guides/Engines.md covering multi-engine usage, capabilities, suspend/resume, events, and namespaced APIs.
YouTube Provider: Built-in engine for YouTube video playback with full player UI integration.
Vimeo Provider: Built-in engine for Vimeo video playback with full player UI integration.
Capability-aware Components: The following components now support the engine capability system, and update themselves on engine switches: Play, PlayOverlay, PlaybackRate, Loop, PictureInPicture, Time, Title, Keyboard, Scrubber, Subtitles, AudioChain, AudioControls, VideoControls and AnalyserVideo.
Data update-aware components: the following components are reacting to the new data/updateevent: Chapters, Title and the new SubtitlesUi
State Preservation: Player state (playback position, paused state, volume, muted state, picture-in-picture) is now preserved (if possible) when switching between media items in playlists.
Data API: New data.updateMediaData API allows for partial media data updates.
Media Session Component: This new component uses the Media Session API for better support for system media controls, including artwork and playlist support.
UI Wake Lock: Optional Screen Wake Lock integration to keep the display on while playing and release it on pause/end/errors or when the tab is hidden.
Orientation Lock: A new option for the Fullscreen Conmponent that controls the screen orientation when entering FS mode.
Script Loader Utility: New centralized scriptLoader utility for loading external JavaScript libraries (Dash.js, Hls.js, ChromeCast API) with deduplication, cancellation support, and improved error handling.
SubtitleUi: New component which provides subtitle settings independently from the Subtitles component.
Demo Page: New demo examples for YouTube and Vimeo providers.
Notifications: New "Warning" display state supported.
Automatic Workspace Folders: Direct source editing in chrome support via vite-plugin-devtools-json.
Changed
ChromeCast Refactoring: Completely refactored ChromeCast component to work as a media engine with improved state management, better error handling, and unified API integration. In addition, ChromeCCast now also works in secure mode.
Media Component: Refactored to work as the default video engine with capability-based registration.
Data Component: data.setMediaIndex now preserves current media state when options are omitted.
Subtitles Component: Simplified subtitles component by removing internal menu system.
Streaming Plugins: Dash.js and Hls.js plugins now use the centralized script loader utility for more reliable library loading with deduplication.
Playlist Navigation: Playlist now preserves player state (playback position, paused state, volume, muted) when switching between media items.
API Namespace: Engine-specific APIs now use namespace prefix format (e.g., video:media.load, chromecast:media.play) to support multiple engines.
Locale Error Messages: Updated error messages for library loading failures to use dynamic library names and improved messaging.
Enhanced Locale Messages: Changed locale strings for script loader errors and Picture-in-Picture browser restrictions in all supported languages.
CSS Library: Updated CSS with various improvements and fixes.
JSDoc Formatting: Cleaned up JSDoc formatting across the codebase.
JSDoc Configuration: Updated to version 1.3.0, added canonical URL and sitemap configuration for better SEO.
Know Issues Page: Moved the "Known Issues" Section in the readme to a dedicated page.
Dependencies: Updated development dependencies.
Fixed
Script Loading: Fixed duplicate script loading issues when multiple player instances or components request the same external library.
State Management: Fixed state not being preserved correctly when switching between different media types (native video, YouTube, Vimeo, etc.).
ChromeCast State: Fixed ChromeCast state synchronization issues and improved connection handling.
Picture-in-Picture: Improved Picture-in-Picture support detection and error handling, especially for iframe-embedded videos.
Playlist State: Fixed playlist not preserving playback state when navigating between items.
Subtitles Rendering: Improved subtitle rendering when switching between engines.
domSmithInputRange: Touch interactions now properly respect the disabled state.
Mobile UI: Fixed problem where media would play on first touch inadvertently.