Streamlink Versions Save

Streamlink is a CLI utility which pipes video streams from various services into a video player

6.7.3

2 weeks ago

Patch release:

  • Fixed: file output paths being able to exceed max file/directory name length (#5921, #5925)
  • Fixed: propagation of KeyboardInterrupt/SystemExit in streamlink.webbrowser (#5930)
  • Fixed: compatibility with exceptiongroup<=1.1.1 (#5930)
  • Fixed: plugin.api.validate.parse_qsd input type validation (#5932)
  • Updated plugins:
    • mangomolo: fixed missing referer header and updated URL matcher (#5923, #5926)
    • pluto: rewritten plugin (#5910)
    • showroom: fixed geo-block check preventing stream access (#5911)
    • vkplay: updated URL matcher (#5908)
  • Tests: fixed test failure when running tests from the bdist build directory (#5933)

📦 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

  • 16: @bastimeyer
  • 1: @amurzeau
  • 1: @streamlinkbot

🗒️ Full changelog

Alexis Murzeau <[email protected]> (1):
      tests: fix test_onbuild when executed from build directory

bastimeyer <[email protected]> (16):
      tools: bump ruff to 0.3.4
      tools: bump mypy to 1.9.0
      plugins.vkplay: update matcher and API URL
      plugins.showroom: fix geo-block check
      docs: fix anchor on install page
      plugins.pluto: rewrite plugin
      tests: refactor CLI path utils tests
      cli.utils.path: add truncate_path()
      cli.utils.formatter: respect max file name length
      plugins.mangomolo: fix missing Referer header
      plugins.mangomolo: fix media.gov.kw matcher
      cli.utils.path: fix max bytes
      plugin.api.validate: check parse_qsd() input type
      webbrowser: fix propagation of BaseException
      ci.codecov: add build_backend status check
      tools: bump ruff to 0.3.7

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents

6.7.2

1 month ago

Patch release:

  • Build: reverted trio version requirement bump (#5902)
  • Build: fixed incorrect pytest version requirement (#5901)

📦 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

  • 2: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (2):
      tests: require pytest 8.0.0
      build: set trio min-requirement back to 0.22

6.7.1

1 month ago

Patch release:

  • Fixed: CLI download progress missing the last data chunk (#5887)
  • Fixed: compatibility with trio>=0.25 (#5895)
  • Updated plugins:
    • tv3cat: fixed plugin and added VODs (#5890)
    • vimeo: fixed event streams and embedded player URLs (#5892, #5899)
  • Build: bumped trio dependency version requirement to >=0.25,<1 (#5895)
  • Build: added exceptiongroup dependency (#5895)
  • Tests: fixed root logger level not being reset (#5888, #5897)

📦 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

  • 13: @bastimeyer
  • 1: @amurzeau

🗒️ Full changelog

Alexis Murzeau <[email protected]> (1):
      tests: reset root logger level in test teardown

bastimeyer <[email protected]> (13):
      tools: bump ruff to 0.3.2
      docs: fix 6.7.0 changelog
      cli: update progress output after stream has ended
      tests: refactor CLI progress tests
      plugins.tv3cat: rewrite plugin, add missing VODs
      build: set trio dependency to <0.25 for now
      build: add exceptiongroup dependency
      webbrowser: fix compatibility with trio 0.25
      plugins.twitch: update CI-token error handling
      plugins.vimeo: fix event and player URLs
      docs: rephrase exceptiongroup description
      tests: reset root logger level in cmdline tests
      plugins.vimeo: fix offline event streams

6.7.0

1 month ago

Release highlights:

  • Added: repeatable --plugin-dir CLI argument (#5866)
  • Deprecated: --plugin-dirs CLI argument with comma separated paths (#5866)
  • Fixed: independent encryption status of HLS initialization sections (#5861)
  • Fixed: objects of default session options being shared between sessions (#5875)
  • Updated plugins:
    • bloomberg: fixed data regex (#5869)
    • ltv_lsm_lv: fixed player ID retrieval, removed custom HLS implementation (#5858)
    • mangomolo: new plugin (#5852)
    • ustvnow: updated matcher (#5881)
    • vimeo: fixed optional DASH streams of live events (#5854)

📦 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

  • 16: @bastimeyer
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (16):
      plugins.vimeo: fix missing HLS/DASH API results
      plugins.ltv_lsm_lv: fix plugin, rm LTVHLSStream
      stream.hls: fix maps with and without keys
      plugins.mangomolo: new plugin
      cli: only log args with the same dest once
      cli: split up main() into setup() and run()
      tests: rewrite CLI logging tests
      tests: rewrite CLI print tests
      plugins.bloomberg: refactor and fix data regex
      tools: bump ruff to 0.3.0 and fix issues
      session: fix default options being shared
      tests: remove unneeded dateutil warning filter
      tools: bump ruff to 0.3.1 and fix issues
      cli: add --plugin-dir, deprecate --plugin-dirs
      plugins.ustvnow: update matcher, reformat code
      docs: move up removal badges on deprecations page

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents

6.6.2

2 months ago

Patch release:

  • Fixed: missing plugin override log message in non-editable installs (#5844)
  • Fixed: incorrect setuptools min. version in build requirements (#5842)
  • Updated plugins:
    • afreeca: fixed broadcast number regex (#5847)
    • afreeca: added support for stream metadata (#5849)
    • hiplayer: removed media.gov.kw matcher (#5848)

📦 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

  • 4: @bastimeyer
  • 2: @B4TT3RY

🗒️ Full changelog

Lee Taehoon <[email protected]> (2):
      plugins.afreeca: fix broadcast number regex
      plugins.afreeca: support metadata

bastimeyer <[email protected]> (4):
      tools: bump ruff to 0.2.2 and fix issues
      build: bump setuptools to >=65.6
      session: fix missing plugin override log message
      plugins.hiplayer: remove mediagovkw matcher

6.6.1

2 months ago

Patch release:

  • Fixed: plugin arguments in --help output (#5838)
  • Docs: removed empty plugin sections in docs and man page (#5838)

📦 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

  • 3: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (3):
      options: fix object identity of argparse.SUPPRESS
      session: add plugins args from JSON in reverse
      docs: skip groups with only suppressed actions

6.6.0

2 months ago

Release highlights:

📦 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

  • 50: @bastimeyer
  • 1: @blluv
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (50):
      utils.args: rewrite module
      utils.args: fix keyvalue()
      utils.args: fix filesize()
      cli: fix --ringbuffer-size help text
      options: refactor Argument/pluginargument
      plugin: add str to pluginargument type argument
      plugins: switch pluginargument type values to str
      utils.args: add unique arg to comma_list_filter
      plugins.huya: fix stream URLs
      plugin: add missing pluginargument type functions
      plugins.aloula: add HTTP headers, update matchers
      plugins: replace pluginargument help f-strings
      tools: bump ruff to 0.1.14 and fix issues
      tests: fix session init
      tests: downgrade pytest
      tests: remove pytest downgrade again
      utils.module: fix load_module(), add exec_module()
      session: re-use PathEntryFinder in load_plugins()
      tests: re-use PathEntryFinder in test_plugins
      plugins.qq: remove plugin
      plugins.rtbf: remove plugin
      utils.parse: fix import path
      tools: bump ruff to 0.2.0 and update config
      compat: add deprecated() function
      session: turn session module into a sub-package
      session: remove unneeded PythonDeprecatedWarning
      session: move StreamlinkOptions
      session: move plugin.api.http_session
      plugin.api: restore http_session module
      utils: make parametrized argparse funcs hashable
      options: compare equality of Argument objects
      ci.github: bump setup-python action to v5
      ci.github: bump upload/download-artifact to v4
      ci.github: bump codecov/codecov-action to v4
      session: move plugin load/resolve logic
      docs: HTTPSession and HTTPAdapters deprecation
      docs: Streamlink.{get,load}_plugins() deprecation
      docs: fix custom ext_argparse Sphinx extension
      options: compare equality of Arguments objects
      docs: fix scrollbars in sidebars
      plugins.foxtr: remove plugin
      plugins.nowtvtr: new plugin
      build: implement plugins_json.py script
      build: build and include plugins JSON in wheels
      ci.github: add test_build job
      session: implement lazy plugins loading
      cli: ignore coverage in _parser util module
      options: fix Argument typing information
      tools: bump ruff to 0.2.1 and fix issues
      ci.github: bump setup-python action to v5

blluv <[email protected]> (1):
      stream.hls: add hlsstream kwarg to MuxedHLSStream

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents

6.5.1

3 months ago

Patch release:

  • Fixed: file output path log message on py38/py39 (#5728)
  • Improved: warning message when using quoted player paths (in config files) (#5757)
  • Updated plugins:
    • artetv: updated API response validation schema (#5774)
    • atresplayer: updated API response validation schema (#5742)
    • bigo: reimplemented plugin (#5754)
    • bilibili: fixed stream resolving issues on channels with custom layouts (#5771)
    • huya: added stream CDN availability check (#5745)
    • twitch: disabled Chromium headless mode on client-integrity token acquirement (#5758)
    • vidio: fixed missing API request cookies (#5762)
    • zattoo: fixed audio/video sync issues (#5739)

📦 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

  • 19: @bastimeyer
  • 1: @digitechtv
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (19):
      cli: fix file output log msg on Windows <=py39
      chore: update PR feedback guide
      plugins.zattoo: force FFmpeg copyts
      tools: bump ruff to 0.1.9
      tools: bump mypy to 1.8.0
      plugins.huya: check stream availability
      tests: ignore dateutil DeprecationWarning
      ci.github: bump Python version
      2024
      plugins.bigo: rewrite and fix plugin
      plugins.twitch: disable headless mode
      cli: improve quoted player path warning
      docs: unlist NetBSD package
      docs: unlist Void Linux package
      plugins.vidio: fix stream token
      plugins.bilibili: query API on missing stream data
      tools: bump ruff to 0.1.13 and fix issues
      plugins.artetv: rewrite and fix plugin
      tests: fix positive URLs assertion in plugins test

digitechtv <[email protected]> (1):
      plugins.atresplayer: fix live API request

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents

6.5.0

4 months ago

Release highlights:

  • Fixed: UserWarning being emitted by recent pycountry releases when parsing certain language codes (#5722)
  • Fixed: trace logging setup in WebsocketClient implementation (#5705)
  • Updated plugins:
    • btv: switched to HLS multivariant playlists (#5698)
    • gulli: rewritten plugin (#5725)
    • twitch: removed/disabled --twitch-disable-reruns (#5704)
    • twitch: enabled check_streams HLS option, to ensure early stream availability without querying the delayed Twitch API (#5708)
    • twitch: removed unnecessary Twitch API error messages for offline channels (#5709)
    • wasd: removed plugin (#5711)
  • Build: added support for versioningit >=3.0.0, with backward compatibility (#5721)

📦 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

  • 15: @bastimeyer
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (15):
      plugins.btv: parse HLS multivariant playlist
      plugin.api.websocket: fix trace logging setup
      tests: fix typing issues in WebsocketClient tests
      tests: fix pytest-asyncio warnings
      plugins.twitch: drop --twitch-disable-reruns
      plugins.twitch: remove is-live API check
      plugins.twitch: no error msg for offline channels
      plugins.twitch: only log errors if channel is live
      plugins.wasd: remove plugin
      build: fix setuptools in {dev,docs}-requirements
      tools: bump ruff to 0.1.8 and fix issues
      build: add support for versioningit >=3.0.0
      tests: remove unneeded pycountry warning filters
      utils.l10n: ignore missing official_name warning
      plugins.gulli: rewrite and fix plugin

streamlinkbot <[email protected]> (1):
      plugin.api: update useragents

6.4.2

5 months ago

Patch release:

  • Fixed: HLS segment maps being written to the output multiple times (#5689)
  • Fixed plugins:
    • bilibili: rewritten plugin (#5693)
    • piczel: updated HLS URLs (#5690)
    • ssh101: fixed stream URL retrieval (#5686)
  • Docs: added missing Cache API docs (#5688)

📦 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

  • 7: @bastimeyer

🗒️ Full changelog

bastimeyer <[email protected]> (7):
      plugins.ssh101: fix plugin
      docs: clean up developing page
      docs: clean up applications and thirdparty pages
      docs: add cache API docs and add Plugin.cache ref
      stream.hls: fix segment maps
      plugins.piczel: fix and update HLS URL
      plugins.bilibili: rewrite and fix plugin