Releases: streamlink/streamlink
Streamlink 8.1.0
- Deprecated:
--hls-segment-queue-thresholdin favor of--stream-segmented-queue-deadline(#6734) - Improved: debug logging of segmented streams (#6730)
- Updated plugins:
- twitch: fixed clips GQL API query (#6744)
- Tests: removed accidental
pytest_covdependency when running tests (#6727)
📦 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
- 18: @bastimeyer
- 1: @streamlinkbot
🗒️ Full changelog
bastimeyer <mail@bastimeyer.de> (18):
tests: only load pytest_cov plugin in CI runners
stream.hls: turn NamedTuples into dataclasses
stream.segmented: hide repr of some segment attrs
utils: add FormattedDataclass meta class
stream.segmented: log queued segment in base class
plugins.twitch: fix redundant ad trace logging
stream.segmented: log fileext Segment property
tools: bump ruff to 0.14.6
stream.hls: refactor queue deadline logic
stream.hls: rename --hls-segment-queue-threshold
stream.segmented: move check_queue_deadline()
stream.segmented: fix _queue_last attr init
stream.segmented: send queued status to generator
stream.hls: refactor wait_and_reload()
tools: bump mypy to 1.19.0
tools: bump ruff to 0.14.7 and fix issues
stream.dash: improve representation lookup
plugins.twitch: fix clips GQL persisted query
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
session.http_useragents: update useragents
Streamlink 8.0.0
- BREAKING: dropped support for EOL Python 3.9 (#6674)
- BREAKING/API: removed deprecated
url_masterfromHLSStream/MuxedHLSStream(#6688) - BREAKING/dependencies: bumped version requirement of
urllib3to>=2.0.0(#6686) - Added:
--stream-segmented-durationin favor of--hls-duration(now deprecated), which affects HLS, DASH and other segmented stream types (#6705) - Added:
durationparameter todash://streams (DASHStream) (#6705) - Added:
--ffmpeg-validation-timeoutfor being able to increase the time for validating the FFmpeg executable (--ffmpeg-ffmpeg) (#6716) - Added: Flatpak player detection for VLC and mpv (#6717, #6723)
- Refactored: parts of the internal
SegmentedStream,HLSStreamandDASHStreamimplementations (WIP) (#6696, #6707, #6709) - Updated plugins:
- aloula: fixed livestream schema (#6662)
- btv: rewritten and fixed plugin (#6691)
- chzzk: added support for in-progress VODs via live-rewind streams (#6675)
- dlive: fixed streams expiring after 5 minutes (#6695)
- goodgame: updated matches, switched API endpoints (#6714)
- nhkworld: removed plugin (#6677)
- rtve: fixed validation schema (#6701)
- twitch: fixed access token acquirement and various persisted GraphQL query IDs (#6720, #6721)
- twitch: added
--twitch-supported-codecsfor access to higher quality streams (#5769)
- Dependencies: dropped optional
zstandarddependency on Python 3.14 and above (#6683) - Tests: bumped version requirement of
pytestto>=8.4.0(#6612) - Docs: refactored docs config and custom Sphinx extensions, added
makeoptions for disabling various components for offline building (#6668, #6669) - Docs: fixed compatibility with
docutils==0.22.2(#6699)
📦 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
- 68: @bastimeyer
- 2: @streamlinkbot
- 1: @amurzeau
- 1: @oliviernes
- 1: @rishubil
🗒️ Full changelog
Alexis Murzeau <amubtdx@gmail.com> (1):
docs: fix compatibility with docutils==0.22.2
Nesswit <rishubil@gmail.com> (1):
plugins.chzzk: live-rewind for in-progress VODs
bastimeyer <mail@bastimeyer.de> (68):
tools: bump ruff to 0.13.0
chore: add "TC" rules to ruff config
tools: bump mypy to 1.18.1
session: fix HTTPSession typing
plugins.aloula: fix livestream schema
docs: reformat and clean up Sphinx's conf.py
docs: move custom extensions to docs/sphinxext
docs: remove ignored linting rules and fix issues
docs: bump furo to 2025.09.25
docs: add NO_ACKNOWLEDGEMENTS make option
docs: add NO_INTERSPHINX make option
docs: add NO_GITHUB_BUTTONS make option
docs: reformat acknowledgements section
docs: add JetBrains link to acknowledgements
tools: bump ruff to 0.13.2 and fix issues
tools: bump mypy to 1.18.2
stream.segmented: fix typing of writer queue
plugins.nhkworld: remove plugin
ci.github: remove -dev suffix from py314 runners
docs: use neutral example input URLs
tools: bump ruff to 0.14.1
ci.github: pycryptodome wheels on cp314-cp314t
plugins.btv: rewrite and fix plugin
plugins.dlive: refresh signed HLS playlist URL
cli: disable colored CLI usage text output
session.http: turn valid req args into a hashmap
stream.hls: refactor playlist reload
plugins.rtve: use xpath for data-setup attr
docs: replace debian bookworm with trixie
chore: drop support for Python 3.9
chore: fix typing issues after Python 3.9 drop
chore: fix linting issues after Python 3.9 drop
chore: drop static method dummy context bindings
cli: remove unneeded Path.resolve() workaround
utils.url: replace implicit URI scheme regex
chore: from typing import TypeAlias
stream.hls: remove deprecated url_master arg+attr
build: bump min version of urllib3 to 2.0.0
session.http: remove urllib3 1.x workaround
session.http: remove urllib3 1.x fallback import
session.http: remove urllib3 1.x pct enc override
tests.session.http: update percent encoding tests
build: skip urllib3[zstd] on py>=314
ci.github: drop zstandard temp-dep on cp314{,t}
tests: req pytest>=8.4.0, load plugins explicitly
ci.github: print pytest config in test runners
stream.segmented: count duration in worker
stream.segmented: add --stream-segmented-duration
stream.dash: add duration parameter
plugins.twitch: set ad segment duration to zero
stream.hls: move sequence counter to base class
stream.segmented: refactor sequence gap warning
stream.dash: use worker sequence, check gaps
stream.segmented: move check_sequence_gap()
stream.segmented: kw_only dataclasses
stream.segmented: move init+discontinuity attrs
stream.file: switch to pathlib
ci.github: use upstream brotli wheel on cp314
plugins.goodgame: fix plugin
plugins.twitch: new access_token GQL query
plugins.twitch: fix live stream and VOD metadata
plugins.twitch: fix clips metadata
cli.output.player: refactor PlayerArgs factory
cli.output.player: add flatpak detection
plugins.twitch: add --twitch-supported-codecs
stream.hls: warn on playlist_sequence access
docs: add flatpak section to players page
stream: fix HLS and DASH docstrings
oliviernes <olivier.nesme@gmail.com> (1):
cli: add --ffmpeg-validation-timeout option
streamlinkbot <streamlinkbot@users.noreply.github.com> (2):
session.http_useragents: update useragents
session.http_useragents: update useragents
Streamlink 7.6.0
- Added: official support for Python 3.14 (#6617)
- Added:
--skipfor stopping on existing file outputs without user prompts (#6633) - Added:
CDPClientSession.{apply,retrieve}_cookies()for copying cookies between Streamlink's HTTP session and the web browser (#6650) - Updated plugins:
- Docs: fixed compatibility with
docutils>=0.22(transitive dependency) (#6625)
📦 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
- 28: @bastimeyer
- 2: @streamlinkbot
- 1: @lbrooney
- 1: @rishubil
🗒️ Full changelog
Liam Rooney <80072393+lbrooney@users.noreply.github.com> (1):
plugins.kick: add --kick-low-latency
Nesswit <rishubil@gmail.com> (1):
plugins.chzzk: add live playback
bastimeyer <mail@bastimeyer.de> (28):
plugins.lrt: rewrite and fix stream URL schema
tools: add back faster-cache mypy extra
tools: bump mypy to 1.17.0 and fix issues
tools: bump ruff to 0.12.3
plugins.indihometv: remove plugin
build: add Python 3.14 to package classifiers
tools: bump ruff to 0.12.5 and fix issues
docs: bump furo to 2025.07.19
tools: bump ruff to 0.12.7
tools: bump mypy to 1.17.1
docs: fix compatibility with docutils==0.22
cli: replace sys.exit() calls
cli: replace parser.error() call
plugins.mediaklikk: fix player data regex
cli: add --skip
plugins.lrt: fix channels schema
docs: add note about AUR mirror on GitHub
plugins.vkvideo: refactor, add VOD support
plugins.vkvideolive: rename vkvideo to vkvideolive
plugins.vkvideolive: add missing VOD qualities
tools: bump ruff to 0.12.11
chore: add "PTH" rules to ruff config
build: refactor setup.py
docs: add note about revoking Twitch OAuth tokens
webbrowser.cdp.client: apply/retrieve cookies
plugins.kick: use retrieve_cookies()
webbrowser.cdp.devtools: update to v0.0.1510116
webbrowser.cdp.client: fix page.navigate ret type
streamlinkbot <streamlinkbot@users.noreply.github.com> (2):
session.http_useragents: update useragents
session.http_useragents: update useragents
Streamlink 7.5.0
- Added:
--no-plugin-sideloadingfor disabling plugin sideloading from the default location (#6602) - Added:
--no-plugin-cachefor disabling cache file I/O of the plugin key-value store (#6602) - Improved: cache file I/O of the plugin key-value store (#6568)
- Changed: default log format on the
trace/alllog level, with included thread name (#6557) - Fixed: missing thread names for various segmented and muxed streams (#6556)
- Fixed: pipe write error log messages when muxing streams (#6558)
- Updated plugins:
- aloula: updated plugin matchers to support new URLs (#6572)
- goodgame: fixed HLS stream URLs (#6585)
- mitele: removed plugin (#6586)
- nowtvtr: restored plugin (#6560)
- twitcasting: updated plugin to filter out preroll ads (#6601)
- twitch: changed plugin to always filter out ads, deprecated
--twitch-disable-ads(#6579) - twitch: forced default User-Agent on access token API request (#6578)
- twitch: fixed clips validation schema (#6570)
- Docs: rearranged CLI arguments that are related to the plugin system (#6602)
- Build: removed
{dev,docs}-requirements.txtin favor of PEP 735 (#6596) - Build: bumped
lxmlrequirement to>=4.6.4,<7(lxml>=6now supports free-threaded mode) (#6587) - Tests: fixed test failures on Python 3.14.0b3 (#6589)
- Tests: fixed test failures in free-threaded mode (#6591, #6595)
📦 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
- 46: @bastimeyer
- 1: @Hakkin
- 1: @streamlinkbot
🗒️ Full changelog
Hakkin Lain <hakkin@github> (1):
plugins.twitcasting: filter preroll segments
bastimeyer <mail@bastimeyer.de> (46):
ci.github: bump create-pull-request action
stream.ffmpegmux: make TSubstreams covariant
stream.hls: make MuxedHLSStream generic
stream.hls: return Self in parse_variant_playlist
stream: set specific names for each thread
cli: add thread name to trace logging format
stream.ffmpegmux: ign pipe write err on stream end
ci.github: temporarily disable py314 Linux runner
plugins.nowtvtr: restore plugin
cli: push console.close() to the atexit stack
tools: bump ruff to 0.12.0
tools: bump mypy to 1.16.1
plugins.twitch: fix clips validation schema
plugins.aloula: add aloula.sba.sa to URL matcher
tests.cli: require metavar for args with values
cli: add metavar to --fs-safe-rules
session.http: export and use DEFAULT user-agent
plugins.twitch: use default UA on access-token req
plugins.goodgame: fix plugin
plugins.mitele: remove plugin
build: bump lxml to >=4.6.4,<7
cache: rewrite and improve cache file I/O
cache: make get(), set() and get_all() thread-safe
chore: clarify debug/trace log in issue forms
chore: update issue form headers+footers
ci.github: add py314 Linux+Windows test runners
tests: fix pluginargument decorator test
tools: bump ruff to 0.12.1
tests: fix cache atomicity test
tests: fix test_schedule_save in Cache tests
buffers: set/clear event_free first
tests: make buffer reader/writer threads daemonic
tools: remove faster-cache mypy extra
ci.github: add free-threaded test runners
ci.github: add script for temp dep wheel installs
build: replace *-requirements.txt with PEP-735
ci.github: bump python in workflows to 3.13
ci.readthedocs: bump python to 3.13
cli: add --no-plugin-sideloading
plugin: add --no-plugin-cache
tests: improve assertion in argparser tests
cli: group options related to the plugin system
plugins.twitch: always filter out ads
docs: rewrite Twitch plugin docs page
plugins.twitch: remove ad daterange by attr check
plugins.twitch: add ad daterange/segment trace log
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
session.http_useragents: update useragents
Streamlink 7.4.0
- Added:
encodingkeyword to all HTTP request methods to override the response content encoding (#6544) - Added: debug log message for the available DASH periods (id or index) (#6521)
- Fixed:
LookupErrorwhen selecting an invalid DASH period (#6518) - Updated plugins:
- blasttv: new plugin (#6547)
- kick: fixed 403 API responses by solving the JS challenge using the webbrowser API (#6500)
- nicolive: fixed plugin metadata by forcing UTF-8 encoding (#6544)
- picarto: fixed validation schema and fixed multi-stream selection (#6512)
- tvp: rewritten and fixed plugin (#6535)
- twitcasting: fixed plugin by switching to new websocket+HLS streams (#6540)
- vtvgo: removed plugin (#6516)
- Tests: fixed py314 test failures (#6527)
- Tests: fixed some HLS tests failing in rare cases (#6536)
📦 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
- 24: @bastimeyer
- 3: @streamlinkbot
- 1: @Lense
🗒️ Full changelog
Lense <git@lense.su> (1):
plugins.blasttv: new plugin
bastimeyer <mail@bastimeyer.de> (23):
plugins.kick: solve JS challenge
plugins.picarto: fix schema and multi-streams
plugins.vtvgo: remove plugin
tools: bump ruff to 0.11.8
stream.dash: fix LookupError on period selection
stream.dash: log available periods
tests: fix file I/O in tests.resources
tests: fix importlib loader changes in py314
ci.github: remove duplicate opt dep install step
ci.github: add py314 Linux runner
tools: bump ruff to 0.11.9
docs: add MSYS2 to packages list
docs: remove package maintainers list
tests: fix flaky HLS test
tests: update lxml validation error messages
plugins.tvp: rewrite and fix plugin
session.http: add encoding arg to request methods
plugins.nicolive: force utf-8 encoding
tools: bump ruff to 0.11.12
tools: bump mypy to 1.16.0 and fix issues
plugins.twitcasting: switch to llfmp4 and tc-hls
build: fix linting issues in build-and-sign.sh
build: set signing key expiration to 2027-06-07
streamlinkbot <streamlinkbot@users.noreply.github.com> (3):
session.http_useragents: update useragents
session.http_useragents: update useragents
session.http_useragents: update useragents
Streamlink 7.3.0
- Changed: download progress to use the console output stream rather than always
stderr, which previously caused log and progress messages to be interweaved (#6497, #6496) - Changed: download progress output to be a status message line at the bottom of the console output, unless
--progress=forceis set in non-interactive or unsupported environments, in which case less frequent regular progress messages are written (#6497, #6496) - Fixed: potential division by zero error when formatting progress output (#6498)
- Build: bumped
setuptoolsrequirement from>=65.6to>=77and switched to PEP 639 project license metadata format (#6502)
📦 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
- 14: @bastimeyer
- 1: @emmanuel-ferdman
🗒️ Full changelog
Emmanuel Ferdman <emmanuelferdman@gmail.com> (1):
docs: resolve linter/formatter references
bastimeyer <mail@bastimeyer.de> (14):
cli: fix ZeroDivisionError in Progress.update()
cli.console: refactor and move into sub-package
cli.console: refactor ConsoleOutput._write()
cli.console: manually close streams on exit
cli.console: add ConsoleOutputStream
cli.console: move progress module
cli.console: refactor terminal/text width funcs
cli.console: implement status messages
cli.console: implement WindowsConsole
cli: refactor Progress and StreamRunner
cli.console: non-status msgs on --progress=force
tools: bump ruff to 0.11.5 and fix issues
plugins.twitcasting: suppress HLS errors
build: switch to PEP 639 license metadata
Streamlink 7.2.0
- Added:
decompressextras marker to Streamlink's optional dependencies for installingbrotliandzstandard, which were previously implied optional dependencies via the transitive dependencyurllib3(#6451) - Changed:
--retry-streamsto allow a value of0, so it can be unset again if set previously (#6455) - Changed:
--quietto suppress all text output including errors, not just log output (#6461) - Fixed:
--logfileaffecting the console output stream (#6461) - Fixed: broken user input prompt behavior on missing or non-interactive I/O streams (#6461)
- Fixed:
Pluginclasses not requiring a matching matcher (#6466) - Fixed:
--hls-audio-selectnot being case-insensitive and only comparing input values rather than resolved language codes (#6469, #6479) - Updated: Chrome Devtool Protocol interfaces, to match recent Chromium versions (#6481)
- Updated plugins:
- euronews: rewritten and fixed plugin (#6452)
- kick: refactored plugin, fixed clip matcher and 403 API responses (#6491)
- nicolive: fixed plugin not loading cookies from WebSocket messages (#6441)
- nicolive: made the plugin always filter out blank HLS segments (#6476)
- nowtvtr: removed plugin (#6488)
- okru: canonicalize mobile URLs (#6444)
- tf1: fixed stream matcher (#6439)
📦 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
- 32: @bastimeyer
- 2: @streamlinkbot
🗒️ Full changelog
bastimeyer <mail@bastimeyer.de> (32):
plugins.tf1: fix stream matcher
plugins.okru: canonicalize mobile URLs
tests.stream.hls: add key method switching test
tools: bump ruff to 0.9.7
build: add decompress extras marker
plugins.euronews: rewrite and fix plugin
cli: allow --retry-streams to be set to 0
tools: bump ruff to 0.9.9
docs: improve API quickstart guide
plugin: ensure URL matches
tools: bump ruff to 0.11.0
cli.console: rename askpass() to ask_password()
cli.console: refactor prompts
cli.main: refactor check_file_output()
cli.console: refactor and split into two streams
cli: separate console and logfile streams
logger: don't auto-fallback to stderr or devnull
cli: fall back to stderr for console output
cli: make --quiet also suppress ConsoleOutput
stream.hls: case-insensitive media language attr
stream.hls: also compare parsed language selection
utils.l10n: compare Language/Country objs directly
stream.hls: compare locale with parsed language
plugins.nicolive: refactor wsclient attribute
plugins.nicolive: set stream cookies from WS data
plugins.nicolive: filter out blank segments
tools: bump ruff to 0.11.2
stream.hls: fix media name cmp in audio-select
webbrowser.cdp.devtools: update to v0.0.1438564
cli: log plugin found message early
plugins.nowtvtr: remove plugin
plugins.kick: refactor, fix clips + 403 API issues
streamlinkbot <streamlinkbot@users.noreply.github.com> (2):
session.http_useragents: update useragents
session.http_useragents: update useragents
Streamlink 7.1.3
- Fixed:
validate.contains()to allow all kinds ofContainerobject inputs (#6421) - Updated plugins:
- ceskatelevize: rewritten and fixed plugin (#6397)
- nos: fixed validation schema, updated matcher (#6420)
- pandalive: fixed user_id retieval, updated matcher (#6433)
- pluzz: fixed video ID schemas (#6428)
- streamable: removed plugin (#6435)
- tv4play: removed plugin (#6399)
- twitch: refactored TwitchAPI class and access token retrieval (#6403)
- wwenetwork: rewritten and fixed plugin (#6404)
- Docs: replaced Windows and Linux AppImage nightly builds with preview builds triggered on each commit to
master(#6425) - Docs: added optional/secondary Linux AppImage builds with FFmpeg being bundled (#6415)
- Tests: bumped
freezegunrequirement to>=1.5.0(#6406)
📦 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
- 25: @bastimeyer
- 1: @Mehavoid
- 1: @refack
- 1: @streamlinkbot
🗒️ Full changelog
Mehavoid <tontole@riseup.net> (1):
plugins.wwenetwork: rewrite and fix plugin
Refael Ackermann <refack@gmail.com> (1):
cli: improve --logformat/--logdateformat help text
bastimeyer <mail@bastimeyer.de> (25):
tools: bump ruff to 0.9.0 and fix issues
plugins.ceskatelevize: rewrite and fix plugin
plugins.twitch: refactor TestTwitchAPIAccessToken
plugins.twitch: refactor Twitch._access_token()
plugins.twitch: refactor TwitchAPI class
tests: bump freezegun requirement to >=1.5.0
docs: remove pip3 note from install docs
stream.ffmpegmux: fix logging format of cmd argv
plugins.tv4play: remove plugin
tools: bump ruff to 0.9.2
docs: add FFmpeg to Linux AppImages
tools: bump ruff to 0.9.4
validate: check for Container in contains()
plugins.nos: update matcher, fix validation schema
tools: bump mypy to 1.15.0
ci.github: add preview-build workflow
docs: replace nightly builds with preview builds
docs: fix preview build references in OS tables
docs: update preview-builds in PR feedback section
plugins.pluzz: fix video ID schemas
plugins.tf1: fix help text of --tf1-password
tools: bump ruff to 0.9.5
ci.github: use github.sha in preview-build
plugins.streamable: remove plugin
plugins.pandalive: fix user_id, update matcher
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
session.http_useragents: update useragents
Streamlink 7.1.2
- Updated plugins:
- various: fixed access of URL matcher regex capture groups, affecting abematv, ard_mediathek, bbiplayer, dailymotion, picarto, streann (#6364, #6368)
- chzzk: added support for clips (#6389)
- dailymotion: added support for lequipe.fr (#6372)
- kick: fixed 403 HTTP errors, fixed VOD URL matcher (#6384)
- nicolive: fixed authentication (#6378)
- tiktok: rewritten plugin, fixed live streams, added VODs (#6381)
📦 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
- 11: @bastimeyer
- 2: @Mehavoid
- 1: @BZHDeveloper1986
🗒️ Full changelog
BZHDeveloper1986 <187593320+BZHDeveloper1986@users.noreply.github.com> (1):
plugins.dailymotion: add lequipe.fr
Mehavoid <tontole@riseup.net> (2):
plugins.nicolive: fix mfa login
plugins.chzzk: add clips support
bastimeyer <mail@bastimeyer.de> (10):
plugins.dailymotion: fix matcher regex groups
plugins: fix broken matcher capture groups
tools: bump mypy to 1.14.1
2025
tools: bump ruff to 0.8.6
docs: fix editable install in PR feedback section
docs: update pip and venv sections on install page
plugins.tiktok: rewrite plugin, fix live, add VODs
plugins.kick: fix 403 error and VOD URL matcher
plugins.dailymotion: add missing $url metadata
Streamlink 7.1.1
- Fixed:
--show-matchers=pluginnamenot working when plugins are loaded lazily (#6361)
📦 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
- 1: @bastimeyer
🗒️ Full changelog
bastimeyer <mail@bastimeyer.de> (1):
cli: fix --show-matchers ignoring lazy plugins