# Shaka Player Roadmap This doc shows all past and planned future milestones for Shaka Player, with brief details about the goals and rough dates of each milestone. This is not a comprehensive list of features or fixes for each release. For that, see CHANGELOG.md. The goals of future milestones are fluid until we begin that development cycle, so the exact milestone for future features is not pre-determined. Candidate features for future release cycles: - Background fetch for offline storage https://github.com/shaka-project/shaka-player/issues/879 v6.0 - Conversion to Typescript (Smaller, more modular binary) v5.2 - 2026 Q4 - TBD ===== v5.2 - 2026 Q3 - Metadata extraction support for `src=` playback https://github.com/shaka-project/shaka-player/issues/10112 - Transmuxing moved to a worker thread (performance & main-thread improvements) https://github.com/shaka-project/shaka-player/issues/9914 - HLS: Disable sequence mode by default https://github.com/shaka-project/shaka-player/issues/10325 - Support ClearKey playback in Safari through WebCrypto https://github.com/shaka-project/shaka-player/issues/10180 - DASH: Resolve Linked Periods via ImportedMPD (DASH 6th ed.) https://github.com/shaka-project/shaka-player/issues/10221 - DASH: Unified URL parameter handling (urlparam:2016 / urlparam:2025) https://github.com/shaka-project/shaka-player/issues/10282 - Queue: M3U playlist loading support https://github.com/shaka-project/shaka-player/issues/10115 - UI: Modern CSS theme support using CSS custom properties https://github.com/shaka-project/shaka-player/issues/10152 - UI: VR improvements, including fisheye projection for Apple Immersive Video https://github.com/shaka-project/shaka-player/issues/10310 v5.1 - 2026 Q2 - DASH: JSON manifest support (experimental build) - ABR: Improved ABR with dropped frame monitoring https://github.com/shaka-project/shaka-player/issues/745 - UI: Chapter images - UI: Volume adjustment via mouse wheel - Expanded platform support (TiVo OS, Titan OS) v5.0 - 2026 Q1 - Add automatic subtitles with translations (Experimental and disabled by default) https://github.com/shaka-project/shaka-player/issues/9110 - Change dvvC box to free box for Dolby Vision workarounds https://github.com/shaka-project/shaka-player/issues/9101 - Allow request filters to be called multiple times https://github.com/shaka-project/shaka-player/issues/9129 - Unify text track selection and visibility by allowing null to disable text https://github.com/shaka-project/shaka-player/issues/9048 - Support tracking events on VAST and VMAP without IMA - DASH: SegmentTimeline@Pattern https://github.com/shaka-project/shaka-player/pull/9669 - Implement MediaKeySessionClosedReason handling https://github.com/shaka-project/shaka-player/issues/3446 - HLS: AES-256-GCM support - Media Over QUIC + CMSF/MSF (experimental build) - Modernization of the UI, more configs and minor style adjustments - Remove MSS support v4.16 - 2025 Q3 - CMCDv2 https://github.com/shaka-project/shaka-player/issues/8660 - HDR detection in Tizen and WebOS https://github.com/shaka-project/shaka-player/issues/8441 - DASH: Add support for certificate acquisition URL https://github.com/shaka-project/shaka-player/issues/8823 - UI: Replace Material Design Icon font with SVG https://github.com/shaka-project/shaka-player/issues/2467 v4.15 - 2025 Q2 - Modernization of the UI https://github.com/shaka-project/shaka-player/issues/8406 - Ability to pass in a Date object for playback start time https://github.com/shaka-project/shaka-player/issues/8402 - New API for video: `getVideoTracks` and `selectVideoTrack` - New NativeTextDisplayer to allow selecting subtitles via native API and controls - UI: Support thumbnails while casting - Transfer side-loaded text/thumbnail/chapter tracks when casting - New API: Queue Manager v4.14 - 2025 Q1 - Time ID3, emsg, and metadata events to the presentation timeline https://github.com/shaka-project/shaka-player/issues/7556 - New API for audio: `getAudioTracks` and `selectAudioTrack` https://github.com/shaka-project/shaka-player/issues/3544 - DASH: LCEVC Dual track support v4.13 - 2025 Q1 - WisePlay DRM support - Support for multiple robustness levels in drm - Clearkey download support - Stop setting playbackRate to 0 to control buffering state when streaming.rebufferingGoal = 0 https://github.com/shaka-project/shaka-player/issues/7602 - Use MSE clearLiveSeekableRange and setLiveSeekableRange when available https://github.com/shaka-project/shaka-player/issues/3153 v4.12 - 2024 Q4 - Performance improvements - HLS - Make dummy streams for tags representing muxed audio https://github.com/shaka-project/shaka-player/issues/5836 - Enable AirPlay in MSE https://github.com/shaka-project/shaka-player/issues/5022 - DASH compatibility with FairPlay v4.11 - 2024 Q3 - HLS: EXT-X-START support - HLS: EXT-X-I-FRAME-STREAM-INF support - Basic support of VAST and VMAP without IMA (playback without tracking) - DASH: DVB Fonts - TTML: IMSC1 (CMAF) image subtitle - Render native cues using text displayer https://github.com/shaka-project/shaka-player/issues/2585 v4.10 - 2024 Q3 - HLS support for EXT-X-DATERANGE https://github.com/shaka-project/shaka-player/issues/3523 - HLS interstitials https://github.com/shaka-project/shaka-player/issues/3364 v4.9 - 2024 Q2 - DASH patch manifests https://github.com/shaka-project/shaka-player/issues/2228 - DASH: MPD chaining https://github.com/shaka-project/shaka-player/issues/3926 - Support CS on devices that don't support multiple media elements https://github.com/shaka-project/shaka-player/issues/2792 v4.8 - 2024 Q2 - Preload API https://github.com/shaka-project/shaka-player/issues/880 - AES-256 and AES-256-CTR (HLS) https://github.com/shaka-project/shaka-player/issues/6001 - Detect maximum HW resolution automatically on some platforms - UI support for VR content v4.7 - 2023 Q4 - Common Media Server Data (CMSD) https://github.com/shaka-project/shaka-player/issues/5890 - DASH: Handle mixed-codec variants https://github.com/shaka-project/shaka-player/issues/5961 - Allow Media Source Recoveries - UI: Add double tap to forward/rewind in the video https://github.com/shaka-project/shaka-player/issues/3357 - Improve npm package size https://github.com/shaka-project/shaka-player/issues/2172 v4.6 - 2023 Q4 - Content Steering https://github.com/shaka-project/shaka-player/issues/5704 - New DASH protocol for Low Latency. - ManagedMediaSource https://github.com/shaka-project/shaka-player/issues/5271 - Add thumbnails support in src= - Remove state engine v4.5 - 2023 Q4 - Built-in transmuxer support for muxed content streams (audio+video) - Built-in transmuxer support for H265 streams - Remove optional mux.js dependency - Codec switching https://github.com/shaka-project/shaka-player/issues/1528 - AES-128 in DASH. https://github.com/shaka-project/shaka-player/issues/5622 - AWS Elemental MediaTailor v4.4 - 2023 Q3 - Built-in transmuxer for common cases, no mux.js required: - Raw AAC, AC3, or EC3 to MP4 container - AAC, AC3, EC3, MP3, or H264 in TS to MP4 container - MP3-in-TS to raw MP3 - Ads API improvements - CEA parser for TS - HLS support for non-sequence mode (as we had in v3) - Partial support for large timestamps - UI support for thumbnails on seek - Microsoft SmoothStreaming support - Segment prefetch - Low latency improvements v4.3 - 2022 Q4 - Support ID3 tags in mp4 https://github.com/shaka-project/shaka-player/issues/3351 - Lazy-load HLS playlists on adaptation https://github.com/shaka-project/shaka-player/issues/1936 - HLS key rotation https://github.com/shaka-project/shaka-player/issues/741 v4.2 - 2022 Q3 - Automatic ABR quality restrictions based on size https://github.com/shaka-project/shaka-player/issues/2333 - HLS support for AES-128 encryption https://github.com/shaka-project/shaka-player/issues/850 v4.1 - 2022 Q2 - HLS support for EXT-X-GAP https://github.com/shaka-project/shaka-player/issues/1308 - Temporarily disable the active variant after `HTTP_ERROR` https://github.com/shaka-project/shaka-player/issues/1542 v4.0 - 2022 Q2 - MSE support for FairPlay https://github.com/shaka-project/shaka-player/issues/3346 - Support containerless formats https://github.com/shaka-project/shaka-player/issues/2337 v3.3 - 2022 Q1 - Common Media Client Data (CMCD) logging support https://github.com/shaka-project/shaka-player/issues/3619 - Non-linear IMA CS ads https://github.com/shaka-project/shaka-player/pull/3639 v3.2 - 2021 Q3 - MediaCapabilities to make performance-based decisions https://github.com/shaka-project/shaka-player/issues/1391 - Configurable key-system priority https://github.com/shaka-project/shaka-player/issues/3002 - Codec order preferences https://github.com/shaka-project/shaka-player/issues/2179 v3.1 - 2021 Q2 - Low-latency live (LL-HLS, LL-DASH) https://github.com/shaka-project/shaka-player/issues/1525 - Own CEA parser, use mux.js only for TS https://github.com/shaka-project/shaka-player/issues/2648 - Thumbnail tracks DASH: https://github.com/shaka-project/shaka-player/issues/559 HLS: https://github.com/shaka-project/shaka-player/issues/2429 v3.0 - 2020 Q2 - Code health improvements - Conversion to ES6 - Isolate DASH periods to the DASH parser - HLS discontinuity support - IMA ad SDK integration - Ad controls in the UI - Concurrent Storage operations v2.5 - 2019 Q2 - Video controls UI API - FairPlay & iOS support - CEA captions in HLS/CMAF and DASH w/ mux.js - Single-file playback - DASH drift tolerance v2.4 - 2018 Q2 - TTML and VTT regions - CEA captions in HLS/TS - Attach/detach API v2.3 - 2017 Q4 - HLS live - Transmux TS w/ mux.js - NetworkInformation API to improve bandwidth estimates - ES6 transition begins v2.2 - 2017 Q3 - HLS event-type playlists - TextDisplayer interface - DASH xlink support v2.1 - 2017 Q2 - HLS VOD, clear & Widevine only, no CEA - DASH trick mode tracks - Async network filters v2.0 - 2016 Q3 - Multi-period DASH - Chromecast API - TTML, VTT-in-MP4, and TTML-in-MP4 - Safari, Firefox, & Opera support - Plugin system (manifest parsers, network filters, text parsers) - DASH emsg box support - DASH IPR support v1.6 - 2015 Q4 - IE11, Edge, & PlayReady support - Chromecast added to demo app v1.5 - 2015 Q3 - Unified configuration system - Multiple DASH BaseURL elements for failover - Side-loaded text streams v1.4 - 2015 Q3 - Code health release - DASH Location element support - Buffering config API - License preprocessing API v1.3 - 2015 Q2 - DASH live - Offline playback v1.2 - 2015 Q1 - DASH Role element support v1.1 - 2015 Q1 - EME API updates v1.0 - 2014 Q4 - DASH VOD (MP4 & WebM) - VTT subtitles, rendered by the browser - Widevine support