Skip to content

fix: bumped hls.js version - #1357

Merged
spuppo-mux merged 5 commits into
muxinc:mainfrom
spuppo-mux:fix/bump-hlsjs-version
Sep 15, 2026
Merged

spuppo-mux merged 5 commits into
muxinc:mainfrom
spuppo-mux:fix/bump-hlsjs-version

Conversation

@spuppo-mux

@spuppo-mux spuppo-mux commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Closes https://github.com/muxinc/devextravaganza/issues/290

Fixes subtitles rendering at the wrong time on assets that contain an EXT-X-DISCONTINUITY. Cues are shifted forward by the start time of the first subtitle fragment loaded after the discontinuity, so they either appear at the wrong moment or land past the end of the video and never show at all.

Related hlsjs links:

Also in this PR

  • min-cap-level-controller.ts: HlsConfig.capLevelController became optional in 1.7, so class … extends Hls.DefaultConfig.capLevelController now fails. Kept the value on DefaultConfig and narrowed the type; importing CapLevelController by name would compile but break the CJS bundle, since dist/hls.js (UMD) exports only the Hls class; the named exports exist only in dist/hls.mjs.

Note

Medium Risk
This is a minor-version bump of the core HLS engine used for adaptive streaming and subtitles, so regressions in playback, ABR, or caption sync are possible despite the targeted bugfix motivation.

Overview
Upgrades hls.js from ~1.6.15 to ~1.7.0 across the monorepo (@mux/playback-core as a runtime dependency; mux-audio, mux-player, mux-video as dev deps), with lockfile hoisting to a single hls.js@1.7.3. The intent is to pick up upstream fixes for WebVTT cue timing on streams with EXT-X-DISCONTINUITY (cues no longer shifted or dropped after SSAI-style breaks).

min-cap-level-controller.ts is adjusted because hls.js 1.7 types Hls.DefaultConfig.capLevelController as optional: the controller base class is asserted/narrowed and a defensive runtime check logs if it is missing (still sourced from DefaultConfig for CJS bundle compatibility).

playback-core tests for initial-estimate-segments now stub fragments with sn: 0 so hls.js 1.7’s stricter fragmentsAreEqual handling does not throw before custom listeners run.

Reviewed by Cursor Bugbot for commit a06e5d7. Bugbot is set up for automated code reviews on this repo. Configure here.

@spuppo-mux
spuppo-mux requested a review from a team as a code owner September 15, 2026 15:59
@vercel

vercel Bot commented Sep 15, 2026

Copy link
Copy Markdown

@spuppo-mux is attempting to deploy a commit to the Mux Team on Vercel.

A member of the Team first needs to authorize it.

@snyk-io

snyk-io Bot commented Sep 15, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@vercel

vercel Bot commented Sep 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
elements-demo-nextjs Ready Ready Preview Sep 15, 2026 4:50pm UTC
elements-demo-svelte-kit Ready Ready Preview Sep 15, 2026 4:50pm UTC
elements-demo-vanilla Ready Ready Preview Sep 15, 2026 4:50pm UTC
elements-demo-vue Ready Ready Preview Sep 15, 2026 4:50pm UTC

Request Review

@luwes luwes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@spuppo-mux
spuppo-mux merged commit 6a7528a into muxinc:main Sep 15, 2026
12 of 13 checks passed
@github-actions github-actions Bot mentioned this pull request Sep 15, 2026
spuppo-mux pushed a commit that referenced this pull request Sep 17, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>@mux/playback-core: 0.35.4</summary>

##
[0.35.4](https://github.com/muxinc/elements/compare/@mux/playback-core@0.35.3...@mux/playback-core@0.35.4)
(2026-09-15)


### Bug Fixes

* bumped hls.js version
([#1357](#1357))
([6a7528a](6a7528a))
</details>

<details><summary>@mux/mux-player: 3.13.4</summary>

##
[3.13.4](https://github.com/muxinc/elements/compare/@mux/mux-player@3.13.3...@mux/mux-player@3.13.4)
(2026-09-15)


### Bug Fixes

* bumped hls.js version
([#1357](#1357))
([6a7528a](6a7528a))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/mux-video bumped from 0.31.3 to 0.31.4
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

<details><summary>@mux/mux-player-astro: 3.13.4</summary>

##
[3.13.4](https://github.com/muxinc/elements/compare/@mux/mux-player-astro@3.13.3...@mux/mux-player-astro@3.13.4)
(2026-09-15)


### Miscellaneous Chores

* **@mux/mux-player-astro:** Synchronize player versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/mux-player bumped from 3.13.3 to 3.13.4
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

<details><summary>@mux/mux-player-react: 3.13.4</summary>

##
[3.13.4](https://github.com/muxinc/elements/compare/@mux/mux-player-react@3.13.3...@mux/mux-player-react@3.13.4)
(2026-09-15)


### Miscellaneous Chores

* **@mux/mux-player-react:** Synchronize player versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/mux-player bumped from 3.13.3 to 3.13.4
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

<details><summary>@mux/mux-audio: 0.16.4</summary>

##
[0.16.4](https://github.com/muxinc/elements/compare/@mux/mux-audio@0.16.3...@mux/mux-audio@0.16.4)
(2026-09-15)


### Bug Fixes

* bumped hls.js version
([#1357](#1357))
([6a7528a](6a7528a))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

<details><summary>@mux/mux-audio-react: 0.16.4</summary>

##
[0.16.4](https://github.com/muxinc/elements/compare/@mux/mux-audio-react@0.16.3...@mux/mux-audio-react@0.16.4)
(2026-09-15)


### Miscellaneous Chores

* **@mux/mux-audio-react:** Synchronize audio versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

<details><summary>@mux/mux-video: 0.31.4</summary>

##
[0.31.4](https://github.com/muxinc/elements/compare/@mux/mux-video@0.31.3...@mux/mux-video@0.31.4)
(2026-09-15)


### Bug Fixes

* bumped hls.js version
([#1357](#1357))
([6a7528a](6a7528a))


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

<details><summary>@mux/mux-video-react: 0.31.4</summary>

##
[0.31.4](https://github.com/muxinc/elements/compare/@mux/mux-video-react@0.31.3...@mux/mux-video-react@0.31.4)
(2026-09-15)


### Miscellaneous Chores

* **@mux/mux-video-react:** Synchronize video versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @mux/playback-core bumped from 0.35.3 to 0.35.4
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Patch release centers on an hls.js dependency bump in playback-core,
which affects HLS playback for all dependent Mux player and media
packages.
> 
> **Overview**
> This is a **Release Please** patch release that bumps published
versions across the playback stack. There is **no application source**
in the diff—only `package.json` versions, changelogs,
`package-lock.json`, and the release-please manifest.
> 
> The release ships **`@mux/playback-core` 0.35.4**, documented as
bumping **hls.js**
([#1357](#1357)). That drives
patch releases for **`@mux/mux-player` / `@mux/mux-player-react` /
`@mux/mux-player-astro` (3.13.4)**, **`@mux/mux-video` /
`@mux/mux-video-react` (0.31.4)**, and **`@mux/mux-audio` /
`@mux/mux-audio-react` (0.16.4)**. React, Astro, and some audio/video
packages are mostly **version sync** plus updated pins on
`@mux/playback-core` (and `@mux/mux-player` / `@mux/mux-video` where
applicable).
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
a85577b. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

This branch was successfully deployed

4 active deployments
Preview – elements-demo-nextjs a06e5d70 Deployed Sep 15, 2026 by vercel[bot]
Preview – elements-demo-svelte-kit a06e5d70 Deployed Sep 15, 2026 by vercel[bot]
Preview – elements-demo-vanilla a06e5d70 Deployed Sep 15, 2026 by vercel[bot]
Preview – elements-demo-vue a06e5d70 Deployed Sep 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants