aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-04[YouTube] Fix 680069a, excess `min_ver`HEADmasterdirkf
Resolves #33125.
2025-05-03[workflows/ci.yml] Move pinned Ubuntu runner images from withdrawn 20.4 to 22.04dirkf
* fix consequent missing `python-is-python2` package
2025-05-03[YouTube] Improve n-sig function extraction for player `aa3fc80b`dirkf
Resolves #33123
2025-05-03[YouTube] Delete cached problem nsig cache data on descrambling errordirkf
* inspired by yt-dlp/yt-dlp#12750
2025-05-03[YouTube] Cache signature timestamp from player JSdirkf
* if the YT webpage can't be loaded, getting the `sts` requires loading the player JS: this caches it * based on yt-dlp/yt-dlp#13047, thx bashonly
2025-05-03[Cache] Add `clear` functiondirkf
2025-04-08[JSInterp] Add tests and relevant functionality from yt-dlpdirkf
* thx seproDev, bashonly: yt-dlp/yt-dlp#12760, yt-dlp/yt-dlp#12761: - Improve nested attribute support - Pass global stack when extracting objects - interpret_statement: Match attribute before indexing - Fix assignment to array elements with nested brackets - Add new signature tests - Invalidate JS function cache - Avoid testdata dupes now that we cache by URL * rework nsig function name search * fully fixes #33102 * update cache required versions * update program version
2025-04-08[JSInterp] Improve unary operators; add `!`dirkf
2025-04-08[JSInterp] Add `_separate_at_op()`dirkf
2025-04-08[JSInterp] Improve JS classes, etcdirkf
2025-04-08[JSInterp] Reorganise some declarations to align better with yt-dlpdirkf
2025-04-08[InfoExtractor] Fix merging subtitles to empty targetdirkf
2025-04-08[InfoExtractor] Use local variants for remaining parent method callsdirkf
* ... where defined
2025-04-08[YouTube] Remove remaining hard-coded API keysdirkf
* no longer required for these cases
2025-04-08[YouTube] Fix playlist continuation extractiondirkf
* thx coletdjnz, bashonly: yt-dlp/yt-dlp#12777
2025-04-08[YouTube] Support shorts playlistdirkf
* only 1..100: yt-dlp/yt-dlp#11130
2025-04-08[cache] Use `esc_rfc3986` to encode cache keydirkf
2025-04-08[utils] Support optional `safe` argument for `escape_rfc3986()`dirkf
2025-04-08[compat] Improve Py2 compatibility for URL Quotingdirkf
2025-04-08[cache] Align further with yt-dlpdirkf
* use compat_os_makedirs * support non-ASCII characters in cache key * improve logging
2025-04-08[compat] Add compat_os_makedirsdirkf
* support exists_ok parameter in Py < 3.2
2025-04-08[core] Refactor message routines to align better with yt-dlpdirkf
* in particular, support `only_once` in the same methods
2025-03-31[JSInterp] Temporary fix for #33102dirkf
2025-03-26[Misc] Correct [_]IE_DESC/NAME in a few IEsdirkf
* thx seproDev, yt-dlp/yt-dlp/pull/12694/commits/ae69e3c * also add documenting comment in `InfoExtractor`
2025-03-26[ITV] Mark ITVX not workingdirkf
* update old shim * correct [_]IE_DESC
2025-03-26[YouTube] Support player `4fcd6e4a`dirkf
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
2025-03-25[JSInterp] Use `,` for join() with null/undefined argumentdirkf
Eg: [1,2,3].join(null) -> '1,2,3'
2025-03-25[YouTube] Align signature tests with yt-dlpdirkf
thx bashonly, yt-dlp/yt-dlp#12725
2025-03-25[YouTube] Update signature extraction for players `643afba4`, `363db69b`dirkf
2025-03-25[YouTube] Support new player URL patternsdirkf
2025-03-25[JSInterp] Improve indexingdirkf
* catch invalid list index with `ValueError` (eg [1, 2]['ab'] -> undefined) * allow assignment outside existing list (eg var l = [1,2]; l[9] = 0;)
2025-03-25[YouTube] Make `_extract_player_info()` use `_search_regex()`dirkf
2025-03-25[YouTube] Also get original of translated automatic captionsdirkf
2025-03-25[YouTube] Get subtitles/automatic captions from both web and API responsesdirkf
2025-03-21[YouTube] Improve support for tce-style player JSdirkf
* improve extraction of global "useful data" Array from player JS * also handle tv-player and add tests: thx seproDev (yt-dlp/yt-dlp#12684) Co-Authored-By: sepro <sepro@sepr0.com>
2025-03-21[YouTube] Update player client datadirkf
thx seproDev (yt-dlp/yt-dlp#12603) Co-authored-by: sepro <sepro@sepr0.com>
2025-03-11[JSInterp] Improve testsdirkf
* from yt-dlp/yt-dlp#12313 * also fix d7c2708
2025-03-11[YouTube] Update TVHTML5 client parametersdirkf
* resolves #33078
2025-03-11[YouTube] Initially support tce-style player JSdirkf
* resolves #33079
2025-03-11[YouTube] Temporarily redirect from tce-style player JSdirkf
2025-03-11[JSInterp] Make indexing error handling more conformantdirkf
* by default TypeError -> undefined, else raise * set allow_undefined=True/False to override
2025-03-11[JSInterp] Handle undefined, etc, passed to JS_RegExp and Exceptiondirkf
2025-03-11[JSInterp] Improve Date processingdirkf
* add JS_Date class implementing JS Date * support constructor args other than date string * support static methods of Date * Date objects are still automatically coerced to timestamp before using in JS.
2025-03-11[compat] Fix inheriting from compat_collections_chain_mapdirkf
* see ytdl-org/youtube-dl#33079#issuecomment-2704038049
2025-03-11[compat] Support zstd Content-Encodingdirkf
* see RFC 8878 7.2
2025-03-11[compat] Clean-updirkf
* make workaround_optparse_bug9161 private * add comments * avoid leaving test objects behind
2025-02-28[YouTube] Fix 91b1569dirkf
2025-02-28[YouTube] Fix channel playlist extraction (#33074)dirkf
* [YouTube] Extract playlist items from LOCKUP_VIEW_MODEL_... * resolves #33073 * thx seproDev (yt-dlp/yt-dlp#11615) Co-authored-by: sepro <sepro@sepr0.com>
2025-02-07[JSInterp] Fix bit-shift coercion for player 9c6dfc4adirkf
2025-02-07[compat] Make casefold privatedirkf
* if required, not supported: `from youtube_dl.casefold import _casefold as casefold`