Releases: streamlink/streamlink
Streamlink 6.7.4
Patch release:
- Refactored: CLI errors (#5958)
- Updated plugins:
- Docs: clarified plugin request rules (#5949)
- Build: fixed build issues on Windows (#5990)
- Build: removed
exceptiongroup
dependency on Python >= 3.11 (#5987)
📦 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
- 21: @bastimeyer
- 2: @B4TT3RY
- 1: @fml09
- 1: @streamlinkbot
🗒️ Full changelog
Lee Taehoon <gb4tt3ry@gmail.com> (2):
plugins.afreeca: support for password-protected streams
plugins.afreeca: enhance quality fetching
bastimeyer <mail@bastimeyer.de> (20):
plugins.turkuvaz: add HLS URL mapping
tools: unset max line length in markdown files
docs: remove KNOWN_ISSUES.md
docs: rewrite "reporting bugs" guide
docs: rewrite "pull requests" guide
docs: rephrase and clarify plugin rules
chore: update plugin issue template
cli: fix typing information
cli: refactor CLI errors
plugins.nownews: remove plugin
docs: bump myst-parser dependency requirement
tools: bump ruff to 0.4.2 and fix issues
docs: bump furo theme version to 2024.04.27
docs: remove Alpine Linux from install page
docs: add ALT Linux to install page
docs: add Void Linux back to install page
docs: update Windows builds flavors
docs: fix deprecated ruff <path> call
build: only require exceptiongroup on py<3.11
build: fix encoding when reading plugin files
fml09 <webh4ckpwn@gmail.com> (1):
plugins.chzzk: new plugin
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 6.7.3
Patch release:
- Fixed: file output paths being able to exceed max file/directory name length (#5921, #5925)
- Fixed: propagation of
KeyboardInterrupt
/SystemExit
instreamlink.webbrowser
(#5930) - Fixed: compatibility with
exceptiongroup<=1.1.1
(#5930) - Fixed:
plugin.api.validate.parse_qsd
input type validation (#5932) - Updated plugins:
- 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 <amubtdx@gmail.com> (1):
tests: fix test_onbuild when executed from build directory
bastimeyer <mail@bastimeyer.de> (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 <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 6.7.2
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 <mail@bastimeyer.de> (2):
tests: require pytest 8.0.0
build: set trio min-requirement back to 0.22
Streamlink 6.7.1
Patch release:
- Fixed: CLI download progress missing the last data chunk (#5887)
- Fixed: compatibility with
trio>=0.25
(#5895) - Updated plugins:
- 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 <amubtdx@gmail.com> (1):
tests: reset root logger level in test teardown
bastimeyer <mail@bastimeyer.de> (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
Streamlink 6.7.0
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:
📦 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 <mail@bastimeyer.de> (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 <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 6.6.2
Patch release:
- Fixed: missing plugin override log message in non-editable installs (#5844)
- Fixed: incorrect
setuptools
min. version in build requirements (#5842) - Updated plugins:
📦 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 <gb4tt3ry@gmail.com> (2):
plugins.afreeca: fix broadcast number regex
plugins.afreeca: support metadata
bastimeyer <mail@bastimeyer.de> (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
Streamlink 6.6.1
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 <mail@bastimeyer.de> (3):
options: fix object identity of argparse.SUPPRESS
session: add plugins args from JSON in reverse
docs: skip groups with only suppressed actions
Streamlink 6.6.0
Release highlights:
- Implemented: lazy plugins loading (#5793, #5822)
Streamlink's built-in plugins will now be loaded on demand when resolving input URLs.
This improves initial loading times and reduces total memory consumption. - Refactored: Streamlink session module (and related)
- Moved:
streamlink.session
into a sub-package (#5807) - Moved:
streamlink.plugin.api.http_session
tostreamlink.session.http
(#5807) - Refactored:
Streamlink
class internals (#5807, #5814) - Deprecated:
Streamlink.{get,load}_plugins()
methods (#5818) - Deprecated: direct imports of
HTTPSession
and imports fromstreamlink.plugin.api.http_session
(#5818)
- Moved:
- Refactored:
streamlink.utils.args
module (#5778, #5781, #5815) - Updated plugins:
- Tests: improved overall test execution time (#5799, #5805)
📦 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 <mail@bastimeyer.de> (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 <biluv@protonmail.com> (1):
stream.hls: add hlsstream kwarg to MuxedHLSStream
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 6.5.1
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 <mail@bastimeyer.de> (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 <153995141+digitechtv@users.noreply.github.com> (1):
plugins.atresplayer: fix live API request
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 6.5.0
Release highlights:
- Fixed:
UserWarning
being emitted by recentpycountry
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 <mail@bastimeyer.de> (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 <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents