Streamlink is a CLI utility which pipes video streams from various services into a video player
BSD-2-CLAUSE License
Bot releases are visible (Hide)
Published by github-actions[bot] about 1 year ago
Release highlights:
--hls-segment-queue-threshold
for being able to configure when to stop HLS streams early on missing segments (#5478)Streamlink.{g,s}et_plugin_option
(#5497)68.1.0
(#5500)Please see the installation instructions for a list of available install methods and packages on the supported operating systems.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] about 1 year ago
Patch release:
options
argument to Streamlink.streams()
(#5469)6.0.0
changelog of the Streamlink.{g,s}et_plugin_option()
removal (#5471)Please see the installation instructions for a list of available install methods and packages on the supported operating systems.
Please see the CLI documentation for how to configure and use Streamlink.
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]> (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
Published by github-actions[bot] about 1 year ago
Breaking changes:
--player
CLI argument into a player-path-only argument (#5305, #5310)--player-args
.{filename}
variable from --player-args
(#5310)Plugin.can_handle_url()
/ Plugin.priority()
classmethods (#5403)Plugin
constructor (#5402)Streamlink.{g,s}et_plugin_option()
(#5033)streamlink.plugin.api.validate.text
(#5404)HTTPStream
, HLSStream
and HLSStream.parse_variant_playlist()
(#5429)44448A298D5C3618
(#5449)Release highlights:
streamlink.webbrowser
API for extracting data from websites using the system's Chromium-based web browser (#5380, #5381, #5386, #5388, #5410)--webbrowser
, --webbrowser-executable
and related CLI arguments for morestreamlink.webbrowser
API (currently only used as a fallback when acquiring the access token fails) (#5414){playertitleargs}
variable to --player-args
(#5310)with_{video,audio}_only
parameters to DASHStream.parse_manifest()
(#5340)EXT-X-ENDLIST
tag when polling the playlist doesn't yield new segments for twice its targetduration value (#5330)trio
(#5386), trio-websocket
and typing-extensions
(#5388), and removed importlib_metadata
(#5302)Please see the installation instructions for a list of available install methods and packages on the supported operating systems.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] over 1 year ago
Patch release:
create_urllib3_context
on urllib3 <2.0.0
(#5333)Please see the installation instructions for a list of available install methods and packages on the supported operating systems.
Please see the CLI documentation for how to configure and use Streamlink.
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]> (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
Published by github-actions[bot] over 1 year ago
Release highlights:
--no-config
(#5314)--player-external-http-interface
(#5295)>=1.26.0,<3
and fixed compatibility issues with urllib3 >=2.0.0
(#5326, #5325)2023.03.27
(#5301)sphinx >=5.0.0,<7
, myst-parser >=1.0.0,<2
and sphinx-design >=0.4.1,<1
(#5301)Please see the installation instructions for a list of available install methods and packages on the supported operating systems.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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)
Published by github-actions[bot] over 1 year ago
Release highlights:
--progress
CLI argument and deprecated --force-progress
(#5268)--dash-manifest-reload-attempts
and respective session option (#5208)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] over 1 year ago
Patch release:
http-trust-env
session option name (--http-ignore-env
CLI parameter) (#5193)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.
Please see the CLI documentation for how to configure and use Streamlink.
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]> (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
Published by github-actions[bot] over 1 year ago
Release highlights:
http-query-params
session option string setter (#5176)Streamlink.set_option()
docstring (#5176)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] over 1 year ago
No code changes.
Please see the changelog of the 5.2.0
release.
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.
Please see the CLI documentation for how to configure and use Streamlink.
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: revert deploy-pypi changes
Published by github-actions[bot] over 1 year ago
Release highlights:
StreamlinkWarning
(#5072)validate.text
in favor of str
(#5090)Streamlink
session option getters/setters (#5076)NoPluginError
and removed unneeded url
parameter from NoStreamsError
(#5088)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] almost 2 years ago
Patch release:
ValueError
being raised while muxing streams (#4998)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.
Please see the CLI documentation for how to configure and use Streamlink.
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]> (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
Published by github-actions[bot] almost 2 years ago
Patch release:
WebsocketClient
to use CA certificates bundled by certifi
(#4977)SegmentedStreamReader
not properly getting closed (#4972)certifi
as a direct dependency (#4977)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] almost 2 years ago
--ffmpeg-no-validation
--twitch-access-token-param
for changing access token API request params (#4952)all
(#4941)--sbscokr-id
parameter (#4865)--twitch-disable-ads
mid-roll ad filering (#4942)urllib3
as a direct dependency and set it to >=1.26.0
(#4950)pytest-asyncio
to dev-requirements (#4861)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] about 2 years ago
Patch release:
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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] about 2 years ago
Breaking changes:
avconv
(libav) from FFmpeg fallback list (#4826)Plugin.bind()
and changed the signature of the Plugin
class constructor (#4768)Session.resolve_url()
(#4768)HTTPSession.parse_*()
methods (#4803)Release highlights:
--player-external-http-continuous
(#4739)--output
, --record
, etc.) (#4764)--twitch-disable-hosting
and removed its logic (#4805)Streamlink
session (#4768)Streamlink
and HTTPSession
typing informations to Plugin
and Stream
(including its various subclasses) (#4802, #4814)pluginargument
decorator (#4747)pluginmatcher
and pluginargument
documentation (#4771)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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)
Published by github-actions[bot] about 2 years ago
Release highlights:
--ffmpeg-verbose-path
not expanding ~
to the user's home directory (#4688)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.
Please see the CLI documentation for how to configure and use Streamlink.
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!
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
Published by github-actions[bot] over 2 years ago
Release highlights:
HLSStream
and MuxedHLSStream
(#4568)DASHStream
s (#4630)FFmpegMuxer
not closing sub-streams concurrently (#4634)WebsocketClient
connections (#4608)PluginError
s when outputting JSON data via --json
(#4590)furo
theme to 2022.06.04.1
, require sphinx
>=4
, and replace recommonmark
with myst-parser
(#4610)python_requires
value in setup.cfg
(#4580)versioningit
build dependency to >=2.0.0 <3
(#4597)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.
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!
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
Published by github-actions[bot] over 2 years ago
Release highlights:
Stream
implementations (#4521)InsecureRequestWarning
(#4525)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.
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!
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)
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.
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.
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
Published by streamlink-bot over 2 years ago
Breaking changes:
streamlink.plugin.api.utils
module (#4467)Release highlights:
--record=-
, for writing data to stdout while watching at the same time (#4462)plugin
variable for --title
, --output
, --record
and --record-and-pipe
(#4437)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.
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