Releases: yt-dlp/yt-dlp
Release list
yt-dlp 2026.08.19
A description of the various files is in the README
The zipimport Unix executable and release tarball contain code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Core changes
- utils
- Deprecate
number_of_digits(#17300) by doe1080 - Deprecate
random_uuidv4(#17301) by doe1080 float_or_none: CatchOverflowError(#17299) by doe1080random_user_agent: Bump version range 144-150 => 145-151 (#17344) by dlp-bot
- Deprecate
Extractor changes
- americastestkitchen: Fix season/series extraction (#17151) by bm1549
- apple: Rework extractors (#17277) by bashonly
- ard: Remove dead extractor (#17158) by InvalidUsernameException
- bandcamp: Support browser impersonation (#17422) by InvalidUsernameException
- bfmtv: Fix extractor (#16905) by 0xvd
- instagram: Fix logged-in extraction (#17278) by bashonly
- showroom: Rework extractors (#17142) by doe1080
- tiktok
- Fix extractor (#17452) by bashonly (With fixes in 2c0bf96)
- Fix formats extraction (#17460) by bashonly
- Support share URLs (#17459) by bashonly
- twitter: broadcast: Fix events handling (#17323) by doe1080
- vimeo: Remove
iosandmacosclients (#17290) by bashonly - whyp: Fix extractor (#17467) by bashonly
- youtube
- Add
visionosplayer client (#17184) by bashonly - Add
web_embeddedclient fallbacks (#17462) by bashonly - Extract
channel_follower_countfor collaborators (#17363) by bashonly - Fix live adaptive fragments generation (#17262) by bashonly
- Player client maintenance (#17261) by bashonly
- Remove
android_vrfrom default clients (#17461) by bashonly - Update player client versions (#17185) by bashonly
- tab: Always extract channel metadata (#17386) by bashonly, bbilly1
- Add
Downloader changes
Networking changes
- Request Handler: curl_cffi: Support
curl_cffi0.16.x (#17439) by bashonly, coletdjnz (With fixes in 5f22baf by bashonly)
Misc. changes
- Fix third party license information (#17150) by bashonly, seproDev
- build
- ci
- Fix broken Windows PyPy tests (#17347) by bashonly
- [Update 7 actions in 10 workflows](874af899e...
yt-dlp 2026.07.04
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Important changes
- The minimum recommended Python version has been raised to 3.11
- Since Python 3.10 will reach its end-of-life in October 2026, support for it will be dropped soon. Read more - The official Windows release binaries will soon require Windows 10 or later. Read more
- Security: [CVE-2026-55404] Downstream command injection via improper sanitization of --write-link output
- Shortcut file data is now properly validated and sanitized when the--write-linkoptions are used
Changelog
Core changes
- Always include warnings in debug output (#17059) by bashonly
- Fix
allow-unsafe-extcompat option (#16920) by bashonly - Raise minimum recommended Python version to 3.11 (#17034) by bashonly
- Validate and escape values in
--write-linkoutput by bashonly - cookies: Use
'instead of"for SQL string quoting (#17078) by Grub4K - utils
- Deprecate
make_dirin favor ofmake_parent_dirs(#16931) by doe1080 HTTPHeaderDict: Fix__ior__(#16930) by doe1080parse_duration: Returnintwhen appropriate (#13899) by doe1080parse_resolution: Support fps suffixes (#17073) by doe1080pkcs1pad: Fix invalid PKCS#1 v1.5 padding bytes (#17035) by doe1080qualities: Avoid repeated index lookups (#17025) by doe1080random_user_agent: Bump version range 143-149 => 144-150 (#17117) by bashonly, dlp-bot
- Deprecate
Extractor changes
- Always include
idin request error output (#17068) by bashonly, HybridDog - Fix request logging (#17072) by bashonly
- arte: Fix playlist support (#13191) by 1100101
- bandcamp: weekly: Fix extractor (#16925) by bashonly (With fixes in 9055188)
- bilibili: Fix API extraction (#13730) by grqz
- instagram
- Detect when cookies are invalidated (#17126) by bashonly
- Rework extractor (#17075) by bashonly (With fixes in 8b8e3e3)
- linkedin: Remove broken login support (#17039) by 0xvd
- mgtv: Fix VIP stream extraction (#16982) by longcharmroeun
- mxplayer
- Fix extractors (#16988) by 0xvd
- Rework extractors (#17018) by doe1080
- niconico
- Fix error detection (#16991) by doe1080
- Support shorts (#16992) by doe1080
- omnyfm: Add extractors (#15942) by doe1080
- openrec: Rework extractors (#16857) by doe1080 (With fixes in 6694ef8)
- patreon: Support new URL format (#16926) by 0xvd
- peertube: Support password-protected videos (#16873) by selfhoster1312
- periscope: Improve metadata extraction (#16084) by doe1080
- reddit: Remove broken login support (#17038) by 0xvd
- soundcloud
- Extract
uploader_urlfor playlists (#16842) by noseb13eds - [Extract comments](h...
- Extract
yt-dlp 2026.06.09
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Important changes
- The minimum supported versions of Deno, Node, and Bun have been raised.
The minimum required version of Deno is nowv2.3.0; supported Node versions arev22and up; Bun support has been deprecated and limited to versions1.2.11through1.3.14. - Security
- Usage of vulnerable conversions (e.g.
%()s) with the--execoption is an all-too-common pitfall. To remedy this,--execnow only allows safe conversions in its command templates.- Most users can simply replace
%(...)swith%(...)qin their--execargument(s). Numeric conversions are unaffected by this change. Using unsafe conversions with--execposes a significant security risk. Read more
- Most users can simply replace
- [CVE-2026-50019] File Downloader cookie leak with curl
- Impact is limited to users of
--downloader curl; cookies are now properly passed to curl so that it respects their scope
- Impact is limited to users of
- [CVE-2026-50023] Dangerous file type creation via insufficient filename sanitization
- Writing files with the extensions
.desktop,.url, or.weblocis now only allowed in the context of--write-linkfunctionality
- Writing files with the extensions
- [CVE-2026-50574] Arbitrary code execution via manifest downloads with aria2c
- Impact is limited to users of
--downloader aria2c - Support for downloading HLS and DASH formats with aria2c has been removed. Users affected by this change should migrate to use
-Nfor concurrent fragment downloads via the native downloader
- Impact is limited to users of
- Usage of vulnerable conversions (e.g.
Changelog
Core changes
- Add lockfile and pinned extras (#16421) by bashonly, Grub4K (With fixes in 88c8a68 by bashonly)
- Fix
defaultextra foriosplatforms (#16376) by bashonly - Remove
url,desktopandweblocfrom safe extensions by Grub4K - update: Bump GitHub REST API version to
2026-03-10(#16435) by bashonly - utils
random_user_agent
Extractor changes
- Extract supplemental codecs from DASH manifests (#16827) by chrisellsworth
_resolve_nuxt_array: Handle PiniaskipHydrate(#16447) by doe1080- abematv: Extract subtitles (#16502) by garret1317
- ard: Support new
ardsoundsdomain (#16381) by evilpie - bandcamp: weekly: Fix extractor (#16373) by bashonly
- iwara: Fix extractors (#16014) by vpertys
- monstercat: Support older URLs (#16780) by AnAwesomGuy
- onsen: Fix extraction (#16830) by doe1080
- pornhub: Support browser impersonation (#16794) by 0xvd
- reddit: Fix unauthenticated extraction (#16839) by 0xvd, bashonly, jdesgats
- rtp: Support multi-part episodes and
--no-playlist(#16299) by bashonly - s4c: Extract more metadata (#16813) by Suntooth
- soop: Adapt extractors to new domain (#16436) by thematuu
- soundcloud
- thisoldhouse: Fix extractor (#16909) by bashonly, dirkf
- twitch
- Remove dead
rechatsubtitles (#16660) by kasper93 - clips: Fix extractor (#16466) by Ventriduct
- Remove dead
- twitter: Fix
view_countextraction (#16814) by MemoKing34 - wikimedia: Rework extractor (#15413) by seproDev
- youtube
- [Drop support for
bun<1.2.11andbun>1.3.14]...
- [Drop support for
yt-dlp 2026.03.17
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Extractor changes
- youtube
Misc. changes
- build: Use PyInstaller v6.19.0 for Windows (#16265) by bashonly
- ci: Bump actions pins (#16252) by bashonly
- docs: Fix
player_clientextractor-arg documentation (#16235) by bashonly - test: networking: Mark all CurlCFFIRH tests as flaky for any OS (#16266) by bashonly
yt-dlp 2026.03.13
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Extractor changes
- tiktok: Fix challenge solving (#16223) by bashonly
- youtube
- Fix
android_vrplayer client (#16168) by gamer191 - Fix
use_ad_playback_contextextractor-arg (#16196) by bashonly - Fix
web_embeddedplayer client (#16177) by bashonly, SparseOrnament15 - Request
web_safari&web_creatorclient configs (#16198) by bashonly - Update ejs to 0.7.0 (#16231) by bashonly, Grub4K
- tab
- Fix
yt-dlp 2026.03.03
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Extractor changes
- aenetworks: Fix extraction (#16036) by bashonly
- patreon: Fix extractors (#16112) by bashonly
- thechosen: Rework extractor (#16021) by 0xvd
- youtube
- zapiks: Improve extraction (#16030) by doe1080
yt-dlp 2026.02.21
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Important changes
- Security: [CVE-2026-26331] Arbitrary command injection with the
--netrc-cmdoption- The argument passed to the command in
--netrc-cmdis now limited to a safe subset of characters
- The argument passed to the command in
Changelog
Core changes
- cookies: Ignore cookies with control characters (#15862) by bashonly, syphyr
- jsinterp
Extractor changes
- Add browser impersonation support to more extractors (#16029) by bashonly
- Limit
netrc_machineparameter to shell-safe characters by Grub4K - 1tv: Extract chapters (#15848) by hunter-gatherer8
- aenetworks: Fix extractor (#14959) by Sipherdrakon
- applepodcasts: Fix extractor (#15901) by coreywright
- dailymotion: Fix extraction (#15995) by bashonly
- facebook: ads: Fix extractor (#16002) by bashonly
- gem.cbc.ca: Support standalone, series & Olympics URLs (#15878) by 0xvd, bashonly, makew0rld
- learningonscreen: Fix extractor (#16028) by 0xvd, bashonly
- locipo: Add extractors (#15486) by doe1080, gravesducking
- matchitv: Add extractor (#15204) by gseddon
- odnoklassniki: Fix inefficient regular expression (#15974) by bashonly
- opencast: Support
oc-p.uni-jena.deURLs (#16026) by LordMZTE - pornhub: Fix extractor (#15858) by beacdeac
- saucepluschannel: Add extractor (#15830) by regulad
- soundcloud
- spankbang
- steam: Fix extractor (#15028) by doe1080
- tele5: Fix extractor (#16005) by bashonly
- tver: olympic: Add extractor (#15885) by doe1080
- tvo: Add extractor (#15903) by doe1080
- twitter: Fix error handling (#15993) by bashonly (With fixes in 7722109)
- visir: Add extractor (#15811) by doe1080
- vk: Solve JS challenges using native JS interpreter (#15992) by 0xvd, bashonly
- xhamster: Fix extractor (#15831) by 0xvd
- youtube
- Add more known player JS variants (#15975) by bashonly
- Extract live adaptive
incompleteformats (#15937) by bashonly, CanOfSocks - Update ejs to 0.5.0 (#16031) by bashonly
- date, search: [Remove broken `...
yt-dlp 2026.02.04
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Extractor changes
- unsupported: Update unsupported URLs (#15812) by doe1080
- youtube: Default to
tvplayer JS variant (#15818) by bashonly
yt-dlp 2026.01.31
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Extractor changes
- soop: Support subscription-only VODs (#15523) by thematuu
- unsupported: Update unsupported URLs (#15410) by bashonly
- whyp: Extract more metadata (#15757) by azdlonky
- youtube
Misc. changes
yt-dlp 2026.01.29
A description of the various files is in the README
The zipimport Unix executable contains code licensed under ISC and MIT. The PyInstaller-bundled executables are subject to these and other licenses, all of which are compiled in THIRD_PARTY_LICENSES.txt
Changelog
Core changes
- Accept float values for
--sleep-subtitles(#15282) by 0xvd - Add
--compat-options 2025(#15499) by bashonly - Add
--format-sort-resetoption (#13809) by nihil-admirari - Bypass interactive format selection if no formats are found (#15278) by bashonly
- Fix
--parse-metadatawhenTOis a single field name (#14577) by bashonly, clayote - Fix concurrent formats downloading to stdout (#15617) by grqz
- Fix interactive format/video selection when downloading to stdout (#15626) by grqz
- Support Deno installed via Python package (#15614) by bashonly, zahlman
- utils
decode_packed_codes: Fix missing key handling (#15440) by cesbardevalue: Fix calling reviver on cached value (#15568) by Grub4Kjs_to_json: Prevent false positives for octals (#15474) by doe1080mimetype2ext: Recognize more srt types (#15411) by seproDevrandom_user_agent: Bump versions (#15396) by seproDevunified_timestamp: Addtz_offsetparameter (#15357) by doe1080
Extractor changes
- Fix prioritization of Youtube URL matching (#15596) by Grub4K
- archive.org: Fix metadata extraction (#15286) by bashonly
- bandcamp: weekly: Fix extractor (#15208) by 0xvd, bashonly
- bigo: Support
--wait-for-video(#15463) by olipfei - boosty: Improve metadata extraction (#15543) by Sytm
- cbc: Fix extractors (#15631) by subrat-lima
- cda: Support mobile URLs (#15398) by seproDev
- croatian.film: Add extractor (#15468) by 0xvd
- dailymotion: Fix extractor (#15682) by bashonly (With fixes in a893774)
- dropbox: Support videos in folders (#15313) by 0xvd
- errarhiiv: Add extractor (#15667) by rdamas
- facebook
- Remove broken login support (#15434) by bashonly
- ads: Fix extractor (#15582) by legraphista
- filmarchiv: Add extractor (#13490) by 4elta
- franceinfo
- generic: Improve detection of blockage due to TLS fingerprint (#15426) by bashonly
- gofile: Fix extractor (#15296) by quietvoid
- hotstar: Extract from new API (#15480) by 0xvd
- iqiyi: Remove broken login support (#15441) by seproDev
- lbry: Support filtering of flat playlist results (#15695) by christoph-heinrich, dirkf
- manoto: Remove extractor ([#15414](#154...