616 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Changelog
2025.07.21
Important changes
- Default behaviour changed from --mtimeto--no-mtimeyt-dlp no longer applies the server modified time to downloaded files by default. Read more
- Security: [CVE-2025-54072] Fix --execplaceholder expansion on Windows- When --execis used on Windows, the filepath expanded from{}(or the default placeholder) is now properly escaped
 
- When 
Core changes
- Allow extractors to designate formats/subtitles for impersonation (#13778) by bashonly (With fixes in 3e49bc8, 2ac3eb9)
- Don't let format testing alter the return code (#13767) by bashonly
- Fix --execplaceholder expansion on Windows by Grub4K
- No longer enable --mtimeby default (#12781) by seproDev
- Warn when skipping formats (#13090) by bashonly
- jsinterp
- Cache undefined variable names (#13639) by bashonly (With fixes in 805519b)
- Fix variable scoping (#13639) by bashonly, seproDev
 
- utils
- mimetype2ext: Always parse- flacfrom- audio/flac(#13748) by bashonly
- unified_timestamp: Return- intvalues (#13796) by doe1080
- urlhandle_detect_ext: Use- x-amz-meta-file-typeheaders (#13749) by bashonly
 
Extractor changes
- Add _search_nextjs_v13_datahelper (#13398) by bashonly (With fixes in b5fea53)
- Detect invalid m3u8 playlist data (#13601) by Grub4K
- 10play: Support new site domain (#13611) by Georift
- 9gag: Support browser impersonation (#13678) by bashonly
- aenetworks: Support new URL formats (#13747) by bashonly
- archive.org: Fix extractor (#13706) by rdamas
- bandaichannel: Remove extractor (#13152) by doe1080
- bandcamp: Extract tags (#13480) by WouterGordts
- bellmedia: Remove extractor (#13429) by doe1080
- bilibili: Pass newer user-agent with API requests (#13736) by c-basalt
- bilibilibangumi
- blackboardcollaborate: Support subtitles and authwalled videos (#12473) by flanter21
- btvplus: Add extractor (#13541) by bubo
- ctv: Remove extractor (#13429) by doe1080
- dangalplay: Support other login regions (#13768) by bashonly
- francetv: Improve error handling (#13726) by bashonly
- hotstar
- Fix support for free accounts (#13700) by chauhantirth
- Improve error handling (#13727) by bashonly (With fixes in ef103b2)
 
- joqrag: Remove extractor (#13152) by doe1080
- limelight: Remove extractors (#13267) by doe1080
- lrtradio: Fix extractor (#13717) by Pawka
- mir24.tv: Add extractor (#13651) by swayll
- mixlr: Add extractors (#13561) by seproDev, ShockedPlot7560
- mlbtv: Make formats downloadable with ffmpeg (#13761) by bashonly
- newspicks: Fix extractor (#13612) by doe1080
- nhkradiru: Fix metadata extraction (#12708) by garret1317
- noovo: Remove extractor (#13429) by doe1080
- patreon: campaign: Fix extractor (#13712) by bashonly
- playerfm: Add extractor (#13016) by R0hanW
- rai: Fix formats extraction (#13572) by moonshinerd, seproDev
- raisudtirol: Support alternative domain (#13718) by barsnick
- skeb: Rework extractor (#13593) by doe1080
- soundcloud: Always extract original format extension (#13746) by bashonly
- sproutvideo: Fix extractor (#13610) by bashonly
- thehighwire: Add extractor (#13505) by swayll
- twitch: Improve error handling (#13618) by bashonly
- unitednationswebtv: Add extractor (#13538) by averageFOSSenjoyer
- vimeo
- youtube
- Do not require PO Token for premium accounts (#13640) by coletdjnz
- Ensure context params are consistent for web clients (#13701) by coletdjnz
- Extract global nsig helper functions (#13639) by bashonly, seproDev
- Fix subtitles extraction (#13659) by bashonly
- Log bad playability statuses of player responses (#13647) by coletdjnz
- Use impersonation for downloading subtitles (#13786) by bashonly
- tab: Fix subscriptions feed extraction (#13665) by bashonly
 
Downloader changes
Networking changes
- Request Handler
- requests
- Refactor default headers (#13785) by bashonly
- Work around partial read dropping data (#13599) by Grub4K (With fixes in c316416)
 
 
- requests
Misc. changes
- cleanup
- Bump ruff to 0.12.x (#13596) by seproDev
- Miscellaneous: 9951fdd by adamralph, bashonly, doe1080, hseg, InvalidUsernameException, seproDev
 
- devscripts: Fix filename/directory Bash completions (#13620) by barsnick
- test: download: Support playlist_maxcount(#13433) by InvalidUsernameException
2025.06.30
Core changes
- jsinterp: Fix extract_object(#13580) by seproDev
Extractor changes
- bilibilispacevideo: Extract hidden-mode collections as playlists (#13533) by c-basalt
- hotstar
- Fix extractor (#13530) by bashonly, chauhantirth (With fixes in e9f1576 by bashonly)
- Fix metadata extraction (#13560) by bashonly
- Raise for login required (#10405) by bashonly
- series: Fix extractor (#13564) by bashonly
 
- jiocinema: Remove extractors (#13565) by bashonly
- kick: Support subscriber-only content (#13550) by helpimnotdrowning
- niconico: live: Fix extractor and downloader (#13158) by doe1080
- sauceplus: Add extractor (#13567) by bashonly, ceandreasen
- sproutvideo: Support browser impersonation (#13589) by bashonly
- youtube: Fix premium formats extraction (#13586) by bashonly
Misc. changes
- ci: Add signature tests (#13582) by bashonly
- cleanup: Miscellaneous: b018784 by bashonly
2025.06.25
Extractor changes
- Add _search_nuxt_jsonhelper (#13386) by bashonly, Grub4K
- brightcove: new: Improve metadata extraction (#13461) by doe1080
- huya: live: Fix extractor (#13520) by doe1080
- hypergryph: Improve metadata extraction (#13415) by doe1080, eason1478
- lsm: Fix extractors (#13126) by Caesim404
- mave: Add extractor (#13380) by anlar
- sportdeutschland: Fix extractor (#13519) by DTrombett
- sproutvideo: Fix extractor (#13544) by bashonly
- tv8.it: Support slugless URLs (#13478) by DTrombett
- youtube
Misc. changes
- test: traversal: Fix morsel tests for Python 3.14 (#13471) by Grub4K
2025.06.09
Extractor changes
- Improve JSON LD thumbnails extraction (#13368) by bashonly, doe1080
- 10play: Fix extractor (#13349) by bashonly
- adobepass
- aenetworks
- bilibilibangumi: Fix extractor (#13416) by c-basalt
- brightcove: new: Adapt to new AdobePass requirement (#13131) by bashonly
- cu.ntv.co.jp: Fix extractor (#13302) by doe1080, nullpos
- go: Fix provider-locked content extraction (#13131) by bashonly, maxbin123
- nbc: Rework and adapt extractors to new AdobePass flow (#13131) by bashonly
- nobelprize: Fix extractor (#13205) by doe1080
- odnoklassniki: Detect and raise when login is required (#13361) by bashonly
- patreon: Fix m3u8 formats extraction (#13266) by bashonly (With fixes in 1a8a03e)
- podchaser: Fix extractor (#13271) by bashonly
- sr: mediathek: Improve metadata extraction (#13294) by doe1080
- stacommu: Avoid partial stream formats (#13412) by bashonly
- startrek: Fix extractor (#13188) by doe1080
- svt: play: Fix extractor (#13329) by barsnick, bashonly
- telecinco: Fix extractor (#13379) by bashonly
- theplatform: Improve metadata extraction (#13131) by bashonly
- toutiao: Add extractor (#13246) by doe1080
- turner: Adapt extractors to new AdobePass flow (#13131) by bashonly
- twitcasting: Fix password-protected livestream support (#13097) by bashonly
- twitter: broadcast: Support events URLs (#13248) by doe1080
- umg: de: Rework extractor (#13373) by doe1080
- vice: Mark extractors as broken (#13131) by bashonly
- vimeo: Extract subtitles from player subdomain (#13350) by bashonly
- watchespn: Fix provider-locked content extraction (#13131) by maxbin123
- weverse: Support login with oauth refresh tokens (#13284) by bashonly
- youtube
- Add tv_simplyplayer client (#13389) by gamer191
- Extract srt subtitles (#13411) by gamer191
- Fix --mark-watchedsupport (#13222) by brian6932, iednod55
- Fix automatic captions for some client combinations (#13268) by bashonly
- Improve signature extraction debug output (#13327) by bashonly
- Rework nsig function name extraction (#13403) by Grub4K
- nsig code improvements and cleanup (#13280) by bashonly
 
- Add 
- zdf: Fix language extraction and format sorting (#13313) by InvalidUsernameException
Misc. changes
- build
- cleanup: Miscellaneous: 339614a by bashonly
- test: postprocessors: Remove binary thumbnail test data (#13341) by bashonly
2025.05.22
Core changes
- cookies: Fix Linux desktop environment detection (#13197) by mbway
- jsinterp: Fix increment/decrement evaluation (#13238) by bashonly, seproDev
Extractor changes
- 1tv: Fix extractor (#13168) by bashonly
- amcnetworks: Fix extractor (#13147) by bashonly
- bitchute: Fix extractor (#13081) by bashonly
- cartoonnetwork: Remove extractor (#13148) by bashonly
- iprima: Fix login support (#12937) by baierjan
- jiosaavn
- artist: Add extractor (#12803) by subrat-lima
- playlist, show: Add extractor (#12803) by subrat-lima
- show: Add extractor (#12803) by subrat-lima
 
- lrtradio: Fix extractor (#13200) by Pawka
- nebula: Support --mark-watched(#13120) by GeoffreyFrogeye
- niconico
- Fix error handling (#13236) by bashonly
- live: Fix extractor (#13045) by doe1080
 
- nytimesarticle: Fix extraction (#13104) by bashonly
- once: Remove extractor (#13164) by bashonly
- picarto: vod: Support /profile/video URLs (#13227) by subrat-lima
- playsuisse: Improve metadata extraction (#12466) by v3DJG6GL
- sprout: Remove extractor (#13149) by bashonly
- svtpage: Fix extractor (#12957) by diman8
- twitch: Support --live-from-start(#13202) by bashonly
- vimeo: event: Add extractor (#13216) by bashonly
- wat.tv: Improve error handling (#13111) by bashonly
- weverse: Fix live extraction (#13084) by bashonly
- xinpianchang: Fix extractor (#13245) by garret1317
- youtube
- Add PO token support for subtitles (#13234) by bashonly, coletdjnz
- Add web_embeddedclient for age-restricted videos (#13089) by bashonly
- Add a PO Token Provider Framework (#12840) by coletdjnz
- Extract media_typefor all videos (#13136) by bashonly
- Fix --live-from-startsupport for premieres (#13079) by arabcoders
- Fix geo-restriction error handling (#13217) by yozel
 
Misc. changes
2025.04.30
Important changes
- New option --preset-alias/-thas been added This provides convenient predefined aliases for common use cases. Available presets includemp4,mp3,mkv,aac, andsleep. See the README for more details.
Core changes
- Add --preset-aliasoption (#12839) by Grub4K, seproDev
- utils
- _yield_json_ld: Make function less fatal (#12855) by seproDev
- url_or_none: Support WebSocket URLs (#12848) by doe1080
 
Extractor changes
- abematv: Fix thumbnail extraction (#12859) by Kiritomo
- atresplayer: Rework extractor (#11424) by meGAmeS1, seproDev
- bpb: Fix formats extraction (#13015) by bashonly
- cda: Fix formats extraction (#12975) by bashonly
- cdafolder: Extend _VALID_URL(#12919) by fireattack, Kicer86
- crowdbunker: Make format extraction non-fatal (#12836) by seproDev
- dacast: Support tokenized URLs (#12979) by bashonly
- dzen.ru: Rework extractors (#12852) by seproDev
- generic: Fix MPD extraction for file://URLs (#12978) by bashonly
- getcourseru: Fix extractors (#12943) by troex
- ivoox: Add extractor (#12768) by NeonMan, seproDev
- kika: Add playlist extractor (#12832) by 1100101
- linkedin
- Support feed URLs (#12927) by seproDev
- events: Add extractor (#12926) by bashonly, seproDev
 
- loco: Fix extractor (#12934) by seproDev
- lrtradio: Add extractor (#12801) by subrat-lima
- manyvids: Fix extractor (#10907) by pj47x
- mixcloud: Refactor extractor (#12830) by seproDev, WouterGordts
- mlbtv: Fix device ID caching (#12980) by bashonly
- niconico
- Fix login support (#13008) by doe1080
- Remove DMC formats support (#12916) by doe1080
- live: Fix extractor (#12809) by Snack-X
 
- panopto: Fix formats extraction (#12925) by seproDev
- parti: Add extractors (#12769) by benfaerber
- raiplay: Fix DRM detection (#12971) by DTrombett
- reddit: Support --ignore-no-formats-error(#12993) by bashonly
- royalive: Add extractor (#12817) by CasperMcFadden95
- rtve: Rework extractors (#10388) by meGAmeS1, seproDev
- rumble: Improve format extraction (#12838) by seproDev
- tokfmpodcast: Fix formats extraction (#12842) by selfisekai
- tv2dk: Fix extractor (#12945) by bashonly, seproDev
- tvp: vod: Improve _VALID_URL(#12923) by seproDev
- tvw: tvchannels: Add extractor (#12721) by fries1234
- twitcasting: Fix livestream extraction (#12977) by bashonly
- twitch: clips: Fix uploader metadata extraction (#13022) by 1271
- twitter
- Fix extraction when logged-in (#13024) by bashonly
- spaces: Improve metadata extraction (#12911) by doe1080
 
- vimeo: Extract from mobile API (#13034) by bashonly
- vk
- youtube
- Add context to video request rate limit error (#12958) by coletdjnz
- Add extractor arg to skip "initial_data" request (#12865) by leeblackc
- Add warning on video captcha challenge (#12939) by coletdjnz
- Cache signature timestamps (#13047) by bashonly
- Detect and warn when account cookies are rotated (#13014) by coletdjnz
- Detect player JS variants for any locale (#13003) by bashonly
- Do not strictly deprioritize missing_potformats (#13061) by bashonly
- Improve warning for SABR-only/SSAP player responses (#13049) by bashonly
- tab: Extract continuation from empty page (#12938) by coletdjnz
 
- zdf: Fix extractors (#12779) by bashonly, InvalidUsernameException
Downloader changes
- niconicodmc: Remove downloader (#12916) by doe1080
Networking changes
Misc. changes
- ci: Add file mode test to code check (#13036) by Grub4K
- cleanup: Miscellaneous: 505b400 by bashonly, seproDev
2025.03.31
Core changes
Extractor changes
- francaisfacile: Add extractor (#12787) by mlabeeb03
- generic: Validate response before checking m3u8 live status (#12784) by bashonly
- microsoftlearnepisode: Extract more formats (#12799) by bashonly
- mlbtv: Fix radio-only extraction (#12792) by bashonly
- on24: Support mainEventURLs (#12800) by bashonly
- sbs: Fix subtitles extraction (#12785) by bashonly
- stvr: Rename extractor from RTVS to STVR (#12788) by mireq
- twitch: clips: Extract portrait formats (#12763) by DmitryScaletta
- youtube
Misc. changes
2025.03.27
Core changes
- jsinterp: Fix nested attributes and object extraction (#12760) by bashonly, seproDev
Extractor changes
- youtube: Make signature and nsig extraction more robust (#12761) by bashonly, seproDev
2025.03.26
Extractor changes
- youtube
2025.03.25
Core changes
- Fix attribute error on failed VT init (#12696) by Grub4K
- utils: js_to_json: Make function less fatal (#12715) by seproDev
Extractor changes
- Fix sorting of HLS audio formats by GROUP-ID(#12714) by bashonly
- 17live: vod: Add extractor (#12723) by subrat-lima
- 9now.com.au: Fix extractor (#12702) by bashonly
- chzzk: video: Fix extraction (#12692) by bashonly, dirkf
- deezer: Remove extractors (#12704) by seproDev
- generic: Fix MPD base URL parsing (#12718) by fireattack
- streaks: Add extractor (#12679) by doe1080
- tver: Fix extractor (#12659) by arabcoders, bashonly
- viki: Remove extractors (#12703) by seproDev
- vrsquare: Add extractors (#12515) by doe1080
- youtube
Networking changes
- Request Handler: curl_cffi: Support curl_cffi0.10.x (#12670) by Grub4K
Misc. changes
2025.03.21
Core changes
- Fix external downloader availability when using --ffmpeg-location(#12318) by Kenshin9977
- Load plugins on demand (#11305) by coletdjnz, Grub4K, pukkandan (With fixes in c034d65)
- Support emitting ConEmu progress codes (#10649) by Grub4K
Extractor changes
- azmedien: Fix extractor (#12375) by goggle
- bilibiliplaylist: Fix extractor (#12690) by bashonly
- bunnycdn: Add extractor (#11586) by Grub4K, seproDev
- canalsurmas: Add extractor (#12497) by Arc8ne
- cda: Fix login support (#12552) by rysson
- cultureunplugged: Extend _VALID_URL(#12486) by seproDev
- dailymotion: Improve embed detection (#12464) by seproDev
- gem.cbc.ca: Fix login support (#12414) by bashonly
- globo: Fix subtitles extraction (#12270) by pedro
- jamendo: Fix thumbnail extraction (#12622) by bashonly, JChris246
- ketnet: Remove extractor (#12628) by MichaelDeBoey
- lbry
- loco: Add extractor (#12667) by DTrombett
- magellantv: Fix extractor (#12505) by seproDev
- mitele: Fix extractor (#12689) by bashonly
- msn: Rework extractor (#12513) by seproDev, thedenv
- n1: Fix extraction of newer articles (#12514) by u-spec-png
- nbcstations: Fix extractor (#12534) by refack
- niconico
- Fix format sorting (#12442) by xpadev-net
- live: Fix thumbnail extraction (#12419) by bashonly
 
- openrec: Fix _VALID_URL(#12608) by fireattack
- pinterest: Fix extractor (#12538) by mikf
- playsuisse: Fix login support (#12444) by bashonly
- reddit: Truncate title (#12567) by seproDev
- rtp: Rework extractor (#11638) by pferreir, red-acid, seproDev, somini, vallovic
- softwhiteunderbelly: Add extractor (#12281) by benfaerber
- soop: Fix timestamp extraction (#12609) by msikma
- soundcloud
- tiktok
- tv8.it: Add live and playlist extractors (#12569) by DTrombett
- tvw: Add extractor (#12271) by fries1234
- vk: Improve metadata extraction (#12510) by seproDev
- vrtmax: Rework extractor (#12479) by bergoid, MichaelDeBoey, seproDev
- weibo: Support playlists (#12284) by 4ft35t
- wsj: Support opinion URLs and impersonation (#12431) by refack
- youtube
Networking changes
- Add keep_header_casingextension (#11652) by coletdjnz, Grub4K
- Always add unsupported suffix on version mismatch (#12626) by Grub4K
Misc. changes
- cleanup: Miscellaneous: f36e4b6 by dirkf, gamer191, Grub4K, seproDev
- test: Show all differences for expect_valueandexpect_dict(#12334) by Grub4K
2025.02.19
Core changes
- jsinterp
Extractor changes
- acast: Support shows.acast.com URLs (#12223) by barsnick
- cwtv
- Fix extractor (#12207) by arantius
- movie: Add extractor (#12227) by bashonly
 
- digiview: Add extractor (#9902) by lfavole
- dropbox: Fix extraction (#12228) by bashonly
- francetv
- site
 
- francetvinfo.fr: Fix extractor (#12402) by bashonly
- gem.cbc.ca: Fix extractors (#12404) by bashonly, dirkf
- generic: Extract live_statusfor DASH manifest URLs (#12256) by mp3butcher
- globo: Fix extractor (#11795) by slipinthedove, YoshiTabletopGamer
- goplay: Fix extractor (#12237) by alard
- pbs: Support www.thirteen.org URLs (#11191) by rohieb
- reddit: Bypass gated subreddit warning (#12335) by bashonly
- twitter: Fix syndication token generation (#12107) by Grub4K, pjrobertson
- youtube
- zdf: Extract more metadata (#9565) by StefanLobbenmeier (With fixes in e7882b6 by bashonly)
Downloader changes
- hls
Misc. changes
- Improve Issue/PR templates (#11499) by seproDev (With fixes in 4ecb833 by bashonly)
- cleanup: Miscellaneous: 4985a40 by dirkf, Grub4K, StefanLobbenmeier
- docs: Add note to supportedsites.md(#12382) by seproDev
- test: download: Validate and sort info dict fields (#12299) by bashonly, pzhlkj6612
2025.01.26
Core changes
- Fix float comparison values in format filters (#11880) by bashonly, Dioarya
- utils: sanitize_path: Fix some incorrect behavior (#11923) by Grub4K
Extractor changes
- 1tv: Support sport1tv.ru domain (#11889) by kvk-2015
- abematv: Support season extraction (#11771) by middlingphys
- bilibili
- bilibilidynamic: Add extractor (#11838) by finch71, grqz
- bluesky: Prefer source format (#12154) by 0x9fff00
- crunchyroll: Remove extractors (#12195) by seproDev
- dropout: Fix extraction (#12102) by bashonly
- eggs: Add extractors (#11904) by seproDev, subsense
- funimation: Remove extractors (#12167) by doe1080
- goodgame: Fix extractor (#12173) by NecroRomnt
- lbry: Support signed URLs (#12138) by seproDev
- naver: Fix m3u8 formats extraction (#12037) by kclauhk
- nest: Add extractors (#11747) by pabs3, seproDev
- niconico: series: Fix extractor (#11822) by test20140
- nrk
- patreon: Extract attachment filename as alt_title(#12000) by msm595
- pbs: Fix extractor (#12024) by dirkf, krandor, n10dollar
- piramidetv: Add extractors (#10777) by HobbyistDev, kclauhk, seproDev
- redgifs: Support /ifr/URLs (#11805) by invertico
- rtvslo.si: show: Extract more metadata (#12136) by cotko
- senategov: Fix extractors (#9361) by Grabien, seproDev
- soundcloud
- Extract more metadata (#11945) by 7x11x13
- user: Add /commentspage support (#11999) by 7x11x13
 
- subsplash: Add extractors (#11054) by seproDev, subrat-lima
- theatercomplextownppv: Support liveURLs (#11720) by bashonly
- vimeo: Fix thumbnail extraction (#12142) by jixunmoe
- vimp: Playlist: Add support for tags (#11688) by FestplattenSchnitzel
- weibo: Extend _VALID_URL(#12088) by 4ft35t
- xhamster: Various improvements (#11738) by knackku
- xiaohongshu: Extract more formats (#12147) by seproDev
- youtube
- Download tvclient Innertube config (#12168) by coletdjnz
- Extract media_typefor livestreams (#11605) by nosoop
- Restore convenience workarounds (#12181) by bashonly
- Update iosplayer client (#12155) by b5i
- Use different PO token for GVS and Player (#12090) by coletdjnz
- tab: Improve shorts title extraction (#11997) by bashonly, d3d9
 
- Download 
- zdf: Fix extractors (#11041) by InvalidUsernameException
Misc. changes
- cleanup: Miscellaneous: 3b45319 by bashonly, lonble, pjrobertson, seproDev
2025.01.15
Extractor changes
- youtube: Do not use web_creatoras a default client (#12087) by bashonly
2025.01.12
Core changes
- Fix filename sanitization with --no-windows-filenames(#11988) by bashonly
- Validate retries values are non-negative (#11927) by Strkmn
Extractor changes
- drtalks: Add extractor (#10831) by pzhlkj6612, seproDev
- plvideo: Add extractor (#10657) by Sanceilaks, seproDev
- vine: Remove extractors (#11700) by allendema
- xiaohongshu: Extend _VALID_URL(#11806) by HobbyistDev
- youtube
Misc. changes
2024.12.23
Core changes
Extractor changes
- soundcloud: Various fixes (#11820) by bashonly
- youtube
2024.12.13
Extractor changes
- patreon: campaign: Support /c/ URLs (#11756) by bashonly
- soundcloud: Fix extraction (#11777) by bashonly
- youtube
Misc. changes
- cleanup: Make more playlist entries lazy (#11763) by seproDev
2024.12.06
Core changes
Extractor changes
- bilibili: Fix HD formats extraction (#11734) by grqz
- soundcloud: Fix formats extraction (#11742) by bashonly
- youtube
- Fix nsig extraction for player3bb1f723(#11750) by bashonly (With fixes in 4bd2655)
- Fix signature function extraction (#11751) by bashonly
- Player client maintenance (#11724) by bashonly
 
- Fix 
2024.12.03
Core changes
Extractor changes
- Handle fragmented formats in _remove_duplicate_formats(#11637) by Grub4K
- bilibili
- Always try to extract HD formats (#10559) by grqz
- Fix extractor (#11667) by grqz (With fixes in f05a1cd by bashonly, grqz)
- Fix subtitles and chapters extraction (#11708) by xiaomac
 
- chaturbate: Fix support for non-public streams (#11624) by jkruse
- dacast: Fix HLS AES formats extraction (#11644) by bashonly
- dropbox: Fix password-protected video extraction (#11636) by bashonly
- duoplay: Fix extractor (#11588) by bashonly, glensc
- facebook: Support more groups URLs (#11576) by grqz
- instagram: Support shareURLs (#11677) by grqz
- microsoftembed: Make format extraction non fatal (#11654) by seproDev
- mitele: Fix extractor (#11683) by DarkZeros
- stripchat: Fix extractor (#11596) by gitninja1234
- tiktok: Deprioritize animated thumbnails (#11645) by bashonly
- vk: Fix extractors (#11715) by bashonly
- youtube
Networking changes
- Request Handler: websockets: Support websockets 14.0+ (#11616) by coletdjnz
Misc. changes
- cleanup
- Bump ruff to 0.8.x (#11608) by seproDev
- Miscellaneous
 
2024.11.18
Important changes
- Login with OAuth is no longer supported for YouTube Due to a change made by the site, yt-dlp is no longer able to support OAuth login for YouTube. Read more
Core changes
- Catch broken Cryptodome installations (#11486) by seproDev
- utils
- Fix join_nonempty, add**kwargstounpack(#11559) by Grub4K
- subs_list_to_dict: Add- langdefault parameter (#11508) by Grub4K
 
- Fix 
Extractor changes
- Allow extoverride for thumbnails (#11545) by bashonly
- adobepass: Fix provider requests (#11472) by bashonly
- archive.org: Fix comments extraction (#11527) by jshumphrey
- bandlab: Add extractors (#11535) by seproDev
- chaturbate
- Extract from API and support impersonation (#11555) by powergold1 (With fixes in 7cecd29 by seproDev)
- Support alternate domains (#10595) by manavchaudhary1
 
- cloudflarestream: Avoid extraction via videodelivery.net (#11478) by hugovdev
- ctvnews
- digitalconcerthall: Support login with access/refresh tokens (#11571) by bashonly
- facebook: Fix formats extraction (#11513) by bashonly
- gamedevtv: Add extractor (#11368) by bashonly, stratus-ss
- goplay: Fix extractor (#11466) by bashonly, SamDecrock
- kenh14: Add extractor (#3996) by krichbanana, pzhlkj6612
- litv: Fix extractor (#11071) by jiru
- mixchmovie: Add extractor (#10897) by Sakura286
- patreon: Fix comments extraction (#11530) by bashonly, jshumphrey
- pialive: Add extractor (#10811) by ChocoLZS
- radioradicale: Add extractor (#5607) by a13ssandr0, pzhlkj6612
- reddit: Improve error handling (#11573) by bashonly
- redgifsuser: Fix extraction (#11531) by jshumphrey
- rutube: Rework extractors (#11480) by seproDev
- sonylivseries: Add sort_orderextractor-arg (#11569) by bashonly
- soop: Fix thumbnail extraction (#11545) by bashonly
- spankbang: Support browser impersonation (#11542) by jshumphrey
- spreaker
- youtube
Misc. changes
- build
- cleanup
- Deprecate more compat functions (#11439) by seproDev
- Remove dead extractors (#11566) by doe1080
- Miscellaneous: da252d9 by bashonly, Grub4K, seproDev
 
2024.11.04
Important changes
- Beginning with this release, yt-dlp's Python dependencies must be installed using the defaultgroup If you're installing yt-dlp with pip/pipx or requiring yt-dlp in your own Python project, you'll need to specifyyt-dlp[default]if you want to also install yt-dlp's optional dependencies (which were previously included by default). Read more
- The minimum required Python version has been raised to 3.9
Python 3.8 reached its end-of-life on 2024.10.07, and yt-dlp has now removed support for it. As an unfortunate side effect, the official yt-dlp.exeandyt-dlp_x86.exebinaries are no longer supported on Windows 7. Read more
Core changes
- Allow thumbnails with .jpeextension (#11408) by bashonly
- Expand paths in --plugin-dirs(#11334) by bashonly
- Fix --netrcempty string parsing for Python <=3.10 (#11414) by bashonly, Grub4K
- Populate format sorting fields before dependent fields (#11353) by Grub4K
- Prioritize AV1 (#11153) by seproDev
- Remove Python 3.8 support (#11321) by bashonly
- aes: Fix GCM pad length calculation (#11438) by seproDev
- cookies: Support chrome table version 24 (#11425) by kesor, seproDev
- utils
- Allow partial application for more functions (#11391) by bashonly, Grub4K (With fixes in 422195e by Grub4K)
- Fix find_elementby class (#11402) by bashonly
- Fix and improve find_elementandfind_elements(#11443) by bashonly, Grub4K
 
Extractor changes
- Resolve languageto ISO639-2 for ISM formats (#11359) by bashonly
- ardmediathek: Extract chapters (#11442) by iw0nderhow
- bfmtv: Fix extractors (#11444) by seproDev
- bluesky: Add extractor (#11055) by MellowKyler, seproDev
- ccma: Support new 3cat.cat domain (#11222) by JoseAngelB
- chzzk: video: Fix extraction (#11228) by hui1601
- cnn: Fix extractor (#10185) by kylegustavo, seproDev
- dailymotion
- facebook: Fix formats extraction (#11343) by kclauhk
- generic: Do not impersonate by default (#11336) by bashonly
- nfl: Fix extractors (#11409) by bashonly
- niconicouser: Fix extractor (#11324) by Wesley107772
- soundcloud: Extract artists (#11377) by seproDev
- tumblr: Support more URLs (#6057) by selfisekai, seproDev
- twitter: Remove cookies migration workaround (#11392) by bashonly
- vimeo: Fix API retries (#11351) by bashonly
- yle_areena: Support live events (#11358) by bashonly, CounterPillow
- youtube: Adjust OAuth refresh token handling (#11414) by bashonly
Misc. changes
- build
- cleanup
- devscripts: make_changelog: Parse full commit message for fixes (#11366) by bashonly, Grub4K
2024.10.22
Important changes
- Following this release, yt-dlp's Python dependencies must be installed using the defaultgroup If you're installing yt-dlp with pip/pipx or requiring yt-dlp in your own Python project, you'll need to specifyyt-dlp[default]if you want to also install yt-dlp's optional dependencies (which were previously included by default). Read more
- py2exe is no longer supported
This release's yt-dlp_min.exewill be the last, and it's actually a PyInstaller-bundled executable so that yt-dlp users updating their py2exe build with-Uwill be automatically migrated. Read more
Core changes
- Add extractor helpers (#10653) by Grub4K
- Add option --plugin-dirs(#11277) by coletdjnz, imranh2
- cookies: Fix compatibility for Python <=3.9 in traceback by Grub4K
- utils
- Popen: Reset PyInstaller environment (#11258) by bashonly, Grub4K
- sanitize_path: Reimplement function (#11198) by Grub4K
 
Extractor changes
- adobepass: Use newer user-agent for provider redirect request (#11250) by bashonly
- afreecatv: Adapt extractors to new sooplive.co.kr domain (#11266) by 63427083, bashonly
- cda: Support folders (#10786) by pktiuk
- cwtv: Fix extraction (#11230) by bashonly
- drtv: Fix extractor (#11141) by 444995
- funk: Extend _VALID_URL(#11269) by seproDev
- gem.cbc.ca: Fix formats extraction (#11196) by DavidSkrundz
- generic: Impersonate browser by default (#11206) by Grub4K
- imgur
- patreon: campaign: Stricter URL matching (#11235) by bashonly
- reddit: Detect and raise when login is required (#11202) by pzhlkj6612
- substack: Resolve podcast file extensions (#11275) by bashonly
- telecinco: Fix extractors (#11142) by bashonly, DarkZeros
- tubitv: Strip extra whitespace from titles (#10795) by allendema
- tver: Support series URLs (#9507) by pzhlkj6612, vvto33
- twitter: spaces: Allow extraction when not logged in (#11289) by rubyevadestaxes
- weverse: Fix extractor (#11215) by bashonly
- youtube
Misc. changes
- build
- Migrate py2exebuilds towin_exe(#11256) by bashonly
- Use macos-13image for macOS builds (#11236) by bashonly
- make_lazy_extractors: Force running without plugins (#11205) by Grub4K
 
- Migrate 
- cleanup: Miscellaneous: 67adeb7 by bashonly, DTrombett, grqz, Grub4K, KarboniteKream, mikkovedru, seproDev
- test: Allow running tests explicitly (#11203) by Grub4K
2024.10.07
Core changes
- cookies: Fix cookie load error handling (#11140) by Grub4K
Extractor changes
- applepodcasts: Fix extractor (#10903) by coreywright
- cwtv: Fix extractor (#11135) by kclauhk
- noodlemagazine: Fix extractor (#11144) by BallzCrasher
- patreon: Extract all m3u8 formats for locked posts (#11138) by bashonly
- youtube: Change default player clients to ios,mweb(#11190) by seproDev
Postprocessor changes
- xattrmetadata: Try to write each attribute (#11115) by eric321
Misc. changes
- ci: Rerun failed tests (#11143) by Grub4K
- cleanup: Miscellaneous: 1a176d8 by bashonly
2024.09.27
Important changes
- The minimum recommended Python version has been raised to 3.9 Since Python 3.8 will reach end-of-life in October 2024, support for it will be dropped soon. Read more
Core changes
- Allow nonearg to negate--convert-subsand--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 chromeissue (#11090) by seproDev
- utils: mimetype2ext: Recognizeaacpasaac(#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
- 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 idvalues (#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_idextractor args (#10648) by bashonly, coletdjnz, seproDev (With fixes in fa2be9a by bashonly)
- Support excluding player_clients in extractor-arg (#10710) by bashonly
- clip: Prioritize httpsformats (#11102) by bashonly
- tab: Fix shorts tab extraction (#10938) by seproDev
 
- Add 
Networking changes
- Fix handler not being added to RequestError (#10955) by coletdjnz
- Pin curl-cffiversion to < 0.7.2 (#11092) by bashonly
- Request Handler: websockets: Upgrade websockets to 13.0 (#10815) by coletdjnz
Misc. changes
- build
- ci
- cleanup: Miscellaneous: c6387ab by bashonly, Codenade, coletdjnz, grqz, Grub4K, pzhlkj6612, seproDev
2024.08.06
Core changes
- jsinterp: Improve sliceimplementation (#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
2024.08.01
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
Misc. changes
2024.07.25
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 nfunction name extraction for player3400486c(#10542) by bashonly
Misc. changes
- build: Pin setuptoolsversion (#10493) by bashonly
2024.07.16
Core changes
- Fix noprogressiftest=Truewith--quietand--verbose(#10454) by Grub4K
- Support auto-ttyandno_color-ttyfor--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_sslrequest extension (#10448) by coletdjnz
- Request Handler: curl_cffi: Support curl_cffi0.7.X by coletdjnz
Misc. changes
2024.07.09
Core changes
Extractor changes
- youtube: Remove broken nfunction extraction fallback (#10396) by pukkandan, seproDev
2024.07.08
Core changes
Extractor changes
- soundcloud: Fix rate-limit handling (#10389) by bashonly
- youtube: Fix JS nfunction name extraction (#10390) by bashonly, seproDev
2024.07.07
Important changes
- Security: [ie/douyutv] Do not use dangerous javascript source/URL
- A dependency on potentially malicious third-party JavaScript code has been removed from the Douyu extractors
 
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
Misc. changes
2024.07.02
Core changes
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
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
 
Core changes
- Add playlist_channelandplaylist_channel_idfields (#10266) by bashonly
- Disallow unsafe extensions (CVE-2024-38519) by Grub4K
- cookies: Fix --cookies-from-browserDE 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_URLand 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
- generic: Add key_queryextractor-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
- patreoncampaign: Fix campaign_idextraction (#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 downloadformat extraction (#10125) by bashonly
- sproutvideo: Add extractors (#10098) by bashonly, TheZ3ro
- tiktok
- tubitv
- Fix extractor (#9975) by chilinux
- series: Fix extractor (#10116) by bashonly
 
- vimeo: Support browser impersonation (#10327) by bashonly
- youtube
Downloader changes
Postprocessor changes
- embedthumbnail: Fix postprocessor (#10248) by Grub4K
Networking changes
- Request Handler: requests: Bump minimum requestsversion to 2.32.2 (#10079) by bashonly
Misc. changes
- build
- cleanup
- test: download: Raise on network errors (#10283) by bashonly, seproDev
2024.05.27
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
2024.05.26
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
- windows: Improve shell quoting and tests (#9802) by Grub4K (With fixes in 7e26bd5)
Extractor changes
- Add POST data hash to --write-pagesfilenames (#9879) by minamotorin (With fixes in c999bac by bashonly)
- Make _search_nextjs_datanon fatal (#8937) by Grub4K
- afreecatv: live: Add cdnextractor-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-proxysupport (#9817) by fireattack
- bilibilispacevideo
- 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
- 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 CloudflareStreamIEexplicitly (#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-playlistmessage (#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
- 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
- taptap: Add extractors (#9776) by c-basalt
- tele5: Overhaul extractor (#10024) by bashonly
- theatercomplextown: Fix extractors (#9754) by bashonly
- tiktok
- Add device_idextractor-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
 
- Add 
- tv5monde: Fix extractor (#9143) by alard, seproDev
- 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
- zenyandex: Fix extractor (#9813) by src-tinkerer
Networking changes
- Add extensionsattribute toResponse(#9756) by bashonly
- Request Handler
- requests
 
Misc. changes
- Add hatch,ruff,pre-commitand improve dev docs (#7409) by bashonly, Grub4K, seproDev
- build
- cleanup
- test
2024.04.09
Important changes
- Security: [CVE-2024-22423] Prevent RCE when using --execwith%qon Windows- The shell escape function now properly escapes %,\and\n.
- utils.Popenhas been patched accordingly.
 
- The shell escape function now properly escapes 
Core changes
- Add new option --progress-delta(#9082) by Grub4K
- Add new options --impersonateand--list-impersonate-targetsby bashonly, coletdjnz, Grub4K, pukkandan
- Add option --no-break-on-existing(#9610) by bashonly
- Fix filesize_approxcalculation (#9560) by pukkandan, seproDev
- Infer acodecfor single-codec containers by pukkandan
- Prevent RCE when using --execwith%q(CVE-2024-22423) by Grub4K
- cookies: Add --cookies-from-browsersupport for Firefox Flatpak (#9619) by un-def
- utils
- traverse_obj
 
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
- 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
- thisoldhouse: Support Brightcove embeds (#9576) by bashonly
- tiktok
- 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
Downloader changes
- ffmpeg: Accept output args from info dict (#9278) by bashonly
Networking changes
- Respect SSLKEYLOGFILEenvironment variable (#9543) by luiso1979
- Request Handler
- curlcffi: Add support for curl_cffiby bashonly, coletdjnz, Grub4K, pukkandan
- websockets: Workaround race condition causing issues on PyPy (#9514) by coletdjnz
 
- curlcffi: Add support for 
Misc. changes
- build
- cleanup
- Standardize import datetime as dt(#8978) by pukkandan
- ie: No fromstdlib imports in extractors by pukkandan
- Miscellaneous: 216f6a3 by bashonly, pukkandan
 
- Standardize 
- docs
- test
- Workaround websocket server hanging (#9467) by coletdjnz
- traversal: Separate traversal tests (#9574) by Grub4K
 
2024.03.10
Core changes
- Add --compat-options 2023(#9084) by Grub4K (With fixes in ffff1bc by pukkandan)
- Create ydl._request_directorwhen needed by pukkandan (With fixes in dbd8b1b by Grub4k)
- Don't select storyboard formats as fallback by bashonly
- Handle --load-info-jsonformat selection errors (#9392) by bashonly
- Warn user when not launching through shell on Windows (#9250) by Grub4K, seproDev
- cookies
- plugins: Handle PermissionError(#9229) by pukkandan, syntaxsurge
- utils
- Improve reprofDateRange,match_filter_funcby pukkandan
- traverse_obj: Support- xml.etree.ElementTree.Element(#8911) by Grub4K
 
- Improve 
- 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
- adn
- 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
 
- 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 (#9130) by seproDev
- cctv: Fix extraction (#9325) by src-tinkerer
- chzzk
- Add extractors (#8887) by DmitryScaletta
- live: Support --wait-for-video(#9309) by hui1601
 
- cineverse: Detect when login required (#9081) by garret1317
- cloudflarestream
- cloudycdn, lsm: Add extractors (#8643) by Caesim404
- cnbc: Overhaul extractors (#8741) by gonzalezjo, Noor-5, ruiminggu, seproDev, zhijinwuu
- craftsy: Fix extractor (#9384) by bashonly
- crooksandliars: Fix extractor (#9192) by seproDev
- crtvg: Fix _VALID_URL(#9404) by Xpl0itU
- dailymotion: Support search (#8292) by drzraf, seproDev
- douyin: Fix extractor (#9239) by 114514ns, bashonly (With fixes in e546e5d by bashonly)
- duboku: Fix m3u8 formats extraction (#9161) by DmitryScaletta
- dumpert: Improve _VALID_URL(#9320) by rvsit
- elementorembed: Add extractor (#8948) by pompos02, seproDev
- eporner: Extract AV1 formats (#9028) by michal-repo
- errjupiter
- Add extractor (#8549) by glensc
- Improve _VALID_URL(#9218) by glensc
 
- facebook
- Add new ID format (#3824) by kclauhk, Wikidepia
- Improve extraction by jingtra, ringus1
- Improve thumbnail extraction (#9060) by kclauhk
- Set format HTTP chunk size (#9058) by bashonly, kclauhk
- Support events (#9055) by kclauhk
- Support permalink URLs (#9061) by kclauhk
- ads: Add extractor (#8870) by kclauhk
 
- flextv: Add extractor (#9178) by DmitryScaletta
- floatplane: Improve metadata extraction (#8934) by chtk
- francetv
- funk: Fix extractor (#9194) by seproDev
- generic: Follow https redirects properly (#9121) by seproDev
- getcourseru: Add extractors (#8873) by divStar, seproDev
- gofile: Fix extraction (#9074) by jazz1611
- googledrive: Fix source file extraction (#8990) by jazz1611
- goplay: Fix extractor (#6654) by alard
- gopro: Fix extractor (#9019) by stilor
- ilpost: Add extractor (#9001) by CapacitorSet
- jiosaavnsong: Support more bitrates (#8834) by alien-developers, bashonly
- kukululive: Add extractor (#8877) by DmitryScaletta
- lefigarovideoembed: Fix extractor (#9198) by seproDev
- linkedin: Fix metadata and extract subtitles (#9056) by barsnick
- magellantv: Support episodes (#9199) by seproDev
- magentamusik: Add extractor (#7790) by pwaldhauer, seproDev
- medaltv: Fix extraction (#9098) by Danish-H
- mlbarticle: Fix extractor (#9021) by HobbyistDev
- motherless: Support uploader playlists (#8994) by dasidiot
- mujrozhlas: Fix extraction (#9306) by bashonly
- mx3: Add extractors (#8736) by martinxyz
- naver: Fix extractors (#8883) by seproDev
- nebula: Support podcasts (#9140) by c-basalt, seproDev
- nerdcubedfeed: Overhaul extractor (#9269) by seproDev
- newgrounds
- Fix login and clean up extraction (#9356) by Grub4K, mrmedieval
- user: Fix extractor (#9046) by u-spec-png
 
- nfb: Add support for onf.ca and series (#8997) by bashonly, rrgomes
- nhkradiru: Extract extended description (#9162) by garret1317
- nhkradirulive: Make metadata extraction non-fatal (#8956) by garret1317
- niconico
- Remove legacy danmaku extraction (#9209) by pzhlkj6612
- Support DMS formats (#9282) by pzhlkj6612, xpadev-net (With fixes in 40966e8 by pzhlkj6612)
 
- ninaprotocol: Add extractor (#8946) by RaduManole, seproDev
- ninenews: Add extractor (#8840) by SirElderling
- nova: Fix embed extraction (#9221) by seproDev
- ntvru: Fix extraction (#9276) by bashonly, dirkf
- nuum: Add extractors (#8868) by DmitryScaletta, seproDev
- nytimes
- onefootball: Fix extractor (#9222) by seproDev
- openrec: Pass referer for m3u8 formats (#9253) by fireattack
- orf: on: Add extractor (#9113) by HobbyistDev
- patreon: Fix embedded HLS extraction (#8993) by johnvictorfs
- peertube: Update instances (#9070) by Chocobozzz
- piapro: Improve _VALID_URL(#8999) by FinnRG
- playsuisse: Add login support (#9077) by chkuendig
- pornhub: Fix login support (#9227) by feederbox826
- pr0gramm: Enable POL filter and provide tags without login (#9051) by Grub4K
- prankcastpost: Add extractor (#8933) by columndeeply
- radiko: Extract more metadata (#9115) by YoshichikaAAA
- rai
- redcdnlivx, sejm: Add extractors (#8676) by selfisekai
- redtube
- ridehome: Add extractor (#8875) by SirElderling
- rinsefmartistplaylist: Add extractor (#8794) by SirElderling
- roosterteeth
- rule34video
- Extract creators(#9258) by gmes78
- Extract more metadata (#7416) by gmes78
- Fix _VALID_URL(#9044) by gmes78
 
- Extract 
- rumblechannel: Fix extractor (#9092) by Pranaxcau, vista-narvas
- screencastify: Update _VALID_URL(#9232) by seproDev
- svtpage: Fix extractor (#8938) by diman8
- swearnet: Raise for login required (#9281) by bashonly
- tiktok: Fix webpage extraction (#9327) by bashonly
- trtworld: Add extractor (#8701) by ufukk
- tvp: Support livestreams (#8860) by selfisekai
- twitch: Fix m3u8 extraction (#8960) by DmitryScaletta
- txxx: Extract thumbnails (#9063) by shmohawk
- utreon: Support playeur.com (#9182) by DmitryScaletta
- vbox7: Fix extractor (#9100) by seproDev
- viewlift: Add support for chorki.com (#9095) by NurTasin
- vimeo
- viously: Add extractor (#8927) by nbr23, seproDev
- youtube
- zenporn: Add extractor (#8509) by SirElderling
- zetland: Add extractor (#9116) by HobbyistDev
Downloader changes
Networking changes
- Remove _CompatHTTPError(#8871) by coletdjnz
- Request Handler
Misc. changes
- build
- Add defaultoptional dependency group (#9295) by bashonly, Grub4K
- Add transitional setup.pyandpyinst.py(#9296) by bashonly, Grub4K, pukkandan
- Bump actions/upload-artifactto v4 and adjust workflows by bashonly
- Bump conda-incubator/setup-minicondato v3 by bashonly
- Fix secretstoragefor ARM builds by bashonly
- Migrate to pyproject.tomlandhatchlingby bashonly (With fixes in 43cfd46)
- Move bundle scripts into bundlesubmodule by bashonly
- Support failed build job re-runs (#9277) by bashonly
- Makefile
 
- Add 
- ci: Bump actions/setup-pythonto v5 by bashonly
- cleanup
- Build files cleanup by bashonly
- Fix infodict returned fields (#8906) by seproDev
- Fix typo in README.md (#8894) by antonkesy
- Mark broken and remove dead extractors (#9238) by seproDev
- Match both httpandhttpsin_VALID_URL(#8968) by seproDev
- Remove unused code (#8968) by pukkandan, seproDev
- Miscellaneous
 
- devscripts
- install_deps: Add script and migrate to it by bashonly
- tomlparse: Add makeshift toml parser by Grub4K
 
- docs: Misc Cleanup (#8977) by Arthurszzz, bashonly, Grub4k, pukkandan, seproDev
- test
2023.12.30
Core changes
- Fix format selection parse error for CPython 3.12 (#8797) by Grub4K
- Let read_stdinobey--quietby pukkandan
- Merged with youtube-dl be008e6 by bashonly, dirkf, Grub4K
- Parse release_yearfromrelease_date(#8524) by seproDev
- Release workflow and Updater cleanup (#8640) by bashonly
- Remove Python 3.7 support (#8361) by bashonly
- Support NO_COLORenvironment variable (#8385) by Grub4K, prettykool
- outtmpl: Support multiplication by pukkandan
- utils: traverse_obj: Moveis_user_inputinto 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_typefield by trainman261
- Extract from mediaelements 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
- 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
- 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) by elyse0, pukkandan, seproDev
- nintendo: Fix Nintendo Direct extraction (#8609) by Grub4K
- ondemandkorea: Fix upgraded format extraction (#8677) by seproDev
- pr0gramm: Support variant formats and subtitles (#8674) by Grub4K
- rinsefm: Add extractor (#8778) by hashFactory
- rudovideo: Add extractor (#8664) by nicodato
- theguardian: Add extractors (#8535) by SirElderling
- theplatform: Extract more metadata (#8635) by trainman261
- twitcasting: Detect livestreams via API and showpage (#8601) by bashonly, JC-Chung
- twitcastinguser: Fix extraction (#8650) by bashonly
- twitter
- Extract stale tweets (#8724) by bashonly
- Prioritize m3u8 formats (#8826) by bashonly
- Work around API rate-limit (#8825) by bashonly
- broadcast: Extract concurrent_view_count(#8600) by sonmezberkay
 
- vidly: Add extractor (#8612) by seproDev
- vocaroo: Do not use deprecated getheader(#8606) by qbnu
- vvvvid: Set user-agent to fix extraction (#8615) by Kyraminol
- youtube
- zingmp3: Add support for radio and podcasts (#7189) by hatienl0i261299
Postprocessor changes
- ffmpegmetadata: Embed stream metadata in single format downloads (#8647) by bashonly
Networking changes
- Strip whitespace around header values (#8802) by coletdjnz
- Request Handler: websockets: Migrate websockets to networking framework (#7720) by coletdjnz
Misc. changes
- ci
- cleanup
- devscripts: run_tests: Create Python script (#8720) by Grub4K (With fixes in 225cf2b)
- docs: Update youtube-dl merge commit in README.mdby bashonly
- test: networking: Update tests for OpenSSL 3.2 (#8814) by bashonly
2023.11.16
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 secretstoragean optional dependency (#8585) by bashonly
2023.11.14
Important changes
- The release channels have been adjusted!
- 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
 
- Disallow smuggling of arbitrary 
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_headersby 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 POSTrequest 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
 
- 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 requestsHTTP library (#3668) by bashonly, coletdjnz, Grub4K (With fixes in 4e38e2a)Adds support for HTTPS proxies and persistent connections (keep-alive) 
Misc. changes
- build
- ci
- cleanup
- test: update: Implement simple updater unit tests by bashonly
2023.10.13
Core changes
- Ensure thumbnail output directory exists (#7985) by Riteo
- utils
- js_to_json: Fix- Dateconstructor parsing (#8295) by awalgarg, Grub4K
- write_xattr: Use- os.setxattrif 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_optionsby 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
2023.10.07
Extractor changes
- abc.net.au: iview: Improve episodeextraction (#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
- theta: Remove extractors (#8251) by alerikaisattera
- wrestleuniversevod: Call API with device ID (#8272) by bashonly
- xhamster: user: Support creator urls (#8232) by Grub4K
- youtube
Misc. changes
- cleanup
- Update extractor tests (#7718) by trainman261
- Miscellaneous: 377e85a by dirkf, gamer191, Grub4K
 
2023.09.24
Important changes
- The minimum recommended Python version has been raised to 3.8 Since Python 3.7 has reached end-of-life, support for it will be dropped soon. Read more
- Security: [CVE-2023-40581] Prevent RCE when using --execwith%qon Windows- The shell escape function is now using ""instead of\".
- utils.Popenhas been patched to properly quote commands.
 
- The shell escape function is now using 
Core changes
- Fix HTTP headers and cookie handling by bashonly, pukkandan
- Fix --check-formatsby pukkandan
- Fix support for upcoming Python 3.12 (#8130) by Grub4K
- Merged with youtube-dl 66ab08 by coletdjnz
- Prevent RCE when using --execwith%q(CVE-2023-40581) by Grub4K
- Raise minimum recommended Python version to 3.8 (#8183) by Grub4K
- FFmpegFixupM3u8PPmay need to run with ffmpeg by pukkandan
- compat
- Add types.NoneTypeby pukkandan (With fixes in 25b6e8f)
- Deprecate old functions (#2861) by coletdjnz, pukkandan
- Ensure submodules are imported correctly by pukkandan
 
- Add 
- 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_indexby pukkandan
- utils
- Add temporary shim for logging by pukkandan
- Improve parse_durationby bashonly
- HTTPHeaderDict: Handle byte values by pukkandan
- clean_podcast_url: Handle more trackers (#7556) by bashonly, mabdelfattah
- js_to_json: Handle- Arrayobjects by Grub4K, std-move
 
Extractor changes
- Extract subtitles from SMIL manifests (#7667) by bashonly, pukkandan
- Fix --load-pagesby pukkandan
- Make _search_nuxt_datamore lenient by std-move
- abematv
- 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
- 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 (#7870) by trainman261
- cineverse: Add extractors (#8146) by garret1317
- crunchyroll: Remove initial state extraction (#7632) by Grub4K
- douyutv: Fix extractors (#7652) by c-basalt
- dropbox: Fix extractor (#7926) by bashonly, denhotte, nathantouze (With fixes in 099fb1b by bashonly)
- eplus: inbound: Add extractor (#5782) by pzhlkj6612
- expressen: Improve _VALID_URL(#8153) by kylegustavo
- facebook
- Add dash manifest URL (#7743) by ringus1
- Fix webpage extraction (#7890) by ringus1
- Improve format sorting (#8074) by fireattack
- reel: Fix extraction (#7564) by bashonly, demon071
 
- fox: Support foxsports.com (#7724) by ischmidt20
- funker530: Fix extraction (#8040) by 04-pasha-04
- generic
- gofile: Update token by bashonly
- hotstar
- hungama: Overhaul extractors (#7757) by bashonly, Yalab7
- indavideoembed: Fix extraction (#8129) by aky-01
- iprima: Fix extractor (#7216) by std-move
- lbry: Fix original format extraction (#7711) by bashonly
- lecturio: Improve _VALID_URL(#7649) by simon300000
- magellantv: Add extractor (#7616) by bashonly
- massengeschmack.tv: Fix title extraction (#7813) by sb0stn
- media.ccc.de: lists: Fix extraction (#8144) by Rohxn16
- mediaite: Fix extraction (#7923) by Grabien
- mediaklikk: Fix extractor (#8086) by bashonly, zhallgato
- mediastream: Make embed extraction non-fatal by bashonly
- mixcloud: Update API URL (#8114) by garret1317
- monstercat: Add extractor (#8133) by garret1317
- motortrendondemand: Update _VALID_URL(#7683) by AmirAflak
- museai: Add extractor (#7614) by bashonly
- mzaalo: Improve _VALID_URLby bashonly
- n1info: article: Fix extractor (#7373) by u-spec-png
- nfl.com: plus, replay: Fix extractor (#7838) by bashonly
- niconicochannelplus: Add extractors (#5686) by pzhlkj6612
- nitter: Fix title extraction fallback (#8102) by ApoorvShah111
- noodlemagazine: Fix extraction (#7830) by RedDeffender (With fixes in 69dbfe0 by bashonly)
- novaembed: Fix extractor (#7910) by std-move
- patreoncampaign: Fix extraction (#7664) by bashonly
- pbs: Add extractor PBSKidsIE(#7602) by snixon
- piapro: Support /contentURL (#7592) by FinnRG
- piaulizaportal: Add extractor (#7903) by pzhlkj6612
- picartovod: Fix extractor (#7727) by Frankgoji
- pornbox: Add extractor (#7386) by niemands
- pornhub: Update access cookies for UK (#7591) by zhong-yiyu
- pr0gramm: Rewrite extractor (#8151) by Grub4K
- radiofrance: Add support for livestreams, podcasts, playlists (#7006) by elyse0
- rbgtum: Fix extraction and support new URL format (#7690) by simon300000
- rtvslo: Fix format extraction (#8131) by bashonly
- rule34video: Extract tags (#7117) by soundchaser128
- rumble: Fix embed extraction (#8035) by trislee
- s4c
- sohu: Fix extractor (#7628) by bashonly, c-basalt
- stageplus: Fix m3u8 extraction (#7929) by bashonly
- streamanity: Remove (#7571) by alerikaisattera
- svtplay: Fix extraction (#7789) by dirkf, wader
- tbsjp: Add episode, program, playlist extractors (#7765) by garret1317
- tiktok
- triller: Fix unlisted video extraction (#7670) by bashonly
- tv5mondeplus: Fix extractor (#7952) by dirkf, korli
- twitcasting
- unsupported: List more sites with DRM by pukkandan
- videa: Fix extraction (#8003) by aky-01, hatsomatt
- vrt: Update token signing key (#7519) by Zprokkel
- wat.tv: Fix extraction (#7898) by davinkevin
- wdr: Fix extraction (#7979) by szabyg
- web.archive: vlive: Remove extractor (#8132) by bashonly
- weibo: Fix extractor and support user extraction (#7657) by c-basalt
- weverse: Support extraction without auth (#7924) by seproDev
- wimbledon: Add extractor (#7551) by nnoboa
- wrestleuniverseppv: Fix HLS AES key extraction by bashonly
- youtube
- zaiko: Improve thumbnail extraction (#8054) by pzhlkj6612
- zee5: Update access token endpoint (#7914) by bashonly
- zoom: Extract duration by bashonly
Downloader changes
- external
Postprocessor changes
- embedthumbnail: Support m4v(#7583) by Neurognostic
Networking changes
- Add module (#2861) by pukkandan
- Add request handler preference framework (#7603) by coletdjnz
- Add strict Request extension checking (#7604) by coletdjnz
- Fix POST requests with zero-length payloads (#7648) by bashonly
- Fix --legacy-server-connect(#7645) by bashonly
- Fix various socks proxy bugs (#8065) by coletdjnz
- Ignore invalid proxies in env (#7704) by coletdjnz
- Rewrite architecture (#2861) by coletdjnz
- Request Handler
- urllib
- Remove dot segments during URL normalization (#7662) by coletdjnz
- Simplify gzip decoding (#7611) by Grub4K (With fixes in 77bff23)
 
 
- urllib
Misc. changes
- build: Make sure deprecated modules are added by pukkandan
- cleanup
- devscripts: make_changelog: Fix changelog grouping and add networking group (#8124) by Grub4K
- docs: Update collaborators by Grub4K
- test
2023.07.06
Important changes
- Security: [CVE-2023-35934] Fix Cookie leak
- --add-header Cookie:is deprecated and auto-scoped to input URL domains
- Cookies are scoped when passed to external downloaders
- Add cookiesfield to info.json and deprecatehttp_headers.Cookie
 
Core changes
- Allow extractors to mark formats as potentially DRM (#7396) by pukkandan
- Bugfix for b4e0d75848e9447cee2cd3646ce54d4744a7ff56 by pukkandan
- Change how Cookieheaders are handled by Grub4K
- Prevent Cookieleaks on HTTP redirect by coletdjnz
- formats: Fix best fallback for storyboards by pukkandan
- outtmpl: Pad playlist_indexetc 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_URLby 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 formatsby 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_liveover 2 hours by pukkandan
- stories: Remove (#7459) by pukkandan
- tab: Support shorts-only playlists (#7425) by coletdjnz
 
- Add extractor-arg 
Downloader changes
- aria2c: Add --no-confby 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 jorgectf
- cleanup: Miscellaneous: 337734d by pukkandan
- docs: Minor fixes by pukkandan
- make_changelog: Skip reverted commits by pukkandan
2023.06.22
Core changes
- Fix bug in db3ad8a67661d7b234a6954d9c6a4a9b1749f5eb by pukkandan
- Improve --download-sectionsby pukkandan- Support negative time-ranges
- Add *from-urlto obey time-ranges in URL
 
- Indicate filesizeapproximated fromtbrbetter 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 iosto 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
 
- Add 
Misc. changes
2023.06.21
Important changes
- YouTube: Improved throttling and signature fixes
Core changes
- Add --compat-option playlist-match-filterby pukkandan
- Add --no-quietby pukkandan
- Add option --color(#6904) by Grub4K
- Add option --netrc-cmd(#6682) by NDagestad, pukkandan
- Add option --xffby pukkandan
- Auto-select default format in -f-(#7101) by ivanskodje, pukkandan
- Deprecate internal Youtubedl-no-compressionheader (#6876) by coletdjnz
- Do not translate newlines in --print-to-fileby pukkandan
- Ensure pre-processor errors do not block --printby pukkandan (With fixes in 17ba434)
- Fix filepathbeing copied to underlying format dict by pukkandan
- Improve HTTP redirect handling (#7094) by coletdjnz
- Populate filenameandurlsfields at all stages of--printby 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
- Cryptodome: Fix __bool__by pukkandan
- jsinterp
- outtmpl
- update
- upstream
- Merged with youtube-dl 07af47 by pukkandan
- Merged with youtube-dl d1c6c5 by pukkandan (With fixes in edbe5b5 by bashonly)
 
- utils
- FormatSorter: Improve- sizeand- brby 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_resultby pukkandan
- Do not warn for invalid chapter data in description by pukkandan
- Extract more metadata from ISM by pukkandan
- abematv: Add fallback for title and description extraction and extract more metadata (#6994) by Lesmiscore
- acast: Support embeds (#7212) by pabs3
- adobepass: Handle Charter_DirectMSO asSpectrum(#6824) by bashonly
- aeonco: Support Youtube embeds (#6591) by alexklapheke
- afreecatv: Fix extractor (#6283) by blmarket
- ARDBetaMediathek: Add thumbnail (#6890) by StefanLobbenmeier
- bibeltv: Fix extraction, support live streams and series (#6505) by flashdagger
- bilibili
- Support festival videos (#6547) by qbnu
- SpaceVideo: Extract signature (#7149) by elyse0
 
- biliIntl: Add comment extraction (#6079) by HobbyistDev
- bitchute: Add more fallback subdomains (#6907) by Neurognostic
- booyah: Remove extractor by pukkandan
- BrainPOP: Add extractors (#6106) by MinePlayersPE
- bravotv
- Detect DRM (#7171) by bashonly
- Fix extractor (#6568) by bashonly
 
- camfm: Add extractors (#7083) by garret1317
- cbc
- cbs: Add ParamountPressExpressextractor (#6604) by bashonly
- cbsnews: Overhaul extractors (#6681) by bashonly
- chilloutzone: Fix extractor (#6445) by bashonly
- clipchamp: Add extractor (#6978) by bashonly
- comedycentral: Add support for movies (#7108) by sqrtNOT
- crtvg: Add extractor (#7168) by ItzMaxTV
- crunchyroll: Rework with support for movies, music and artists (#6237) by Grub4K
- dacast: Add extractors (#6896) by bashonly
- daftsex: Update domain and embed player url (#5966) by JChris246
- DigitalConcertHall: Support films (#7202) by ItzMaxTV
- discogs: Add extractor (#6624) by rjy
- dlf: Add extractors (#6697) by nick-cd
- drtv: Fix radio page extraction (#6552) by viktor-enzell
- Dumpert: Fix m3u8 and support new URL pattern (#6091) by DataGhost, pukkandan
- elevensports: Add extractor (#7172) by ItzMaxTV
- ettutv: Add extractor (#6579) by elyse0
- europarl: Rewrite extractor (#7114) by HobbyistDev
- eurosport: Improve _VALID_URL(#7076) by HobbyistDev
- facebook: Fix metadata extraction (#6856) by ringus1
- foxnews: Fix extractors (#7222) by bashonly
- funker530: Add extractor (#7291) by Cyberes
- generic
- Accept values for fragment_query,variant_query(#6600) by bashonly (With fixes in 9bfe0d1)
- Add extractor-args hls_key,variant_query(#6567) by bashonly
- Attempt to detect live HLS (#6775) by bashonly
 
- Accept values for 
- genius: Add support for articles (#6474) by bashonly
- globalplayer: Add extractors (#6903) by garret1317
- gmanetwork: Add extractor (#5945) by HobbyistDev
- gronkh: Extract duration and chapters (#6817) by satan1st
- hentaistigma: Remove extractor by pukkandan
- hidive: Fix login by pukkandan
- hollywoodreporter: Add extractors (#6614) by bashonly
- hotstar: Support /shows/URLs (#7225) by bashonly
- hrefli: Add extractor (#6762) by selfisekai
- idolplus: Add extractor (#6732) by ping
- iq: Set more language codes (#6476) by D0LLYNH0
- iwara
- JStream: Add extractor (#6252) by Lesmiscore
- jwplatform: Update _extract_embed_urls(#6383) by carusocr
- kick: Make initial request non-fatal by bashonly
- LastFM: Rewrite playlist extraction (#6379) by hatienl0i261299, pukkandan
- lbry: Extract original quality formats (#7257) by bashonly
- line: Remove extractors (#6734) by sian1468
- livestream: Support videos with account id (#6324) by theperfectpunk
- medaltv: Fix clips (#6502) by xenova
- mediastream: Improve WinSportsand embed extraction (#6426) by bashonly
- mgtv: Fix formats extraction (#7234) by bashonly
- Mzaalo: Add extractor (#7163) by ItzMaxTV
- nbc: Fix NBCStationsdirect mp4 formats (#6637) by bashonly
- nebula: Add beta.nebula.tv(#6516) by unbeatable-101
- nekohacker: Add extractor (#7003) by hasezoey
- nhk
- Add NhkRadiruextractor (#6819) by garret1317
- Fix API extraction (#7180) by menschel, sjthespian
- NhkRadiruLive: Add extractor (#7332) by garret1317
 
- Add 
- niconico
- Download comments from the new endpoint (#6773) by Lesmiscore
- live: Add extractor (#5764) by Lesmiscore
- series: Fix extraction (#6898) by sqrtNOT
 
- nubilesporn: Add extractor (#6231) by permunkle
- odnoklassniki: Fix formats extraction (#7217) by bashonly
- opencast
- owncloud: Add extractor (#6533) by C0D3D3V
- Parler: Rewrite extractor (#6446) by JChris246
- pgatour: Add extractor (#6613) by bashonly
- playsuisse: Support new url format (#6528) by sbor23
- polskieradio: Improve extractors (#5948) by selfisekai
- pornez: Support new URL formats (#6792) by zhgwn
- pornhub: Set access cookies to fix extraction (#6685) by arobase-che, Schmoaaaaah
- rai: Rewrite extractors (#5940) by danog, nixxo
- recurbate: Add extractor (#6297) by mrscrapy
- rokfin: Re-construct manifest url (#6507) by vampirefrog
- rottentomatoes: Fix extractor (#6844) by JChris246
- rozhlas
- Extract manifest formats (#6590) by bashonly
- MujRozhlas: Add extractor (#7129) by stanoarn
 
- rtvc: Add extractors (#6578) by elyse0
- rumble
- sbs: Overhaul extractor for new API (#6839) by bashonly, dirkf, vidiot720
- shemaroome: Pass stream_keyheader to downloader (#7224) by bashonly
- sonyliv: Fix login with token (#7223) by bashonly
- stageplus: Add extractor (#6838) by bashonly
- stripchat: Fix extractor (#7306) by foreignBlade
- substack: Fix extraction (#7218) by bashonly
- sverigesradio: Support slug URLs (#7220) by bashonly
- tagesschau: Fix single audio urls (#6626) by flashdagger
- teamcoco: Fix extractor (#6437) by bashonly
- telecaribe: Expand livestream support (#6601) by bashonly
- tencent: Fix fatal metadata extraction (#7219) by bashonly
- thesun: Update _VALID_URL(#6522) by hatienl0i261299
- tiktok
- triller: Support short URLs, detect removed videos (#6636) by bashonly
- tv4: Fix extractor (#5649) by dirkf, TxI5
- tvp: Use new API (#6989) by selfisekai
- tvplay: Remove outdated domains (#7106) by ivanskodje
- twitch
- twitter
- Add login support (#7258) by bashonly
- Default to GraphQL, handle auth errors (#6957) by bashonly
- spaces: Add release_timestamp(#7186) by CeruleanSky
 
- urplay: Extract all subtitles (#7309) by hoaluvn
- voot: Fix extractor (#7227) by bashonly
- vrt: Overhaul extractors (#6244) by bashonly, bergoid, jeroenj
- weverse: Add extractors (#6711) by bashonly (With fixes in fd5d93f)
- wevidi: Add extractor (#6868) by truedread
- weyyak: Add extractor (#7124) by ItzMaxTV
- whyp: Add extractor (#6803) by CoryTibbettsDev
- wrestleuniverse
- wykop: Add extractors (#6140) by selfisekai
- ximalaya: Sort playlist entries (#7292) by linsui
- YahooGyaOIE, YahooGyaOPlayerIE: Delete extractors due to website close (#6218) by Lesmiscore
- yappy: YappyProfile: Add extractor (#7346) by 7vlad7
- youku: Improve error message (#6690) by carusocr
- youporn: Extract m3u8 formats by pukkandan
- youtube
- Add client name to format_notewhen-v(#6254) by Lesmiscore, pukkandan
- Add extractor-arg include_duplicate_formatsby pukkandan
- Bypass throttling for -f17by pukkandan
- Construct fragment list lazily by pukkandan (With fixes in e389d17)
- Define strict uploader metadata mapping (#6384) by coletdjnz
- Determine audio language using automatic captions by pukkandan
- Extract channel_is_verified(#7213) by coletdjnz
- Extract heatmapdata (#7100) by tntmod54321
- Extract more metadata for comments (#7179) by coletdjnz
- Extract uploader metadata for feed/playlist items by coletdjnz
- Fix comment loop detection for pinned comments (#6714) by coletdjnz
- Fix continuation loop with no comments (#7148) by coletdjnz
- Fix parsing comment_count(#6523) by nick-cd
- Handle incomplete initial data from watch page (#6510) by coletdjnz
- Ignore wrong fps of some formats by pukkandan
- Misc cleanup by coletdjnz
- Prioritize premium formats by pukkandan
- Revert default formats to httpsby pukkandan
- Support podcasts and releases tabs by coletdjnz
- Support shorter relative time format (#7191) by coletdjnz
- music_search_url: Extract title (#7102) by kangalio
 
- Add client name to 
- zaiko
- Add extractor (#7254) by c-basalt
- ZaikoETicket: Add extractor (#7347) by pzhlkj6612
 
- zdf: Fix formats extraction by bashonly
- zee5: Fix extraction of new content (#7280) by bashonly
- zingmp3: Fix and improve extractors (#6367) by hatienl0i261299
- zoom
Downloader changes
- curl: Fix progress reporting by pukkandan
- fragment: Do not sleep between fragments by pukkandan
Postprocessor changes
- Fix chapters if duration is not extracted (#6037) by bashonly
- Print newline for --progress-templateby pukkandan
- EmbedThumbnail, FFmpegMetadata: Fix error on attaching thumbnails and info json for mkv/mka (#6647) by Lesmiscore
- FFmpegFixupM3u8PP: Check audio codec before fixup (#6778) by bashonly
- FixupDuplicateMoov: Fix bug in triggering by pukkandan
Misc. changes
- Add automatic duplicate issue detection by pukkandan
- build
- cleanup
- cleanup, utils: Split into submodules (#7090) by coletdjnz, pukkandan
- cli_to_api: Add script by pukkandan
- devscripts: make_changelog: Various improvements by Grub4K
- docs: Misc improvements by pukkandan
2023.03.04
Extractor changes
- bilibili
- ESPNcricinfo
- lefigaro
- Add extractors (#6309) by elyse0
 
- lumni
- Add extractor (#6302) by carusocr
 
- Prankcast
- Fix tags (#6316) by columndeeply
 
- rutube
- SportDeutschland
- telecaribe
- Add extractor (#6311) by elyse0
 
- tubetugraz
- tunein
- Fix extractors (#6310) by elyse0
 
- twitch
- xvideos
- quickies: Add extractor (#6414) by Yakabuff
 
Misc. changes
- build
- cleanup
- devscripts
- make_changelog: Stop at- Release ...commit by pukkandan
 
2023.03.03
Important changes
- A new release type has been added!
- nightlybuilds 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 (eitherstableornightly).
- The --update-tooption has been added allowing the user more control over program upgrades (or downgrades).
- --update-tocan 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-filtersby pukkandan
- Fix --break-on-existingwith--lazy-playlistby pukkandan
- dependencies
- jsinterp
- plugins
- update
- utils
- LenientJSONDecoder: Parse unclosed objects by pukkandan
- Popen: Shim undocumented- text_modeproperty by Grub4K
 
Extractor changes
- Fix DRM detection in m3u8 by pukkandan
- generic
- GoogleDrive
- iprima
- Fix extractor (#6291) by std-move
 
- mediastream
- ntvru
- tencent
- yle_areena
- youtube
Misc. changes
- build
- cleanup
- Fix Changelogby pukkandan
- jsinterp: Give functions names to help debugging by pukkandan
- Miscellaneous: 4815bbf, 5b28cef by pukkandan
 
- Fix 
- devscripts
- Script to generate changelog (#6220) by Grub4K (With fixes in 9344964)
 
2023.02.17
- Merge youtube-dl: Upto commit/2dd6c6e
- Fix --concat-playlist
- Imply --no-progresswhen--print
- Improve default subtitle language selection by sdht0
- Make titlecompletely non-fatal
- Sanitize formats before sorting by pukkandan
- Support module level __bool__andproperty
- [dependencies] Standardize Cryptodomeimports
- [hls] Allow extractors to provide AES key by Grub4K, bashonly
- [ExtractAudio] Handle outtmpl without ext by carusocr
- [extractor/common] Fix _search_nuxt_databy LowSuggestion912
- [extractor/generic] Avoid catastrophic backtracking in KVS regex by bashonly
- [jsinterp] Support ifstatements
- [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_secondsto use the provided TZ by Grub4K, Lesmiscore
- [utils] Fix race condition in make_dirby 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 pyinstallerhooks
- [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, dirkf
- [extractor/youtube] Fix uploader_idextraction 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 rmcprefix by carusocr
- [extractor/biliintl] Add intro and ending chapters by HobbyistDev
- [extractor/clyp] Support wavby 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 NBCandNBCStationsextractors by bashonly
- [extractor/nbc] Fix XML parsing by bashonly
- [extractor/nebula] Remove broken cookie support by hheimbuerger
- [extractor/nfl] Add NFLPlusextractors 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 OnDemandChinaEpisodeIEby 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.plby selfisekai
- [extractor/twitter] Fix --no-playlistand add mediaview_countwhen using GraphQL by Grub4K
- [extractor/twitter] Fix graphql extraction on some tweets by selfisekai
- [extractor/vimeo] Fix playerConfigextraction by LeoniePhiline, bashonly
- [extractor/viu] Add ViuOTTIndonesiaIEextractor by HobbyistDev
- [extractor/vk] Fix playlists for new API by the-marenga
- [extractor/vlive] Replace with VLiveWebArchiveIEby seproDev
- [extractor/ximalaya] Update album _VALID_URLby carusocr
- [extractor/zdf] Use android API endpoint for UHD downloads by seproDev
- [extractor/drtv] Fix bug in ab4cbef by bashonly
2023.01.06
- Fix config locations by Grub4K, coletdjnz, pukkandan
- [downloader/aria2c] Disable native progress
- [utils] mimetype2ext:webais 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 /mediatoVALID_URLby HobbyistDev
- [extractor/biliIntl] Add fallback to video_databy HobbyistDev
- [extractor/crunchyroll:show] Add languageto entries by Chrissi2812
- [extractor/joj] Fix extractor by OndrejBakan, pukkandan
- [extractor/nbc] Update graphql query by jacobtruman
- [extractor/reddit] Add subreddit as channel_idby gschizas
- [extractor/tiktok] Add TikTokLiveextractor by JC-Chung
2023.01.02
- 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 2022in your config to guard against future compat changes.
 
- 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 
- [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-metadatarun at any post-processing stage
- Add --enable-file-urlsby coletdjnz
- Add new field aspect_ratio
- Add ac4to known codecs
- Add webato known extensions
- [FFmpegVideoConvertor] Add gifto--recode-video
- Add message when there are no subtitles/thumbnails
- Deprioritize HEVC-over-FLV formats by Lesmiscore
- Make early reject of --match-filterstricter
- Fix --cookies-from-browserCLI parsing
- Fix original_urlin 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_formatfunctions obey--ignore-no-formats
- [extractor/generic] Add fragment_queryextractor 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: identityfor initial request by coletdjnz
- [FormatSort] Add movtovext
- [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 ExtractorErrormutable
- [utils] Move FileDownloader.parse_bytesinto 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.choicesby 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 AmazonReviewsextractor by bashonly
- [extractor/netverse] Add NetverseSearchextractor by HobbyistDev
- [extractor/vimeo] Add VimeoProIEby bashonly, pukkandan
- [extractor/xiami] Remove extractors by synthpop123
- [extractor/youtube] Add piped.videoby 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_artistby stelcodes
- [extractor/bilibili] Fix --no-playlistfor anthology
- [extractor/bilibili] Improve _VALID_URLby skbeh
- [extractor/biliintl:series] Make partial download of series faster
- [extractor/BiliLive] Fix extractor
- [extractor/brightcove] Add BrightcoveNewBaseIEand 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_URLby muddi900
- [extractor/hotstar] Improve format metadata
- [extractor/iqiyi] Fix IqJS 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_URLforNaverNowIEby 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_URLby bashonly
- [extractor/tiktok] Update _VALID_URL, addapi_hostnamearg by bashonly
- [extractor/tiktok] Update API hostname by redraskal
- [extractor/twitcasting] Fix videos with password by Spicadox, bashonly
- [extractor/twitter] Heed --no-playlistfor multi-video tweets by Grub4K, bashonly
- [extractor/twitter] Refresh guest token when expired by Grub4K, bashonly
- [extractor/twitter:spaces] Add Refererto m3u8 by nixxo
- [extractor/udemy] Fix lectures that have no URL and detect DRM
- [extractor/unsupported] Add more URLs
- [extractor/urplay] Support for audio-only formats by barsnick
- [extractor/wistia] Improve extension detection by Grub4K, bashonly, pukkandan
- [extractor/yle_areena] Support restricted videos by docbender
- [extractor/youku] Fix extractor by KurtBestor
- [extractor/youporn] Fix metadata by marieell
- [extractor/redgifs] Fix bug in 8c188d5
2022.11.11
- Merge youtube-dl: Upto commit/de39d12
- Backport SSL configuration from Python 3.10 by coletdjnz
- Do more processing in --flat-playlist
- Fix --listoptions not implying-sin 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 typefield, obey--retry-sleep extractor, relax duration check for large segments
- [SponsorBlock] Support chaptercategory 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 LenientSimpleCookieby Grub4K
- [jsinterp] Improve separating regex
- [extractor/common] Fix fatal=Falsefor_search_nuxt_data
- [extractor/common] Improve _generic_title
- [extractor/common] Fix json_ldtype 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, allowre.Matchobjects by Grub4K
- [build, test] Harden workflows' security by sashashura
- [build] py2exe: Migrate to freeze API by SG5, pukkandan
- [build] Create armv7landaarch64releases by MrOctopus, pukkandan
- [build] Make linux binary truly standalone using condaby mlampe
- [build] Replace set-outputwithGITHUB_OUTPUTby Lesmiscore
- [update] Use error code 100for update errors
- [compat] Fix shutils.movein restricted ACL mode on BSD by ClosedPort22, pukkandan
- [docs, devscripts] Document pyinst's argument passthrough by jahway603
- [test] Allow extract_flatin 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_countfor livestreams by coletdjnz
- [extractor/youtube] Fix durationfor premieres by nosoop
- [extractor/youtube] Fix live_statusby 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_datereturn 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 BitChuteChannelIEby 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 FoxNewsVideoextractor
- [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 MLBArticleextractor 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_URLby 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
- [extractor/tvp] Update extractors by selfisekai
- [extractor/twitcasting] Fix data-movie-playlistextraction by Lesmiscore
- [extractor/twitter] Add onion site to _VALID_URLby DoubleCouponDay
- [extractor/twitter] Add Spaces extractor and GraphQL API by Grub4K, bashonly, nixxo, pukkandan
- [extractor/twitter] Support multi-video posts by Grub4K
- [extractor/uktvplay] Fix _VALID_URL
- [extractor/viu] Support subtitles of on-screen text by tkgmomosheep
- [extractor/VK] Fix playlist URLs by the-marenga
- [extractor/vlive] Extract release_timestamp
- [extractor/voot] Improve _VALID_URLby freezboltz
- [extractor/wordpress:mb.miniAudioPlayer] Add embed extractor by coletdjnz
- [extractor/YoutubeWebArchive] Improve metadata extraction by coletdjnz
- [extractor/zee5] Improve _VALID_URLby m4tu4g
- [extractor/zenyandex] Fix extractors by lksj, puc9, pukkandan
2022.10.04
- Allow a setto be passed asdownload_archiveby 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_vernot be available on Windows Store version of Python
- [outtmpl] Curly braces to filter keys by pukkandan
- [outtmpl] Make %swork in strfformat for all systems
- [jsinterp] Workaround operator associativity issue
- [cookies] Let _get_mac_keyring_passwordfail 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=FalseinRetryManager
- [extractor] Improve json-ld extraction
- [extractor] Make _search_jsonable to parse lists
- [extractor] Escape %inrepresentation_idof 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_livevideos from start by Lesmiscore, pukkandan
- [extractor/youtube] Add support for Shorts audio pivot feed by coletdjnz, pukkandan
- [extractor/youtube] Detect lazy-load-for-videosembeds
- [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 reporthistorypage
- [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_URLby coletdjnz
- [extractor/BiliIntlSeries] Fix _VALID_URL
- [extractor/bongacams] Update _VALID_URLby 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_URLby 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_configregex 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_REGEXby coletdjnz
- [extractor/RUTV] Fix warnings for livestreams by Lesmiscore
- [extractor/soundcloud:search] More metadata in --flat-playlistby 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_URLby Grub4K
- [extractor/zee5] Fix _VALID_URLby m4tu4g
- [extractor/zee5] Generate device ids by freezboltz
2022.09.01
- 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-browserby bashonly, coletdjnz, pukkandan
- [downloader/external] Smarter detection of executable
- [extractor/generic] Don't return JW player without formats
- [FormatSort] Fix aextfor--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: RestoreLD_LIBRARY_PATHwhen using PyInstaller by Lesmiscore
- [build] make tarshould not followDESTDIRby 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-dateby coletdjnz
- [extractor/arte] Bug fix by cgrigis
- [extractor/bilibili] Extract flacwith 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-passwordby shreyasminocha
- [extractor/stripchat] Don't modify input URL by dfaker
- [extractor/uktv] Improve _VALID_URLby dirkf
- [extractor/vimeo:user] Fix _VALID_URL
2022.08.19
- Fix bug in --download-archive
- [jsinterp] Fix for new youtube players and related improvements by dirkf, pukkandan
- [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
2022.08.14
- 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
- [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/patreon] Ignore erroneous media attachments by coletdjnz
- [extractor/truth] Add extractor by palewire
- [extractor/aenetworks] Add formats parameter by jacobtruman
- [extractor/crunchyroll] Improve _VALID_URLs
- [extractor/doodstream] Add wfdomain 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_URLby masta79
- [extractor/tubitv] Extract additional formats by shirt-dev
- [extractor/zattoo] Potential fix for resellers
2022.08.08
- 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-chatshould disable danmaku
- Fix misleading DRM message
- Import ctypes only when necessary
- Minor bugfixes
- Reject entire playlists faster with --match-filter
- Remove filtered entries from -J
- Standardize retry mechanism
- 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_locationin a contextvar
- [FFmpegThumbnailsConvertor] Fix conversion from GIF
- [MetadataParser] Don't set Nonewhen the field didn't match
- [outtmpl] Smarter replacing of unsupported characters
- [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 utilsand 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_liveby 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
- [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_URLby 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
2022.07.18
- 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 certifiis used
- Fix rounding of integers in format table
- Improve chapter sanitization
- Skip some fixup if remux/recode is needed by Lesmiscore
- Support --no-progressfor--wait-for-video
- Fix bug in 612f2be
- [outtmpl] Add alternate form hfor HTML escaping
- [aes] Add multiple padding modes in CBC by elyse0
- [extractor/common] Passthrough errnote=Falseto 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_specwhen 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_rangesby 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_URLby IONECarter, dirkf
- [extractor/WSJArticle] Fix video id extraction by sqrtNOT
- [extractor/Ximalaya] Fix extractors by lockmatrix
- [cleanup, extractor/youtube] Fix tests by sheerluck
2022.06.29
- Fix --downloader native
- Fix section_endof clips
- Fix playlist error handling
- Sanitize chapters
- [extractor] Fix _create_requestwhen headers is None
- [extractor] Fix empty BaseURLin MPD
- [ffmpeg] Write full output to debug on error
- [hls] Warn user when trying to download live HLS
- [options] Fix parse_known_argsfor--
- [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
2022.06.22.1
- [build] Fix updating homebrew formula
2022.06.22
- Deprecate support for Python 3.6
- Add option --download-sectionsto download video partially- Chapter regex and time ranges are accepted, e.g. --download-sections *1:10-2:20
 
- Chapter regex and time ranges are accepted, e.g. 
- Add option --alias
- Add option --lazy-playlistto process entries as they are received
- Add option --retry-sleep
- Add slicing notation to --playlist-items- Adds support for negative indices and step
- Add -Ias alias for--playlist-index
- Makes --playlist-start,--playlist-end,--playlist-reverse,--no-playlist-reverseredundant
 
- --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 stderrwith-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-startby flashdagger
- [extractor] Add _search_jsonby coletdjnz, pukkandan
- [extractor] Add defaultparameter to_search_jsonby coletdjnz, pukkandan
- [extractor] Add dev option --load-pages
- [extractor] Handle json_ldwith multiple@types
- [extractor] Import _ALL_CLASSESlazily
- [extractor] Recognize srcattribute from HTML5 media elements by Lesmiscore
- [extractor/generic] Revert e6ae51c123
- [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: Fixexc_info
- [utils] ISO3166Utils: AddEUandAP
- [utils] Popen: Refactor to use contextmanager
- [utils] locked_file: Fix for PyPy on Windows
- [update] Expose more functionality to API
- [update] Use .gitfolder to distinguishsource/unknown
- [compat] Add functools.cached_property
- [test] Fix FakeYDLsignatures by coletdjnz
- [docs] Improvements
- [cleanup, ExtractAudio] Refactor
- [cleanup, downloader] Refactor report_progress
- [cleanup, extractor] Refactor _download_...methods
- [cleanup, extractor] Rename extractors.pyto_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_hostandinnertube_keyextractor args by coletdjnz
- [extractor/youtube] Add warning for PostLiveDvr
- [extractor/youtube] Bring back _extract_chapters_from_description
- [extractor/youtube] Extract comment_countfrom webpage
- [extractor/youtube] Fix :ytnotificationsextractor 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 videoRendererin_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_tokenfrom 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 WatchESPNextractor 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 navernowextractor by ping
- [extractor/niconico:series] Fix extractor by sqrtNOT
- [extractor/npr] Use stream url from json-ld by r5d
- [extractor/pornhub] Extract uploader_idfield by Lesmiscore
- [extractor/radiofrance] Add more radios by bubbleguuum
- [extractor/rumble] Detect JS embed
- [extractor/rumble] Extract subtitles by fstirlitz
- [extractor/southpark] Add southpark.latextractor by darkxex
- [extractor/spotify:show] Fix extractor
- [extractor/tiktok] Detect embeds
- [extractor/tiktok] Extract SIGI_STATEby 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
2022.05.18
- Add support for SSL client certificate authentication by coletdjnz, dirkf
- Adds --client-certificate,--client-certificate-key,--client-certificate-password
 
- Adds 
- Add --match-filter -to interactively ask for each video
- --max-downloadsshould obey- --break-per-input
- Allow use of weaker ciphers with --legacy-server-connect
- Don't imply -sfor 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 FFmpegFixupM3u8PPfor live-streams if needed
- Show name of downloader in verbose log
- [cookies] Allow cookiefileto 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-startby Lesmiscore
- [hls] Fix byte_rangeforEXT-X-MAPfragment 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 \0from 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_urlafter redirects by elyse0
- [extractor] Use classmethod/propertywhere possible
- [generic] Refactor _extract_rss
- [utils] is_html: Handle double BOM
- [utils] locked_file: Ignore illegal seek ontruncateby jakeogh
- [utils] sanitize_path: Fix when path is empty string
- [utils] write_string: Workaround newline issue inconhost
- [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 uninstallby MrRawes
- [build] Avoid use of install -D
- [build] Fix Makefileby putnam
- [build] Fix --onediron 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 :ytnotificationsextractor 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_URLby 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_protocolto 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_URLby 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_URLby 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
2022.04.08
- Use certificates from certifiif installed by coletdjnz
- Treat multiple --match-filtersas OR
- File locking improvements:
- De-prioritize automatic-subtitles when no --sub-langis given
- Exit after --dump-user-agent
- Fallback to video-only format when selecting by extension
- Fix --abort-on-errorfor subtitles
- Fix --no-overwritefor playlist infojson
- Fix --printwith--ignore-no-formatswhen url isNoneby 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 mhtmlformats from-f mergeall
- Ignore format-specific fields in initial pass of --match-filter
- Protect stdout from unexpected progress and console-title
- Remove Accept-Encodingheader fromstd_headersby 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_loginfunction
- [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 .editorconfigfile by fstirlitz
- [docs] Clarify the exact BSDlicense of dependencies by MrRawes
- [docs] Minor improvements by pukkandan, cffswb, danielyli
- [docs] Remove readthedocs
- [build] Add requirements.txtto pip distributions
- [cleanup, postprocessor] Create _download_json
- [cleanup, vimeo] Fix tests
- [cleanup] Misc fixes and minor cleanup
- [cleanup] Use _html_extract_title
- [AfreecaTV] Add AfreecaTVUserIEby hatienl0i261299
- [arte] Add format_noteto 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.chby 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.comby 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 52efa4b312
- [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.comby 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 membershiptab
- [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
2022.03.08.1
- [cleanup] Refactor __init__.py
- [build] Fix bug
2022.03.08
- Merge youtube-dl: Upto commit/6508688 (except NDR)
- Add regex operator and quoting to format filters by lukasfink1
- Add brotli content-encoding support by coletdjnz
- Add pre-processor stage after_filter
- Better error message when no --live-from-startformat
- Create necessary directories for --print-to-file
- Fill more fields for playlists by Lesmiscore
- Fix -allfor--sub-langs
- Fix doubling of video_idinExtractorError
- Fix for when stdout/stderr encoding is None
- Handle negative duration from extractor
- Implement --add-headerwithout modifyingstd_headers
- Obey --abort-on-errorfor "ffmpeg not installed"
- Set webpage_url_...fromwebpage_urland not input URL
- Tolerate failure to --write-linkdue to unknown URL
- [aria2c] Add --http-accept-gzip=true
- [build] Update pyinstaller to 4.10 by shirt
- [cookies] Update MacOS12 Cookies.binarycookieslocation by mdpauley
- [devscripts] Improve prepare_manpage
- [downloader] Do not use aria2c for non-native m3u8
- [downloader] Obey --file-access-retrieswhen deleting/renaming by ehoogeveen-medweb
- [extractor] Allow http_headersto be specified forthumbnails
- [extractor] Extract subtitles from manifests for vimeo, globo, kaltura, svt by fstirlitz
- [extractor] Fix for manifests without period duration by dirkf, pukkandan
- [extractor] Support --mark-watchedwithout_NETRC_MACHINEby coletdjnz
- [FFmpegConcat] Abort on --simulate
- [FormatSort] Consider acodec=oggasvorbis
- [fragment] Fix bugs around resuming with Range by Lesmiscore
- [fragment] Improve --live-from-startfor YouTube livestreams by Lesmiscore
- [generic] Pass referer to extracted formats
- [generic] Set rss guidas video id by Bricio
- [options] Better ambiguous option resolution
- [options] Rename --clean-infojsonto--clean-info-json
- [SponsorBlock] Fixes for highlight and "full video labels" by nihil-admirari
- [Sponsorblock] minor fixes by nihil-admirari
- [utils] Better traceback for ExtractorError
- [utils] Fix file locking for AOSP by jakeogh
- [utils] Improve file locking
- [utils] OnDemandPagedList: Do not download pages after error
- [utils] render_table: Fix character calculation for removing extra gap by Lesmiscore
- [utils] Use locked_fileforsanitize_openby jakeogh
- [utils] Validate DateRangeinput
- [utils] WebSockets wrapper for non-async functions by Lesmiscore
- [cleanup] Don't pass protocol to _extract_m3u8_formatsfor live videos
- [cleanup] Remove extractors for some dead websites by marieell
- [cleanup, docs] Misc cleanup
- [AbemaTV] Add extractors by Lesmiscore
- [adobepass] Add Suddenlink MSO by CplPwnies
- [ant1newsgr] Add extractor by zmousm
- [bigo] Add extractor by Lesmiscore
- [Caltrans] Add extractor by Bricio
- [daystar] Add extractor by hatienl0i261299
- [fc2:live] Add extractor by Lesmiscore
- [fptplay] Add extractor by hatienl0i261299
- [murrtube] Add extractor by cyberfox1691
- [nfb] Add extractor by ofkz
- [niconico] Add playlist extractors and refactor by Lesmiscore
- [peekvids] Add extractor by schn0sch
- [piapro] Add extractor by pycabbage, Lesmiscore
- [rokfin] Add extractor by P-reducible, pukkandan
- [rokfin] Add stack and channel extractors by P-reducible, pukkandan
- [ruv.is] Add extractor by iw0nderhow
- [telegram] Add extractor by hatienl0i261299
- [VideocampusSachsen] Add extractors by FestplattenSchnitzel
- [xinpianchang] Add extractor by hatienl0i261299
- [abc] Support 1080p by Ronnnny
- [afreecatv] Support password-protected livestreams by wlritchi
- [ard] Fix valid URL
- [ATVAt] Detect geo-restriction by marieell
- [bandcamp] Detect acodec
- [bandcamp] Fix user URLs by lyz-code
- [bbc] Fix extraction of news articles by ajj8
- [beeg] Fix extractor by Bricio
- [bigo] Fix extractor to not to use form_params
- [Bilibili] Pass referer for all formats by blackgear
- [Biqle] Fix extractor by Bricio
- [ccma] Fix timestamp parsing by nyuszika7h
- [crunchyroll] Better error reporting on login failure by tejing1
- [cspan] Support of C-Span congress videos by Grabien
- [dropbox] fix regex by zenerdi0de
- [fc2] Fix extraction by Lesmiscore
- [fujitv] Extract resolution for free sources by YuenSzeHong
- [Gettr] Add GettrStreamingIEby i6t
- [Gettr] Fix formats order by i6t
- [Gettr] Improve extractor by i6t
- [globo] Expand valid URL by Bricio
- [lbry] Fix --ignore-no-formats-error
- [manyvids] Extract uploaderby regarten
- [mildom] Fix linter
- [mildom] Rework extractors by Lesmiscore
- [mirrativ] Cleanup extractor code by Lesmiscore
- [nhk] Add support for NHK for School by Lesmiscore
- [niconico:tag] Add support for searching tags
- [nrk] Add fallback API
- [peekvids] Use JSON-LD by schn0sch
- [peertube] Add media.fsfe.org by mxmehl
- [rtvs] Fix extractor by Bricio
- [spiegel] Fix _VALID_URL
- [ThumbnailsConvertor] Support webp
- [tiktok] Fix vm.tiktok/vt.tiktokURLs
- [tubitv] Fix/improve TV series extraction by bbepis
- [tumblr] Fix extractor by foghawk
- [twitcasting] Add fallback for finding running live by Lesmiscore
- [TwitCasting] Check for password protection by Lesmiscore
- [twitcasting] Fix extraction by Lesmiscore
- [twitch] Fix field name of view_count
- [twitter] Fix for private videos by iphoting
- [washingtonpost] Fix extractor by Bricio
- [youtube:tab] Add approximate_dateextractor-arg
- [youtube:tab] Follow redirect to regional channel by coletdjnz
- [youtube:tab] Reject webpage data if redirected to home page
- [youtube] De-prioritize potentially damaged formats
- [youtube] Differentiate descriptive audio by language code
- [youtube] Ensure subtitle urls are absolute by coletdjnz
- [youtube] Escape possible $in_extract_n_function_nameregex by Lesmiscore
- [youtube] Fix automatic captions
- [youtube] Fix n-sig extraction for phone player JS by MinePlayersPE
- [youtube] Further de-prioritize 3gp format
- [youtube] Label original auto-subs
- [youtube] Prefer UTC upload date for videos by coletdjnz
- [zaq1] Remove dead extractor by marieell
- [zee5] Support web-series by Aniruddh-J
- [zingmp3] Fix extractor by hatienl0i261299
- [zoom] Add support for screen cast by Mipsters
2022.02.04
- [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 websocketsmodule non-fatal
2022.02.03
- Merge youtube-dl: Upto commit/78ce962
- Add option --print-to-file
- Make nested --config-locations relative to parent file
- Ensure _typeis present ininfo.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 convenience function _yes_playlist
- [extractor] Allow non-fatal titleextraction
- [extractor] Extract video inside Articlejson_ld
- [generic] Allow further processing of json_ld URL
- [cookies] Fix keyring selection for unsupported desktops
- [utils] Strip double spaces in clean_htmlby 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
2022.01.21
- Add option --concat-playlistto concat videos in a playlist
- Allow multiple and nested configuration files
- Add more post-processing stages (after_video,playlist)
- Allow --execto be run at any post-processing stage (Deprecates--exec-before-download)
- Allow --printto be run at any post-processing stage
- Allow listing formats, thumbnails, subtitles using --printby pukkandan, Zirro
- Add fields video_autonumber,modified_date,modified_timestamp,playlist_count,channel_follower_count
- Add key requested_downloadsin the rootinfo_dict
- Write download_archiveonly after all formats are downloaded
- [FfmpegMetadata] Allow setting metadata of individual streams using meta<n>_prefix
- Add option --legacy-server-connectby 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 Noneinsanitize_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 Dand fix suffix's case
- [utils] Add Sec-Fetch-Modetostd_headers
- [utils] Fix format_bytesoutput for Bytes by pukkandan, mdawar
- [utils] Handle ss:xxxinparse_duration
- [utils] Improve parsing for nested HTML elements by zmousm, pukkandan
- [utils] Use key Noneintraverse_objto 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_resultand 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 httpfor 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.meby sian1468
- [mixch] Add MixchArchiveIEby 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 clipURLs
- [vk] Fix VKUserVideosIE by Ashish0804
- [vk] Improve _VALID_URLby 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_datefor 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
2021.12.27
- 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_keyused in archive
- [youtube] End live-from-startproperly when stream ends with 403
- [Zee5] Fix VALID_URL for tv-shows by Ashish0804
2021.12.25
- [dash,youtube] Download live from start to end by nao20010128nao, pukkandan
- Add option --live-from-startto enable downloading live videos from start
- Add key is_from_startin formats to identify formats (of live videos) that downloads from start
- [dash] Create protocol http_dash_segments_generatorthat 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 FFmpegFixupDuplicateMoovPPto fixup duplicated moov atoms
- Known issues:
- Ctrl+C doesn't work on Windows when downloading multiple formats
- If video becomes private, download hangs
 
 
- Add option 
- [SponsorBlock] Add FillerandHighlightcategories by nihil-admirari, pukkandan- Change --sponsorblock-cut allto--sponsorblock-cut defaultif you do not want filler sections to be removed
 
- Change 
- Add field webpage_url_domain
- Add interactive format selection with -f -
- Add option --file-access-retriesby ehoogeveen-medweb
- [outtmpl] Add alternate forms S,Dand improveiddetection
- [outtmpl] Add operator &for replacement text by PilzAdam
- [EmbedSubtitle] Disable duration check temporarily
- [extractor] Add _search_nuxt_databy nao20010128nao
- [extractor] Ignore errors in comment extraction when -iis 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 YYYYMMDDdates in Nov/Dec by wlritchi
- [utils] Improve parse_count
- [utils] Update std_headersby kikuyan, fstirlitz
- [lazy_extractors] Fix for search IEs
- [extractor] Support default implicit graph in JSON-LD by zmousm
- Allow --no-write-thumbnailto 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_durationfor--wait-for-videoand some minor fix
- [test/download] Add more fields
- [test/download] Ignore field webpage_url_domainby 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 RTVEAudioIEby 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_androidm3u8 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_REby 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_configregex 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
2021.12.01
- Add option --wait-for-videoto wait for scheduled streams
- Add option --break-per-inputto apply --break-on... to each input URL
- Add option --embed-info-jsonto 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_dispatchfor 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 wavandvorbis
- [ExtractAudio] Support alac
- [extractor] Extract average_ratingfrom 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_tableand 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-archivewhen pre-checking
- Fix --check-formatsformhtml
- Fix --load-info-jsonof playlists with failed entries
- Fix --trim-filenamewhen filename has.
- Fix bug in parsing --add-header
- Fix error in report_unplayable_conflictby 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 DiscoveryPlusItalyShowIEby Ashish0804
- [ESPNCricInfo] Add extractor by Ashish0804
- [LinkedIn] Add extractor by u-spec-png
- [mixch] Add extractor by nao20010128nao
- [nebula] Add NebulaCollectionIEand 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_urlcorrectly
- [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 defaultplayer 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] Refactor JSInterpreter._seperate
- [Cleanup] Remove some unnecessary groups in regexes by Ashish0804
- [cleanup] Misc cleanup
2021.11.10.1
- Temporarily disable MacOS Build
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
 
- [extractor] Add 
- Separate --check-all-formatsfrom--check-formats
- Approximate filesize from bitrate
- Don't create console in windows_enable_vt_mode
- Fix bug in --load-infojsonof playlists
- [minicurses] Add colors to -Fand standardize color-printing code
- [outtmpl] Add type linkfor internet shortcut files
- [outtmpl] Add alternate forms for qandj
- [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-qualitycorrectly by CrypticSignal, pukkandan
- [ExtractAudio] Use libfdk_aacif available by CrypticSignal
- [FormatSort] eac3is better thanac3
- [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_hs256by Ashish0804
- [utils] Create DownloadCancelledexception
- [utils] Parse vp09as 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 SkyNewsStoryIEby ajj8
- [youtube] Fix sorting for some videos
- [youtube] Populate thumbnailwith 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 languageandhardsub
- [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
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_EXTRACTORSto forcefully disable this (experimental)
 
- Set env var 
- 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_defaultkey
- [ModifyChapters] Add ability for --remove-chaptersto remove sections by timestamp
- [utils] Allow duration strings in --match-filter
- Add HDR information to formats
- Add negative option --no-batch-fileby Zirro
- Calculate more fields for merged formats
- Do not verify thumbnail URLs unless --check-formatsis specified
- Don't create console for subprocesses on Windows
- Fix --restrict-filenamewhen used with default template
- Fix check_formatsoutput 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_stringandresolutionavailable 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-KEYApple FairPlay
- [utils] Use importlibto 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-retriesandsleep-requests
- [Merger] Do not add aac_adtstoascto 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
- [crunchyroll] Add support for beta.crunchyrollURLs 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_idby 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 getcommentsimplementation for extractors
- [cleanup] Simplify search extractors code
- [cleanup] misc
2021.10.10
- [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
2021.10.09
- Improved progress reporting
- Separate --console-titleand--no-progress
- Add option --progressto show progress-bar even in quiet mode
- Fix and refactor minicursesand use it for all progress reporting
- Standardize use of terminal sequences and enable color support for windows 10
- Add option --progress-templateto customize progress-bar and console-title
- Add postprocessor hooks and progress reporting
 
- Separate 
- [postprocessor] Add plugin support with option --use-postprocessor
- [extractor] Extract storyboards from SMIL manifests by fstirlitz
- [outtmpl] Alternate form of format type lfor\ndelimited list
- [outtmpl] Format type Ufor 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_sessionby 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-playlistwhen neither IE nor id is known
- Fix -f mp4behaving 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
2021.09.25
- Add new option --netrc-location
- [outtmpl] Allow alternate fields using ,
- [outtmpl] Add format type Bto treat the value as bytes, e.g. to limit the filename to a certain number of bytes
- Separate the options --ignore-errorsand--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-playlistby 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 502error 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-watchedwith--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-archiveto work with--flat-playlist
- Download subtitles in order of --sub-langs
- Allow 0in--playlist-items
- Handle more playlist errors with -i
- Fix --no-get-comments
- Fix extra_infobeing reused across runs
- Fix compat options no-direct-mergeandplaylist-index
- Dump files should obey --trim-filenameby sulyi
- [aes] Add aes_gcm_decrypt_and_verifyby 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_adtstoascwhen merging if needed
- [fragment,aria2c] Generalize and refactor some code
- [fragment] Avoid repeated request for AES key
- [fragment] Fix range header when using -Nand media sequence by shirt
- [hls,aes] Fallback to native implementation for AES-CBC and detect Cryptodomein addition toCrypto
- [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_timezoneby dirkf
- [options] Fix --no-configand 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 --onedirzip for windows
- [cleanup,docs] Add deprecation warning in docs for some counter intuitive behaviour
- [cleanup] Fix line endings for nebula.pyby glenn-slayden
- [cleanup] Improve make clean-testby sulyi
- [cleanup] Misc
2021.09.02
- Native SponsorBlock implementation by nihil-admirari, pukkandan
- --sponsorblock-remove CATSremoves specified chapters from file
- --sponsorblock-mark CATSmarks the specified sponsor sections as chapters
- --sponsorblock-chapter-title TMPLto specify sponsor chapter template
- --sponsorblock-api URLto use a different API
- No re-encoding is done unless --force-keyframes-at-cutsis 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-chaptersfrom--embed-metadata(it still implies the former by default)
- Add option --remove-chaptersto remove arbitrary chapters by nihil-admirari, pukkandan
- Add option --force-keyframes-at-cutsfor more accurate cuts when removing and splitting chapters by nihil-admirari
- Let --match-filterreject entries early- Makes redundant: --match-title,--reject-title,--min-views,--max-views
 
- Makes redundant: 
- [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 suitableand 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
- [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 HungamaSongIEand addHungamaAlbumPlaylistIEby Ashish0804
- [ManotoTV] Add new extractors by tandy1000
- [Niconico] Add Search extractors by animelover1984, pukkandan
- [Patreon] Add PatreonUserIEby zenerdi0de
- [peloton] Add extractor by IONECarter, capntrips, pukkandan
- [ProjectVeritas] Add extractor by Ashish0804
- [radiko] Add extractors by nao20010128nao
- [StarTV] Add extractor for startv.com.trby mrfade, coletdjnz
- [tiktok] Add TikTokUserIEby Ashish0804, pukkandan
- [Tokentube] Add extractor by u-spec-png
- [TV2Hu] Fix TV2HuIEand addTV2HuSeriesIEby Ashish0804
- [voicy] Add extractor by nao20010128nao
- [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_idon 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_idby octotherp
- [youtube] Add shortsto_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-annotationsby coletdjnz
- [Zee5] Fix extractor and add subtitles by Ashish0804
- [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-overwriteswhen using-k
- Fix --no-prefer-free-formatsby CeruleanSky
- Fix -Ffor extractors that directly return url
- Fix -Jwhen there are failed videos
- Fix extra_infobeing reused across runs
- Fix playlist_indexnot obeyingplaylist_startand add tests
- Fix resuming of single formats when using --no-part
- Revert erroneous use of the Content-Lengthheader by fstirlitz
- Use os.replacewhere applicable by; paulwrubel
- [build] Add homebrew taps yt-dlp/taps/yt-dlpby 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
2021.08.10
- Add option --replace-in-metadata
- Add option --no-simulateto not simulate even when--printor--list...are used - Deprecates--print-json
- Allow entire infodict to be printed using %()s- makes--dump-jsonredundant
- Allow multiple --execand--exec-before-download
- Add regex to --match-filter
- Add all format filtering operators also to --match-filterby max-te
- Add compat-option no-keep-subs
- [adobepass] Add MSO Cablevision by Jessecar96
- [BandCamp] Add BandcampMusicIE by Ashish0804
- [blackboardcollaborate] Add new extractor by mzbaulhaque
- [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_KEYand_THEPLATFORM_SECRETby 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_idby 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-dashto 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_filecloses file handle on error
- Fix --compat-options filenameby stdedos
- Fix issues with infodict sanitization
- Fix resuming when using --no-part
- Fix wrong extension for intermediate files
- Handle BrokenPipeErrorby kikuyan
- Show libraries present in verbose head
- [extractor] Detect sttpas subtitles in MPD by fstirlitz
- [extractor] Reset non-repeating warnings per video
- [ffmpeg] Fix streaming mp4tostdout
- [ffpmeg] Allow --ffmpeg-locationto be a file with different name
- [utils] Fix InAdvancePagedList.__getitem__
- [utils] Fix traverse_objdepth whenis_user_input
- [webvtt] Merge daisy-chained duplicate cues by fstirlitz
- [build] Use custom build of pyinstallerby shirt
- [tests:download] Add batch testing for extractors (test_YourExtractor_all)
- [docs] Document which fields --add-metadataadds to the file
- [docs] Fix some mistakes and improve doc
- [cleanup] Misc code cleanup
2021.08.02
- Add logo, banner and donate links
- [outtmpl] Expand and escape environment variables
- [outtmpl] Add format types j(json),l(comma delimited list),q(quoted for terminal)
- [downloader] Allow streaming some unmerged formats to stdout using ffmpeg
- [youtube] Age-gate bypass
- Add agegateclients by pukkandan, MinePlayersPE
- Add thirdPartyto agegate clients to bypass more videos
- Simplify client definitions, expose embeddedclients
- Improve age-gate detection by coletdjnz
- Fix default global API key by coletdjnz
- Add creatorclients for age-gate bypass using unverified accounts by zerodytrash, coletdjnz, pukkandan
 
- Add 
- [adobepass] Add MSO Sling TV by wesnm
- [CBS] Add ParamountPlusSeriesIE by Ashish0804
- [dplay] Add ScienceChannelIEby Sipherdrakon
- [UtreonIE] Add extractor by Ashish0804
- [youtube] Add mwebclient by coletdjnz
- [youtube] Add player_client=all
- [youtube] Force hl=enfor 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 asrappearing 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
2021.07.24
- [youtube:tab] Extract video duration early
- [downloader] Pass info_dicttoprogress_hooks
- [youtube] Fix age-gated videos for API clients when cookies are supplied by coletdjnz
- [youtube] Disable get_video_infoage-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 sqliteImportErrorgracefully by mbway
- [cookies] Handle errors when importing keyring
2021.07.21
- Add option --cookies-from-browserto 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, keyringis needed for UNIX andpycryptodomefor Windows
 
- Usage: 
- 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, coletdjnz
- player_clientnow 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-formatsto 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 coletdjnz
- Fix controversial videos when requested via API by coletdjnz
- Fix session index extraction and headers for non-web player clients by coletdjnz
- Make --extractor-retrieswork for more errors
- Fix sorting of 3gp format
- Sanity check chapters(and refactor related code)
- Make parse_time_textand_extract_chaptersnon-fatal
- Misc cleanup and bug fixes by coletdjnz
 
- [youtube:tab] Fix channels tab
- [youtube:tab] Extract playlist availability by coletdjnz
- [youtube:comments] Move comment extraction to new API by coletdjnz
- Adds extractor-args comment_sort(top/new),max_comments,max_comment_depth
 
- Adds extractor-args 
- [youtube:comments] Fix is_favorited, improvelike_countparsing by coletdjnz
- [BravoTV] Improve metadata extraction by kevinoconnor7
- [crunchyroll:playlist] Force http
- [yahoo:gyao:player] Relax _VALID_URLby 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_typestovikichannelby 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,mergealland add tests
- Errors in playlist extraction should obey --ignore-errors
- Fix bug where original_urlwas 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
 
- This was wrongly checking for 
- Improve extractor_argsparsing
- Rename NOTEin-FtoMORE INFOsince it's often confused to be the same asformat_note
- Add only_onceparam forwrite_debugandreport_warning
- [extractor] Allow extracting multiple groups in _search_regexby fstirlitz
- [utils] Improve traverse_obj
- [utils] Add variadic
- [utils] Improve js_to_jsoncomment regex by fstirlitz
- [webtt] Fix timestamps
- [compat] Remove unnecessary code
- [docs] fix default of multistreams
2021.07.07
- Merge youtube-dl: Upto commit/a803582
- Add --extractor-argsto pass some extractor-specific arguments. See readme- Add extractor option skipforyoutube, e.g.--extractor-args youtube:skip=hls,dash
- Deprecates --youtube-skip-dash-manifest,--youtube-skip-hls-manifest,--youtube-include-dash-manifest,--youtube-include-hls-manifest
 
- Add extractor option 
- Allow --list...options to work with--print,--quietand other--list...options
- [youtube] Use playerAPI for additional video extraction requests by coletdjnz- Fixes youtube premium music (format 141) extraction
- Adds extractor option player_client=web/android- --extractor-args youtube:player_client=androidworks 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 itctto params by coletdjnz
- [youtube_live_chat] Fix download with cookies by siikamiika
- [youtube_live_chat] use clickTrackingParamsby siikamiika
- [Funimation] Rewrite extractor
- Add FunimationShowIEby Mevious
- Treat the different versions of an episode as different formats of a single video
- This changes the video idand will break break existing archives
- Compat option seperate-video-versionsto fall back to old behavior including using the old video ids
 
- This changes the video 
- Support direct /player/URL
- Extractor options languageandversionto 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 -ffilters instead
 
 
- Add 
- [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-errorby krichbanana
- Fix --throttled-ratewhen using--load-info-json
- Fix --flat-playlistwhen entry has noie_key
- Fix check_formatscatchingExtractorErrorinstead ofDownloadError
- Fix deprecated option --list-formats-old
- [downloader/ffmpeg] Fix --ppawhen 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 jpegasjpg
- [utils] Fix issues with LazyListreversal
- [extractor] Allow extractors to set their own login hint
- [cleanup] Simplify format selector code with LazyListandyield from
- [cleanup] Clean extractor.common._merge_subtitlessignature
- [cleanup] Fix some typos
2021.06.23
- Merge youtube-dl: Upto commit/379f52a
- Add option --throttled-ratebelow which video data is re-extracted
- [fragment] Merge during download for -N, and refactorhls/dash
- [websockets] Add WebSocketFragmentFDby nao20010128nao, pukkandan
- Allow imagesformats 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 coletdjnz
- [youtube] Login is not needed for :ytrec
- [youtube] Non-fatal alert reporting for unavailable videos page by coletdjnz
- [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-formatsto thumbnails
- Fix id sanitization in filenames
- Skip fixup of existing files and add --fixup forceto force it
- Better error handling of syntax errors in -f
- Use NamedTemporaryFilefor--check-formats
- [aria2c] Lower --min-split-sizefor HTTP downloads
- [options] Rename --add-metadatato--embed-metadata
- [utils] Improve LazyListand add tests
- [build] Build Windows x86 version with py3.7 and remove redundant tests by pukkandan, shirt
- [docs] Clarify that --embed-metadataembeds chapter markers
- [cleanup] Refactor fixup
2021.06.09
- Fix bug where %(field)din filename template throws error
- [outtmpl] Improve offset parsing
- [test] More rigorous tests for prepare_filename
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 ytdl-org/youtube-dl@59e583f
- [youtube] Support shorts URL
- [zoom] Extract transcripts as subtitles
- Add field original_urlwith the user-inputted URL
- Fix and refactor prepare_outtmpl
- Make more fields available for --printwhen used with--flat-playlist
- [utils] Generalize traverse_dicttotraverse_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 similar 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 python3by fstirlitz
- [cleanup] Remove duplicate file trovolive.py
2021.06.01
- Merge youtube-dl: Upto commit/d495292
- Pre-check archive and filters during playlist extraction
- Handle Basic Auth user:passin URLs by hhirtz and pukkandan
- [archiveorg] Add YoutubeWebArchiveIE by coletdjnz and alex-gedeon
- [fancode] Add extractor by rhsmachine
- [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 pngand make it the default by louie-github
- [VideoConvertor] Generalize with remuxer and allow conditional recoding
- [EmbedThumbnail] Embed in mp4/m4ausing 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_playlistby creatingLazyList
- Write messages to stderrwhen bothquietandverbose
- Sanitize and sort playlist thumbnails
- Remove Nonevalues frominfo.json
- [extractor] Always prefer native hls downloader by default
- [extractor] Skip subtitles without URI in m3u8 manifests by hheimbuerger
- [extractor] Functions to parse socket.ioresponse asjsonby pukkandan and llacb47
- [extractor] Allow note=Falsewhen extracting manifests
- [utils] Escape URLs in sanitized_Request, notsanitize_url
- [hls] Disable external downloader for webtt
- [youtube] /liveURLs 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
2021.05.20
- Youtube improvements:
- Support youtube music MP,VLandbrowsepages
- Extract more formats for youtube music by craftingmod, coletdjnz and pukkandan
- Extract multiple subtitles in same language by pukkandan and tpikonen
- Redirect channels that doesn't have a videostab to theirUUplaylists
- Support in-channel search
- Sort audio-only formats correctly
- Always extract maxresdefaultthumbnail
- Extract audio language
- Add subtitle language names by nixxo and tpikonen
- Show alerts only from the final webpage
- Add html5=1param toget_video_infopage requests by coletdjnz
- Better message when login required
 
- Support youtube music 
- Add option --print: to print any field/template- Makes redundant: --get-description,--get-duration,--get-filename,--get-format,--get-id,--get-thumbnail,--get-title,--get-url
 
- Makes redundant: 
- Field additional_urlsto download additional videos from metadata using--parse-metadata
- Merge youtube-dl: Upto commit/dfbbe29
- Write thumbnail of playlist and add pl_thumbnailouttmpl key
- [embedthumbnail] Add flacsupport and refactormutagencode 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 namefor subtitles
- Ensure post_extractandpre_processonly run once
- Fix --check-formatswhen there is network error
- Standardize write_debugandget_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_optsis not given
- [build] Fix x86 build by shirt
- [cleanup] code formatting, youtube tests and readme
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
 
- Allow slicing lists/strings using 
- Merge youtube-dl: Upto commit/a726009
- Remove options -l,-t,-Acompletely and disable--auto-number,--title,--literal,--id
- [Plugins] Prioritize plugins over standard extractors and prevent plugins from overwriting the standard extractor classes
- [downloader] Fix quietandto_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_URLto 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 titleandseriesextraction by Ashish0804
- [tubi] Raise "no video formats" error when video url is empty
- [youtube:tab] Detect playlists inside community posts
- [youtube] Add oembedto reserved names
- [zee5] Fix extraction for some URLs by Hadi0609
- [zee5] Fix py2 compatibility
- Fix playlist_indexand addplaylist_autonumber. See #302 for details
- Add experimental option --check-formatsto test the URLs before format selection
- Option --compat-optionsto revert some of yt-dlp's changes- Deprecates --list-formats-as-table,--list-formats-old
 
- Deprecates 
- 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 -oand-P
- Fix preload_download_archivewriting verbose message tostdout
- Move option warnings to YoutubeDLso that they obey--no-warningsand can output colors
- Py2 compatibility for FileNotFoundError
2021.04.22
- 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
 
- Objects can be traversed like 
- Improve --sub-langs:- Treat --sub-langsentries as regex
- allcan be used to refer to all the subtitles
- language codes can be prefixed with -to exclude it
- Deprecates --all-subs
 
- Treat 
- Add option --ignore-no-formats-errorto ignore the "no video format" and similar errors
- Add option --skip-playlist-after-errorsto 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 and pukkandan
- [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 and pukkandan
- [youtube:tab] Show unavailable videos in playlists by coletdjnz
- [youtube:tab] Reload with unavailable videos for all playlists
- [youtube] Ignore invalid stretch ratio
- [youtube] Improve channel syncid extraction to support ytcfg by coletdjnz
- [youtube] Standardize API calls for tabs, mixes and search by coletdjnz
- [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 mergeallselects best format when multistreams are disabled
- Improve the yt-dlp.sh script by fstirlitz
- [lazy_extractor] Do not load plugins
- [ci] Disable fail-fast
- [docs] Clarify which deprecated options still work
- [docs] Fix typos
2021.04.11
- Add option --convert-thumbnails(only jpg currently supported)
- Format selector mergeallto download and merge all formats
- Pass any field to --execusing similar syntax to output template
- Choose downloader for each protocol using --downloader PROTO:NAME- Alias --downloaderfor--external-downloader
- Added nativeas an option for the downloader
 
- Alias 
- 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 coletdjnz
- [youtube] Extract comments' approximate timestamp by coletdjnz
- [youtube] Fix alert extraction
- [bilibili] Fix uploader
- [utils] Add datetime_from_stranddatetime_add_monthsby coletdjnz
- Run some postprocessorsbefore actual download
- Improve argument parsing for -P,-o,-S
- Fix some m3u8not obeying--allow-unplayable-formats
- Fix default of dynamic_mpd
- Deprecate --all-formats,--include-ads,--hls-prefer-native,--hls-prefer-ffmpeg
- [docs] Improvements
2021.04.03
- 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 availabilityby coletdjnz
- [viewsource] Add extractor to handle view-source:
- [sponskrub] Run before embedding thumbnail
- [docs] Improve --parse-metadatadocumentation
2021.03.24.1
- Revert commit/8562218
2021.03.24
- Merge youtube-dl: Upto 2021.03.25 (commit/8562218)
- 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
2021.03.21
- 
Merge youtube-dl: Upto commit/7e79ba7 
- 
Option --no-clean-infojsonto 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 qualitybeing ignored
- 
[splitchapters] Fix for older ffmpeg 
- 
[sponskrub] Pass proxy to sponskrub 
- 
Make sure post_hookgets the final filename
- 
Recursively remove any private keys from infojson 
- 
Embed video URL metadata inside mp4by damianoamatruda and pukkandan
- 
Merge webmformats intomkvif 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 
- 
[docs] Add deprecated options and aliases in readme 
- 
[docs] 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,unlistedetc in info (availability) by coletdjnz and pukkandan
- 
[youtube] bugfix for channel playlist extraction 
- 
[nbc] Improve metadata extraction by 2ShedsJackson 
2021.03.15
- Split video by chapters: using option --split-chapters- The output file of the split files can be set with -o/-Pusing the prefixchapter:
- Additional keys section_title,section_number,section_start,section_endare available in the output template
 
- The output file of the split files can be set with 
- Parallel fragment downloads by shirt
- Use option --concurrent-fragments(-N) to set the number of threads (default 1)
 
- Use option 
- Merge youtube-dl: Upto commit/3be0980
- [zee5] Add Show Extractor by Ashish0804 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 coletdjnz
- [embedthumbnail] Set mtime correctly
- Refactor some postprocessor/downloader code by pukkandan and shirt
2021.03.07
- [youtube] Fix history, mixes, community pages and trending by pukkandan and coletdjnz
- [youtube] Fix private feeds/playlists on multi-channel accounts by coletdjnz
- [youtube] Extract alerts from continuation by coletdjnz
- [cbs] Add support for ParamountPlus by shirt
- [mxplayer] Rewrite extractor with show support by pukkandan and Ashish0804
- [gedi] Improvements from youtube-dl by nixxo
- [vimeo] Fix videos with password by teesid
- [lbry] Support lbry://url by nixxo
- [bilibili] Change Acceptheader 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
- [docs] Include wget/curl/aria2c install instructions for Unix by Ashish0804
- Fix some videos downloading with m3u8extension
- 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 coletdjnz 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-retriesare exhausted
- Reduce default of --extractor-retriesto 3
- Fix packaging bugs by hseg
2021.03.01
- Allow specifying path in --external-downloader
- Add option --sleep-requeststo sleep b/w requests
- Add option --extractor-retriesto retry on known extractor errors
- Extract comments only when needed
- --get-commentsdoesn't imply- --write-info-jsonif- -J,- -jor- --print-jsonare used
- Fix get_executable_pathby 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-mpegtsby 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-dlcconfig files are no longer loaded
 
- Also, 
- 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 Ashish0804 and pukkandan
- [jwplatform] Add support for hyland.com
- [tennistv] Fix extractor
- [hls] Support media initialization by shirt
- [hls] Added options --hls-split-discontinuityto better support media discontinuity by shirt
- [ffmpeg] Allow passing custom arguments before -i using --ppa "ffmpeg_i1:ARGS"syntax
- Fix --windows-filenamesremoving/from UNIX paths
- [hls] Show warning if pycryptodome is not found
- [docs] Improvements
- Fix documentation of Extractor Options
- Document allin format selection
- Document playable_in_embedin output templates
 
- Fix documentation of 
2021.02.19
- Merge youtube-dl: Upto commit/cf2dbec (except kakao)
- [viki] Fix extractor
- [niconico] Extract channelandchannel_idby kurumigi
- [youtube] Multiple page support for hashtag URLs
- [youtube] Add more invidious instances
- [youtube] Fix comment extraction when comment text is empty
- Option --windows-filenamesto force use of windows compatible filenames
- [ExtractAudio] Bugfix
- Don't raise parser.errorwhen exiting for update
- [MoveFiles] Fix for when merger can't run
- Changed --trim-file-nameto--trim-filenamesto be similar to related options
- Format Sort improvements:
- Prefer vp9.2more than othervp9codecs
- Remove forced priority of quality
- Remove unnecessary field_preferenceand misuse ofpreferencefrom extractors
 
- Prefer 
- Build improvements:
- [docs] Better document --prefer-free-formatsand 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, tsukumijima, 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-formatsto 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-dlpandyoutube-dlcin releases for future-proofing
- Change optional dependency to pycryptodome
 
- Fix issue with unicode filenames in aria2c by shirt
- Fix allow_playlist_filesnot being correctly passed through
- Fix for empty HTTP head requests by shirt
- Fix get_executable_pathin UNIX
- [sponskrub] Print ffmpeg output and errors to terminal
- __real_downloadshould be false when ffmpeg unavailable and no download
- Show exe/zip/sourceand 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
- [docs] 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 strftimeto format date/time fields. Example:%(upload_date>%Y-%m-%d)s
 
- You can use 
- 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
 
- Separate output templates can be given for the different metadata files by using 
- [youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
- New option --no-write-playlist-metafilesto prevent writing playlist metadata files
- [audius] Fix extractor
- [youtube_live_chat] Fix parse_yt_initial_dataand addfragment_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 qualityhad more priority thanhasvid
- [pyinst] Automatically detect Python architecture and working directory
- Strip out internal fields such as _filenamefrom 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 +faststartwhen 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
 
- Add 
- Parse additional metadata: New option --parse-metadatato extract additional metadata from existing fields- The extracted fields can be used in --output
- Deprecated --metadata-from-title
 
- The extracted fields can be used in 
- [Audius] Add extractor
- [youtube] Extract playlist description and write it to .descriptionfile
- Detect existing files even when using recode/remux(extract-audiois 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_debugto not throw error when there is no_downloader
- [movefiles] Don't give "cant find" warning when move is unnecessary
- Refactor update-version,pyinst.pyand 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/--pathsto give different paths for different types of files- The syntax is -P "type:path" -P "type:path"
- Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
- Additionally, configuration file is taken from home directory or current directory
 
- The syntax is 
- Allow passing different arguments to different external downloaders
- [mildom] Add extractor by nao20010128nao
- Warn when using old style --external-downloader-argsand--post-processor-args
- Fix --no-overwritewhen using--write-link
- [sponskrub] Output unrecognized argumenterror 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 /#/playerURLs
- Improved parsing of multiple postprocessor-args, add --ppaas 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-dlpinstead ofyoutube-dlc. See this for details
 
- Portable configuration file: 
- 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
- [docs] Changed sponskrub links to point to yt-dlp/SponSkrub since I am now providing both linux and windows releases
- [docs] Change all links to correctly point to new fork URL
- [docs] Fixes typos
2021.01.12
- [roosterteeth.com] Add subtitle support by samiksome
- Added --force-overwrites,--no-force-overwritesby 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 (playable_in_embed)
- Update version badge automatically in README
- Enable test_youtube_search_matching
- Create to_screenand similar functions in postprocessor/common
2021.01.09
- [youtube] Fix bug in automatic caption extraction
- Add post_hooksto YoutubeDL by alexmerkel
- Batch file enumeration improvements by glenn-slayden
- Stop immediately when reaching --max-downloadsby 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 except stitcher (1, 2)
- Moved changelog to separate 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 av01codec in-Ssince most devices don't support it yet
- Added duration_stringto be used in--output
- Created First Release
2021.01.05-1
- Changed defaults:
- Enabled --ignore
- Disabled --video-multistreamsand--audio-multistreams
- Changed default format selection to bv*+ba/bwhen--audio-multistreamsis disabled
- Changed default format sort order to res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id
- Changed webmto be more preferable thanflvin format sorting
- Changed default output template to %(title)s [%(id)s].%(ext)s
- Enabled --list-formats-as-table
 
- Enabled 
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,aas alias forbest,worst,videoandaudiorespectively
 
- New format selectors: 
- Shortcut Options: Added --write-link,--write-url-link,--write-webloc-link,--write-desktop-linkby 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"
 
- Added 
- 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
- Cleaned up the fork for public use
Note: All uncredited changes above this point are authored by pukkandan
Unreleased changes in blackjack4494/yt-dlc
- Updated to youtube-dl release 2020.11.26 by pukkandan
- Youtube improvements by pukkandan
- Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
- Fix some improper Youtube URLs
- Redirect channel home to /video
- Print youtube's warning message
- Handle Multiple pages for feeds better
 
- [youtube] Fix ytsearch not returning results sometimes due to promoted content by coletdjnz
- [youtube] Temporary fix for automatic captions - disable json3 by blackjack4494
- Add --break-on-existing by gergesh
- Pre-check video IDs in the archive before downloading by pukkandan
- [bitwave.tv] New extractor by lorpus
- [Gedi] Add extractor by nixxo
- [Rcs] Add new extractor by nixxo
- [skyit] New skyitalia extractor by nixxo
- [france.tv] Fix thumbnail URL by renalid
- [ina] support mobile links by B0pol
- [instagram] Fix thumbnail extractor by nao20010128nao
- [SouthparkDe] Support for English URLs by xypwn
- [spreaker] fix SpreakerShowIE test URL by pukkandan
- [Vlive] Fix playlist handling when downloading a channel by kyuyeunk
- [tmz] Fix extractor by diegorodriguezv
- [ITV] BTCC URL update by WolfganP
- [generic] Detect embedded bitchute videos by pukkandan
- [generic] Extract embedded youtube and twitter videos by diegorodriguezv
- [ffmpeg] Ensure all streams are copied by pukkandan
- [embedthumbnail] Fix for os.rename error by pukkandan
- make_win.bat: don't use UPX to pack vcruntime140.dll by jbruchon
Changelog of blackjack4494/yt-dlc till release 2020.11.11-3
Note: This was constructed from the merge commit messages and may not be entirely accurate
- [bandcamp] fix failing test. remove subclass hack by insaneracist
- [bandcamp] restore album downloads by insaneracist
- [francetv] fix extractor by Surkal
- [gdcvault] fix extractor by blackjack4494
- [hotstar] Move to API v1 by theincognito-inc
- [hrfernsehen] add extractor by blocktrron
- [kakao] new apis by blackjack4494
- [la7] fix missing protocol by nixxo
- [mailru] removed escaped braces, use urljoin, added tests by nixxo
- [MTV/Nick] universal mgid extractor + fix nick.de feed by blackjack4494
- [mtv] Fix a missing match_id by nixxo
- [Mtv] updated extractor logic & more by blackjack4494
- [ndr] support Daserste ndr by blackjack4494
- [Netzkino] Only use video id to find metadata by TobiX
- [newgrounds] fix: video download by insaneracist
- [nitter] Add new extractor by B0pol
- [soundcloud] Resolve audio/x-wav by tfvlrue
- [soundcloud] sets pattern and tests by blackjack4494
- [SouthparkDE/MTV] another mgid extraction (mtv_base) feed url updated by blackjack4494
- [StoryFire] Add new extractor by sgstair
- [twitch] by geauxlo
- [videa] Adapt to updates by adrianheine
- [Viki] subtitles, formats by blackjack4494
- [vlive] fix extractor for revamped website by exwm
- [xtube] fix extractor by insaneracist
- [youtube] Convert subs when download is skipped by blackjack4494
- [youtube] Fix age gate detection by random-nick
- [youtube] fix yt-only playback when age restricted/gated - requires cookies by blackjack4494
- [youtube] fix: extract artist metadata from ytInitialData by insaneracist
- [youtube] fix: extract mix playlist ids from ytInitialData by insaneracist
- [youtube] fix: mix playlist title by insaneracist
- [youtube] fix: Youtube Music playlists by insaneracist
- [Youtube] Fixed problem with new youtube player by peet1993
- [zoom] Fix url parsing for url's containing /share/ and dots by Romern
- [zoom] new extractor by insaneracist
- abc by adrianheine
- Added Comcast_SSO fix by merval
- Added DRM logic to brightcove by merval
- Added regex for ABC.com site. by kucksdorfs
- alura by hugohaa
- Arbitrary merges by fstirlitz
- ard.py_add_playlist_support by martin54
- Bugfix/youtube/chapters fix extractor by gschizas
- bugfix_youtube_like_extraction by RedpointsBots
- Create build workflow by blackjack4494
- deezer by LucBerge
- Detect embedded bitchute videos by pukkandan
- Don't install tests by l29ah
- Don't try to embed/convert json subtitles generated by youtube livechat by pukkandan
- Doodstream by sxvghd
- duboku by lkho
- elonet by tpikonen
- ext/remuxe-video by Zocker1999NET
- fall-back to the old way to fetch subtitles, if needed by RobinD42
- feature_subscriber_count by RedpointsBots
- Fix external downloader when there is no http_header by pukkandan
- Fix issue triggered by tubeup by nsapa
- Fix YoutubePlaylistsIE by ZenulAbidin
- fix-mitele' by DjMoren
- fix/google-drive-cookie-issue by legraphista
- fix_tiktok by mervel-mervel
- Fixed problem with JS player URL by peet1993
- fixYTSearch by xarantolus
- FliegendeWurst-3sat-zdf-merger-bugfix-feature
- gilou-bandcamp_update
- implement ThisVid extractor by rigstot
- JensTimmerman-patch-1 by JensTimmerman
- Keep download archive in memory for better performance by jbruchon
- la7-fix by iamleot
- magenta by adrianheine
- Merge 26564 from adrianheine
- Merge code from ddland
- Merge code from nixxo
- Merge code from ssaqua
- Merge code from zubearc
- mkvthumbnail by MrDoritos
- myvideo_ge by fonkap
- naver by SeonjaeHyeon
- ondemandkorea by julien-hadleyjack
- rai-update by iamleot
- RFC: youtube: Polymer UI and JSON endpoints for playlists by wlritchi
- rutv by adrianheine
- Sc extractor web auth by blackjack4494
- Switch from binary search tree to Python sets by jbruchon
- tiktok by skyme5
- tvnow by TinyToweringTree
- twitch-fix by lel-amri
- Twitter shortener by blackjack4494
- Update README.md by JensTimmerman
- Update to reflect website changes. by amigatomte
- use webarchive to fix a dead link in README by B0pol
- Viki the second by blackjack4494
- wdr-subtitles by mrtnmtth
- Webpfix by alexmerkel
- Youtube live chat by siikamiika
![github-actions[bot]](/assets/img/avatar_default.png)