Changelog:
== streamlink 2.3.0 (2021-07-26)
Release highlights:
- Implemented: new plugin URL matching API [#3814], [#3821]
Third-party plugins which use the old API will still be resolved,
but those plugins will have to upgrade in the future. See the
documentation's deprecations page for more information.
- Implemented: HLS media initialization section (fragmented
MPEG-4 streams) [#3828]
- Upgraded: `requests` to `>=2.26.0,<3` and set it to `==2.25.1`
on Windows [#3864], [#3880]
- Fixed: YouTube channel URLs, premiering live streams, added API
fallback [#3847], [#3873], [#3809]
- Removed plugins: canalplus [#3841], dommune [#3818], liveedu [#3845],
periscope [#3813], powerapp [#3816], rtlxl [#3842],
streamingvideoprovider [#3843], teleclubzoom [#3817], tigerdile [#3819]
Hakkin Lain (1):
stream.hls: set fallback playlist reload time to 6 seconds (#3887)
back-to (16):
plugins.youtube: added API fallback
plugins.rtvs: fixed livestream
plugins.nos: Fixed Livestream and VOD
plugins.vlive: fixed livestream (#3820)
plugins.Tigerdile: removed
plugins.Dommune: removed
plugins.PowerApp: removed
plugins.TeleclubZoom: removed (#3817)
plugins.cdnbg: Fix regex and referer issues
plugins.rtlxl: removed
plugins.CanalPlus: removed
plugins.liveedu: removed
plugins.Streamingvideoprovider: removed
plugin.api: update useragents
plugins.youtube: detect Livestreams with 'isLive'
plugins.nimotv: use 'mStreamPkg'
bastimeyer (30):
plugins.youtube: translate embed_live URLs
plugins.periscope: remove plugin
plugins.mediaklikk: rewrite plugin
stream.hls: add type hints and refactor
stream.hls: implement media initialization section
plugin: new matchers API
plugins: update protocol plugins
plugins: update basic plugins
plugins: update plugins with URL capture groups
plugins: update plugins with spec. can_handle_url
plugins: update plugins with multiple URL matchers
plugins: update plugins with URL translations
session: resolve deprecated plugins
plugins.zdf_mediathek: refactor plugin, drop HDS
docs: add deprecations page
plugins.tv8: remove API, find HLS via simple regex
plugins.youtube: find videoId on channel pages
chore: replace issue templates with forms
chore: fix issue forms checklist
tests: remove mock from dev dependencies
vendor: set requests to >=2.26.0,<3
tests: temporarily skip broken tests on win32
tests: fix unnecessary hostname lookup in cli_main
docs: fix headline anchors on deprecations page
vendor: downgrade requests to 2.25.1 on Windows
tests: refactor TestMixinStreamHLS
streams.segmented: refactor worker and writer
streams.segmented: refactor reader
streams.hls: refactor worker
streams.hls: fix playlist_reload_time
gustaf (1):
plugins.tv4play: fix plugin URL regex
vinyl-umbrella (1):
plugins.openrectv: update HLS URLs (#3850)
Changes:
- New: Dutch translation of README.md.
- Fixed: interactive prompt not printed with musl libc.
- Fixed: typos in README.md.
- Change: migrated builds from Travis to sr.ht.
Changelog:
== streamlink 2.2.0 (2021-06-19)
Release highlights:
- Changed: default config file path on macOS and Windows ([#3766])
- macOS: `${HOME}/Library/Application Support/streamlink/config`
- Windows: `%APPDATA%\streamlink\config`
- Changed: default custom plugins directory path on macOS and
Linux/BSD ([#3766])
- macOS: `${HOME}/Library/Application Support/streamlink/plugins`
- Linux/BSD: `${XDG_DATA_HOME:-${HOME}/.local/share}/streamlink/plugins`
- Deprecated: old config file paths and old custom plugins directory
paths ([#3784])
- Windows:
- `%APPDATA%\streamlink\streamlinkrc`
- macOS:
- `${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/config`
- `${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/plugins`
- `${HOME}/.streamlinkrc`
- Linux/BSD:
- `${XDG_CONFIG_HOME:-${HOME}/.config}/streamlink/plugins`
- `${HOME}/.streamlinkrc`
Support for these old paths will be dropped in the future.
See the [CLI documentation] for all the details regarding these changes.
- Implemented: `--logfile` CLI argument ([#3753])
- Fixed: Youtube 404 errors by dropping private API calls
(plugin rewrite) ([#3797])
- Fixed: Twitch clips ([#3762])
- Fixed: Olympicchannel plugin ([#3760])
- Fixed: various Zattoo plugin issues ([#3773])
- Fixed: HTTP responses with truncated body and mismatching
content-length header ([#3768])
- Fixed: scheme-less URLs with address:port for `--http-proxy`,
etc. ([#3765])
- Fixed: rendered man page path on Sphinx 4 ([#3750])
- Added plugins: mildom.com ([#3584])
- Removed plugins: ine.com ([#3781])
Billy2011 (2):
plugins.mediaklikk: add m4sport.hu (#3757)
plugins.olympicchannel: fix / rewrite
DESK-coder (1):
plugins.zattoo: changes to hello_v3 and new token.js (#3773)
FaceHiddenInsideTheDark (1):
plugins.funimationnow: fix subtitle language (#3752)
Ian Cameron (2):
plugins.bfmtv: fix/find Brightcove video data in JS (#3662)
plugins.booyah: new plugin
back-to (7):
plugins.tf1: fixed api_url
plugins.onetv: cleanup
plugins.mediavitrina: new plugin
plugin.api: update useragents, remove EDGE
plugins.ine: removed
plugins.zattoo: cleanup, fix other domains
plugins.playtv: removed - SEC_ERROR_EXPIRED_CERTIFICATE (#3798)
bastimeyer (27):
plugins.rtpplay: fix obfuscated HLS URL parsing
utils.url: add encoding options to update_qsd
docs: set man_make_section_directory to false
tests.hls: test headers on segment+key requests
cli.argparser: fix description text
utils.url: fix update_scheme with implicit schemes
plugins.twitch: add access token to clips
tests: refactor TestCLIMainLogging
cli: implement --logfile
plugins.twitch: fix clips URL regex
plugin.api.http_session: refactor HTTPSession
plugin.api.http_session: enforce_content_length
stream.hls: replace custom PKCS#7 unpad function
plugin.api.validate: add nested lookups to get()
plugin.api.validate: implement union_get()
plugins.twitch: query hosted channels on GQL
plugins.twitch: tidy up API calls
cli: refactor CONFIG_FILES and PLUGIN_DIRS
cli: add XDG_DATA_HOME as first plugins dir
cli: rename config file on Windows to "config"
cli: use correct config and plugins dir on macOS
cli: deprecate old config files and plugin dirs
cli: fix order of config file deprecation log msgs
plugins.youtube: clean up a bit
plugins.youtube: update URL regex, translate URLs
plugins.youtube: replace private API calls
plugins.youtube: unescape consent form values
shirokumacode (1):
plugins.mildom: new plugin for mildom.com (#3584)
== streamlink 2.1.2 (2021-05-20)
Patch release:
- Fixed: youtube 404 errors ([#3732])
- Fixed: picarto plugin ([#3661])
- Fixed: euronews plugin ([#3698])
- Fixed: bbciplayer plugin ([#3725])
- Fixed: missing removed-plugins-file in `setup.py build` ([#3653])
- Changed: HLS streams to use rounded bandwidth names ([#3721])
- Removed: plugin for hitbox.tv / smashcast.tv ([#3686])
Alexis Murzeau (1):
build: include .removed file in build
Ian Cameron (3):
plugins.tvplayer: plugin removal
plugins.picarto: rewrite/fix (#3661)
plugins.bbciplayer: fix/update state_re regex
Kagamia (1):
plugins.nicolive: fix proxy arguments (#3710)
Yavuz Kömeçoğlu (1):
plugins.youtube: add html5=1 parameter (#3732)
back-to (3):
plugins.youtube: fix consent dialog (#3672)
plugins.mitele: use '_{bitrate}' and remove duplicates
stream.hls_playlist: round BANDWIDTH and parse as int (#3721)
bastimeyer (7):
plugins.youtube: add short video URLs
plugins.hitbox: remove plugin
chore: remove square brackets from issue titles
plugins.euronews: rewrite and fix live streams
utils.named_pipe: rewrite named pipes
docs: fix winget package link
ci.github: add python 3.10-dev to test runners
bururaku (1):
plugins.abematv: Fixed download problem again. (#3658)
== streamlink 2.1.1 (2021-03-25)
Patch release:
- Fixed: test failure due to missing removed plugins file in sdist
tarball ([#3644]).
Sebastian Meyer (1):
build: don't build sdist/bdist quietly (#3645)
bastimeyer (1):
build: include removed plugins file in sdist
== streamlink 2.1.0 (2021-03-22)
Release highlights:
- Added: `--interface`, `-4` / `--ipv4` and `-6` / `--ipv6` ([#3483])
- Added: `--niconico-purge-credentials` ([#3434])
- Added: `--twitcasting-password` ([#3505])
- Added: Linux AppImages ([#3611])
- Added: pre-built man page to bdist wheels and sdist tarballs ([#3459])
- Added: plugin for ahaber.com.tr and atv.com.tr ([#3484])
- Fixed: `--player-http` / `--player-continuous-http` HTTP server being
bound to all interfaces ([#3450])
- Fixed: handling of languages without alpha_2 code when using
pycountry ([#3518])
- Fixed: memory leak when calling `streamlink.streams()` ([#3486])
- Fixed: race condition in HLS related tests ([#3454])
- Fixed: `--player-fifo` issues on Windows with VLC or MPV ([#3619])
- Fixed: various plugins issues (see detailed changelog down below)
- Removed: Windows portable (RosadinTV) ([#3535])
- Removed: plugin for micous.com ([#3457])
- Dependencies: set `websocket-client` to `>=0.58.0` ([#3634])
Alexis Murzeau (1):
docs: update Debian stable install instructions
Billy2011 (1):
plugins.stadium: adaptions for new player api (#3506)
Ian Cameron (7):
plugins.mico: plugin removal
plugins.dogus: remove channel and update test
plugins.turkuvaz: add channels and URL tests
plugins.tvtoya: fix playlist regex
plugins.nimotv: new plugin
plugins.tvtoya: minor fixes
plugins.mjunoon: rewrite/fix
Jefffrey (1):
plugins.Nicolive: login before getting wss api url
Miguel Valadas (1):
plugins.rtpplay: add schema and fix HLS URL (#3627)
Vladimir Stavrinov (1):
plugins.oneplusone: fix iframe url pattern (#3503)
alnj (1):
plugins.twitcasting: add support for private/password-protected
streams (#3505)
back-to (11):
cli.main: use *_args, **_kwargs for create_http_server (#3450)
plugins.nicolive: added --niconico-purge-credentials
docs: remove outdated gst-player example
plugins.facebook: Add 'Log into Facebook' error message.
plugins.afreeca: use 'gs_cdn_pc_web' and 'common'
stream.dash: Fix static playlist - refresh_wait
- Pipe copy aborted - Read timeout
plugin.api: update useragents (#3637)
plugins.zattoo: use 'dash' as default stream
setup.py: require websocket-client>=0.58.0
plugins.nicolive: fixed websocket-client
plugins.btsports: remove plugin
bastimeyer (36):
tools: force LF line endings via .gitattributes
docs: add minimalist code of conduct
stream.hls: open reader from class attribute
tests.hls: await all filtered-HLS writer calls
plugins.twitch: fix access_token on invalid inputs
ci: add netlify docs preview deploy config
docs: add thank-you section to index page
build: include man page in wheels
docs: bump furo docs req to 2020.12.28.beta23
2021
http_session: remove HTTPAdapterWithReadTimeout
docs: improve install-via-pip section
docs: fix description of `--ffmpeg-fout`
build: include man page in sdist tarballs
utils/l10n: fix langs without alpha_2 in pycountry
plugins.bloomberg: fix and refactor plugin
utils: remove custom memoize decorator
docs: remove CLI tutorial from man page
session: implement --interface, --ipv4 and --ipv6
docs: remove RosadinTV Windows portable version
ci.github: increase git fetch depth of tests
tests: fix test code coverage
ci.codecov: 100% tests target, add patch status
docs: clean up package maintainers list
plugins.vtvgo: ignore duplicate params
ci.codecov: disable GH status check annotations
chore: reorder and improve issue templates
plugins: fix invalid plugin class names
tests.plugins: parametrize can_handle_url tests
plugins: fix and update removed plugins list
docs: add appimages section to install docs
ci.netlify: build docs when CHANGELOG.md changes
docs: add pip to packages lists
cli.output: fix named pipe player input on Windows
cli: debug-log arguments set by the user
cli: refactor log_current_versions and add tests
bururaku (1):
plugins.abematv: Update abematv.py (#3617)
fenopa (1):
installer: upgrade to python 3.8.7
losuler (1):
docs: update URL to Fedora repo
onde2rock (1):
plugins.bfmtv : fix rmcstory and rmcdecouverte (#3471)
vinyl-umbrella (1):
plugins.openrectv: update/fix (#3583)
== streamlink 2.0.0 (2020-12-22)
Release highlights:
- BREAKING: dropped support for Python 2 and Python 3.5 ([#3232])
- BREAKING: updated the Python version of the Windows installer
to 3.8 ([#3330])
Users of Windows 7 will need their system to be fully upgraded.
- BREAKING: removed all deprecated CLI arguments ([#3277])
- `--http-cookies`, `--http-headers`, `--http-query-params`
- `--no-version-check`
- `--rtmpdump-proxy`
- `--cmdline`, `-c`
- `--errorlog`, `-e`
- `--errorlog-path`
- `--btv-username`, `--btv-password`
- `--crunchyroll-locale`
- `--pixiv-username`, `--pixiv-password`
- `--twitch-oauth-authenticate`, `--twitch-oauth-token`,
`--twitch-cookie`
- `--ustvnow-station-code`
- `--youtube-api-key`
- BREAKING: replaced various subtitle muxing CLI arguments with
`--mux-subtitles` ([#3324])
- `--funimationnow-mux-subtitles`
- `--pluzz-mux-subtitles`
- `--rtve-mux-subtitles`
- `--svtplay-mux-subtitles`
- `--vimeo-mux-subtitles`
- BREAKING: sideloading faulty plugins will now raise an
`Exception` ([#3366])
- BREAKING: changed trace logging timestamp format ([#3273])
- BREAKING/API: removed deprecated `Session` compat options ([#3349])
- BREAKING/API: removed deprecated custom `Logger` and `LogRecord`
([#3273])
- BREAKING/API: removed deprecated parameters from
`HLSStream.parse_variant_playlist` ([#3347])
- BREAKING/API: removed `plugin.api.support_plugin` ([#3398])
- Added: new plugin for pluto.tv ([#3363])
- Added: support for HLS master playlist URLs to `--stream-url` /
`--json` ([#3300])
- Added: `--ffmpeg-fout` for changing the output format of muxed
streams ([#2892])
- Added: `--ffmpeg-copyts` and `--ffmpeg-start-at-zero` ([#3404])
- Added: `--streann-url` for iframe referencing ([#3356])
- Added: `--niconico-timeshift-offset` ([#3425])
- Fixed: duplicate stream names in DASH inputs ([#3410])
- Fixed: youtube live playback ([#3268])
- Fixed: `--twitch-disable-reruns` ([#3375])
- Fixed: various plugins issues (see detailed changelog down below)
- Changed: `{filename}` variable in `--player-args` / `-a` to
`{playerinput}` and made both optional ([#3313])
- Changed: and fixed `streamlinkrc` config file in the Windows installer ([#3350])
- Changed: MPV's automated `--title` argument to `--force-media-title` ([#3405])
- Changed: HTML documentation theme to [furo] ([#3335])
- Removed: plugins for `skai`, `kingkong`, `ellobo`, `trt`/`trtspor`,
`tamago`, `streamme`, `metube`, `cubetv`, `willax`
Billy2011 (2):
plugins.youtube: fix live playback (#3268)
stream.ffmpegmux: add --ffmpeg-copyts option (#3404)
Forrest Alvarez (1):
Update author email to shared email
Hunter Peavey (1):
docs: update wtwitch in thirdparty list (#3286)
Ian Cameron (9):
plugins.skai: plugin removal
plugins.kingkong: plugin removal
plugins.cnews: fix video ID search, add schema
plugins.ellobo: plugin removal
plugins.nbcnews: fix video ID search, add schemas
plugins.bfmtv: fix ID & embed re, use Dailymotion
plugins.filmon: mitigate for non-JSON data response
plugins.schoolism: fix and test for colon in title (#3421)
plugins.dogan: fix/update
Jon Bergli Heier (1):
plugins.nrk: fix/rewrite plugin (#3318)
Mark Ignacio (1):
plugins.NicoLive: add --niconico-timeshift-offset option (#3425)
Martin Buck (1):
plugins.zdf_mediathek: also support 3sat mediathek
Sean Greenslade (1):
plugins.picarto: explicitly detect and fail on private
streams (#3278)
Sebastian Meyer (2):
chore: drop support for Python 3.5 (#3269)
ci.github: run lint step before test step (#3294)
Seonjae Hyeon (1):
plugins.vlive: fix URL regex and plugin (#3315)
azizLIGHT (1):
docs: fix mpv property-list link in --title description (#3342)
back-to (26):
plugins.facebook: remove User-Agent (#3272)
plugins.trt/trtspor: remove plugins
plugin.api.useragents: update User-Agent
plugins: remove FIREFOX User-Agent imports
plugins.abweb: fixed login issues
plugins.huya: use FLV stream with multiple mirrors
plugin.api.useragents: update User-Agent's
plugins.tamago: removed dead plugin
plugins.streamme: removed dead plugin
plugins.metube: removed dead plugin
plugins.cubetv: removed dead plugin
cli.utils: remove named_pipe.py file, use streamlink.utils import
plugins.willax: removed plugin, they use streann
plugins.streann: allow different source URLs
plugins.pixiv: set headers for stream data, fixed login issue
plugins.pluto: new plugin for https://pluto.tv/ (#3363)
plugins.twitch: fix ads
plugins.twitch: fix --twitch-disable-reruns
plugins.youtube: quickfix for "/live" URL
plugins.pluto: ignore invalid channels
stream.dash: allow '_alt' streams with the same
resolution (#3410)
plugins.afreeca: update '_get_channel_info' with 'bno',
plugin cleanup (#3408)
plugins.plugin: use the same cls.logger 'plugins'
stream.ffmpegmux: disable -start_at_zero for -copyts
as default (#3413)
plugin.api.useragents: update User-Agent
plugins.youtube: Fix 'ytInitialData' for channel pages
bastimeyer (71):
chore: drop support for Python 2
chore: remove is_py{2,3} compat checks
chore: remove compat imports of builtins
chore: remove streamlink.utils.encoding
chore: remove simple aliased compat imports
chore: remove compat imports of removed py2 deps
chore: remove compat import of html module
chore: remove compat imports of urllib and queue
chore: remove remaining inspect compat import
chore: remove unneeded __future__ imports
chore: remove file encoding header comments
chore: remove compat imports from tests
logger: replace self.logger calls in plugins
logger: format all log messages directly
logger: remove deprecated compat logger
logger: refactor StringFormatter
chore: remove old LIVESTREAMER_VERSION constant
chore: remove deprecated CLI arguments
flake8: add import-order linting config
plugins.twitch: player_type access token parameter
ci.github: install latest version of pynsist
chore: implicit py3 super() calls
chore: remove u-strings
ci.github: set ubuntu to 20.04 and python to 3.9
cli: optional player-args input variable
cli: add support for stream manifest URL output
installer: upgrade to Python 3.9.0
installer: switch back to latest pynsist release
installer: downgrade to python 3.8
docs: add note about supported Windows versions
docs: add autosectionlabel Sphinx extension
docs: fix most http links
plugin: implement global plugin arguments
plugins: turn mux-subtitles into a global argument
plugins.twitch: remove player_type parameter
plugins.twitch: move access_token request to GQL
chore: remove HLS variant playlist compat params
chore: remove old rtmpdump/subprocess CLI args
installer: fix + rewrite streamlinkrc config file
stream.ffmpegmux: only close FFMPEGMuxer once
chore: add dev version checkbox to issue templates
chore: inherit from object implicitly
chore: set literals and dict comprehensions
chore: use yield from where possible
chore: replace old errors classes with OSError
chore: drop python six compat stuff
chore: fix deprecated logging.Logger.warn calls
docs: fix CLI page
docs: split CLI args in HTML output into rows
session: replace usage of deprecated imp module
docs: add warning to plugin sideloading section
refactor: test_session, move testplugin files
plugin.api: remove support_plugin
tests: fix test_cmdline{,_title}
chore: add issue template config with more links
docs: switch theme to furo, bump sphinx to >=3.0
docs: remove custom sphinx_rtd_theme_violet
tools: update editorconfig for docs theme files
docs: add index page to toctree
docs: add custom stylesheet and customize sidebar
docs: change/fix fonts, brand colors and spacings
docs: add version warning message
docs: fix applications and donate pages
cli: move plugin args into their own args group
docs: fix scrollbar issues in both sidebars
docs: add favicons and PWA manifest
cli.output: replace MPV player title parameter
stream.hls: merge hls_filtered with hls
cli: move --stream-url to different args group
cache: catch OverflowError in set()
docs: fix link in readme
beardypig (6):
tests: fix log tests when run on a system with a non-UTC timezone
chore: use new py3 yield from syntax
chore: sort imports, fix a dependency cycle and use absolute imports
tests: validate all plugins' global arguments
plugins.mitele: update plugin to support new website APIs (#3338)
stream.ffmpegmux: Add support for specifying output file format
and audio sync option (#2892)
enilfodne (1):
plugins.cdnbg: simplify and fix iframes without schema
smallbomb (1):
plugins: fix radiko.py url (#3394)
== streamlink 1.7.0 (2020-10-18)
Release highlights:
- Added: new plugins for micous.com, tv999.bg and cbsnews.com
- Added: new embedded ad detection for Twitch streams ([#3213])
- Fixed: a few broken plugins and minor plugin issues (see changelog
down below)
- Fixed: arguments in config files were read too late before taking
effect ([#3255])
- Fixed: Arte plugin returning too many streams and overriding
primary ones ([#3228])
- Fixed: Twitch plugin error when stream metadata API response
is empty ([#3223])
- Fixed: Zattoo login issues ([#3202])
- Changed: plugin request and submission guidelines ([#3244])
- Changed: refactored and cleaned up Twitch plugin ([#3227])
- Removed: `platform=_` stream token request parameter from Twitch
plugin (again) ([#3220])
- Removed: plugins for itvplayer, aljazeeraen, srgssr and dingittv
Alexis Murzeau (1):
docs: use recommonmark as an extension
Billy2011 (3):
plugins.zattoo: use hello api v2 for zattoo.com (#3202)
plugins.dlive: rewrite plugin (#3239)
utils.l10n: use DEFAULT_LANGUAGE_CODE if locale lookup
fails (#3055)
Forrest (1):
plugins.itvplayer: remove due to DRM (#2934)
Ian Cameron (8):
plugins.mico: new plugin for http://www.micous.com/ (#3188)
plugins.cdnbg: update url_re, plugin test, plugin matrix (#3205)
plugins.tv999: new plugin for http://tv999.bg/live.html (#3199)
plugins.aljazeeraen: plugin removal (#3207)
plugins.srgssr: plugin removal
plugins.tv3cat: update URL match, test and plugin matrix
chore: update issue templates (#3250)
docs: add plugin addition/removal infos (#3249)
Sebastian Meyer (2):
Improve coverage reports on codecov (#3200)
plugins.twitch: remove platform access token param (#3220)
back-to (4):
plugin.api.useragents: update User-Agent
plugins.livestream: remove AkamaiHDStream, use only secure
HLSStream (#3243)
plugins.dingittv: removed, website is unmaintained
plugins: mark some plugins as broken (#3262)
bastimeyer (21):
ci.coverage: increase threshold of tests status
tests: add stream_hls mixin for testing HLSStreams
stream.hls_filtered: refactor tests, use mixin
plugins.twitch: refactor tests, use mixin
stream.hls: refactor reload time tests, use mixin
stream.hls: separate variant playlist tests
stream.hls: separate default and encrypted tests
stream.hls_playlist: implement EXT-X-DATERANGE tag
plugins.twitch: filter ads by EXT-X-DATERANGE tag
plugins.twitch: fix metadata API response handling
ci: add python 3.9 test runners
tests: fix early writer close in stream_hls mixin
stream.segmented: gracefully shut down thread pool
plugins.twitch: remove video-type distinction
plugins.twitch: refactor Twitch API related code
plugins.twitch: refactor _get_hls_streams
plugins.twitch: remove stream weights and clean up
docs: fix working tree check in deploy script
docs: update plugin guidelines
docs: add developing menu with basic setup steps
docs: add generic pull request template
beardypig (3):
plugins.cbsnews: support for live streams from CBS News (#3251)
plugins.artetv: only pick the first variant of the stream (#3228)
cli: make config based args available during early setup (#3255)
== streamlink 1.6.0 (2020-09-22)
Release highlights:
- Fixed: lots of broken plugins and minor plugin issues (see
changelog down below)
- Fixed: embedded ads on Twitch with an ads workaround, removing
pre-roll and mid-stream ads ([#3173])
- Fixed: read timeout error when filtering out HLS segments ([#3187])
- Fixed: twitch plugin logging incorrect low-latency status when
pre-roll ads exist ([#3169])
- Fixed: crunchyroll auth logic ([#3150])
- Added: the `--hls-playlist-reload-time` parameter for customizing
HLS playlist reload times ([#2925])
- Added: `python -m streamlink` invocation style support ([#3174])
- Added: plugin for mrt.com.mk ([#3097])
- Changed: yupptv plugin and replaced email+pass with id+token
authentication ([#3116])
- Removed: plugins for vaughnlive, pandatv, douyutv, cybergame,
europaplus and startv
Ian Cameron (11):
docs: update turkuvaz plugin matrix entry (#3114)
docs: Add reuters.com for reuters plugin entry in plugin
matrix (#3124)
Fix formatting for reuters plugin entry
plugins.huomao: fix/rewrite (#3126)
plugins.drdk: fix livestreams (#3115)
plugins.tvplayer: update regex and tests for /uk/ URLs
plugins.tv360: fix HLS URL regex and plugin (#3185)
plugins: fix unescaped literal dots in url_re entries (#3192)
plugins.svtplay: rewrite/fix (#3155)
plugins.yupptv: fix/minor rewrite (#3116)
plugins.ine: fix unescaped literal dots in js_re (#3196)
Il Harper (2):
Add OBS-Streamlink into thirdparty.rst
Apply suggestions from code review
PleasantMachine9 (1):
support `python -m` cli invocation
Sebastian Meyer (4):
plugins.bloomberg: fix regex module anchor (#3131)
plugins.sportschau: rewrite and fix plugin (#3142)
plugins.raiplay: rewrite and fix plugin (#3147)
plugins.twitch: refactor worker, parser and tests (#3169)
Tr4sK (1):
plugins.mrtmk: new plugin for http://play.mrt.com.mk/ (#3097)
Yahya (1):
docs: update reference to minimum VLC version
back-to (9):
plugins.vaughnlive: removed
plugins.pandatv: removed
plugins.douyutv: removed
plugins.tv8: fix plugin with new api
plugins.cybergame: removed
plugins.europaplus: remove plugin
plugins.vk: remove '\' from data
plugins.nicolive: fix quality
plugins.wasd: fixed plugin (#3139)
bastimeyer (8):
stream.hls: customizable playlist reload times
plugins.twitch: platform=_ in access_token request
docs: fix NixOS link
docs: replace easy_install macOS entry with pip
docs: add comment regarding pip/pip3 differences
stream.hls_filtered: implement FilteredHLSStream
plugins.twitch: use FilteredHLS{Writer,Reader}
stream.hls_filtered: fix tests
beardypig (1):
plugins.crunchyroll: update auth logic
derFogel (1):
plugins.zattoo: fix quantum tv streaming (#3108)
hymer-up (2):
plugins.startv: remove plugin (#3163)
plugins.dogus: add startv URL (#3161)
== streamlink 1.5.0 (2020-07-07)
A minor release with fixes for `pycountry==20.7.3` ([#3057]) and a
few plugin additions and removals.
And of course the usual plugin fixes and upgrades, which you can
see in the git shortlog down below. Thank you to everyone involved!
Support for Python2 has not been dropped yet (contrary to the comment
in the last changelog), but will be in the near future.
Alexis Murzeau (1):
docs: update debian install instructions
Billy2011 (8):
plugins.nbcsports: fix embed_url_re (#2980)
plugins.olympicchannel: fix/rewrite (#2981)
plugins.foxtr: fix playervars_re (#3013)
plugins.huya: fix _hls_re (#3007)
plugins.ceskatelevize: add new api for some links (#2991)
plugins.beattv: remove plugin (#3053)
plugins.ard_live: fix / rewrite (#3052)
plugins.ard_mediathek: fix / update (#3049)
Code (1):
Streamlink was added to Windows Package Manager
Ian Cameron (6):
plugins.tvplayer: Add missing platform key in the GET for
stream_url (#2989)
plugins.btv: remove login and fix API URL (#3019)
plugins.n13tv: new plugin - replaces plugins.reshet (#3034)
plugins.reshet: plugin removal (#3000)
plugins.tvnbg: plugin removal (#3056)
plugins.adultswim: fix/rewrite (#2952)
Sebastian Meyer (3):
ci: no test/documentation jobs on scheduled run (#3012)
cli.main: fix msecs format in logging output (#3025)
utils.l10n: fix pycountry language lookup (#3057)
Vladimir Stavrinov (1):
plugins.nbcnews: new plugin for http://nbcnews.com/now (#2927)
back-to (11):
plugins.showroom: use normal HLSStreams
docs: remove unimportant note / file
plugins.viasat: remove play.nova.bg domain
actions: fixed incorrect versions and use names for codecov
(#2932)
plugins.filmon: use /tv/ url and raise PluginError for invalid
channels
flake8: E741 ambiguous variable name
plugins.youtube: Fix isLive and signatureCipher (#3026)
plugins.facebook: use meta og:video:url and added basic title
support (#3024)
plugins.picarto: fixed vod url detection
ci: fix pycountry issue temporarily with a fixed version
plugin.api.useragents: update User-Agent
bastimeyer (3):
docs/install: fix Windows package manager
plugins.mixer: remove plugin
ci: run scheduled tests, ignore coverage report
beardypig (1):
plugins.cdnbg: update plugin to support new sites, and remove
old sites (#2912)
lanroth (1):
plugins.radionet: fix plugin so it works with new page format
(#3018)
resloved (1):
fixed typo
steven7851 (1):
plugins.app17: update API (#2969)
tnira (1):
Plugin.nicolive:resolve API format change (#3061)
unavailable (1):
plugins.twitch: fix call_subdomain (#2958)
wiresp33d (2):
plugins.bigo: use API for video URL (#3016)
plugins.nicolive: resolve new api format (#3039)
Change log:
mate-media 1.24.1
* Translations update
* build: silent build warnings for distcheck
* panel-applet: ensure speaker can be shown alongside or above mic
Changes between 3.0.15 and 3.0.16:
----------------------------------
Video Output:
* Fix a D3D11 crash on Windows 8/8.1
Access:
* Fix RTSP server timeout handling
Interfaces:
* macOS: Add touchbar support
Misc
* Multiple settings improvements
Changes between 3.0.14 and 3.0.15:
----------------------------------
Core:
* Add Opus & Alac wave format mappings
Access:
* Fix opening DVD folders with non-ascii characters
Demux:
* Fix asf regression with broadcast streams
* MP4: Fix audio drop on seek
Video Output:
* Fix seek & volume sliders overlapping with subtitles
* Fix delays when seeking with D3D11
Text renderer:
* Improve freetype fonts outlining
Misc:
* Fix GnuTLS support for Windows XP
Version 59.0.0 "Shining Star" 2021-07-10
New features and enhancements
* mkvmerge: WebVTT parser: the parser now follows the specs' rules for parsing
timestamps more closely by being more lenient: it allows arbitrary number of
spaces & tabs at the start of the line & around the arrow; it allows any
number of digits for the hours.
* MKVToolNix GUI: multiplexer: when adding a Blu-ray playlist without scanning
for other playlists the GUI will now look for disc library information & let
the user select which one to use if there's more than one entry.
* MKVToolNix GUI: multiplexer: added an option for sorting files & tracks by
track types when adding them to multiplex settings. The order is: video
first followed by audio, subtitles and other types. Files & tracks can still
be reordered manually later. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files" section.
* MKVToolNix GUI: multiplexer: added an option for recognizing file name
sequences such as `movie.001.mp4`, `movie.002.mp4`, `movie.003.mp4` when
adding multiple files at once. If a sequence is detected, the only first
file will be added while the second and following file names will be
appended to the first one. The option is enabled by default & can be found
in the preferences → "Multiplexer" page → "Adding files" section.
* MKVToolNix GUI: multiplexer: added small colored boxes for each file & track
in order to indicate from which file each track is read. The colors used can
be configured in the preferences → "Multiplexer" page → "File & track
colors" section.
Bug fixes
* build system: fixed compilation with fmt v8.
* mkvmerge: SRT subtitle reader: characters that aren't valid according to the
assumed encoding of the file will now be replaced by the Unicode
"Replacement Character" U+FFFD instead of keeping the invalid characters,
potentially violating the Matroska specs.
* mkvmerge: WebVTT parser: the parser now accepts timestamps with hours
larger than 99.
* mkvextract: TTA extraction, only on Windows: fixed removing the temporary
file created during extraction.
* mkvmerge, mkvpropedit, MKVToolNix GUI's multiplexer & header editor: MIME
type detection is now done using Qt instead of the `magic` library. The main
impact is the MIME types of TrueType & OpenType fonts are now detected
correctly.
* mkvmerge, mkvinfo, MKVToolNix GUI's info tool: only on Windows: displaying
dates before 1970-01-01 00:00:00 UTC or after 2038-01-19 03:14:08 UTC was
broken. Note that the header editor was not affected.
* MKVToolNix GUI: only on 64-bit Windows: under certain conditions, the 64-bit
Windows binaries crashed when opening dialog windows. Even though the
underlying bug hasn't been identified, the investigation showed that
building it with newer versions than 10.2.0 of the mingw/gcc cross-compiler
enabled the crashes, while binaries built with 10.2.0 were fine. This
affected v57 and v58 which were built with gcc versions 10.3.0 and 11.1.0
respectively. For the time being I've switched back to building Windows
binaries with gcc 10.2.0.
* MKVToolNix GUI: multiplexer: when adding files to the multiplexer by running
the GUI's executable with file names as command line arguments, the source
directory will be remembered as the "last open directory" again, causing
subsequent uses of the "open file" dialog to start in the same directory.
* MKVToolNix GUI: multiplexer: the "default track flag" column in the track
list was missing its icons. Additionally it contained text even for things
that aren't regular tracks and therefore do not actually have that flag
(e.g. chapters or tags).
* MKVToolNix GUI: multiplexer: the default for the dialog asking the user what
to do with dragged & dropped files if they've never seen the dialog is back
to adding the files to the current multiplex settings instead of "add as
additional parts" which was an unintentional default.
* MKVToolNix GUI: multiplexer: the "show command line" dialog will now always
use backward slashes for the "Windows (cmd.exe)" mode and forward slashes
for the "Linux/Unix shells" mode, regardless of the operating system it's
currently running on.
Build system changes
* The Qt library is now required for building all applications, even the
command-line ones, as they use Qt's MIME type detection capabilities. In
turn this means that you cannot disable the Qt usage anymore; either Qt5 or
Qt 6 is required.
You can still chose not to build MKVToolNix GUI, though. A new option has
been added to `configure` for this purpose: `--disable-gui`.
* The `gmp` library is now required.
* The `magic` library is not used anymore.
* The `PCRE2` & `JPCRE2` libraries are not used anymore. The bundled version
of `JPCRE2` was removed.
* Boost's "rational" library is not used anymore.
* `configure`: the option `--enable-appimage` has been removed. The location
of the relevant directories within an AppImage is now detected
automatically.
* The bundled `fmt` library was updated to v8.0.0.
10/09/2020: GPAC 1.0.1
This release fixes build and installation issues in 1.0.0, as well as
various bugs introduced during the migration to the filters
architecture.
It also adds several small features:
- better ttml import
- better support for MPEGH audio
- support fur DASH UTCTiming
- manifest generation from pre-fragmented DASH/HLS mp4
- speed optimization in isobmf reading (normal and fragmented)
- improved JS API for the filter session
- core tools exposed as JS module (file io, bitstream, etc ...)
- android fixes
16/06/2020: GPAC 1.0
- Complete rewrite of GPAC streaming core:
* addition of a filter-based architecture, used by MP4Client
and MP4Box.
* moving all decoders and demuxer plugins of MP4Client and most of
MP4Box import/export code as filters for this new architecture,
* moving DASH/HLS segmenter to a filter
* moving MP4Client compositor and most of the GF_Terminal internals
to a filter
* addition of a new application gpac, whose only purpose is to
create and run filter chains
* removal of MP42TS and DashCast applications since these
functionalities are provided by gpac
* deprecation of some features (widget management, MSE draft
implementation for SVG media, UPnP, TEMI player support).
- Profile system allowing to override through a static file default
options of all filters and libgpac core
- Alias system for gpac app to simplify your command lines
- Enhanced DASHer:
* Support for HLS and dual HLS / DASH generation
* Support for any input
* True low-latency mode for DASH
* Support for multiple periods
* Support for other segment formats (raw, mkv, webm currently
tested)
- Input and outputs
* Generic pipe, TCP, UDP, and Unix Domain socket input and output
* RTSP server output
* HTTP output (client and server), supporting low latency DASH access
* Ad-hoc stream format called GSF to allow serialization to file,
pipe or socket of a session (for distributed filter chains),
supporting AES-128 CBC encryption.
- Raw audio (PCM) and video (RGB, YUV) reframers and exporters
- HEVC tile spliting and merging filters
- Compositor is a standalone filter (SVG/BIFS/VRML graphics in a
filter chain)
- Image encoding support through libjpg and libpng
- Full FFMPEG support:
* Encoding/decoding through FFMPEG libavcodec
* Multiplexing/demultiplexing through FFMPEG libavformat
* Device grabbers through FFMPEG libavdevice
* Raw audio and video filters through FFMPEG libavfilter
- Support for QuickJS (ES2002) and bindings for:
* Complete filter API
* GPAC software rasterizer (EVG)
* WebGL 1.0 Core
* XmlHttpRequest and uDOM APIs
* Storage
- Inspect and analyze filter
- MPEG-2 TS splitter
- Video cropper filter with zero-copy mode
- Video flip filter
- Source concatenator filter
- Simple audio and video output filters
- Experimental audio and video rewinder filter
- Encryption
* On-the-fly encryption and decryption, now available as filters
* Segment-based encryption and decryption
- ISOBMFF
* box customization
* Better QT support, prores parsing and dumping
* Support for raw media (QT style or ISOBMFF for audio)
* Simplify HEIF batch conversion through item to track mapping
* Reading from pipes (fragmented or progressive files)
* Writing to packets rather than files
* Fast interleaved file creation mode with less storage requirements
- FileIO wrapper for cases where files are not stored in a file system
known by GPAC
- Testing and Documentation
* Live doc generation (man and wiki)
* Improved coverage
* Split test suite as dedicated repo
* Moved all resource to https://wiki.gpac.io
* Started howto pages on wiki
* Many bug fixes
Version 58.0.0 "Supper's Ready" 2021-06-13
New features and enhancements
* mkvmerge, MKVToolNix GUI's multiplexer: the handling of the "default track"
flag has been changed to match the recent changes to the Matroska
specifications. The new semantics are that if it is set, it is supposed to
signal to the player that this track is eligible for being played by
default, potentially taking other factors such as user preferences regarding
languages into account.
This implies that more than one track of each type can have this flag
set. For example, a Blu-ray disc with three audio tracks might have
the main audio in both English and Japanese, whereas the third audio
track contains the director's comments. In such a case the first two
tracks should have the "default track" flag set, the third one
shouldn't.
Earlier `mkvmerge` was enforcing that only one track of each type could have
the flag set. This restriction has been removed, both in `mkvmerge` and in
the GUI's multiplexer.
`mkvpropedit` and the GUI's header editor are unaffected as they've always
allowed to set the flag on as many tracks as the user wanted.
* mkvmerge: AVC/H.264 & HEVC/H.265 identification: added the stream's pixel
dimensions (AVC only; were present for HEVC already) & default
duration.
* mkvmerge, mkvextract: HEVC/H.265: added support for reading single-layer
Dolby Vision from Annex B type bitstreams (elementary streams, MPEG
transport streams). Patch by quietvoid.
* mkvinfo: the option `-X`/`--full-hexdump` now affects all binary elements,
not just the frame data in `SimpleBlock` and `BlockGroup` elements.
* MKVToolNix GUI: multiplexer: the "delay" and "sync" options can now be used
for chapters in source files, too.
* MKVToolNix GUI: when moving list entries up & down with the optional buttons
or the keyboard shortcuts (instead of using drag & drop), the GUI ensures
that the top-most selected entry remains visible after the move.
* MKVToolNix GUI: added an option in the preference to use legacy MIME types
for font attachments instead of the current standard ones
(e.g. 'application/x-truetype-font' instead of 'font/sfnt' and 'font/ttf').
Bug fixes
* build system: fixed filtering out optimization options when compiling the
file `iso639_language_list.cpp` (before only numeric optimization levels
were filtered out and only if it wasn't the last option in the list of
flags).
* build system: when libmagic was detected via `pkg-config`, MKVToolNix was
actually compiled without support for libmagic due to a preprocessor symbol
not being defined.
* mkvmerge: MP4 reader: fixed an issue with timestamps overflowing when the
file's or the track's time scale is large.
* mkvmerge, mkvextract: fixed key frame handling for `BlockGroup` elements
with a forward reference but no backward references. Patches by Tom Yan.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: the programs will no
longer omit writing mandatory elements set to their default value if other
elements of the same type are present in the same master. This affects
mostly the "chapter language" element which may occur multiple times within
the same "chapter display" master. If it does occur multiple times and one
of them is set to "English" (which is that element's default value), that
element will now be written, too.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: when parsing chapter
files IETF & legacy language elements as well as legacy country elements
will now be properly generated depending on which exist already, especially
when there's more than one language and/or country element in a "chapter
display" element.
* mkvmerge, mkvpropedit, MKVToolNix GUI's chapter editor: fixed reading
OGM-style chapter files with timestamps that don't have exactly three
decimal places. Any number of decimal places between one and nine is now
supported for nanosecond precision.
* MKVToolNix GUI: chapter editor: added/fixed support for "chapter display"
elements with multiple languages or countries.
Build system changes
* Qt 6: added support for building with Qt 6. `configure` will look for Qt 6
first and only continue looking for Qt 5 if Qt 6 isn't found or disabled via
`--disable-qt6`.
Qt 6 detection works by first looking for the `qmake6` binary. Its location
can be specified with the `--with-qmake6=…` option.
All other Qt 6 related facts (such as compiler & linker flags or the
position of the other required tools such as `lconvert`, `moc`, `rcc` and
`uic`) will be derived from the output generated by `qmake6`.
Note that at this point Qt 6 is not yet supported for the cross-compilation
build to Windows, nor is a static Qt 6 build supported yet.
Note that the command line options `--enable-static-qt`,
`--with-qt-pkg-config-modules` and `--without-qt-pkg-config` only apply to
the Qt 5 and have no effect on Qt 6.
* Qt 5: the options for specifying the position of the tools (`--with-moc=…`,
`--with-rcc=…` and `--with-uic=…`) have been removed. Their position will
now be derived from the output generated by `qmake`.
* `configure`: completely disabling the GUI now requires passing both
`--disable-qt6` and `--disable-qt` options.
* Boost's multi-precision library is now required.
* Boost v1.66 or newer is now required.
Other changes
* The Windows build is now using an updated version of the
`file`/`magic` library for MIME type detection of attachments. This
affects fonts whose MIME types will now be the current standard MIME
types (e.g. `font/sfnt` or `font/ttf` for TrueType fonts). As this
might pose problematic with older players that only support the
legacy MIME type (e.g. `application/x-truetype-font`), a new option
was added in the GUI's preferences to use the legacy MIME types
instead of the current standard ones. This is off by default.
Builds for other operating systems have already been using newer
versions of the `file`/`magic` library for a long time.
Version 1.3.5 (2020 June 3)
* Fix unsigned typedef problem on macOS.
* Fix overflow check in ogg_sync_buffer.
* Clean up cmake and autotools build files.
* Remove Symbian and Apple XCode build files.
* Fix documentation cross-reference links.
Version 57.0.0 "Till The End" 2021-05-22
New features and enhancements
* mkvmerge: MP4 reader: added support for reading Dolby Vision from MP4 files
(FourCCs `dvh1` and `dvhe`; configuration records `dvcC`, `dvvC` and `hvcE`
will be converted into block addition mappings).
* mkvmerge: SRT subtitles: mkvmerge now accepts empty text files with the
extension `.srt` as SRT subtitle files, enabling the creation of empty SRT
tracks.
* mkvmerge, mkvextract: HEVC/H.265: access unit delimiter NALUs will no longer
be discarded, neither during muxing nor during extraction.
* MKVToolNix GUI: preferences: switched the order & wording of controls in the
"enabling items" panel to make it clearer that certain controls define
exceptions.
Bug fixes
* mkvmerge: HEVC/H.265 parser: several NALU types, notably the Dolby
Vision-specific NALUs ("unspecified 62" and "unspecified 63") and suffix SEI
NALUs, are now stored with the frame they belong to instead of with the next
frame.
* mkvmerge: HEVC/H.265 packetizer: fixed setting the track's default duration
when reading HEVC/H.265 from Matroska files that don't have a default
duration set.
* mkvmerge: HEVC/H.265 packetizer: fixed the calculation of the duration of
frames so that `SimpleBlock` elements can be used again instead of
`BlockGroups` with `BlockDuration` elements.
* mkvmerge, mkvextract: HEVC/H.265 parser: fixed issues with ordering &
duplication of certain NALUs (parameter set & prefix SEI NALUs).
* MKVToolNix GUI: multiplexer: when dragging & dropping files to the
multiplexer, the source directory will be remembered as the "last open
directory" again, causing subsequent uses of the "open file" dialog to start
in the same directory.
* mkvinfo: fixed the position of frames in block groups containing "block
duration" elements in summary mode (e.g. for subtitle tracks).
Build system changes
* `configure` will now try to detect `libmagic` via `pkg-config` and fall back
to including & linking directly if it cannot be found via `pkg-config`.
0.9.0 is a major version of dav1d, adding notably 10b acceleration on x64.
Details:
- x86 (64bit) AVX2 implementation of most 10b/12b functions, which should provide
a large boost for high-bitdepth decoding on modern x86 computers and servers.
- ARM64 neon implementation of FilmGrain (4:2:0/4:2:2/4:4:4 8bit)
- New API to signal events happening during the decoding process
Changelog:
Changes between 3.0.13 and 3.0.14:
----------------------------------
* Fix auto update for Windows
Changes between 3.0.12.1 and 3.0.13:
----------------------------------
Demux:
* Adaptive: fix artefacts in HLS streams with wrong profiles/levels
* Fix regression on some MP4 files for the audio track
* Fix MPGA and ADTS probing in TS files
* Fix Flac inside AVI files
* Fix VP9/Webm artefacts when seeking
Codec:
* Support SSA text scaling
* Fix rotation on Android rotation
* Fix WebVTT subtitles that start at 00:00
Access:
* Update libnfs to support NFSv4
* Improve SMB2 integration
* Fix Blu-ray files using Unicode names on Windows
* Disable mcast lookups on Android for RTSP playback
Video Output:
* Rework the D3D11 rendering wait, to fix choppiness on display
Interfaces:
* Fix VLC getting stuck on close on X11 (#21875)
* Improve RTL on preferences on macOS
* Add mousewheel horizontal axis control
* Fix crash on exit on macOS
* Fix sizing of the fullscreen controls on macOS
Windows:
* Fix subtitles/OSD under Windows XP
Misc:
* Update translations
* Improve MIDI fonts search on Linux
* Update Soundcloud, Youtube, liveleak
* Fix compilation with GCC11
* Fix input-slave option for subtitles
Changes between 3.0.12 and 3.0.12.1:
----------------------------------
macOS:
* 3.0.12.1 is the first release for Apple Silicon macs
* Version bump to allow an automatic upgrade path
Release 0.15.1
This is purely a bug fix and polish release, with no significant API or ABI changes.
The only API change is that ass_add_font is now declared to accept const char *. Previously it took only char *, but const has worked in practice since the very first standalone libass release.
Fix currently known 0.15.0 regressions:
Fix crashing on some ASS files with embedded fonts
Fix total font fallback failure with some fonts on Core Text
Fix embedded and memory fonts not actually being used unless ass_set_fonts was called after they have been added
Fix events assuming the largest xbord-value of a preceding event of the same frame during collision handling
Fix \fscx0 and \fscy0 making more text disappear than they should
Fix shift in vertical positioning of some right-to-left events with \an4-6, \pos, \move or Scroll effects
Fix imprecise output for \be with huge argument
Fix the --enable-large-tiles configure switch doing nothing
Fix output of ASM-enabled builds deviating from non-ASM builds
Fix ASM-builds on Haiku and 32-bit *BSDs
Overhaul x86 assembly for better performance and to allow ASM-enabled PIC-builds on 32-bit
Reduce temporary allocation in rendering
DirectWrite: request fonts on demand for better performance and improved compatibility with external on-demand font activation
Log libass version numbers upon renderer startup
Accept pointers to const as arguments to ass_add_font
Improve VSFilter compatibility:
Disregard zero area events in collision handling
Do not apply \fsp to vector drawings
Fix bug preventing cutting out glyphs from border & shadow with abnormal \fad values (or causing aliasing artifacts in some cases with normal values)
Now it should be more obvious when a package needs it as a dependency,
as it will fail loudly if it isn't declared as a tool.
While here, some duplicate dependencies on itstool were removed from the
MATE packages