Help us keep the list up to date and submit new video software here.




Try DVDFab and copy all Ultra HD Blu-rays and DVDs / remove Cinavia protection! Download free trial.

Software Home »


Complete Version history / Release notes / Changelog / What's New for yt-dlp


yt-dlp 2024.09.27

Changelog
Core changes
Allow none arg to negate --convert-subs and --convert-thumbnails (#11066) by kieraneglin
Fix format sorting bug with vp9.2 vcodec (#10884) by rakslice
Raise minimum recommended Python version to 3.9 (#11098) by bashonly
cookies: Improve error message for Windows --cookies-from-browser chrome issue (#11090) by seproDev
utils: mimetype2ext: Recognize aacp as aac (#10860) by bashonly
Extractor changes
Fix JW Player format parsing (#10956) by seproDev
Handle decode errors when reading responses (#10868) by bashonly
abc.net.au: iview, showseries: Fix extraction (#11101) by bashonly
adn: Fix extractors (#10749) by infanf
asobistage: Support redirected URLs (#10768) by pzhlkj6612
bandcamp: user: Fix extraction (#10328) by bashonly, quad
beacon: Add extractor (#9901) by Deukhoofd
bilibili
Fix chapters and subtitles extraction (#11099) by bashonly
Fix festival URL support (#10740) by bashonly, grqz
biliintl: Fix referer header (#11003) by Khaoklong51
dropbox: Fix password-protected video support (#10735) by ndyanx
ertgr: Fix video extraction (#11091) by seproDev
eurosport: Support local URL variants (#10785) by seproDev
facebook
ads: Fix extractor (#10704) by kclauhk
reel: Improve metadata extraction by lengzuo
germanupa: Add extractor (#10538) by grqz
hgtvde: Fix extractor (#10992) by bashonly, rdamas
huya: video: Add extractor (#10686) by hugepower
iprima: Fix zoom URL support (#10959) by otovalek
khanacademy: Fix extractor (#10913) by seproDev
kick
clips: Support new URL format (#11107) by bashonly
vod: Support new URL format (#10988) by bashonly, grqz
kika: Add extractor (#5788) by 1100101
lnkgo: Remove extractor (#10904) by naglis
loom: Fix m3u8 formats extraction (#10760) by kclauhk
mediaklikk: Fix extractor (#11083) by szantnerb
mojevideo: Add extractor (#11019) by 04-pasha-04, pzhlkj6612
niconico: Fix m3u8 formats extraction (#11103) by bashonly
nzz: Fix extractor (#10461) by 1-Byte
patreoncampaign: Support API URLs (#10734) by bashonly, hibes
pinterest: Extend _VALID_URL (#10867) by bashonly, sahilsinghss73
radiko: Extract unique id values (#10726) by garret1317
rtp: Support more subpages (#10787) by Demon000
rumblechannel: Fix extractor (#11049) by tony-hn
rutube: Support livestreams (#10844) by pzhlkj6612
samplefocus: Fix extractor (#10947) by seproDev
screenrec: Add extractor (#10917) by naglis
sen: Add extractor (#10952) by seproDev
servus: Fix extractor (#10944) by seproDev
snapchatspotlight: Add extractor (#11030) by seproDev
svtpage: Fix extractor (#11010) by diman8
tenplay: Fix extractor (#10928) by aarubui
tiktok: Fix web formats extraction (#11074) by bashonly
twitter: spaces: Support video spaces (#10789) by bashonly
vidflex: Add extractor (#10002) by pzhlkj6612
vimeo
Always try to extract original format (#10721) by bashonly (With fixes in e8e6a98 by seproDev)
Fix HLS audio format sorting (#11082) by fireattack
watchespn: Improve auth support (#10910) by ischmidt20
wistia: Support password-protected videos (#11100) by bashonly
ximalaya: Add VIP support (#10832) by seproDev, xingchensong
xinpianchang: Fix extractor (#10950) by seproDev
yleareena: Support podcasts (#11104) by bashonly
youtube
Add po_token, visitor_data, data_sync_id extractor args (#10648) by bashonly, coletdjnz, seproDev (With fixes in fa2be9a by bashonly)
Support excluding player_clients in extractor-arg (#10710) by bashonly
clip: Prioritize https formats (#11102) by bashonly
tab: Fix shorts tab extraction (#10938) by seproDev
Networking changes
Fix handler not being added to RequestError (#10955) by coletdjnz
Pin curl-cffi version to < 0.7.2 (#11092) by bashonly
Request Handler: websockets: Upgrade websockets to 13.0 (#10815) by coletdjnz
Misc. changes
build
Bump PyInstaller version pin to >=6.10.0 (#10709) by bashonly
Pin delocate version for macos (#10901) by bashonly
ci
Add comment sanitization workflow (#10915) by bashonly, Grub4K
Add issue tracker anti-spam protection (#10861) by bashonly
cleanup: Miscellaneous: c6387ab by bashonly, Codenade, coletdjnz, grqz, Grub4K, pzhlkj6612, seproDev


yt-dlp 2024.08.06

Changelog
Core changes
jsinterp: Improve slice implementation (#10664) by seproDev
Extractor changes
discoveryplusitaly: Support sport and olympics URLs (#10655) by bashonly
gem.cbc.ca: live: Fix extractor (#10565) by bashonly, scribblemaniac
niconico: Fix extractor (#10677) by bashonly
olympics: Fix extraction (#10625) by bashonly
youku: Fix extractor (#10626) by hugepower
youtube
Change default player clients to ios,web_creator (#10674) by bashonly
Fix n function name extraction for player b12cc44b (#10668) by seproDev


yt-dlp 2024.08.01

Changelog
Core changes
utils: unified_timestamp: Recognize Sunday (#10589) by bashonly
Extractor changes
abematv: Fix availability extraction (#10569) by middlingphys
cbc.ca: player: Fix extractor (#10302) by bashonly, trainman261
discoveryplus: Support olympics URLs (#10566) by bashonly
kick: clips: Add extractor (#10572) by luvyana
learningonscreen: Add extractor (#10590) by bashonly, Grub4K
mediaklikk: Fix extractor (#10605) by szantnerb
mlbtv: Fix makeup game extraction (#10607) by bashonly
olympics: Fix extractor (#10604) by bashonly
tva: Fix extractor (#10567) by bashonly
tver: Support olympic URLs (#10600) by vvto33
vimeo: review: Fix password-protected video extraction (#10598) by bashonly
youtube
Change default player clients to ios,tv (#10457) by seproDev
Fix n function name extraction for player 20dfca59 (#10611) by bashonly
Fix age-verification workaround (#10610) by bashonly, Grub4K
Player client maintenance (#10573) by bashonly
Misc. changes
cleanup: Miscellaneous: ffd7781 by bashonly


yt-dlp 2024.07.25

Changelog
Extractor changes
abematv: Adapt key retrieval to request handler framework (#10491) by bashonly
facebook: Fix extraction (#10531) by bashonly
mlbtv: Fix extractor (#10515) by bashonly
tiktok: Fix and deprioritize JSON subtitles (#10516) by bashonly
vimeo: Fix chapters extraction (#10544) by bashonly
youtube: Fix n function name extraction for player 3400486c (#10542) by bashonly
Misc. changes
build: Pin setuptools version (#10493) by bashonly


yt-dlp 2024.07.16

Changelog
Core changes
Fix noprogress if test=True with --quiet and --verbose (#10454) by Grub4K
Support auto-tty and no_color-tty for --color (#10453) by Grub4K
update: Fix network error handling (#10486) by bashonly
utils: parse_codecs: Fix parsing of mixed case codec strings by bashonly
Extractor changes
adn: Adjust for .com domain change (#10399) by infanf
afreecatv: Fix login and use legacy_ssl (#10440) by bashonly
box: Support enterprise URLs (#10419) by seproDev
digitalconcerthall: Extract HEVC and FLAC formats (#10470) by bashonly
dplay: Fix extractors (#10471) by bashonly
epidemicsound: Support sound effects URLs (#10436) by iancmy
generic: Fix direct video link extensions (#10468) by bashonly
picarto: Fix extractors (#10414) by Frankgoji
soundcloud: permalink, user: Extract tracks only (#10463) by DunnesH
tiktok: live: Fix room ID extraction (#10408) by mokrueger
tv5monde: Support browser impersonation (#10417) by bashonly (With fixes in cc1a309)
youtube
Avoid poToken experiment player responses (#10456) by seproDev (With fixes in 16da8ef)
Invalidate nsig cache from < 2024.07.09 (#10401) by bashonly
Reduce android client priority (#10467) by seproDev
Networking changes
Add legacy_ssl request extension (#10448) by coletdjnz
Request Handler: curl_cffi: Support curl_cffi 0.7.X by coletdjnz
Misc. changes
build
Include curl_cffi in yt-dlp_linux by bashonly
Pin curl-cffi to 0.5.10 for Windows by bashonly
cleanup: Miscellaneous: 89a161e by bashonly


yt-dlp 2024.07.09

Changelog
Core changes
Do not alter default format selection when simulated (#9862) by seproDev
Extractor changes
youtube: Remove broken n function extraction fallback (#10396) by pukkandan, seproDev


yt-dlp 2024.07.07

Changelog
Core changes
Address gaps in allowed extensions (#10362) by bashonly
Fix --ignore-no-formats-error (#10345) by Grub4K
Extractor changes
abematv: Extract availability (#10348) by middlingphys
chzzk: Extract with API v3 (#10363) by hui1601
douyutv: Do not use dangerous javascript source/URL (#10347) by LeSuisse
jiosaavn: playlist: Support featured playlists (#10382) by harbhim
vidyard: Add extractor (#10155) by exterrestris
vimeo: Fix password-protected video extraction (#10341) by bashonly
vtv: Add extractors (#10173) by DinhHuy2010
yle_areena
Fix metadata extraction (#10380) by seproDev
Fix subtitle extraction (#10379) by Grub4K
Misc. changes
cleanup: Miscellaneous: b337d29 by bashonly


yt-dlp 2024.07.02

Changelog
Core changes
Fix --compat-opt allow-unsafe-ext (#10336) by bashonly, rdamas
Extractor changes
banbye: Fix extractor (#10332) by PatrykMis, seproDev
murrtube: Fix extractor (#9249) by DrakoCpp
zaiko: Support JWT video URLs (#10130) by pzhlkj6612
Postprocessor changes
embedthumbnail: Fix embedding with mutagen (#10337) by bashonly
Misc. changes
cleanup: Miscellaneous: 93d33cb by bashonly


yt-dlp 2024.07.01

Important changes
Security: [CVE-2024-38519] Properly sanitize file-extension to prevent file system modification and RCE
Unsafe extensions are now blocked from being downloaded
Changelog
Core changes
Add playlist_channel and playlist_channel_id fields (#10266) by bashonly
Disallow unsafe extensions (CVE-2024-38519) by Grub4K
cookies: Fix --cookies-from-browser DE detection on Linux (#10237) by peisenwang
Extractor changes
afreecatv
Support browser impersonation (#10174) by hui1601
catchstory: Add extractor (#10235) by hui1601
bilibili: Support legacy formats (#9117) by c-basalt, GD-Slime
bitchute: Fix extractors (#10301) by seproDev
brightcove: Upgrade requests to HTTPS (#10202) by bashonly
cloudflarestream: Fix _VALID_URL and embed extraction (#10215) by bashonly
cloudycdn: Fix formats extraction (#10271) by Caesim404
digitalconcerthall: Rework extractor (#10152) by seproDev, tippfehlr
facebook: reel: Fix extraction (#10232) by bashonly
francetv
Detect and raise errors for DRM (#10165) by bashonly
Fix extractor (#10177) by bashonly
generic: Add key_query extractor-arg by bashonly
graspop: Add extractor (#10268) by Niluge-KiWi
jiocinema: series: Fix extraction (#10139) by varunchopra
khanacademy: Fix extractors (#9136) by c-basalt
laracasts: Add extractors (#10055) by ASertacAkkaya, seproDev
matchtv: Fix extractor (#10190) by megumintyan
mediasite: Fix extraction (#10273) by bashonly
microsoftembed: Add extractors for dev materials (#9177) by c-basalt
mlbtv: Fix extraction (#10296) by bashonly
neteasemusic: Extract more formats from new API (#10258) by hafeoz
nhkradiru: Fix extractor (#10106) by garret1317
nuum: Fix formats extraction (#10316) by DmitryScaletta
orf
on
Add prefer_segments_playlist extractor-arg (#10314) by seproDev
Support segmented episodes (#10053) by seproDev
patreoncampaign: Fix campaign_id extraction (#10070) by bashonly
podbayfm: Fix extraction (#10195) by bashonly, seproDev
pokergo: Make metadata extraction non-fatal (#10319) by axpauls
qqmusic: Fix extractors (#9768) by c-basalt
rtvslo.si: show: Add extractor (#8418) by JSubelj, seproDev
soundcloud: Fix download format extraction (#10125) by bashonly
sproutvideo: Add extractors (#10098) by bashonly, TheZ3ro
tiktok
Detect and raise when login is required (#10124) by bashonly
Fix API extraction (#10216) by bashonly
tubitv
Fix extractor (#9975) by chilinux
series: Fix extractor (#10116) by bashonly
vimeo: Support browser impersonation (#10327) by bashonly
youtube
Extract all formats from multi-language m3u8s (#9875) by bashonly, clienthax
Skip formats if nsig decoding fails (#10223) by bashonly
Suppress "Unavailable videos are hidden" warning (#10159) by mgedmin
tab: Fix channel metadata extraction (#10071) by bashonly, shoxie007
Downloader changes
hls: Apply extra_param_to_key_url from info dict by bashonly
Postprocessor changes
embedthumbnail: Fix postprocessor (#10248) by Grub4K
Networking changes
Request Handler: requests: Bump minimum requests version to 2.32.2 (#10079) by bashonly
Misc. changes
build
Bump Pyinstaller to >=6.7.0 for all builds (#10069) by bashonly, seproDev
Cache dependencies for macos job (#10088) by bashonly
Use macos-12 image for yt-dlp_macos (#10063) by bashonly
cleanup
Add more ruff rules (#10149) by seproDev
Bump ruff to 0.5.x (#10282) by seproDev
Miscellaneous: 6aaf96a by bashonly, c-basalt, jucor, seproDev
test: download: Raise on network errors (#10283) by bashonly, seproDev


yt-dlp 2024.05.27

Changelog
Extractor changes
Fix parsing of base URL in SMIL manifest (#9225) by seproDev
peertube: Support livestreams (#10044) by bashonly, trueauracoral
piksel: Update domain (#9223) by seproDev
tiktok: user: Fix extraction loop (#10035) by bashonly
Misc. changes
cleanup: Miscellaneous: 5e3e19c by bashonly


yt-dlp 2024.05.26

Changelog
Core changes
Better warning when requested subs format not found (#9873) by DaPotato69
Merged with youtube-dl a08f2b7 by bashonly, Grub4K
Warn if lack of ffmpeg alters format selection (#9805) by pukkandan, seproDev
cookies
Add --cookies-from-browser support for Whale (#9649) by roeniss
Get chrome session cookies with --cookies-from-browser (#9747) by StefanLobbenmeier
windows: Improve shell quoting and tests (#9802) by Grub4K (With fixes in 7e26bd5)
Extractor changes
Add POST data hash to --write-pages filenames (#9879) by minamotorin (With fixes in c999bac by bashonly)
Make _search_nextjs_data non fatal (#8937) by Grub4K
afreecatv: live: Add cdn extractor-arg (#9666) by bashonly
alura: Fix extractor (#9658) by hugohaa
artetv: Label forced subtitles (#9945) by vtexier
bbc: Fix and extend extraction (#9705) by dirkf, kylegustavo, pukkandan
bilibili: Fix --geo-verification-proxy support (#9817) by fireattack
bilibilispacevideo
Better error message (#9839) by fireattack
Fix extraction (#9905) by c-basalt
boosty: Add cookies support (#9522) by RasmusAntons
brilliantpala: Fix login (#9788) by pzhlkj6612
canalalpha: Fix extractor (#9675) by kclauhk
cbc.ca: player: Improve _VALID_URL (#9866) by carusocr
cda: Fix age-gated web extraction (#9939) by dirkf, emqi, Podiumnoche, Szpachlarz
commonmistakes: Raise error on blob URLs (#9897) by seproDev
crunchyroll
Always make metadata available (#9772) by bashonly
Fix auth and remove cookies support (#9749) by bashonly
Fix stream extraction (#10005) by bashonly
Support browser impersonation (#9857) by bashonly
dangalplay: Add extractors (#10021) by bashonly
discoveryplus: Fix dmax.de and related extractors (#10020) by bashonly
eplus: Handle URLs without videos (#9855) by pzhlkj6612
europarlwebstream: Support new URL format (#9647) by seproDev, voidful
facebook: Fix DASH formats extraction (#9734) by bashonly
godresource: Add extractor (#9629) by HobbyistDev
googledrive: Fix formats extraction (#9908) by WyohKnott
hearthisat: Improve _VALID_URL (#9949) by bohwaz, seproDev
hytale: Use CloudflareStreamIE explicitly (#9672) by llamasblade
instagram: Support /reels/ URLs (#9539) by amir16yp
jiocinema: Add extractors (#10026) by bashonly
jiosaavn: Extract via API and fix playlists (#9656) by bashonly
lci: Fix extractor (#10025) by ocococococ
mixch: Extract comments (#9860) by pzhlkj6612
moviepilot: Fix extractor (#9366) by panatexxa
netease: program: Improve --no-playlist message (#9488) by pzhlkj6612
nfb: Fix extractors (#9650) by rrgomes
ntslive: Add extractor (#9641) by lostfictions
orf: on: Improve extraction (#9677) by TuxCoder
orftvthek: Remove extractor (#10011) by seproDev
patreon
Extract multiple embeds (#9850) by bashonly
Fix Vimeo embed extraction (#9712) by bashonly
piapro: Fix extractor (#9311) by FinnRG, seproDev
pornhub: Fix login by email address (#9914) by feederbox826
qub: Fix extractor (#7019) by alexhuot1, dirkf
reddit: Fix subtitles extraction (#10006) by kclauhk
soundcloud
Add formats extractor-arg (#10004) by bashonly, Grub4K
Extract genres (#9821) by bashonly
taptap: Add extractors (#9776) by c-basalt
tele5: Overhaul extractor (#10024) by bashonly
theatercomplextown: Fix extractors (#9754) by bashonly
tiktok
Add device_id extractor-arg (#9951) by bashonly
Extract all web formats (#9960) by bashonly
Extract via mobile API only if extractor-arg is passed (#9938) by bashonly
Fix subtitles extraction (#9961) by bashonly
collection: Add extractor (#9986) by bashonly, imanoreotwe
user: Fix extractor (#9661) by bashonly
tv5monde: Fix extractor (#9143) by alard, seproDev
twitter
Fix auth for x.com migration (#9952) by bashonly
Support x.com URLs (#9926) by bashonly
vk: Improve format extraction (#9885) by seproDev
wrestleuniverse: Avoid partial stream formats (#9800) by bashonly
xiaohongshu: Add extractor (#9646) by HobbyistDev
xvideos: quickies: Fix extractor (#9834) by JakeFinley96
youporn: Fix extractor (#8827) by The-MAGI
youtube
Add mediaconnect client (#9546) by clienthax
Extract upload timestamp if available (#9856) by coletdjnz
Fix comments extraction (#9775) by bbilly1, jakeogh, minamotorin, shoxie007
Remove android from default clients (#9553) by bashonly, coletdjnz
zenyandex: Fix extractor (#9813) by src-tinkerer
Networking changes
Add extensions attribute to Response (#9756) by bashonly
Request Handler
requests
Patch support for requests 2.32.2+ (#9992) by Grub4K
Update to requests 2.32.0 (#9980) by coletdjnz
Misc. changes
Add hatch, ruff, pre-commit and improve dev docs (#7409) by bashonly, Grub4K, seproDev
build
Migrate linux_exe to static musl builds (#9811) by bashonly, Grub4K
Normalize curl_cffi group to curl-cffi (#9698) by bashonly (With fixes in 89f535e)
Run macos_legacy job on macos-12 (#9804) by bashonly
macos job requires setuptools<70 (#9993) by bashonly
cleanup
Remove questionable extractors (#9911) by seproDev
Miscellaneous: 5c019f6, ae2af11 by bashonly, Grub4K, seproDev
test
Add HTTP proxy tests (#9578) by coletdjnz
Fix connect timeout test (#9906) by coletdjnz


yt-dlp 2024.04.09

Changelog
Core changes
Add new option --progress-delta (#9082) by Grub4K
Add new options --impersonate and --list-impersonate-targets by bashonly, coletdjnz, Grub4K, pukkandan
Add option --no-break-on-existing (#9610) by bashonly
Fix filesize_approx calculation (#9560) by pukkandan, seproDev
Infer acodec for single-codec containers by pukkandan
Prevent RCE when using --exec with %q (CVE-2024-22423) by Grub4K
cookies: Add --cookies-from-browser support for Firefox Flatpak (#9619) by un-def
utils
traverse_obj
Allow unbranching using all and any (#9571) by Grub4K
Convenience improvements (#9577) by Grub4K
Extractor changes
Add extractor impersonate API (#9474) by bashonly, Grub4K, pukkandan
afreecatv
Overhaul extractor (#9566) by bashonly, Tomoka1
live: Fix extractor (#9348) by hui1601
asobistage: Add extractor (#8735) by pzhlkj6612
box: Support URLs without file IDs (#9504) by shreyasminocha
cbc.ca: player: Support new URL format (#9561) by trainman261
crunchyroll
Extract vo_adaptive_hls formats by default (#9447) by bashonly
Fix extractor (#9615) by bytedream
dropbox: Fix formats extraction (#9627) by bashonly
fathom: Add extractor (#9495) by src-tinkerer
gofile: Fix extractor (#9446) by jazz1611
imgur: Fix extraction (#9471) by trwstin
jiosaavn
Extract artists (#9612) by bashonly
Fix format extensions (#9609) by bashonly
Support playlists (#9622) by bashonly
joqrag: Fix live status detection (#9624) by pzhlkj6612
kick: Support browser impersonation (#9611) by bashonly
loom: Add extractors (#8686) by bashonly, hruzgar
medici: Fix extractor (#9518) by Offert4324
mixch
Fix extractor (#9608) by bashonly, nipotan
archive: Fix extractor (#8761) by pzhlkj6612
nhk: Fix NHK World extractors (#9623) by bashonly
patreon: Do not extract dead embed URLs (#9613) by johnvictorfs
radio1be: Add extractor (#9122) by HobbyistDev
sharepoint: Add extractor (#6531) by bashonly, C0D3D3V
sonylivseries: Fix season extraction (#9423) by bashonly
soundcloud
Adjust format sorting (#9584) by bashonly
Support cookies (#9586) by bashonly
Support retries for API rate-limit (#9585) by bashonly
thisoldhouse: Support Brightcove embeds (#9576) by bashonly
tiktok
Fix API extraction (#9548) by bashonly, Grub4K
Prefer non-bytevc2 formats (#9575) by bashonly
Restore carrier_region API parameter (#9637) by bashonly
Update API hostname (#9444) by bashonly
twitch: Extract AV1 and HEVC formats (#9158) by kasper93
vkplay: Fix _VALID_URL (#9636) by bashonly
xvideos: Support new URL format (#9502) by sta1us
youtube
Calculate more accurate filesize by pukkandan
Update android params by pukkandan
search: Fix params for uncensored results (#9456) by alb, pukkandan
Downloader changes
ffmpeg: Accept output args from info dict (#9278) by bashonly
Networking changes
Respect SSLKEYLOGFILE environment variable (#9543) by luiso1979
Request Handler
curlcffi: Add support for curl_cffi by bashonly, coletdjnz, Grub4K, pukkandan
websockets: Workaround race condition causing issues on PyPy (#9514) by coletdjnz
Misc. changes
build
Do not include curl_cffi in macos_legacy (#9653) by bashonly
Optional dependencies cleanup (#9550) by bashonly
Print SHA sums to GHA logs (#9582) by bashonly
Update changelog for tarball and sdist (#9425) by bashonly
cleanup
Standardize import datetime as dt (#8978) by pukkandan
ie: No from stdlib imports in extractors by pukkandan
Miscellaneous: 216f6a3 by bashonly, pukkandan
docs
Update yt-dlp tagline (#9481) by bashonly, coletdjnz, Grub4K, pukkandan, seproDev
Various manpage fixes by leoheitmannruiz
test
Workaround websocket server hanging (#9467) by coletdjnz
traversal: Separate traversal tests (#9574) by Grub4K


yt-dlp 2024.03.10

Changelog
Core changes
Add --compat-options 2023 (#9084) by Grub4K (With fixes in ffff1bc by pukkandan)
Create ydl._request_director when needed by pukkandan (With fixes in dbd8b1b by Grub4k)
Don't select storyboard formats as fallback by bashonly
Handle --load-info-json format selection errors (#9392) by bashonly
Warn user when not launching through shell on Windows (#9250) by Grub4K, seproDev
cookies
Fix --cookies-from-browser for snap Firefox (#9016) by Grub4K
Fix --cookies-from-browser with macOS Firefox profiles (#8909) by RalphORama
Improve error message for Windows --cookies-from-browser chrome issue (#9080) by Grub4K
plugins: Handle PermissionError (#9229) by pukkandan, syntaxsurge
utils
Improve repr of DateRange, match_filter_func by pukkandan
traverse_obj: Support xml.etree.ElementTree.Element (#8911) by Grub4K
webvtt: Don't parse single fragment files (#9034) by seproDev
Extractor changes
Migrate commonly plural fields to lists (#8917) by llistochek, pukkandan (With fixes in b136e2a by bashonly)
Support multi-period MPD streams (#6654) by alard, pukkandan
abematv
Fix extraction with cache (#8895) by sefidel
Support login for playlists (#8901) by sefidel
adn
Add support for German site (#8708) by infanf
Improve auth error handling (#9068) by infanf
aenetworks: Rating should be optional for AP extraction (#9005) by agibson-fl
altcensored: channel: Fix playlist extraction (#9297) by marcdumais
amadeustv: Add extractor (#8744) by ArnauvGilotra
ant1newsgrembed: Fix extractor (#9191) by seproDev
archiveorg: Fix format URL encoding (#9279) by bashonly
ard
mediathek
Revert to using old id (#8916) by Grub4K
Support cookies to verify age (#9037) by StefanLobbenmeier
art19: Add extractors (#9099) by seproDev
artetv: Separate closed captions (#8231) by Nicals, seproDev
asobichannel: Add extractors (#8700) by Snack-X
bigo: Fix JSON extraction (#8893) by DmitryScaletta
bilibili
Add referer header and fix metadata extraction (#8832) by SirElderling (With fixes in f1570ab by TobiX)
Support --no-playlist (#9139) by c-basalt
bilibilisearch: Set cookie to fix extraction (#9119) by c-basalt
biliintl: Fix and improve subtitles extraction (#7077) by dirkf, HobbyistDev, itachi-19, seproDev
boosty: Add extractor (#9144) by un-def
ccma: [Extract 1080p DASH formats](4253e3b7f483127bd812b...


yt-dlp 2023.12.30

Changelog
Core changes
Fix format selection parse error for CPython 3.12 (#8797) by Grub4K
Let read_stdin obey --quiet by pukkandan
Merged with youtube-dl be008e6 by bashonly, dirkf, Grub4K
Parse release_year from release_date (#8524) by seproDev
Release workflow and Updater cleanup (#8640) by bashonly
Remove Python 3.7 support (#8361) by bashonly
Support NO_COLOR environment variable (#8385) by Grub4K, prettykool
outtmpl: Support multiplication by pukkandan
utils: traverse_obj: Move is_user_input into output template (#8673) by Grub4K
webvtt: Allow spaces before newlines for CueBlock (#7681) by TSRBerry (With fixes in 298230e by pukkandan)
Extractor changes
Add media_type field by trainman261
Extract from media elements in SMIL manifests (#8504) by seproDev
abematv: Fix season metadata (#8607) by middlingphys
allstar: Add extractors (#8274) by S-Aarab
altcensored: Add extractor (#8291) by drzraf
ard: Overhaul extractors (#8878) by seproDev
ardbetamediathek: Fix series extraction (#8687) by lstrojny
bbc
Extract more formats (#8321) by barsnick, dirkf
Fix JSON parsing bug by bashonly
bfmtv: Fix extractors (#8651) by bashonly
bilibili: Support courses and interactive videos (#8343) by c-basalt
bitchute: Fix and improve metadata extraction (#8507) by SirElderling
box: Fix formats extraction (#8649) by bashonly
bundestag: Add extractor (#8783) by Grub4K
drtv: Set default ext for m3u8 formats (#8590) by seproDev
duoplay: Add extractor (#8542) by glensc
eplus: Add login support and DRM detection (#8661) by pzhlkj6612
facebook
Fix Memories extraction (#8681) by kclauhk
Improve subtitles extraction (#8296) by kclauhk
floatplane: Add extractors (#8639) by seproDev
francetv: Improve metadata extraction (#8409) by Fymyte
instagram: Fix stories extraction (#8843) by bashonly
joqrag: Add extractor (#8384) by pzhlkj6612
litv: Fix premium content extraction (#8842) by bashonly
maariv: Add extractor (#8331) by amir16yp
mediastream: Fix authenticated format extraction (#8657) by NickCis
nebula: Overhaul extractors ([#8566](https://github.com/yt-dlp/yt-dlp/issue...


yt-dlp 2023.11.16

Changelog
Extractor changes
abc.net.au: iview, showseries: Fix extraction (#8586) by bashonly
beatbump: Update _VALID_URL (#8576) by seproDev
dailymotion: Improve _VALID_URL (#7692) by TravisDupes
drtv: Fix extractor (#8484) by almx, seproDev
eltrecetv: Add extractor (#8216) by elivinsky
jiosaavn: Add extractors (#8307) by awalgarg
njpwworld: Remove (#8570) by aarubui
tv5mondeplus: Extract subtitles (#4209) by FrankZ85
twitcasting: Fix livestream detection (#8574) by JC-Chung
zenyandex: Fix extraction (#8454) by starius
Misc. changes
build: Make secretstorage an optional dependency (#8585) by bashonly


yt-dlp 2023.11.14

Important changes
The release channels have been adjusted!
master builds are made after each push, containing the latest fixes (but also possibly bugs). This was previously the nightly channel.
nightly builds are now made once a day, if there were any changes.
Security: [CVE-2023-46121] Patch Generic Extractor MITM Vulnerability via Arbitrary Proxy Injection
Disallow smuggling of arbitrary http_headers; extractors now only use specific headers

Changelog
Core changes
Add --compat-option manifest-filesize-approx (#8356) by bashonly
Fix format sorting with --load-info-json (#8521) by bashonly
Include build origin in verbose output by bashonly, Grub4K
Only ensure playlist thumbnail dir if writing thumbs (#8373) by bashonly
update: Overhaul self-updater by bashonly, Grub4K
Extractor changes
Do not smuggle http_headers by coletdjnz
Do not test truth value of xml.etree.ElementTree.Element (#8582) by bashonly
brilliantpala: Fix cookies support (#8352) by pzhlkj6612
generic: Improve direct video link ext detection (#8340) by bashonly
laxarxames: Add extractor (#8412) by aniolpages
n-tv.de: Fix extractor (#8414) by 1100101
neteasemusic: Improve metadata extraction (#8531) by LoserFox
nhk: Improve metadata extraction (#8388) by garret1317
novaembed: Improve _VALID_URL (#8368) by peci1
npo: Send POST request to streams API endpoint (#8413) by bartbroere
ondemandkorea: Overhaul extractor (#8386) by seproDev
orf: podcast: Add extractor (#8486) by Esokrates
polskieradio: audition: Fix playlist extraction (#8459) by shubhexists
qdance: Update _VALID_URL (#8426) by bashonly
radiocomercial: Add extractors (#8508) by SirElderling
sbs.co.kr: Add extractors (#8326) by seproDev
theatercomplextown: Add extractors (#8560) by bashonly
thisav: Remove (#8346) by bashonly
thisoldhouse: Add login support (#8561) by bashonly
twitcasting: Fix livestream extraction (#8427) by JC-Chung, saintliao
twitter
broadcast
Improve metadata extraction (#8383) by HitomaruKonpaku
Support --wait-for-video (#8475) by bashonly
weibo: Fix extraction (#8463) by c-basalt
weverse: Fix login error handling (#8458) by seproDev
youtube: Check newly uploaded iOS HLS formats (#8336) by bashonly
zoom: Extract combined view formats (#7847) by Mipsters
Downloader changes
aria2c: Remove duplicate --file-allocation=none (#8332) by CrendKing
dash: Force native downloader for --live-from-start (#8339) by bashonly
Networking changes
Request Handler: requests: Add handler for requests HTTP library (#3668) by bashonly, coletdjnz, Grub4K (With fixes in 4e38e2a)

Adds support for HTTPS proxies and persiste...


yt-dlp 2023.10.13

Changelog
Core changes
Ensure thumbnail output directory exists (#7985) by Riteo
utils
js_to_json: Fix Date constructor parsing (#8295) by awalgarg, Grub4K
write_xattr: Use os.setxattr if available (#8205) by bashonly, Grub4K
Extractor changes
artetv: Support age-restricted content (#8301) by StefanLobbenmeier
jtbc: Add extractors (#8314) by seproDev
mbn: Add extractor (#8312) by seproDev
nhk: Fix Japanese-language VOD extraction (#8309) by garret1317
radiko: Fix bug with downloader_options by bashonly
tenplay: Add support for seasons (#7939) by midnightveil
youku: Improve tudou.com support (#8160) by naginatana
youtube: Fix bug with --extractor-retries inf (#8328) by Grub4K
Downloader changes
fragment: Improve progress calculation (#8241) by Grub4K
Misc. changes
cleanup: Miscellaneous: b634ba7 by bashonly, gamer191


yt-dlp 2023.10.07

Changelog
Extractor changes
abc.net.au: iview: Improve episode extraction (#8201) by xofe
erocast: Add extractor (#8264) by madewokherd
gofile: Fix token cookie bug by bashonly
iq.com: Fix extraction and subtitles (#8260) by AS6939
lbry
Add playlist support (#8213) by bashonly, drzraf, Grub4K
Extract uploader_id (#8244) by drzraf
litv: Fix extractor (#7785) by jiru
neteasemusic: Fix extractors (#8181) by c-basalt
nhk: Fix VOD extraction (#8249) by garret1317
radiko: Improve extraction (#8221) by garret1317
substack
Fix download cookies bug (#8219) by handlerug
Fix embed extraction (#8218) by handlerug
theta: Remove extractors (#8251) by alerikaisattera
wrestleuniversevod: Call API with device ID (#8272) by bashonly
xhamster: user: Support creator urls (#8232) by Grub4K
youtube
Fix heatmap extraction (#8299) by bashonly
Raise a warning for Incomplete Data instead of an error (#8238) by coletdjnz
Misc. changes
cleanup
Update extractor tests (#7718) by trainman261
Miscellaneous: 377e85a by dirkf, gamer191, Grub4K


yt-dlp 2023.09.24

Changelog
Core changes
Fix HTTP headers and cookie handling by bashonly, pukkandan
Fix --check-formats by pukkandan
Fix support for upcoming Python 3.12 (#8130) by Grub4K
Merged with youtube-dl 66ab08 by coletdjnz
Prevent RCE when using --exec with %q (CVE-2023-40581) by Grub4K
Raise minimum recommended Python version to 3.8 (#8183) by Grub4K
FFmpegFixupM3u8PP may need to run with ffmpeg by pukkandan
compat
Add types.NoneType by pukkandan (With fixes in 25b6e8f)
Deprecate old functions (#2861) by coletdjnz, pukkandan
Ensure submodules are imported correctly by pukkandan
cookies: Containers JSON should be opened as utf-8 (#7800) by bashonly
dependencies: Handle deprecation of sqlite3.version (#8167) by bashonly
outtmpl: Fix replacement for playlist_index by pukkandan
utils
Add temporary shim for logging by pukkandan
Improve parse_duration by bashonly
HTTPHeaderDict: Handle byte values by pukkandan
clean_podcast_url: Handle more trackers (#7556) by bashonly, mabdelfattah
js_to_json: Handle Array objects by Grub4K, std-move
Extractor changes
Extract subtitles from SMIL manifests (#7667) by bashonly, pukkandan
Fix --load-pages by pukkandan
Make _search_nuxt_data more lenient by std-move
abematv
Fix proxy handling (#8046) by SevenLives
Temporary fix for protocol handler by pukkandan
amazonminitv: Fix extractors by bashonly, GautamMKGarg
antenna: Support antenna.gr (#7584) by stdedos
artetv: Fix HLS formats extraction by bashonly
axs: Add extractor (#8094) by barsnick
banbye: Support video ids containing a hyphen (#8059) by kshitiz305
bbc: Extract tracklist as chapters (#7788) by garret1317
bild.de: Extract HLS formats (#8032) by barsnick
bilibili
Add support for series, favorites and watch later (#7518) by c-basalt
Extract Dolby audio formats (#8142) by ClosedPort22
Extract format_id (#7555) by c-basalt
bilibilibangumi: Fix extractors (#7337) by GD-Slime
bpb: Overhaul extractor (#8119) by Grub4K
brilliantpala: Add extractors (#6680) by pzhlkj6612
canal1, caracoltvplay: Add extractors (#7151) by elyse0
cbc: Ignore any 426 from API (#7689) by makew0rld
cbcplayer: Extract HLS formats and subtitles (#7484) by trainman261
cbcplayerplaylist: [Add extractor](https://github.com/yt-dlp/yt-...


yt-dlp 2023.07.06

Changelog
Core changes
Allow extractors to mark formats as potentially DRM (#7396) by pukkandan
Bugfix for b4e0d75848e9447cee2cd3646ce54d4744a7ff56 by pukkandan
Change how Cookie headers are handled by Grub4K
Prevent Cookie leaks on HTTP redirect by coletdjnz
formats: Fix best fallback for storyboards by pukkandan
outtmpl: Pad playlist_index etc even when with internal formatting by pukkandan
utils: clean_podcast_url: Handle protocol in redirect URL by pukkandan
Extractor changes
abc: Fix extraction (#7434) by meliber
AdultSwim: Extract subtitles from m3u8 (#7421) by nnoboa
crunchyroll: music: Fix _VALID_URL (#7439) by AmanSal1, rdamas
Douyin: Fix extraction from webpage by bashonly
googledrive: Fix source format extraction (#7395) by RfadnjdExt
kick: Fix _VALID_URL by bashonly
qdance: Add extractor (#7420) by bashonly
sbs: Python 3.7 compat by pukkandan
stacommu: Add extractors (#7432) by urectanc
twitter
Fix unauthenticated extraction (#7476) by bashonly
spaces: Fix extraction (#7512) by bashonly
vidlii: Handle relative URLs by pukkandan
vk: VKPlay, VKPlayLive: Add extractors (#7358) by c-basalt
youtube
Add extractor-arg formats by pukkandan
Avoid false DRM detection (#7396) by pukkandan
Fix comments' is_favorited (#7390) by bbilly1
Ignore incomplete data for comment threads by default (#7475) by coletdjnz
Process post_live over 2 hours by pukkandan
stories: Remove (#7459) by pukkandan
tab: Support shorts-only playlists (#7425) by coletdjnz
Downloader changes
aria2c: Add --no-conf by pukkandan
external: Scope cookies by bashonly, coletdjnz
http: Avoid infinite loop when no data is received by pukkandan
Misc. changes
Add CodeQL workflow (#7497) by pukkandan
cleanup: Miscellaneous: 337734d by pukkandan
docs: Minor fixes by pukkandan
make_changelog: Skip reverted commits by pukkandan


yt-dlp 2023.06.22

Changelog
Core changes
Fix bug in db3ad8a67661d7b234a6954d9c6a4a9b1749f5eb by pukkandan
Improve --download-sections by pukkandan
Support negative time-ranges
Add *from-url to obey time-ranges in URL
Indicate filesize approximated from tbr better by pukkandan
Extractor changes
Support multiple _VALID_URLs (#5812) by nixxo
dplay: GlobalCyclingNetworkPlus: Add extractor (#7360) by bashonly
dropout: Fix season extraction (#7304) by OverlordQ
motherless: Add gallery support, fix groups (#7211) by rexlambert22, Ti4eeT4e
nebula: Fix extractor (#7156) by Lamieur, rohieb
rheinmaintv: Add extractor (#7311) by barthelmannk
youtube
Add ios to default clients used by pukkandan
IOS is affected neither by 403 nor by nsig so helps mitigate them preemptively
IOS also has higher bit-rate 'premium' formats though they are not labeled as such
Improve description parsing performance (#7315) by berkanteber, pukkandan
Improve nsig function name extraction by pukkandan
Workaround 403 for android formats by pukkandan
Misc. changes
Revert "Add automatic duplicate issue detection" by pukkandan
cleanup
Miscellaneous
7f9c6a6 by bashonly
812cdfa by pukkandan


yt-dlp 2023.06.21

Changelog
Core changes
Add --compat-option playlist-match-filter by pukkandan
Add --no-quiet by pukkandan
Add option --color (#6904) by Grub4K
Add option --netrc-cmd (#6682) by NDagestad, pukkandan
Add option --xff by pukkandan
Auto-select default format in -f- (#7101) by ivanskodje, pukkandan
Deprecate internal Youtubedl-no-compression header (#6876) by coletdjnz
Do not translate newlines in --print-to-file by pukkandan
Ensure pre-processor errors do not block --print by pukkandan (With fixes in 17ba434)
Fix filepath being copied to underlying format dict by pukkandan
Improve HTTP redirect handling (#7094) by coletdjnz
Populate filename and urls fields at all stages of --print by pukkandan (With fixes in b5f61b6)
Relaxed validation for numeric format filters by pukkandan
Support decoding multiple content encodings (#7142) by coletdjnz
Support loading info.json with a list at it's root by pukkandan
Workaround erroneous urllib Windows proxy parsing (#7092) by coletdjnz
cookies
Defer extraction of v11 key from keyring by Grub4K
Move YoutubeDLCookieJar to cookies module (#7091) by coletdjnz
Support custom Safari cookies path (#6783) by NextFire
Update for chromium changes (#6897) by mbway
Cryptodome: Fix __bool__ by pukkandan
jsinterp
Do not compile regex by pukkandan
Fix division (#7279) by bashonly
Fix global object extraction by pukkandan
Handle NaN in bitwise operators by pukkandan
Handle negative numbers better by pukkandan
outtmpl
Allow n in replacements and default. by pukkandan
Fix some minor bugs by pukkandan (With fixes in 1619ab3)
Support str.format syntax inside replacements by pukkandan
update
Better error handling by pukkandan
Do not restart into versions without --update-to by pukkandan
Implement --update-to repo by Grub4K, pukkandan
upstream
Merged with youtube-dl 07af47 by pukkandan
Merged with youtube-dl d1c6c5 by pukkandan (With fixes in edbe5b5 by bashonly)
utils
FormatSorter: Improve size and br by pukkandan, u-spec-png
js_to_json: Implement template strings (#6623) by Grub4K
locked_file: Fix for virtiofs (#6840) by brandon-dacrib
strftime_or_none: Handle negative timestamps by dirkf, pukkandan
traverse_obj
Allow iterables in traversal (#6902) by Grub4K
More fixes (#6959) by Grub4K
write_string: Fix noconsole behavior by Grub4K
Extractor changes
Do not exit early for unsuitable url_result by pukkandan
-...


yt-dlp 2023.03.04

Changelog
Extractor changes
bilibili: Fix for downloading wrong subtitles (#6358) by LXYan2333
ESPNcricinfo: Handle new URL pattern (#6321) by venkata-krishnas
lefigaro: Add extractors (#6309) by elyse0
lumni: Add extractor (#6302) by carusocr
Prankcast: Fix tags (#6316) by columndeeply
rutube: Extract chapters from description (#6345) by mushbite
SportDeutschland: Rewrite extractor by pukkandan
telecaribe: Add extractor (#6311) by elyse0
tubetugraz: Support --twofactor (#6427) by Ferdi265
tunein: Fix extractors (#6310) by elyse0
twitch: Update for GraphQL API changes (#6318) by elyse0
twitter: Fix retweet extraction (#6422) by selfisekai
xvideos: quickies: Add extractor (#6414) by Yakabuff
Misc. changes
build:
Fix publishing to PyPI and homebrew by bashonly
Only archive if vars.ARCHIVE_REPO is set by Grub4K
cleanup: Miscellaneous: 392389b by pukkandan
devscripts: make_changelog: Stop at Release ... commit by pukkandan


yt-dlp 2023.03.03

Changelog
Important changes
A new release type has been added!
nightly builds will be made after each push, containing the latest fixes (but also possibly bugs).
When using --update/-U, a release binary will only update to its current channel (either stable or nightly).
The --update-to option has been added allowing the user more control over program upgrades (or downgrades).
--update-to can change the release channel (stable, nightly) and also upgrade or downgrade to specific tags.
Usage: --update-to CHANNEL, --update-to TAG, --update-to CHANNEL@TAG
YouTube throttling fixes!
Core changes
Add option --break-match-filters by pukkandan
Fix --break-on-existing with --lazy-playlist by pukkandan
dependencies
Simplify Cryptodome by pukkandan
jsinterp
Handle Date at epoch 0 by pukkandan
plugins
Don't look in .egg directories by pukkandan
update
Add option --update-to, including to nightly (#6220) by bashonly, Grub4K, pukkandan
utils
LenientJSONDecoder: Parse unclosed objects by pukkandan
Popen: Shim undocumented text_mode property by Grub4K
Extractor changes
Fix DRM detection in m3u8 by pukkandan
generic
Detect manifest links via extension by bashonly
Handle basic-auth when checking redirects by pukkandan
GoogleDrive
Fix some audio by pukkandan
iprima
Fix extractor (#6291) by std-move
mediastream
Improve WinSports support (#6401) by bashonly
ntvru
Extract HLS and DASH formats (#6403) by bashonly
tencent
Add more formats and info (#5950) by Hill-98
yle_areena
Extract non-Kaltura videos (#6402) by bashonly
youtube
Construct dash formats with range query by pukkandan (With fixes in f34804b by bashonly, coletdjnz)
Detect and break on looping comments (#6301) by coletdjnz
Extract channel view_count when /about tab is passed by pukkandan
Misc. changes
build
Add cffi as a dependency for yt_dlp_linux by bashonly
Automated builds and nightly releases (#6220) by bashonly, Grub4K (With fixes in bfc861a by pukkandan)
Sign SHA files and release public key by Grub4K
cleanup
Fix Changelog by pukkandan
jsinterp: Give functions names to help debugging by pukkandan
Miscellaneous: 4815bbf, 5b28cef by pukkandan
devscripts
Script to generate changelog (#6220) by Grub4K (With fixes in 9344964)


yt-dlp 2023.02.17

Changelog
Merge youtube-dl: Upto commit/2dd6c6e
Fix --concat-playlist
Imply --no-progress when --print
Improve default subtitle language selection by sdht0
Make title completely non-fatal
Sanitize formats before sorting by pukkandan
Support module level __bool__ and property
[dependencies] Standardize Cryptodome imports
[hls] Allow extractors to provide AES key by Grub4K, bashonly
[ExtractAudio] Handle outtmpl without ext by carusocr
[extractor/common] Fix _search_nuxt_data by LowSuggestion912
[extractor/generic] Avoid catastrophic backtracking in KVS regex by bashonly
[jsinterp] Support if statements
[plugins] Fix zip search paths
[utils] traverse_obj: Various improvements by Grub4K
[utils] traverse_obj: Fix more bugs
[utils] traverse_obj: Fix several behavioral problems by Grub4K
[utils] Don't use Content-length with encoding by felixonmars
[utils] Fix time_seconds to use the provided TZ by Grub4K, Lesmiscore
[utils] Fix race condition in make_dir by aionescu
[utils] Use local kernel32 for file locking on Windows by Grub4K
[compat_utils] Improve passthrough_module
[compat_utils] Simplify EnhancedModule
[build] Update pyinstaller
[pyinst] Fix for pyinstaller 5.8
[devscripts] Provide pyinstaller hooks
[devscripts/pyinstaller] Analyze sub-modules of Cryptodome
[cleanup] Misc fixes and cleanup
[extractor/anchorfm] Add episode extractor by HobbyistDev, bashonly
[extractor/boxcast] Add extractor by HobbyistDev
[extractor/ebay] Add extractor by JChris246
[extractor/hypergryph] Add extractor by HobbyistDev, bashonly
[extractor/NZOnScreen] Add extractor by gregsadetsky, pukkandan
[extractor/rozhlas] Add extractor RozhlasVltavaIE by amra
[extractor/tempo] Add IVXPlayer extractor by HobbyistDev
[extractor/txxx] Add extractors by chio0hai
[extractor/vocaroo] Add extractor by SuperSonicHub1, qbnu
[extractor/wrestleuniverse] Add extractors by Grub4K, bashonly
[extractor/yappy] Add extractor by HobbyistDev
[extractor/youtube] Fix uploader_id extraction by bashonly
[extractor/youtube] Add hyperpipe instances by Generator
[extractor/youtube] Handle consent.youtube
[extractor/youtube] Support /live/ URL
[extractor/youtube] Update invidious and piped instances by rohieb
[extractor/91porn] Fix title and comment extraction by pmitchell86
[extractor/AbemaTV] Cache user token whenever appropriate by Lesmiscore
[extractor/bfmtv] Support rmc prefix by carusocr
[extractor/biliintl] Add intro and ending chapters by HobbyistDev
[extractor/clyp] Support wav by qulaz
[extractor/crunchyroll] Add intro chapter by ByteDream
[extractor/crunchyroll] Better message for premium videos
[extractor/crunchyroll] Fix incorrect premium-only error by Grub4K
[extractor/DouyuTV] Use new API by hatienl0i261299
[extractor/embedly] Embedded links may be for other extractors
[extractor/freesound] Workaround invalid URL in webpage by rebane2001
[extractor/GoPlay] Use new API by jeroenj
[extractor/Hidive] Fix subtitles and age-restriction by chexxor
[extractor/huya] Support HD streams by felixonmars
[extractor/moviepilot] Fix extractor by panatexxa
[extractor/nbc] Fix NBC and NBCStations extractors by bashonly
[extractor/nbc] Fix XML parsing by bashonly
[extractor/nebula] Remove broken cookie support by hheimbuerger
[extractor/nfl] Add NFLPlus extractors by bashonly
[extractor/niconico] Add support for like history by Matumo, pukkandan
[extractor/nitter] Update instance list by OIRNOIR
[extractor/npo] Fix extractor and add HD support by seproDev
[extractor/odkmedia] Add OnDemandChinaEpisodeIE by HobbyistDev, pukkandan
[extractor/pornez] Handle relative URLs in iframe by JChris246
[extractor/radiko] Fix format sorting for Time Free by road-master
[extractor/rcs] Fix extractors by nixxo, pukkandan
[extractor/reddit] Support user posts by OMEGARAZER
[extractor/rumble] Fix format sorting by pukkandan
[extractor/servus] Rewrite extractor by Ashish0804, FrankZ85, StefanLobbenmeier
[extractor/slideslive] Fix slides and chapters/duration by bashonly
[extractor/SportDeutschland] Fix extractor by FriedrichRehren
[extractor/Stripchat] Fix extractor by JChris246, bashonly
[extractor/tnaflix] Fix extractor by bashonly, oxamun
[extractor/tvp] Support stream.tvp.pl by selfisekai
[extractor/twitter] Fix --no-playlist and add media view_count when using GraphQL by Grub4K
[extractor/twitter] Fix graphql extraction on some tweets by selfisekai
[extractor/vimeo] Fix playerConfig extraction by LeoniePhiline, bashonly
[extractor/viu] Add ViuOTTIndonesiaIE extractor by HobbyistDev
[extractor/vk] Fix playlists for new API by the-marenga
[extractor/vlive] Replace with VLiveWebArchiveIE by seproDev
[extractor/ximalaya] Update album _VALID_URL by carusocr
[extractor/zdf] Use android API endpoint for UHD downloads by seproDev
[extractor/drtv] Fix bug in ab4cbef by bashonly


yt-dlp 2023.01.06

Changelog
Fix config locations by Grub4k, coletdjnz, pukkandan
[downloader/aria2c] Disable native progress
[utils] mimetype2ext: weba is not standard
[utils] windows_enable_vt_mode: Better error handling
[build] Add minimal pyproject.toml
[update] Fix updater file removal on windows by Grub4K
[cleanup] Misc fixes and cleanup
[extractor/aitube] Add extractor by HobbyistDev
[extractor/drtv] Add series extractors by FrederikNS
[extractor/volejtv] Add extractor by HobbyistDev
[extractor/xanimu] Add extractor by JChris246
[extractor/youtube] Retry manifest refresh for live-from-start by mzhou
[extractor/biliintl] Add /media to VALID_URL by HobbyistDev
[extractor/biliIntl] Add fallback to video_data by HobbyistDev
[extractor/crunchyroll:show] Add language to entries by Chrissi2812
[extractor/joj] Fix extractor by OndrejBakan, pukkandan
[extractor/nbc] Update graphql query by jacobtruman
[extractor/reddit] Add subreddit as channel_id by gschizas
[extractor/tiktok] Add TikTokLive extractor by JC-Chung


yt-dlp 2023.01.02

Changelog
Improve plugin architecture by Grub4K, coletdjnz, flashdagger, pukkandan
Plugins can be loaded in any distribution of yt-dlp (binary, pip, source, etc.) and can be distributed and installed as packages. See the readme for more information
Add --compat-options 2021,2022
This allows devs to change defaults and make other potentially breaking changes more easily. If you need everything to work exactly as-is, put Use --compat 2022 in your config to guard against future compat changes.
[downloader/aria2c] Native progress for aria2c via RPC by Lesmiscore, pukkandan
Merge youtube-dl: Upto commit/195f22f by Grub4k, pukkandan
Add pre-processor stage video
Let --parse/replace-in-metadata run at any post-processing stage
Add --enable-file-urls by coletdjnz
Add new field aspect_ratio
Add ac4 to known codecs
Add weba to known extensions
[FFmpegVideoConvertor] Add gif to --recode-video
Add message when there are no subtitles/thumbnails
Deprioritize HEVC-over-FLV formats by Lesmiscore
Make early reject of --match-filter stricter
Fix --cookies-from-browser CLI parsing
Fix original_url in playlists
Fix bug in writing playlist info-json
Fix bugs in PlaylistEntries
[downloader/ffmpeg] Fix headers for video+audio formats by Grub4K, bashonly
[extractor] Add a way to distinguish IEs that returns only videos
[extractor] Implement universal format sorting and deprecate _sort_formats
[extractor] Let _extract_format functions obey --ignore-no-formats
[extractor/generic] Add fragment_query extractor arg for DASH and HLS by bashonly, pukkandan
[extractor/generic] Decode unicode-escaped embed URLs by bashonly
[extractor/generic] Don't report redirect to https
[extractor/generic] Fix JSON LD manifest extraction by bashonly, pukkandan
[extractor/generic] Use Accept-Encoding: identity for initial request by coletdjnz
[FormatSort] Add mov to vext
[jsinterp] Escape regex that looks like nested set
[webvtt] Handle premature EOF by flashdagger
[utils] classproperty: Add cache support
[utils] get_exe_version: Detect broken executables by dirkf, pukkandan
[utils] js_to_json: Fix bug in f55523c by ChillingPepper, pukkandan
[utils] Make ExtractorError mutable
[utils] Move FileDownloader.parse_bytes into utils
[utils] Move format sorting code into utils
[utils] windows_enable_vt_mode: Proper implementation by Grub4K
[update] Workaround #5632
[docs] Improvements
[cleanup] Misc fixes and cleanup
[cleanup] Use random.choices by freezboltz
[extractor/airtv] Add extractor by HobbyistDev
[extractor/amazonminitv] Add extractors by GautamMKGarg, nyuszika7h
[extractor/beatbump] Add extractors by Bobscorn, pukkandan
[extractor/europarl] Add EuroParlWebstream extractor by HobbyistDev
[extractor/kanal2] Add extractor by bashonly, glensc, pukkandan
[extractor/kankanews] Add extractor by synthpop123
[extractor/kick] Add extractor by bashonly
[extractor/mediastream] Add extractor by HobbyistDev, elyse0
[extractor/noice] Add NoicePodcast extractor by HobbyistDev
[extractor/oneplace] Add OnePlacePodcast extractor by HobbyistDev
[extractor/rumble] Add RumbleIE extractor by flashdagger
[extractor/screencastify] Add extractor by bashonly
[extractor/trtcocuk] Add extractor by HobbyistDev
[extractor/Veoh] Add user extractor by tntmod54321
[extractor/videoken] Add extractors by bashonly
[extractor/webcamerapl] Add extractor by milkknife
[extractor/amazon] Add AmazonReviews extractor by bashonly
[extractor/netverse] Add NetverseSearch extractor by HobbyistDev
[extractor/vimeo] Add VimeoProIE by bashonly, pukkandan
[extractor/xiami] Remove extractors by synthpop123
[extractor/youtube] Add piped.video by Bnyro
[extractor/youtube] Consider language in format de-duplication
[extractor/youtube] Extract DRC formats
[extractor/youtube] Fix ytuser:
[extractor/youtube] Fix bug in handling of music URLs
[extractor/youtube] Subtitles cannot be translated to und
[extractor/youtube:tab] Extract metadata from channel items by coletdjnz
[extractor/ARD] Add vtt subtitles by CapacitorSet
[extractor/ArteTV] Extract chapters by bashonly, iw0nderhow
[extractor/bandcamp] Add album_artist by stelcodes
[extractor/bilibili] Fix --no-playlist for anthology
[extractor/bilibili] Improve _VALID_URL by skbeh
[extractor/biliintl:series] Make partial download of series faster
[extractor/BiliLive] Fix extractor
[extractor/brightcove] Add BrightcoveNewBaseIE and fix embed extraction
[extractor/cda] Support premium and misc improvements by selfisekai
[extractor/ciscowebex] Support password-protected videos by damianoamatruda
[extractor/curiositystream] Fix auth by mnn
[extractor/embedly] Handle vimeo embeds
[extractor/fifa] Fix Preplay extraction by dirkf
[extractor/foxsports] Fix extractor by bashonly
[extractor/gronkh] Fix _VALID_URL by muddi900
[extractor/hotstar] Improve format metadata
[extractor/iqiyi] Fix Iq JS regex by bashonly
[extractor/la7] Improve extractor by nixxo
[extractor/mediaset] Better embed detection and error messages by nixxo
[extractor/mixch] Support --wait-for-video
[extractor/naver] Improve _VALID_URL for NaverNowIE by bashonly
[extractor/naver] Treat fan subtitles as separate language
[extractor/netverse] Extract comments by HobbyistDev
[extractor/nosnl] Add support for /video by HobbyistDev
[extractor/odnoklassniki] Extract subtitles by bashonly
[extractor/pinterest] Fix extractor by bashonly
[extractor/plutotv] Fix videos with non-zero start by digitall
[extractor/polskieradio] Adapt to next.js redesigns by selfisekai
[extractor/reddit] Add vcodec to fallback format by chengzhicn
[extractor/reddit] Extract crossposted media by bashonly
[extractor/reddit] Extract video embeds in text posts by bashonly
[extractor/rutube] Support private videos by mexus
[extractor/sibnet] Separate from VKIE
[extractor/slideslive] Fix extractor by Grub4K, bashonly
[extractor/slideslive] Support embeds and slides by Grub4K, bashonly, pukkandan
[extractor/soundcloud] Support user permalink by nosoop
[extractor/spankbang] Fix extractor by JChris246
[extractor/stv] Detect DRM
[extractor/swearnet] Fix description bug
[extractor/tencent] Fix geo-restricted video by elyse0
[extractor/tiktok] Fix subs, DouyinIE, improve _VALID_URL by bashonly
[extractor/tiktok] Update _VALID_URL, add api_hostname arg by bashonly
[extractor/tiktok] Update API hostname by redraskal
[extractor/twitcasting] Fix...


yt-dlp 2022.11.11

Changelog
Merge youtube-dl: Upto commit/de39d12
Backport SSL configuration from Python 3.10 by coletdjnz
Do more processing in --flat-playlist
Fix --list options not implying -s in some cases by Grub4K, bashonly
Fix end time of clips by cruel-efficiency
Fix for formats=None
Write API params in debug head
[outtmpl] Ensure ASCII in json and add option for Unicode
[SponsorBlock] Add type field, obey --retry-sleep extractor, relax duration check for large segments
[SponsorBlock] Support chapter category by ajayyy, pukkandan
[ThumbnailsConvertor] Fix filename escaping by dirkf, pukkandan
[ModifyChapters] Handle the entire video being marked for removal
[embedthumbnail] Fix thumbnail name in mp3 by How-Bout-No
[downloader/fragment] HLS download can continue without first fragment
[cookies] Improve LenientSimpleCookie by Grub4K
[jsinterp] Improve separating regex
[extractor/common] Fix fatal=False for _search_nuxt_data
[extractor/common] Improve _generic_title
[extractor/common] Fix json_ld type checks by Grub4K
[extractor/generic] Separate embed extraction into own function
[extractor/generic:quoted-html] Add extractor by coletdjnz, pukkandan
[extractor/unsupported] Raise error on known DRM-only sites by coletdjnz
[utils] js_to_json: Improve escape handling by Grub4K
[utils] strftime_or_none: Workaround Python bug on Windows
[utils] traverse_obj: Always return list when branching, allow re.Match objects by Grub4K
[build, test] Harden workflows' security by sashashura
[build] py2exe: Migrate to freeze API by SG5, pukkandan
[build] Create armv7l and aarch64 releases by MrOctopus, pukkandan
[build] Make linux binary truly standalone using conda by mlampe
[build] Replace set-output with GITHUB_OUTPUT by Lesmiscore
[update] Use error code 100 for update errors
[compat] Fix shutils.move in restricted ACL mode on BSD by ClosedPort22, pukkandan
[docs, devscripts] Document pyinst's argument passthrough by jahway603
[test] Allow extract_flat in download tests by coletdjnz, pukkandan
[cleanup] Misc fixes and cleanup by pukkandan, Alienmaster
[extractor/aeon] Add extractor by DoubleCouponDay
[extractor/agora] Add extractors by selfisekai
[extractor/camsoda] Add extractor by zulaport
[extractor/cinetecamilano] Add extractor by timendum
[extractor/deuxm] Add extractors by CrankDatSouljaBoy
[extractor/genius] Add extractors by bashonly
[extractor/japandiet] Add extractors by Lesmiscore
[extractor/listennotes] Add extractor by lksj, pukkandan
[extractor/nos.nl] Add extractor by HobbyistDev
[extractor/oftv] Add extractors by DoubleCouponDay
[extractor/podbayfm] Add extractor by schnusch
[extractor/qingting] Add extractor by bashonly, changren-wcr
[extractor/screen9] Add extractor by tpikonen
[extractor/swearnet] Add extractor by HobbyistDev
[extractor/YleAreena] Add extractor by pukkandan, vitkhab
[extractor/zeenews] Add extractor by m4tu4g, pukkandan
[extractor/youtube:tab] Update tab handling for redesign by coletdjnz, pukkandan
Channel URLs download all uploads of the channel as multiple playlists, separated by tab
[extractor/youtube] Differentiate between no comments and disabled comments by coletdjnz
[extractor/youtube] Extract concurrent_view_count for livestreams by coletdjnz
[extractor/youtube] Fix duration for premieres by nosoop
[extractor/youtube] Fix live_status by coletdjnz, pukkandan
[extractor/youtube] Ignore incomplete data error for comment replies by coletdjnz
[extractor/youtube] Improve chapter parsing from description
[extractor/youtube] Mark videos as fully watched by bsun0000
[extractor/youtube] Update piped instances by Generator
[extractor/youtube] Update playlist metadata extraction for new layout by coletdjnz
[extractor/youtube:tab] Fix video metadata from tabs by coletdjnz
[extractor/youtube:tab] Let approximate_date return timestamp
[extractor/americastestkitchen] Fix extractor by bashonly
[extractor/bbc] Support onion domains by DoubleCouponDay
[extractor/bilibili] Add chapters and misc cleanup by lockmatrix, pukkandan
[extractor/bilibili] Fix BilibiliIE and Bangumi extractors by lockmatrix, pukkandan
[extractor/bitchute] Better error for geo-restricted videos by flashdagger
[extractor/bitchute] Improve BitChuteChannelIE by flashdagger, pukkandan
[extractor/bitchute] Simplify extractor by flashdagger, pukkandan
[extractor/cda] Support login through API by selfisekai
[extractor/crunchyroll] Beta is now the only layout by tejing1
[extractor/detik] Avoid unnecessary extraction
[extractor/doodstream] Remove extractor
[extractor/dplay] Add MotorTrendOnDemand extractor by bashonly
[extractor/epoch] Support videos without data-trailer by gibson042, pukkandan
[extractor/fox] Extract thumbnail by vitkhab
[extractor/foxnews] Add FoxNewsVideo extractor
[extractor/hotstar] Add season support by m4tu4g
[extractor/hotstar] Refactor v1 API calls
[extractor/iprima] Make json+ld non-fatal by bashonly
[extractor/iq] Increase phantomjs timeout
[extractor/kaltura] Support playlists by jwoglom, pukkandan
[extractor/lbry] Authenticate with cookies by flashdagger
[extractor/livestreamfails] Support posts by invertico
[extractor/mlb] Add MLBArticle extractor by HobbyistDev
[extractor/mxplayer] Improve extractor by m4tu4g
[extractor/niconico] Always use HTTPS for requests
[extractor/nzherald] Support new video embed by coletdjnz
[extractor/odnoklassniki] Support boosty.to embeds by Lesmiscore, megapro17, pukkandan
[extractor/paramountplus] Update API token by bashonly
[extractor/reddit] Add fallback format by bashonly
[extractor/redgifs] Fix extractors by bashonly, pukkandan
[extractor/redgifs] Refresh auth token for 401 by endotronic, pukkandan
[extractor/rumble] Add HLS formats and extract more metadata by flashdagger
[extractor/sbs] Improve _VALID_URL by bashonly
[extractor/skyit] Fix extractors by nixxo
[extractor/stripchat] Fix hostname for HLS stream by zulaport
[extractor/stripchat] Improve error message by freezboltz
[extractor/telegram] Add playlist support and more metadata by bashonly, bsun0000
[extractor/Tnaflix] Fix for HTTP 500 by SG5, pukkandan
[extractor/tubitv] Better DRM detection by [bashonly](https://gi...


yt-dlp 2022.10.04

Changelog
Allow a set to be passed as download_archive by pukkandan, bashonly
Allow open ranges for time ranges by Lesmiscore
Allow plugin extractors to replace the built-in ones
Don't download entire video when no matching --download-sections
Fix --config-location -
Improve 5736d79
Fix for when playlists don't have webpage_url
Support environment variables in --ffmpeg-location
Workaround libc_ver not be available on Windows Store version of Python
[outtmpl] Curly braces to filter keys by pukkandan
[outtmpl] Make %s work in strfformat for all systems
[jsinterp] Workaround operator associativity issue
[cookies] Let _get_mac_keyring_password fail gracefully
[cookies] Parse cookies leniently by Grub4K
[phantomjs] Fix bug in 587021c by elyse0
[downloader/aria2c] Fix filename containing leading whitespace by std-move
[downloader/ism] Support ec-3 codec by nixxo
[extractor] Fix fatal=False in RetryManager
[extractor] Improve json-ld extraction
[extractor] Make _search_json able to parse lists
[extractor] Escape % in representation_id of m3u8
[extractor/generic] Pass through referer from json-ld
[utils] base_url: URL paths can contain & by elyse0
[utils] js_to_json: Improve
[utils] Popen.run: Fix default return in binary mode
[utils] traverse_obj: Rewrite, document and add tests by Grub4K
[devscripts] make_lazy_extractors: Fix for Docker by josanabr
[docs] Misc Improvements
[cleanup] Misc fixes and cleanup by pukkandan, gamer191
[extractor/24tv.ua] Add extractors by coletdjnz
[extractor/BerufeTV] Add extractor by Fabi019
[extractor/booyah] Add extractor by HobbyistDev, elyse0
[extractor/bundesliga] Add extractor by Fabi019
[extractor/GoPlay] Add extractor by CNugteren, basrieter, jeroenj
[extractor/iltalehti] Add extractor by tpikonen
[extractor/IsraelNationalNews] Add extractor by Bobscorn
[extractor/mediaworksnzvod] Add extractor by coletdjnz
[extractor/MicrosoftEmbed] Add extractor by DoubleCouponDay
[extractor/nbc] Add NBCStations extractor by bashonly
[extractor/onenewsnz] Add extractor by coletdjnz
[extractor/prankcast] Add extractor by HobbyistDev, columndeeply
[extractor/Smotrim] Add extractor by Lesmiscore, nikita-moor
[extractor/tencent] Add Iflix extractor by elyse0
[extractor/unscripted] Add extractor by HobbyistDev
[extractor/adobepass] Add MSO AlticeOne (Optimum TV) by CplPwnies
[extractor/youtube] Download post_live videos from start by Lesmiscore, pukkandan
[extractor/youtube] Add support for Shorts audio pivot feed by coletdjnz, pukkandan
[extractor/youtube] Detect lazy-load-for-videos embeds
[extractor/youtube] Do not warn on duplicate chapters
[extractor/youtube] Fix video like count extraction by coletdjnz
[extractor/youtube] Support changing extraction language by coletdjnz
[extractor/youtube:tab] Improve continuation items extraction
[extractor/youtube:tab] Support reporthistory page
[extractor/amazonstore] Fix JSON extraction by coletdjnz, pukkandan
[extractor/amazonstore] Retry to avoid captcha page by Lesmiscore
[extractor/animeondemand] Remove extractor by TokyoBlackHole
[extractor/anvato] Fix extractor and refactor by bashonly
[extractor/artetv] Remove duplicate stream urls by Grub4K
[extractor/audioboom] Support direct URLs and refactor by pukkandan, tpikonen
[extractor/bandcamp] Extract uploader_url
[extractor/bilibili] Add space.bilibili extractors by lockmatrix
[extractor/BilibiliSpace] Fix extractor and better error message by lockmatrix
[extractor/BiliIntl] Support uppercase lang in _VALID_URL by coletdjnz
[extractor/BiliIntlSeries] Fix _VALID_URL
[extractor/bongacams] Update _VALID_URL by 0xGodspeed
[extractor/crunchyroll:beta] Improve handling of hardsubs by Grub4K
[extractor/detik] Generalize extractors by HobbyistDev, coletdjnz
[extractor/dplay:italy] Add default authentication by Timendum
[extractor/heise] Fix extractor by coletdjnz
[extractor/holodex] Fix _VALID_URL by LiviaMedeiros
[extractor/hrfensehen] Fix extractor by snapdgn
[extractor/hungama] Add subtitle by GautamMKGarg, pukkandan
[extractor/instagram] Extract more metadata by pritam20ps05
[extractor/JWPlatform] Fix extractor by coletdjnz
[extractor/malltv] Fix video_id extraction by HobbyistDev
[extractor/MLBTV] Detect live streams
[extractor/motorsport] Support native embeds
[extractor/Mxplayer] Fix extractor by itachi-19
[extractor/nebula] Add nebula.tv by tannertechnology
[extractor/nfl] Fix extractor by bashonly
[extractor/ondemandkorea] Update jw_config regex by julien-hadleyjack
[extractor/paramountplus] Better DRM detection by bashonly
[extractor/patreon] Sort formats
[extractor/rcs] Fix embed extraction by coletdjnz
[extractor/redgifs] Fix extractor by jhwgh1968
[extractor/rutube] Fix _EMBED_REGEX by coletdjnz
[extractor/RUTV] Fix warnings for livestreams by Lesmiscore
[extractor/soundcloud:search] More metadata in --flat-playlist by SuperSonicHub1
[extractor/telegraaf] Use mobile GraphQL API endpoint by coletdjnz
[extractor/tennistv] Fix timestamp by zenerdi0de
[extractor/tiktok] Fix TikTokIE by bashonly
[extractor/triller] Fix auth token by bashonly
[extractor/trovo] Fix extractors by Mehavoid
[extractor/tv2] Support new url format by tobi1805
[extractor/web.archive:youtube] Fix _YT_INITIAL_PLAYER_RESPONSE_RE
[extractor/wistia] Add support for channels by coletdjnz
[extractor/wistia] Match IDs in embed URLs by bashonly
[extractor/wordpress:playlist] Add generic embed extractor by coletdjnz
[extractor/yandexvideopreview] Update _VALID_URL by Grub4K
[extractor/zee5] Fix _VALID_URL by m4tu4g
[extractor/zee5] Generate device ids by freezboltz


yt-dlp 2022.09.01

Changelog
Add option --use-extractors
Merge youtube-dl: Upto commit/ed5c44e
Add yt-dlp version to infojson
Fix --break-per-url --max-downloads
Fix bug in --alias
[cookies] Support firefox container in --cookies-from-browser by bashonly, coletdjnz, pukkandan
[downloader/external] Smarter detection of executable
[extractor/generic] Don't return JW player without formats
[FormatSort] Fix aext for --prefer-free-formats
[jsinterp] Various improvements by pukkandan, dirkf, elyse0
[cache] Mechanism to invalidate old cache
[utils] Add deprecation_warning
[utils] Add orderedSet_from_options
[utils] Popen: Restore LD_LIBRARY_PATH when using PyInstaller by Lesmiscore
[build] make tar should not follow DESTDIR by satan1st
[build] Update pyinstaller by shirt-dev
[test] Fix test_youtube_signature
[cleanup] Misc fixes and cleanup by DavidH-2022, MrRawes, pukkandan
[extractor/epoch] Add extractor by tejasa97
[extractor/eurosport] Add extractor by HobbyistDev
[extractor/IslamChannel] Add extractors by Lesmiscore
[extractor/newspicks] Add extractor by Lesmiscore
[extractor/triller] Add extractor by bashonly
[extractor/VQQ] Add extractors by elyse0
[extractor/youtube] Improvements to nsig extraction
[extractor/youtube] Fix bug in format sorting
[extractor/youtube] Update iOS Innertube clients by SamantazFox
[extractor/youtube] Use device-specific user agent by coletdjnz
[extractor/youtube] Add --compat-option no-youtube-prefer-utc-upload-date by coletdjnz
[extractor/arte] Bug fix by cgrigis
[extractor/bilibili] Extract flac with premium account by jackyyf
[extractor/BiliBiliSearch] Don't sort by date
[extractor/BiliBiliSearch] Fix infinite loop
[extractor/bitchute] Mark errors as expected
[extractor/crunchyroll:beta] Use anonymous access by tejing1
[extractor/huya] Fix stream extraction by ohaiibuzzle
[extractor/medaltv] Fix extraction by xenova
[extractor/mediaset] Fix embed extraction
[extractor/mixcloud] All formats are audio-only
[extractor/rtbf] Fix jwt extraction by elyse0
[extractor/screencastomatic] Support --video-password by shreyasminocha
[extractor/stripchat] Don't modify input URL by dfaker
[extractor/uktv] Improve _VALID_URL by dirkf
[extractor/vimeo:user] Fix _VALID_URL


yt-dlp 2022.08.19

Changelog
Fix bug in --download-archive
[jsinterp] Fix for new youtube players and related improvements by dirkf, pukkandan
You may need to --rm-cache after update for this to work
[phantomjs] Add function to execute JS without a DOM by MinePlayersPE, pukkandan
[build] Exclude devscripts from installs by Lesmiscore
[cleanup] Misc fixes and cleanup
[extractor/youtube] Add fallback to phantomjs for nsig
[extractor/youtube] Fix error reporting of "Incomplete data"
[extractor/youtube] Improve format sorting for IOS formats
[extractor/youtube] Improve signature caching
[extractor/instagram] Fix extraction by bashonly, pritam20ps05
[extractor/rai] Minor fix by nixxo
[extractor/rtbf] Fix stream extractor by elyse0
[extractor/SovietsCloset] Fix extractor by ChillingPepper
[extractor/zattoo] Fix Zattoo resellers by goggle


yt-dlp 2022.08.14

Changelog
Merge youtube-dl: Upto commit/d231b56
[jsinterp] Handle new youtube signature functions
[jsinterp] Truncate error messages
[extractor] Fix format sorting of channels
[ffmpeg] Disable avconv unless --prefer-avconv
[ffmpeg] Smarter detection of ffprobe filename
[patreon] Ignore erroneous media attachments by coletdjnz
[postprocessor/embedthumbnail] Detect libatomicparsley.so
[ThumbnailsConvertor] Fix conversion after fixup_webp
[utils] Fix get_compatible_ext
[build] Fix changelog
[update] Set executable bit-mask by pukkandan, Lesmiscore
[devscripts] Fix import
[docs] Consistent use of e.g. by Lesmiscore
[cleanup] Misc fixes and cleanup
[extractor/moview] Add extractor by HobbyistDev
[extractor/parler] Add extractor by palewire
[extractor/truth] Add extractor by palewire
[extractor/aenetworks] Add formats parameter by jacobtruman
[extractor/crunchyroll] Improve _VALID_URLs
[extractor/doodstream] Add wf domain by aldoridhoni
[extractor/facebook] Add reel support by bashonly
[extractor/MLB] New extractor by ischmidt20
[extractor/rai] Misc fixes by nixxo
[extractor/toggo] Improve _VALID_URL by masta79
[extractor/tubitv] Extract additional formats by shirt-dev
[extractor/zattoo] Potential fix for resellers


yt-dlp 2022.08.08

Changelog
Remove Python 3.6 support
Determine merge container better by pukkandan, selfisekai
Framework for embed detection by coletdjnz, pukkandan
Merge youtube-dl: Upto commit/adb5294
--compat-option no-live-chat should disable danmaku
Fix misleading DRM message
Import ctypes only when necessary
Minor bugfixes by pukkandan
Reject entire playlists faster with --match-filter by pukkandan
Remove filtered entries from -J
Standardize retry mechanism by pukkandan
Validate --merge-output-format
[downloader] Add average speed to final progress line
[extractor] Add field audio_channels
[extractor] Support multiple archive ids for one video
[ffmpeg] Set ffmpeg_location in a contextvar
[FFmpegThumbnailsConvertor] Fix conversion from GIF
[MetadataParser] Don't set None when the field didn't match
[outtmpl] Smarter replacing of unsupported characters by pukkandan
[outtmpl] Treat empty values as None in filenames
[utils] sanitize_open: Allow any IO stream as stdout
[build, devscripts] Add devscript to set a build variant
[build] Improve build process by shirt-dev
[build] Update pyinstaller
[devscripts] Create utils and refactor
[docs] Clarify best*
[docs] Fix bug report issue template
[docs] Fix capitalization in references by christoph-heinrich
[cleanup, mhtml] Use imghdr
[cleanup, utils] Consolidate known media extensions
[cleanup] Misc fixes and cleanup
[extractor/angel] Add extractor by AxiosDeminence
[extractor/dplay] Add MotorTrend extractor by Sipherdrakon
[extractor/harpodeon] Add extractor by eren-kemer
[extractor/holodex] Add extractor by pukkandan, sqrtNOT
[extractor/kompas] Add extractor by HobbyistDev
[extractor/rai] Add raisudtirol extractor by nixxo
[extractor/tempo] Add extractor by HobbyistDev
[extractor/youtube] Fixes for third party client detection by coletdjnz
[extractor/youtube] Add live_status=post_live by lazypete365
[extractor/youtube] Extract more format info
[extractor/youtube] Parse translated subtitles only when requested
[extractor/youtube, extractor/twitch] Allow waiting for channels to become live
[extractor/youtube, webvtt] Extract auto-subs from livestream VODs by fstirlitz, pukkandan
[extractor/AbemaTVTitle] Implement paging by Lesmiscore
[extractor/archiveorg] Improve handling of formats by coletdjnz, pukkandan
[extractor/arte] Fix title extraction
[extractor/arte] Move to v2 API by fstirlitz, pukkandan
[extractor/bbc] Fix news articles by ajj8
[extractor/camtasia] Separate into own extractor by coletdjnz
[extractor/cloudflarestream] Fix video_id padding by haobinliang
[extractor/crunchyroll] Fix conversion of thumbnail from GIF by pukkandan
[extractor/crunchyroll] Handle missing metadata correctly by Burve, pukkandan
[extractor/crunchyroll:beta] Extract timestamp and fix tests by tejing1
[extractor/crunchyroll:beta] Use streams API by tejing1
[extractor/doodstream] Support more domains by Galiley
[extractor/ESPN] Extract duration by ischmidt20
[extractor/FIFA] Change API endpoint by Bricio, yashkc2025
[extractor/globo:article] Remove false positives by Bricio
[extractor/Go] Extract timestamp by ischmidt20
[extractor/hidive] Fix cookie login when netrc is also given by winterbird-code
[extractor/html5] Separate into own extractor by coletdjnz, pukkandan
[extractor/ina] Improve extractor by elyse0
[extractor/NaverNow] Change endpoint by ping
[extractor/ninegag] Extract uploader by DjesonPV
[extractor/NovaPlay] Fix extractor by Bojidarist
[extractor/orf:radio] Rewrite extractors
[extractor/patreon] Fix and improve extractors by coletdjnz, pukkandan
[extractor/rai] Fix RaiNews extraction by nixxo
[extractor/redbee] Unify and update extractors by elyse0
[extractor/stripchat] Fix _VALID_URL by freezboltz
[extractor/tubi] Exclude playlists from playlist entries by sqrtNOT
[extractor/tviplayer] Improve _VALID_URL by HobbyistDev
[extractor/twitch] Extract chapters for single chapter VODs by mpeter50
[extractor/vgtv] Support tv.vg.no by sqrtNOT
[extractor/vidio] Support embed link by HobbyistDev
[extractor/vk] Fix extractor by Mehavoid
[extractor/WASDTV:record] Fix _VALID_URL
[extractor/xfileshare] Add Referer by Galiley
[extractor/YahooJapanNews] Fix extractor by Lesmiscore
[extractor/yandexmusic] Extract higher quality format
[extractor/zee5] Update Device ID by m4tu4g


yt-dlp 2022.07.18

A description of the various files are in the README
Deprecation Warning
Support for Python version 3.6 has been deprecated. See #3764 for more details. You will no longer receive updates on this version! Please update to Python 3.7 or above

Changelog
Allow users to specify encoding in each config files by Lesmiscore
Discard infodict from memory if no longer needed
Do not allow extractors to return None
Do not load system certificates when certifi is used
Fix rounding of integers in format table
Improve chapter sanitization
Skip some fixup if remux/recode is needed by Lesmiscore
Support --no-progress for --wait-for-video
Fix bug in 612f2be
[outtmpl] Add alternate form h for HTML escaping
[aes] Add multiple padding modes in CBC by elyse0
[extractor/common] Passthrough errnote=False to parsers
[extractor/generic] Remove HEAD request
[http] Ensure the file handle is always closed
[ModifyChapters] Modify duration in infodict
[options] Fix aliases to --config-location
[utils] Fix get_domain
[build] Consistent order for lazy extractors by lamby
[build] Fix architecture suffix of executables by odo2063
[build] Improve setup.py
[update] Do not check _update_spec when up to date
[update] Prepare to remove Python 3.6 support
[compat] Let PyInstaller detect _legacy module
[devscripts/update-formulae] Do not change dependency section
[test] Split download tests so they can be more easily run in CI
[docs] Improve docstring of download_ranges by FirefoxMetzger
[docs] Improve issue templates
[build] Fix bug in 6d916fe
[cleanup, utils] Refactor parse_codecs
[cleanup] Misc fixes and cleanup
[extractor/acfun] Add extractors by lockmatrix
[extractor/Audiodraft] Add extractors by Ashish0804, fstirlitz
[extractor/cellebrite] Add extractor by HobbyistDev
[extractor/detik] Add extractor by HobbyistDev
[extractor/hytale] Add extractor by llamasblade, pukkandan
[extractor/liputan6] Add extractor by HobbyistDev
[extractor/mocha] Add extractor by HobbyistDev
[extractor/rtl.lu] Add extractor by HobbyistDev
[extractor/rtvsl] Add extractor by iw0nderhow, pukkandan
[extractor/StarTrek] Add extractor by scy
[extractor/syvdk] Add extractor by misaelaguayo
[extractor/theholetv] Add extractor by dosy4ev
[extractor/TubeTuGraz] Add extractor by Ferdi265, pukkandan
[extractor/tviplayer] Add extractor by HobbyistDev
[extractor/wetv] Add extractors by elyse0
[extractor/wikimedia] Add extractor by EhtishamSabir, pukkandan
[extractor/youtube] Fix duration check for post-live manifestless mode
[extractor/youtube] More metadata for storyboards by ftk
[extractor/bigo] Fix extractor by Lesmiscore
[extractor/BiliIntl] Fix subtitle extraction by MinePlayersPE
[extractor/crunchyroll] Improve _VALID_URL
[extractor/fifa] Fix extractor by ischmidt20
[extractor/instagram] Fix post/story extractors by pritam20ps05, pukkandan
[extractor/iq] Set language correctly for Korean subtitles
[extractor/MangoTV] Fix subtitle languages
[extractor/Netverse] Improve playlist extractor by HobbyistDev
[extractor/philharmoniedeparis] Fix extractor by sqrtNOT
[extractor/Trovo] Fix extractor by u-spec-png
[extractor/twitch] Support storyboards for VODs by ftk
[extractor/WatchESPN] Improve _VALID_URL by IONECarter, dirkf
[extractor/WSJArticle] Fix video id extraction by sqrtNOT
[extractor/Ximalaya] Fix extractors by lockmatrix
[cleanup, extractor/youtube] Fix tests by sheerluck

yt-dlp 2022.06.29

A description of the various files are in the README
Deprecation Warning
Support for Python version 3.6 has been deprecated. See #3764 for more details. You will receive only one more update on Py3.6! Please update to Python 3.7 or above

Changelog
Fix --downloader native
Fix section_end of clips
Fix playlist error handling
Sanitize chapters
[extractor] Fix _create_request when headers is None
[extractor] Fix empty BaseURL in MPD
[ffmpeg] Write full output to debug on error
[hls] Warn user when trying to download live HLS
[options] Fix parse_known_args for --
[utils] Fix inconsistent default handling between HTTP and HTTPS requests by coletdjnz
[build] Draft release until complete
[build] Fix release tag commit
[build] Standalone x64 builds for MacOS 10.9 by StefanLobbenmeier
[update] Ability to set a maximum version for specific variants
[compat] Fix compat.WINDOWS_VT_MODE
[compat] Remove deprecated functions from core code
[compat] Remove more functions
[cleanup, extractor] Reduce direct use of _downloader
[cleanup] Consistent style for file heads
[cleanup] Fix some typos by crazymoose77756
[cleanup] Misc fixes and cleanup
[extractor/Scrolller] Add extractor by LunarFang416
[extractor/ViMP] Add playlist extractor by FestplattenSchnitzel
[extractor/fuyin] Add extractor by HobbyistDev
[extractor/livestreamfails] Add extractor by nomevi
[extractor/premiershiprugby] Add extractor by HobbyistDev
[extractor/steam] Add broadcast extractor by HobbyistDev
[extractor/youtube] Mark videos as fully watched by Brett824
[extractor/CWTV] Extract thumbnail by ischmidt20
[extractor/ViMP] Add thumbnail and support more sites by FestplattenSchnitzel
[extractor/dropout] Support cookies and login only as needed by pingiun, pukkandan
[extractor/ertflix] Improve _VALID_URL
[extractor/lbry] Use HEAD request for redirect URL by flashdagger
[extractor/mediaset] Improve _VALID_URL
[extractor/npr] Implement e50c350 differently
[extractor/tennistv] Rewrite extractor by pukkandan, zenerdi0de


yt-dlp 2022.06.22.1

A description of the various files are in the README
Changelog:
Deprecate support for Python 3.6
Add option --download-sections to download video partially
Chapter regex and time ranges are accepted (Eg: --download-sections *1:10-2:20)
Add option --alias
Add option --lazy-playlist to process entries as they are received
Add option --retry-sleep
Add slicing notation to --playlist-items
Adds support for negative indices and step
Add -I as alias for --playlist-index
Makes --playlist-start, --playlist-end, --playlist-reverse, --no-playlist-reverse redundant
--config-location - to provide options interactively
[build] Add Linux standalone builds
[update] Self-restart after update
Merge youtube-dl: Upto commit/8a158a9
Add --no-update
Allow extractors to specify section_start/end for clips
Do not print progress to stderr with -q
Ensure pre-processor errors do not block video download
Fix --simulate --max-downloads
Improve error handling of bad config files
Return an error code if update fails
Fix bug in 3a408f9
[ExtractAudio] Allow conditional conversion
[ModifyChapters] Fix repeated removal of small segments
[ThumbnailsConvertor] Allow conditional conversion
[cookies] Detect profiles for cygwin/BSD by moench-tegeder
[dash] Show fragment count with --live-from-start by flashdagger
[extractor] Add _search_json by coletdjnz, pukkandan
[extractor] Add default parameter to _search_json by coletdjnz, pukkandan
[extractor] Add dev option --load-pages
[extractor] Handle json_ld with multiple @types
[extractor] Import _ALL_CLASSES lazily
[extractor] Recognize src attribute from HTML5 media elements by Lesmiscore
[extractor/generic] Revert e6ae51c
[f4m] Bugfix
[ffmpeg] Check version lazily
[jsinterp] Some optimizations and refactoring by dirkf, pukkandan
[utils] Improve performance using functools.cache
[utils] Send HTTP/1.1 ALPN extension by coletdjnz
[utils] ExtractorError: Fix exc_info
[utils] ISO3166Utils: Add EU and AP
[utils] Popen: Refactor to use contextmanager
[utils] locked_file: Fix for PyPy on Windows
[update] Expose more functionality to API
[update] Use .git folder to distinguish source/unknown
[build] Fix updating homebrew formula
[compat] Add functools.cached_property
[test] Fix FakeYDL signatures by coletdjnz
[docs] Improvements
[cleanup, ExtractAudio] Refactor
[cleanup, downloader] Refactor report_progress
[cleanup, extractor] Refactor _download_... methods
[cleanup, extractor] Rename extractors.py to _extractors.py
[cleanup, utils] Don't use kwargs for format_field
[cleanup, build] Refactor
[cleanup, docs] Re-indent "Usage and Options" section
[cleanup] Deprecate YoutubeDL.parse_outtmpl
[cleanup] Misc fixes and cleanup by Lesmiscore, MrRawes, christoph-heinrich, flashdagger, gamer191, kwconder, pukkandan
[extractor/DailyWire] Add extractors by HobbyistDev, pukkandan
[extractor/fourzerostudio] Add extractors by Lesmiscore
[extractor/GoogleDrive] Add folder extractor by evansp, pukkandan
[extractor/MirrorCoUK] Add extractor by LunarFang416, pukkandan
[extractor/atscaleconfevent] Add extractor by Ashish0804
[extractor/freetv] Add extractor by elyse0
[extractor/ixigua] Add Extractor by HobbyistDev
[extractor/kicker.de] Add extractor by HobbyistDev
[extractor/netverse] Add extractors by HobbyistDev, pukkandan
[extractor/playsuisse] Add extractor by pukkandan, sbor23
[extractor/substack] Add extractor by elyse0
[extractor/youtube] Support downloading clips
[extractor/youtube] Add innertube_host and innertube_key extractor args by coletdjnz
[extractor/youtube] Add warning for PostLiveDvr
[extractor/youtube] Bring back _extract_chapters_from_description
[extractor/youtube] Extract comment_count from webpage
[extractor/youtube] Fix :ytnotifications extractor by coletdjnz
[extractor/youtube] Fix initial player response extraction by coletdjnz, pukkandan
[extractor/youtube] Fix live chat for videos with content warning by coletdjnz
[extractor/youtube] Make signature extraction non-fatal
[extractor/youtube:tab] Detect videoRenderer in _post_thread_continuation_entries
[extractor/BiliIntl] Fix metadata extraction
[extractor/BiliIntl] Fix subtitle extraction by HobbyistDev
[extractor/FranceCulture] Fix extractor by aurelg, pukkandan
[extractor/PokemonSoundLibrary] Remove extractor by Lesmiscore
[extractor/StreamCZ] Fix extractor by adamanldo, dirkf
[extractor/WatchESPN] Support free videos and BAM_DTC by ischmidt20
[extractor/animelab] Remove extractor by gamer191
[extractor/bloomberg] Change playback endpoint by m4tu4g
[extractor/ccc] Extract view_count by vkorablin
[extractor/crunchyroll:beta] Fix extractor after API change by Burve, tejing1
[extractor/curiositystream] Get auth_token from cookie by mnn
[extractor/digitalconcerthall] Fix extractor by ZhymabekRoman
[extractor/dropbox] Extract the correct mountComponent
[extractor/dropout] Login is not mandatory
[extractor/duboku] Fix for hostname change by mozbugbox
[extractor/espn] Add WatchESPN extractor by ischmidt20, pukkandan
[extractor/expressen] Fix extractor by aejdl
[extractor/foxnews] Update embed extraction by elyse0
[extractor/ina] Fix extractor by elyse0
[extractor/iwara:user] Make paging better by Lesmiscore
[extractor/jwplatform] Look for data-video-jw-id
[extractor/lbry] Update livestream API by flashdagger
[extractor/mediaset] Improve _VALID_URL
[extractor/naver] Add navernow extractor by ping
[extractor/niconico:series] Fix extractor by sqrtNOT
[extractor/npr] Use stream url from json-ld by r5d
[extractor/pornhub] Extract uploader_id field by Lesmiscore
[extractor/radiofrance] Add more radios by bubbleguuum
[extractor/rumble] Detect JS embed
[extractor/rumble] Extract subtitles by fstirlitz
[extractor/southpark] Add southpark.lat extractor by darkxex
[extractor/spotify:show] Fix extractor
[extractor/tiktok] Detect embeds
[extractor/tiktok] Extract SIGI_STATE by dirkf, pukkandan, sulyi
[extractor/tver] Fix extractor by Lesmiscore
[extractor/vevo] Fix extractor by Lesmiscore
[extractor/yahoo:gyao] Fix extractor
[extractor/zattoo] Fix live streams by miseran
[extractor/zdf] Improve format sorting by elyse0'


yt-dlp 2022.05.18

A description of the various files are in the README
Changelog:
Add support for SSL client certificate authentication by coletdjnz, dirkf
Adds --client-certificate, --client-certificate-key, --client-certificate-password
Add --match-filter - to interactively ask for each video
--max-downloads should obey --break-per-input
Allow use of weaker ciphers with --legacy-server-connect
Don't imply -s for later stages of -O
Fix --date today
Fix --skip-unavailable-fragments
Fix color in -q -F
Fix redirect HTTP method handling by coletdjnz
Improve --clean-infojson
Remove warning for videos with an empty title
Run FFmpegFixupM3u8PP for live-streams if needed
Show name of downloader in verbose log
[cookies] Allow cookiefile to be a text stream
[cookies] Report progress when importing cookies
[downloader/ffmpeg] Specify headers for each URL by elyse0
[fragment] Do not change chunk-size when --test
[fragment] Make single thread download work for --live-from-start by Lesmiscore
[hls] Fix byte_range for EXT-X-MAP fragment by fstirlitz
[http] Fix retrying on read timeout by coletdjnz
[ffmpeg] Fix features detection
[EmbedSubtitle] Enable for more video extensions
[EmbedThumbnail] Disable thumbnail conversion for mkv by evansp
[EmbedThumbnail] Do not obey -k
[EmbedThumbnail] Do not remove id3v1 tags
[FFmpegMetadata] Remove &#65533; from metadata
[FFmpegMetadata] Remove filename from attached info-json
[FixupM3u8] Obey --hls-prefer-mpegts
[Sponsorblock] Don't crash when duration is unknown
[XAttrMetadata] Refactor and document dependencies
[extractor] Document netrc machines
[extractor] Update manifest_urls after redirect by elyse0
[extractor] Update dash manifest_url after redirects by elyse0
[extractor] Use classmethod/property where possible
[generic] Refactor _extract_rss
[utils] is_html: Handle double BOM
[utils] locked_file: Ignore illegal seek on truncate by jakeogh
[utils] sanitize_path: Fix when path is empty string
[utils] write_string: Workaround newline issue in conhost
[utils] certifi: Make sure the pem file exists
[utils] Fix WebSocketsWrapper
[utils] locked_file: Do not give executable bits for newly created files by Lesmiscore
[utils] YoutubeDLCookieJar: Detect and reject JSON file by Lesmiscore
[test] Convert warnings into errors and fix some existing warnings by fstirlitz
[dependencies] Create module with all dependency imports
[compat] Split into sub-modules by fstirlitz, pukkandan
[compat] Implement compat.imghdr
[build] Add make uninstall by MrRawes
[build] Avoid use of install -D
[build] Fix Makefile by putnam
[build] Fix --onedir on macOS
[build] Add more test-runners
[cleanup] Deprecate some compat vars by fstirlitz, pukkandan
[cleanup] Remove unused code paths, extractors, scripts and tests by fstirlitz
[cleanup] Upgrade syntax (pyupgrade) and sort imports (isort)
[cleanup, docs, build] Misc fixes
[BilibiliLive] Add extractor by HE7086, pukkandan
[Fifa] Add Extractor by Bricio
[goodgame] Add extractor by nevack
[gronkh] Add playlist extractors by hatienl0i261299
[icareus] Add extractor by tpikonen, pukkandan
[iwara] Add playlist extractors by i6t
[Likee] Add extractor by hatienl0i261299
[masters] Add extractor by m4tu4g
[nebula] Add support for subscriptions by hheimbuerger
[Podchaser] Add extractors by connercsbn
[rokfin:search] Add extractor by P-reducible, pukkandan
[youtube] Add :ytnotifications extractor by krichbanana
[youtube] Add YoutubeStoriesIE (ytstories:<channel UCID>) by coletdjnz
[ZingMp3] Add chart and user extractors by hatienl0i261299
[adn] Update AES key by elyse0
[adobepass] Allow cookies for authenticating MSO
[bandcamp] Exclude merch links by Yipten
[chingari] Fix archiving and tests
[DRTV] Improve _VALID_URL by vertan
[facebook] Improve thumbnail extraction by Wikidepia
[fc2] Stop heatbeating once FFmpeg finishes by Lesmiscore
[Gofile] Fix extraction and support password-protected links by mehq
[hotstar, cleanup] Refactor extractors
[InfoQ] Don't fail on missing audio format by evansp
[Jamendo] Extract more metadata by evansp
[kaltura] Update API calls by flashdagger
[KhanAcademy] Fix extractor by rand-net
[LCI] Fix extractor by MarwenDallel
[lrt] Support livestreams by GiedriusS
[niconico] Set expected_protocol to a public field
[Niconico] Support 2FA by ekangmonyet
[Olympics] Fix format extension
[openrec:movie] Enable fallback for /movie/ URLs
[PearVideo] Add fallback for formats by hatienl0i261299
[radiko] Fix extractor by Lesmiscore
[rai] Add release_year
[reddit] Prevent infinite loop
[rokfin] Implement login by P-reducible, pukkandan
[ruutu] Support hs.fi embeds by tpikonen, pukkandan
[spotify] Detect iframe embeds by fstirlitz
[telegram] Fix metadata extraction
[tmz, cleanup] Update tests by diegorodriguezv
[toggo] Fix _VALID_URL by ca-za
[trovo] Update to new API by nyuszika7h
[TVer] Improve extraction by Lesmiscore
[twitcasting] Pass headers for each formats by Lesmiscore
[VideocampusSachsen] Improve extractor by FestplattenSchnitzel
[vimeo] Fix extractors
[wat] Fix extraction of multi-language videos and subtitles by elyse0
[wistia] Fix _VALID_URL by dirkf
[youtube, cleanup] Minor refactoring by coletdjnz, pukkandan
[youtube] Added piped instance urls by JordanWeatherby
[youtube] Deprioritize auto-generated thumbnails
[youtube] Deprioritize format 22 (often damaged)
[youtube] Fix episode metadata extraction
[zee5] Fix extractor by Ashish0804
[zingmp3, cleanup] Refactor extractors


yt-dlp 2022.04.08

A description of the various files are in the README
Changelog:
Use certificates from certifi if installed by coletdjnz
Treat multiple --match-filters as OR
File locking improvevemnts:
Do not lock downloading file on Windows
Do not prevent download if locking is unsupported
Do not truncate files before locking by jakeogh, pukkandan
Fix non-blocking non-exclusive lock
De-prioritize automatic-subtitles when no --sub-lang is given
Exit after --dump-user-agent
Fallback to video-only format when selecting by extension
Fix --abort-on-error for subtitles
Fix --no-overwrite for playlist infojson
Fix --print with --ignore-no-formats when url is None by flashdagger
Fix --sleep-interval
Fix --throttled-rate
Fix autonumber
Fix case of http_headers
Fix filepath sanitization in --print-to-file
Handle float in --wait-for-video
Ignore mhtml formats from -f mergeall
Ignore format-specific fields in initial pass of --match-filter
Protect stdout from unexpected progress and console-title
Remove Accept-Encoding header from std_headers by coletdjnz
Remove incorrect warning for --dateafter
Show warning when all media formats have DRM
[downloader] Fix invocation of HttpieFD
[http] Fix #3215
[http] Reject broken range before request by Lesmiscore, Jules-A, pukkandan
[fragment] Read downloaded fragments only when needed by Lesmiscore
[http] Retry on more errors by coletdjnz
[mhtml] Fix fragments with absolute urls by coletdjnz
[extractor] Add _perform_login function
[extractor] Allow control characters inside json
[extractor] Support merging subtitles with data by coletdjnz
[generic] Extract subtitles from video.js by Lesmiscore
[ffmpeg] Cache version data
[FFmpegConcat] Ensure final directory exists
[FfmpegMetadata] Write id3v1 tags
[FFmpegVideoConvertor] Add more formats to --remux-video
[FFmpegVideoConvertor] Ensure all streams are copied
[MetadataParser] Validate outtmpl early
[outtmpl] Fix replacement/default when used with alternate
[outtmpl] Limit changes during sanitization
[phantomjs] Fix bug
[test] Add test_locked_file
[utils] format_decimal_suffix: Fix for very large numbers by s0u1h
[utils] traverse_obj: Allow filtering by value
[utils] Add filter_dict, get_first, try_call
[utils] ExtractorError: Fix for older python versions
[utils] WebSocketsWrapper: Allow omitting __enter__ invocation by Lesmiscore
[docs] Add an .editorconfig file by fstirlitz
[docs] Clarify the exact BSD license of dependencies by MrRawes
[docs] Minor improvements by pukkandan, cffswb, danielyli
[docs] Remove readthedocs
[build] Add requirements.txt to pip distributions
[cleanup, postprocessor] Create _download_json
[cleanup, vimeo] Fix tests
[cleanup] Misc fixes and minor cleanup
[cleanup] Use _html_extract_title
[AfreecaTV] Add AfreecaTVUserIE by hatienl0i261299
[arte] Add format_note to m3u8 formats
[azmedien] Add TVO Online to supported hosts by 1-Byte
[BanBye] Add extractor by mehq
[bilibili] Fix extraction of title with quotes by dzek69
[Craftsy] Add extractor by Bricio
[Cybrary] Add extractor by aaearon
[Huya] Add extractor by hatienl0i261299
[ITProTV] Add extractor by aaearon
[Jable] Add extractors by mehq
[LastFM] Add extractors by mehq
[Moviepilot] Add extractor by panatexxa
[panopto] Add extractors by coletdjnz, kmark
[PokemonSoundLibrary] Add extractor by Lesmiscore
[WasdTV] Add extractor by un-def, hatienl0i261299
[adobepass] Fix Suddenlink MSO by CplPwnies
[afreecatv] Match new vod url by wlritchi
[AZMedien] Support tv.telezueri.ch by goggle
[BiliIntl] Support user-generated videos by wlritchi
[BRMediathek] Fix VALID_URL
[crunchyroll:playlist] Implement beta API by tejing1
[crunchyroll] Fix inheritance
[daftsex] Fix extractor by Soebb
[dailymotion] Support geo.dailymotion.com by hatienl0i261299
[ellentube] Extract subtitles from manifest
[elonet] Rewrite extractor by Fam0r, pukkandan
[fptplay] Fix metadata extraction by hatienl0i261299
[FranceCulture] Support playlists by bohwaz
[go, viu] Extract subtitles from the m3u8 manifest by fstirlitz
[Imdb] Improve extractor by hatienl0i261299
[MangoTV] Improve extractor by hatienl0i261299
[Nebula] Fix bug in 52efa4b
[niconico] Fix extraction of thumbnails and uploader (#3266)
[niconico] Rewrite NiconicoIE by Lesmiscore
[nitter] Minor fixes and update instance list by foghawk
[NRK] Extract timestamp by hatienl0i261299
[openrec] Download archived livestreams by Lesmiscore
[openrec] Refactor extractors by Lesmiscore
[panopto] Improve subtitle extraction and support slides by coletdjnz
[ParamountPlus, CBS] Change VALID_URL by Sipherdrakon
[ParamountPlusSeries] Support multiple pages by dodrian
[Piapro] Extract description with break lines by Lesmiscore
[rai] Fix extraction of http formas by nixxo
[rumble] unescape title
[RUTV] Fix format sorting by Lesmiscore
[ruutu] Detect embeds by tpikonen
[tenplay] Improve extractor by aarubui
[TikTok] Fix URLs with user id by hatienl0i261299
[TikTokVM] Fix redirect to user URL
[TVer] Fix extractor by Lesmiscore
[TVer] Support landing page by vvto33
[twitcasting] Don't return multi_video for archive with single hls manifest by Lesmiscore
[veo] Fix _VALID_URL
[Veo] Fix extractor by i6t
[viki] Don't attempt to modify URLs with signature by nyuszika7h
[viu] Fix bypass for preview by zackmark29
[viu] Fixed extractor by zackmark29, pukkandan
[web.archive:youtube] Make CDX API requests non-fatal by coletdjnz
[wget] Fix proxy by kikuyan, coletdjnz
[xnxx] Add xnxx3.com by rozari0
[youtube] Add new age-gate bypass by zerodytrash, pukkandan
[youtube] Add extractor-arg to skip auto-translated subs
[youtube] Avoid false positives when detecting damaged formats
[youtube] Detect DRM better by shirt
[youtube] Fix auto-translated automatic captions
[youtube] Fix pagination of membership tab
[youtube] Fix uploader for collaborative playlists by coletdjnz
[youtube] Improve video upload date handling by coletdjnz
[youtube:api] Prefer minified JSON response by coletdjnz
[youtube:search] Support hashtag entries by coletdjnz
[youtube:tab] Fix duration extraction for shorts by coletdjnz
[youtube:tab] Minor improvements
[youtube:tab] Return shorts url if video is a short by coletdjnz
[Zattoo] Fix extractors by goggle
[Zingmp3] Fix signature by hatienl0i261299


yt-dlp 2022.03.08.1

Changelog:
[cleanup] Refactor __init__.py
[build] Fix bug


yt-dlp 2022.02.04

Changelog:
[youtube:search] Fix extractor by coletdjnz
[youtube:search] Add tests
[twitcasting] Enforce UTF-8 for POST payload by Lesmiscore
[mediaset] Fix extractor by nixxo
[websocket] Make syntax error in websockets module non-fatal


yt-dlp 2022.02.03 Latest

Changelog:
Merge youtube-dl: Upto commit/78ce962
Add option --print-to-file
Make nested --config-locations relative to parent file
Ensure _type is present in info.json
Fix --compat-options list-formats
Fix/improve InAdvancePagedList
[downloader/ffmpeg] Handle unknown formats better
[outtmpl] Handle -o "" better
[outtmpl] Handle hard-coded file extension better
[extractor] Add convinience function _yes_playlist
[extractor] Allow non-fatal title extraction
[extractor] Extract video inside Article json_ld
[generic] Allow further processing of json_ld URL
[cookies] Fix keyring selection for unsupported desktops
[utils] Strip double spaces in clean_html by dirkf
[aes] Add unpad_pkcs7
[test] Fix test_youtube_playlist_noplaylist
[docs,cleanup] Misc cleanup
[dplay] Add extractors for site changes by Sipherdrakon
[ertgr] Add extractors by zmousm, dirkf
[Musicdex] Add extractors by Ashish0804
[YandexVideoPreview] Add extractor by KiberInfinity
[youtube] Add extractor YoutubeMusicSearchURLIE
[archive.org] Ignore unnecessary files
[Bilibili] Add 8k support by u-spec-png
[bilibili] Fix extractor, make anthology title non-fatal
[CAM4] Add thumbnail extraction by alerikaisattera
[cctv] De-prioritize sample format
[crunchyroll:beta] Add cookies support by tejing1
[crunchyroll] Fix login by tejing1
[doodstream] Fix extractor
[fc2] Fix extraction by Lesmiscore
[FFmpegConcat] Abort on --skip-download and download errors
[Fujitv] Extract metadata and support premium by YuenSzeHong
[globo] Fix extractor by Bricio
[glomex] Simplify embed detection
[GoogleSearch] Fix extractor
[Instagram] Fix extraction when logged in by MinePlayersPE
[iq.com] Add VIP support by MinePlayersPE
[mildom] Fix extractor by lazypete365
[MySpass] Fix video url processing by trassshhub
[Odnoklassniki] Improve embedded players extraction by KiberInfinity
[orf:tvthek] Lazy playlist extraction and obey --no-playlist
[Pladform] Fix redirection to external player by KiberInfinity
[ThisOldHouse] Improve Premium URL check by Ashish0804
[TikTok] Iterate through app versions by MinePlayersPE
[tumblr] Fix 403 errors and handle vimeo embeds by foghawk
[viki] Fix "Bad request" for manifest by nyuszika7h
[Vimm] add recording extractor by alerikaisattera
[web.archive:youtube] Add ytarchive: prefix and misc cleanup
[youtube:api] Do not use seek when reading HTTPError response by coletdjnz
[youtube] Fix n-sig for player e06dea74
[youtube, cleanup] Misc fixes and cleanup


yt-dlp 2022.01.21

Changelog:
Add option --concat-playlist to concat videos in a playlist
Allow multiple and nested configuration files
Add more post-processing stages (after_video, playlist)
Allow --exec to be run at any post-processing stage (Deprecates --exec-before-download)
Allow --print to be run at any post-processing stage
Allow listing formats, thumbnails, subtitles using --print by pukkandan, Zirro
Add fields video_autonumber, modified_date, modified_timestamp, playlist_count, channel_follower_count
Add key requested_downloads in the root info_dict
Write download_archive only after all formats are downloaded
[FfmpegMetadata] Allow setting metadata of individual streams using meta<n>_ prefix
Add option --legacy-server-connect by xtkoba
Allow escaped , in --extractor-args
Allow unicode characters in info.json
Check for existing thumbnail/subtitle in final directory
Don't treat empty containers as None in sanitize_info
Fix -s --ignore-no-formats --force-write-archive
Fix live title for multiple formats
List playlist thumbnails in --list-thumbnails
Raise error if subtitle download fails
[cookies] Fix bug when keyring is unspecified
[ffmpeg] Ignore unknown streams, standardize use of -map 0
[outtmpl] Alternate form for D and fix suffix's case
[utils] Add Sec-Fetch-Mode to std_headers
[utils] Fix format_bytes output for Bytes by pukkandan, mdawar
[utils] Handle ss:xxx in parse_duration
[utils] Improve parsing for nested HTML elements by zmousm, pukkandan
[utils] Use key None in traverse_obj to return as-is
[extractor] Detect more subtitle codecs in MPD manifests by fstirlitz
[extractor] Extract chapters from JSON-LD by iw0nderhow, pukkandan
[extractor] Extract thumbnails from JSON-LD by nixxo
[extractor] Improve url_result and related
[generic] Improve KVS player extraction by trassshhub
[build] Reduce dependency on third party workflows
[extractor,cleanup] Use _search_nextjs_data, format_field
[cleanup] Minor fixes and cleanup
[docs] Improvements
[test] Fix TestVerboseOutput
[afreecatv] Add livestreams extractor by wlritchi
[callin] Add extractor by foghawk
[CrowdBunker] Add extractors by Ashish0804
[daftsex] Add extractors by k3ns1n
[digitalconcerthall] Add extractor by teridon
[Drooble] Add extractor by u-spec-png
[EuropeanTour] Add extractor by Ashish0804
[iq.com] Add extractors by MinePlayersPE
[KelbyOne] Add extractor by Ashish0804
[LnkIE] Add extractor by Ashish0804
[MainStreaming] Add extractor by coletdjnz
[megatvcom] Add extractors by zmousm
[Newsy] Add extractor by Ashish0804
[noodlemagazine] Add extractor by trassshhub
[PokerGo] Add extractors by Ashish0804
[Pornez] Add extractor by mozlima
[PRX] Add Extractors by coletdjnz
[RTNews] Add extractor by Ashish0804
[Rule34video] Add extractor by trassshhub
[tvopengr] Add extractors by zmousm
[Vimm] Add extractor by alerikaisattera
[glomex] Add extractors by zmousm
[instagram] Add story/highlight extractor by u-spec-png
[openrec] Add movie extractor by Lesmiscore
[rai] Add Raiplaysound extractors by nixxo, pukkandan
[aparat] Fix extractor
[ard] Extract subtitles by fstirlitz
[BiliIntl] Add login by MinePlayersPE
[CeskaTelevize] Use http for manifests
[CTVNewsIE] Add fallback for video search by Ashish0804
[dplay] Migrate DiscoveryPlusItaly to DiscoveryPlus by timendum
[dplay] Re-structure DiscoveryPlus extractors
[Dropbox] Support password protected files and more formats by zenerdi0de
[facebook] Fix extraction from groups
[facebook] Improve title and uploader extraction
[facebook] Parse dash manifests
[fox] Extract m3u8 from preview by ischmidt20
[funk] Support origin URLs
[gfycat] Fix uploader
[gfycat] Support embeds by coletdjnz
[hotstar] Add extractor args to ignore tags by Ashish0804
[hrfernsehen] Fix ardloader extraction by CreaValix
[instagram] Fix username extraction for stories and highlights by nyuszika7h
[kakao] Detect geo-restriction
[line] Remove tv.line.me by sian1468
[mixch] Add MixchArchiveIE by Lesmiscore
[mixcloud] Detect restrictions by llacb47
[NBCSports] Fix extraction of platform URLs by ischmidt20
[Nexx] Extract more metadata by MinePlayersPE
[Nexx] Support 3q CDN by MinePlayersPE
[pbs] de-prioritize AD formats
[PornHub,YouTube] Refresh onion addresses by unit193
[RedBullTV] Parse subtitles from manifest by Ashish0804
[streamcz] Fix extractor by arkamar, pukkandan
[Ted] Rewrite extractor by pukkandan, trassshhub
[Theta] Fix valid URL by alerikaisattera
[ThisOldHouseIE] Add support for premium videos by Ashish0804
[TikTok] Fix extraction for sigi-based webpages, add API fallback by MinePlayersPE
[TikTok] Pass cookies to formats, and misc fixes by MinePlayersPE
[TikTok] Extract captions, user thumbnail by MinePlayersPE
[TikTok] Change app version by MinePlayersPE, llacb47
[TVer] Extract message for unaired live by Lesmiscore
[twitcasting] Refactor extractor by Lesmiscore
[twitter] Fix video in quoted tweets
[veoh] Improve extractor by foghawk
[vk] Capture clip URLs
[vk] Fix VKUserVideosIE by Ashish0804
[vk] Improve _VALID_URL by k3ns1n
[VrtNU] Handle empty title by pgaig
[XVideos] Check HLS formats by MinePlayersPE
[yahoo:gyao] Improved playlist handling by hyano
[youtube:tab] Extract more playlist metadata by coletdjnz, pukkandan
[youtube:tab] Raise error on tab redirect by krichbanana, coletdjnz
[youtube] Update Innertube clients by coletdjnz
[youtube] Detect live-stream embeds
[youtube] Do not return upload_date for playlists
[youtube] Extract channel subscriber count by coletdjnz
[youtube] Make invalid storyboard URL non-fatal
[youtube] Enforce UTC, update innertube clients and tests by coletdjnz
[zdf] Add chapter extraction by iw0nderhow
[zee5] Add geo-bypass


yt-dlp 2021.12.27

Changelog:
Avoid recursion error when re-extracting info
[ffmpeg] Fix position of --ppa
[aria2c] Don't show progress when --no-progress
[cookies] Support other keyrings by mbway
[EmbedThumbnail] Prefer AtomicParsley over ffmpeg if available
[generic] Fix HTTP KVS Player by git-anony-mouse
[ThumbnailsConvertor] Fix for when there are no thumbnails
[docs] Add examples for using TYPES: in -P/-o
[PixivSketch] Add extractors by nao20010128nao
[tiktok] Add music, sticker and tag IEs by MinePlayersPE
[BiliIntl] Fix extractor by MinePlayersPE
[CBC] Fix URL regex
[tiktok] Fix extractor_key used in archive
[youtube] End live-from-start properly when stream ends with 403
[Zee5] Fix VALID_URL for tv-shows by Ashish0804


yt-dlp 2021.12.25

[dash,youtube] Download live from start to end by nao20010128nao, pukkandan
Add option --live-from-start to enable downloading live videos from start
Add key is_from_start in formats to identify formats (of live videos) that downloads from start
[dash] Create protocol http_dash_segments_generator that allows a function to be passed instead of fragments
[fragment] Allow multiple live dash formats to download simultaneously
[youtube] Implement fragment re-fetching for the live dash formats
[youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
[postprocessor/ffmpeg] Add FFmpegFixupDuplicateMoovPP to fixup duplicated moov atoms
Known issues:
Ctrl+C doesn't work on Windows when downloading multiple formats
If video becomes private, download hangs
[SponsorBlock] Add Filler and Highlight categories by nihil-admirari, pukkandan
Change --sponsorblock-cut all to --sponsorblock-cut default if you do not want filler sections to be removed
Add field webpage_url_domain
Add interactive format selection with -f -
Add option --file-access-retries by ehoogeveen-medweb
[outtmpl] Add alternate forms S, D and improve id detection
[outtmpl] Add operator & for replacement text by PilzAdam
[EmbedSubtitle] Disable duration check temporarily
[extractor] Add _search_nuxt_data by nao20010128nao
[extractor] Ignore errors in comment extraction when -i is given
[extractor] Standardize _live_title
[FormatSort] Prevent incorrect deprecation warning
[generic] Extract m3u8 formats from JSON-LD
[postprocessor/ffmpeg] Always add faststart
[utils] Fix parsing YYYYMMDD dates in Nov/Dec by wlritchi
[utils] Improve parse_count
[utils] Update std_headers by kikuyan, fstirlitz
[lazy_extractors] Fix for search IEs
[extractor] Support default implicit graph in JSON-LD by zmousm
Allow --no-write-thumbnail to override --write-all-thumbnail
Fix --throttled-rate
Fix control characters being printed to --console-title
Fix PostProcessor hooks not registered for some PPs
Pre-process when using --flat-playlist
Remove known invalid thumbnails from info_dict
Add warning when using -f best
Use parse_duration for --wait-for-video and some minor fix
[test/download] Add more fields
[test/download] Ignore field webpage_url_domain by std-move
[compat] Suppress errors in enabling VT mode
[docs] Improve manpage format by iw0nderhow, pukkandan
[docs,cleanup] Minor fixes and cleanup
[cleanup] Fix some typos by unit193
[ABC:iview] Add show extractor by pabs3
[dropout] Add extractor by TwoThousandHedgehogs, pukkandan
[GameJolt] Add extractors by MinePlayersPE
[gofile] Add extractor by Jertzukka, Ashish0804
[hse] Add extractors by cypheron, pukkandan
[NateTV] Add NateIE and NateProgramIE by Ashish0804, Hyeeji
[OpenCast] Add extractors by bwildenhain, C0D3D3V
[rtve] Add RTVEAudioIE by kebianizao
[Rutube] Add RutubeChannelIE by Ashish0804
[skeb] Add extractor by nao20010128nao
[soundcloud] Add related tracks extractor by Lapin0t
[toggo] Add extractor by nyuszika7h
[TrueID] Add extractor by MinePlayersPE
[audiomack] Update album and song VALID_URL by abdullah-if, dirkf
[CBC Gem] Extract 1080p formats by DavidSkrundz
[ceskatelevize] Fetch iframe from nextJS data by mkubecek
[crackle] Look for non-DRM formats by raleeper
[dplay] Temporary fix for discoveryplus.com/it
[DiscoveryPlusShowBaseIE] yield actual video id by Ashish0804
[Facebook] Handle redirect URLs
[fujitv] Extract 1080p from tv_android m3u8 by YuenSzeHong
[gronkh] Support new URL pattern by Sematre
[instagram] Expand valid URL by u-spec-png
[Instagram] Try bypassing login wall with embed page by MinePlayersPE
[Jamendo] Fix use of _VALID_URL_RE by jaller94
[LBRY] Support livestreams by Ashish0804, pukkandan
[NJPWWorld] Extract formats from m3u8 by aarubui
[NovaEmbed] update player regex by std-move
[npr] Make SMIL extraction non-fatal by r5d
[ntvcojp] Extract NUXT data by nao20010128nao
[ok.ru] add mobile fallback by nao20010128nao
[olympics] Add uploader and cleanup by u-spec-png
[ondemandkorea] Update jw_config regex by julien-hadleyjack
[PlutoTV] Expand _VALID_URL
[RaiNews] Fix extractor by nixxo
[RCTIPlusSeries] Lazy extraction and video type selection by MinePlayersPE
[redtube] Handle formats delivered inside a JSON by dirkf, nixxo
[SonyLiv] Add OTP login support by Ashish0804
[Steam] Fix extractor by u-spec-png
[TikTok] Pass cookies to mobile API by MinePlayersPE
[trovo] Fix inheritance of TrovoChannelBaseIE
[TVer] Extract better thumbnails by YuenSzeHong
[vimeo] Extract chapters
[web.archive:youtube] Improve metadata extraction by coletdjnz
[youtube:comments] Add more options for limiting number of comments extracted by coletdjnz
[youtube:tab] Extract more metadata from feeds/channels/playlists by coletdjnz
[youtube:tab] Extract video thumbnails from playlist by coletdjnz, pukkandan
[youtube:tab] Ignore query when redirecting channel to playlist and cleanup of related code
[youtube] Fix ytsearchdate
[zdf] Support videos with different ptmd location by iw0nderhow
[zee5] Support /episodes in URL


yt-dlp 2021.12.01

Add option --wait-for-video to wait for scheduled streams
Add option --break-per-input to apply --break-on... to each input URL
Add option --embed-info-json to embed info.json in mkv
Add compat-option embed-metadata
Allow using a custom format selector through API
[AES] Add ECB mode by nao20010128nao
[build] Fix MacOS Build
[build] Save Git HEAD at release alongside version info
[build] Use workflow_dispatch for release
[downloader/ffmpeg] Fix for direct videos inside mpd manifests
[downloader] Add colors to download progress
[EmbedSubtitles] Slightly relax duration check and related cleanup
[ExtractAudio] Fix conversion to wav and vorbis
[ExtractAudio] Support alac
[extractor] Extract average_rating from JSON-LD
[FixupM3u8] Fixup MPEG-TS in MP4 container
[generic] Support mpd manifests without extension by shirt
[hls] Better FairPlay DRM detection by nyuszika7h
[jsinterp] Fix splice to handle float (for youtube js player f1ca6900)
[utils] Allow alignment in render_table and add tests
[utils] Fix PagedList
[utils] Fix error when copying LazyList
Clarify video/audio-only formats in -F
Ensure directory exists when checking formats
Ensure path for link files exists by Zirro
Ensure same config file is not loaded multiple times
Fix postprocessor_hooks
Fix --break-on-archive when pre-checking
Fix --check-formats for mhtml
Fix --load-info-json of playlists with failed entries
Fix --trim-filename when filename has .
Fix bug in parsing --add-header
Fix error in report_unplayable_conflict by shirt
Fix writing playlist infojson with --no-clean-infojson
Validate --get-bypass-country
[blogger] Add extractor by pabs3
[breitbart] Add extractor by Grabien
[CableAV] Add extractor by j54vc1bk
[CanalAlpha] Add extractor by Ashish0804
[CozyTV] Add extractor by Ashish0804
[CPTwentyFour] Add extractor by Ashish0804
[DiscoveryPlus] Add DiscoveryPlusItalyShowIE by Ashish0804
[ESPNCricInfo] Add extractor by Ashish0804
[LinkedIn] Add extractor by u-spec-png
[mixch] Add extractor by nao20010128nao
[nebula] Add NebulaCollectionIE and rewrite extractor by hheimbuerger
[OneFootball] Add extractor by Ashish0804
[peer.tv] Add extractor by u-spec-png
[radiozet] Add extractor by 0xA7404A (Aurora)
[redgifs] Add extractor by chio0hai
[RedGifs] Add Search and User extractors by Deer-Spangle
[rtrfm] Add extractor by pabs3
[Streamff] Add extractor by cntrl-s
[Stripchat] Add extractor by zulaport
[Aljazeera] Fix extractor by u-spec-png
[AmazonStoreIE] Fix regex to not match vdp urls by Ashish0804
[ARDBetaMediathek] Handle new URLs
[bbc] Get all available formats by nyuszika7h
[Bilibili] Fix title extraction by u-spec-png
[CBC Gem] Fix for shows that don't have all seasons by makeworld-the-better-one
[curiositystream] Add more metadata
[CuriosityStream] Fix series
[DiscoveryPlus] Rewrite extractors by Ashish0804, pukkandan
[HotStar] Set language field from tags by Ashish0804
[instagram, cleanup] Refactor extractors
[Instagram] Display more login errors by MinePlayersPE
[itv] Fix extractor by staubichsauger, pukkandan
[mediaklikk] Expand valid URL
[MTV] Improve mgid extraction by Sipherdrakon, kikuyan
[nexx] Better error message for unsupported format
[NovaEmbed] Fix extractor by pukkandan, std-move
[PatreonUser] Do not capture RSS URLs
[Reddit] Add support for 1080p videos by xenova
[RoosterTeethSeries] Fix for multiple pages by MinePlayersPE
[sbs] Fix for movies and livestreams
[Senate.gov] Add SenateGovIE and fix SenateISVPIE by Grabien, pukkandan
[soundcloud:search] Fix pagination
[tiktok:user] Set webpage_url correctly
[Tokentube] Fix description by u-spec-png
[trovo] Fix extractor by nyuszika7h
[tv2] Expand valid URL
[Tvplayhome] Fix extractor by pukkandan, 18928172992817182
[Twitch:vod] Add chapters by mpeter50
[twitch:vod] Extract live status by DEvmIb
[VidLii] Add 720p support by mrpapersonic
[vimeo] Add fallback for config URL
[vimeo] Sort http formats higher
[WDR] Expand valid URL
[willow] Add extractor by aarubui
[xvideos] Detect embed URLs by 4a1e2y5
[xvideos] Fix extractor by Yakabuff
[youtube, cleanup] Reorganize Tab and Search extractor inheritances
[youtube:search_url] Add playlist/channel support
[youtube] Add default player client by coletdjnz
[youtube] Add storyboard formats
[youtube] Decrypt n-sig for URLs with ratebypass
[youtube] Minor improvement to format sorting
[cleanup] Add deprecation warnings
[cleanup] Minor cleanup
[cleanup] Misc cleanup
[cleanup] Refactor JSInterpreter._seperate
[Cleanup] Remove some unnecessary groups in regexes by Ashish0804


yt-dlp 2021.11.10.1

Temporarily disable MacOS Build

yt-dlp 2021.11.10

[youtube] Fix throttling by decrypting n-sig
Merging extractors from haruhi-dl by selfisekai
[extractor] Add _search_nextjs_data
[tvp] Fix extractors
[tvp] Add TVPStreamIE
[wppilot] Add extractors
[polskieradio] Add extractors
[radiokapital] Add extractors
[polsatgo] Add extractor by selfisekai, sdomi
Separate --check-all-formats from --check-formats
Approximate filesize from bitrate
Don't create console in windows_enable_vt_mode
Fix bug in --load-infojson of playlists
[minicurses] Add colors to -F and standardize color-printing code
[outtmpl] Add type link for internet shortcut files
[outtmpl] Add alternate forms for q and j
[outtmpl] Do not traverse None
[fragment] Fix progress display in fragmented downloads
[downloader/ffmpeg] Fix vtt download with ffmpeg
[ffmpeg] Detect presence of setts and libavformat version
[ExtractAudio] Rescale --audio-quality correctly by CrypticSignal, pukkandan
[ExtractAudio] Use libfdk_aac if available by CrypticSignal
[FormatSort] eac3 is better than ac3
[FormatSort] Fix some fields' defaults
[generic] Detect more json_ld
[generic] parse jwplayer with only the json URL
[extractor] Add keyword automatically to SearchIE descriptions
[extractor] Fix some errors being converted to ExtractorError
[utils] Add join_nonempty
[utils] Add jwt_decode_hs256 by Ashish0804
[utils] Create DownloadCancelled exception
[utils] Parse vp09 as vp9
[utils] Sanitize URL when determining protocol
[test/download] Fallback test to bv
[docs] Minor documentation improvements
[cleanup] Improvements to error and debug messages
[cleanup] Minor fixes and cleanup
[3speak] Add extractors by Ashish0804
[AmazonStore] Add extractor by Ashish0804
[Gab] Add extractor by u-spec-png
[mediaset] Add playlist support by nixxo
[MLSScoccer] Add extractor by Ashish0804
[N1] Add support for nova.rs by u-spec-png
[PlanetMarathi] Add extractor by Ashish0804
[RaiplayRadio] Add extractors by frafra
[roosterteeth] Add series extractor
[sky] Add SkyNewsStoryIE by ajj8
[youtube] Fix sorting for some videos
[youtube] Populate thumbnail with the best "known" thumbnail
[youtube] Refactor itag processing
[youtube] Remove unnecessary no-playlist warning
[youtube:tab] Add Invidious list for playlists/channels by rhendric
[Bilibili:comments] Fix infinite loop by u-spec-png
[ceskatelevize] Fix extractor by flashdagger
[Coub] Fix media format identification by wlritchi
[crunchyroll] Add extractor-args language and hardsub
[DiscoveryPlus] Allow language codes in URL
[imdb] Fix thumbnail by ozburo
[instagram] Add IOS URL support by u-spec-png
[instagram] Improve login code by u-spec-png
[Instagram] Improve metadata extraction by u-spec-png
[iPrima] Fix extractor by stanoarn
[itv] Add support for ITV News by ajj8
[la7] Fix extractor by nixxo
[linkedin] Don't login multiple times
[mtv] Fix some videos by Sipherdrakon
[Newgrounds] Fix description by u-spec-png
[Nrk] Minor fixes by fractalf
[Olympics] Fix extractor by u-spec-png
[piksel] Fix sorting
[twitter] Do not sort by codec
[viewlift] Add cookie-based login and series support by Ashish0804, pukkandan
[vimeo] Detect source extension and misc cleanup by flashdagger
[vimeo] Fix ondemand videos and direct URLs with hash
[vk] Fix login and add subtitles by kaz-us
[VLive] Add upload_date and thumbnail by Ashish0804
[VRT] Fix login by pgaig
[Vupload] Fix extractor by u-spec-png
[wakanim] Add support for MPD manifests by nyuszika7h
[wakanim] Detect geo-restriction by nyuszika7h
[ZenYandex] Fix extractor by u-spec-png


yt-dlp 2021.10.22

[build] Improvements
Build standalone MacOS packages by smplayer-dev
Release windows exe built with py2exe
Enable lazy-extractors in releases.
Set env var YTDLP_NO_LAZY_EXTRACTORS to forcefully disable this (experimental)
Clean up error reporting in update
Refactor pyinst.py, misc cleanup and improve docs
[docs] Migrate issues to use forms by Ashish0804
[downloader] Fix slow progress hooks
This was causing HLS/DASH downloads to be extremely slow in some situations
[downloader/ffmpeg] Improve simultaneous download and merge
[EmbedMetadata] Allow overwriting all default metadata with meta_default key
[ModifyChapters] Add ability for --remove-chapters to remove sections by timestamp
[utils] Allow duration strings in --match-filter
Add HDR information to formats
Add negative option --no-batch-file by Zirro
Calculate more fields for merged formats
Do not verify thumbnail URLs unless --check-formats is specified
Don't create console for subprocesses on Windows
Fix --restrict-filename when used with default template
Fix check_formats output being written to stdout when -qv
Fix bug in storyboards
Fix conflict b/w id and ext in format selection
Fix verbose head not showing custom configs
Load archive only after printing verbose head
Make duration_string and resolution available in --match-filter
Re-implement deprecated option --id
Reduce default --socket-timeout
Write verbose header to logger
[outtmpl] Fix bug in expanding environment variables
[cookies] Local State should be opened as utf-8
[extractor,utils] Detect more codecs/mimetypes
[extractor] Detect EXT-X-KEY Apple FairPlay
[utils] Use importlib to load plugins by sulyi
[http] Retry on socket timeout and show the last encountered error
[fragment] Print error message when skipping fragment
[aria2c] Fix --skip-unavailable-fragment
[SponsorBlock] Obey extractor-retries and sleep-requests
[Merger] Do not add aac_adtstoasc to non-hls audio
[ModifyChapters] Do not mutate original chapters by nihil-admirari
[devscripts/run_tests] Use markers to filter tests by sulyi
[7plus] Add cookie based authentication by nyuszika7h
[AdobePass] Fix RCN MSO by jfogelman
[CBC] Fix Gem livestream by makeworld-the-better-one
[CBC] Support CBC Gem member content by makeworld-the-better-one
[crunchyroll] Add season to flat-playlist Closes #1319
[crunchyroll] Add support for beta.crunchyroll URLs and fix series URLs with language code
[EUScreen] Add Extractor by Ashish0804
[Gronkh] Add extractor by Ashish0804
[hidive] Fix typo
[Hotstar] Mention Dynamic Range in format_id by Ashish0804
[Hotstar] Raise appropriate error for DRM
[instagram] Add login by u-spec-png
[instagram] Show appropriate error when login is needed
[microsoftstream] Add extractor by damianoamatruda, nixklai
[on24] Add extractor by damianoamatruda
[patreon] Fix vimeo player regex by zenerdi0de
[SkyNewsAU] Add extractor by Ashish0804
[tagesschau] Fix extractor by u-spec-png
[tbs] Add tbs live streams by llacb47
[tiktok] Fix typo and update tests
[trovo] Support channel clips and VODs by Ashish0804
[Viafree] Add support for Finland by 18928172992817182
[vimeo] Fix embedded player.vimeo
[vlive:channel] Fix extraction by kikuyan, pukkandan
[youtube] Add auto-translated subtitles
[youtube] Expose different formats with same itag
[youtube:comments] Fix for new layout by coletdjnz
[cleanup] Cleanup bilibili code by pukkandan, u-spec-png
[cleanup] Remove broken youtube login code
[cleanup] Standardize timestamp formatting code
[cleanup] Generalize getcomments implementation for extractors
[cleanup] Simplify search extractors code
[cleanup] misc


yt-dlp 2021.10.10

There was a couple of serious bugs in last release (#1215, #1211)
So here's a hotfix

Changelog:

[downloader/ffmpeg] Fix bug in initializing FFmpegPostProcessor
[minicurses] Fix when printing to file
[downloader] Fix throttledratelimit
[francetv] Fix extractor by fstirlitz, sarnoud
[NovaPlay] Add extractor by Bojidarist
[ffmpeg] Revert "Set max probesize" - No longer needed
[docs] Remove incorrect dependency on VC++10
[build] Allow to release without changelog


yt-dlp 2021.10.09

Changelog:

Improved progress reporting
Separate --console-title and --no-progress
Add option --progress to show progress-bar even in quiet mode
Fix and refactor minicurses and use it for all progress reporting
Standardize use of terminal sequences and enable color support for windows 10
Add option --progress-template to customize progress-bar and console-title
Add postprocessor hooks and progress reporting
[postprocessor] Add plugin support with option --use-postprocessor
[extractor] Extract storyboards from SMIL manifests by fstirlitz
[outtmpl] Alternate form of format type l for n delimited list
[outtmpl] Format type U for unicode normalization
[outtmpl] Allow empty output template to skip a type of file
Merge webm formats into mkv if thumbnails are to be embedded
[adobepass] Add RCN as MSO by jfogelman
[ciscowebex] Add extractor by damianoamatruda
[Gettr] Add extractor by i6t
[GoPro] Add extractor by i6t
[N1] Add extractor by u-spec-png
[Theta] Add video extractor by alerikaisattera
[Veo] Add extractor by i6t
[Vupload] Add extractor by u-spec-png
[bbc] Extract better quality videos by ajj8
[Bilibili] Add subtitle converter by u-spec-png
[CBC] Cleanup tests by makeworld-the-better-one
[Douyin] Rewrite extractor by MinePlayersPE
[Funimation] Fix for /v/ urls by pukkandan, Jules-A
[Funimation] Sort formats according to the relevant extractor-args
[Hidive] Fix duplicate and incorrect formats
[HotStarSeries] Fix cookies by Ashish0804
[LinkedInLearning] Add subtitles by Ashish0804
[Mediaite] Relax valid url by coletdjnz
[Newgrounds] Add age_limit and fix duration by u-spec-png
[Newgrounds] Fix view count on songs by u-spec-png
[parliamentlive.tv] Fix extractor by u-spec-png
[PolskieRadio] Fix extractors by jakubadamw, u-spec-png
[reddit] Add embedded url by u-spec-png
[reddit] Fix 429 by generating a random reddit_session by AjaxGb
[Rumble] Add RumbleChannelIE by Ashish0804
[soundcloud:playlist] Detect last page correctly
[SovietsCloset] Add duration from m3u8 by ChillingPepper
[Streamable] Add codecs by u-spec-png
[vidme] Remove extractor by alerikaisattera
[youtube:tab] Fallback to API when webpage fails to download by coletdjnz
[youtube] Fix non-fatal errors in fetching player
Fix --flat-playlist when neither IE nor id is known
Fix -f mp4 behaving differently from youtube-dl
Workaround for bug in ssl.SSLContext.load_default_certs
[aes] Improve performance slightly by sulyi
[cookies] Fix keyring fallback by mbway
[embedsubtitle] Fix error when duration is unknown
[ffmpeg] Fix error when subtitle file is missing
[ffmpeg] Set max probesize to workaround AAC HLS stream issues by shirt
[FixupM3u8] Remove redundant run if merged is needed
[hls] Fix decryption issues by shirt, pukkandan
[http] Respect user-provided chunk size over extractor's
[utils] Let traverse_obj accept functions as keys
[docs] Add note about our custom ffmpeg builds
[docs] Write embedding and contributing documentation by pukkandan, timethrow
[update] Check for new version even if not updateable
[build] Add more files to the tarball
[build] Allow building with py2exe (and misc fixes)
[build] Use pycryptodomex by shirt, pukkandan
[cleanup] Some minor refactoring, improve docs and misc cleanup


yt-dlp 2021.09.25

Changelog:

Add new option --netrc-location
[outtmpl] Allow alternate fields using ,
[outtmpl] Add format type B to treat the value as bytes (eg: to limit the filename to a certain number of bytes)
Separate the options --ignore-errors and --no-abort-on-error
Basic framework for simultaneous download of multiple formats by nao20010128nao
[17live] Add 17.live extractor by nao20010128nao
[bilibili] Add BiliIntlIE and BiliIntlSeriesIE by Ashish0804
[CAM4] Add extractor by alerikaisattera
[Chingari] Add extractors by Ashish0804
[CGTN] Add extractor by chao813
[damtomo] Add extractor by nao20010128nao
[gotostage] Add extractor by poschi3
[Koo] Add extractor by Ashish0804
[Mediaite] Add Extractor by Ashish0804
[Mediaklikk] Add Extractor by tmarki, mrx23dot, coletdjnz
[MuseScore] Add Extractor by Ashish0804
[Newgrounds] Add NewgroundsUserIE and improve extractor by u-spec-png
[nzherald] Add NZHeraldIE by coletdjnz
[Olympics] Add replay extractor by Ashish0804
[Peertube] Add channel and playlist extractors by u-spec-png
[radlive] Add extractor by nyuszika7h
[SovietsCloset] Add extractor by ChillingPepper
[Streamanity] Add Extractor by alerikaisattera
[Theta] Add extractor by alerikaisattera
[Yandex] Add ZenYandexIE and ZenYandexChannelIE by Ashish0804
[9Now] handle episodes of series by dalanmiller
[AnimalPlanet] Fix extractor by Sipherdrakon
[Arte] Improve description extraction by renalid
[atv.at] Use jwt for API by NeroBurner
[brightcove] Extract subtitles from manifests
[CBC] Fix CBC Gem extractors by makeworld-the-better-one
[cbs] Report appropriate error for DRM
[comedycentral] Support collection-playlist by nixxo
[DIYNetwork] Support new format by Sipherdrakon
[downloader/niconico] Pass custom headers by nao20010128nao
[dw] Fix extractor
[Fancode] Fix live streams by zenerdi0de
[funimation] Fix for locations outside US by Jules-A, pukkandan
[globo] Fix GloboIE by Ashish0804
[HiDive] Fix extractor by Ashish0804
[Hotstar] Add referer for subs by Ashish0804
[itv] Fix extractor, add subtitles and thumbnails by coletdjnz, sleaux-meaux, Vangelis66
[lbry] Show error message from API response
[Mxplayer] Use mobile API by Ashish0804
[NDR] Rewrite NDRIE by Ashish0804
[Nuvid] Fix extractor by u-spec-png
[Oreilly] Handle new web url by MKSherbini
[pbs] Fix subtitle extraction by coletdjnz, gesa, raphaeldore
[peertube] Update instances by u-spec-png
[plutotv] Fix extractor for URLs with /en
[reddit] Workaround for 429 by redirecting to old.reddit.com
[redtube] Fix exts
[soundcloud] Make playlist extraction lazy
[soundcloud] Retry playlist pages on 502 error and update _CLIENT_ID
[southpark] Fix SouthParkDE by coletdjnz
[SovietsCloset] Fix playlists for games with only named categories by ConquerorDopy
[SpankBang] Fix uploader by f4pp3rk1ng, coletdjnz
[tiktok] Use API to fetch higher quality video by MinePlayersPE, llacb47
[TikTokUser] Fix extractor using mobile API by MinePlayersPE, llacb47
[videa] Fix some extraction errors by nyuszika7h
[VrtNU] Handle login errors by llacb47
[vrv] Don't raise error when thumbnails are missing
[youtube] Cleanup authentication code by coletdjnz
[youtube] Fix --mark-watched with --cookies-from-browser
[youtube] Improvements to JS player extraction and add extractor-args to skip it by coletdjnz
[youtube] Retry on 'Unknown Error' by coletdjnz
[youtube] Return full URL instead of just ID
[youtube] Warn when trying to download clips
[zdf] Improve format sorting
[zype] Extract subtitles from the m3u8 manifest by fstirlitz
Allow --force-write-archive to work with --flat-playlist
Download subtitles in order of --sub-langs
Allow 0 in --playlist-items
Handle more playlist errors with -i
Fix --no-get-comments
Fix extra_info being reused across runs
Fix compat options no-direct-merge and playlist-index
Dump files should obey --trim-filename by sulyi
[aes] Add aes_gcm_decrypt_and_verify by sulyi, pukkandan
[aria2c] Fix IV for some AES-128 streams by shirt
[compat] Don't ignore HOME (if set) on windows
[cookies] Make browser names case insensitive
[cookies] Print warning for cookie decoding error only once
[extractor] Fix root-relative URLs in MPD by DigitalDJ
[ffmpeg] Add aac_adtstoasc when merging if needed
[fragment,aria2c] Generalize and refactor some code
[fragment] Avoid repeated request for AES key
[fragment] Fix range header when using -N and media sequence by shirt
[hls,aes] Fallback to native implementation for AES-CBC and detect Cryptodome in addition to Crypto
[hls] Byterange + AES128 is supported by native downloader
[ModifyChapters] Improve sponsor chapter merge algorithm by nihil-admirari
[ModifyChapters] Minor fixes
[WebVTT] Adjust parser to accommodate PBS subtitles
[utils] Improve extract_timezone by dirkf
[options] Fix --no-config and refactor reading of config files
[options] Strip spaces and ignore empty entries in list-like switches
[test/cookies] Improve logging
[build] Automate more of the release process by animelover1984, pukkandan
[build] Fix sha256 by nihil-admirari
[build] Bring back brew taps by nao20010128nao
[build] Provide --onedir zip for windows by pukkandan
[cleanup,docs] Add deprecation warning in docs for some counter intuitive behaviour
[cleanup] Fix line endings for nebula.py by glenn-slayden
[cleanup] Improve make clean-test by sulyi
[cleanup] Misc


yt-dlp 2021.09.02

Changelog:
Native SponsorBlock implementation by nihil-admirari, pukkandan
--sponsorblock-remove CATS removes specified chapters from file
--sponsorblock-mark CATS marks the specified sponsor sections as chapters
--sponsorblock-chapter-title TMPL to specify sponsor chapter template
--sponsorblock-api URL to use a different API
No re-encoding is done unless --force-keyframes-at-cuts is used
The fetched sponsor sections are written to the infojson
Deprecates: --sponskrub, --no-sponskrub, --sponskrub-cut, --no-sponskrub-cut, --sponskrub-force, --no-sponskrub-force, --sponskrub-location, --sponskrub-args
Split --embed-chapters from --embed-metadata (it still implies the former by default)
Add option --remove-chapters to remove arbitrary chapters by nihil-admirari, pukkandan
Add option --force-keyframes-at-cuts for more accurate cuts when removing and splitting chapters by nihil-admirari
Let --match-filter reject entries early
Makes redundant: --match-title, --reject-title, --min-views, --max-views
[lazy_extractor] Improvements (It now passes all tests)
Bugfix for when plugin directory doesn't exist by kidonng
Create instance only after pre-checking archive
Import actual class if an attribute is accessed
Fix suitable and add flake8 test
[downloader/ffmpeg] Experimental support for DASH manifests (including live)
Your ffmpeg must have this patch applied for YouTube DASH to work
[downloader/ffmpeg] Allow passing custom arguments before -i
New extractors
[BannedVideo] Add extractor by smege1001, blackjack4494, pukkandan
[bilibili] Add category extractor by animelover1984
[Epicon] Add extractors by Ashish0804
[filmmodu] Add extractor by mzbaulhaque
[GabTV] Add extractor by Ashish0804
[Hungama] Fix HungamaSongIE and add HungamaAlbumPlaylistIE by Ashish0804
[ManotoTV] Add new extractors by tandy1000
[Niconico] Add Search extractors by animelover1984, pukkandan
[Patreon] Add PatreonUserIE by zenerdi0de
[peloton] Add extractor by IONECarter, capntrips, pukkandan
[ProjectVeritas] Add extractor by Ashish0804
[radiko] Add extractors by nao20010128nao
[StarTV] Add extractor for startv.com.tr by mrfade, coletdjnz
[tiktok] Add TikTokUserIE by Ashish0804, pukkandan
[Tokentube] Add extractor by u-spec-png
[TV2Hu] Fix TV2HuIE and add TV2HuSeriesIE by Ashish0804
[voicy] Add extractor by nao20010128nao
Fixed extractors
[adobepass] Fix Verizon SAML login by nyuszika7h, ParadoxGBB
[afreecatv] Fix adult VODs by wlritchi
[afreecatv] Tolerate failure to parse date string by wlritchi
[aljazeera] Fix extractor by MinePlayersPE
[ATV.at] Fix extractor for ATV.at by NeroBurner, coletdjnz
[bitchute] Fix test by mahanstreamer
[camtube] Remove obsolete extractor by alerikaisattera
[CDA] Add more formats by u-spec-png
[eroprofile] Fix page skipping in albums by jhwgh1968
[facebook] Fix format sorting
[facebook] Fix metadata extraction by kikuyan
[facebook] Update onion URL by Derkades
[HearThisAtIE] Fix extractor by Ashish0804
[instagram] Add referrer to prevent throttling by u-spec-png, kikuyan
[iwara.tv] Extract more metadata by BunnyHelp
[iwara] Add thumbnail by i6t
[kakao] Fix extractor
[mediaset] Fix extraction for some videos by nyuszika7h
[Motherless] Fix extractor by coletdjnz
[Nova] fix extractor by std-move
[ParamountPlus] Fix geo verification by shirt
[peertube] handle new video URL format by Chocobozzz
[pornhub] Separate and fix playlist extractor by mzbaulhaque
[reddit] Fix for quarantined subreddits by ouwou
[ShemarooMe] Fix extractor by Ashish0804
[soundcloud] Refetch client_id on 403
[tiktok] Fix metadata extraction
[TV2] Fix extractor by Ashish0804
[tv5mondeplus] Fix extractor by korli
[VH1,TVLand] Fix extractors by Sipherdrakon
[Viafree] Fix extractor and extract subtitles by coletdjnz
[XHamster] Extract uploader_id by octotherp
[youtube] Add shorts to _VALID_URL
[youtube] Add av01 itags to known formats list by blackjack4494
[youtube] Extract error messages from HTTPError response by coletdjnz
[youtube] Fix subtitle names
[youtube] Prefer audio stream that YouTube considers default
[youtube] Remove annotations and deprecate --write-annotations by coletdjnz
[Zee5] Fix extractor and add subtitles by Ashish0804
Bug fixes
[aria2c] Obey --rate-limit
[EmbedSubtitle] Continue even if some files are missing
[extractor] Better error message for DRM
[extractor] Common function _match_valid_url
[extractor] Show video id in error messages if possible
[FormatSort] Remove priority of lang
[options] Add _set_from_options_callback
[SubtitleConvertor] Fix bug during subtitle conversion
[utils] Add parse_qs
[webvtt] Fix timestamp overflow adjustment by fstirlitz
Bugfix for --replace-in-metadata
Don't try to merge with final extension
Fix --force-overwrites when using -k
Fix --no-prefer-free-formats by CeruleanSky
Fix -F for extractors that directly return url
Fix -J when there are failed videos
Fix extra_info being reused across runs
Fix playlist_index not obeying playlist_start and add tests
Fix resuming of single formats when using --no-part
Revert erroneous use of the Content-Length header by fstirlitz
Use os.replace where applicable by; paulwrubel
[build] Add homebrew taps yt-dlp/taps/yt-dlp by nao20010128nao
[build] Fix bug in making yt-dlp.tar.gz
[docs] Fix some typos by pukkandan, zootedb0t
[cleanup] Replace improper use of tab in trovo by glenn-slayden
For sponskrub users:

sponskrub support has been deprecated in favor of a native implementation
If you were using sponskrub to mark chapters in video, use --sponsorblock-mark all instead
If you were cutting out portions, use --sponsorblock-remove all
There are a few more new options available now. See SponsorBlock Options for details


yt-dlp 2021.08.10

Add option --replace-in-metadata
Add option --no-simulate to not simulate even when --print or --list... are used - Deprecates --print-json
Allow entire infodict to be printed using %()s - makes --dump-json redundant
Allow multiple --exec and --exec-before-download
Add regex to --match-filter
Add all format filtering operators also to --match-filter by max-te
Add compat-option no-keep-subs
[adobepass] Add MSO Cablevision by Jessecar96
[BandCamp] Add BandcampMusicIE by Ashish0804
[blackboardcollaborate] Add new extractor by Ashish0804
[eroprofile] Add album downloader by jhwgh1968
[mirrativ] Add extractors by nao20010128nao
[openrec] Add extractors by nao20010128nao
[nbcolympics:stream] Fix extractor by nchilada, pukkandan
[nbcolympics] Update extractor for 2020 olympics by wesnm
[paramountplus] Separate extractor and fix some titles by shirt, pukkandan
[RCTIPlus] Support events and TV by MinePlayersPE
[Newgrounds] Improve extractor and fix playlist by u-spec-png
[aenetworks] Update _THEPLATFORM_KEY and _THEPLATFORM_SECRET by wesnm
[crunchyroll] Fix thumbnail by funniray
[HotStar] Use API for metadata and extract subtitles by Ashish0804
[instagram] Fix comments extraction by u-spec-png
[peertube] Fix videos without description by u-spec-png
[twitch:clips] Extract display_id by dirkf
[viki] Print error message from API request
[Vine] Remove invalid formats by u-spec-png
[VrtNU] Fix XSRF token by pgaig
[vrv] Fix thumbnail extraction by funniray
[youtube] Add extractor-arg include-live-dash to show live dash formats
[youtube] Improve signature function detection by PSlava
[youtube] Raise appropriate error when API pages can't be downloaded
Ensure _write_ytdl_file closes file handle on error
Fix --compat-options filename by stdedos
Fix issues with infodict sanitization
Fix resuming when using --no-part
Fix wrong extension for intermediate files
Handle BrokenPipeError by kikuyan
Show libraries present in verbose head
[extractor] Detect sttp as subtitles in MPD by fstirlitz
[extractor] Reset non-repeating warnings per video
[ffmpeg] Fix streaming mp4 to stdout
[ffpmeg] Allow --ffmpeg-location to be a file with different name
[utils] Fix InAdvancePagedList.__getitem__
[utils] Fix traverse_obj depth when is_user_input
[webvtt] Merge daisy-chained duplicate cues by fstirlitz
[build] Use custom build of pyinstaller by shirt
[tests:download] Add batch testing for extractors (test_YourExtractor_all)
[docs] Document which fields --add-metadata adds to the file
[docs] Fix some mistakes and improve doc
[cleanup] Misc code cleanup


yt-dlp 2021.08.02

Add logo, banner and donate links
Expand and escape environment variables correctly in output template
Add format types j (json), l (comma delimited list), q (quoted for terminal) in output template
[downloader] Allow streaming some unmerged formats to stdout using ffmpeg
[youtube] Age-gate bypass
Add agegate clients by pukkandan, MinePlayersPE
Add thirdParty to agegate clients to bypass more videos
Simplify client definitions, expose embedded clients
Improve age-gate detection by coletdjnz
Fix default global API key by coletdjnz
Add creator clients for age-gate bypass using unverified accounts by zerodytrash, coletdjnz, pukkandan
[adobepass] Add MSO Sling TV by wesnm
[CBS] Add ParamountPlusSeriesIE by Ashish0804
[dplay] Add ScienceChannelIE by Sipherdrakon
[UtreonIE] Add extractor by Ashish0804
[youtube] Add mweb client by coletdjnz
[youtube] Add player_client=all
[youtube] Force hl=en for comments by coletdjnz
[youtube] Fix format sorting when using alternate clients
[youtube] Misc cleanup by pukkandan, coletdjnz
[youtube] Extract SAPISID only once
[CBS] Add fallback by llacb47, pukkandan
[Hotstar] Support cookies by Ashish0804
[HotStarSeriesIE] Fix regex by Ashish0804
[bilibili] Improve _VALID_URL
[mediaset] Fix extraction by nixxo
[Mxplayer] Add h265 formats by Ashish0804
[RCTIPlus] Remove PhantomJS dependency by MinePlayersPE
[tenplay] Add MA15+ age limit by pento
[vidio] Fix login error detection by MinePlayersPE
[vimeo] Better extraction of original file by Ashish0804
[generic] Support KVS player (replaces ThisVidIE) by rigstot
Add compat-option no-clean-infojson
Remove asr appearing twice in -F
Set home: as the default key for -P
[utils] Fix slicing of reversed LazyList
[FormatSort] Fix bug for audio with unknown codec
[test:download] Support testing with ignore_no_formats_error
[cleanup] Refactor some code


yt-dlp 2021.07.24

[youtube:tab] Extract video duration early
[downloader] Pass info_dict to progress_hooks
[youtube] Fix age-gated videos for API clients when cookies are supplied by colethedj
[youtube] Disable get_video_info age-gate workaround - This endpoint seems to be completely dead
[youtube] Try all clients even if age-gated
[youtube] Fix subtitles only being extracted from the first client
[youtube] Simplify _get_text
[cookies] bugfix for microsoft edge on macOS
[cookies] Handle sqlite ImportError gracefully by mbway
[cookies] Handle errors when importing keyring


yt-dlp 2021.07.21

Add option --cookies-from-browser to load cookies from a browser by mbway
Usage: --cookies-from-browser BROWSER[:PROFILE_NAME_OR_PATH]
Also added --no-cookies-from-browser
To decrypt chromium cookies, keyring is needed for UNIX and pycryptodome for Windows
Add option --exec-before-download
Add field live_status
[FFmpegMetadata] Add language of each stream and some refactoring
[douyin] Add extractor by pukkandan, pyx
[pornflip] Add extractor by mzbaulhaque
[youtube] Extract data from multiple clients by pukkandan, colethedj
player_client now accepts multiple clients
Default player_client = android,web
This uses twice as many requests, but avoids throttling for most videos while also not losing any formats
Music clients can be specifically requested and is enabled by default if music.youtube.com
Added player_client=ios (Known issue: formats from ios are not sorted correctly)
Add age-gate bypass for android and ios clients
[youtube] Extract more thumbnails
The thumbnail URLs are hard-coded and their actual existence is tested lazily
Added option --no-check-formats to not test them
[youtube] Misc fixes
Improve extraction of livestream metadata by pukkandan, krichbanana
Hide live dash formats since they can't be downloaded anyway
Fix authentication when using multiple accounts by colethedj
Fix controversial videos when requested via API by colethedj
Fix session index extraction and headers for non-web player clients by colethedj
Make --extractor-retries work for more errors
Fix sorting of 3gp format
Sanity check chapters (and refactor related code)
Make parse_time_text and _extract_chapters non-fatal
Misc cleanup and bug fixes by colethedj
[youtube:tab] Fix channels tab
[youtube:tab] Extract playlist availability by colethedj
[youtube:comments] Move comment extraction to new API by colethedj
[youtube:comments] Fix is_favorited, improve like_count parsing by colethedj
[BravoTV] Improve metadata extraction by kevinoconnor7
[crunchyroll:playlist] Force http
[yahoo:gyao:player] Relax _VALID_URL by nao20010128nao
[nebula] Authentication via tokens from cookie jar by hheimbuerger, TpmKranz
[RTP] Fix extraction and add subtitles by fstirlitz
[viki] Rewrite extractors and add extractor-arg video_types to vikichannel by zackmark29, pukkandan
[vlive] Extract thumbnail directly in addition to the one from Naver
[generic] Extract previously missed subtitles by fstirlitz
[generic] Extract everything in the SMIL manifest and detect discarded subtitles by fstirlitz
[embedthumbnail] Fix _get_thumbnail_resolution
[metadatafromfield] Do not detect numbers as field names
Fix selectors all, mergeall and add tests
Errors in playlist extraction should obey --ignore-errors
Fix bug where original_url was not propagated when _type=url
Revert "Merge webm formats into mkv if thumbnails are to be embedded (#173)"
This was wrongly checking for write_thumbnail
Improve extractor_args parsing
Rename NOTE in -F to MORE INFO since it's often confused to be the same as format_note
Add only_once param for write_debug and report_warning
[extractor] Allow extracting multiple groups in _search_regex by fstirlitz
[utils] Improve traverse_obj
[utils] Add variadic
[utils] Improve js_to_json comment regex by fstirlitz
[webtt] Fix timestamps
[compat] Remove unnecessary code
[doc] fix default of multistreams


yt-dlp 2021.07.07

Merge youtube-dl: Upto commit/a803582
Add --extractor-args to pass extractor-specific arguments
Add extractor option skip for youtube. Eg: --extractor-args youtube:skip=hls,dash
Deprecates --youtube-skip-dash-manifest, --youtube-skip-hls-manifest, --youtube-include-dash-manifest, --youtube-include-hls-manifest
Allow --list... options to work with --print, --quiet and other --list... options
[youtube] Use player API for additional video extraction requests by colethedj
Fixes youtube premium music (format 141) extraction
Adds extractor option player_client = web/android
--extractor-args youtube:player_client=android works around the throttling for the time-being
Adds extractor option player_skip=config
Adds age-gate fallback using embedded client
[youtube] Choose correct Live chat API for upcoming streams by krichbanana
[youtube] Fix subtitle names for age-gated videos
[youtube:comments] Fix error handling and add itct to params by colethedj
[youtube_live_chat] Fix download with cookies by siikamiika
[youtube_live_chat] use clickTrackingParams by siikamiika
[Funimation] Rewrite extractor
Add FunimationShowIE by Mevious
Treat the different versions of an episode as different formats of a single video
This changes the video id and will break break existing archives
Compat option seperate-video-versions to fall back to old behavior including using the old video ids
Support direct /player/ URL
Extractor options language and version to pre-select them during extraction
These options may be removed in the future if we can extract all formats without additional network requests
Do not rely on these for format selection and use -f filters instead
[AdobePass] Add Spectrum MSO by kevinoconnor7, ohmybahgosh
[facebook] Extract description and fix title
[fancode] Fix extraction, support live and allow login with refresh token by zenerdi0de
[plutotv] Improve _VALID_URL
[RCTIPlus] Add extractor by MinePlayersPE
[Soundcloud] Allow login using oauth token by blackjack4494
[TBS] Support livestreams by llacb47
[videa] Fix extraction by nyuszika7h
[yahoo] Fix extraction by llacb47, pukkandan
Process videos when using --ignore-no-formats-error by krichbanana
Fix --throttled-rate when using --load-info-json
Fix --flat-playlist when entry has no ie_key
Fix check_formats catching ExtractorError instead of DownloadError
Fix deprecated option --list-formats-old
[downloader/ffmpeg] Fix --ppa when using simultaneous download
[extractor] Prevent unnecessary download of hls manifests and refactor hls_split_discontinuity
[fragment] Handle status of download and errors in threads correctly; and minor refactoring
[thumbnailsconvertor] Treat jpeg as jpg
[utils] Fix issues with LazyList reversal
[extractor] Allow extractors to set their own login hint
[cleanup] Simplify format selector code with LazyList and yield from
[cleanup] Clean extractor.common._merge_subtitles signature
[cleanup] Fix some typos


yt-dlp 2021.06.23

Merge youtube-dl: Upto commit/379f52a
Add option --throttled-rate below which video data is re-extracted
[fragment] Merge during download for -N, and refactor hls/dash
[websockets] Add WebSocketFragmentFDby nao20010128nao, pukkandan
Allow images formats in addition to video/audio
[downloader/mhtml] Add new downloader for slideshows/storyboards by fstirlitz
[youtube] Temporary fix for age-gate
[youtube] Support ongoing live chat by siikamiika
[youtube] Improve SAPISID cookie handling by colethedj
[youtube] Login is not needed for :ytrec
[youtube] Non-fatal alert reporting for unavailable videos page by colethedj
[twitcasting] Websocket support by nao20010128nao
[mediasite] Extract slides by fstirlitz
[funimation] Extract subtitles
[pornhub] Extract cast
[hotstar] Use server time for authentication instead of local time
[EmbedThumbnail] Fix for already downloaded thumbnail
[EmbedThumbnail] Add compat-option embed-thumbnail-atomicparsley
Expand --check-formats to thumbnails
Fix id sanitization in filenames
Skip fixup of existing files and add --fixup force to force it
Better error handling of syntax errors in -f
Use NamedTemporaryFile for --check-formats
[aria2c] Lower --min-split-size for HTTP downloads
[options] Rename --add-metadata to --embed-metadata
[utils] Improve LazyList and add tests
[build] Build Windows x86 version with py3.7 and remove redundant tests by pukkandan, shirt
[docs] Clarify that --embed-metadata embeds chapter markers
[cleanup] Refactor fixup


yt-dlp 2021.06.09

Fix bug where %(field)d in filename template throws error
Improve offset parsing in outtmpl
[test] More rigorous tests for prepare_filename
The quick release is due to the seriousness of the output template bug. Due to the same reason, Win XP (Py3.4) support has been extended to this release


yt-dlp 2021.06.08

Remove support for obsolete Python versions: Only 3.6+ is now supported
Merge youtube-dl: Upto commit/c2350ca
[hls] Fix decryption for multithreaded downloader
[extractor] Fix pre-checking archive for some extractors
[extractor] Fix FourCC fallback when parsing ISM by fstirlitz
[twitcasting] Add TwitCastingUserIE, TwitCastingLiveIE by pukkandan, nao20010128nao
[vidio] Add VidioPremierIE and VidioLiveIE by MinePlayersPE
[viki] Fix extraction from by ytdl-org/youtube-dl@59e583f
[youtube] Support shorts URL
[zoom] Extract transcripts as subtitles
Add field original_url with the user-inputted URL
Fix and refactor prepare_outtmpl
Make more fields available for --print when used with --flat-playlist
[utils] Generalize traverse_dict to traverse_obj
[downloader/ffmpeg] Hide FFmpeg banner unless in verbose mode by fstirlitz
[build] Release yt-dlp.tar.gz
[build,update] Add GNU-style SHA512 and prepare updater for simlar SHA256 by nihil-admirari
[pyinst] Show Python version in exe metadata by nihil-admirari
[docs] Improve documentation of dependencies
[cleanup] Mark unused files
[cleanup] Point all shebang to python3 by fstirlitz
[cleanup] Remove duplicate file trovolive.py
v2021.06.01 was supposed to be the last version where the windows x86 binary is built with Python 3.4 and thus have compatibility with Windows XP. However, a bug was discovered in video decryption when using -N for the last version and I did not want the last release to be a buggy one. So, while python 3.4 support has already been officially dropped, the yt-dlp_x86.exe of this release is built with it, making this the actual last release that supports Windows XP


yt-dlp 2021.06.01

Merge youtube-dl: Upto commit/d495292
Pre-check archive and filters during playlist extraction
Handle Basic Auth user:pass in URLs by hhirtz and pukkandan
[archiveorg] Add YoutubeWebArchiveIE by colethedj and alex-gedeon
[fancode] Add extractor by rmsmachine
[patreon] Support vimeo embeds by rhsmachine
[Saitosan] Add new extractor by llacb47
[ShemarooMe] Add extractor by Ashish0804 and pukkandan
[telemundo] Add extractor by king-millez
[SonyLIV] Add SonyLIVSeriesIE and subtitle support by Ashish0804
[Hotstar] Add HotStarSeriesIE by Ashish0804
[Voot] Add VootSeriesIE by Ashish0804
[vidio] Support login and premium videos by MinePlayersPE
[fragment] When using -N, do not keep the fragment content in memory
[ffmpeg] Download and merge in a single step if possible
[ThumbnailsConvertor] Support conversion to png and make it the default by louie-github
[VideoConvertor] Generalize with remuxer and allow conditional recoding
[EmbedThumbnail] Embed in mp4/m4a using mutagen by tripulse and pukkandan
[EmbedThumbnail] Embed if any thumbnail was downloaded, not just the best
[EmbedThumbnail] Correctly escape filename
[update] replace self without launching a subprocess in windows
[update] Block further update for unsupported systems
Refactor __process_playlist by creating LazyList
Write messages to stderr when both quiet and verbose
Sanitize and sort playlist thumbnails
Remove None values from info.json
[extractor] Always prefer native hls downloader by default
[extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
[extractor] Functions to parse socket.io response as json by pukkandan and llacb47
[extractor] Allow note=False when extracting manifests
[utils] Escape URLs in sanitized_Request, not sanitize_url
[hls] Disable external downloader for webtt
[youtube] /live URLs should raise error if channel is not live
[youtube] Bug fixes
[zee5] Fix m3u8 formats' extension
[ard] Allow URLs without - before id by olifre
[cleanup] YoutubeDL._match_entry
[cleanup] Refactor updater
[cleanup] Refactor ffmpeg convertors
[cleanup] setup.py


yt-dlp 2021.05.20

Youtube improvements:
Support youtube music MP, VL and browse pages
Extract more formats for youtube music by craftingmod, colethedj, pukkandan
Extract multiple subtitles in same language by pukkandan and tpikonen
Redirect channels that doesn't have a videos tab to their UU playlists
Support in-channel search
Sort audio-only formats correctly
Always extract maxresdefault thumbnail
Extract audio language
Add subtitle language names by nixxo and tpikonen
Show alerts only from the final webpage
Add html5=1 param to get_video_info page requests by colethedj
Better message when login required
Add option --print: to print any field/template
Deprecates: --get-description, --get-duration, --get-filename, --get-format, --get-id, --get-thumbnail, --get-title, --get-url
Field additional_urls to download additional videos from metadata using --parse-metadata
Merge youtube-dl: Upto commit/dfbbe29
Write thumbnail of playlist and add pl_thumbnail outtmpl key
[embedthumbnail] Add flac support and refactor mutagen code by pukkandan and tripulse
[audius:artist] Add extractor by king-millez
[parlview] Add extractor by king-millez
[tenplay] Fix extractor by king-millez
[rmcdecouverte] Generalize _VALID_URL
Add compat-option no-attach-infojson
Add field name for subtitles
Ensure post_extract and pre_process only run once
Fix --check-formats when there is network error
Standardize write_debug and get_param
[options] Alias --write-comments, --no-write-comments
[options] Refactor callbacks
[test:download] Only extract enough videos for playlist_mincount
[extractor] bugfix for when compat_opts is not given
[cleanup] code formatting, youtube tests and readme


yt-dlp 2021.05.11

Deprecate support for python versions < 3.6
Subtitle extraction from manifests by fstirlitz. See be6202f for details
Improve output template:
Allow slicing lists/strings using field.start:end:step
A field can also be used as offset like field1+num+field2
A default value can be given using field|default
Prevent invalid fields from causing errors
Merge youtube-dl: Upto commit/a726009
Remove options -l, -t, -A completely and disable --auto-number, --title, --literal, --id
[Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
[downloader] Fix quiet and to_stderr
[fragment] Ensure the file is closed on error
[fragment] Make sure first segment is not skipped
[aria2c] Fix whitespace being stripped off
[embedthumbnail] Fix bug where jpeg thumbnails were converted again
[FormatSort] Fix for when some formats have quality and others don't
[utils] Add network_exceptions
[utils] Escape URL while sanitizing
[ukcolumn] Add Extractor
[whowatch] Add extractor by nao20010128nao
[CBS] Improve _VALID_URL to support movies
[crackle] Improve extraction
[curiositystream] Fix collections
[francetvinfo] Improve video id extraction
[generic] Respect the encoding in manifest
[limelight] Obey allow_unplayable_formats
[mediasite] Generalize URL pattern by fstirlitz
[mxplayer] Add MxplayerShowIE by Ashish0804
[nebula] Move to nebula.app by Lamieur
[niconico] Fix HLS formats by CXwudi, tsukumijima, nao20010128nao and pukkandan
[niconico] Fix title and thumbnail extraction by CXwudi
[plutotv] Extract subtitles from manifests
[plutotv] Fix format extraction for some urls
[rmcdecouverte] Improve _VALID_URL
[sonyliv] Fix title and series extraction by Ashish0804
[tubi] Raise "no video formats" error when video url is empty
[youtube:tab] Detect playlists inside community posts
[youtube] Add oembed to reserved names
[zee5] Fix extraction for some URLs by Hadi0609
[zee5] Fix py2 compatibility
Fix playlist_index and add playlist_autonumber. See #302 for details
Add experimental option --check-formats to test the URLs before format selection
Option --compat-options to revert some of yt-dlp's changes
Deprecates --list-formats-as-table, --list-formats-old
Fix number of digits in %(playlist_index)s
Fix case sensitivity of format selector
Revert "[core] be able to hand over id and title using url_result"
Do not strip out whitespaces in -o and -P
Fix preload_download_archive writing verbose message to stdout
Move option warnings to YoutubeDLso that they obey --no-warnings and can output colors
Py2 compatibility for FileNotFoundError


yt-dlp 2021.04.22

Changelog:

Improve output template:
Objects can be traversed like %(field.key1.key2)s
An offset can be added to numeric fields as %(field+N)s
Deprecates --autonumber-start
Improve --sub-langs:
Treat --sub-langs entries as regex
all can be used to refer to all the subtitles
language codes can be prefixed with - to exclude it
Deprecates --all-subs
Add option --ignore-no-formats-error to ignore the "no video format" and similar errors
Add option --skip-playlist-after-errors to skip the rest of a playlist after a given number of errors are encountered
Merge youtube-dl: Upto commit/7e8b3f9
[downloader] Fix bug in downloader selection
[BilibiliChannel] Fix pagination by nao20010128nao andpukkandan
[rai] Add support for http formats by nixxo
[TubiTv] Add TubiTvShowIE by Ashish0804
[twitcasting] Fix extractor
[viu:ott] Fix extractor and support series by lkho andpukkandan
[youtube:tab] Show unavailable videos in playlists by colethedj
[youtube:tab] Reload with unavailable videos for all playlists
[youtube] Ignore invalid stretch ratio
[youtube] Improve channel syncid extraction to support ytcfg by colethedj
[youtube] Standardize API calls for tabs, mixes and search by colethedj
[youtube] Bugfix in _extract_ytcfg
[mildom:user:vod] Download only necessary amount of pages
[mildom] Remove proxy completely by fstirlitz
[go] Fix _VALID_URL
[MetadataFromField] Improve regex and add tests
[Exec] Ensure backward compatibility when the command contains %
[extractor] Fix inconsistent use of report_warning
Ensure mergeall selects best format when multistreams are disabled
Improve the yt-dlp.sh script by fstirlitz
[lazy_extractor] Do not load plugins
[ci] Disable fail-fast
[documentation] Clarify which deprecated options still work
[documentation] Fix typos


yt-dlp 2021.04.11

Changelog:

Add option --convert-thumbnails (only jpg currently supported)
Format selector mergeall to download and merge all formats
Pass any field to --exec using similar syntax to output template
Choose downloader for each protocol using --downloader PROTO:NAME
Alias --downloader for --external-downloader
Added native as an option for the downloader
Merge youtube-dl: Upto commit/4fb25ff (except vimeo)
[DiscoveryPlusIndia] Add DiscoveryPlusIndiaShowIE by Ashish0804
[NFHSNetwork] Add extractor by llacb47
[nebula] Add extractor (watchnebula.com) by hheimbuerger
[nitter] Fix extraction of reply tweets and update instance list by B0pol
[nitter] Fix thumbnails by B0pol
[youtube] Fix thumbnail URL
[youtube] Parse API parameters from initial webpage by colethedj
[youtube] Extract comments' approximate timestamp by colethedj
[youtube] Fix alert extraction
[bilibili] Fix uploader
[utils] Add datetime_from_str and datetime_add_months by colethedj
Run some postprocessors before actual download
Improve argument parsing for -P, -o, -S
Fix some m3u8 not obeying --allow-unplayable-formats
Fix default of dynamic_mpd
Deprecate --all-formats, --include-ads, --hls-prefer-native, --hls-prefer-ffmpeg
[documentation] Improvements


yt-dlp 2021.04.03

Changelog:

Merge youtube-dl: Upto commit/654b4f4
Ability to set a specific field in the file's metadata using --parse-metadata
Ability to select n'th best format like -f bv*.2
[DiscoveryPlus] Add discoveryplus.in
[la7] Add podcasts and podcast playlists by nixxo
[mildom] Update extractor with current proxy by nao20010128nao
[ard:mediathek] Fix video id extraction
[generic] Detect Invidious' link element
[youtube] Show premium state in availability by colethedj
[viewsource] Add extractor to handle view-source:
[sponskrub] Run before embedding thumbnail
[documentation] Improve --parse-metadata documentation


yt-dlp 2021.03.24.1

CHANGELOG

Merge youtube-dl: Upto 2021.03.25
Parse metadata from multiple fields using --parse-metadata
Ability to load playlist infojson using --load-info-json
Write current epoch to infojson when using --no-clean-infojson
[youtube_live_chat] fix bug when trying to set cookies
[niconico] Fix for when logged in by: @CXwudi and @xtkoba
[linuxacadamy] Fix login


yt-dlp 2021.03.21

Changelog:

Merge youtube-dl: Upto commit/7e79ba7
Option --clean-infojson to keep private keys in the infojson
[aria2c] Support retry/abort unavailable fragments by damianoamatruda
[aria2c] Better default arguments
[movefiles] Fix bugs and make more robust
[formatSort] Fix quality being ignored
[splitchapters] Fix for older ffmpeg
[sponskrub] Pass proxy to sponskrub
Make sure post_hook gets the final filename
Recursively remove any private keys from infojson
Embed video URL metadata inside mp4 by damianoamatruda and pukkandan
Merge webm formats into mkv if thumbnails are to be embedded by damianoamatruda
Use headers and cookies when downloading subtitles by damianoamatruda
Parse resolution in info dictionary by damianoamatruda
More consistent warning messages by damianoamatruda and pukkandan
[documentation] Add deprecated options and aliases in readme
[documentation] Fix some minor mistakes
.
[niconico] Partial fix adapted from animelover1984/youtube-dl@b5eff52 (login and smile formats still don't work)
[niconico] Add user extractor by animelover1984
[bilibili] Add anthology support by animelover1984
[amcnetworks] Fix extractor by 2ShedsJackson
[stitcher] Merge from youtube-dl by nixxo
[rcs] Improved extraction by nixxo
[linuxacadamy] Improve regex
[youtube] Show if video is private, unlisted etc in info (availability) by colethedj and pukkandan
[youtube] bugfix for channel playlist extraction
[nbc] Improve metadata extraction by 2ShedsJackson


yt-dlp 2021.03.15

Changelog:

Split video by chapters: using option --split-chapters
The output file of the split files can be set with -o/-P using the prefix chapter:
Additional keys section_title, section_number, section_start, section_end are available in the output template
Parallel fragment downloads by shirt
Use option --concurrent-fragments (-N) to set the number of threads (default 1)
Merge youtube-dl: Upto commit/3be0980
[zee5] Add Show Extractor by Ashish and pukkandan
[rai] fix drm check nixxo
[wimtv] Add extractor by nixxo
[mtv] Add mtv.it and extract series metadata by nixxo
[pluto.tv] Add extractor by kevinoconnor7
[youtube] Rewrite comment extraction by colethedj
[embedthumbnail] Set mtime correctly
Refactor some postprocessor/downloader code by pukkandan and shirt


yt-dlp 2021.03.07

Changelog:

[youtube] Fix history, mixes, community pages and trending by pukkandan and colethedj
[youtube] Fix private feeds/playlists on multi-channel accounts by colethedj
[youtube] Extract alerts from continuation by colethedj
[cbs] Add support for ParamountPlus by shirt
[mxplayer] Rewrite extractor with show support by pukkandan and Ashish
[gedi] Improvements from youtube-dl by nixxo
[vimeo] Fix videos with password by teesid
[lbry] Support lbry:// url by nixxo
[bilibili] Change Accept header by pukkandan and animelover1984
[trovo] Pass origin header
[rai] Check for DRM by nixxo
[downloader] Fix bug for ffmpeg/httpie
[update] Fix updater removing the executable bit on some UNIX distros
[update] Fix current build hash for UNIX
[documentation] Include wget/curl/aria2c install instructions for Unix by Ashish
Fix some videos downloading with m3u8 extension
Remove "fixup is ignored" warning when fixup wasn't passed by user


2021.03.03.2
[build] Fix bug


2021.03.03
[youtube] Use new browse API for continuation page extraction by colethedj and pukkandan
Fix HLS playlist downloading by shirt
Merge youtube-dl: Upto 2021.03.03
[mtv] Fix extractor
[nick] Fix extractor by DennyDai
[mxplayer] Add new extractor by codeasashu
[youtube] Throw error when --extractor-retries are exhausted
Reduce default of --extractor-retries to 3
Fix packaging bugs by hseg
2021.03.01
Allow specifying path in --external-downloader
Add option --sleep-requests to sleep b/w requests
Add option --extractor-retries to retry on known extractor errors
Extract comments only when needed
--get-comments doesn't imply --write-info-json if -J, -j or --print-json are used
Fix get_executable_path by shirt
[youtube] Retry on more known errors than just HTTP-5xx
[youtube] Fix inconsistent webpage_url
[tennistv] Fix format sorting
[bilibiliaudio] Recognize the file as audio-only
[hrfensehen] Fix wrong import
[viki] Fix viki play pass authentication by RobinD42
[readthedocs] Improvements by shirt
[hls] Fix bug with m3u8 format extraction
[hls] Enable --hls-use-mpegts by default when downloading live-streams
[embedthumbnail] Fix bug with deleting original thumbnail
[build] Fix completion paths, zsh pip completion install by hseg
[ci] Disable download tests unless specifically invoked
Cleanup some code and fix typos


2021.02.24
Moved project to an organization yt-dlp
Completely changed project name to yt-dlp by Pccode66 and pukkandan
Also, youtube-dlc config files are no longer loaded
Merge youtube-dl: Upto commit/4460329 (except tmz, gedi)
Readthedocs support by shirt
[youtube] Show if video was a live stream in info (was_live)
[Zee5] Add new extractor by Ashish and pukkandan
[jwplatform] Add support for hyland.com
[tennistv] Fix extractor
[hls] Support media initialization by shirt
[hls] Added options --hls-split-discontinuity to better support media discontinuity by shirt
[ffmpeg] Allow passing custom arguments before -i using --ppa "ffmpeg_i1:ARGS" syntax
Fix --windows-filenames removing / from UNIX paths
[hls] Show warning if pycryptodome is not found
[documentation] Improvements
Fix documentation of Extractor Options
Document all in format selection
Document playable_in_embed in output templates


2021.02.19
Merge youtube-dl: Upto commit/cf2dbec (except kakao)
[viki] Fix extractor
[niconico] Extract channel and channel_id by kurumigi
[youtube] Multiple page support for hashtag URLs
[youtube] Add more invidious instances
[youtube] Fix comment extraction when comment text is empty
Option --windows-filenames to force use of windows compatible filenames
[ExtractAudio] Bugfix
Don't raise parser.error when exiting for update
[MoveFiles] Fix for when merger can't run
Changed --trim-file-name to --trim-filenames to be similar to related options
Format Sort improvements:
Prefer vp9.2 more than other vp9 codecs
Remove forced priority of quality
Remove unnecessary field_preference and misuse of preference from extractors
Build improvements:
Fix hash output by shirt
Lock python package versions for x86 and use wheels by shirt
Exclude vcruntime140.dll from UPX by jbruchon
Set version number based on UTC time, not local time
Publish on PyPi only if token is set
[documentation] Better document --prefer-free-formats and add --no-prefer-free-format


2021.02.15
Merge youtube-dl: Upto 2021.02.10 (except archive.org)
[niconico] Improved extraction and support encrypted/SMILE movies by kurumigi, tsukumi, bbepis, pukkandan
Fix HLS AES-128 with multiple keys in external downloaders by shirt
[youtube_live_chat] Fix by using POST API by siikamiika
[rumble] Add support for video page
Option --allow-unplayable-formats to allow downloading unplayable video formats
[ExtractAudio] Don't re-encode when file is already in a common audio format
[youtube] Fix search continuations
[youtube] Fix for new accounts
Improve build/updater: by pukkandan and shirt
Fix SHA256 calculation in build and implement hash checking for updater
Exit immediately in windows once the update process starts
Fix updater for x86.exe
Updater looks for both yt-dlp and youtube-dlc in releases for future-proofing
Change optional dependency to pycryptodome
Fix issue with unicode filenames in aria2c by shirt
Fix allow_playlist_files not being correctly passed through
Fix for empty HTTP head requests by shirt
Fix get_executable_path in UNIX
[sponskrub] Print ffmpeg output and errors to terminal
__real_download should be false when ffmpeg unavailable and no download
Show exe/zip/source and 32/64bit in verbose message


2021.02.09
aria2c support for DASH/HLS: by shirt
Implement Updater (-U) by shirt
[youtube] Fix comment extraction
[youtube_live_chat] Improve extraction
[youtube] Fix for channel URLs sometimes not downloading all pages
[aria2c] Changed default arguments to --console-log-level=warn --summary-interval=0 --file-allocation=none -x16 -j16 -s16
Add fallback for thumbnails
[embedthumbnail] Keep original thumbnail after conversion if write_thumbnail given
[embedsubtitle] Keep original subtitle after conversion if write_subtitles given
[pyinst.py] Move back to root dir
[youtube] Simplified renderer parsing and bugfixes
[movefiles] Fix compatibility with python2
[remuxvideo] Fix validation of conditional remux
[sponskrub] Don't raise error when the video does not exist
[documentation] Crypto is an optional dependency


2021.02.04
Merge youtube-dl: Upto 2021.02.04.1
Date/time formatting in output template:
You can use strftime to format date/time fields. Example: %(upload_date>%Y-%m-%d)s
Multiple output templates:
Separate output templates can be given for the different metadata files by using -o TYPE:TEMPLATE
The allowed types are: subtitle|thumbnail|description|annotation|infojson|pl_description|pl_infojson
[youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
New option --no-write-playlist-metafiles to prevent writing playlist metadata files
[audius] Fix extractor
[youtube_live_chat] Fix parse_yt_initial_data and add fragment_retries
[postprocessor] Raise errors correctly
[metadatafromtitle] Fix bug when extracting data from numeric fields
Fix issue with overwriting files
Fix "Default format spec" appearing in quiet mode
[FormatSort] Allow user to prefer av01 over vp9 (The default is still vp9)
[FormatSort] fix bug where quality had more priority than hasvid
[pyinst] Automatically detect python architecture and working directory
Strip out internal fields such as _filename from infojson


2021.01.29
Features from animelover1984/youtube-dl: by animelover1984 and bbepis
Add --get-comments
[youtube] Extract comments
[billibilli] Added BiliBiliSearchIE, BilibiliChannelIE
[billibilli] Extract comments
[billibilli] Better video extraction
Write playlist data to infojson
[FFmpegMetadata] Embed infojson inside the video
[EmbedThumbnail] Try embedding in mp4 using ffprobe and -disposition
[EmbedThumbnail] Treat mka like mkv and mov like mp4
[EmbedThumbnail] Embed in ogg/opus
[VideoRemuxer] Conditionally remux video
[VideoRemuxer] Add -movflags +faststart when remuxing to mp4
[ffmpeg] Print entire stderr in verbose when there is error
[EmbedSubtitle] Warn when embedding ass in mp4
[anvato] Use NFLTokenGenerator if possible
Parse additional metadata: New option --parse-metadata to extract additional metadata from existing fields
The extracted fields can be used in --output
Deprecated --metadata-from-title
[Audius] Add extractor
[youtube] Extract playlist description and write it to .description file
Detect existing files even when using recode/remux (extract-audio is partially fixed)
Fix wrong user config from v2021.01.24
[youtube] Report error message from youtube as error instead of warning
[FormatSort] Fix some fields not sorting from v2021.01.24
[postprocessor] Deprecate avconv/avprobe. All current functionality is left untouched. But don't expect any new features to work with avconv
[postprocessor] fix write_debug to not throw error when there is no _downloader
[movefiles] Don't give "cant find" warning when move is unnecessary
Refactor update-version, pyinst.py and related files
[ffmpeg] Document more formats that are supported for remux/recode


2021.01.24
Merge youtube-dl: Upto 2021.01.24
Plugin support (documentation)
Multiple paths: New option -P/--paths to give different paths for different types of files
The syntax is -P "type:path" -P "type:path" (documentation)
Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
Additionally, configuration file is taken from home directory or current directory (documentation)
Allow passing different arguments to different external downloaders (documentation)
[mildom] Add extractor by nao20010128nao
Warn when using old style --external-downloader-args and --post-processor-args
Fix --no-overwrite when using --write-link
[sponskrub] Output unrecognized argument error message correctly
[cbs] Make failure to extract title non-fatal
Fix typecasting when pre-checking archive
Fix issue with setting title on UNIX
Deprecate redundant aliases in formatSort. The aliases remain functional for backward compatibility, but will be left undocumented
[tests] Fix test_post_hooks
[tests] Split core and download tests


2021.01.20
[TrovoLive] Add extractor (only VODs)
[pokemon] Add /#/player URLs
Improved parsing of multiple postprocessor-args, add --ppa as alias
[EmbedThumbnail] Simplify embedding in mkv
[sponskrub] Encode filenames correctly, better debug output and error message
[readme] Cleanup options


2021.01.16
Merge youtube-dl: Upto 2021.01.16
Configuration files:
Portable configuration file: ./yt-dlp.conf
Allow the configuration files to be named yt-dlp instead of youtube-dlc. See this for details
Add PyPI release


2021.01.14
Added option --break-on-reject
[roosterteeth.com] Fix for bonus episodes by Zocker1999NET
[tiktok] Fix for when share_info is empty
[EmbedThumbnail] Fix bug due to incorrect function name
[documentation] Changed sponskrub links to point to yt-dlp/SponSkrub since I am now providing both linux and windows releases
[documentation] Change all links to correctly point to new fork URL
[documentation] Fixes typos


2021.01.12
[roosterteeth.com] Add subtitle support by samiksome
Added --force-overwrites, --no-force-overwrites by alxnull
Changed fork name to yt-dlp
Fix typos by FelixFrog
[ci] Option to skip
[changelog] Added unreleased changes in blackjack4494/yt-dlc


2021.01.10
[archive.org] Fix extractor and add support for audio and playlists by wporr
[Animelab] Added by mariuszskon
[youtube:search] Fix view_count by ohnonot
[youtube] Show if video is embeddable in info
Update version badge automatically in README
Enable test_youtube_search_matching
Create to_screen and similar functions in postprocessor/common


2021.01.09
[youtube] Fix bug in automatic caption extraction
Add post_hooks to YoutubeDL by alexmerkel
Batch file enumeration improvements by glenn-slayden
Stop immediately when reaching --max-downloads by glenn-slayden
Fix incorrect ANSI sequence for restoring console-window title by glenn-slayden
Kill child processes when yt-dlc is killed by Unrud


2021.01.08
Merge youtube-dl: Upto 2021.01.08
Extractor stitcher (1, 2) have not been merged
Moved changelog to seperate file
2021.01.07-1
[Akamai] fix by nixxo
[Tiktok] merge youtube-dl tiktok extractor by GreyAlien502
[vlive] add support for playlists by kyuyeunk
[youtube_live_chat] make sure playerOffsetMs is positive by siikamiika
Ignore extra data streams in ffmpeg by jbruchon
Allow passing different arguments to different postprocessors using --postprocessor-args
Deprecated --sponskrub-args. The same can now be done using --postprocessor-args "sponskrub:<args>"
[CI] Split tests into core-test and full-test


2021.01.07
Removed priority of av01 codec in -S since most devices don't support it yet
Added duration_string to be used in --output
Created First Release
2021.01.05-1
Changed defaults:
Enabled --ignore
Disabled --video-multistreams and --audio-multistreams
Changed default format selection to bv*+ba/b when --audio-multistreams is disabled
Changed default format sort order to res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id
Changed webm to be more preferable than flv in format sorting
Changed default output template to %(title)s [%(id)s].%(ext)s
Enabled --list-formats-as-table


2021.01.05
Format Sort: Added --format-sort (-S), --format-sort-force (--S-force) - See Sorting Formats for details
Format Selection: See Format Selection for details
New format selectors: best*, worst*, bestvideo*, bestaudio*, worstvideo*, worstaudio*
Changed video format sorting to show video only files and video+audio files together.
Added --video-multistreams, --no-video-multistreams, --audio-multistreams, --no-audio-multistreams
Added b,w,v,a as alias for best, worst, video and audio respectively
Shortcut Options: Added --write-link, --write-url-link, --write-webloc-link, --write-desktop-link by h-h-h-h - See Internet Shortcut Options for details
Sponskrub integration: Added --sponskrub, --sponskrub-cut, --sponskrub-force, --sponskrub-location, --sponskrub-args - See SponSkrub Options for details
Added --force-download-archive (--force-write-archive) by h-h-h-h
Added --list-formats-as-table, --list-formats-old
Negative Options: Makes it possible to negate most boolean options by adding a no- to the switch. Usefull when you want to reverse an option that is defined in a config file
Added --no-ignore-dynamic-mpd, --no-allow-dynamic-mpd, --allow-dynamic-mpd, --youtube-include-hls-manifest, --no-youtube-include-hls-manifest, --no-youtube-skip-hls-manifest, --no-download, --no-download-archive, --resize-buffer, --part, --mtime, --no-keep-fragments, --no-cookies, --no-write-annotations, --no-write-info-json, --no-write-description, --no-write-thumbnail, --youtube-include-dash-manifest, --post-overwrites, --no-keep-video, --no-embed-subs, --no-embed-thumbnail, --no-add-metadata, --no-include-ads, --no-write-sub, --no-write-auto-sub, --no-playlist-reverse, --no-restrict-filenames, --youtube-include-dash-manifest, --no-format-sort-force, --flat-videos, --no-list-formats-as-table, --no-sponskrub, --no-sponskrub-cut, --no-sponskrub-force
Renamed: --write-subs, --no-write-subs, --no-write-auto-subs, --write-auto-subs. Note that these can still be used without the ending "s"
Relaxed validation for format filters so that any arbitrary field can be used
Fix for embedding thumbnail in mp3 by pauldubois98 (ytdl-org/youtube-dl#21569)
Make Twitch Video ID output from Playlist and VOD extractor same. This is only a temporary fix
Merge youtube-dl: Upto 2021.01.03 - See blackjack4494/yt-dlc#280 for details
Extractors tiktok and hotstar have not been merged
Cleaned up the fork for public use
Unreleased changes in blackjack4494/yt-dlc
Updated to youtube-dl release 2020.11.26
[youtube]
Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
Fix ytsearch not returning results sometimes due to promoted content
Temporary fix for automatic captions - disable json3
Fix some improper Youtube URLs
Redirect channel home to /video
Print youtube's warning message
Multiple pages are handled better for feeds
Add --break-on-existing by gergesh
Pre-check video IDs in the archive before downloading
[bitwave.tv] New extractor
[Gedi] Add extractor
[Rcs] Add new extractor
[skyit] Add support for multiple Sky Italia website and removed old skyitalia extractor
[france.tv] Fix thumbnail URL
[ina] support mobile links
[instagram] Fix extractor
[itv] BTCC new pages' URL update (articles instead of races)
[SouthparkDe] Support for English URLs
[spreaker] fix SpreakerShowIE test URL
[Vlive] Fix playlist handling when downloading a channel
[generic] Detect embedded bitchute videos
[generic] Extract embedded youtube and twitter videos
[ffmpeg] Ensure all streams are copied
Fix for os.rename error when embedding thumbnail to video in a different drive
make_win.bat: don't use UPX to pack vcruntime140.dll




Visit our sponsors! Try DVDFab and backup Blu-rays!
Search   Contact us   Privacy Policy   About   Advertise   Forum   RSS Feeds   Statistics   Software   

Site layout: Default Classic Blue

Affiliates: free-codecs.com

©1999-2024 videohelp.com