5.0.0 (2022-11-08)
- Remove small/large gap config, always jump gaps (#4125)
- config:
manifest.dash.defaultPresentationDelay
has been replaced bymanifest.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 byaddTextTrackAsync()
, which returns aPromise
(deprecated in v3.1.0) - ui:
shaka.ui.TrackLabelFormat
has been renamed toshaka.ui.Overlay.TrackLabelFormat
(deprecated in v3.1.0) - ui:
shaka.ui.FailReasonCode
has been renamed toshaka.ui.Overlay.FailReasonCode
(deprecated in v3.1.0) - offline:
shaka.offline.Storage.prototype.store()
returnsAbortableOperation
instead ofPromise
(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 byshaka.util.BufferUtils.equal
, which can handle multiple types of buffers (deprecated in v3.0.0)- manifest:
shaka.media.SegmentIndex.prototype.destroy()
has been replaced byrelease()
, which is synchronous (deprecated in v3.0.0) - manifest:
shaka.media.SegmentIterator.prototype.seek()
, which mutates the iterator, has been replaced byshaka.media.SegmentIndex.getIteratorForTime()
(deprecated in v3.1.0) - manifest:
shaka.media.SegmentIndex.prototype.merge()
has become private; usemergeAndEvict()
instead (deprecated in v3.2.0) - plugin:
AbrManager
plugins must implement theplaybackRateChanged()
method (deprecated in v3.0.0) - plugin:
shaka.extern.Cue.prototype.spacer
has been replaced by the more clearly-namedlineBreak
(deprecated in v3.1.0) - plugin:
IUIElement
plugins must have arelease()
method (notdestroy()
) (deprecated in v3.0.0) - Remove deprecated features, update upgrade guides (#4089)
- Remove support for Safari 12 and iOS 12 (#4112)
- hls: HLS disabled in old browsers/platforms due to incompatibilities (#3964)
shaka.util.Uint8ArrayUtils.equal
has been replaced byshaka.util.BufferUtils.equal
, which can handle multiple types of buffers (deprecated in v3.0.0) (ac5acc8)- Add a config to dispatch all emsg boxes. (#3653) (ea3568d), closes #3348
- Add AAC transmuxer (#4632) (8623a5d)
- add Amazon Fire TV platform support (#4375) (5102dac)
- Add blob-url support (#3583) (6a03207), closes #1481
- Add Common Media Client Data (CMCD) logging support (#3662) (221637a), closes #3619
- Add config for sequenceMode in DASH (#4607) (aff2a5d)
- Add Dockerfile and docker build instructions (925de19)
- Add external thumbnails support (#4497) (3582f0a)
- Add external thumbnails with sprites support (#4584) (86cb3e7)
- Add goToLive method (#3527) (84b9a89)
- 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 media quality change events (#3700) (bd7b384), closes #3431
- add modern EME support for FairPlay (#3776) (6d76a13)
- add new methods to FairPlayUtils (#4029) (f1eeac1)
- add option for segment-relative VTT timings (#4083) (f382cc7)
- Add randomUUID polyfill (#3669) (a72adca)
- Add separate audio and video MIME types to Track API (#3892) (74c491d), closes #3888
- 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 advanced ABR config options (#3706) (d667e50), closes #3422
- Adds ChannelCount as a filter to the Player Select Audio Track Method (#4552) (9dd945c), closes #4550
- ads: Add getDescription to CS and SS ads (#4526) (7d2a170)
- ads: Add getTitle to CS and SS ads (#4513) (a019065)
- ads: Ignore ad events with no associated ad (#4488) (e826eb8), closes #4481
- ads: Integrate with non-linear IMA CS ads (#3639) (9c3bed3), closes #2596
- Allow add extra features to MediaSource.addSourceBuffer (#4527) (4033be7)
- Allow clearKey configuration in base64 or hex (#4627) (29ffc89)
- 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 WebP and AVIF image streams (#3856) (9f3fb46), closes #3845
- ARIA: Add polyfill for ARIAMixin. (cf2fb90), closes #3378
- Automatic ABR quality restrictions based on screen size (#4515) (b5935a8)
- Automatic ABR quality restrictions based on size (#4404) (cfe8af5), closes #2333
- cast: Add Android receiver support (#4183) (dbba571)
- config:
manifest.dash.defaultPresentationDelay
has been replaced bymanifest.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: Construct ClearKey PSSH based on MPD ContentProtection (#4104) (b83b412)
- dash: Create segment index only when used (b16d30c)
- dash: Parse ClearKey license URL in MPD (#4066) (19e24b1)
- demo: Add Apple Advanced HLS Stream (TS) with raw AAC (#3933) (1becadf)
- demo: Added demo asset with raw AAC. (014c7b3), closes #2337
- 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
- Export LanguageUtils (5783694), closes #3692
- hls: Add support for EXT-X-GAP (#4208) (14e61a7), closes #1308
- HLS: allow customize live segments delay (#4585) (1f558a8)
- HLS: Allow mp3 playback with mp4a.40.34 (#4592) (8f892b1)
- HLS: Containerless format support (36d0b54), closes #2337
- hls: HLS disabled in old browsers/platforms due to incompatibilities (#3964) (0daa00f)
- HLS: Lazy-load HLS media playlists (#4511) (b2f279d), closes #1936
- hls: make a head request if hls subtitles have no extension (#4140) (19e12b5)
- hls: Make default HLS audio/video codecs configurable (#3651) (52d68a2)
- hls: parse EXT-X-GAP (#4134) (42eecc8)
- 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)
- manifest:
shaka.media.SegmentIndex.prototype.destroy()
has been replaced byrelease()
, which is synchronous (deprecated in v3.0.0) (ac5acc8) - manifest:
shaka.media.SegmentIndex.prototype.merge()
has become private; usemergeAndEvict()
instead (deprecated in v3.2.0) (ac5acc8) - manifest:
shaka.media.SegmentIterator.prototype.seek()
, which mutates the iterator, has been replaced byshaka.media.SegmentIndex.getIteratorForTime()
(deprecated in v3.1.0) (ac5acc8) - net: Add response HTTP status to Networking engine responses (#3641) (2701527), closes #3640
- 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()
returnsAbortableOperation
instead ofPromise
(deprecated in v3.0.0) (ac5acc8) - offline: Changed store order of operations. (5215f53), closes #879
- offline: improve the speed of offline downloads (#4168) (73f6de3)
- offline: Load init segments first for keys (db8ad31), closes #879
- offline: Make segment storage stateless. (aded252), closes #879
- 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 byaddTextTrackAsync()
, which returns aPromise
(deprecated in v3.1.0) (ac5acc8) - player: Add updateStartTime method to play (#3491) (16c1810)
- player: Added events for download lifecycle. (7893b77), closes #3533
- plugin:
AbrManager
plugins must implement theplaybackRateChanged()
method (deprecated in v3.0.0) (ac5acc8) - plugin:
IUIElement
plugins must have arelease()
method (notdestroy()
) (deprecated in v3.0.0) (ac5acc8) - plugin:
shaka.extern.Cue.prototype.spacer
has been replaced by the more clearly-namedlineBreak
(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 frequent updates during streaming (#3483) (6e69bed), closes #3332
- Temporarily disable the active variant from NETWORK HTTP_ERROR (#4189) (b57279d), closes #4121 #1542 #2541
- text: Partially support tts:textOutline (911ce6d), closes #3612
- TS parser improvements (#4612) (5157b44)
- ui:
shaka.ui.FailReasonCode
has been renamed toshaka.ui.Overlay.FailReasonCode
(deprecated in v3.1.0) (ac5acc8) - ui:
shaka.ui.TrackLabelFormat
has been renamed toshaka.ui.Overlay.TrackLabelFormat
(deprecated in v3.1.0) (ac5acc8) - ui: Add configurable rates (#3579) (f65b093), closes #3443
- ui: Add quality selection for audio-only content (#3649) (adc3502), closes #2071
- ui: Add Quality, Language, Playback, Captions buttons to control panel (#3465) (481b378)
- ui: Add right-click context menu, statistics button (#3548) (afb9310), closes #2607
- ui: Add tooltips to control panel buttons (#3572) (d5769ee), closes #3269
- UI: Add video fullscreen support for iOS (#3853) (8d1b5e6), closes #3832
- UI: Added keyboardSeekDistance config to UI (#4246) (6084ca6)
- ui: Added Loop and PIP to context menu, and Statistics to overflow menu (#3578) (34958c8)
- UI: Adds singleClickForPlayAndPause config (8aacdcf), closes #3821
- UI: Exit PiP when destroying UI (38cfc23), closes #3553
- Upgrade eme-encryption-scheme-polyfill to support ChromeCast version of PlayReady (#4378) (e6b6d7c)
- webvtt: add support for karaoke style text in WebVTT (#4274) (60af516)
- 3783 captions not working after a period transition on live DASH streams (#3801) (6e0737e), closes #3783
- abr: use Network Info API in ABR getBandwidthEstimate (#4263) (4fc7a48)
- Account for server-side ad cue points in external text tracks. (#3617) (a7f4db7)
- Add DASH MIME type mapping for src= playback (#3805) (3a9139e)
- Add explicit release() for FakeEventTarget (#3950) (f1c1585)
- Add fallback to TextDecoder and TextEncoder #4324 (5b18069)
- Add missing module export in generated typescript defs (feefd7b)
- add strictMissingProperties suppressions to unblock strict missing properties on union types. (#4371) (b361948)
- Add support to file type in mediaCapabilities implementation (#3570) (233c2bf), closes #3530
- Add support to file type in MediaCapabilities polyfill (#3569) (c07d1a3), closes #3530
- Add Support to iOS 12 in MediaCapabilities polyfill (#3573) (ef506ac)
- ads: Add ResizeObserver to CS ad manager. (#3652) (2bdc326), closes #3638
- ads: Dispose of ad manager on player detach (7b2a172)
- ads: Fix IMA crash when autoplay is rejected (#4518) (d27f7d2), closes #4179
- ads: Fix stopping of Server Side Ad manager (#3611) (a17c988)
- allow build without text (#4506) (340b04a)
- Allow overriding special handling of 404s (#4635) (427f126), closes #4548
- allow the playback on platforms when low latency APIs are not supported (#4485) (c1753e1)
- Always polyfill MediaCapabilities for Apple browsers (#3588) (4dce1e0)
- Avoid seeking on src when start time is 0 (#3644) (3f822d8), closes #3518
- Avoid WebCrypto randomUUID when CMCD disabled (4731c76)
- cast: Make cast tests more forgiving. (4fee1de)
- cast: Reduce size of Cast update messages (#4644) (4e75ec6)
- cea: Fix BUFFER_READ_OUT_OF_BOUNDS error when CEA caption packets are empty (#3609) (97ba4df), closes #3608
- cea: make a more robust CEA MP4 parser (#3965) (2687b95)
- check for negative rows before moving (#4510) (b3621c2), closes #4508
- Clear buffer on seek if mediaState is updating (#3795) (9705639), closes #3299
- cmcd: Fix Symbol usage in CMCD on Xbox One (#4073) (4005754), closes #4072
- Content reload starttime with HLS on iOS (#4575) (59d4360), closes #4244
- 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 performance regression (#4064) (298b604)
- dash: Fix playback of Dolby Atmos (#4173) (d51fe23), closes #4171
- dash: Notify segments on all updates. (b8b72a9), closes #3675
- DASH: Support "forced-subtitle" role (#3807) (f767260), closes #3767
- Debug buffer placement (#4345) (47fa309)
- Dedupe DRM init data (#3695) (a09d8c9)
- demo: allow switch between UITextDisplayer and SimpleTextDisplayer (#4275) (28689f3)
- demo: erroneous FairPlay keysystem in demo (#4276) (8719bdc)
- demo: Fix 'Tears of Steel (live, DASH, Server Side ads)' (#3758) (fb90679)
- Discard only invalid overlapping periods (1c64e20)
- Discard only invalid periods (94d696f)
- Display captions with forward slashes (#3556) (65e9d8f)
- Do not report MANIFEST RESTRICTIONS_CANNOT_BE_MET error twice (#4194) (08589e8), closes #4190
- Don't destroy ad manager on detach (#3665) (684dd85)
- Don't forget active track after new period is added to live stream. (22307d0), closes #3510
- Don't gap jump at start of video if autoplay is not set (#3645) (9e15323), closes #3451
- Don't send drmsessionupdate after unload (#4248) (60af9ad)
- embed cc not shown when seeking back (#4643) (2a6b0d0), closes #4641
- Enforce string-format of event data keys. (dd3748d), closes #3710
- Enhanced fix for geo-redundancy (5f77d2b)
- exception if on early adError (#4362) (3c92f05), closes #4004
- Failover in geo-redundant streams (930c158)
- FairPlay playback (#3531) (3995000)
- fairplay: Re-add initDataTransform config (#4231) (ff310e9)
- Filter unsupported H.264 streams in Xbox (#4493) (8475214)
- Fix ARIA label on replay button (#3513) (2dedd9f), closes #3512
- Fix audio language switching while using AirPlay (#3472) (f9c289e), closes #3125
- 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 CC parsing of EPB and v1 TKHD boxes (#3610) (6a775e2), closes #3502
- Fix choosing tracks from streaming event (#3459) (760161f), closes #3448
- Fix choppy HLS startup (#4553) (59ef54a), closes #4516
- Fix CMCD property mangling (#3842) (fa5932c), closes #3839
- Fix CMCD top bitrate reporting (#3852) (922778a), closes #3851
- Fix compilation error with strict constness (6757d23)
- Fix compiler error introduced in #3864 (#3906) (0635e2c)
- Fix DASH transition from dynamic to static (#3497) (b3166db), closes #3376
- Fix detection of ac4, dts, and dolby h265 (#4657) (319a358)
- Fix dispatch ID3 metadata when transmuxing AAC (#4639) (bf813f2)
- Fix download of some HLS assets (#3934) (36ca820)
- Fix DRM workaround for Tizen and Xbox with ac-3 boxes (#3631) (56a0042), closes #3589
- Fix DRM workaround for Tizen and Xbox with avc3 boxes (#3625) (31b1ca9)
- Fix drm.keySystemsMapping config (#4425) (d945084), closes #4422
- Fix duplicate CMCD parameters in HLS live content (#3875) (f27401c), closes #3862
- Fix encryption detection to work around broken platforms (#4169) (c5f474e)
- Fix enforcement of cue alignment styles (2250324), closes #3379
- 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 in StreamingEngine for EMSG with HLS (#3887) (48433ab), closes #3886
- Fix exception with streaming.startAtSegmentBoundary (#4216) (426a19c), closes #4188
- Fix exceptions when quickly shutting down src= on Safari (#4088) (ca08230), closes #4087
- Fix failure with multiple thumbnails per period (052e794), closes #3383
- Fix filtering of duplicate image streams (42674be), closes #3383
- 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 mediaCapabilities polyfill on Chromecast (de77787)
- Fix MediaCapabilities polyfill on Playstation 4 (#4320) (0335b2a)
- Fix MediaCapabilities polyfill on Safari (0201f2b), closes #3696 #3530
- Fix MediaCapabilities polyfill on Tizen and WebOS (#4396) (eb2aed8), closes #4383 #4357
- Fix memory leak in DASH live streams with inband EventStream (#3957) (b7f04cb)
- Fix metadata assert when the ID3 is future (coming in a previous segment) (#4640) (216bdd7)
- Fix misdetection of HEVC support on MS Edge (#3897) (dfb3699), closes #3860
- Fix missing throughput in CMCD for HLS live (#3874) (df55944), closes #3873
- Fix multi-period DASH with descriptive audio (#4629) (81ccd5c), closes #4500
- Fix multiperiod without consistent thumbnails (ed1563f), closes #3383
- Fix PERIOD_FLATTENING_FAILED error when periods have different base sample types (#4206) (b757a81), closes #4202
- Fix playback failure due to rounding errors (1cc99c1), closes #3717
- Fix playRangeEnd for certain content (#4068) (5c81f3b), closes #4026
- Fix segment index assertions with DAI (#4348) (c2b3853)
- fix support clear and encrypted periods (#4606) (6256db3)
- Fix support for TTAF1 namespace (old version of TTML) (#3864) (771619f), closes #3009
- Fix TextDecoder fallback and browser support check (#4403) (04fc0d4)
- Fix thumbnail duration, expose start time and duration (d4a1255), closes #3517
- Fix thumbnail position calculation (#3516) (097c9a1), closes #3511
- Fix UI captions icon state (#4384) (d462633), closes #4358
- Fix usage of Shaka without polyfills (dfc44cb)
- Fix vanishing tracks while offline (#4426) (c935cc1), closes #4408
- Fix vp09 playback on webOS (#3566) (13aafcf)
- Fix VP9 codec checks on Mac Firefox (#4391) (b6ab769)
- Fix VTT cue timing in HLS (#4217) (5818260), closes #4191
- Fixed LCEVC decode breaking dependencies issue and read me addition (#4565) (3c75d1a)
- Fixes updating of nested cues (b02ff27), closes #3524 #3643
- focus on first element when back to the settings menu (#4653) (b40b6e7), closes #4652
- Force using mcap polyfill on EOS browsers (#4630) (6191d58)
- HLS: Add a guard on closeSegmentIndex (#4615) (57ce56b)
- hls: Fix AV sync issues, fallback to sequence numbers if PROGRAM-DATE-TIME ignored (#4289) (314a987), closes #4287
- hls: Fix av1 codec selection in HLS. (#4203) (5e13495)
- HLS: Fix detection of WebVTT subtitles in HLS by extension (#4663) (8f698c6)
- HLS: Fix duplicate hinted segments (#4258) (9171f73), closes #4223
- HLS: Fix lazy-loading of TS content (#4601) (dd7356d)
- 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 X-PRELOAD-HINT failure with LL mode off (#4212) (86497a5), closes #4185
- hls: Fixed buffering issue with live HLS (#4002) (c438e85)
- hls: Fixes parsing of HLS 'DEFAULT' attribute (#3771) (3e7a5b5), closes #3769
- HLS: Infer missing codecs from config (#4656) (08fc7dd)
- hls: Made HLS notify segments after fit (1e598ba), closes #3733
- hls: Made HLS notify segments after fit (9220c1f), closes #3733
- HLS: Return 0-0 seek range until fully loaded (#4590) (bf50ada)
- HLS: skip whitespace in attributes (#3884) (ea6c02a)
- hls: Support playing media playlists directly (#4080) (48dd205), closes #3536
- image: Fix HLS image track issues (264c842), closes #3840
- image: Fix thumbnails issues (#3858) (087a9b4)
- Limit key ids to 32 characters (#4614) (9531b07)
- Load image streams for offline multiperiod (4f4f6b1), closes #3383
- Make ARIA polyfill more robust (b185b3c)
- Make XML parsing secure (#4598) (a731eba)
- Missing AES-128 key of last HLS segment (#4519) (3d0f752), closes #4517
- 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: Do not apply CMCD query args to offline URIs (#3716) (173ae42), closes #3712
- offline: Fix error when un-storing DRM asset (23e0d76), closes #3534
- 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)
- Populate track's spatialAudio property (#4291) (713f461)
- Rearrange checking & also check second period (51f6c10)
- Remove IE 11 from default browsers for Windows (#4272) (490b06c), closes #4271
- Reset forced subs between loads (e9dc36d)
- 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
- Select first of identical audio streams (#3869) (a6d8610)
- Simplify transmuxer to allow more mimetypes in the future (#4642) (a14e84b)
- Support multiple chapter tracks with same language (#3868) (8c626ae), closes #3597
- text: Allow comments in the TTML parser (#3827) (c5a81f5), closes #3766
- text: Fix caption overlap. (bf67d87), closes #3850 #3741
- text: Fix cue region rendering in UI (#4412) (b1f46db), closes #4381
- text: Fix timestamp offset of CEA-608 cues (b6d7138), closes #3782
- text: Fix TTML render timing and line break issues for native display (122f223)
- text: Fix UI test failures (7da2cd5), closes #3689
- text: Fix webvtt offset in sequence mode (#3955) (a4e9267), closes #2337
- text: Fixes minor bug with cue updating (a4e348d)
- text: Force caption update when removing cues (4bdd3bb)
- text: Inherit alignment from regions. (e9df8fb)
- text: Made nested cues inherit region (#3837) (3ff48cb), closes #3743
- text: Remove caption wrapper bgColor (#3838) (0117441), closes #3745
- text: support stpp.ttml codec in Mp4TtmlParser (#3754) (9e5b9ac)
- Tolerate misaligned TS files (20f3cb0), closes #3580
- ttml: Center subtitles by default (#4023) (f2f24d5)
- ttml: Default TTML background color to transparent if unspecified (#4496) (32b0a90), closes #4468
- ttml: Fix ttml erroneously dismissing cues. (157bd77), closes #3643
- Typings & remove unrelated tests (e248db4)
- 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: Control panel alignment (#3650) (c55ce6c)
- ui: Fix Russian translation (#3751) (3092063)
- ui: Fix styling of UI text cues (cdeffbb), closes #3521 #3600 #3713
- UI: Fix text UI not updating when text is disabled (#3867) (9f53d39), closes #3728
- UI: Fix time element height on Safari (#3809) (680ab22), closes #3739
- UI: Stop using setAttribute for ARIA (#3489) (3b2f7db)
- UI: Update Play icon after seeking from end (#3515) (8b418bb)
- ui: Widen touchable button area (#3249) (6c0283e)
- Update Cast receiver ID for v3.2 (1b2fa84)
- Update main branch Cast receiver ID (#4364) (46b27f1)
- Upgrade mux.js to version that emits partial ID3 when malformed (#4259) (dc88fe0), closes #3761
- Use "undetermined" for missing CC language (3cc9ec5)
- Use middle segment when guessing MIME type on HLS (#4269) (#4270) (3d27d2a)
- Use period ID instead of start time (84f4578)
- VTT Cue Parsing On PlayStation 4 (#4340) (b5da41e), closes #4321
- Wait for chapters track to be loaded (#4228) (80e81f1), closes #4186
- Work around override of MediaCapabilities polyfill in Apple browsers (#3668) (31c0cd4), closes #3530
This PR was generated with Release Please. See documentation.