dependabot[bot]
e300c3d23a
Bump yt-dlp[default] from 2026.1.31 to 2026.2.4 ( #1432 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2026.1.31 to 2026.2.4.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2026.01.31...2026.02.04 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2026.2.4
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-04 14:32:42 -08:00
dependabot[bot]
d526545abb
Bump yt-dlp[default] from 2026.1.29 to 2026.1.31 ( #1430 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2026.1.29 to 2026.1.31.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2026.01.29...2026.01.31 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2026.1.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 20:27:33 -08:00
Jesse Bannon
ced547b14a
[FEATURE] Arg to shuffle subscriptions ( #1263 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1234
Adds `--shuffle` support which shuffles the order of subscriptions when downloading.
2026-02-02 10:23:08 -08:00
Jesse Bannon
c163f9766a
[BACKEND] Configurable resolution level when validating variables ( #1415 )
...
Expands variable validation to also include support for partial resolution.
In short, this will partially execute script code until it hits unresolved runtime variables, and store that as the new script representation. This functionality will allow for the upcoming `inspect` command, which will show users their script code in action without having to dry-run.
2026-02-02 09:50:52 -08:00
dependabot[bot]
6b7805c6e1
Bump yt-dlp[default] from 2025.12.8 to 2026.1.29 ( #1428 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2025.12.8 to 2026.1.29.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2025.12.08...2026.01.29 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2026.1.29
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-29 21:24:07 -08:00
Jesse Bannon
d6eda27371
[BACKEND] Less string casting behind the scenes ( #1425 )
...
Simplifies internal scripts by not casting things to String when unnecessary.
2026-01-27 10:15:32 -08:00
Jesse Bannon
d37945db7e
[HOTFIX] Fix StringFormattingException regarding keep_max_files ( #1427 )
...
Closes this issue from last release: https://github.com/jmbannon/ytdl-sub/issues/1426
2026-01-26 17:30:44 -08:00
Jesse Bannon
a097c6a476
[BACKEND][v2] More flexible formatter post_process ( #1424 )
...
Makes the underlying formatting process better handle native (non-string) types in a more flexible way. 2nd attempt since the last one got reverted due to breaking changes.
2026-01-25 22:35:51 -08:00
Jesse Bannon
97ecae79db
[DEV] More tests around passed-in ytdl-options ( #1423 )
2026-01-25 09:55:26 -08:00
Jesse Bannon
c1431c8d55
Revert "[BACKEND] More flexible formatter post_process ( #1421 )" ( #1422 )
...
This reverts commit 60cdbad8c7 .
Caused a breaking change to ytdl_options
2026-01-24 00:22:18 -08:00
Jesse Bannon
60cdbad8c7
[BACKEND] More flexible formatter post_process ( #1421 )
...
Makes the underlying formatting process better handle native (non-string) types in a more flexible way.
2026-01-23 16:36:17 -08:00
Jesse Bannon
264e458c1c
[BACKEND] Cache cycle checks ( #1420 )
...
Small speedup to make cycle validation faster.
2026-01-23 10:58:14 -08:00
Jesse Bannon
c4e112e8d5
[BUGFIX] Fix soundcloud not downloading tracks ( #1419 )
...
The /tracks URL is currently broken in yt-dlp. Now uses the input URL which will download the entire artists' page instead to get non-album tracks.
2026-01-23 09:23:34 -08:00
Jesse Bannon
97df4dac1d
[BACKEND] Preserve dict formatter value ( #1416 )
...
Do not modify the original definition of dict validators.
2026-01-16 13:51:33 -08:00
Jesse Bannon
942c983f60
[BACKEND] Sorted video tags ( #1417 )
...
For reproducibility in tests.
2026-01-16 13:42:22 -08:00
Jesse Bannon
530d2f7666
[BACKEND] Partial resolve support for Scripts ( #1410 )
...
Adds the mechanism to partially resolve an entire script (aka every underlying variable in ytdl-sub). This will be used in the upcoming `inspect` sub-command where it will dump a subscription's raw contents at multiple levels of resolution.
Potentially useful to optimize script execution as well.
2026-01-12 17:34:34 -08:00
Jesse Bannon
41a5bf60aa
[BACKEND] Remove cast and legacy_bracket_safety usage ( #1414 )
...
Removes unused casts and calls to the legacy_bracket_safety function.
2026-01-11 15:47:50 -08:00
dependabot[bot]
3a07d058aa
[DOCS] Update sphinx requirement from <9,>=7 to >=7,<10 ( #1411 )
...
Updates the requirements on [sphinx](https://github.com/sphinx-doc/sphinx ) to permit the latest version.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases )
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst )
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.0.0...v9.1.0 )
---
updated-dependencies:
- dependency-name: sphinx
dependency-version: 9.1.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 12:59:22 -08:00
Jesse Bannon
6b99c31e45
[BACKEND] Simplify script quote generation ( #1409 )
...
Internal script -> string generation used triple-quotes redundantly. Try to use them less to make it more human-readable.
2026-01-06 12:58:37 -08:00
Jesse Bannon
b2056bec5d
[BACKEND] Array support for URLs ( #1406 )
...
Allows for the `download` plugin to take in a script-based array of URLs. Prebuilt presets are now greatly reduced in size by constructing urls as an array versus 100+ separate URL variables.
Eventually, we can completely remove the limit of the number of URLs in a subscription.
2025-12-31 15:24:44 -08:00
Jesse Bannon
c46de048ca
[FEATURE] %range function ( #1405 )
...
Add `%range` function, equivalent to Python's `range`.
2025-12-31 09:06:08 -08:00
Jesse Bannon
869fc0b836
[BUGFIX] Fix custom function lambda cycle detection ( #1404 )
...
Cycles detection did not take into account custom functions' variable usage. This is now fixed.
2025-12-31 08:22:26 -08:00
Jesse Bannon
7ac525f875
[BUGFIX] Fix custom function lambda variable dependency issue, part 2 ( #1403 )
...
Part two of https://github.com/jmbannon/ytdl-sub/pull/1402 which actually completes the fix.
2025-12-30 23:46:07 -08:00
Jesse Bannon
d373935fff
[BUGFIX] Fix custom function lambda variable dependency issue ( #1402 )
...
There was a bug that did not properly check variable dependency when using lambda functions. It could still work depending on order of definitions. This fix should make it work no matter the order.
2025-12-30 19:53:15 -08:00
Jesse Bannon
1abe2a44f5
[BACKEND] Refactor validation, preparation for subscription dissect ( #1398 )
...
Completely rewrite how subscription validation is performed. Optimizes it quite a bit while also adding backend support for the upcoming `dissect` sub-command, where you can resolve any subscription into its 'raw' form for easier debugging when making scripting changes.
2025-12-30 17:03:59 -08:00
Jesse Bannon
344753cc63
[BACKEND] Optimize script resolution ( #1400 )
...
Speeds up scripting in the backend.
2025-12-29 17:38:34 -08:00
Jesse Bannon
0f96d8e24e
[BACKEND] Disallow override names conflicting with plugin names ( #1399 )
...
Disallow override variable names conflicting with plugin names.
May cause backward incompatible issues from `date_range` being an old override variable name for the `Only Recent` preset. Update this variable name to `only_recent_date_range` to resolve. More info in https://ytdl-sub.readthedocs.io/en/latest/deprecation_notices.html
2025-12-26 15:30:37 -08:00
dependabot[bot]
157a0b59c4
Bump yt-dlp[default] from 2025.11.12 to 2025.12.8 ( #1396 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2025.11.12 to 2025.12.8.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2025.11.12...2025.12.08 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2025.12.8
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 15:41:54 -08:00
Jesse Bannon
a5ae69550e
[BACKEND] Validate write permissions on working directory and output directory ( #1395 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1394
Should help debug user issues like https://github.com/jmbannon/ytdl-sub/issues/1148
Checks permissions on the following:
- working directory
- output directory
- cookiefile (if specified)
And will fail immediately with a verbose message.
2025-12-06 15:54:41 -08:00
Jesse Bannon
8d5d2be6a7
[FEATURE] TV Show Collection multi-url, s00 support ( #1391 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1251 , https://github.com/jmbannon/ytdl-sub/issues/1290
Required for https://github.com/jmbannon/ytdl-sub/issues/1383
Adds both s00 support and multi-url support per season, up to 11 URLs currently. This can and should be extended, but with a more principled approach instead of the current method: AI generating boiler-plate YAML 🙂
```
Plex TV Show Collection:
= Music:
"~Beyond the Guitar":
s00_name: "Specials"
s00_url:
- "https://www.youtube.com/watch?v=vXzguOdulAI "
- "https://www.youtube.com/watch?v=IGwYDvaGAz0 "
s01_name: "Videos"
s01_url:
- "https://www.youtube.com/c/BeyondTheGuitar "
- "https://www.youtube.com/@BeyondTheGuitarAcademy "
s02_name: "Covers"
s02_url: "https://www.youtube.com/playlist?list=PLE62gWlWZk5NWVAVuf0Lm9jdv_-_KXs0W "
```
2025-11-28 10:14:18 -08:00
Jesse Bannon
19f47cd914
[BACKEND] Optimize script interpreter ( #1390 )
...
Makes scripting runtime much faster.
2025-11-27 18:43:27 -08:00
Jesse Bannon
24e71ce733
[DOCKER] Make defaults script executable ( #1388 )
...
Fixes https://github.com/jmbannon/ytdl-sub/issues/1387 and some potential docker issues by not having this file ran on start.
2025-11-26 20:22:22 -08:00
Colin Davis
63753c5649
[RFC] Add preserve_mtime config ( #1382 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/386
Adds the ability to preserve mtime via Output Options. Usage:
```
output_options:
preserve_mtime: True
```
Thanks @e1ven for the contribution!
2025-11-17 22:42:13 -08:00
dependabot[bot]
08180c0412
Bump yt-dlp[default] from 2025.10.22 to 2025.11.12 ( #1381 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2025.10.22 to 2025.11.12.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2025.10.22...2025.11.12 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2025.11.12
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 16:37:17 -08:00
Maxim Borisov
a74c79d014
[DOCKER] Ensure correct cron log file permissions ( #1378 )
...
Co-authored-by: bedlamzd <vcs@bedlamzd.dev>
2025-11-09 09:51:57 -08:00
Colin Davis
2c33c3b49b
[DOCKER] Add curl-cffi and yt-dlp-ejs dependencies
...
Adds recommended deps from yt-dlp README
2025-11-07 17:01:48 -08:00
Snuffy2
e507e6ed46
[DOCKER] Disable pip break-system-packages ( #1373 )
...
Fixes `UPDATE_YT_DLP_ON_START` when set to 'nightly' as the pip command is missing --break-system-packages. Simplifies dockerfiles by setting this globally via pip config file.
Thanks @Snuffy2 for the contribution!
2025-11-06 21:08:10 -08:00
Jesse Bannon
ed55f3a3f7
[FEATURE] cli-to-sub argument to convert yt-dlp args to ytdl-sub ( #1376 )
...
Example usage:
```
$ ytdl-sub cli-to-sub -S vcodec:h264,res:480,acodec:m4a
ytdl_options:
format_sort:
- vcodec:h264
- res:480
- acodec:m4a
```
2025-11-06 21:05:18 -08:00
dependabot[bot]
c3ca3c6379
[DEV] Bump isort from 6.1.0 to 7.0.0 ( #1359 )
...
Bumps [isort](https://github.com/PyCQA/isort ) from 6.1.0 to 7.0.0.
- [Release notes](https://github.com/PyCQA/isort/releases )
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md )
- [Commits](https://github.com/PyCQA/isort/compare/6.1.0...7.0.0 )
---
updated-dependencies:
- dependency-name: isort
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 08:45:00 -07:00
dependabot[bot]
d3e978e517
[DEV] Bump pylint from 3.3.8 to 4.0.1 ( #1361 )
...
* Bump pylint from 3.3.8 to 4.0.1
Bumps [pylint](https://github.com/pylint-dev/pylint ) from 3.3.8 to 4.0.1.
- [Release notes](https://github.com/pylint-dev/pylint/releases )
- [Commits](https://github.com/pylint-dev/pylint/compare/v3.3.8...v4.0.1 )
---
updated-dependencies:
- dependency-name: pylint
dependency-version: 4.0.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* update fixes
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jesse Bannon <jbann1994@gmail.com>
2025-10-26 23:57:35 -07:00
dependabot[bot]
a5dd438398
Bump yt-dlp[default] from 2025.10.14 to 2025.10.22 ( #1366 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2025.10.14 to 2025.10.22.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2025.10.14...2025.10.22 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2025.10.22
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-23 01:28:34 -07:00
Jesse Bannon
7364aac00c
[BUGFIX] Embedded null byte ffmpeg fix ( #1363 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/710
Fixes the notorious embedded null byte error seen during FFMPEG metadata writes when handling special characters.
2025-10-16 08:01:37 -07:00
dependabot[bot]
1b2e34bad4
Bump yt-dlp[default] from 2025.9.26 to 2025.10.14 ( #1362 )
...
Bumps [yt-dlp[default]](https://github.com/yt-dlp/yt-dlp ) from 2025.9.26 to 2025.10.14.
- [Release notes](https://github.com/yt-dlp/yt-dlp/releases )
- [Changelog](https://github.com/yt-dlp/yt-dlp/blob/master/Changelog.md )
- [Commits](https://github.com/yt-dlp/yt-dlp/compare/2025.09.26...2025.10.14 )
---
updated-dependencies:
- dependency-name: yt-dlp[default]
dependency-version: 2025.10.14
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 13:39:24 -07:00
Jesse Bannon
863eae68a2
[FEATURE] New parameter for required subtitle languages, and fixes ( #1357 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1269
Adds the new paramter `languages_required`, which forces an entry to have this set of subtitle files, otherwise it will error.
In addition, better file checking has been added to ensure they exist before attempting to move.
2025-10-11 17:22:13 -07:00
Jesse Bannon
f62b47888f
[FEATURE] Ability to modify webpage_url ( #1356 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1353
Provides a way to modify webpage_url before actual entry downloads.
Use-case: remove `#__youtubedl_smuggle` parameter in the URL
2025-10-11 17:21:13 -07:00
dependabot[bot]
e6624ee329
[DEV] Bump isort from 6.0.1 to 6.1.0 ( #1351 )
...
Bumps [isort](https://github.com/PyCQA/isort ) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/PyCQA/isort/releases )
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md )
- [Commits](https://github.com/PyCQA/isort/compare/6.0.1...6.1.0 )
---
updated-dependencies:
- dependency-name: isort
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-01 21:26:30 -07:00
Jesse Bannon
2deafc9f2d
[DOCKER] Include Deno dependency, other fixes ( #1345 )
...
Closes
- Deno requirement: https://github.com/jmbannon/ytdl-sub/issues/1340
- yt-dlp announcement: https://github.com/yt-dlp/yt-dlp/issues/14404
- Docker cron log double-logging: https://github.com/jmbannon/ytdl-sub/issues/1202 (thanks @timetocode for https://github.com/jmbannon/ytdl-sub/pull/1330 !)
- Missing pip dependency when updating yt-dlp: https://github.com/jmbannon/ytdl-sub/issues/1346
2025-09-27 16:43:34 -07:00
Jesse Bannon
609bec8aaf
[DOCKER] Do not remove pip for headless image ( #1347 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1346
Keeps pip in the image to be able to update yt-dlp
2025-09-27 15:11:56 -07:00
Jesse Bannon
cc3a36e66a
[HOTFIX] Fix CRON_SCHEDULE env var
2025-09-27 14:58:29 -07:00
Jesse Bannon
4f8490d88c
[DOCKER] Env variable to update yt-dlp on start ( #1344 )
...
Closes https://github.com/jmbannon/ytdl-sub/issues/1154
For docker images, add the ability to set the variable `UPDATE_YT_DLP_ON_START`, which will update yt-dlp to the specified version if a new one exists.
Supports ``stable``, ``nightly``, ``master``.
2025-09-27 14:09:57 -07:00