Releases: streamlink/streamlink
Streamlink 5.2.1
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.
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 <mail@bastimeyer.de> (1):
ci: revert deploy-pypi changes
Streamlink 5.2.0
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 ofstr
(#5090) - Improved:
Streamlink
session option getters/setters (#5076) - Fixed: incorrect inheritance of
NoPluginError
and removed unneededurl
parameter fromNoStreamsError
(#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.
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 <1661072+mkbloke@users.noreply.github.com> (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 <inokenty.95@gmail.com> (1):
plugins.vkplay: new plugin (#5054)
bastimeyer <mail@bastimeyer.de> (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 <62562166+fenopa@users.noreply.github.com> (1):
plugins.turkuvaz: fix url match (#5021)
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 5.1.2
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.
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 <mail@bastimeyer.de> (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 <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 5.1.1
Patch release:
- Changed:
WebsocketClient
to use CA certificates bundled bycertifi
(#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.
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 <1661072+mkbloke@users.noreply.github.com> (1):
docs: add pipx install info
bastimeyer <mail@bastimeyer.de> (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 5.1.0
- 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.
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 <1661072+mkbloke@users.noreply.github.com> (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 <29089388+pzhlkj6612@users.noreply.github.com> (1):
docs: add mypy for checking typing error
Nicolas Goy <kuon@goyman.com> (1):
docs: fix twitch oauth token header name (#4940)
bastimeyer <mail@bastimeyer.de> (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 <62562166+fenopa@users.noreply.github.com> (1):
plugins.tv8: filter out ad segments
streamlinkbot <streamlinkbot@users.noreply.github.com> (2):
plugin.api: update useragents
plugin.api: update useragents
Streamlink 5.0.1
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.
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 <108294295+UltraHDR@users.noreply.github.com> (1):
plugins.hiplayer: remove cnbcarabia.com (#4836)
bastimeyer <mail@bastimeyer.de> (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 5.0.0
Breaking changes:
- BREAKING: removed
avconv
(libav) from FFmpeg fallback list (#4826) - BREAKING/API: removed
Plugin.bind()
and changed the signature of thePlugin
class constructor (#4768)
A compatibility wrapper for these interface changes has temporarily been added in order to keep third-party plugin implementations working.
Please see the deprecation docs for more details. - BREAKING/API: changed the return value of
Session.resolve_url()
(#4768)
Please see the deprecation docs for more details. - BREAKING/API: removed
HTTPSession.parse_*()
methods (#4803)
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
andHTTPSession
typing informations toPlugin
andStream
(including its various subclasses) (#4802, #4814) - API: added
pluginargument
decorator (#4747) - Docs: updated
pluginmatcher
andpluginargument
documentation (#4771)
📦 Download and Installation
Please see the installation instructions for a list of available install methods and packages on the supported operating systems.
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 <63477090+Mehavoid@users.noreply.github.com> (1):
plugins.trovo: fix VODs (#4812)
OHaiiBuzzle <23693150+ohaiibuzzle@users.noreply.github.com> (1):
plugins.huya: update `liveId` to type `str` (#4763)
UltraHDR <108294295+UltraHDR@users.noreply.github.com> (1):
plugins.hiplayer: add alwasat.ly (#4778)
bastimeyer <mail@bastimeyer.de> (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 <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Ömer Görür <102440553+omergorur@users.noreply.github.com> (3):
plugins.cinergroup: rewrite, add bloomberght (#4813)
plugins.cinergroup: fix showtvcomtr (#4817)
plugins.turkuvaz: rewrite, update supported sites (#4819)
Streamlink 4.3.0
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.
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 <29089388+pzhlkj6612@users.noreply.github.com> (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! <xiaoyu960522@sina.com> (1):
plugins.atpchallenger: new plugin (#4700)
bastimeyer <mail@bastimeyer.de> (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 <pascal.romahn@mailbox.org> (1):
plugins.picarto: fix streams and VODs (#4729)
streamlinkbot <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 4.2.0
Release highlights:
- Added: new Windows portable builds (#4581)
- Added: more dependency versions to debug log header (#4575)
- Added: parsed multivariant playlist reference to
HLSStream
andMuxedHLSStream
(#4568) - Fixed: unnecessary delay when closing
DASHStream
s (#4630) - Fixed:
FFmpegMuxer
not closing sub-streams concurrently (#4634) - Fixed: threading issue when closing
WebsocketClient
connections (#4608) - Fixed: handling of
PluginError
s 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 to2022.06.04.1
, requiresphinx
>=4
, and replacerecommonmark
withmyst-parser
(#4610) - Build: fixed outdated
python_requires
value insetup.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.
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 <code@bnavigator.de> (1):
build: fix python_requires (#4580)
Ian Cameron <1661072+mkbloke@users.noreply.github.com> (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 <29089388+pzhlkj6612@users.noreply.github.com> (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 <backto@protonmail.ch> (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 <mail@bastimeyer.de> (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 <streamlinkbot@users.noreply.github.com> (1):
plugin.api: update useragents
Streamlink 4.1.0
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.
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 <amubtdx@gmail.com> (1):
tests: mock user euid to be able to run tests as root
Forrest <gravyboat@users.noreply.github.com> (1):
docs: clean up gravyboat donation links (#4534)
Ian Cameron <1661072+mkbloke@users.noreply.github.com> (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 <mail@bastimeyer.de> (1):
plugins.useetv: geo+subscription error messages (#4550)
Sven <sknebel@users.noreply.github.com> (1):
docs: fix broken relative link
bastimeyer <mail@bastimeyer.de> (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 <yhhsin@gmail.com> (1):
stream.segmented: join worker+writer on close (#4517)