Releases: yt-dlp/yt-dlp
Releases · yt-dlp/yt-dlp
yt-dlp 2024.04.09
A description of the various files are in the README
Important changes
- Security: [CVE-2024-22423] Prevent RCE when using
--exec
with%q
on Windows- The shell escape function now properly escapes
%
,\
and\n
. utils.Popen
has been patched accordingly.
- The shell escape function now properly escapes
Changelog
Core changes
- Add new option
--progress-delta
(#9082) by Grub4K - Add new options
--impersonate
and--list-impersonate-targets
by bashonly, coletdjnz, Grub4K, pukkandan - Add option
--no-break-on-existing
(#9610) by bashonly - Fix
filesize_approx
calculation (#9560) by pukkandan, seproDev - Infer
acodec
for single-codec containers by pukkandan - Prevent RCE when using
--exec
with%q
(CVE-2024-22423) by Grub4K - cookies: Add
--cookies-from-browser
support for Firefox Flatpak (#9619) by un-def - utils
traverse_obj
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
- Adjust format sorting (#9584) by [bashonly](https://github.com/bashonly...
yt-dlp 2024.03.10
A description of the various files are in the README
Changelog
Core changes
- Add
--compat-options 2023
(#9084) by Grub4K (With fixes in ffff1bc by pukkandan) - Create
ydl._request_director
when needed by pukkandan (With fixes in dbd8b1b by Grub4k) - Don't select storyboard formats as fallback by bashonly
- Handle
--load-info-json
format selection errors (#9392) by bashonly - Warn user when not launching through shell on Windows (#9250) by Grub4K, seproDev
- cookies
- plugins: Handle
PermissionError
(#9229) by pukkandan, syntaxsurge - utils
- Improve
repr
ofDateRange
,match_filter_func
by pukkandan traverse_obj
: Supportxml.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](4253e3b7f483127bd812b...
yt-dlp 2023.12.30
A description of the various files are in the README
The year is coming to an end and so we would like to celebrate the major features and improvements added this year, such as the new plugin and networking frameworks alongside the new release channels (outdated pip
package be gone!)
The maintainers want to give a sincere "thank you!" to all the people who have contributed to the project in 2023, as well as all of our users.
✨ See you in the new year! ✨
Changelog
Core changes
- Fix format selection parse error for CPython 3.12 (#8797) by Grub4K
- Let
read_stdin
obey--quiet
by pukkandan - Merged with youtube-dl be008e6 by bashonly, dirkf, Grub4K
- Parse
release_year
fromrelease_date
(#8524) by seproDev - Release workflow and Updater cleanup (#8640) by bashonly
- Remove Python 3.7 support (#8361) by bashonly
- Support
NO_COLOR
environment variable (#8385) by Grub4K, prettykool - outtmpl: Support multiplication by pukkandan
- utils:
traverse_obj
: Moveis_user_input
into output template (#8673) by Grub4K - webvtt: Allow spaces before newlines for CueBlock (#7681) by TSRBerry (With fixes in 298230e by pukkandan)
Extractor changes
- Add
media_type
field by trainman261 - Extract from
media
elements in SMIL manifests (#8504) by seproDev - abematv: Fix season metadata (#8607) by middlingphys
- allstar: Add extractors (#8274) by S-Aarab
- altcensored: Add extractor (#8291) by drzraf
- ard: Overhaul extractors (#8878) by seproDev
- ardbetamediathek: Fix series extraction (#8687) by lstrojny
- bbc
- 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](https://github.com/yt-dlp/yt-dlp/issue...
yt-dlp 2023.11.16
A description of the various files are in the README
Changelog
Extractor changes
- abc.net.au: iview, showseries: Fix extraction (#8586) by bashonly
- beatbump: Update
_VALID_URL
(#8576) by seproDev - dailymotion: Improve
_VALID_URL
(#7692) by TravisDupes - drtv: Fix extractor (#8484) by almx, seproDev
- eltrecetv: Add extractor (#8216) by elivinsky
- jiosaavn: Add extractors (#8307) by awalgarg
- njpwworld: Remove (#8570) by aarubui
- tv5mondeplus: Extract subtitles (#4209) by FrankZ85
- twitcasting: Fix livestream detection (#8574) by JC-Chung
- zenyandex: Fix extraction (#8454) by starius
Misc. changes
- build: Make
secretstorage
an optional dependency (#8585) by bashonly
yt-dlp 2023.11.14
A description of the various files are in the README
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
Changelog
Core changes
- Add
--compat-option manifest-filesize-approx
(#8356) by bashonly - Fix format sorting with
--load-info-json
(#8521) by bashonly - Include build origin in verbose output by bashonly, Grub4K
- Only ensure playlist thumbnail dir if writing thumbs (#8373) by bashonly
- update: Overhaul self-updater by bashonly, Grub4K
Extractor changes
- Do not smuggle
http_headers
by coletdjnz - Do not test truth value of
xml.etree.ElementTree.Element
(#8582) by bashonly - brilliantpala: Fix cookies support (#8352) by pzhlkj6612
- generic: Improve direct video link ext detection (#8340) by bashonly
- laxarxames: Add extractor (#8412) by aniolpages
- n-tv.de: Fix extractor (#8414) by 1100101
- neteasemusic: Improve metadata extraction (#8531) by LoserFox
- nhk: Improve metadata extraction (#8388) by garret1317
- novaembed: Improve
_VALID_URL
(#8368) by peci1 - npo: Send
POST
request to streams API endpoint (#8413) by bartbroere - ondemandkorea: Overhaul extractor (#8386) by seproDev
- orf: podcast: Add extractor (#8486) by Esokrates
- polskieradio: audition: Fix playlist extraction (#8459) by shubhexists
- qdance: Update
_VALID_URL
(#8426) by bashonly - radiocomercial: Add extractors (#8508) by SirElderling
- sbs.co.kr: Add extractors (#8326) by seproDev
- theatercomplextown: Add extractors (#8560) by bashonly
- thisav: Remove (#8346) by bashonly
- thisoldhouse: Add login support (#8561) by bashonly
- twitcasting: Fix livestream extraction (#8427) by JC-Chung, saintliao
- twitter
- broadcast
- weibo: Fix extraction (#8463) by c-basalt
- weverse: Fix login error handling (#8458) by seproDev
- youtube: Check newly uploaded iOS HLS formats (#8336) by bashonly
- zoom: Extract combined view formats (#7847) by Mipsters
Downloader changes
- aria2c: Remove duplicate
--file-allocation=none
(#8332) by CrendKing - dash: Force native downloader for
--live-from-start
(#8339) by bashonly
Networking changes
- Request Handler: requests: Add handler for
requests
HTTP library (#3668) by bashonly, coletdjnz, Grub4K (With ...
yt-dlp 2023.10.13
A description of the various files are in the README
Changelog
Core changes
- Ensure thumbnail output directory exists (#7985) by Riteo
- utils
js_to_json
: FixDate
constructor parsing (#8295) by awalgarg, Grub4Kwrite_xattr
: Useos.setxattr
if available (#8205) by bashonly, Grub4K
Extractor changes
- artetv: Support age-restricted content (#8301) by StefanLobbenmeier
- jtbc: Add extractors (#8314) by seproDev
- mbn: Add extractor (#8312) by seproDev
- nhk: Fix Japanese-language VOD extraction (#8309) by garret1317
- radiko: Fix bug with
downloader_options
by bashonly - tenplay: Add support for seasons (#7939) by midnightveil
- youku: Improve tudou.com support (#8160) by naginatana
- youtube: Fix bug with
--extractor-retries inf
(#8328) by Grub4K
Downloader changes
- fragment: Improve progress calculation (#8241) by Grub4K
Misc. changes
yt-dlp 2023.10.07
A description of the various files are in the README
Changelog
Extractor changes
- abc.net.au: iview: Improve
episode
extraction (#8201) by xofe - erocast: Add extractor (#8264) by madewokherd
- gofile: Fix token cookie bug by bashonly
- iq.com: Fix extraction and subtitles (#8260) by AS6939
- lbry
- Add playlist support (#8213) by bashonly, drzraf, Grub4K
- Extract
uploader_id
(#8244) by drzraf
- litv: Fix extractor (#7785) by jiru
- neteasemusic: Fix extractors (#8181) by c-basalt
- nhk: Fix VOD extraction (#8249) by garret1317
- radiko: Improve extraction (#8221) by garret1317
- substack
- 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
yt-dlp 2023.09.24
A description of the various files are in the README
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
--exec
with%q
on Windows- The shell escape function is now using
""
instead of\"
. utils.Popen
has been patched to properly quote commands.
- The shell escape function is now using
Changelog
Core changes
- Fix HTTP headers and cookie handling by bashonly, pukkandan
- Fix
--check-formats
by pukkandan - Fix support for upcoming Python 3.12 (#8130) by Grub4K
- Merged with youtube-dl 66ab08 by coletdjnz
- Prevent RCE when using
--exec
with%q
(CVE-2023-40581) by Grub4K - Raise minimum recommended Python version to 3.8 (#8183) by Grub4K
FFmpegFixupM3u8PP
may need to run with ffmpeg by pukkandan- compat
- Add
types.NoneType
by pukkandan (With fixes in 25b6e8f) - Deprecate old functions (#2861) by coletdjnz, pukkandan
- Ensure submodules are imported correctly by pukkandan
- 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_index
by pukkandan - utils
- Add temporary shim for logging by pukkandan
- Improve
parse_duration
by bashonly - HTTPHeaderDict: Handle byte values by pukkandan
clean_podcast_url
: Handle more trackers (#7556) by bashonly, mabdelfattahjs_to_json
: HandleArray
objects by Grub4K, std-move
Extractor changes
- Extract subtitles from SMIL manifests (#7667) by bashonly, pukkandan
- Fix
--load-pages
by pukkandan - Make
_search_nuxt_data
more lenient by std-move - abematv
- 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](https://github.com/yt-dlp/yt-...
yt-dlp 2023.07.06
A description of the various files are in the README
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
cookies
field to info.json and deprecatehttp_headers.Cookie
Changelog
Core changes
- Allow extractors to mark formats as potentially DRM (#7396) by pukkandan
- Bugfix for b4e0d75848e9447cee2cd3646ce54d4744a7ff56 by pukkandan
- Change how
Cookie
headers are handled by Grub4K - Prevent
Cookie
leaks on HTTP redirect by coletdjnz - formats: Fix best fallback for storyboards by pukkandan
- outtmpl: Pad
playlist_index
etc even when with internal formatting by pukkandan - utils: clean_podcast_url: Handle protocol in redirect URL by pukkandan
Extractor changes
- abc: Fix extraction (#7434) by meliber
- AdultSwim: Extract subtitles from m3u8 (#7421) by nnoboa
- crunchyroll: music: Fix
_VALID_URL
(#7439) by AmanSal1, rdamas - Douyin: Fix extraction from webpage by bashonly
- googledrive: Fix source format extraction (#7395) by RfadnjdExt
- kick: Fix
_VALID_URL
by bashonly - qdance: Add extractor (#7420) by bashonly
- sbs: Python 3.7 compat by pukkandan
- stacommu: Add extractors (#7432) by urectanc
- twitter
- Fix unauthenticated extraction (#7476) by bashonly
- spaces: Fix extraction (#7512) by bashonly
- vidlii: Handle relative URLs by pukkandan
- vk: VKPlay, VKPlayLive: Add extractors (#7358) by c-basalt
- youtube
- Add extractor-arg
formats
by pukkandan - Avoid false DRM detection (#7396) by pukkandan
- Fix comments'
is_favorited
(#7390) by bbilly1 - Ignore incomplete data for comment threads by default (#7475) by coletdjnz
- Process
post_live
over 2 hours by pukkandan - stories: Remove (#7459) by pukkandan
- tab: Support shorts-only playlists (#7425) by coletdjnz
- Add extractor-arg
Downloader changes
- aria2c: Add
--no-conf
by pukkandan - external: Scope cookies by bashonly, coletdjnz
- http: Avoid infinite loop when no data is received by pukkandan
Misc. changes
- Add CodeQL workflow (#7497) by pukkandan
- cleanup: Miscellaneous: 337734d by pukkandan
- docs: Minor fixes by pukkandan
- make_changelog: Skip reverted commits by pukkandan
yt-dlp 2023.06.22
A description of the various files are in the README
Changelog
Core changes
- Fix bug in db3ad8a67661d7b234a6954d9c6a4a9b1749f5eb by pukkandan
- Improve
--download-sections
by pukkandan- Support negative time-ranges
- Add
*from-url
to obey time-ranges in URL
- Indicate
filesize
approximated fromtbr
better by pukkandan
Extractor changes
- Support multiple
_VALID_URL
s (#5812) by nixxo - dplay: GlobalCyclingNetworkPlus: Add extractor (#7360) by bashonly
- dropout: Fix season extraction (#7304) by OverlordQ
- motherless: Add gallery support, fix groups (#7211) by rexlambert22, Ti4eeT4e
- nebula: Fix extractor (#7156) by Lamieur, rohieb
- rheinmaintv: Add extractor (#7311) by barthelmannk
- youtube
- Add
ios
to default clients used by pukkandan- IOS is affected neither by 403 nor by nsig so helps mitigate them preemptively
- IOS also has higher bit-rate 'premium' formats though they are not labeled as such
- Improve description parsing performance (#7315) by berkanteber, pukkandan
- Improve nsig function name extraction by pukkandan
- Workaround 403 for android formats by pukkandan
- Add