]> jfr.im git - yt-dlp.git/blame - Changelog.md
Release 2021.03.01
[yt-dlp.git] / Changelog.md
CommitLineData
034b6215 1# Changelog
2
4084f235 3<!--
4# Instuctions for creating release
5
6* Run `make doc`
0bc0a322 7* Update Changelog.md and CONTRIBUTORS
c74d1aa3 8* Change "Merged with ytdl" version in Readme.md if needed
b2f70ae7 9* Commit to master as `Release <version>`
4084f235 10* Push to origin/release - build task will now run
f3b7c693 11* Update version.py using devscripts\update-version.py
29b6000e 12* Run `make issuetemplates`
a392adf5 13* Commit to master as `[version] update :ci skip all`
4084f235 14* Push to origin/master
6d07ec81 15* Update changelog in /releases
4084f235 16
17-->
18
f20f5fe5 19
5ef7d9bd 20### 2021.03.01
21* Allow specifying path in `--external-downloader`
22* Add option `--sleep-requests` to sleep b/w requests
23* Add option `--extractor-retries` to retry on known extractor errors
24* Extract comments only when needed
25* `--get-comments` doesn't imply `--write-info-json` if `-J`, `-j` or `--print-json` are used
26* [youtube] Retry on more known errors than just HTTP-5xx
27* [tennistv] Fix format sorting
28* [readthedocs] Improvements by [shirt](https://github.com/shirt-dev)
29* [hls] Fix bug with m3u8 format extraction
30* [bilibiliaudio] Recognize the file as audio-only
31* [hrfensehen] Fix wrong import
32* [youtube] Fix inconsistent `webpage_url`
33* [hls] Enable `--hls-use-mpegts` by default when downloading live-streams
34* [viki] Fix viki play pass authentication by [RobinD42](https://github.com/RobinD42)
35* [embedthumbnail] Fix bug with deleting original thumbnail
36* [build] Fix completion paths, zsh pip completion install by [hseg](https://github.com/hseg)
37* [ci] Disable download tests unless specifically invoked
38* Cleanup some code and fix typos
39
40
c74d1aa3 41### 2021.02.24
42* Moved project to an organization [yt-dlp](https://github.com/yt-dlp)
43* **Completely changed project name to yt-dlp** by [Pccode66](https://github.com/Pccode66) and [pukkandan](https://github.com/pukkandan)
127d0759 44 * Also, `youtube-dlc` config files are no longer loaded
c74d1aa3 45* **Merge youtube-dl:** Upto [commit/4460329](https://github.com/ytdl-org/youtube-dl/commit/44603290e5002153f3ebad6230cc73aef42cc2cd) (except tmz, gedi)
46* [Readthedocs](https://yt-dlp.readthedocs.io) support by [shirt](https://github.com/shirt-dev)
47* [youtube] Show if video was a live stream in info (`was_live`)
48* [Zee5] Add new extractor by [Ashish](https://github.com/Ashish) and [pukkandan](https://github.com/pukkandan)
49* [jwplatform] Add support for `hyland.com`
50* [tennistv] Fix extractor
51* [hls] Support media initialization by [shirt](https://github.com/shirt-dev)
52* [hls] Added options `--hls-split-discontinuity` to better support media discontinuity by [shirt](https://github.com/shirt-dev)
127d0759 53* [ffmpeg] Allow passing custom arguments before -i using `--ppa "ffmpeg_i1:ARGS"` syntax
c74d1aa3 54* Fix `--windows-filenames` removing `/` from UNIX paths
55* [hls] Show warning if pycryptodome is not found
56* [documentation] Improvements
57 * Fix documentation of `Extractor Options`
127d0759 58 * Document `all` in format selection
c74d1aa3 59 * Document `playable_in_embed` in output templates
60
61
4524baf0 62### 2021.02.19
63* **Merge youtube-dl:** Upto [commit/cf2dbec](https://github.com/ytdl-org/youtube-dl/commit/cf2dbec6301177a1fddf72862de05fa912d9869d) (except kakao)
64* [viki] Fix extractor
65* [niconico] Extract `channel` and `channel_id` by [kurumigi](https://github.com/kurumigi)
66* [youtube] Multiple page support for hashtag URLs
67* [youtube] Add more invidious instances
68* [youtube] Fix comment extraction when comment text is empty
69* Option `--windows-filenames` to force use of windows compatible filenames
70* [ExtractAudio] Bugfix
71* Don't raise `parser.error` when exiting for update
72* [MoveFiles] Fix for when merger can't run
73* Changed `--trim-file-name` to `--trim-filenames` to be similar to related options
74* Format Sort improvements:
75 * Prefer `vp9.2` more than other `vp9` codecs
76 * Remove forced priority of `quality`
77 * Remove unnecessary `field_preference` and misuse of `preference` from extractors
78* Build improvements:
79 * Fix hash output by [shirt](https://github.com/shirt-dev)
80 * Lock python package versions for x86 and use `wheels` by [shirt](https://github.com/shirt-dev)
81 * Exclude `vcruntime140.dll` from UPX by [jbruchon](https://github.com/jbruchon)
82 * Set version number based on UTC time, not local time
83 * Publish on PyPi only if token is set
84* [documentation] Better document `--prefer-free-formats` and add `--no-prefer-free-format`
85
86
aa837ddf 87### 2021.02.15
88* **Merge youtube-dl:** Upto [2021.02.10](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.02.10) (except archive.org)
4524baf0 89* [niconico] Improved extraction and support encrypted/SMILE movies by [kurumigi](https://github.com/kurumigi), [tsukumi](https://github.com/tsukumi), [bbepis](https://github.com/bbepis), [pukkandan](https://github.com/pukkandan)
90* Fix HLS AES-128 with multiple keys in external downloaders by [shirt](https://github.com/shirt-dev)
91* [youtube_live_chat] Fix by using POST API by [siikamiika](https://github.com/siikamiika)
aa837ddf 92* [rumble] Add support for video page
4524baf0 93* Option `--allow-unplayable-formats` to allow downloading unplayable video formats
aa837ddf 94* [ExtractAudio] Don't re-encode when file is already in a common audio format
aa837ddf 95* [youtube] Fix search continuations
96* [youtube] Fix for new accounts
4524baf0 97* Improve build/updater: by [pukkandan](https://github.com/pukkandan) and [shirt](https://github.com/shirt-dev)
aa837ddf 98 * Fix SHA256 calculation in build and implement hash checking for updater
99 * Exit immediately in windows once the update process starts
100 * Fix updater for `x86.exe`
101 * Updater looks for both `yt-dlp` and `youtube-dlc` in releases for future-proofing
4524baf0 102 * Change optional dependency to `pycryptodome`
103* Fix issue with unicode filenames in aria2c by [shirt](https://github.com/shirt-dev)
aa837ddf 104* Fix `allow_playlist_files` not being correctly passed through
4524baf0 105* Fix for empty HTTP head requests by [shirt](https://github.com/shirt-dev)
aa837ddf 106* Fix `get_executable_path` in UNIX
107* [sponskrub] Print ffmpeg output and errors to terminal
108* `__real_download` should be false when ffmpeg unavailable and no download
109* Show `exe`/`zip`/`source` and 32/64bit in verbose message
110
111
ba9f36d7 112### 2021.02.09
113* **aria2c support for DASH/HLS**: by [shirt](https://github.com/shirt-dev)
114* **Implement Updater** (`-U`) by [shirt](https://github.com/shirt-dev)
115* [youtube] Fix comment extraction
116* [youtube_live_chat] Improve extraction
117* [youtube] Fix for channel URLs sometimes not downloading all pages
118* [aria2c] Changed default arguments to `--console-log-level=warn --summary-interval=0 --file-allocation=none -x16 -j16 -s16`
119* Add fallback for thumbnails
120* [embedthumbnail] Keep original thumbnail after conversion if write_thumbnail given
121* [embedsubtitle] Keep original subtitle after conversion if write_subtitles given
122* [pyinst.py] Move back to root dir
123* [youtube] Simplified renderer parsing and bugfixes
124* [movefiles] Fix compatibility with python2
125* [remuxvideo] Fix validation of conditional remux
126* [sponskrub] Don't raise error when the video does not exist
127* [documentation] Crypto is an optional dependency
128
129
c25228e5 130### 2021.02.04
131* **Merge youtube-dl:** Upto [2021.02.04.1](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.02.04.1)
0fd1a2b0 132* **Date/time formatting in output template:**
133 * You can use [`strftime`](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes) to format date/time fields. Example: `%(upload_date>%Y-%m-%d)s`
c25228e5 134* **Multiple output templates:**
0fd1a2b0 135 * Separate output templates can be given for the different metadata files by using `-o TYPE:TEMPLATE`
136 * The allowed types are: `subtitle|thumbnail|description|annotation|infojson|pl_description|pl_infojson`
c25228e5 137* [youtube] More metadata extraction for channel/playlist URLs (channel, uploader, thumbnail, tags)
138* New option `--no-write-playlist-metafiles` to prevent writing playlist metadata files
139* [audius] Fix extractor
140* [youtube_live_chat] Fix `parse_yt_initial_data` and add `fragment_retries`
141* [postprocessor] Raise errors correctly
142* [metadatafromtitle] Fix bug when extracting data from numeric fields
143* Fix issue with overwriting files
144* Fix "Default format spec" appearing in quiet mode
145* [FormatSort] Allow user to prefer av01 over vp9 (The default is still vp9)
146* [FormatSort] fix bug where `quality` had more priority than `hasvid`
147* [pyinst] Automatically detect python architecture and working directory
148* Strip out internal fields such as `_filename` from infojson
149
150
29b6000e 151### 2021.01.29
4524baf0 152* **Features from [animelover1984/youtube-dl](https://github.com/animelover1984/youtube-dl)**: by [animelover1984](https://github.com/animelover1984) and [bbepis](https://github.com/bbepis)
29b6000e 153 * Add `--get-comments`
154 * [youtube] Extract comments
155 * [billibilli] Added BiliBiliSearchIE, BilibiliChannelIE
156 * [billibilli] Extract comments
157 * [billibilli] Better video extraction
158 * Write playlist data to infojson
159 * [FFmpegMetadata] Embed infojson inside the video
160 * [EmbedThumbnail] Try embedding in mp4 using ffprobe and `-disposition`
161 * [EmbedThumbnail] Treat mka like mkv and mov like mp4
162 * [EmbedThumbnail] Embed in ogg/opus
163 * [VideoRemuxer] Conditionally remux video
164 * [VideoRemuxer] Add `-movflags +faststart` when remuxing to mp4
165 * [ffmpeg] Print entire stderr in verbose when there is error
166 * [EmbedSubtitle] Warn when embedding ass in mp4
167 * [anvato] Use NFLTokenGenerator if possible
168* **Parse additional metadata**: New option `--parse-metadata` to extract additional metadata from existing fields
169 * The extracted fields can be used in `--output`
170 * Deprecated `--metadata-from-title`
171* [Audius] Add extractor
172* [youtube] Extract playlist description and write it to `.description` file
173* Detect existing files even when using `recode`/`remux` (`extract-audio` is partially fixed)
174* Fix wrong user config from v2021.01.24
175* [youtube] Report error message from youtube as error instead of warning
176* [FormatSort] Fix some fields not sorting from v2021.01.24
177* [postprocessor] Deprecate `avconv`/`avprobe`. All current functionality is left untouched. But don't expect any new features to work with avconv
178* [postprocessor] fix `write_debug` to not throw error when there is no `_downloader`
179* [movefiles] Don't give "cant find" warning when move is unnecessary
180* Refactor `update-version`, `pyinst.py` and related files
181* [ffmpeg] Document more formats that are supported for remux/recode
182
183
0bc0a322 184### 2021.01.24
185* **Merge youtube-dl:** Upto [2021.01.24](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.01.16)
7a5c1cfe 186* Plugin support ([documentation](https://github.com/yt-dlp/yt-dlp#plugins))
0bc0a322 187* **Multiple paths**: New option `-P`/`--paths` to give different paths for different types of files
7a5c1cfe 188 * The syntax is `-P "type:path" -P "type:path"` ([documentation](https://github.com/yt-dlp/yt-dlp#:~:text=-P,%20--paths%20TYPE:PATH))
0bc0a322 189 * Valid types are: home, temp, description, annotation, subtitle, infojson, thumbnail
7a5c1cfe
P
190 * Additionally, configuration file is taken from home directory or current directory ([documentation](https://github.com/yt-dlp/yt-dlp#:~:text=Home%20Configuration))
191* Allow passing different arguments to different external downloaders ([documentation](https://github.com/yt-dlp/yt-dlp#:~:text=--downloader-args%20NAME:ARGS))
ba9f36d7 192* [mildom] Add extractor by [nao20010128nao](https://github.com/nao20010128nao)
0bc0a322 193* Warn when using old style `--external-downloader-args` and `--post-processor-args`
194* Fix `--no-overwrite` when using `--write-link`
195* [sponskrub] Output `unrecognized argument` error message correctly
196* [cbs] Make failure to extract title non-fatal
197* Fix typecasting when pre-checking archive
198* Fix issue with setting title on UNIX
199* Deprecate redundant aliases in `formatSort`. The aliases remain functional for backward compatibility, but will be left undocumented
200* [tests] Fix test_post_hooks
201* [tests] Split core and download tests
202
203
c69911e4 204### 2021.01.20
205* [TrovoLive] Add extractor (only VODs)
e2f6586c 206* [pokemon] Add `/#/player` URLs
c69911e4 207* Improved parsing of multiple postprocessor-args, add `--ppa` as alias
208* [EmbedThumbnail] Simplify embedding in mkv
209* [sponskrub] Encode filenames correctly, better debug output and error message
210* [readme] Cleanup options
211
e2f6586c 212
298f597b 213### 2021.01.16
f57adf0e 214* **Merge youtube-dl:** Upto [2021.01.16](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.01.16)
215* **Configuration files:**
216 * Portable configuration file: `./yt-dlp.conf`
7a5c1cfe 217 * Allow the configuration files to be named `yt-dlp` instead of `youtube-dlc`. See [this](https://github.com/yt-dlp/yt-dlp#configuration) for details
298f597b 218* Add PyPI release
219
220
bf5a997e 221### 2021.01.14
222* Added option `--break-on-reject`
ba9f36d7 223* [roosterteeth.com] Fix for bonus episodes by [Zocker1999NET](https://github.com/Zocker1999NET)
bf5a997e 224* [tiktok] Fix for when share_info is empty
225* [EmbedThumbnail] Fix bug due to incorrect function name
7a5c1cfe 226* [documentation] Changed sponskrub links to point to [yt-dlp/SponSkrub](https://github.com/yt-dlp/SponSkrub) since I am now providing both linux and windows releases
bf5a997e 227* [documentation] Change all links to correctly point to new fork URL
228* [documentation] Fixes typos
229
230
9b45b9f5 231### 2021.01.12
ba9f36d7 232* [roosterteeth.com] Add subtitle support by [samiksome](https://github.com/samiksome)
233* Added `--force-overwrites`, `--no-force-overwrites` by [alxnull](https://github.com/alxnull)
9b45b9f5 234* Changed fork name to `yt-dlp`
ba9f36d7 235* Fix typos by [FelixFrog](https://github.com/FelixFrog)
9b45b9f5 236* [ci] Option to skip
237* [changelog] Added unreleased changes in blackjack4494/yt-dlc
238
239
f5546c0b 240### 2021.01.10
ba9f36d7 241* [archive.org] Fix extractor and add support for audio and playlists by [wporr](https://github.com/wporr)
242* [Animelab] Added by [mariuszskon](https://github.com/mariuszskon)
243* [youtube:search] Fix view_count by [ohnonot](https://github.com/ohnonot)
65156eba 244* [youtube] Show if video is embeddable in info
245* Update version badge automatically in README
246* Enable `test_youtube_search_matching`
247* Create `to_screen` and similar functions in postprocessor/common
248
f20f5fe5 249
f5546c0b 250### 2021.01.09
4084f235 251* [youtube] Fix bug in automatic caption extraction
ba9f36d7 252* Add `post_hooks` to YoutubeDL by [alexmerkel](https://github.com/alexmerkel)
253* Batch file enumeration improvements by [glenn-slayden](https://github.com/glenn-slayden)
254* Stop immediately when reaching `--max-downloads` by [glenn-slayden](https://github.com/glenn-slayden)
255* Fix incorrect ANSI sequence for restoring console-window title by [glenn-slayden](https://github.com/glenn-slayden)
256* Kill child processes when yt-dlc is killed by [Unrud](https://github.com/Unrud)
034b6215 257
f20f5fe5 258
f5546c0b 259### 2021.01.08
f57adf0e 260* **Merge youtube-dl:** Upto [2021.01.08](https://github.com/ytdl-org/youtube-dl/releases/tag/2021.01.08)
e5bc03a6 261 * Extractor stitcher ([1](https://github.com/ytdl-org/youtube-dl/commit/bb38a1215718cdf36d73ff0a7830a64cd9fa37cc), [2](https://github.com/ytdl-org/youtube-dl/commit/a563c97c5cddf55f8989ed7ea8314ef78e30107f)) have not been merged
262* Moved changelog to seperate file
263
f20f5fe5 264
034b6215 265### 2021.01.07-1
ba9f36d7 266* [Akamai] fix by [nixxo](https://github.com/nixxo)
267* [Tiktok] merge youtube-dl tiktok extractor by [GreyAlien502](https://github.com/GreyAlien502)
268* [vlive] add support for playlists by [kyuyeunk](https://github.com/kyuyeunk)
269* [youtube_live_chat] make sure playerOffsetMs is positive by [siikamiika](https://github.com/siikamiika)
270* Ignore extra data streams in ffmpeg by [jbruchon](https://github.com/jbruchon)
034b6215 271* Allow passing different arguments to different postprocessors using `--postprocessor-args`
272* Deprecated `--sponskrub-args`. The same can now be done using `--postprocessor-args "sponskrub:<args>"`
273* [CI] Split tests into core-test and full-test
274
f20f5fe5 275
034b6215 276### 2021.01.07
277* Removed priority of `av01` codec in `-S` since most devices don't support it yet
278* Added `duration_string` to be used in `--output`
279* Created First Release
280
f20f5fe5 281
034b6215 282### 2021.01.05-1
283* **Changed defaults:**
284 * Enabled `--ignore`
285 * Disabled `--video-multistreams` and `--audio-multistreams`
286 * Changed default format selection to `bv*+ba/b` when `--audio-multistreams` is disabled
287 * Changed default format sort order to `res,fps,codec,size,br,asr,proto,ext,has_audio,source,format_id`
288 * Changed `webm` to be more preferable than `flv` in format sorting
289 * Changed default output template to `%(title)s [%(id)s].%(ext)s`
290 * Enabled `--list-formats-as-table`
291
f20f5fe5 292
034b6215 293### 2021.01.05
294* **Format Sort:** Added `--format-sort` (`-S`), `--format-sort-force` (`--S-force`) - See [Sorting Formats](README.md#sorting-formats) for details
295* **Format Selection:** See [Format Selection](README.md#format-selection) for details
296 * New format selectors: `best*`, `worst*`, `bestvideo*`, `bestaudio*`, `worstvideo*`, `worstaudio*`
297 * Changed video format sorting to show video only files and video+audio files together.
298 * Added `--video-multistreams`, `--no-video-multistreams`, `--audio-multistreams`, `--no-audio-multistreams`
299 * Added `b`,`w`,`v`,`a` as alias for `best`, `worst`, `video` and `audio` respectively
06869367 300* **Shortcut Options:** Added `--write-link`, `--write-url-link`, `--write-webloc-link`, `--write-desktop-link` by [h-h-h-h](https://github.com/h-h-h-h) - See [Internet Shortcut Options](README.md#internet-shortcut-options) for details
b9650873 301* **Sponskrub integration:** Added `--sponskrub`, `--sponskrub-cut`, `--sponskrub-force`, `--sponskrub-location`, `--sponskrub-args` - See [SponSkrub Options](README.md#sponskrub-sponsorblock-options) for details
ba9f36d7 302* Added `--force-download-archive` (`--force-write-archive`) by [h-h-h-h](https://github.com/h-h-h-h)
034b6215 303* Added `--list-formats-as-table`, `--list-formats-old`
f20f5fe5 304* **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
034b6215 305 * 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`
306 * Renamed: `--write-subs`, `--no-write-subs`, `--no-write-auto-subs`, `--write-auto-subs`. Note that these can still be used without the ending "s"
307* Relaxed validation for format filters so that any arbitrary field can be used
ba9f36d7 308* Fix for embedding thumbnail in mp3 by [pauldubois98](https://github.com/pauldubois98) ([ytdl-org/youtube-dl#21569](https://github.com/ytdl-org/youtube-dl/pull/21569))
034b6215 309* Make Twitch Video ID output from Playlist and VOD extractor same. This is only a temporary fix
f5546c0b 310* **Merge youtube-dl:** Upto [2021.01.03](https://github.com/ytdl-org/youtube-dl/commit/8e953dcbb10a1a42f4e12e4e132657cb0100a1f8) - See [blackjack4494/yt-dlc#280](https://github.com/blackjack4494/yt-dlc/pull/280) for details
034b6215 311 * Extractors [tiktok](https://github.com/ytdl-org/youtube-dl/commit/fb626c05867deab04425bad0c0b16b55473841a2) and [hotstar](https://github.com/ytdl-org/youtube-dl/commit/bb38a1215718cdf36d73ff0a7830a64cd9fa37cc) have not been merged
312* Cleaned up the fork for public use
f20f5fe5 313
314
315### Unreleased changes in [blackjack4494/yt-dlc](https://github.com/blackjack4494/yt-dlc)
316* Updated to youtube-dl release 2020.11.26
317* [youtube]
318 * Implemented all Youtube Feeds (ytfav, ytwatchlater, ytsubs, ythistory, ytrec) and SearchURL
319 * Fix ytsearch not returning results sometimes due to promoted content
320 * Temporary fix for automatic captions - disable json3
321 * Fix some improper Youtube URLs
322 * Redirect channel home to /video
323 * Print youtube's warning message
324 * Multiple pages are handled better for feeds
ba9f36d7 325* Add --break-on-existing by [gergesh](https://github.com/gergesh)
f20f5fe5 326* Pre-check video IDs in the archive before downloading
327* [bitwave.tv] New extractor
328* [Gedi] Add extractor
329* [Rcs] Add new extractor
330* [skyit] Add support for multiple Sky Italia website and removed old skyitalia extractor
331* [france.tv] Fix thumbnail URL
332* [ina] support mobile links
333* [instagram] Fix extractor
334* [itv] BTCC new pages' URL update (articles instead of races)
335* [SouthparkDe] Support for English URLs
336* [spreaker] fix SpreakerShowIE test URL
337* [Vlive] Fix playlist handling when downloading a channel
338* [generic] Detect embedded bitchute videos
339* [generic] Extract embedded youtube and twitter videos
340* [ffmpeg] Ensure all streams are copied
341* Fix for os.rename error when embedding thumbnail to video in a different drive
342* make_win.bat: don't use UPX to pack vcruntime140.dll