github streamlink/streamlink 6.3.0
Streamlink 6.3.0

latest releases: 6.7.4, 6.7.3, 6.7.2...
7 months ago

Release highlights:

  • Added: warning log message when skipping HLS segments between playlist reloads (#5607)
  • Refactored: internals of segmented stream implementations (base classes, HLS, DASH)
    • Added: base Segment dataclass and made segmented streams inherit from it (#5594)
    • Moved: modules into sub-packages (import paths of public APIs remain the same) (#5593)
    • Renamed: various non-public HLS class methods/attributes and functions (#5526)
    • Removed: Sequence segment wrapper from HLS implementation (#5526)
  • Fixed: DASH manifest not respecting the minBufferTime (#5610)
  • Fixed: URL matchers of HLS/DASH protocol plugins (#5616, #5617)
  • Fixed: bandwidth parsing issue in HLS multivariant playlists (#5619)
  • Fixed plugins:
    • dlive: fixed live streams and fixed VODs (#5622, #5623)
    • goodgame: rewritten plugin using goodgame API v4 (#5586, #5597)
    • mitele: updated gbx API calls from v2 to v3 (#5624)
    • twitch: fixed error handling of geo-restricted or inaccessible streams (#5591)
  • Removed plugins:
    • ntv: static stream URLs (#5604)
    • vlive: offline (#5599)
  • Build: dropped versioningit build-requirement when building from sdist tarball (version string has always been built-in while versioningit performed a no-op) (#5632)
  • Packaging: added missing shell completions build-script to sdist (#5625)
  • Docs: clarified section about building from source (sdist/git vs. GitHub tarballs) (#5633)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚙️ Configuration and Usage

Please see the CLI documentation for how to configure and use Streamlink.

❤️ Support

If you think that Streamlink is useful and if you want to keep the project alive, then please consider supporting its maintainers by sending a small and optionally recurring tip via the available options.
Your support is very much appreciated, thank you!

🙏 Contributors

🗒️ Full changelog

Allan Fernando <allanfarmelin2001@yahoo.com.br> (1):
      plugins.dlive: fix live streams

Antonio Cebrián <ancebfer@gmail.com> (1):
      plugins.mitele: update to gbx v3

Mehavoid <63477090+Mehavoid@users.noreply.github.com> (1):
      plugins.goodgame: use streamKey for HLS URLs

Michaël Arnauts <michael.arnauts@gmail.com> (1):
      plugin: fix typo in constant name

bastimeyer <mail@bastimeyer.de> (39):
      plugins.twitch: fix HLS multivariant errors
      plugins.goodgame: rewrite using API
      stream.hls: turn Segment/Playlist into dataclasses
      stream.hls: remove Sequence named tuple wrapper
      stream.hls: update methods and attributes
      stream.hls: refactor M3U8 playlist loading
      stream: switch to stream.segmented sub-package
      stream: switch to stream.dash sub-package
      stream: switch to stream.hls sub-package
      stream.segmented: move CompatThreadPoolExecutor
      stream.hls: rename Segment to HLSSegment
      stream.dash: rename Segment to DASHSegment
      stream.dash: rename DASHSegment.url attr to uri
      stream.dash: rename DASHSegment.number to num
      stream.dash: make DASHStream.duration non-optional
      stream.segmented: add common base Segment class
      stream.hls: move HLSSegment to dedicated module
      stream.dash: move DASHSegment to dedicated module
      plugin.api.validate: remove unneeded Match check
      docs: upd Debian stable from bullseye to bookworm
      plugins.vlive: remove plugin
      script: don't upload PGP signatures to PyPI
      plugins.ntv: remove plugin
      stream.hls: warn about skipped segments
      stream.dash: return timedelta from duration parser
      stream.dash: respect the manifest's minBufferTime
      ci.github: update py312 runners
      plugins: ignore case in protocol-plugin input URLs
      plugins: fix URL matchers of HLS and DASH
      stream.hls: fix playlist bandwidth
      tools: bump ruff to 0.1.0
      chore: "RUF" rules to ruff config
      chore: add "INP" rules to ruff config
      chore: add "T20" rules to ruff config
      plugins.dlive: rewrite and fix VODs
      build: include build-shell-completions.sh in sdist
      build: remove versioningit build-req from sdist
      docs: add sdist section to install page
      docs: update virtual-env sections on install page

Don't miss a new streamlink release

NewReleases is sending notifications on new releases.