aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-26[YouTube] Bug-fix for `c1f5c3274a`HEADmasterdirkf
2025-11-26[core] Re-work format_note display in format list with abbreviated codec namedirkf
2025-11-21[YouTube] Revert forcing player JS by defaultdirkf
* still leaving the parameters in place thx bashonly for confirming this suggestion
2025-11-21[utils] Support additional codecs and dynamic_rangedirkf
2025-11-21[YouTube] Fix playlist thumbnail extractiondirkf
Thx seproDev, yt-dlp/yt-dlp#11615
2025-11-21[YouTube] Improve detection of geo-restrictiondirkf
Thx yt-dlp
2025-11-21[YouTube] Improve mark_watched()dirkf
Thx: Brett824, yt-dlp/yt-dlp#4146
2025-11-21[YouTube] Fix incorrect chapter extractiondirkf
* align `_get_text()` with yt-dlp (thx, passim) at last
2025-11-21[YouTube] Improve targeting of pre-roll waitdirkf
Experimental for now. Thx: yt-dlp/yt-dlp#14646
2025-11-21[YouTube] Re-work client selectiondirkf
* use `android_sdkless` by default * use `web_safari` (HLS only) if logged in * skip any non-HLS format with n-challenge
2025-11-21[YouTube] Add further InnerTube clientsdirkf
FWIW: android-sdkless, tv_downgraded, web_creator Thx yt-dlp passim
2025-11-21[YouTube] Use insertion-order-preserving dict for InnerTube client datadirkf
2025-11-21[utils] Align `parse_duration()` behaviour with yt-dlpdirkf
* handle comma-separated long-form durations * support : as millisecond separator.
2025-11-21[utils] Stabilise traversal results using `compat_dict`dirkf
In `traverse_obj()`, use `compat_dict` to construct dicts, ensuring insertion order sort, but`compat_builtin_dict` to test for dict-iness...
2025-11-21[compat] Add `compat_dict`dirkf
A dict that preserves insertion order and otherwise resembles the dict builtin (if it isn't it) rather than `collections.OrderedDict`. Also: * compat_builtins_dict: the built-in definition in case `compat_dict` was imported as `dict` * compat_dict_items: use instead of `dict.items` to get items from a `compat_dict` in insertion order, if you didn't define `dict` as `compat_dict`.
2025-11-21[compat] Add `compat_abc_ABC`dirkf
Base class for abstract classes
2025-11-21[compat] Add `compat_thread`dirkf
2025-11-21[utils] Add `subs_list_to_dict()` traversal helperdirkf
Thx: yt-dlp/yt-dlp#10653, etc
2025-11-21[utils] Apply `partial_application` decorator to existing functionsdirkf
Thx: yt-dlp/yt-dlp#10653 (etc)
2025-11-21[utils] Add `partial_application` decorator functiondirkf
Thx: yt-dlp/yt-dlp#10653
2025-11-21[core] Fix housekeeping for `available_at`dirkf
2025-11-21[utils] Support traversal helper functions `require`, `value`, `unpack`dirkf
Thx: yt-dlp/yt-dlp#10653
2025-11-21[utils] Support `filter` traversal keydirkf
Thx yt-dlp/yt-dlp#10653
2025-11-21[test] Move dict_get() traversal test to its own classdirkf
Matches yt-dlp/yt-dlp#9426
2025-11-21[test] Fix test_traversal_morsel for Py 3.14+dirkf
Thx: yt-dlp/yt-dlp#13471
2025-11-21[test] Support additional args and kwargs in report_warning() mocksdirkf
2025-10-18[workflows/ci] Avoid installing wheel and setuptools with pipdirkf
Works around dependent wheel installation failure with Py 3.4 from 2025-10
2025-10-18[YouTube] Introduce `_extract_and_report_alerts()` per yt-dlpdirkf
Fixes #33196. Also removing previous `_extract_alerts()` method.
2025-10-18[YouTube] Improve some traversalsdirkf
Pending full alignment with yt-dlp ...
2025-10-18[YouTube] Misc clean-ups from linter, etcdirkf
2025-09-29[workflows/ci] Update to windows-2022 runnerdirkf
FFS
2025-09-29[core] Support explicit `--no-list-formats` optiondirkf
2025-09-29[YouTube] Support `LOCKUP_CONTENT_TYPE_VIDEO` in subscriptions feed extractiondirkf
From yt-dlp/yt-dlp#13665), thx bashonly
2025-09-29[YouTube] Extract fallback title and description from initial datadirkf
Based on yt-dlp/yt-dlp#14078, thx bashonly
2025-09-29[YouTube] Extract srt subtitlesdirkf
From yt-dlp/yt-dlp#13411, thx gamer191
2025-09-29[YouTube] Fix subtitles extractiondirkf
From yt-dlp/yt-dlp#13659, thx bashonly
2025-09-29[YouTube] Handle required preroll waiting perioddirkf
* Based on yt-dlp/yt-dlp#14081, thx bashonly * Uses internal `youtube_preroll_sleep` param, default 6s
2025-09-29[downloader] Delay download according to `available_at` format keydirkf
2025-09-29[YouTube] Implement player JS override for player `0004de42`dirkf
* based on yt-dlp/yt-dlp#14398, thx seproDev * adds --youtube-player-js-variant option * adds --youtube-player-js-version option * sets defaults to main variant of player `0004de42` * fixes #33187, for now
2025-09-29[YouTube] Force `WEB` user agent for video page downloaddirkf
Fixes #33142, until default UAs work.
2025-09-29[YouTube] Handle Web Safari formatsdirkf
From yt-dlp/yt-dlp#14168, thx bashonly.
2025-09-29[YouTube] Update player client detailsdirkf
2025-09-29[YouTube] Miscellaneous clean-upsdirkf
2025-05-04[YouTube] Fix 680069a, excess `min_ver`dirkf
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