# What changed in dashjs

> 39 changes in dashjs 5 from its official release notes, upgrade guides and advisories: 1 breaking, 10 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/dashjs/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## dashjs 5

### Breaking changes

- Scrub-bar and timeline behavior changes for VoD when the MPD transitions from dynamic to static. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)

### New APIs and options

- Adds support for an external certificate URL for FairPlay. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Adds a setting for switching between Bola and Throughput rules. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Adds the ability to filter initial tracks by codec string. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Adds DRM support for Apple FairPlay Streaming. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Adds a setting that expires blacklisted service locations. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Adds support for the Certurl element. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Adds comprehensive support for CMCD Version 2, expanding media analytics and client-side data reporting. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Adds a method for applications to get all Representations regardless of filter settings. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Adds a setting to prevent limiting bitrate too much based on the portal minimum. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- An offset can be configured in settings and applied when doing gap jumps. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)

### Performance

- Reuses the top-bitrate representation list within a request. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Quality switching is faster when limitBitrateByPortal is enabled. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)

### Behavior and default changes

- Adds the current timestamp to the controlbar progress bar. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Updates the 608 library to support H.265/H.266 payloads. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Adds a warning when an AdaptationSet is filtered because of unsupported EssentialProperties. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Enhancement codecs can be re-tested in Capabilities.js when settings change. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)
- Scalable buffering behavior is improved. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)

### Fixes and other changes

- Fixes the blacklist controller not being active after reset. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- The capability event now includes the remaining AdaptationSets in the manifest. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Fixes multiple memory leaks involving Cta608Parser and ResizeObserver. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Fixes the published ESM import entry so it no longer contains CommonJS/global wrapper semantics or triggers modern bundler warnings. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Maps an event duration of 0xFFFFFFFF to NaN so events do not stay in the state described by the notes. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Fixes quality switching for L3D-DASH streams that use AdaptationSets. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Prevents exceptions when a manifest has no Periods. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Fixes a multi-period regression. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Fixes subtitles in multi-period content. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Prevents reusing previous-period SourceBuffers when changeType is unavailable. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Handles completion of VOD tail buffering. (5.2.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.1)
- Maps Supplemental and Essential Properties from AdaptationSet to all Representations, excluding those needed for URLQueryParams according to Annex I. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Fixes an issue that caused an exponential increase in concurrent segment requests. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Makes MediaPlayerFactory SSR-safe to prevent a 'window is not defined' error. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Allows preload to work even when cacheInitSegments is false. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Reads the request timeout dynamically when settings are updated during runtime. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Aborts retrieveManifest requests after reset. (5.2.0) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.2.0)
- Capabilities are filtered based on the number of audio channels. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)
- Parsing uses the correct text for binary MPD inline events. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)
- Current content steering information from the manifest is saved and used if it is removed by an MPD update. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)
- Inline events are re-added after a seek. (5.1.1) — [release notes](https://github.com/Dash-Industry-Forum/dash.js/releases/tag/v5.1.1)
