v1.7.0-alpha.1
HLS.js v1.7.0-alpha.1 is a pre-release marking a number of significant changes since the last v.16.x patch (all "v1.16.16-canary releases since v1.7.0-alpha.0 should have been versioned as 1.7 canary). This is not a feature-complete release. See the v1.7.0 milestone page and planning board for more info.
https://github.com/video-dev/hls.js/compare/v1.7.0-alpha.0...v1.7.0-alpha.1
hls.nextAudioTrackgetter/setter : Smooth audio switching (#7575) @krseagerPLAYLIST_UNCHANGED_ERRORevent : Max Unchanged Live Updates (#7704) @dzianis-dashkevichMEDIA_SOURCE_REQUIRES_RESETerror event (MediaSource closed while attached or ended on append error) (#7699) @christriants- Started with: Track "sourceended" event and handle ManagedMediaSource recovery (#7697) @zalishchuk*
- Additional work (#7702, #7707) @robwalch
- Only emit
FRAG_PARSING_USERDATAwhen text samples are found (#7686) @XephyrKenny abrSwitchIntervalconfig option (#7669) @christriantsappendTimeoutconfig option : append operation timeout handling (#7670) @dzianis-dashkevich
- Implemented smooth audio switching (#7575) @krseager
- Max Unchanged Live Updates (#7704) @dzianis-dashkevich
- Support playback for elementary audio stream encrypted using Sample-AES (#7479) @Yesterday17
- DRM and Multi-key handling improvements (#7517) @robwalch Resolve
setMediaKeysonly once media is attached (#7615) - Verify byte-range responses (#7701)
- Improve playlist alignment when PDT across playlists is inconsistent (#7482)
- Clear Fragment and Part resolved url cache (#7731)
- Prevent audio buffer flush on first track switch (#7696)
- Append queue logging and M2TS init segment handling (#7695)
- Resolve end-of-stream (for "ended" event) with empty or gap segments at end of playlist (#7609)
- Add SourceBuffer append operation timeout handling (#7670) @dzianis-dashkevich
- Check integrity of MPEG-TS video stream. (#7094) @mstyura
- feat: Add MISB KLV metadata extraction from MPEG-TS and CMAF streams (#7668) @jacorbello
- Allow KLV parsing when audio is available (follow up to #7668) (#7673) @jacorbello
- fix: handle page restoration from bfcache in Safari (#7683) @christriants
- fixed issue with seeking backward leading to stalling OR elevated buffering (#7577) @krseager
- fix: cea608 parser make sure pos is within bounds of chars array which has size of NR_COLS (#7666) @chelleccarlyle
- Fix WebVTT loading issue when progressive is enabled by disabling progressive loading for WebVTT (#7649) @krseager
- Fixed issue where certain Tizen devices would get stuck seeking over buffer gaps (#7630) @krseager
- Fix issue where some devices not works with PlayReady (#7631) @KunXi-Fox
- Fixed exception in interstitial-controller on legacy platforms where media.play() does not return a Promise (#7586) @malickyeu
- Fix Pathway Cloning PARAMS applied after PER-VARIANT-URIS (#7710) @robwalch
- Fixed Content Steering URI-REPLACEMENT: HOST applies to the Hostname, (#7655)
- Adjust initPTS when switching results in dropped GoP at start (#7700)
- Fix Low-Latency HLS VTT subtitle part loading (#7626)
- Restart loading in
recoverMediaErrorwhenautoStartLoadis disabled (#7693) - Fix endless while loop in gap controller with bad streams (#7661)
- Fix fallback to primary on live start (#7651)
- Do not reset interstitial when seeking between assets (#7650)
- Fix switching back to main audio(-only) after end-of-stream buffered (#7645)
- fix(build-config): correct interstitial env vars and content-steering condition (#7727) @zalishchuk
- Update Chrome configuration for macOS in build.yml (#7698, #7698) @robwalch
- Increase minimum Windows test version for saucelabs (#7602) @robwalch
- Create SECURITY.md (#7685) @pr4v33n7-sa
- Fix links for API Docs in README (#7637) @daniemo2
- Add Labra-Flex to 'They use HLS.js in production!' section (#7419) @aaskaoui
- Updated documentation (#7628) @krseager
https://a24cf9ae.hls-js-dev.pages.dev/demo/
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.15
HLS.js v1.6.15 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.14...v1.6.15
Content Protection:
- Fixed PlayReady endianness conversion device discrepancy (#7631) by @KunXi-Fox
- Fixed FairPlay Streaming key ID patching (
"keyId is null"error mentioned in https://github.com/video-dev/hls.js/issues/7542#issuecomment-3456853166 by @mehulmpt) (#7654) by @robwalch
Interstitials:
- Fixed reloading interstitial asset-list when seeking between assets in append-in-place mode (Fixes #7640 reported by @KunXi-Fox) (#7640) by @robwalch
- Fixed Interstitials fallback to primary on live start with empty asset-list (Fixes #7641 reported by @matvp91) (#7641)
Streaming:
- Fixed switching back to main audio-only after end-of-stream buffered (#7645) by @robwalch
- Fixed end-of-stream stalls with empty or gap segments at end of playlist (#7564)
- Resolves "Spinner at end of playback when video ends before the audio" #7572 reported by @MosheMaorKaltura
- Resolves "Empty segments at end of playlist cause repeated requests" #7564 reported by @mtaher1996 and +1 @mijms
- Fixed audio TS segment duration missing sample duration (Fixes #7646 reported by @martystefan) (https://github.com/video-dev/hls.js/commit/609ace6b52af0c4393e5d610520e36962110a154 https://github.com/video-dev/hls.js/issues/7646#issuecomment-3544191796)
- Fixed issue with progressive loading of subtitles by disabling progressive loading for webVTT (#7649) by @krseager
https://b5567215.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.14
HLS.js v1.6.14 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.13...v1.6.14
- Fixed #7608: exception calling
setMediaKeyswith Interstitial preroll (#7615) - Fixed #7581: exception on legacy platforms where
media.play()does not return aPromisewith Interstitials (#7586)
https://6c1eb7c9.hls-js-dev.pages.dev/demo/
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.7.0-alpha.0
HLS.js v1.7.0-alpha.0 marks the creation of branch patch/v1.6x for LTS maintenance and merging of changes slated for 1.7.0 into development (master).
See the HLS.js Release Planning and Backlog board for more details on planned work, the deployments page for canary builds, and the roadmap for overall release features and theme.
v1.6.13
HLS.js v1.6.13 includes bug fixes and improvements over the last release.
The initPTS fix addresses an edge-case introduced in v1.6.6 with #7311, where hls.js began using MSE timestampOffset in place or remapping media timestamps.
The content protection related fixes address issues resulting from an expectation for a KEYID attribute or a key ID value in the EXT-X-KEY tag or its URI.
https://github.com/video-dev/hls.js/compare/v1.6.12...v1.6.13
- Fix seeking back in live with timestamp wrapping (#7537) @robwalch
- Fixes "fragParsingError" after seeking back in live - regression introduced in 1.6.6 with #7311 (#7536) @bmarshall
- Use Widevine KEYID or parse PlayReady when level keys are present (#7545)
- Fixes FairPlay parsing error - regression introduced in 1.6.11 (#7542) @Jason239
- Get KEYID from init segment 'tenc' when not found elsewhere (#7547)
- Fixes Widevine key parsing error - regression introduced in 1.6.11 with #7527 (#7541) @AfLosada
Get demo url from https://github.com/video-dev/hls.js/tree/deployments
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.12
HLS.js v1.6.12 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.11...v1.6.12
- Fixed PlayReady regression:
- Fix PlayReady key endianness (#7510) @ShubhamSharma2311
- Error handling for PlayReady key with no status change (#7527) @robwalch
- Use Widevine PSSH parsing when KEYID attribute missing from playlist (#7415) @yajin2021
- Multivariant Playlist parsing fixes (#7523) @robwalch
- Add missing stats.parsing.end timing to manifest events
- Use playlist CODECS in mime-type when handling unknown codecs (fixes handling of AIV example content)
- Setup as audio-only when main segment has no video and CODECS is missing (#7530)
- Fix "Missing format identifier #EXTM3U" playlist parsing errors (#7533)
https://37434c54.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.11
HLS.js v1.6.11 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.10...v1.6.11
- Fix Interstitial asset events not firing when attaching primary before last asset on PLAYOUT-LIMIT update (#7467) @robwalch
- Issue reported by @martmol (follow up to #7239)
- Handle EME key status errors such as "internal-error" and "output-restricted" before appending segments (#7414)
- Fixes: Playback ends when the "keySystemStatusInternalError" occurs (#7413) @yajin2021
- Fixes: HDCP error when playing manifests with both HD and SD levels (#7469) @mudit2108
- Defer segment requests when network connection is lost (#7476) @robwalch
- Resolves: Regression due to treating HTTP status 0 differently from 404 (#7471) @Frenzie
- Fix exception when seeking to program end (#7478) @robwalch
- Add ESLint syntax rules to restrict async syntax (#7480) @robwalch
- Improve functional test logs (#7481)
- Fix syntax in
recoverMediaErrorexample in API.md (#7470) @tmatth
https://9f517588.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.10
HLS.js v1.6.10 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.9...v1.6.10
- Merge new Date Ranges in Playlist Delta Update when last details have none (#7462) @robwalch
- Disable Low-Latency HLS part loading for VTT subtitle playlists (#7463)
- Do not treat HTTP status 0 frag load errors as gaps (#7464)
- Allow base and query URI differences in segment mismatch error check (#7465)
- Minor improvements to docs (#7459) @anacrolix
https://e4afa090.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.9
HLS.js v1.6.9 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.8...v1.6.9
- Prevent exception when mapping date ranges that referenced dropped PDT (#7450) @robwalch
- Force schedule update on interstitial asset errors and improve seeking back through inlined asset lists (#7451)
- Fallback to alternate or error when unhandled encryption is detected(#7454)
- Remove unnecessary conditionals (#7455)
https://20f3b13d.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.
v1.6.8
HLS.js v1.6.8 includes bug fixes and improvements over the last release.
https://github.com/video-dev/hls.js/compare/v1.6.7...v1.6.8
- Interstitials improvements and fixes (#7425) @robwalch
- Unblock audio appends when video source buffer is at end-of-stream (#7442)
- Fix FairPlay Streaming EME "encryption" event handling (#7440)
- Timestamp offset stability fix for muxed "audiovideo" mp4 (#7436)
- Reset TS video parser with init segment (#7403)
- Ignore offsets related to default_display_window_flag in HEVC-TS demuxer (#7418) @devoldemar
- Improve
recoverMediaErrordocumentation in API.md (#7447) @robwalch
https://a0b0d665.hls-js-dev.pages.dev/demo/
If you are upgrading from version v0.14.17 or lower, see the MIGRATING guide for API changes between v0.14.x and v1.0.0.
Please provide feedback via Issues in GitHub. For more details on how to contribute to HLS.js, see our CONTRIBUTING guide.