Releases: jdwit/ytstudio-cli
Releases · jdwit/ytstudio-cli
v0.4.0
Highlights
ytstudio playlistscommand (#25): list/show/create/update/delete playlists, inspect items, add videos by ID or channel search, remove by item or video ID, and reorder playlists by views, likes, publish date, or title. Playlist writes are dry-run by default and require--execute.- Analytics growth deltas (#31, #35):
analytics overviewnow compares the selected window with the previous equal-length period by default, with--no-compareto disable. - Comment replies (#30, #33):
ytstudio comments reply <comment-id> -t "..."posts a reply to a top-level comment. - Agent skill (#36): ships a harness-agnostic
skills/ytstudio/SKILL.mdplus generated command reference so skill-aware agents can operate the CLI safely.
Compatibility
No breaking changes.
v0.3.1
Highlights
- OAuth scope:
yt-analytics-monetary.readonly(#21, thanks @maxhuk). Revenue metrics likeestimatedRevenue,grossRevenue,cpm,adImpressionsnow work inanalytics query. Without this scope they failed with401 Insufficient permission. Existing users must re-runytstudio loginto re-consent; if oauthlib complains about scope changes,OAUTHLIB_RELAX_TOKEN_SCOPE=1 ytstudio loginresolves it. ytstudio videos categories(#22). List the YouTube video categories assignable to uploads for a region (defaultUS) so you can pick the rightcategory_idfor your sidecar without grepping unofficial tables. Supports--region NL,-o json.- Mermaid diagrams in docs (#20). The docs site at https://jdwit.github.io/ytstudio-cli/ now renders mermaid blocks via
pymdownx.superfences.
Breaking changes
- Upload sidecar
category_idis now required (part of #22). The previous default of"22"(People & Blogs) was our own pick, not a YouTube default; hiding it behind a default made it easy to bulk-upload into the wrong category by accident. Sidecars withoutcategory_idnow fail validation upfront. Add the field; useytstudio videos categoriesto look up the right ID.
v0.3.0
Highlights
ytstudio videos upload(#15): bulk-upload videos from a directory of YAML sidecars. Validates the lot up front, runs dry-run by default (--executeto actually upload),--max Ncaps a run, and each successful upload patches its sidecar withvideo_id+uploaded_atso partial runs (network drop, quota hit) are safe to resume. Stops cleanly onquotaExceededand exits non-zero.ytstudio videos list --scheduled: filter to private videos with a futurepublishAt.- Documentation site (#14, #17, #18) at https://jdwit.github.io/ytstudio-cli/. Material for MkDocs with an auto-generated command reference and YouTube-coloured theme.
Breaking changes
- Demo mode removed (#16).
YTSTUDIO_DEMO=1no longer does anything; every command now talks to the real YouTube API. The bundled fixtures and theytstudio.demomodule are gone.
v0.2.0
Highlights
- Multi-channel profile support (#10):
ytstudio profile add/use/list/status/remove, per-profile credential storage, env-var override (YTSTUDIO_PROFILE=name), and automatic one-shot migration from single-channel installs. State writes are atomic and serialized under an fcntl lock. ytstudio livestreamscommand (#12):list,show,schedule,start,stop,updateagainst the YouTubeliveBroadcastsAPI;show --ingestsurfaces the bound stream's RTMP/RTMPS URLs (key redacted unless--show-key); demo-mode support viaYTSTUDIO_DEMO=1.ytsshort CLI alias (#11) for the same entry point asytstudio.
Compatibility
No breaking changes. Pre-profiles installs are migrated to the default profile automatically.