npm / dashjs
dashjs
What changed in dashjs 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.
1 breaking10 new APIs and options2 performance5 behavior and defaults21 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initdashjs 539 changes
Breaking changes 1
Scrub-bar and timeline behavior changes for VoD when the MPD transitions from dynamic to static.
New APIs and options 10
Adds support for an external certificate URL for FairPlay.
Adds a setting for switching between Bola and Throughput rules.
Adds the ability to filter initial tracks by codec string.
Adds DRM support for Apple FairPlay Streaming.
Adds a setting that expires blacklisted service locations.
Adds support for the Certurl element.
Adds comprehensive support for CMCD Version 2, expanding media analytics and client-side data reporting.
Adds a method for applications to get all Representations regardless of filter settings.
Adds a setting to prevent limiting bitrate too much based on the portal minimum.
An offset can be configured in settings and applied when doing gap jumps.
Performance 2
Reuses the top-bitrate representation list within a request.
Quality switching is faster when limitBitrateByPortal is enabled.
Behavior and default changes 5
Adds the current timestamp to the controlbar progress bar.
Updates the 608 library to support H.265/H.266 payloads.
Adds a warning when an AdaptationSet is filtered because of unsupported EssentialProperties.
Enhancement codecs can be re-tested in Capabilities.js when settings change.
Scalable buffering behavior is improved.
Fixes and other changes 21
Fixes the blacklist controller not being active after reset.
The capability event now includes the remaining AdaptationSets in the manifest.
Fixes multiple memory leaks involving Cta608Parser and ResizeObserver.
Fixes the published ESM import entry so it no longer contains CommonJS/global wrapper semantics or triggers modern bundler warnings.
Maps an event duration of 0xFFFFFFFF to NaN so events do not stay in the state described by the notes.
Fixes quality switching for L3D-DASH streams that use AdaptationSets.
Prevents exceptions when a manifest has no Periods.
Fixes a multi-period regression.
Fixes subtitles in multi-period content.
Prevents reusing previous-period SourceBuffers when changeType is unavailable.
Handles completion of VOD tail buffering.
Maps Supplemental and Essential Properties from AdaptationSet to all Representations, excluding those needed for URLQueryParams according to Annex I.
Fixes an issue that caused an exponential increase in concurrent segment requests.
Makes MediaPlayerFactory SSR-safe to prevent a 'window is not defined' error.
Allows preload to work even when cacheInitSegments is false.
Reads the request timeout dynamically when settings are updated during runtime.
Aborts retrieveManifest requests after reset.
Capabilities are filtered based on the number of audio channels.
Parsing uses the correct text for binary MPD inline events.
Current content steering information from the manifest is saved and used if it is removed by an MPD update.
Inline events are re-added after a seek.