mcp-video v1.3.0
·
250 commits
to master
since this release
Changelog
All notable user-facing changes should be recorded here.
This project follows a simple release-note style:
Addedfor new capabilities.Changedfor behavior changes.Fixedfor bug fixes.Securityfor vulnerability fixes.
1.3.0 - 2026-04-28
Added
- Crop by percentage —
crop()now acceptscrop_percent(e.g.crop_percent=50for a center 50% crop). Alternative to explicitwidth+height. - Orientation-aware metadata —
VideoInfonow exposesrotation,display_width,display_height, anddisplay_resolution. ffprobeside_data_listis parsed for rotation metadata. - Audio waveform text representation —
WaveformResult.textreturns an ASCII art waveform for agent-friendly display. - Frame-accurate seeking —
trim()gainsaccurate=Truefor output-seeking (slower, frame-perfect) vs the default fast input-seeking. - Pipeline output cleanup —
Client.pipeline()gainscleanup=Trueto auto-remove intermediate files after chaining. - Structured logging — New
--verbose/-vCLI flag enables DEBUG logging to stderr. - Template preview —
preview_template()returns operations list + estimated output before rendering a timeline template. - Custom font upload —
font_manager.pydownloads and caches Google Fonts by name for use in text overlays. - Usage analytics —
analytics.pysends an optional anonymous ping on server startup. Disable withMCP_VIDEO_ANALYTICS=0. - HLS/DASH streaming —
hls_segment()segments video into HTTP Live Streaming format with multi-quality variants. - Advanced codecs —
convert()now supportshevc(H.265),av1, andproresoutput formats. - Advanced masking — New
luma_key()(brightness-based masking) andshape_mask()(circle, rounded_rect, oval) tools. - Smarter GIF output — Quality-based fps scaling (10/12/15/20), Bayer dithering, and 128-color palette generation.
Changed
- Merge auto-normalize now handles fps mismatches, audio sample rate mismatches, and rotation-aware display dimensions during normalization.
- Remotion deprecation upgraded from
DeprecationWarningtoFutureWarningfor v1.3.0 timeline. - Public tool count updated from 90 to 93 unique MCP tools.
Fixed
convert()vsexport_video()docstrings clarified to distinguish format changes from quality-tuned delivery.
1.2.6 - 2026-04-27
Changed
- Bumped version to 1.2.6 (1.2.5 tag already existed).
1.2.5 - 2026-04-27
Added
- Hyperframes integration — 8 new MCP tools, Python client methods, and CLI commands for HTML-native video creation:
hyperframes_init— scaffold new projects (blank, warm-grain, swiss-grid templates)hyperframes_render— render compositions to MP4/WebM/MOVhyperframes_still— render single frames via snapshothyperframes_compositions— list compositions in a projecthyperframes_preview— launch live preview studiohyperframes_validate— validate project structure and run linthyperframes_add_block— install blocks from the Hyperframes cataloghyperframes_to_mcpvideo— render then post-process with mcp-video in one step
- Full test suite for Hyperframes engine: 54 unit + integration tests in
tests/test_hyperframes_engine.py. sample_hyperframes_projectpytest fixture.
Changed
- Remotion is deprecated. All Remotion MCP tools, client methods, and CLI commands now emit
DeprecationWarning. Remotion will be removed in a future major version. Migrate to Hyperframes (Apache 2.0) or Revideo (MIT). - Public tool count updated from 82 to 90 unique MCP tools.
mcp_video/client/remotion.py— all methods now warn on usage.
Fixed
hyperframes_engine.validate()no longer raisesHyperframesProjectErrorwhen no HTML entry point is found; it correctly reports the issue in the validation result.
1.2.4 - 2026-04-22
Added
Client.subtitles_styled()alias fortext_subtitles()to match MCP tool rename.- Runnable
workflow.pyfor02-podcast-clip(6 stages). - Runnable
workflow.pyfor03-explainer-video(7 stages, client-only, no raw FFmpeg).
Changed
- Documentation updated for
search_tools,workflows/, and ICM alignment. workflows/01-social-media-clip/workflow.pyfixed client arg names.
1.2.3 - 2026-04-22
Changed
- Consolidated duplicate tools: removed
video_blur,video_color_grade, andvideo_extract_frameas standalone tools. Functionality preserved throughvideo_filterandvideo_thumbnail. - Renamed
video_text_subtitlestovideo_subtitles_styledfor clearer naming. - Added
search_toolsmeta-tool for fast tool discovery by keyword. - Updated public tool count from 83 to 81 unique tools.
- Reorganized docs/TOOLS.md into 12 functional categories.
Fixed
- Image analysis tools (
image_extract_colors,image_generate_palette,image_analyze_product) now accept video input by auto-extracting a representative frame.
Added
- Added ICM-style
workflows/directory with 3 production-ready pipelines: social-media-clip, podcast-clip, and explainer-video. - Added
CLAUDE.mdandworkflows/CONTEXT.mdfor agent context routing.
1.2.2 - 2026-04-21
Added
- Added GitHub Discussions templates, CODEOWNERS, maintainer/governance docs, and Dependabot configuration.
- Added
llms.txt,robots.txt,sitemap.xml, andserver.jsonfor search, AI-agent discovery, and MCP Registry readiness. - Added
docs/AI_AGENT_DISCOVERY.mdand an adversarial remediation plan. - Added
_validate_output_path()and rolled it out across all engines for safer output directory handling. - Added client-side validation and return type annotations for improved API contract consistency.
- Added current edge-case audit document (
docs/CURRENT_EDGE_CASE_AUDIT_2026-04-21.md).
Changed
- Updated public tool count messaging from 82 to the current 83 MCP tools.
- Updated the landing page with crawl metadata and structured software/source metadata.
- Normalized root metadata links to the canonical repository URL.
- Replaced the grey social preview image with generated media artwork.
Security
- Fixed TOCTOU race conditions and sanitized numeric values in FFmpeg filters.
- Hardened AI engine resource guards for scene detection, spatial audio, stem separation, transcription, and upscaling.
- Hardened direct download paths with timeout and size limits.
- Closed top-priority audit validation gaps across engine boundaries.
- Fixed design quality security and SRT format safety issues.
Fixed
- Added startup validation to
remotion_engine.studio()to catch immediate process crashes.
1.2.1 - 2026-04-13
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.
Fixed
- Aligned
mcp_video.__version__with the package version inpyproject.toml. - Moved optional dependency metadata out of Ruff configuration.
- Centralized chroma-key color validation for safer FFmpeg filter construction.
1.2.0 - 2026-03-31
Added
- Published the 1.2.0 package release.
- Documented the broad MCP, CLI, Python client, FFmpeg, Remotion, image, audio, AI, and quality-guardrail surface.