dash.js v5.2.0 release candidate

9 views
Skip to first unread message

daniel....@fokus.fraunhofer.de

unread,
May 19, 2026, 11:45:45 AM (2 days ago) May 19
to dash.js
Dear all,
we have just prepared the release candidate for dash.js version 5.2.0.

Big thanks to all the contributors who made this possible.

We would like to ask you for some help testing this release. We greatly appreciate your help to verify it is free from regression. Any help, feedback, comments will be really appreciated.

We are aiming for the release of version 5.2.0 on May 28 2026. You can find all the issues and pull requests of the 5.2.0 milestone here. For testing please use the development branch of dash.js: https://github.com/Dash-Industry-Forum/dash.js/tree/development


Features

  • Introduces comprehensive support for CMCD (Common Media Client Data) Version 2, significantly expanding the player's capabilities for media analytics and client-side data reporting. The implementation leverages the @svta/cml-cmcd library's CmcdReporter to centralize reporting mechanisms, reducing complexity and improving maintainability while aligning with the latest CMCD specifications in #4816
  • Add support for Certurl element by in #4876#4973
  • Add Apple FairPlay Streaming (FPS) DRM support in #4941
  • Add a new reference UI (Claude Opus 4.6 was used in this PR) in #4974
  • Add a limitBitrateByPortalMinimum setting to prevent limiting too much in #4950
  • Update 608 library to support H.265/H.266 payloads in #4954
  • Add a new method getRepresentationsByTypeUnfiltered. This allows applications to get all Representations regardless of any filter settings in #4963
  • Enable mapping of Supplemental and Essential Properties from AdaptationSet to all Representations, but exclude those needed for URLQueryParams according to Annex I. in #4901
  • Add a setting blacklistExpiryTime to expire blacklisted service locations  in #4983
Improvements
  • Performance: reduce Object.keys allocations in hot paths in #4937
  • Performance: make GapController interval configurable and reduce hot-path allocations in #4943
  • Apply npm audit fixes in #4899#4994#5023
  • Allow preload to work even when the setting cacheInitSegments is false  in #4957
  • Adds a warning message when an AdaptationSet is filtered because of unsupported EssentialProperties in #4961
  • Add Agents.md with information for AI agents in #4965
  • Improve track equality check in #4966
  • Low Latency Improvements in #4916
  • Refactors the GitHub actions to make specific parts reusable and avoid code duplication in #4975
  • Add notification pane in reference UI in #4977
  • Refactor: replace bcp-47-normalize with lightweight BCP-47 normalization (-185 KB) by in #4970
  • Adds options to set the persistentState and the distinctiveIdentifier via the reference UI in #4991
  • Replace ua-parser-js with lightweight browser detection (-26 KB) in #4972#5007
  • Dynamically read out request timeout in case settings are updated during runtime in #4997
  • Abort retrieveManifest requests after reset in #5027
Bugfixes
  • Fix an issue with AdaptationSets linking to themself in a SupplementalProperty in #4918
  • Remove karma-webdriver-launcher because of insecurities and add buffe… in #4920
  • Check K value when determining whether to enable low latency mode in #4915
  • Fix an issue that lead to exponential Increase in Concurrent Segment Requests for low latency streaming in #4921
  • changing media asset location in #4928
  • Fix downloads of WebVTT segments in multiperiod MPD in #4925
  • Fix a bug in the L3D implementation when playing livesim2 content in #4927
  • Fix(steering): Fix incorrect splice/indexOf arguments in blacklist timer cleanup in #4946
  • Fix(mss): prevent crash when all DVR segments are removed in #4947
  • Fix addressing changed codecs at Period boundaries in #4949
  • Adds missing NEW_TRACK_SELECTED to Typescript file. Fixes #4940 in #4952
  • Change StreamProcessor bandwidth check for scalable LCEVC in #4951
  • Fix/nullpointer accessibility in #4955
  • Fix(streaming): add LRU cache limit to InitCache in #4935
  • Fix(core): prevent memory leaks in EventBus and XHRLoader in #4934
  • Replace Edgeware with Eyevinn in reference player contributors in #4968
  • jsdoc fix + verbose logger in #4980
  • Fix: make MediaPlayerFactory SSR-safe to prevent 'window is not defined' error by in #4929
  • Fix(dvb): correct off-by-one in DVBSelector weighted BaseURL selection in #4982
  • Fix(ttml): use endTimeSegment as fallback for last cue end time in #4986
  • Fix a bug that causes selection of the wrong certificate server url in #4989
  • Use responseStart for resourceTiming.responseStart in #5024
  • Fix a bug in the refrence UI causing loop for multiperiod content before period transition in #5029
  • Fix unreachable code warning in MediaController, update eslint config in #5020
  • Fix vulnerability issues in simple express server #5031

Reply all
Reply to author
Forward
0 new messages