multimedia/streamlink: update to streamlink-8.1.2

Changelog:

== streamlink 8.1.2 (2026-01-18)

- Fixed: warnings when parsing HLS playlists with private-use language
         subtags (#6780)
- Updated plugins:
  - youtube: fixed live streams (#6777)


== streamlink 8.1.1 (2026-01-17)

- Fixed: `--stream-segmented-queue-deadline` not being applied
         correctly to the Streamlink session options (#6758)
- Changed: `--hls-segment-ignore-names` to not hardcode `.ts` HLS
           segment file name extensions (#6747)
- Updated plugins:
  - dailymotion: fixed 403 HLS playlist responses (#6773)
  - pluto: fixed url matchers and ad detection (#6767)
  - soop: fixed CDN mapping for `ld_cdn` based regions (#6749)
- Build: removed unneeded `wheel` dependency from
         `build-system.requires` and the `build` dependency
         group (#6754)


== streamlink 8.1.0 (2025-12-14)

- Deprecated: `--hls-segment-queue-threshold` in 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_cov` dependency when running
         tests (#6727)


== streamlink 8.0.0 (2025-11-11)

- BREAKING: dropped support for [EOL Python 3.9]
- BREAKING/API: removed deprecated `url_master` from
                `HLSStream`/`MuxedHLSStream`
- BREAKING/dependencies: bumped version requirement of
                         `urllib3` to `>=2.0.0`
- Added: `--stream-segmented-duration` in favor of `--hls-duration`
         (now deprecated), which affects HLS, DASH and other
         segmented stream types
- Added: `duration` parameter to `dash://` streams (`DASHStream`)
- Added: `--ffmpeg-validation-timeout` for being able to increase
         the time for validating the FFmpeg executable
         (`--ffmpeg-ffmpeg`)
- Added: Flatpak player detection for VLC and mpv
- Refactored: parts of the internal `SegmentedStream`, `HLSStream` and
              `DASHStream` implementations (WIP)
- Updated plugins:
  - aloula: fixed livestream schema
  - btv: rewritten and fixed plugin
  - chzzk: added support for in-progress VODs via live-rewind streams
  - dlive: fixed streams expiring after 5 minutes
  - goodgame: updated matches, switched API endpoints
  - nhkworld: removed plugin
  - rtve: fixed validation schema
  - twitch: fixed access token acquirement and various persisted
            GraphQL query IDs
  - twitch: added `--twitch-supported-codecs` for access to higher
            quality streams
- Dependencies: dropped optional `zstandard` dependency on
                Python 3.14 and above
- Tests: bumped version requirement of `pytest` to `>=8.4.0`
- Docs: refactored docs config and custom Sphinx extensions, added
        `make` options for disabling various components for offline
        building
- Docs: fixed compatibility with `docutils==0.22.2`


== streamlink 7.6.0 (2025-09-08)

- Added: official support for Python 3.14
- Added: `--skip` for stopping on existing file outputs without user
         prompts
- Added: `CDPClientSession.{apply,retrieve}_cookies()` for copying
         cookies between Streamlink's HTTP session and the web browser
- Updated plugins:
  - chzzk: added support for live streams with a wider content
           availability window
  - indihometv: removed plugin
  - kick: added `--kick-low-latency`
  - lrt: fixed plugin
  - mediaklikk: fixed plugin
  - vkvideo: renamed to vkvideolive, added VOD support
- Docs: fixed compatibility with `docutils>=0.22` (transitive
        dependency)


== streamlink 7.5.0 (2025-07-08)

- Added: `--no-plugin-sideloading` for disabling plugin sideloading
         from the default location
- Added: `--no-plugin-cache` for disabling cache file I/O of the
         plugin key-value store
- Improved: cache file I/O of the plugin key-value store
- Changed: default log format on the `trace`/`all` log level, with
           included thread name
- Fixed: missing thread names for various segmented and muxed streams
- Fixed: pipe write error log messages when muxing streams
- Updated plugins:
  - aloula: updated plugin matchers to support new URLs
  - goodgame: fixed HLS stream URLs
  - mitele: removed plugin
  - nowtvtr: restored plugin
  - twitcasting: updated plugin to filter out preroll ads
  - twitch: changed plugin to always filter out ads,
            deprecated `--twitch-disable-ads`
  - twitch: forced default User-Agent on access token API request
  - twitch: fixed clips validation schema
- Docs: rearranged CLI arguments that are related to the plugin system
- Build: removed `{dev,docs}-requirements.txt` in favor of PEP 735
- Build: bumped `lxml` requirement to `>=4.6.4,<7` (`lxml>=6` now
         supports free-threaded mode)
- Tests: fixed test failures on Python 3.14.0b3
- Tests: fixed test failures in free-threaded mode


== streamlink 7.4.0 (2025-06-08)

- Added: `encoding` keyword to all HTTP request methods to override
         the response content encoding
- Added: debug log message for the available DASH periods (id or
         index)
- Fixed: `LookupError` when selecting an invalid DASH period
- Updated plugins:
  - blasttv: new plugin
  - kick: fixed 403 API responses by solving the JS challenge using
          the webbrowser API
  - nicolive: fixed plugin metadata by forcing UTF-8 encoding
  - picarto: fixed validation schema and fixed multi-stream selection
  - tvp: rewritten and fixed plugin
  - twitcasting: fixed plugin by switching to new websocket+HLS streams
  - vtvgo: removed plugin
- Tests: fixed py314 test failures
- Tests: fixed some HLS tests failing in rare cases


== streamlink 7.3.0 (2025-04-26)

- Changed: download progress to use the console output stream rather
           than always `stderr`, which previously caused log and
           progress messages to be interweaved
- 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
- Fixed: potential division by zero error when formatting progress
         output
- Build: bumped `setuptools` requirement from `>=65.6` to `>=77`
         and switched to PEP 639 project license metadata format


== streamlink 7.2.0 (2025-04-04)

- 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`
- Changed: `--retry-streams` to allow a value of `0`, so it can
           be unset again if set previously
- Changed: `--quiet` to suppress all text output including errors,
           not just log output
- Fixed: `--logfile` affecting the console output stream
- Fixed: broken user input prompt behavior on missing or
         non-interactive I/O streams
- Fixed: `Plugin` classes not requiring a matching matcher
- Fixed: `--hls-audio-select` not being case-insensitive and only
         comparing input values rather than resolved language codes
- Updated: Chrome Devtool Protocol interfaces, to match recent
           Chromium versions
- Updated plugins:
  - euronews: rewritten and fixed plugin
  - kick: refactored plugin, fixed clip matcher and 403 API responses
  - nicolive: fixed plugin not loading cookies from WebSocket messages
  - nicolive: made the plugin always filter out blank HLS segments
  - nowtvtr: removed plugin
  - okru: canonicalize mobile URLs
  - tf1: fixed stream matcher


== streamlink 7.1.3 (2025-02-14)

- Fixed: `validate.contains()` to allow all kinds of `Container` object inputs
- Updated plugins:
  - ceskatelevize: rewritten and fixed plugin
  - nos: fixed validation schema, updated matcher
  - pandalive: fixed user_id retieval, updated matcher
  - pluzz: fixed video ID schemas
  - streamable: removed plugin
  - tv4play: removed plugin
  - twitch: refactored TwitchAPI class and access token retrieval
  - wwenetwork: rewritten and fixed plugin
- Docs: replaced Windows and Linux AppImage nightly builds with
        preview builds triggered on each commit to `master`
- Docs: added optional/secondary Linux AppImage builds with FFmpeg
        being bundled
- Tests: bumped `freezegun` requirement to `>=1.5.0`


== streamlink 7.1.2 (2025-01-08)

- Updated plugins:
  - various: fixed access of URL matcher regex capture groups, affecting
             abematv, ard_mediathek, bbiplayer, dailymotion, picarto, streann
  - chzzk: added support for clips
  - dailymotion: added support for lequipe.fr
  - kick: fixed 403 HTTP errors, fixed VOD URL matcher
  - nicolive: fixed authentication
  - tiktok: rewritten plugin, fixed live streams, added VODs


== streamlink 7.1.1 (2024-12-28)

- Fixed: `--show-matchers=pluginname` not working when plugins are
         loaded lazily


== streamlink 7.1.0 (2024-12-28)

- Added: `--show-matchers=pluginname` CLI argument
- Updated: `Streamlink` and `Plugin` constructors to allow both
           `Mapping` and `Options` as `options` types
- Fixed: uncaught DASH errors if FFmpeg is unavailable
  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
- Fixed: dynamic DASH streams incorrectly requiring the `publishTime`
  and `availabilityStartTime` attributes
- Fixed: incorrect DASH segment and manifest base-URL joining
- Fixed: `matchers` and `arguments` objects being shared in inherited
  `Plugin` classes
- Updated plugins:
  - various: replaced verbose URL matcher regexes of most plugins with
             multiple simple ones
  - bilibili: updated schema to include MPEG-TS HLS streams
  - bilibili: added back high-res `HTTPStream` streams from the v1 API
              with higher priority
  - mangomolo: replaced media.gov.kw with 51.com.kw
  - soop: rewritten authentication
  - vkplay: renamed to vkvideo and updated matcher
  - welt: fixed schema
- Build: removed `typing-extensions` from runtime dependencies


== streamlink 7.0.0 (2024-11-04)

- BREAKING: dropped support for EOL Python 3.8 (Win 7/8 are now
            unsupported)
- BREAKING/CLI: removed deprecated config file and plugin config
            file paths
- BREAKING/CLI: removed deprecated plugin sideloading paths
- BREAKING/CLI: removed deprecated `--force-progress` CLI argument
- BREAKING/CLI: removed deprecated stream-type related CLI arguments
  - `--hls-segment-attempts`
  - `--hls-segment-threads`
  - `--hls-segment-timeout`
  - `--hls-timeout`
  - `--http-stream-timeout`
- BREAKING/API: removed deprecated stream-type related session options
  - `hls-segment-attempts`
  - `hls-segment-threads`
  - `hls-segment-timeout`
  - `hls-timeout`
  - `dash-segment-attempts`
  - `dash-segment-threads`
  - `dash-segment-timeout`
  - `dash-timeout`
  - `http-stream-timeout`
- BREAKING/API: removed deprecated import paths for `HTTPSession` and
                `HTTPAdapter`s
- BREAKING/API: removed deprecated import paths for `NoPluginError`,
                `NoStreamsError`, `PluginError` and `Plugin`
- BREAKING/packaging: dropped "32 bit" Windows x86 and Linux AppImage
                      i686 builds
- Removed: flawed implementation of VLC-specific player variables
- Deprecated: `--verbose-player` CLI argument in favor of
              `--player-verbose`
- Deprecated: `--fifo` CLI argument in favor of `--player-fifo`
- Added: warning messages for deprecated/suppressed plugin arguments
- Fixed: errors on missing `stdin` file descriptor
- Fixed: `--interface` not having an effect on custom `HTTPAdapter`s
- Updated plugins:
  - afreeca: renamed to soop, overhauled plugin and deprecated old
             plugin CLI arguments
  - ruv: rewritten and fixed plugin
  - tv3cat: updated plugin matchers
- Docs: updated documentation of various CLI arguments
- Chore: updated typing annotations (PEP 563, PEP 585, PEP 604,
         PEP 613)
- Chore: reformatted the whole code base using ruff
- Build: bumped `trio` dependency to `>=0.25.0,<1` on Python >= 3.13


== streamlink 6.11.0 (2024-10-01)

- Deprecated:
   `--record-and-pipe=...` in favor of `--stdout --record=...`
   (and explicitly disallowed `--stdout --output=...`)
- Fixed: error when setting both `--http-no-ssl-verify`
   and `--http-disable-dh`
- Fixed: `--player-passthrough` without a resolved default `--player`
- Fixed: error when stdout/stderr file descriptors are missing
- Updated: webbrowser API's Chrome devtools protocol to latest version
- Updated plugins:
  - crunchyroll: removed plugin
  - dlive: fixed missing stream URL signature
  - facebook: removed plugin
  - mildom: removed plugin
  - tvrby: removed plugin
  - tvrplus: removed plugin
  - twitch: fixed client-integrity token acquirement
  - vk: fixed API params and validation schema
  - webtv: removed plugin
  - zengatv: removed plugin
  - zhanqi: removed plugin
- Tests: removed `pytest-asyncio` dependency


== streamlink 6.10.0 (2024-09-06)

- Added: official support for Python 3.13
- Added: `--logformat` and `--logdateformat`
- Added: `--ffmpeg-loglevel`
- Fixed: continuous logging errors when stdout stream was closed on
         the reading end
- Fixed: HTTP proxy config being used when getting webbrowser API's
         websocket IPC address
- Updated plugins:
  - booyah: removed plugin
  - douyin: fixed validation schema
  - galatasaraytv: removed plugin
  - idf1: removed plugin
  - linelive: removed plugin
  - pandalive: fixed missing HTTP headers
  - tiktok: fixed schema of inaccessible streams
  - youtube: disabled VODs, as they are currently non-functional
- Docs: bumped `sphinx-design >=0.5.0,<=0.6.1`, enabling `sphinx >=8.0.0`
- Tests: fixed `pytest-asyncio` warnings


== streamlink 6.9.0 (2024-08-12)

- Added: `streamlink.plugin.api.webbrowser` subpackage with the
         `aws_waf` module
- Added: `max_buffer_size` kwarg to `CDPClient.session()`
- Added: webbrowser `User-Agent` header override in headless mode
- Changed: default value of `--webbrowser-headless` from `True`
           to `False`
- Changed: unicode characters to be unescaped in JSON output,
           if possible
- Fixed: potential character encoding issues in Streamlink's logger
- Updated plugins:
  - nicolive: updated plugin matcher
  - okru: fixed validation schema
  - radionet: removed plugin
  - sportschau: fixed plugin
  - tiktok: fixed room ID validation schema
  - tvp: added support for sport.tvp.pl
  - twitch: added `--twitch-force-client-integrity`
  - twitch: fixed broken client-integrity token decoding+parsing
  - twitch: removed the `headless=False` override
  - vimeo: removed error messages for unsupported DASH streams
  - vk: fixed validation schema
  - vtvgo: resolved AWS Web Application Firewall bot detection
  - yupptv: fixed plugin, added ad filtering
- Docs: added webbrowser API metadata to plugin descriptions
- Docs: updated build-dependencies and the furo theme


== streamlink 6.8.3 (2024-07-11)

Patch release:

- Updated plugins:
  - tiktok: new plugin
  - twitch: fixed channel names with uppercase characters


== streamlink 6.8.2 (2024-07-04)

Patch release:

- Updated plugins:
  - douyin: new plugin
  - huya: fixed stream URLs
  - pluzz: fixed API URL, stream tokens and validation schemas
  - twitch: added info log messages about ad break durations
  - twitch: fixed clip URLs
  - twitch: fixed discontinuity warning spam in certain circumstances
  - vidio: fixed stream tokens, added metadata


== streamlink 6.8.1 (2024-06-18)

Patch release:

- Fixed: failed HTTPAdapter tests on some OpenSSL configurations


== streamlink 6.8.0 (2024-06-17)

Release highlights:

- Added: sha256 checksum to log message when side-loading plugins
- Added: `SSLContextAdapter` to `streamlink.session.http`
- Deprecated: [old re-exports in `streamlink.plugins` package]
- Updated plugins:
  - bilibili: fixed validation schema for offline channels
  - chzzk: fixed channels without content
  - cnbce: new plugin
  - kick: new plugin
  - tf1: added authentication via `--tf1-email` and `--tf1-password`
  - tvp: fixed live streams
  - welt: fixed live streams


== streamlink 6.7.4 (2024-05-12)

Patch release:

- Refactored: CLI errors
- Updated plugins:
  - afreeca: updated stream qualities
  - afreeca: added `--afreeca-stream-password`
  - chzzk: new plugin
  - nownews: removed plugin
  - turkuvaz: fixed HLS streams
- Docs: clarified plugin request rules
- Build: fixed build issues on Windows
- Build: removed `exceptiongroup` dependency on Python >= 3.11


== streamlink 6.7.3 (2024-04-14)

Patch release:

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


== streamlink 6.7.2 (2024-03-23)

Patch release:

- Build: reverted `trio` version requirement bump
- Build: fixed incorrect `pytest` version requirement


== streamlink 6.7.1 (2024-03-19)

Patch release:

- Fixed: CLI download progress missing the last data chunk
- Fixed: compatibility with `trio>=0.25`
- Updated plugins:
  - tv3cat: fixed plugin and added VODs
  - vimeo: fixed event streams and embedded player URLs
- Build: bumped `trio` dependency version requirement to `>=0.25,<1`
- Build: added `exceptiongroup` dependency
- Tests: fixed root logger level not being reset


== streamlink 6.7.0 (2024-03-09)

Release highlights:

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


== streamlink 6.6.2 (2024-02-20)

Patch release:

- Fixed: missing plugin override log message in non-editable installs
- Fixed: incorrect `setuptools` min. version in build requirements
- Updated plugins:
  - afreeca: fixed broadcast number regex
  - afreeca: added support for stream metadata
  - hiplayer: removed media.gov.kw matcher


== streamlink 6.6.1 (2024-02-17)

Patch release:

- Fixed: plugin arguments in `--help` output
- Docs: removed empty plugin sections in docs and man page


== streamlink 6.6.0 (2024-02-16)

Release highlights:

- Implemented: lazy plugins loading
  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
  - Moved: `streamlink.plugin.api.http_session`
           to `streamlink.session.http`
  - Refactored: `Streamlink` class internals
  - Deprecated: `Streamlink.{get,load}_plugins()` methods
  - Deprecated: direct imports of `HTTPSession` and imports
                from `streamlink.plugin.api.http_session`
- Refactored: `streamlink.utils.args` module
- Updated plugins:
  - aloula: fixed missing HTTP headers
  - foxtr: removed plugin
  - huya: fixed stream URLs
  - nowtvtr: new plugin
  - qq: removed plugin
  - rtbf: removed plugin
- Tests: improved overall test execution time


== streamlink 6.5.1 (2024-01-16)

Patch release:

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


== streamlink 6.5.0 (2023-12-16)

Release highlights:

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


= streamlink 6.4.1 (2023-11-22)

Patch release:

- Fixed: libxml2 2.12.0 compatibility


= streamlink 6.4.0 (2023-11-21)

Release highlights:

- Added: missing support for dynamic DASH manifests with
   `SegmentList`s
- Added: warning log message when skipping DASH segments
   between manifest reloads
- Added plugins: nasaplus
- Updated plugins:
  - raiplay: added VOD support with authentication
   `--raiplay-email` / `--raiplay-password`
   / `--raiplay-purge-credentials`
  - telemadrid: fixed XPath query
  - tvp: fixed tvp.info
  - youtube: fixed video ID retrieval
- Docs: added validation schema API docs and API guide


= streamlink 6.3.1 (2023-10-26)

Patch release:

- Fixed plugins:
  - welt: rewritten plugin
- Build: fixed tests when running from sdist


= streamlink 6.3.0 (2023-10-25)

Release highlights:

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


= streamlink 6.2.1 (2023-10-03)

Patch release:

- Added: official support for Python 3.12
- Fixed plugins: goodgame, nos, pandalive, wwenetwork
- Build: added custom setuptools build-backend override which fixes
    issues with building Windows-specific wheels


= streamlink 6.2.0 (2023-09-14)

Release highlights:

- Added: `--player-env` CLI argument
- Added: OpenSSL version to debug log output
- Updated: segmented stream internals and typing
- Updated: internal HLS tag parsing setup and parser state
- Fixed: HLS streams not ending on playlist reload with endlist tag
    and no new segments
- Fixed: missing file encoding when writing a log file
- Added plugins: piaulizaportal
- Fixed plugins: hiplayer, nicolive, pluto
- Docs: added list of supported metadata variables for each plugin


= streamlink 6.1.0 (2023-08-16)

Release highlights:

- Added: `--hls-segment-queue-threshold` for being able to configure
    when to stop HLS streams early on missing segments
- Fixed: config file parsing issues and made parsing argument values
    more strict
- Fixed: race condition when reading and validating the FFmpeg
    version string
- Fixed plugins: atresplayer
- Docs: added code examples for the removal of
    `Streamlink.{g,s}et_plugin_option`
- Build: fixed entry-points config issues with setuptools `68.1.0`


= streamlink 6.0.1 (2023-08-02)

Patch release:

- Added: missing `options` argument to `Streamlink.streams()`
- Fixed: migration docs and the `6.0.0` changelog of the
    `Streamlink.{g,s}et_plugin_option()` removal
- Fixed plugins: huya
- Docs: updated build-dependencies and the furo theme


= streamlink 6.0.0 (2023-07-20)

Breaking changes:

- BREAKING: dropped support for Python 3.7
- BREAKING: turned `--player` CLI argument into a player-path-only
    argument
  Its value won't be interpreted as a command line string anymore,
    so paths with whitespace don't require additional quotation.
    Custom player arguments now always need to be set via `--player-args`.
- BREAKING: removed deprecated `{filename}` variable from `--player-args`
- BREAKING/API: removed support for the deprecated
    `Plugin.can_handle_url()` / `Plugin.priority()` classmethods
- BREAKING/API: removed deprecated compatibility wrapper for the `Plugin`
    constructor
- BREAKING/API: removed `Streamlink.{g,s}et_plugin_option()`
- BREAKING/API: removed deprecated global plugin arguments
- BREAKING/API: removed deprecated `streamlink.plugin.api.validate.text`
- BREAKING/API: fixed/changed signatures of `HTTPStream`, `HLSStream` and
    `HLSStream.parse_variant_playlist()`
- BREAKING/packaging: new signing key `44448A298D5C3618`

Release highlights:

- Added: experimental `streamlink.webbrowser` API for extracting data
    from websites using the system's Chromium-based web browser
  See the `--webbrowser`, `--webbrowser-executable` and related CLI
    arguments for more
- Added: client-integrity token support to Twitch plugin using the
    `streamlink.webbrowser` API (currently only used as a fallback
    when acquiring the access token fails)
- Added: `{playertitleargs}` variable to `--player-args`
- Added: `with_{video,audio}_only` parameters to
    `DASHStream.parse_manifest()`
- Changed: HLS streams to stop early on missing `EXT-X-ENDLIST` tag
    when polling the playlist doesn't yield new segments for twice
    its targetduration value
- Fixed: regex of optional protocol plugin parameters
- Fixed plugins: lrt, mediavitrina, mitele, NRK, pluzz, rtvs,
    showroom, turkuvaz, vimeo, youtube
- Docs: added migrations page for further guidance on resolving
    breaking changes
- Docs: split up, updated and improved API docs
- Build: moved project metadata to pyproject.toml (PEP621)
- Dependencies: added `trio`, `trio-websocket` and
    `typing-extensions`, and removed `importlib_metadata`
