streamlink

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

BSD-2-CLAUSE License

Downloads
559
Stars
9.5K
Committers
292

Bot releases are visible (Hide)

streamlink - Streamlink 6.1.0

Published by github-actions[bot] about 1 year ago

Release highlights:

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

📦 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: @pablohoffman

🗒️ Full changelog

Pablo Hoffman <[email protected]> (1):
      plugins.atresplayer: fix player API URL

bastimeyer <[email protected]> (12):
      stream.hls: add --hls-segment-queue-threshold
      stream.hls: set --hls-segment-queue-threshold to 3
      stream.hls: set min segment queue threshold to 5s
      cli.argparser: fix config file args parser
      utils.processoutput: reorder asyncio tasks
      chore: update GitHub issue templates
      docs: add more links to index page
      docs: replace simple/grid-tables with list-tables
      docs: add icons to packages and install methods
      utils.times: rewrite hours_minutes_seconds()
      docs: improve migration of {g,s}et_plugin_option()
      build: set scripts/gui-scripts fields to dynamic
streamlink - Streamlink 6.0.1

Published by github-actions[bot] about 1 year ago

Patch release:

📦 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

  • 8: @bastimeyer
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (8):
      docs: bump and reorder docs-requirements
      chore: reorder dev-requirements
      docs: bump furo theme to 2023.07.26
      plugins.huya: force https stream URLs
      session: add options argument to streams()
      docs: add {g,s}et_plugin_option to migrations
      docs: update/fix 6.0.0 changelog
      tools: bump ruff to 0.0.282 and fix issues

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

Published by github-actions[bot] about 1 year ago

Breaking changes:

Release highlights:

  • Added: experimental streamlink.webbrowser API for extracting data from websites using the system's Chromium-based web browser (#5380, #5381, #5386, #5388, #5410)
    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) (#5414)
  • Added: {playertitleargs} variable to --player-args (#5310)
  • Added: with_{video,audio}_only parameters to DASHStream.parse_manifest() (#5340)
  • 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 (#5330)
  • Fixed: regex of optional protocol plugin parameters (#5367)
  • Fixed plugins: lrt (#5444), mediavitrina (#5376), mitele (#5436), NRK (#5408), pluzz (#5369), rtvs (#5443), showroom (#5390), turkuvaz (#5374), vimeo (#5335), youtube (#5351)
  • Docs: added migrations page for further guidance on resolving breaking changes (#5433)
  • Docs: split up, updated and improved API docs (#5398)
  • Build: moved project metadata to pyproject.toml (PEP621) (#5438)
  • Dependencies: added trio (#5386), trio-websocket and typing-extensions (#5388), and removed importlib_metadata (#5302)

📦 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

  • 113: @bastimeyer
  • 2: @mkbloke
  • 2: @streamlinkbot

🗒️ Full changelog

Ian Cameron <[email protected]> (2):
      plugins.mediavitrina: update re_url_json
      plugins.turkuvaz: fix/partial rewrite

bastimeyer <[email protected]> (113):
      plugins.vimeo: refactor plugin
      stream.dash: optional video/audio-only streams
      stream.dash: fix stream request args
      build: bump lxml max version from <5 to <6
      tests: fix CLI versioncheck tests
      tests: fix DASH stream open tests
      tests: fix call_count assertion in ffmpegmux tests
      tests: add shared requests_mock fixture
      tests: fix CLI progress tests on py312
      ci: add Python 3.12-dev test runner
      plugins.youtube: check playabilityStatus.reason
      stream.hls: rename M3U8.targetduration attribute
      stream.hls: stop stream early on missing segments
      tools: bump ruff to 0.0.269
      tests: refactor Streamlink API tests
      tests.session: refactor http-disable-dh tests
      tests.session: refactor ipv4/ipv6 tests
      session: fix interface option setter
      tests.session: rewrite localization tests
      tests.session: refactor {,plugin}options tests
      tests.session: refactor streams tests
      tests.session: refactor resolve_url tests
      tests.session: rewrite load-plugins tests
      tests.plugins: refactor unittest.TestCase tests
      tests.plugins: refactor DASH plugin tests
      tests.plugins: rewrite HLS plugin tests
      tests.plugins: rewrite HTTPStream plugin tests
      tests: move stream_weight and parse_params tests
      tests: refactor named_pipe tests
      tests.plugins: refactor Twitch rerun tests
      tests.plugins: refactor Twitch metadata tests
      tests: refactor trivial unittest.TestCase tests
      tests.stream: refactor FileStream tests
      tests.stream: refactor some HLSStream tests
      tests: refactor HTTPSession tests
      tests.cli: refactor ConsoleOutput tests
      tests: require test cases for protocol plugins
      docs: improve header text of the plugins page
      plugins: more strict protocol plugin matchers
      http_session: refactor HTTPSession.json()
      plugins.pluzz: fix magneto player XPath query
      plugins.twitch: get access token error message
      tools: bump ruff to 0.0.272 and fix issues
      plugins.showroom: fix room-id schema
      tests: ignore DeprecationWarning in pycountry
      ci: update custom lxml cp312 wheel
      cli.argparser: allow disabling session options
      revert: cli.argparser: allow disabling session options
      cli.argparser: allow disabling session options
      docs: split API docs into multiple documents
      docs: fix various API references
      docs: inactive/former team members
      plugins.nrk: remove metadata, add region check
      chore: drop support for Python 3.7
      tools: set mypy "python_version" to 3.8
      tools: set ruff "target-version" to py38
      cli: remove importlib_metadata py37 compat import
      tests: remove mock py37 compat import
      chore: from typing import Literal
      chore: reversed dicts/dictviews on >=py38
      chore: fix dummy-context binding of static methods
      tests: remove py37 logging compat stuff
      cli.utils: rewrite find_default_player()
      cli.output: path-only --player argument
      cli.output: remove {filename} from --player-args
      cli.output: refactor PlayerOutput's player args
      cli.output: check player executable
      cli.output: add {playertitleargs} to --player-args
      cli.utils: fix E225 linting error
      options: remove deprecated global plugin arguments
      plugin: move options to the plugin instance
      tests: refactor and add missing options tests
      plugin: drop deprecated Plugin constructor wrapper
      plugin: drop deprecated can_handle_url / priority
      plugin.api.validate: drop deprecated text alias
      script.generate-cdp: init
      script.generate-cdp: fix code style
      script.generate-cdp: refactor
      webbrowser.cdp.devtools: initialize v0.0.1156692
      build: add trio dependency
      utils.path: add resolve_executable()
      utils.socket: add find_free_port_ipv{4,6}()
      webbrowser: implement Webbrowser class
      webbrowser: implement ChromiumWebbrowser class
      build: add trio-websocket + typing-extensions deps
      webbrowser.cdp: implement CDP connection
      webbrowser.cdp: implement CDP client
      webbrowser.cdp: add CDP connection docs
      webbrowser.cdp: replace f-string w/ LogRecord args
      webbrowser.chromium: add MSEdge fallback on win32
      webbrowser: improve resolve error message
      tests: fix py312 issues
      ci.github: remove custom lxml cp312 wheel
      utils.crypto: move Crypto imports to utils module
      build: set min-version of typing-extensions
      docs: fix header and sections in api/stream
      stream: properly filter requests args
      stream: fix signatures of Stream classes & methods
      webbrowser: minor docs improvements
      utils.random: add random_token() utility
      plugins.twitch: webbrowser-based client-integrity
      plugins.mitele: fix missing CDN token
      docs: add migrations page, rewrite deprecations
      docs: update Streamlink Twitch GUI image
      plugins.rtvs: fix plugin
      plugins.lrt: fix plugin
      docs: improve config-file + plugin sideloading
      build: project metadata in pyproject.toml PEP621
      build: move setuptools config to pyproject.toml
      build: new Streamlink signing key 44448A298D5C3618
      docs: add docs page for Options class
      docs: add client-integrity to Twitch plugin docs
      docs: update Arch Linux package link

streamlinkbot <[email protected]> (2):
      plugin.api: update useragents
      plugin.api: update useragents
streamlink - Streamlink 5.5.1

Published by github-actions[bot] over 1 year ago

Patch release:

  • Fixed: shifting time offset when reloading HLS playlists (#5321)
  • Fixed: import of create_urllib3_context on urllib3 <2.0.0 (#5333)
  • Fixed: Vimeo plugin (#5331)

📦 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
  • 1: @skulblakka

🗒️ Full changelog

bastimeyer <[email protected]> (2):
      stream.hls: reload playlist in strict intervals
      http_session: fix create_urllib3_context import

skulblakka <[email protected]> (1):
      plugins.vimeo: fetch config URL from API
streamlink - Streamlink 5.5.0

Published by github-actions[bot] over 1 year ago

Release highlights:

  • Added: --no-config (#5314)
  • Added: --player-external-http-interface (#5295)
  • Fixed: M3U8 attribute parsing issue (#5307)
  • Fixed: various minor plugin issues (#5291, #5299, #5306)
  • Build: bumped urllib3 to >=1.26.0,<3 and fixed compatibility issues with urllib3 >=2.0.0 (#5326, #5325)
  • Docs: bumped furo theme to 2023.03.27 (#5301)
  • Docs: bumped build dependencies sphinx >=5.0.0,<7, myst-parser >=1.0.0,<2 and sphinx-design >=0.4.1,<1 (#5301)

📦 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: @mkbloke
  • 1: @streamlinkbot
  • 1: @vinyl-umbrella

🗒️ Full changelog

Ian Cameron <[email protected]> (1):
      plugins.mitele: fix/add Origin header

bastimeyer <[email protected]> (16):
      cli.output: split up module into subpackage
      chore: update GitHub release template
      cli.output: refactor HTTPOutput
      cli: add --player-external-http-interface argument
      plugins.dogan: find direct HLS URL
      script: implement plugin URL tester
      docs: bump furo to 2023.03.27
      revert: docs: remove solus from install docs
      stream.hls: fix M3U8 attribute parser
      docs: fix Linux AppImages link in install docs
      cli: add --no-config argument
      docs: add pull request feedback to CONTRIBUTING.md
      tests: clean up root-logger state
      ci.github: bump deps of useragents workflow
      build: update version range of urllib3
      session: add support for urllib3 2.0

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

vinyl-umbrella <[email protected]> (1):
      plugins.openrectv: fix 401 error (#5291)
streamlink - Streamlink 5.4.0

Published by github-actions[bot] over 1 year ago

Release highlights:

  • Added: --progress CLI argument and deprecated --force-progress (#5268)
  • Added: --dash-manifest-reload-attempts and respective session option (#5208)
  • Improved: DASH segment availability/download logging (#5214, #5235)
  • Refactored: DASH parser + stream implementation (#5221, #5224, #5225, #5244, #5248)
  • Fixed: DASH segment template numbers and availability times (#5213, #5217, #5233)
  • Fixed: DASH manifest mediaPresentationDuration and period duration (#5226)
  • Fixed: DASH manifest suggestedPresentationDelay (#5215)
  • Fixed: various DASH manifest parsing bugs (#5247)
  • Fixed: DASH timeline IDs not being unique (#5199)
  • Fixed: DASH substreams not having synced timelines (#5262)
  • Fixed: queued DASH segments being downloaded after closing the stream (#5236, #5237)
  • Fixed: incorrect min/max values of certain numeric CLI arguments (#5239)
  • Fixed: all naive datetime objects and made them timezone-aware (#5210)
  • Fixed: TV5monde plugin with new implementation (#5206)
  • Fixed: Steam plugin missing CDN auth data in stream URLs (#5222)
  • Fixed: Vimeo plugin's playerConfig regex (#5227)
  • Fixed: VKplay plugin's validation schema (#5251)
  • Fixed: Twitcasting plugin with new implementation (#5255)
  • Tests: fixed setuptools/pkg_resources DeprecationWarnings (#5167, #5230)
  • Tests: fixed ResourceWarnings due to stale file handles (#5242)
  • Added plugins: indihometv (#5266), telemadrid (#5212)
  • Removed plugins: nbcnews (#5279), useetv (#5266)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 59: @bastimeyer
  • 2: @streamlinkbot
  • 1: @Mehavoid
  • 1: @OnlyFart
  • 1: @Schn4pper
  • 1: @mkbloke
  • 1: @pablohoffman

🗒️ Full changelog

Ian Cameron <[email protected]> (1):
      plugins.nbcnews: plugin removal

Mehavoid <[email protected]> (1):
      plugins.vkplay: fix `category` null

Oleg Koloskov <[email protected]> (1):
      plugins.vimeo: fix playerConfig regex (#5227)

Pablo Hoffman <[email protected]> (1):
      plugins.telemadrid: new plugin (#5212)

Schn4pper <[email protected]> (1):
      plugins.vk: add support for .ru domains

bastimeyer <[email protected]> (58):
      plugins.tv5monde: rewrite and fix plugin
      tools: ignore PLW0603 ruff rule
      stream.dash: fix old timeline ID workaround
      stream.dash: refactor DASHStream{Reader,Worker}
      stream.dash: add --dash-manifest-reload-attempts
      chore: aware datetimes
      stream.dash: fix segment availability times
      stream.dash: log mime-type of segment downloads
      stream.dash: fix suggestedPresentationDelay
      stream.dash: fix dynamic timeline-less streams
      stream.dash: refactor fetch attempts in writer
      stream.dash: refactor Segment name
      stream.dash: optional Segment duration
      stream.dash: overload typing of MPDNode.attr()
      stream.dash: change signatures of MPDNode+children
      stream.dash: typed MPDNode constructors
      plugins.steam: fix missing CDN auth URL params
      stream.dash: refactor DASHStream.parse_manifest()
      stream.dash: add period param to parse_manifest()
      stream.dash: refactor Segment availability
      stream.dash: fix period/mediaPresentation duration
      tests: ignore all pkg_resources warnings
      tests: add custom markers for conditional tests
      ci: fix netlify git-diff ignore list
      plugins.steam: fix validation schema
      stream.dash: fix segment number iterator
      stream.segmented: fix wait() in writer thread-pool
      stream.dash: refactor datetime import
      stream.dash: refactor Segment, improve debug log
      stream.segmented: properly fix wait() in writer
      tests: share session fixture
      tests: replace unnecessary xfail marks
      utils.args: update num() argparse utility function
      cli.output: use subprocess.DEVNULL in PlayerOutput
      stream.dash: refactor segment timeline generator
      tools: pinpoint ruff to 0.0.255 and fix rules
      stream.dash: fix SegmentList child nodes
      stream.dash: inherit SegmentList attributes
      stream.dash: make SegmentList.SegmentURL optional
      stream.dash: find ancestor SegmentTimeline nodes
      stream.dash: inherit attrs from specific ancestors
      stream.dash: refactor AdaptationSet+Representation
      stream.dash: refactor SegmentList+SegmentTemplate
      stream.dash: fix segment duration
      plugins.twitcasting: rewrite plugin
      tools: bump ruff to 0.0.259
      chore: add "B" rules to ruff config
      session/plugin: fix DeprecationWarning stacklevel
      stream.dash: sync timelines of all substreams
      plugins.indihometv: replace and fix useetv plugin
      docs: fix option with value in argparse extension
      cli: add --progress={yes,no,force} CLI argument
      docs: remove solus from install docs
      stream.ffmpegmux: generic MuxedStream type
      tests: rewrite HLS external audio tests
      stream.hls: fix playlist_end on sequence.num==0
      stream.hls: check InvalidSchema for decryption key
      tests.hls: properly close streams in certain tests

streamlinkbot <[email protected]> (2):
      plugin.api: update useragents
      plugin.api: update useragents
streamlink - Streamlink 5.3.1

Published by github-actions[bot] over 1 year ago

Patch release:

  • Fixed: http-trust-env session option name (--http-ignore-env CLI parameter) (#5193)
  • Fixed: missing byterange attribute of initialization segments in DASH streams (#5189)
  • Fixed: broken BaseURL context in DASH streams (#5194)
  • Fixed: detection of certain encrypted DASH streams (#5196)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

🗒️ Full changelog

bastimeyer <[email protected]> (15):
      chore: add "PL{C,E,W}" rules to ruff config
      chore: add "PIE" rules to ruff config
      chore: add "A" rules to ruff config
      stream.dash: replace isodate UTC with stdlib impl
      stream.dash: fix def param in count_dt() generator
      stream.dash: rename constants
      stream.dash: turn Segment into dataclass
      tools: bump ruff to >=0.0.252 and ignore PLW2901
      stream.dash: refactor and reformat code
      stream.dash: fix missing initialization byterange
      stream.dash: add basic typing to parser
      session: fix http-trust-env option
      stream.dash: fix SegmentTemplate's BaseURL context
      tools: set xml indentation in .editorconfig
      stream.dash: ContentProtection in Representation
streamlink - Streamlink 5.3.0

Published by github-actions[bot] over 1 year ago

Release highlights:

  • Project meta: dropped Open Collective sponsoring platform and updated the project's README, as well as the docs' donation/support page (#5143)
  • Deprecated: global plugin arguments (#5140)
  • Fixed: muxed streams sometimes missing data at the end (#5162)
  • Fixed: named pipes sometimes not being cleaned up properly (#5162)
  • Fixed: new YouTube channel URLs not being matched (#5137)
  • Fixed: KeyError when accessing certain YouTube URLs (#5139)
  • Fixed: M3U8 attribute parsing (#5125)
  • Fixed: NimoTV streams stopping after a few seconds (#5147)
  • Fixed: delimiter of http-query-params session option string setter (#5176)
  • Fixed: sdist/bdist missing some files (#5119, #5141)
  • Docs: fixed Streamlink.set_option() docstring (#5176)
  • Docs: improved CLI tutorial (#5157)
  • Docs: improved install page (#5178)
  • Removed plugins: funimationnow (#5128), schoolism (#5127)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 40: @bastimeyer
  • 2: @back-to
  • 1: @TaoziDB
  • 1: @streamlinkbot

🗒️ Full changelog

TaoziDB <[email protected]> (1):
      plugins.nimotv: fix livestream stopping after couple of seconds (#5147)

back-to <[email protected]> (2):
      plugins.schoolism: deleted
      plugins.funimationnow: deleted

bastimeyer <[email protected]> (40):
      build: include icon.svg in sdist
      tools: check typing in docs dir separately
      chore: add templates for GitHub discussions
      docs: improve loglevel help text
      options: deprecate global plugin arguments
      plugins.youtube: fix adaptive streams KeyError
      build: include py.typed in package_data
      plugins.youtube: rewrite and fix matchers
      stream.hls: refactor and fix attribute list parser
      stream.hls: refactor various attribute parsers
      plugins.youtube: restore /user/... URLs
      tools: replace flake8 with ruff
      chore: add "I" and "TID" rules to ruff config
      chore: add "Q" rules to ruff config
      chore: add "COM" rules to ruff config
      chore: add "C4" rules to ruff config
      chore: add "ISC" rules to ruff config
      tools: add .git-blame-ignore-revs
      chore: fix issues introduced by ruff 0.0.245
      tools: remove export-subst from .gitattributes
      docs: remove Open Collective
      docs: rewrite, fix and improve CLI tutorial
      chore: update Gitter link in issue template config
      stream.hls: fix parse_hex warning message
      stream.ffmpegmux: fix copy-to-pipe race condition
      utils.named_pipe: fix fifo unlink race condition
      stream.ffmpegmux: refactor errorlog fd
      tests: ignore setuptools 67.3.0 DeprecationWarning
      chore: add "PT" rules to ruff config
      chore: fix PT0{01,03,22,23} ruff rules
      chore: fix PT004 ruff rule
      chore: fix PT0{11,12,18} ruff rules
      chore: fix PT009 ruff rule
      tools: ignore PT refactor commits in git-blame
      options: add some MutableMapping methods
      session: fix options docstring
      session: fix http-query-params string delimiter
      session: fix minor mistakes in options docstring
      docs: rewrite install page
      docs: use grid-cards for team-members

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

Published by github-actions[bot] over 1 year ago

No code changes.
Please see the changelog of the 5.2.0 release.

  • Reverted: PyPI deploy script changes (#5116)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

⚙️ 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 <[email protected]> (1):
      ci: revert deploy-pypi changes
streamlink - Streamlink 5.2.0

Published by github-actions[bot] over 1 year ago

Release highlights:

  • Added: new stream read/output loop, to be able to detect player process termination while stream output is paused (ad filtering, etc.) (#5024)
  • Added: support for named plugin matchers (#5103, #5107)
  • Added: Python warnings capturing to streamlink logger and added StreamlinkWarning (#5072)
  • Changed: deprecation log messages to warnings, and added missing warnings for previously deprecated things (#5072)
  • Deprecated: usage of validate.text in favor of str (#5090)
  • Improved: Streamlink session option getters/setters (#5076)
  • Fixed: incorrect inheritance of NoPluginError and removed unneeded url parameter from NoStreamsError (#5088)
  • Fixed: error handling in Twitch access token acquirement (#5011)
  • Fixed: dogan plugin (#5053)
  • Fixed: ceskatelevize plugin, added sport/sportplus/decko (#5063)
  • Added plugins: mixcloud (#5096), vkplay (#5054)
  • Removed plugins: orf_tvthek (#5104)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 38: @bastimeyer
  • 6: @mkbloke
  • 1: @Inokenty90
  • 1: @fenopa
  • 1: @streamlinkbot

🗒️ Full changelog

Ian Cameron <[email protected]> (6):
      plugins.vtvgo: update headers
      plugins.cdnbg: update regex
      plugins.mixcloud: new plugin
      plugins.ceskatelevize: update for ct24, sport and sportplus; add decko
      plugins.tvp: add tvp.info
      plugins.earthcam: fix cam_name (#5110)

Inokenty <[email protected]> (1):
      plugins.vkplay: new plugin (#5054)

bastimeyer <[email protected]> (37):
      plugins.twitch: better access token error handling
      docs: fix requests docs link
      tests: refactor thread handshakes
      tests: change order of collected tests
      tests: fix freezegun's default module ignore list
      ci: remove custom lxml wheel for Windows
      tests: refactor and add more buffer tests
      cache: refactor Cache and rewrite tests
      tests: refactor websocket tests
      plugins.dogan: rewrite and fix plugin
      2023
      cli: refactor progress interface
      cli: replace read_stream() with StreamRunner
      ci.github: ubuntu-20.04 -> ubuntu-latest
      build: update build script
      options: refactor key normalization
      options: add support for mapped getters+setters
      session: refactor option getter+setter methods
      build: update auth in sign+deploy scripts
      chore: remove examples
      plugins.euronews: fix and rewrite plugin
      exceptions: update docs and fix NoPluginError
      exceptions: remove `url` arg from NoStreamsError
      logger: capture warnings
      logger: turn deprecation log msgs into warnings
      logger: add StreamlinkWarning
      tests: fix cmdline tests
      plugin.api.validate: deprecate text alias
      chore: ignore coverage in TYPE_CHECKING blocks
      tests: set filterwarnings=always via pytest config
      tests: fix warnings in playeroutput tests
      tests: fix warnings in CLI main tests
      chore: remove unneeded noinspection directives
      plugin: add support for named plugin matchers
      plugins.orf_tvthek: remove
      tests.plugins: rewrite PluginCanHandleUrl tests
      stream.hls: warn when writing after discontinuity

fenopa <[email protected]> (1):
      plugins.turkuvaz: fix url match (#5021)

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

Published by github-actions[bot] almost 2 years ago

Patch release:

  • Fixed: ValueError being raised while muxing streams (#4998)
  • Fixed: ad filtering bug in Twitch plugin (#5007)
  • Fixed: SVTPlay plugin (#4994)
  • Fixed: TVP plugin (#4997)
  • Docs: updated Linux AppImage and Windows builds install sections (#4999)
  • Docs: fixed man page links in HTML docs (#4995)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 9: @bastimeyer
  • 1: @streamlinkbot

🗒️ Full changelog

bastimeyer <[email protected]> (9):
      docs: fix changelog of 5.1.1 release
      docs: fix man page links in HTML docs
      plugins.tvp: fix channel ID lookup
      stream.ffmpegmux: abort on ValueError during read
      plugins.svtplay: rewrite plugin and add HLS
      docs: rewrite Windows + AppImage install sections
      docs: remove unnecessary note from install page
      docs: explain XDG base dir and parameter expansion
      plugins.twitch: fix ad filtering bug

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

Published by github-actions[bot] almost 2 years ago

Patch release:

  • Changed: WebsocketClient to use CA certificates bundled by certifi (#4977)
  • Fixed: SegmentedStreamReader not properly getting closed (#4972)
  • Fixed: CLI argument links throughout the entire docs (#4989)
  • Build: added certifi as a direct dependency (#4977)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 5: @bastimeyer
  • 1: @mkbloke

🗒️ Full changelog

Ian Cameron <[email protected]> (1):
      docs: add pipx install info

bastimeyer <[email protected]> (5):
      docs: add missing urllib3 to install page
      stream.segmented: properly close StreamIO
      stream: add FilteredStream and abstract filtering
      plugin.api.websocket: use certifi's cacert.pem
      ci.github: temporarily downgrade Sphinx to 5.2.3
streamlink - Streamlink 5.1.0

Published by github-actions[bot] almost 2 years ago

  • Added: debug log messages of the FFmpeg version in use (#4861)
    Checking the FFmpeg version can be disabled via --ffmpeg-no-validation
  • Added: --twitch-access-token-param for changing access token API request params (#4952)
  • Added: new log level all (#4941)
  • Updated: sbscokr plugin and removed the --sbscokr-id parameter (#4865)
  • Updated: Twitch authentication docs (#4940, #4956)
  • Fixed: broken --twitch-disable-ads mid-roll ad filering (#4942)
  • Fixed: incorrect module name for trace logs on Python 3.11 (#4863)
  • Fixed: bloomberg plugin (#4919)
  • Fixed: dailymotion plugin (#4910)
  • Fixed: raiplay plugin (#4851)
  • Fixed: tvp plugin (#4905)
  • Fixed: vinhlongtv plugin (#4850)
  • Fixed: various other plugin issues (see full changelog)
  • Removed plugins: egame (#4866)
  • Build: added urllib3 as a direct dependency and set it to >=1.26.0 (#4950)
  • Build: added pytest-asyncio to dev-requirements (#4861)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 37: @bastimeyer
  • 4: @mkbloke
  • 2: @streamlinkbot
  • 1: @fenopa
  • 1: @kuon
  • 1: @pzhlkj6612

🗒️ Full changelog

Ian Cameron <[email protected]> (4):
      plugins.tv8: update stream URL regex
      plugins.bloomberg: update/fix headers to avoid bot detection
      docs: add code style section
      plugins.vtvgo: update to get required cookies

Mozi <[email protected]> (1):
      docs: add mypy for checking typing error

Nicolas Goy <[email protected]> (1):
      docs: fix twitch oauth token header name (#4940)

bastimeyer <[email protected]> (37):
      plugin.api.http_session: update and fix typing
      ci.github: bump actions to latest version
      plugins.vinhlongtv: rewrite and fix plugin
      plugins.raiplay: update and fix plugin
      plugin: remove broken decorator
      plugin: fix get_argument()
      plugins.hiplayer: fix plugin
      logger: fix trace() module name on py311
      utils: implement ProcessOutput
      stream.ffmpegmux: validate FFmpeg version
      plugins.sbscokr: rewrite and fix plugin
      plugins.egame: remove plugin
      plugins.qq: rewrite and fix plugin
      plugins.tvrplus: rewrite plugin
      plugins.goltelevision: add missing HTTP headers
      plugins.atresplayer: update input URLs
      plugins.btv: fix validation schema
      plugins.tf1: rewrite plugin, add "stream" VODs
      chore: update issue forms
      plugins.tvp: rewrite and fix plugin, add VODs
      plugins.dailymotion: fix validation schema
      ci.github: add regular Python 3.11 runners
      tests: fix plugins metadata encoding
      chore: fix new mypy warnings and errors
      tools: move list of files to mypy config
      stream.hls: add more debug messages to write calls
      build: add urllib3 directly and set it to >=1.26.0
      plugins.twitch: add --twitch-access-token-param
      logger: add new log level "all"
      logger: implement StreamlinkLogger.iter()
      stream.hls: log HLS playlist content while parsing
      plugins: make $notes metadata repeatable
      plugins.twitch: improve plugin notes and arg texts
      plugins.twitch: fix date offset of prefetch ads
      plugins.twitch: add segment ad detection fallback
      docs: fix and update man page
      cli: fix log format for log level "all"

fenopa <[email protected]> (1):
      plugins.tv8: filter out ad segments

streamlinkbot <[email protected]> (2):
      plugin.api: update useragents
      plugin.api: update useragents
streamlink - Streamlink 5.0.1

Published by github-actions[bot] about 2 years ago

Patch release:

  • Fixed: truncation of relative paths in progress output on Windows (#4830)
  • Fixed: mitele plugin's validation schema (#4839)
  • Fixed: infinite loop in rtve plugin (#4840)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

⚙️ 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
  • 1: @UltraHDR

🗒️ Full changelog

UltraHDR <[email protected]> (1):
      plugins.hiplayer: remove cnbcarabia.com (#4836)

bastimeyer <[email protected]> (4):
      cli.utils.progress: fix relative Windows paths
      docs: bump furo theme version to 2022.09.15
      plugins.mitele: strip whitespace from stream URLs
      plugins.rtve: fix ZTNR.translate
streamlink - Streamlink 5.0.0

Published by github-actions[bot] about 2 years ago

Breaking changes:

Release highlights:

  • Added: official support for Python 3.11 (#4806)
  • Added: --player-external-http-continuous (#4739)
  • Added: file path to progress output (--output, --record, etc.) (#4764)
  • Added: warning message when FFmpeg is not available and muxing is unsupported (#4781)
  • Changed: logging channel of deprecation messages to "warning" (#4785)
  • Disabled: --twitch-disable-hosting and removed its logic (#4805)
  • Fixed: memory leak when initializing the Streamlink session (#4768)
  • Fixed: cbsnews plugin (#4743)
  • Fixed: steam plugin authentication (#4745)
  • Fixed: ustreamtv plugin (#4761)
  • Fixed: huya plugin (#4763)
  • Fixed: atresplayer, mitele and rtve plugins (#4759, #4760, #4766)
  • Fixed: albavision, hiplayer and htv plugins (#4770)
  • Fixed: OKru plugin with support for the mobile page (#4780)
  • Fixed: trovo plugin VODs (#4812)
  • API: added Streamlink and HTTPSession typing informations to Plugin and Stream (including its various subclasses) (#4802, #4814)
  • API: added pluginargument decorator (#4747)
  • Docs: updated pluginmatcher and pluginargument documentation (#4771)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 59: @bastimeyer
  • 3: @omergorur
  • 1: @Mehavoid
  • 1: @UltraHDR
  • 1: @ohaiibuzzle
  • 1: @streamlinkbot

🗒️ Full changelog

Mehavoid <[email protected]> (1):
      plugins.trovo: fix VODs (#4812)

OHaiiBuzzle <[email protected]> (1):
      plugins.huya: update `liveId` to type `str` (#4763)

UltraHDR <[email protected]> (1):
      plugins.hiplayer: add alwasat.ly (#4778)

bastimeyer <[email protected]> (57):
      plugins.cbsnews: fix regex, add metadata
      plugins.steam: fix login
      plugin: remove user_input_requester from bind()
      plugin: set Plugin.arguments class attr to None
      plugin: add pluginargument decorator
      plugins: switch to new pluginargument decorator
      docs: update plugins extension for new arguments
      plugin: add explicit pluginargument tests
      tests: rewrite plugin cookies tests
      plugins.mitele: fix and refactor plugin
      plugins.atresplayer: fix plugin
      cli: implement --player-external-http-continuous
      plugins.ustreamtv: fix matcher
      plugins.rtve: fix plugin
      cli.utils.progress: refactor
      cli.utils.progress: add output path to formats
      tests: refactor options tests
      plugins: fix regex capture groups
      docs: add plugin{matcher,argument} docstrings
      chore: use f-strings for concatenation
      plugin.api.validate: refactor ValidationError
      plugins.okru: translate mobile URLs
      plugins.okru: support mobile page
      stream.ffmpegmux: show warning if unavailable
      plugins: update plugin constructors
      plugin: remove Plugin.bind()
      plugin: wrappers for incompatible custom plugins
      docs: add Plugin + Session changes to deprecations
      cli.utils.progress: refactor
      logger: log deprecation messages as warnings
      tests: rewrite and split up string formatter tests
      tests: rewrite logger tests
      tests: reorganize test modules
      tests: remove custom catch_warnings function
      cli: refactor version check
      cli: refactor setup of session options
      tests: move versioncheck test to intended dir
      cli: remove custom `ignored` contextmanager
      chore: inline-immediately-returned-variable
      chore: generators
      chore: dicts
      chore: lists
      chore: if-else blocks
      chore: strings
      plugin.api.http_session: remove parse_* methods
      docs: handle suppressed plugin arguments
      plugins.twitch: remove disable-hosting
      build: add Python 3.11 to package classifiers
      ci: install custom lxml wheel on cp311 win-amd64
      plugin: add session typing information
      stream: add session typing information
      plugin: fix type of url property
      plugins.tv3cat: rewrite
      plugins.linelive: rewrite
      plugins.dailymotion: rewrite and fix plugin
      plugins.piczel: rewrite
      stream.ffmpegmux: remove avconv

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

Ömer Görür <[email protected]> (3):
      plugins.cinergroup: rewrite, add bloomberght (#4813)
      plugins.cinergroup: fix showtvcomtr (#4817)
      plugins.turkuvaz: rewrite, update supported sites (#4819)
streamlink - Streamlink 4.3.0

Published by github-actions[bot] about 2 years ago

Release highlights:

  • Improved: CLI download progress output (#4656)
  • Fixed: consecutive FFmpeg executable lookups not being cached (#4660)
  • Fixed: --ffmpeg-verbose-path not expanding ~ to the user's home directory (#4688)
  • Fixed: deprecated stdlib API calls in the upcoming Python 3.11 release (#4651, #4654)
  • Fixed: huya plugin (#4685)
  • Fixed: livestream plugin (#4679)
  • Fixed: picarto plugin (#4729)
  • Fixed: nbcnews plugin (#4668)
  • Fixed: deutschewelle plugin (#4725)
  • Added plugins: atpchallenger (#4700)
  • Removed plugins: nbc + nbcsports + theplatform (#4731), common_jwplayer (#4733)
  • Docs: various CLI related improvements (#4659)
  • Docs: removed OpenBSD and Ubuntu from install docs (#4681)
  • Plugin API: added new validation schemas and updated validators (#4691, #4709, #4732)

📦 Download and Installation

Please see the installation instructions for a list of available install methods and packages on the supported operating systems.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-builds.

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

  • 56: @bastimeyer
  • 8: @pzhlkj6612
  • 1: @skulblakka
  • 1: @streamlinkbot
  • 1: @yxiao1996

🗒️ Full changelog

Mozi <[email protected]> (8):
      plugins.nicolive: docs: apply bold style to "--timeshift-offset"
      docs: use valid or full-length options to create links
      docs: use bulleted list to organize content
      docs: include the option itself in its example
      docs: apply option links in indented lines
      docs: add names for special characters
      docs: use single-backtick inline code block
      docs: put inline code to code blocks in examples

NeedMilk! <[email protected]> (1):
      plugins.atpchallenger: new plugin (#4700)

bastimeyer <[email protected]> (54):
      ci: add cpython 3.11-dev test runners
      ci: fix git fetch in netlify build config
      cli: refactor nested argparse argument groups
      plugins.vidio: fix referer HTTP header
      utils.l10n: switch to locale.getlocale()
      cli: rewrite progress output
      stream.ffmpegmux: cache executable lookups
      plugins.nbcnews: fix plugin
      stream.ffmpegmux: rewrite tests
      stream.ffmpegmux: add ffmpeg-verbose{,-path} tests
      docs: fix windows-builds repo links
      plugins.livestream: rewrite and fix plugin
      refactor: is_darwin/is_win32 compat exports
      docs: remove OpenBSD from install docs
      docs: remove Ubuntu from install docs
      docs: add linux appimage maintainer note
      docs: add package availability section
      plugins.huya: rewrite and fix plugin
      stream.ffmpegmux: expand user in verbose-path
      ci: fix new flake8 5.0.0 linting issues
      chore: update GitHub release message body
      plugin.api.validate: more DRY schema definitions
      plugin.api.validate: add ListSchema
      plugin.api.validate: add re.Pattern validation
      plugin.api.validate: add NoneOrAllSchema
      plugins.ard_mediathek: fix plugin
      plugins.zdf_mediathek: replace regex with XPath
      plugins.tv360: rewrite plugin
      plugins.huajiao: rewrite and fix plugin
      plugins.cinergroup: rewrite and fix plugin
      plugin.api.validate: fix pattern input type
      plugin.api.validate: add RegexSchema
      plugin.api.http_session: suppress type error
      plugins: refactor validation schemas
      plugins: move and refactor validation schemas
      plugins.dlive: refactor
      plugins.cmmedia: refactor
      plugins.ltv_lsm_lv: fix plugin
      plugins.olympicchannel: rewrite
      plugins.btv: rewrite
      plugins.raiplay: refactor
      plugins.blazetv: refactor
      plugins: call schema.validate(value)
      docs: add missing changes to the 4.1.0 changelog
      plugins.deutschewelle: rewrite and fix plugin
      plugins.bloomberg: fix default US live stream
      plugins.nbc: remove plugin
      plugins.nbcsports: remove plugin
      plugins.theplatform: remove plugin
      plugin.api.validate: rework XML validators
      plugins: replace XPath f-strings with variables
      docs: add custom html_template_vars extension
      docs: add Open Graph metadata
      plugins: remove common_jwplayer module

skulblakka <[email protected]> (1):
      plugins.picarto: fix streams and VODs (#4729)

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

Published by github-actions[bot] over 2 years ago

Release highlights:

  • Added: new Windows portable builds (#4581)
  • Added: more dependency versions to debug log header (#4575)
  • Added: parsed multivariant playlist reference to HLSStream and MuxedHLSStream (#4568)
  • Fixed: unnecessary delay when closing DASHStreams (#4630)
  • Fixed: FFmpegMuxer not closing sub-streams concurrently (#4634)
  • Fixed: threading issue when closing WebsocketClient connections (#4608)
  • Fixed: handling of PluginErrors when outputting JSON data via --json (#4590)
  • Fixed: broken YouTube plugin when setting custom authentication headers (#4576)
  • Fixed: "source" Twitch VODs not being considered "best" (#4625)
  • Fixed: and rewritten FilmOn plugin (#4573)
  • Fixed: websocket issue in Twitcasting plugin (#4608, #4628)
  • Fixed: VK plugin (#4613, #4638)
  • Fixed: various other plugin issues (see full changelog)
  • New plugins: Aloula (#4572)
  • Removed plugins: Eltrecetv (#4593)
  • Docs: added openSUSE (#4596) and Scoop (#4600) packages
  • Docs: improved some links in CLI docs (#4623)
  • Docs: upgraded furo theme to 2022.06.04.1, require sphinx >=4, and replace recommonmark with myst-parser (#4610)
  • Build: fixed outdated python_requires value in setup.cfg (#4580)
  • Build: upgraded versioningit build dependency to >=2.0.0 <3 (#4597)

⚙️ Installation and configuration

Please see the detailed installation instructions and CLI guide on Streamlink's website.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-installer.

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

  • 34: @bastimeyer
  • 6: @mkbloke
  • 5: @back-to
  • 3: @pzhlkj6612
  • 1: @bnavigator
  • 1: @streamlinkbot

🗒️ Full changelog

Ben Greiner <[email protected]> (1):
      build: fix python_requires (#4580)

Ian Cameron <[email protected]> (6):
      plugins.aloula: new plugin
      plugins.aloula: update login required message
      plugins.pandalive: update/fix
      plugins.vk: fix
      plugins.trovo: update URL matching, tests
      plugins.vk: add support for WAF cookie

Mozi <[email protected]> (3):
      docs: change "defaults" to "default" to apply bold style
      docs: use full-length parameters to create links
      docs: make cross-link to "metadata variables" in cli docs

back-to <[email protected]> (5):
      plugins.rtpa: fix 401 error, added self.title
      plugins.mediavitrina: fix invalid url_json
      plugins.idf1: fix plugin
      plugins.eltrecetv: removed
      plugins.telefe: fix livestream (#4592)

bastimeyer <[email protected]> (34):
      plugins.tvtoya: rewrite plugin
      stream.hls: cache parsed multivariant playlist
      stream.hls: add methods for fetching playlists
      plugins.filmon: rewrite plugin
      cli: list all dependencies in debug output
      plugins.youtube: fix InitialPlayerResponse regex
      docs: update windows binaries section
      cli: fix pluginerror in handle_url if json is True
      ci: update deploy-docs script
      plugin.api: add update-user-agents script
      ci: add useragents workflow
      docs: remove windows portable maintainer note
      docs: add openSUSE package
      build: upgrade versioningit to >=2.0.0, <3
      docs: fix versioningit version
      docs: add scoop package
      plugin.api.websocket: don't join current thread
      plugin.api.websocket: fix typing, export opcodes
      plugins.twitcasting: fix websocket stream data
      docs: bump furo theme version to 2022.06.04.1
      docs: replace recommonmark with myst-parser
      docs: update homebrew package link
      ci: lint sphinx extensions and setup.py
      plugins.twitch: fix stream weight
      plugins.twitcasting: discard text frames
      plugins.rtve: rewrite plugin
      stream.ffmpegmux: close sub-streams concurrently
      stream.segmented: add AwaitableMixin
      tests: refactor DashStreamWorker tests
      stream.dash: update DASHStreamWorker.iter_segments
      stream.dash: update DASHStreamWriter.fetch
      plugins.vidio: rewrite plugin
      stream.hls: turn url_master into property
      release: 4.2.0

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

Published by github-actions[bot] over 2 years ago

Release highlights:

  • Improved: decryption of HLS streams (#4533)
  • Improved: HLS playlist parsing (#4540, #4552)
  • Improved: string representations of Stream implementations (#4521)
  • Fixed: new YouTube consent dialog (#4515)
  • Fixed: crunchyroll plugin (#4510)
  • Fixed: nicolive email logins (#4553)
  • Fixed: threading issue when closing segmented streams (#4517)
  • Removed: suppression of InsecureRequestWarning (#4525)
  • New plugins: blazetv (#4548), hiplayer (#4507), useetv (#4536)
  • Removed plugins: rotana (#4512)

⚙️ Installation and configuration

Please see the detailed installation instructions and CLI guide on Streamlink's website.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-installer.

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

  • 45: @bastimeyer
  • 7: @mkbloke
  • 1: @amurzeau
  • 1: @gravyboat
  • 1: @sknebel
  • 1: @yhhsin

🗒️ Full changelog

Alexis Murzeau <[email protected]> (1):
      tests: mock user euid to be able to run tests as root

Forrest <[email protected]> (1):
      docs: clean up gravyboat donation links (#4534)

Ian Cameron <[email protected]> (7):
      plugins.rotana: plugin removal
      plugins.hiplayer: new plugin
      plugins.crunchyroll: update/fix
      plugins.mildom: fix/update
      plugins.useetv: new plugin
      plugins.blazetv: new plugin
      plugin.api: update useragents

Sebastian Meyer <[email protected]> (1):
      plugins.useetv: geo+subscription error messages (#4550)

Sven <[email protected]> (1):
      docs: fix broken relative link

bastimeyer <[email protected]> (43):
      docs: update dependencies section in install docs
      docs: use cross-reference instead of direct link
      plugins.youtube: fix consent dialog
      changelog: remove git shortlogs
      script: rewrite github release script
      script: rename github release script
      ci: use GITHUB_TOKEN for deploying to GitHub
      plugin.api.validate: refactor all + any
      plugin.api.validate: refactor get
      plugin.api.validate: refactor callable
      plugin.api.validate: fix xml_element
      plugin.api.validate: refactor Schema class
      plugin.api.validate: turn module into package
      plugin.api.validate: implement ValidationError
      plugin.api.validate: truncate error messages
      plugin.api.validate: rewrite tests
      tests: move FileStream tests
      http_session: don't disable InsecureRequestWarning
      session: fix deprecated imports
      plugin.api.http_session: add prepare_new_request
      stream: refactor to_url and string representation
      stream.hls: simplify discard logic in writer
      docs: rewrite API guide
      stream.hls: refactor segment decryption
      stream.hls_playlist: refactor M3U8Parser
      plugin.api: fix typing issues
      utils: fix typing issues
      session: fix typing issues
      options: fix typing issues
      logger: fix typing issues
      stream.dash: fix typing issues
      stream.hls: fix typing issues
      plugins: fix typing issues
      cli: fix typing issues
      tests: fix typing issues
      docs: temporarily disable intersphinx
      docs: enable intersphinx again
      chore: fix import typing issues
      tools: add mypy config
      ci: new linting config
      tests: fix typing issue in HLSStreamReadThread
      stream.hls: parse M3U8 from Response obj directly
      plugins.nicolive: fix email logins

yhhsin <[email protected]> (1):
      stream.segmented: join worker+writer on close (#4517)
streamlink - Streamlink 4.0.1

Published by streamlink-bot over 2 years ago

No code changes.
Please see the changelog of the 4.0.0 release, as it contains breaking changes.

  • Fixed: missing source-dist tarballs on GitHub release page (#4503)

⚙️ Installation and configuration

Please see the detailed installation instructions and CLI guide on Streamlink's website.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-installer.

❤️ 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!

bastimeyer <[email protected]> (1):
      ci: fix github deploy config
streamlink - Streamlink 4.0.0

Published by streamlink-bot over 2 years ago

Breaking changes:

  • BREAKING: dropped support for Python 3.6 (#4442)
  • BREAKING/API: removed streamlink.plugin.api.utils module (#4467)
  • BREAKING/setup: switched to PEP 518 build system declaration and replaced versioneer in favor of versioningit (#4440)
  • BREAKING/packaging: replaced Windows installers with new ones built at streamlink/windows-installer (#4405)
    • Added: new embedded Python builds for 3.8 and 3.10, both x86 and x86_64
    • Updated: embedded FFmpeg to 5.0

Release highlights:

  • Added: support for --record=-, for writing data to stdout while watching at the same time (#4462)
  • Added: plugin variable for --title, --output, --record and --record-and-pipe (#4437)
  • Added: missing CLI protocol parameter support for DASH streams (#4434)
  • Updated: CLI and API documentation (#4415, #4424, #4430)
  • Updated: plugin description documentation (#4391)
  • Fixed: nicolive email logins (#4380)
  • Fixed: various other plugin issues (see the changelog down below)
  • New plugins: cmmedia (#4416), htv (#4431), mdstrm (#4395), trovo (#4471)
  • Removed plugins: abweb (#4270), garena (#4460), senategov (#4458), teamliquid (#4393), tlctr (#4432), vrtbe (#4459)

⚙️ Installation and configuration

Please see the detailed installation instructions and CLI guide on Streamlink's website.

⚠️ PLEASE NOTE ⚠️
Streamlink's Windows installers have been moved to streamlink/windows-installer.

❤️ 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!

Ekang Monyet <[email protected]> (1):
      plugins.nicolive: fix timeshift-offset option

Ian Cameron <[email protected]> (7):
      plugins: add missing "description" metadata tags
      plugins.teamliquid: plugin removal
      plugins.cmmedia: new plugin
      docs: README.md update link to plugins list
      plugins.htv: new plugin
      cli.argparser: update help with dir/subdir creation info
      plugins.trovo: new plugin

Mozi <[email protected]> (1):
      cli: add "overwrite" to --force help text (#4396)

back-to <[email protected]> (4):
      plugins.mdstrm: new plugin for mdstrm.com livestreams (#4395)
      plugins.oneplusone: fix iframe
      plugins.tlctr: remove plugin
      plugins.garena: remove plugin

bastimeyer <[email protected]> (34):
      chore: clean up some imports
      installer: bump python to 3.9.11
      chore: remove unneeded release script
      docs: fix CLI argument line breaks
      docs: split CLI into submenus
      installer: drop Windows installer build config
      docs: split cli/plugin, add cli/plugin/twitch
      docs: update API page, add type annotations
      plugins.dash: add support for parameters
      docs: add protocol-plugin parameters documentation
      docs: add intersphinx config
      tests: add proper tests for CLI metadata variables
      cli: add `plugin` metadata variable
      build: drop removed plugins file from package_data
      chore: drop support for Python 3.6
      build: add pyproject.toml, switch to versioningit
      build: move imports in setup.py
      plugins.cdnbg: rewrite plugin
      plugins.funimationnow: replace itertags
      plugins.vrtbe: remove plugin
      plugins.senategov: remove plugin
      cli: add support for --record=-
      chore: remove unnecessary collection.OrderedDict
      ci: fix netlify PR preview builds
      plugins.facebook: replace itertags
      plugin.api: remove utils module
      docs: update debian backports info
      plugins.showroom: fix plugin
      chore: move coverage config to pyproject.toml
      chore: clean up flake8 config
      chore: update GitHub release template
      docs: update and fix donations page
      docs: fix incorrect min setuptools version
      tests.plugins: make description metadata mandatory

code-review-doctor <[email protected]> (1):
      tests: fix accidental URL string concatenation (#4387)

iwconfig <[email protected]> (1):
      plugins.svtplay: oppetarkiv.se is not functional anymore (#4443)

takayuki <[email protected]> (1):
      plugins.linelive: fix API URL