| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-11-26 | [YouTube] Bug-fix for `c1f5c3274a`HEADmaster | dirkf | |
| 2025-11-26 | [core] Re-work format_note display in format list with abbreviated codec name | dirkf | |
| 2025-11-21 | [YouTube] Revert forcing player JS by default | dirkf | |
| * still leaving the parameters in place thx bashonly for confirming this suggestion | |||
| 2025-11-21 | [utils] Support additional codecs and dynamic_range | dirkf | |
| 2025-11-21 | [YouTube] Fix playlist thumbnail extraction | dirkf | |
| Thx seproDev, yt-dlp/yt-dlp#11615 | |||
| 2025-11-21 | [YouTube] Improve detection of geo-restriction | dirkf | |
| 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 extraction | dirkf | |
| * align `_get_text()` with yt-dlp (thx, passim) at last | |||
| 2025-11-21 | [YouTube] Improve targeting of pre-roll wait | dirkf | |
| Experimental for now. Thx: yt-dlp/yt-dlp#14646 | |||
| 2025-11-21 | [YouTube] Re-work client selection | dirkf | |
| * 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 clients | dirkf | |
| FWIW: android-sdkless, tv_downgraded, web_creator Thx yt-dlp passim | |||
| 2025-11-21 | [YouTube] Use insertion-order-preserving dict for InnerTube client data | dirkf | |
| 2025-11-21 | [utils] Align `parse_duration()` behaviour with yt-dlp | dirkf | |
| * 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 helper | dirkf | |
| Thx: yt-dlp/yt-dlp#10653, etc | |||
| 2025-11-21 | [utils] Apply `partial_application` decorator to existing functions | dirkf | |
| Thx: yt-dlp/yt-dlp#10653 (etc) | |||
| 2025-11-21 | [utils] Add `partial_application` decorator function | dirkf | |
| 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 key | dirkf | |
| Thx yt-dlp/yt-dlp#10653 | |||
| 2025-11-21 | [test] Move dict_get() traversal test to its own class | dirkf | |
| 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() mocks | dirkf | |
| 2025-10-18 | [workflows/ci] Avoid installing wheel and setuptools with pip | dirkf | |
| Works around dependent wheel installation failure with Py 3.4 from 2025-10 | |||
| 2025-10-18 | [YouTube] Introduce `_extract_and_report_alerts()` per yt-dlp | dirkf | |
| Fixes #33196. Also removing previous `_extract_alerts()` method. | |||
| 2025-10-18 | [YouTube] Improve some traversals | dirkf | |
| Pending full alignment with yt-dlp ... | |||
| 2025-10-18 | [YouTube] Misc clean-ups from linter, etc | dirkf | |
| 2025-09-29 | [workflows/ci] Update to windows-2022 runner | dirkf | |
| FFS | |||
| 2025-09-29 | [core] Support explicit `--no-list-formats` option | dirkf | |
| 2025-09-29 | [YouTube] Support `LOCKUP_CONTENT_TYPE_VIDEO` in subscriptions feed extraction | dirkf | |
| From yt-dlp/yt-dlp#13665), thx bashonly | |||
| 2025-09-29 | [YouTube] Extract fallback title and description from initial data | dirkf | |
| Based on yt-dlp/yt-dlp#14078, thx bashonly | |||
| 2025-09-29 | [YouTube] Extract srt subtitles | dirkf | |
| From yt-dlp/yt-dlp#13411, thx gamer191 | |||
| 2025-09-29 | [YouTube] Fix subtitles extraction | dirkf | |
| From yt-dlp/yt-dlp#13659, thx bashonly | |||
| 2025-09-29 | [YouTube] Handle required preroll waiting period | dirkf | |
| * 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 key | dirkf | |
| 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 download | dirkf | |
| Fixes #33142, until default UAs work. | |||
| 2025-09-29 | [YouTube] Handle Web Safari formats | dirkf | |
| From yt-dlp/yt-dlp#14168, thx bashonly. | |||
| 2025-09-29 | [YouTube] Update player client details | dirkf | |
| 2025-09-29 | [YouTube] Miscellaneous clean-ups | dirkf | |
| 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.04 | dirkf | |
| * 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 error | dirkf | |
| * inspired by yt-dlp/yt-dlp#12750 | |||
| 2025-05-03 | [YouTube] Cache signature timestamp from player JS | dirkf | |
| * 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` function | dirkf | |
| 2025-04-08 | [JSInterp] Add tests and relevant functionality from yt-dlp | dirkf | |
| * 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 | |||
