Skip to content

Releases: streamlink/streamlink

Streamlink 7.5.0

08 Jul 19:23
Compare
Choose a tag to compare
  • Added: --no-plugin-sideloading for disabling plugin sideloading from the default location (#6602)
  • Added: --no-plugin-cache for 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/all log 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.txt in favor of PEP 735 (#6596)
  • Build: bumped lxml requirement to >=4.6.4,<7 (lxml>=6 now 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

🗒️ 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

08 Jun 17:51
Compare
Choose a tag to compare
  • Added: encoding keyword 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: LookupError when 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

🗒️ 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

26 Apr 19:09
Compare
Choose a tag to compare
  • 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=force is 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 setuptools requirement from >=65.6 to >=77 and 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

🗒️ 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

04 Apr 18:34
Compare
Choose a tag to compare
  • Added: decompress extras marker to Streamlink's optional dependencies for installing brotli and zstandard, which were previously implied optional dependencies via the transitive dependency urllib3 (#6451)
  • Changed: --retry-streams to allow a value of 0, so it can be unset again if set previously (#6455)
  • Changed: --quiet to suppress all text output including errors, not just log output (#6461)
  • Fixed: --logfile affecting the console output stream (#6461)
  • Fixed: broken user input prompt behavior on missing or non-interactive I/O streams (#6461)
  • Fixed: Plugin classes not requiring a matching matcher (#6466)
  • Fixed: --hls-audio-select not 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

🗒️ 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

14 Feb 19:04
Compare
Choose a tag to compare
  • Fixed: validate.contains() to allow all kinds of Container object 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 freezegun requirement 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

🗒️ 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

08 Jan 18:39
Compare
Choose a tag to compare
  • 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

🗒️ 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

28 Dec 17:18
Compare
Choose a tag to compare
  • Fixed: --show-matchers=pluginname not 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

🗒️ Full changelog

bastimeyer <mail@bastimeyer.de> (1):
      cli: fix --show-matchers ignoring lazy plugins

Streamlink 7.1.0

28 Dec 16:09
Compare
Choose a tag to compare
  • Added: --show-matchers=pluginname CLI argument (#6287)
  • Updated: Streamlink and Plugin constructors to allow both Mapping and Options as options types (#6311)
  • Fixed: uncaught DASH errors if FFmpeg is unavailable (#6306)
    As a side effect, if FFmpeg is unavailable, DASH streams will only return one sub-stream of the video and/or audio streams that would be muxed otherwise.
  • Fixed: incorrect DASH segment duration in timeline manifests (#6323)
  • Fixed: dynamic DASH streams incorrectly requiring the publishTime and availabilityStartTime attributes (#6324)
  • Fixed: incorrect DASH segment and manifest base-URL joining (#6328, #6338)
  • Fixed: matchers and arguments objects being shared in inherited Plugin classes (#6297, #6298)
  • Updated plugins:
    • various: replaced verbose URL matcher regexes of most plugins with multiple simple ones (#6285)
    • bilibili: updated schema to include MPEG-TS HLS streams (#6332)
    • bilibili: added back high-res HTTPStream streams from the v1 API with higher priority (#5782)
    • mangomolo: replaced media.gov.kw with 51.com.kw (#6353)
    • soop: rewritten authentication (#6321)
    • vkplay: renamed to vkvideo and updated matcher (#6319)
    • welt: fixed schema (#6301)
  • Build: removed typing-extensions from runtime dependencies (#6314)

📦 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

bastimeyer <mail@bastimeyer.de> (38):
      tests: refactor setup_config_args tests
      tools: bump ruff to 0.7.3 and fix issues
      tools: bump mypy to 1.13.0 + faster-cache extra
      plugins: replace most verbose matcher regexes
      cli: add --show-matchers argument
      docs: update NixOS package link
      ci: update git fetch commands
      tools: bump ruff to 0.7.4
      ci.github: ignore git fetch pipefail on Windows
      plugin: fix shared matchers in inherited plugins
      plugin: fix shared arguments in inherited plugins
      options: make Arguments inherit from dict
      plugins.welt: fix schema
      stream.dash: fix joining baseURLs w/ query strings
      tools: bump ruff to 0.8.0 and fix issues
      stream.segmented: remove compat ThreadPoolExecutor
      session: fix incomplete resolve_url() docs
      tools: bump ruff to 0.8.1 and fix issues
      build: remove typing-extensions from runtime deps
      chore: remove unneeded coverage suppressions
      stream.dash: fix missing FFMPEGMuxer.is_usable()
      plugins.vkplay: add support for live.vkvideo.ru
      plugins.vkvideo: rename vkplay plugin to vkvideo
      stream.dash: fix segment duration in timelines
      stream.dash: opt publishTime/availabilityStartTime
      plugins.soop: rewrite authentication
      stream.dash: refactor BaseURL.join()
      plugins.bilibili: accept MPEG-TS HLS streams
      plugins.bilibili: add back HTTPStream from v1 API
      tools: bump ruff to 0.8.3 and fix issues
      stream.dash: fix base_url input
      tools: bump ruff to 0.8.4 and fix issues
      tools: bump mypy to 1.14.0 and fix issues
      plugins.mangomolo: update plugin matcher
      cli: clarify --show-matchers output format
      options: make Options inherit from dict
      plugin: use empty Options, merge custom options
      session: update typing of options argument

streamlinkbot <streamlinkbot@users.noreply.github.com> (2):
      session.http_useragents: update useragents
      session.http_useragents: update useragents

Streamlink 7.0.0

04 Nov 16:34
Compare
Choose a tag to compare

📦 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

Minibox <61264156+minibox24@users.noreply.github.com> (1):
      plugins.afreeca: rename to soop

bastimeyer <mail@bastimeyer.de> (68):
      utils.module: add override parameter
      chore: typing: PEP 563, PEP 585, PEP 604, PEP 613
      script: update and fix typing, add to mypy config
      webbrowser.cdp.devtools: rebuild modules
      tools: ignore typing refactor commits in git-blame
      session: fix --interface on custom HTTPAdapters
      cli: fix help text of --output and --record
      cli.argparser: re-organize argument groups
      cli: deprecate --verbose-player and --fifo
      ci.github: remove -dev suffix from py313 runners
      chore: drop support for Python 3.8
      tools: bump Python version req of ruff+mypy to 3.9
      docs: drop i686 Linux AppImages
      docs: drop x86 and py38 Windows builds
      session: remove deprecated stream-type options
      tests: deprecated CLI args / session opts tests
      cli: remove deprecated {,plugin-}config paths
      cli: remove deprecated plugins paths
      cli: remove now unused DeprecatedPath
      cli: remove deprecated --force-progress argument
      docs: update donate page and rename to support
      chore: update GitHub sponsor button
      docs: add --force-progress CLI arg migration
      docs: add stream-type args/options migration
      docs: add config-file paths migration
      docs: add plugins sideloading paths migration
      docs: restore plugin sideloading path on Windows
      tests: remove <py39 workaround
      logger: remove <py38 workaround
      cli: refactor setup_plugin_{args,options}
      cli: fix errors on missing stdin fd
      plugins.tv3cat: update plugin matchers
      options: Argument store_{true,false} special cases
      cli: warn when deprecated plugin argument is set
      build: bump trio to >=0.25,<1 on py>=313
      tools: bump ruff to 0.6.9
      tools: bump mypy to 1.12.0 and resolve issues
      cli: keep values of deprecated plugin arguments
      docs: rewrite 7.0.0 migrations
      cli.output: remove VLC stream metadata variables
      cli.argparser: remove VLC --title var escape logic
      validate: move from plugin.api.validate package
      plugins.soop: refactor plugin and fix issues
      tools: bump ruff to 0.7.0
      tools: bump mypy to 1.12.1 and revert 1.12.0 fixes
      cli.argparser: rewrite and fix help texts
      cli.argparser: fix shadowed variable
      chore: ruff format
      ci.github: add ruff format step
      docs: update style section on developing page
      tools: ignore ruff format commit in git-blame
      plugins.ruv: rewrite and fix plugin
      tests: set exit_on_error=False in argparser tests
      cli: reference parser.fromfile_prefix_chars
      cli: print help text using console.msg()
      cli: fix URLs in usage and help texts
      docs: rewrite plugin sideloading page
      docs: fix tables on config file page
      logger: mark basicConfig kwargs as kw-only
      ci.readthedocs: update fetch depth with tags
      ci.github: update fetch tags commands
      ci.github: install opt deps on all Python versions
      plugin.api: remove deprecated import paths
      plugins: remove deprecated import paths
      plugin: update and fix Plugin attr docstrings
      cli: fix duplicate dependency logging
      chore: fix support links
      docs: update index page

streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
      session.http_useragents: update useragents

Streamlink 6.11.0

01 Oct 14:16
Compare
Choose a tag to compare
  • Deprecated: --record-and-pipe=... in favor of --stdout --record=... (and explicitly disallowed --stdout --output=...) (#6194)
  • Fixed: error when setting both --http-no-ssl-verify and --http-disable-dh (#6205)
  • Fixed: --player-passthrough without a resolved default --player (#6207)
  • Fixed: error when stdout/stderr file descriptors are missing (#6197)
  • Updated: webbrowser API's Chrome devtools protocol to latest version (#6211)
  • Updated plugins:
    • crunchyroll: removed plugin (#6179)
    • dlive: fixed missing stream URL signature (#6171)
    • facebook: removed plugin (#6199)
    • mildom: removed plugin (#6198)
    • tvrby: removed plugin (#6202)
    • tvrplus: removed plugin (#6203)
    • twitch: fixed client-integrity token acquirement (#6211)
    • vk: fixed API params and validation schema (#6178)
    • webtv: removed plugin (#6172)
    • zengatv: removed plugin (#6174)
    • zhanqi: removed plugin (#6173)
  • Tests: removed pytest-asyncio dependency (#6208)

📦 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

bastimeyer <mail@bastimeyer.de> (46):
      plugins.dlive: sign live HLS media playlist URLs
      plugins.webtv: remove plugin
      plugins.zhanqi: remove plugin
      plugins.zengatv: remove plugin
      plugins.vk: fix API params and validation schema
      plugins.crunchyroll: remove plugin
      cli.main: refactor args.can_handle_url
      cli.main: refactor args.url
      cli.main: refactor args.version_check
      cli.main: rename error_code to exit_code
      tests: move some cli.main test modules
      tests: merge redundant cli.main test fixtures
      tests: rewrite cli.main.handle_url tests
      cli: fix KeyboardInterrupt during output.close()
      tests: fix race condition in named-pipe tests
      tests: fix cli.main.handle_url tests
      tests: refactor cli.main.output_stream tests
      tests: refactor cli.main.resolve_stream_name tests
      tests: move remaining cli.main test modules
      tests: refactor cli.main.get_formatter tests
      tests: refactor cli.main.setup_config_args tests
      tests: refactor cli.main.create_output tests
      tests: refactor PlayerOutput integration tests
      cli.argparser: update _match_argument() override
      tests: rewrite cli.output.file tests
      cli: deprecate --record-and-pipe
      cli: refactor check_file_output()
      cli: disallow --output=... --stdout
      docs: add -R/--record-and-pipe deprecation
      tools: bump ruff to 0.6.7
      tools: bump mypy to 1.11.2 and fix issues
      cli: add devnull fallback for missing stdout fd
      logger: use devnull FileHandler fallback
      cli.streamrunner: skip progress without stderr
      plugins.mildom: remove plugin
      plugins.facebook: remove plugin
      docs: add back Alpine Linux package
      plugins.tvrby: remove plugin
      plugins.tvrplus: remove plugin
      session.http: fix custom SSLContext + verify=False
      cli: fix passthrough without player
      utils.processoutput: rewrite based on trio
      tests: rewrite handshake testutils based on trio
      tests: remove unneeded pytest-asyncio dependency
      webbrowser.cdp.devtools: update to v0.0.1359167
      docs: update example plugins

streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
      session.http_useragents: update useragents