v0.28.0
Added
-
--active-timelineexplicitly follows a validatedTimelines/project.jsonpointer on app builds without a verified storage fixture (#50). Invalid, deleted, symlinked or conflicting selected timelines are refused; normal defaults and write guards remain unchanged. Writes keep root and active IDs and preserve other timelines. -
compile --into <project>populates an existing empty project created in CapCut (#52). It preserves project identity, per-document app markers and unknown settings, stages content-correct media, and commits imported-media registration with timeline writes. Failed copies and commits clean up only newly owned assets; the shared store index is never rewritten.--check,--planand--dry-runvalidate both spec and destination without writing. Nested layouts require active selection. Desktop acceptance on these opt-in paths remains unverified. -
describe --compactemits a small command discovery index with names, summaries, usage, and write status.describe --command <name>returns complete contracts for selected commands; repeat the flag for several names. The full v2 command contract remains the default. Python client v0.1.3 forwards these options throughcapcut.describe(compact=True, command="compile").
Fixed
- Python client v0.1.3 parses quoted Windows
CAPCUT_CLIpaths without retaining surrounding quotes or losing backslashes. Escaped quotes, trailing backslashes, and empty arguments follow Windows argv quoting; malformed quotes fail before spawning a process. POSIX command quoting and shell-free execution remain unchanged. Python client regression tests now run on Linux, macOS, and Windows, including Python 3.9 and 3.14.
This coordinated release comprises npm capcut-cli@0.28.0, PyPI capcut==0.1.3, and the Wasm component attached here with its checksum, license, and third-party notices.
Validation: 1,134 CLI tests pass with one platform-specific skip, 19 Python tests pass, and all 13 CI jobs pass. Packed npm installation, real FFmpeg compilation into an app-created shell, Python wheel integration, and twine check pass.
The new opt-in CapCut paths still require a desktop open/save/close/reopen acceptance check; issues #50 and #52 remain open.
Merged in #139. All 13 checks pass on the tagged source: CI.