| v1.16.4 | Kinocut 1.16.4 makes optional model execution and renderer telemetry explicit for agent hosts, including Hermes. The compatibility package `mcp-video==1.6.19` installs this runtime. - Product descriptions and semantic QC default to `KINOCUT_VISION_MODE=off`, even when credentials are inherited. For provider-neutral observations, prepare local images with Kinocut and inspect them through the host's configured image model. - The optional legacy product adapter requires explicit local or remote co | High | 10/24/2026 |
| v1.16.2 | Republishes the MCP Registry entry as the local `uvx kinocut` package; frame-exact `create-from-images` (#616). Release notes: docs/status/2026-10-21-1.16.2-release-notes.md | High | 10/21/2026 |
| v1.16.1 | - Agents keep the same 203 MCP tools and 177 CLI commands, with original audio packets and timing preserved through shader and upscale processing. - Media publication is safer: bounded MP4 faststart relocation, owned C2PA/model-cache staging, fail-closed probes and improved macOS process observations. - Compatibility remains supported: `mcp-video==1.6.16` pins `kinocut==1.16.1`; Python imports and legacy CLI names remain available. Verification: 8,973 implementation tests passed (193 skipped); | High | 10/6/2026 |
| v1.16.0 | 1. Agents gain consistent local Python, CLI and MCP controls for audio mixing, conversion/normalization, HLS, 360 review and source-bound motion receipts with matching envelopes and bounded report, disposition and watched-interval file inputs. Version 1.16.0 exposes 203 MCP tools and 177 CLI commands; browser/mobile processing remains planned. 2. Durable jobs enforce frozen quality policy and persist pending/failed release receipts while retaining render hashes and resume evidence; publication f | High | 10/3/2026 |
| v1.15.1 | Maintenance release: ships the mcp-video compatibility shim 1.6.12 (carries the registry ownership marker) and republishes the legacy io.github.KyaniteLabs/mcp-video registry entry so directory listings (Glama, PulseMCP) point at living metadata. No behavior changes to the kinocut CLI. Also rides in this release: the object-matte streaming decode port with scratch caps ([#414](https://github.com/KyaniteLabs/kinocut/pull/414)) and docs tips (#415, #416). CHANGELOG section added 2026-08-31 (init | High | 8/31/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | High | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Medium | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Medium | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Medium | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Medium | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Medium | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.15.0 | ## 1.15.0 - 2026-08-19 ### Added - **doctor `mcp-server-import` check:** `kino doctor` now imports the MCP server tool tree as a required core check, so it can no longer report OK while `kino --mcp` cannot start (#449, surfaced by #445). ### Changed - **Honest MCP startup failures:** `kino --mcp` keeps the "requires the 'mcp' package" hint only when the `mcp` distribution is genuinely absent; any other server-tree import failure now prints its real cause â filesystem paths redacted, markup-saf | Low | 8/19/2026 |
| v1.13.1 | ## Patch Release ### Fixed - **`add-audio --mix` amix normalization (issue #289):** `amix=inputs=2` applied FFmpeg's default `normalize=1`, scaling each input by 1/n (â6 dB for two tracks). Added `normalize=0` so both tracks sum at unity. Verified: base â21.1 dB â mixed â18.1 dB. - **GitHub Actions SHA bumps:** Ported Dependabot updates for `actions/checkout` (v7.0.1), `actions/setup-python` (v7.0.0), `actions/setup-node` (SHA bump), and `pypa/gh-action-pypi-publish` (SHA bump). ### Changed - | High | 8/7/2026 |
| v1.11.1 | ## Kinocut 1.11.1 Thin `kinocut_sound` S12 public join and post-theme harden. Published surface: **161 MCP tools / 140 CLI commands**. ### What agents can do now - Discover and invoke a bounded local-first sound set via MCP, CLI, and Python client: `sound_capabilities`, `sound_plan_validate`, `sound_voice_batch`, `sound_mix_render`, `sound_qa_loudness`, `sound_qa_asr` (CLI: `sound-*` / `kino sound <action>`). ### What got safer - Stream-shorts package fails closed when draft bytes diverge fro | Medium | 7/24/2026 |
| v1.10.0 | ## Kinocut 1.10.0 Saved-plan stream-to-shorts stages across MCP, CLI, and Python client. Published surface: **155 MCP tools / 134 CLI commands**. ### Added - `shorts_plan_show` / `shorts-plan-show`, `shorts_review` / `shorts-review`, `shorts_render` / `shorts-render`, `shorts_package` / `shorts-package` â load a persisted plan, append fail-closed human review, render platform drafts only after approve, package local manifests without network posting. - Operator guide: `docs/STREAM_SHORTS.md`. | High | 7/24/2026 |
| v1.7.0 | Kinocut is the new canonical identity for MCP Video: the same trusted local video execution layer, now with stable `kinocut`/`kino` entry points and a compatibility-preserving upgrade path. ### Added - Kinocut is now the canonical Python distribution and import package, with `kino` and `kinocut` CLI commands alongside the preserved `mcp-video` command. - The `kinocut` npm package provides a thin `uvx` launcher for the `kino` CLI, and the MCP Registry entry now publishes under the immutable `io | High | 7/10/2026 |
| v1.5.1 | Patch release for Glama/package-builder compatibility. Fixed: - Removed the unpublished meltysynth dependency from optional audio extras so uv, Glama, and package metadata validators can resolve mcp-video. - Updated doctor/runtime guidance for MeltySynth to avoid recommending a nonexistent PyPI package. - Updated repository readiness audit after the intentionally removed /explainer-video Dependabot path. - Added regression coverage so optional extras do not advertise unpublished dependencies. | High | 6/4/2026 |
| v1.4.1 | ## Highlights - Added preflight guardrails across high-risk video/audio edit paths: filters, merge, add-audio, overlay, watermark, chroma key, text animation, grid layout, and split screen. - Refreshed docs and metadata for the current 119-tool guardrailed surface. ## Fixes - Fixed base installs without optional NumPy extras so public audio facades and CLI/doctor imports stay available. - Added pure-Python fallback coverage for the newer DSP symbols and typed validation errors for invalid fal | High | 5/26/2026 |
| v1.4.0 | ## What's new in 1.4.0 ### New features - **Hyperframes 0.5 orchestration** â snapshots, inspection, metadata, catalog, website capture, local TTS, transcription, background removal, diagnostics, benchmarks, and richer render controls - **Video repurposing helpers** â dry-run manifests and platform-ready variants with thumbnails, storyboards, and optional release checkpoints - **Real color extraction** â `analyze_video(include_colors=True)` and `video_info_detailed` now return actual dominant c | High | 5/9/2026 |
| v1.3.1 | ## v1.3.1 â Security Fixes, Bug Fixes, Landing Page Redesign ### Security - **Command injection fix** â vectors file path validated as absolute in `engine_stabilize.py` - **SSL certificate verification** enabled for AI model downloads in `ai_engine/upscale.py` - **Path redaction** in error messages â no more full filesystem paths leaked ### Fixed - Proper AI operation timeout (3600s) for demucs/whisper â no more premature kills on long videos - FFmpeg stderr buffer increased from 1MB â 10MB â | High | 5/3/2026 |
| v1.3.0 | # Changelog All notable user-facing changes should be recorded here. This project follows a simple release-note style: - `Added` for new capabilities. - `Changed` for behavior changes. - `Fixed` for bug fixes. - `Security` for vulnerability fixes. ## 1.3.0 - 2026-04-28 ### Added - **Crop by percentage** â `crop()` now accepts `crop_percent` (e.g. `crop_percent=50` for a center 50% crop). Alternative to explicit `width` + `height`. - **Orientation-aware metadata** â `VideoInfo` now exposes | High | 4/28/2026 |
| v1.2.5 | Bug fixes from comprehensive 81-tool testing: - FFmpeg filter escaping fixes - design_quality serialization and output path fixes - Remotion template fixes (imports, braces, paths) - layout.py ffprobe parsing fix - Landing page redesign (no video) - docs: test results and SKOOL post | High | 4/23/2026 |
| v1.2.2 | ## Release v1.2.2 ### Security - Fixed TOCTOU race conditions and sanitized numeric values in FFmpeg filters (#134) - Added `_validate_output_path()` and rolled it out across all engines (#135) - Hardened AI engine resource guards for scene detection, spatial audio, stem separation, transcription, and upscaling (#136, #141, #142) - Hardened direct download paths with timeout and size limits (#142) - Fixed design quality security and SRT format safety issues (#131) ### Added - Client-side valid | High | 4/22/2026 |
| v1.2.1 | ## v1.2.1 This release aligns the published project version with the current package metadata and wraps the post-audit trust and maintainability work. ### Changed - Prepared the 1.2.1 package metadata and public badge. - Improved runtime error contracts and diagnostics. - Repaired repository trust rails for deploys, packages, tests, and AI extras. - Added GitHub community, governance, maintainer, support, and discovery metadata. - Added AI-agent discovery files including `llms.txt`, `robots.t | High | 4/19/2026 |
| v1.2.0 | ## Security Hardening (56 tasks) ### What changed - Centralized validation module (`validation.py`) with parameter validators and allowed-value constants - Shared FFmpeg helpers (`ffmpeg_helpers.py`) â deduplicated escape, validate, run utilities - FFmpeg filter injection prevention on all 82 tools â all numeric params sanitized before interpolation - Color validation hardened â whitelist CSS named colors + hex + 0xRRGGBB format - Null byte rejection on all input paths across all engines - Serv | Medium | 3/31/2026 |
| v1.1.5 | ## What's Changed ### CLI Improvements - **New `extract-frame` command** with `--time` flag for extracting frames at specific timestamps - **`edit` command now accepts inline JSON** â no need to create a separate file - **`export-frames` renamed flag** â `--format` â `--image-format` to avoid shadowing global `--format` - **Effect commands auto-generate output** â `effect-vignette`, `effect-glow`, `effect-noise`, `effect-scanlines`, `effect-chromatic-aberration` now auto-generate output paths w | Medium | 3/31/2026 |
| v1.1.4 | ## What's Changed Documentation refresh to accurately reflect the v1.1.3 codebase: - **README**: Updated test counts (690â825), tool counts (35â40), audio presets (16â18), fixed `overlay()`â`overlay_video()` method name, engine operations count - **CONTRIBUTING**: Complete rewrite â correct project structure (22 files), accurate test target (825), security testing guidance, proper `cd` path - **ROADMAP**: Updated version and test count references - **__init__.py**: Removed stale `# NEW:` comme | Medium | 3/31/2026 |
| v1.1.3 | ## v1.1.3 â Adversarial Audit Hardening Full adversarial red-team audit covering ~50 issues across 4 severity tiers. All CRITICAL, HIGH, and actionable MEDIUM fixes applied. ### Critical (C1âC7) - **C1**: Fixed `edit_timeline` crash on `t.type.value` â type is `Literal[str]`, not enum - **C2**: Fixed `audio-waveform` CLI passing unknown `output_path` kwarg to engine - **C3**: Fixed `thumbnail`/`extract-frame` CLI using wrong text formatter (showed N/A) - **C4**: Fixed silence boundary logic bu | Medium | 3/31/2026 |
| v1.1.2 | ## Bug Fixes ### Server (MCP tools) - **Critical**: Fixed 11 tools that crashed on non-MCPVideoError exceptions (AI features, transitions, quality checks, edit timeline) â now properly handled instead of calling `.to_dict()` on plain exceptions - Added input validation: opacity (0-1), fps (>0), scale_factor (2-16), frame_count (1-100), fade_in/fade_out (>=0) - Added batch operation whitelist validation (unknown operations now rejected early) - Exposed `rounded_corners` parameter in `video_layou | Medium | 3/31/2026 |
| v1.1.1 | ## v1.1.1 â Bug Fixes & Client Hardening ### Bug Fixes - **layout_pip**: Expose `rounded_corners` parameter instead of hardcoded `False` - **layout_grid**: Validate layout parameter (2x2, 3x1, 1x3, 2x3) - **layout_pip**: Validate position parameter (top-left, top-right, bottom-left, bottom-right) - **export**: Validate quality parameter (low, medium, high, ultra) - **convert**: Validate format and quality parameters ### Python Client Improvements - All method docstrings now document return sha | Medium | 3/31/2026 |
| v1.1.0 | ## CLI Parity â 82 Commands 35 new CLI commands bringing the CLI from 47 to 82, matching all MCP server tools. ### New Commands - **Effects:** effect-vignette, effect-glow, effect-noise, effect-scanlines, effect-chromatic-aberration - **Transitions:** transition-glitch, transition-morph, transition-pixelate - **AI:** video-ai-transcribe, video-ai-upscale, video-ai-stem-separation, video-ai-scene-detect, video-ai-color-grade, video-ai-remove-silence - **Audio Synthesis:** audio-synthesize, audi | Medium | 3/31/2026 |
| v1.0.0 | ## mcp-video v1.0.0 First stable release of the video editing MCP server for AI agents. ### Highlights - **82 MCP tools** for video editing, effects, transitions, audio processing, AI features, and more - **3 interfaces**: MCP server (AI agents), Python client, rich CLI - **690+ tests** passing with real media â no mocks - **Security audited**: adversarial red team audit with 11 vulnerability fixes (FFmpeg injection, path traversal, parameter bounds) - **AI-powered**: Whisper transcription, De | Medium | 3/30/2026 |
| v0.7.0 | ## What's New in v0.7.0 ### Image Analysis Tools Three new tools for analyzing images alongside video editing: - **`image_extract_colors`** â Extract dominant colors via K-means clustering (hex codes + percentages) - **`image_generate_palette`** â Generate color harmony palettes (complementary, analogous, triadic, split_complementary) - **`image_analyze_product`** â Extract colors + optional AI product description via Claude Vision ### Documentation - Added Image Analysis section to MCP Too | Medium | 3/27/2026 |
| v0.5.0 | # mcp-video v0.5.0 Release Notes ## đ What's New **11 new FFmpeg features** across 5 development waves, plus comprehensive testing and bug fixes. --- ## New MCP Tools (11) ### Wave 1: Enhanced Editing - **Ken Burns effect** - Smooth pan/zoom animation filter for dynamic video movement - **Two-pass encoding** - Higher quality at lower bitrates for efficient compression ### Wave 2: Audio Effects - **Audio reverb** - Add echo/reverb effect to audio tracks - **Audio compressor** - Dynamic ran | Medium | 3/23/2026 |
| v0.3.0 | ## What's New ### Real Media Processing Engine All tools now use actual FFmpeg operations via moviepy, replacing the previous stub implementation. ### 26 MCP Tools - **Core**: trim, merge, resize, convert, speed, fade, export, thumbnail, preview, storyboard, extract_audio, edit (timeline DSL) - **Effects**: add_text, add_audio, subtitles, watermark, crop, rotate, filter, blur, color_grade, normalize_audio - **Compositing**: overlay (PiP), split_screen - **Batch**: batch (apply operation to mul | Low | 3/21/2026 |