Skip to content

Latest commit

 

History

History
355 lines (341 loc) · 73.1 KB

release-notes.md

File metadata and controls

355 lines (341 loc) · 73.1 KB

🤖 I have created a release beep boop

5.0.0 (2023-04-05)

  BREAKING CHANGES

  • Remove small/large gap config, always jump gaps (#4125)
  • config: manifest.dash.defaultPresentationDelay has been replaced by manifest.defaultPresentationDelay (deprecated in v3.0.0)
  • config: Configuration of factories should be plain factory functions, not constructors; these will not be invoked with new (deprecated in v3.1.0)
  • player: shaka.Player.prototype.addTextTrack() has been replaced by addTextTrackAsync(), which returns a Promise (deprecated in v3.1.0)
  • ui: shaka.ui.TrackLabelFormat has been renamed to shaka.ui.Overlay.TrackLabelFormat (deprecated in v3.1.0)
  • ui: shaka.ui.FailReasonCode has been renamed to shaka.ui.Overlay.FailReasonCode (deprecated in v3.1.0)
  • offline: shaka.offline.Storage.prototype.store() returns AbortableOperation instead of Promise (deprecated in v3.0.0)
  • offline: shaka.offline.Storage.prototype.getStoreInProgress() has been removed; concurrent operations are supported, so callers don't need to check this (deprecated in v3.0.0)
  • shaka.util.Uint8ArrayUtils.equal has been replaced by shaka.util.BufferUtils.equal, which can handle multiple types of buffers (deprecated in v3.0.0)
  • manifest: shaka.media.SegmentIndex.prototype.destroy() has been replaced by release(), which is synchronous (deprecated in v3.0.0)
  • manifest: shaka.media.SegmentIterator.prototype.seek(), which mutates the iterator, has been replaced by shaka.media.SegmentIndex.getIteratorForTime() (deprecated in v3.1.0)
  • manifest: shaka.media.SegmentIndex.prototype.merge() has become private; use mergeAndEvict() instead (deprecated in v3.2.0)
  • plugin: AbrManager plugins must implement the playbackRateChanged() method (deprecated in v3.0.0)
  • plugin: shaka.extern.Cue.prototype.spacer has been replaced by the more clearly-named lineBreak (deprecated in v3.1.0)
  • plugin: IUIElement plugins must have a release() method (not destroy()) (deprecated in v3.0.0)
  • Remove deprecated features, update upgrade guides (#4089)
  • Remove support for Safari 12 and iOS 12 (#4112)

Features

  • shaka.util.Uint8ArrayUtils.equal has been replaced by shaka.util.BufferUtils.equal, which can handle multiple types of buffers (deprecated in v3.0.0) (ac5acc8)
  • Add AAC transmuxer (#4632) (8623a5d)
  • Add AC-3 detection in TS (#4931) (48c30bc)
  • add Amazon Fire TV platform support (#4375) (5102dac)
  • Add config for sequenceMode in DASH (#4607) (aff2a5d)
  • Add Dockerfile and docker build instructions (925de19)
  • Add ExpressPlay FairPlay util (#4926) (7fa40fd)
  • Add external thumbnails support (#4497) (3582f0a)
  • Add external thumbnails with sprites support (#4584) (86cb3e7)
  • Add getManifestType method (#5021) (c7c5e94)
  • Add Id to chapters (#4184) (5ca3271)
  • Add keySystemsMapping to drm config (#4254) (5e107d5), closes #4243
  • Add limited support for HLS "identity" key format (#4451) (b1e81a6), closes #2146
  • add listenable events for playback stall detection and gap jumping (#4249) (5987458)
  • add new methods to FairPlayUtils (#4029) (f1eeac1)
  • add Occitan locale (#4900) (68486a3)
  • add option for segment-relative VTT timings (#4083) (f382cc7)
  • Add preferredAudioLabel to PlayerConfiguration (#4763) (aadecd6)
  • Add support for Document Picture-in-Picture (#4969) (3828fd6)
  • Add support for Modern EME and legacy Apple Media Keys for FairPlay (#4309) (5441f93)
  • Add support to text-shadow in VTT parser (#4257) (62bda2c)
  • Adds ChannelCount as a filter to the Player Select Audio Track Method (#4552) (9dd945c), closes #4550
  • Ads: Add ads config (#5085) (dfe263a)
  • ads: Add getDescription to CS and SS ads (#4526) (7d2a170)
  • ads: Add getTitle to CS and SS ads (#4513) (a019065)
  • ads: Add new methods to Ads (#5107) (2b33315)
  • ads: Dispatch a player event for client-side ad errors (#5045) (673b7fc)
  • ads: Ignore ad events with no associated ad (#4488) (e826eb8), closes #4481
  • Allow add extra features to MediaSource.addSourceBuffer (#4527) (4033be7)
  • Allow clearKey configuration in base64 or hex (#4627) (29ffc89)
  • Allow custom plugins for transmuxing (#4854) (fac721d)
  • Allow customization of HLS Live behavior (#4578) (4914201)
  • Allow playback of HLS Media Playlist with AAC by default (#4564) (757b34e)
  • Allow playback of HLS Media Playlist with RAW formats by default and support ID3 (#4591) (18d8367)
  • Allow VTT files with erroneous linebreaks (#2394) (9b1c614), closes #2358
  • Automatic ABR quality restrictions based on screen size (#4515) (b5935a8)
  • Automatic ABR quality restrictions based on size (#4404) (cfe8af5), closes #2333
  • Cache mediaCapabilities.decodingInfo results (#4789) (b7781f0), closes #4775
  • Caching and other efficiency improvements for mcap polyfill (#4708) (884c4ca), closes #4574
  • cast: Add Android receiver support (#4183) (dbba571)
  • cea: Add CEA parser for TS (#4697) (70fad8d)
  • Config to require a minimum HDCP version (#4883) (61613cf)
  • config: manifest.dash.defaultPresentationDelay has been replaced by manifest.defaultPresentationDelay (deprecated in v3.0.0) (ac5acc8)
  • config: Configuration of factories should be plain factory functions, not constructors; these will not be invoked with new (deprecated in v3.1.0) (ac5acc8)
  • DASH: Add support for <dashif:Laurl> (#4849) (b441518), closes #4748
  • dash: Construct ClearKey PSSH based on MPD ContentProtection (#4104) (b83b412)
  • dash: Parse ClearKey license URL in MPD (#4066) (19e24b1)
  • demo: Demo visualizer for buffered ranges. (#4417) (55d0a15)
  • DRM: add drmInfo to license requests (#4030) (abe846e)
  • DRM: add initData and initDataType to license requests (#4039) (bdc5ea7)
  • enable uninstalling PatchedMediaKeysApple (#4471) (7166f0c), closes #4469
  • Enable variant failover for BAD_HTTP_STATUS and TIMEOUT (#4769) (b46012d)
  • HLS: Add HLS config to ignore manifest timestamps when in segments mode (#5103) (4d487e4)
  • HLS: Add HLS support for non-sequence mode (#4623) (2b50b88)
  • hls: Add support for EXT-X-GAP (#4208) (14e61a7), closes #1308
  • HLS: Add support for EXT-X-SESSION-KEY tag (#4655) (172c9f8), closes #917
  • HLS: Add support to HLS-AES128 low latency (#4982) (07787a8)
  • HLS: allow customize live segments delay (#4585) (1f558a8)
  • HLS: Allow mp3 playback with mp4a.40.34 (#4592) (8f892b1)
  • HLS: Get resolution from TS when load a Media Playlist (#5058) (42a9f96)
  • HLS: Improve detection of basic info from Media Playlist (#4809) (d465942)
  • HLS: Improve Low Latency performance in HLS (#4952) (5514385)
  • HLS: Lazy-load HLS media playlists (#4511) (b2f279d), closes #1936
  • hls: make a head request if hls subtitles have no extension (#4140) (19e12b5)
  • hls: parse EXT-X-GAP (#4134) (42eecc8)
  • HLS: Poll HLS playlists using last segment duration (#4779) (1ba3806), closes #4771
  • HLS: Re-add TS support to Safari (#4097) (8a3bed7)
  • hls: Read EXT-X-PROGRAM-DATE-TIME (#4034) (89409ce), closes #2337
  • hls: Support AES-128 in HLS (#4386) (6194021), closes #850
  • HLS: Support for HLS key rotation (#4568) (3846eea), closes #741
  • Improve gap-detection robustness (#4399) (4293a14)
  • Improved LCEVC integration (#4560) (50062f5)
  • LCEVC Integration (#4050) (284ea63)
  • logs: Add extra logging for 3015 errors (#4932) (67a2451)
  • manifest: shaka.media.SegmentIndex.prototype.destroy() has been replaced by release(), which is synchronous (deprecated in v3.0.0) (ac5acc8)
  • manifest: shaka.media.SegmentIndex.prototype.merge() has become private; use mergeAndEvict() instead (deprecated in v3.2.0) (ac5acc8)
  • manifest: shaka.media.SegmentIterator.prototype.seek(), which mutates the iterator, has been replaced by shaka.media.SegmentIndex.getIteratorForTime() (deprecated in v3.1.0) (ac5acc8)
  • Move forceTransmux from streaming to mediasource config (#4783) (b491a6b)
  • MSS: Add support for Microsoft Smooth Streaming (VOD only) (#5002) (f80bf20)
  • net: Added advanced type to filters (#5006) (fbce38a), closes #4966
  • New autoShowText config to change initial text visibility behavior (#3421) (5c24410)
  • offline: shaka.offline.Storage.prototype.getStoreInProgress() has been removed; concurrent operations are supported, so callers don't need to check this (deprecated in v3.0.0) (ac5acc8)
  • offline: shaka.offline.Storage.prototype.store() returns AbortableOperation instead of Promise (deprecated in v3.0.0) (ac5acc8)
  • offline: improve the speed of offline downloads (#4168) (73f6de3)
  • only polyfill MCap for non Android-based Cast devices. (#4170) (11321d8)
  • Parse and surface "prft" boxes as events (#4389) (89777dd), closes #4382
  • Parse ID3 metadata (#4409) (95bbf72)
  • player: shaka.Player.prototype.addTextTrack() has been replaced by addTextTrackAsync(), which returns a Promise (deprecated in v3.1.0) (ac5acc8)
  • plugin: AbrManager plugins must implement the playbackRateChanged() method (deprecated in v3.0.0) (ac5acc8)
  • plugin: IUIElement plugins must have a release() method (not destroy()) (deprecated in v3.0.0) (ac5acc8)
  • plugin: shaka.extern.Cue.prototype.spacer has been replaced by the more clearly-named lineBreak (deprecated in v3.1.0) (ac5acc8)
  • Public release of Sindarin (sjn) translation easter egg (#4033) (9029d06)
  • Remove deprecated features, update upgrade guides (#4089) (ac5acc8)
  • Remove small/large gap config, always jump gaps (#4125) (0fd1999)
  • Remove support for Safari 12 and iOS 12 (#4112) (8bb7044)
  • Support customizing clearBuffers and safeMargin when select variants by label (#4770) (c724625)
  • Support HTML-escaped cues in VTT (#4660) (2b8b387)
  • Support Parallel Segment Fetching (#4784) (de6abde)
  • Temporarily disable the active variant from NETWORK HTTP_ERROR (#4189) (b57279d), closes #4121 #1542 #2541
  • TS parser improvements (#4612) (5157b44)
  • ui: shaka.ui.FailReasonCode has been renamed to shaka.ui.Overlay.FailReasonCode (deprecated in v3.1.0) (ac5acc8)
  • ui: shaka.ui.TrackLabelFormat has been renamed to shaka.ui.Overlay.TrackLabelFormat (deprecated in v3.1.0) (ac5acc8)
  • ui: Add quality selection for audio-only content (#3649) (adc3502), closes #2071
  • UI: Added keyboardSeekDistance config to UI (#4246) (6084ca6)
  • UI: Allow customizing FullScreen element (#4963) (c471d23)
  • Upgrade eme-encryption-scheme-polyfill to support ChromeCast version of PlayReady (#4378) (e6b6d7c)
  • utils: Export shaka.util.StreamUtils.meetsRestrictions (#5100) (3543e57)
  • webvtt: add support for karaoke style text in WebVTT (#4274) (60af516)
  • webvtt: webvtt colors output (#4954) (ed7a736)

Bug Fixes

  • abr: use Network Info API in ABR getBandwidthEstimate (#4263) (4fc7a48)
  • Add fallback to TextDecoder and TextEncoder #4324 (5b18069)
  • Add missing AdvancedRequestType in some requests (#5113) (b60bf16)
  • Add missing module export in generated typescript defs (feefd7b)
  • Add mux.js to support.html (#4923) (d9fa4eb)
  • add strictMissingProperties suppressions to unblock strict missing properties on union types. (#4371) (b361948)
  • Adds missing CMCD params to some http requests (#5072) (fe38e45), closes #5067 #5094
  • Ads: Fix CS volume ad (#5016) (492b5f3)
  • ads: Fix IMA crash when autoplay is rejected (#4518) (d27f7d2), closes #4179
  • Ads: Fix usage of EventManager on CS (#5017) (541badc)
  • Ads: Fix usage of EventManager on CS (#5084) (122f5f3)
  • ads: Fix VMAP ads stay muted on muted autoplay (#4995) (d074afc)
  • allow build without text (#4506) (340b04a)
  • Allow overriding special handling of 404s (#4635) (427f126), closes #4548
  • Allow the playback of TS without mux.js (#5041) (0b785f7)
  • allow the playback on platforms when low latency APIs are not supported (#4485) (c1753e1)
  • Caption can not turn off at iOS Safari (#4978) (9d2c325)
  • cast: Added existence checks for MediaDecodingConfig.{audio|video} in decodingInfo(). (#4796) (36db83d)
  • cast: Reduce size of Cast update messages (#4644) (4e75ec6)
  • cast: Use cast platform APIs in MediaCapabilties polyfill (#4727) (5d6f56a)
  • cea: Fix MAX_ROWS in CEA-708 window (#4757) (e89eeb6)
  • cea: Fix not rendering CEA-608 Closed Captions (#4683) (a489282), closes #4605 #3659
  • cea: Fix not rendering CEA-608 on encrypted mp4 segments (#4756) (d600109)
  • cea: make a more robust CEA MP4 parser (#3965) (2687b95)
  • chapters: removed duplicate chapters by id (#4810) (151bdda)
  • check for negative rows before moving (#4510) (b3621c2), closes #4508
  • cmcd not applying configuration changes (#5119) (58aa45f)
  • cmcd: Fix Symbol usage in CMCD on Xbox One (#4073) (4005754), closes #4072
  • Content reload starttime with HLS on iOS (#4575) (59d4360), closes #4244
  • Correct default initDataTransform for legacy Apple Media Keys (#4797) (67a5d56)
  • css: Fix missing % in calculation (#4157) (1c86195)
  • DAI ID3 metadata parsing (#4616) (0d67ecd)
  • dash: Account for bandwidth before filtering text stream (#3765) (0b04aec), closes #3724
  • DASH: Fix dynamic manifests from edgeware (#4914) (056588b)
  • dash: Fix performance regression (#4064) (298b604)
  • dash: Fix playback of Dolby Atmos (#4173) (d51fe23), closes #4171
  • Debug buffer placement (#4345) (47fa309)
  • Demo: Allow manifest type for DAI custom assets (#4977) (1e50630)
  • demo: allow switch between UITextDisplayer and SimpleTextDisplayer (#4275) (28689f3)
  • demo: erroneous FairPlay keysystem in demo (#4276) (8719bdc)
  • demo: Fix native controls pointer events stolen by LCEVC canvas (#5065) (6508f40)
  • Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice (#4194) (08589e8), closes #4190
  • Don't send drmsessionupdate after unload (#4248) (60af9ad)
  • DrmEngine exception thrown when using FairPlay (#4971) (eebf18c)
  • embed cc not shown when seeking back (#4643) (2a6b0d0), closes #4641
  • exception if on early adError (#4362) (3c92f05), closes #4004
  • exclude "future" segments from presentation timeline auto correct drift calculations (#4945) (ea6774a), closes #4944
  • Explicitly specify @externs in transmuxer externs. (#4999) (ef8078a)
  • Failed to set 'currentTime' property on 'HTMLMediaElement' on a Hisense TV (#4962) (5d93b8f)
  • fairplay: Re-add initDataTransform config (#4231) (ff310e9)
  • Fallback to isTypeSupported when cast namespace is undefined (#5012) (50d0645)
  • Filter unsupported H.264 streams in Xbox (#4493) (8475214)
  • Fire correctly MIN_HDCP_VERSION_NOT_MATCH error (2ae5a99)
  • Fix audio mime type in multiplexed HLS stream (#4241) (4e4e92e)
  • Fix bitmap-based cue size (#4453) (4a197e1)
  • Fix broken deps file generation on Windows (#4086) (9660ce8), closes #4085
  • Fix bufferBehind setting broken by image segments (#4718) (cd1b7c0), closes #4717
  • Fix choppy HLS startup (#4553) (59ef54a), closes #4516
  • Fix compiler error on static use of "this" (#4699) (b06fd6a)
  • Fix detection of ac4, dts, and dolby h265 (#4657) (319a358)
  • Fix dispatch ID3 metadata when transmuxing AAC (#4639) (bf813f2)
  • Fix DRM workaround for Tizen and Xbox with hvc1/hev1 boxes (#4743) (a61c084), closes #4742
  • Fix drm.keySystemsMapping config (#4425) (d945084), closes #4422
  • Fix duplicate updates in StreamingEngine (#4840) (224207b), closes #4831
  • Fix duration error when HLS goes from LIVE to VOD (#5001) (1aee989)
  • Fix encryption detection to work around broken platforms (#4169) (c5f474e)
  • Fix EOS set-top box being identified as Apple. (#4310) (7c2c4be)
  • Fix errors with TS segments on Chromecast (#4543) (593c280)
  • Fix event listener leaks in Player (#4229) (a5d3568)
  • Fix exception enabling captions on HLS (#4894) (b7b2a7c), closes #4889
  • Fix exception with streaming.startAtSegmentBoundary (#4216) (426a19c), closes #4188
  • Fix exceptions when quickly shutting down src= on Safari (#4088) (ca08230), closes #4087
  • Fix fetch plugin with old implementations (#5091) (36bcc37)
  • Fix flattenedCues in WebVttGenerator (#4867) (15232dd)
  • Fix getVideoPlaybackQuality in WebOS 3 (#4316) (5561111)
  • Fix hang when seeking to the last segment (#4537) (19a4842)
  • Fix HLS dynamic to static transition (a16b1ac)
  • Fix HLS dynamic to static transition (#4483) (a16b1ac), closes #4431
  • Fix HLS lazy-loading exception during update (#4648) (777c27e), closes #4647
  • Fix HLS lazy-loading exception on switch (#4645) (941ed4e), closes #4621
  • Fix HLS lazy-loading with DRM (#4646) (a7f0be7), closes #4622
  • Fix HLS live stream subtitle offsets (#4586) (3b9af2e)
  • Fix ID3 parsing in TS segments (#4609) (3b534fd)
  • Fix in-band key rotation on Xbox One (#4478) (4e93311), closes #4401
  • Fix key ID byteswapping for PlayReady on PS4 (#4377) (25fd4f4)
  • Fix legacy codec support by rewriting codec metadata (#4858) (e351395)
  • Fix media source duration when using sequence mode (#4848) (1762267)
  • Fix MediaCapabilities polyfill on Hisense (#4927) (6a48cfe)
  • Fix MediaCapabilities polyfill on Playstation 4 (#4320) (0335b2a)
  • Fix MediaCapabilities polyfill on Tizen and WebOS (#4396) (eb2aed8), closes #4383 #4357
  • Fix metadata assert when the ID3 is future (coming in a previous segment) (#4640) (216bdd7)
  • Fix missing originalUri in response filters (#5114) (8bffb99)
  • Fix multi-period DASH with descriptive audio (#4629) (81ccd5c), closes #4500
  • Fix parsing error on Chromecast when resyncing HLS (#4869) (afca6af), closes #4589
  • Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types (#4206) (b757a81), closes #4202
  • Fix playRangeEnd for certain content (#4068) (5c81f3b), closes #4026
  • Fix potential AV sync issues after seek or adaptation (#4886) (c42565c), closes #4589
  • Fix potential duplicate segments, AV sync issues (#4884) (52f4b63), closes #4589
  • Fix rare exception after StreamingEngine teardown (#4830) (234beef), closes #4813
  • Fix segment index assertions with DAI (#4348) (c2b3853)
  • Fix subtitles not added to DOM region (#4733) (4081434), closes #4680
  • fix support clear and encrypted periods (#4606) (6256db3)
  • Fix TextDecoder fallback and browser support check (#4403) (04fc0d4)
  • Fix timestamp offset for ID3 on DAI-HLS (#4696) (386a28a)
  • Fix UI captions icon state (#4384) (d462633), closes #4358
  • Fix usage of WebCrypto in old browsers (#4711) (9afce3b)
  • Fix vanishing tracks while offline (#4426) (c935cc1), closes #4408
  • Fix video/mp2t mimetype conversion. (#5039) (2d0e4cc)
  • Fix VP9 codec checks on Mac Firefox (#4391) (b6ab769)
  • Fix VTT cue timing in HLS (#4217) (5818260), closes #4191
  • Fix WebVTT parser failure on REGION blocks (#4915) (da84a2c)
  • Fixed LCEVC decode breaking dependencies issue and read me addition (#4565) (3c75d1a)
  • focus on first element when back to the settings menu (#4653) (b40b6e7), closes #4652
  • Force using mcap polyfill on EOS browsers (#4630) (6191d58)
  • Handle empty media segments for Mp4VttParser (#5131) (6fd44c4), closes #4429
  • HLS: Add .tsa and .tsv file extensions as valid MPEG2-TS. (#5034) (a22bdc5)
  • HLS: Add a guard on closeSegmentIndex (#4615) (57ce56b)
  • HLS: Adding support for DTS Express in HLS fMP4 (#5112) (#5117) (67b1e90)
  • HLS: don't do sequence mode workaround unless there's a text stream (#5079) (fb22669)
  • hls: Fix AV sync issues, fallback to sequence numbers if PROGRAM-DATE-TIME ignored (#4289) (314a987), closes #4287
  • HLS: Fix AV sync over ad boundaries (#4824) (35033bb), closes #4589
  • hls: Fix av1 codec selection in HLS. (#4203) (5e13495)
  • HLS: Fix detection of Media Playlist for audio and video only in MP4 (#4803) (76f96b9)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4663) (8f698c6)
  • HLS: Fix detection of WebVTT subtitles in HLS by extension (#4928) (15b0388), closes #4929
  • HLS: Fix discontinuity tracking (#4881) (fc3d5c1), closes #4589
  • HLS: Fix duplicate hinted segments (#4258) (9171f73), closes #4223
  • HLS: fix lazy load with multiple raw audio tracks (#4715) (76149ae)
  • HLS: Fix lazy-loading of TS content (#4601) (dd7356d)
  • HLS: Fix lowLatencyPresentationDelay when using autoLowLatencyMode (#4712) (877e954)
  • HLS: Fix missing roles (#4760) (2bc481d), closes #4759
  • hls: Fix raw format detection when the main playlist hasn't type (#4583) (d319718)
  • hls: Fix single-variant HLS streams (#4573) (62906bd), closes #1936 #3536
  • HLS: Fix support for mixed AES-128/NONE decryption (#4847) (452694d)
  • HLS: Fix support legacy AVC1 codec used in HLS (#4716) (c3ff8e5)
  • hls: Fix type error in lazy-loading (#4687) (28b73b9)
  • hls: Fix X-PRELOAD-HINT failure with LL mode off (#4212) (86497a5), closes #4185
  • hls: Fixed buffering issue with live HLS (#4002) (c438e85)
  • HLS: IMSC1 subtitles not working in a HLS stream (#4942) (974f5dc)
  • HLS: Infer missing codecs from config (#4656) (08fc7dd)
  • HLS: preserve discontinuitySequence in SegmentIndex#fit (#5066) (36a15f6)
  • HLS: Report HLS playlist updates as media playlist in network filters (#5120) (c2a59d0)
  • HLS: Return 0-0 seek range until fully loaded (#4590) (bf50ada)
  • HLS: Single alternative video renditions not working (#4785) (6915a97)
  • HLS: support discontinuities in segments mode (#5102) (71affe7)
  • hls: Support playing media playlists directly (#4080) (48dd205), closes #3536
  • Increase IndexedDB timeout (#4984) (ea290ab)
  • Limit key ids to 32 characters (#4614) (9531b07)
  • logging: Simplify log code. (#5050) (6944976), closes #5032
  • Make encoding problem detection more robust (#4885) (0e3621c), closes #4589
  • Make XML parsing secure (#4598) (a731eba)
  • Manually order key for decodingInfo cache (#4795) (806a9a8)
  • MCap: Remove robustness when robustness value is default (#4953) (7439a26)
  • Missing AES-128 key of last HLS segment (#4519) (3d0f752), closes #4517
  • mitigate uncaught type error in media_source_engine (#5069) (e19fa80), closes #4903
  • New EME polyfill fixes EME/MCap issues on some smart TVs (#4279) (db1b20e)
  • offline: Add storage muxer init timeout (#4566) (d4d3740)
  • offline: Clean up orphaned segments on abort (#4177) (c07447f)
  • offline: Speed up offline storage by ~87% (#4176) (c1c9613), closes #4166
  • performance: Eliminate use of ES6 generators (#4092) (57c7324), closes #4062
  • playhead: Safeguard getStallsDetected as stallDetector can be null (#4581) (21ceaca)
  • Polyfill missing AbortController on Tizen (#4707) (75ef975)
  • Populate track's spatialAudio property (#4291) (713f461)
  • Prevent bad calls to MediaSource.endOfStream (#5071) (64389a2), closes #5070
  • Prevent content from being restarted after Postroll ads (#4979) (64e94f1), closes #4445
  • Reject TS content on Edge (#5043) (8818a02)
  • Release region timeline when unloading (#4871) (a236180), closes #4850
  • Remove IE 11 from default browsers for Windows (#4272) (490b06c), closes #4271
  • Resolve load failures for TS-based content on Android-based Cast devices (#4569). (#4570) (65903aa)
  • Respect existing app usage of Cast SDK (#4523) (8d3d556), closes #4521
  • return width and height in the stats when we are using src= (#4435) (9bbfb57)
  • Revert "Add missing module export in generated typescript defs" (#4175) (fe4f5c6), closes #4167
  • Simplify transmuxer to allow more mimetypes in the future (#4642) (a14e84b)
  • stream property of request context obfuscated in production builds (#5118) (93baba2)
  • Sync each segment against EXT-X-PROGRAM-DATE-TIME (#4870) (50c9df4), closes #4589
  • text: Fix cue region rendering in UI (#4412) (b1f46db), closes #4381
  • text: Fix TTML render timing and line break issues for native display (122f223)
  • Tizen video error fixed by checking the extended MIME type (#4973) (eb01c60), closes #4634
  • Treat regions uniquely (#4841) (5681efe), closes #4839
  • TTML: Add font-family mapping (#4801) (db8987d)
  • ttml: Center subtitles by default (#4023) (f2f24d5)
  • ttml: Default TTML background color to transparent if unspecified (#4496) (32b0a90), closes #4468
  • TTML: Fix duplicate cues overlapping segment boundaries (#4798) (bd75032), closes #4631
  • UI: Ad position and ad counter are too close to each other (#4416) (8376410)
  • UI: Add cursor pointer to range elements (#4059) (33e8400), closes #3220
  • ui: Avoid submitting form if player is inside form (#4866) (da21850), closes #4861
  • ui: Check event cancelable before event.preventDefault (#4690) (6d8de72)
  • ui: Fix exception on screen rotation if fullscreen is not supported (#4669) (fd93f6a)
  • ui: Fix iOS fullscreen on rotation (#4679) (86256f4)
  • UI: Suppress error log from fullscreen button on desktop (#4823) (99da4ce), closes #4822
  • ui: Widen touchable button area (#3249) (6c0283e)
  • Update main branch Cast receiver ID (#4364) (46b27f1)
  • Upgrade mux.js to version that emits partial ID3 when malformed (#4259) (dc88fe0), closes #3761
  • Use middle segment when guessing MIME type on HLS (#4269) (#4270) (3d27d2a)
  • Virgin Media set top box is incorrectly categorized as Apple/Safari (df79470)
  • VTT Cue Parsing On PlayStation 4 (#4340) (b5da41e), closes #4321
  • VTT: Fix combining style selectors (#4934) (128562d)
  • VTT: Fix spacing between text lines (#4961) (2d0469f)
  • Wait for chapters track to be loaded (#4228) (80e81f1), closes #4186
  • WebVTT line not correctly positioned in UITextDisplayer (#4567) (#4682) (140aefe)
  • WebVTT: Add support to  , ‎ and ‏ (#4920) (726ef42)
  • WebVTT: Fix horizontal positioning with cue box size (#4949) (f456318)
  • WebVTT: Fix voice tag styles (a5f8b43)
  • WebVTT: Fix voices with styles and support to multiple styles (#4922) (68968c1)
  • WebVTT: Tags in the WebVTT subtitle are not parsed (#4960) (d4fc54f)

Performance Improvements

  • Caching mediaSource support for browser engine (#4778) (ad6c085)

This PR was generated with Release Please. See documentation.