Skip to content

mcp-video v1.3.0

Choose a tag to compare

@simongonzalezdc simongonzalezdc released this 28 Apr 19:33
· 250 commits to master since this release
8a29b3c

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 percentagecrop() now accepts crop_percent (e.g. crop_percent=50 for a center 50% crop). Alternative to explicit width + height.
  • Orientation-aware metadataVideoInfo now exposes rotation, display_width, display_height, and display_resolution. ffprobe side_data_list is parsed for rotation metadata.
  • Audio waveform text representationWaveformResult.text returns an ASCII art waveform for agent-friendly display.
  • Frame-accurate seekingtrim() gains accurate=True for output-seeking (slower, frame-perfect) vs the default fast input-seeking.
  • Pipeline output cleanupClient.pipeline() gains cleanup=True to auto-remove intermediate files after chaining.
  • Structured logging — New --verbose / -v CLI flag enables DEBUG logging to stderr.
  • Template previewpreview_template() returns operations list + estimated output before rendering a timeline template.
  • Custom font uploadfont_manager.py downloads and caches Google Fonts by name for use in text overlays.
  • Usage analyticsanalytics.py sends an optional anonymous ping on server startup. Disable with MCP_VIDEO_ANALYTICS=0.
  • HLS/DASH streaminghls_segment() segments video into HTTP Live Streaming format with multi-quality variants.
  • Advanced codecsconvert() now supports hevc (H.265), av1, and prores output formats.
  • Advanced masking — New luma_key() (brightness-based masking) and shape_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 DeprecationWarning to FutureWarning for v1.3.0 timeline.
  • Public tool count updated from 90 to 93 unique MCP tools.

Fixed

  • convert() vs export_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/MOV
    • hyperframes_still — render single frames via snapshot
    • hyperframes_compositions — list compositions in a project
    • hyperframes_preview — launch live preview studio
    • hyperframes_validate — validate project structure and run lint
    • hyperframes_add_block — install blocks from the Hyperframes catalog
    • hyperframes_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_project pytest 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 raises HyperframesProjectError when 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 for text_subtitles() to match MCP tool rename.
  • Runnable workflow.py for 02-podcast-clip (6 stages).
  • Runnable workflow.py for 03-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.py fixed client arg names.

1.2.3 - 2026-04-22

Changed

  • Consolidated duplicate tools: removed video_blur, video_color_grade, and video_extract_frame as standalone tools. Functionality preserved through video_filter and video_thumbnail.
  • Renamed video_text_subtitles to video_subtitles_styled for clearer naming.
  • Added search_tools meta-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.md and workflows/CONTEXT.md for 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, and server.json for search, AI-agent discovery, and MCP Registry readiness.
  • Added docs/AI_AGENT_DISCOVERY.md and 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 in pyproject.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.