Skip to content

Releases: Hommy-master/capcut-mate

Release v8.0.8

27 Apr 01:52

Choose a tag to compare

Release v8.0.7

26 Apr 14:13

Choose a tag to compare

📦 改动说明

🎯 本次更新重点

  • ✅ 修复同一草稿内相同素材被重复下载的问题
  • ✅ 优化 draft_info.json 生成方式,避免重复构建
  • ✅ 保留兼容性:在特殊情况下自动回退原有逻辑

🔧 具体改动

  • ♻️ 将 URL 素材缓存从“单次 JSON 处理”提升为“整次草稿下载批次”共享
  • 📉 当多个文件引用同一远程素材 URL 时,仅下载一次并复用本地路径
  • 📄 对 draft_info.json 增加快捷路径:若同目录存在 draft_content.json,直接复制生成
  • 🛡️ 若 draft_content.json 不存在,draft_info.json 自动回退到原下载与构建流程

📈 预期收益

  • ⚡ 草稿下载耗时下降(减少重复网络请求)
  • 🌐 降低弱网环境下失败概率与等待时间
  • 💾 减少不必要的磁盘写入与网络带宽消耗
  • 🧩 下载日志更干净,行为更符合“同源内容复用”预期

🔍 已确认结论(下载稳定性)

  • 当前实现的“重试次数”为 5 次(总尝试最多 6 次)
  • 本次版本已解决“重复下载”主因,显著降低弱网下的体感卡顿概率

🙌 兼容性说明

  • 不改变草稿目录结构与输出结果格式
  • 不影响现有调用方式与历史草稿导入流程

Release v8.0.6

26 Apr 05:09

Choose a tag to compare

📝 改动说明

🎯 问题背景

  • 桌面端 UI 已新增“当前版本号”展示能力,但始终显示 v0.0.100。
  • 实际期望是显示应用真实版本(随发版更新)。

🔍 根因分析

  • 前端页面读取的是 desktop-client/web/package.json 的 version。
  • 该值在日常开发中是固定默认值,未与 Electron 应用真实版本强绑定。
  • 因此导致 UI 长期显示固定版本号,而非实际发版版本。

✅ 解决方案

  • 新增主进程 IPC 接口:get-app-version。
  • 在预加载脚本中暴露 getAppVersion 给渲染进程。
  • 在前端 Electron 服务层补充 getAppVersion 调用封装。
  • 在 App 启动后主动请求真实版本,并更新页脚显示。

🧩 具体改动

  • desktop-client/nodeapi/ipcHandlers.js
  • 新增版本查询 IPC,返回 app.getVersion()。
  • desktop-client/preload.js
  • 新增 getAppVersion 安全桥接方法。
  • desktop-client/web/src/services/electronService.js
  • 增加 getAppVersion,兼容 Electron/浏览器双环境。
  • desktop-client/web/src/App.jsx
  • 增加版本状态与初始化加载逻辑。
  • 页脚版本号改为展示动态获取结果。

🌟 改动收益

  • UI 版本号与实际应用版本保持一致,避免误导用户。
  • 版本展示链路更清晰,后续维护与扩展更稳定。
  • 在非 Electron 环境下具备回退逻辑,提升兼容性与健壮性。

🧪 验证结果

  • 相关改动文件已检查,无新增 linter 报错。

Release v8.0.5

26 Apr 03:55

Choose a tag to compare

更新图标。

Release v8.0.3

26 Apr 03:49

Choose a tag to compare

✨ 新增功能

  • 🎨 iframe 子页面支持通过 postMessage 动态注入主题配置,整应用实时换肤
  • 📏 iframe 高度支持通过子页面传递变量自适应控制
  • 🏷️ 底部新增版本号显示,方便用户识别当前客户端版本

🔧 功能优化

  • 🎯 主题变量更新策略调整为直接覆盖,消除切换时的样式闪烁
  • 🧹 简化 ExternalWebpage 组件初始化流程,外部功能页面切换至正式域名
  • ✍️ 修复文本输入框换行被意外清除的问题,支持多行草稿地址粘贴

🛡️ 安全与拦截

  • 🔗 iframe 内所有 http/https 外部链接强制使用系统默认浏览器打开
  • 🔒 Electron 主进程多层拦截兜底,非外部协议窗口正常保留

Release v8.0.2

25 Apr 11:46

Choose a tag to compare

✨ 新增功能

  • 🎨 子页面现在可以主动向父应用推送主题配置,整个 Electron 窗口的配色将随 iframe 内容一键焕新,无需重启应用即可体验不同视觉风格
  • 📏 iframe 高度彻底告别写死数值,子页面通过消息通道实时上报内容高度,父应用自动撑开容器,再也不用面对滚动条裁剪或大面积留白的尴尬
  • 🌈 主题配置全面升级,同时支持 primary 与 secondary 双色系,每种颜色都提供 hex 值与 rgb 值两种格式,无论是纯色填充还是透明渐变都能轻松拿捏
  • 🌐 外部功能页面正式接入生产环境域名,开发调试与正式使用无缝衔接

🔧 功能优化

  • 📝 核心样式文件全面迁移至 Less 预处理器,嵌套语法让选择器层级一目了然,为后续抽取公共变量和复用 Mixin 铺平道路
  • 🎯 主题变量更新机制改为智能覆盖模式,只刷新变更的配色项,保留其余样式状态,彻底消除主题切换时的画面闪烁与短暂空白
  • 🧹 精简 ExternalWebpage 组件启动流程,移除冗余的网络可达性预检,组件初次渲染更加轻快,页面打开响应更及时

🐛 修复内容

  • 🔄 修复动态换肤时旧主题变量残留导致的色块错乱问题,现在每一次换肤都是干净利落的完整替换

📦 依赖变更

  • ➕ 新增 less 开发依赖,Vite 原生解析无需额外配置

💡 使用提示

  • 子页面只需在合适的时机发送 config 类型消息,payload 中携带 themeConfig 配色对象与 height 高度数值,父应用便会自动完成全局样式注入与 iframe 尺寸适配。themeConfig 的键名请直接采用 CSS 变量规范格式,如 --primary-color。

Release v8.0.1

24 Apr 07:42

Choose a tag to compare

✨ 版本概览

  • 本次版本围绕「发布规范化」与「URL 素材可用性」完成端到端升级:
  • 后端支持 URL 直写草稿,下载侧自动本地化素材路径,桌面端与服务端下载体验保持一致。

🎬 媒体接口重构(add_videos / add_images / add_audios)

  • 移除下载依赖,素材地址直接使用用户传入 URL。
  • 草稿中 path 字段改为写入原始 URL。
  • 保留原有轨道与业务语义,降低行为变更风险。
  • 清理无效预处理与不必要线程切换,流程更轻量。

🧠 底层素材能力增强(pyJianYingDraft)

  • VideoMaterial / AudioMaterial 支持远程 URL。
  • URL 场景下跳过本地文件探测,规避 FileNotFoundError。
  • 支持通过入参显式传入时长/宽高等元数据。
  • 默认素材命名统一为 UUID,行为更稳定。

✅ 参数校验与接口一致性

  • URL 校验统一上移到 Schema 层(仅允许 HTTP/HTTPS)。
  • easy_create_material 同步对齐 URL 校验与调用流程。
  • 移除服务层重复校验逻辑,边界更清晰。

💻 desktop-client 下载能力升级

  • 下载草稿时新增 URL 素材本地化处理。
  • 当 path 为 URL:自动下载到本地 assets 并回写本地路径。
  • 支持音频/视频/图片目录分流与文件名安全处理。
  • 增加 URL 去重缓存,避免重复下载相同素材。

📥 服务端草稿下载器升级(draft_downloader)

  • 下载 JSON 后同步扫描 materials 的 URL path。
  • URL 素材自动下载到本地草稿目录并回写为本地路径。
  • 与 desktop-client 形成一致的“URL → 本地路径”闭环。

🔁 重试机制增强

  • 服务端草稿下载重试从 3 次提升到 5 次。
  • desktop-client 草稿下载重试从 3 次提升到 5 次。
  • 统一策略为:首次失败后重试 5 次,总尝试 6 次。

📌 版本价值

  • 发布产物更规范,Pro 镜像可直接用于稳定部署。
  • URL 素材链路真正打通,跨端下载与打开草稿更可靠。
  • 弱网/抖动场景容错能力提升,下载成功率更高。

Release v6.0.1

24 Apr 02:51

Choose a tag to compare

🚀 版本亮点

  • 聚焦 Pro 分支发布规范化,确保 Docker 镜像标签符合预期。
  • 服务端全面支持“素材 URL 直写草稿”,不再依赖下载落地。
  • 桌面端新增 URL 素材本地化处理,保障剪映本地可直接打开草稿。

🔧 服务端媒体链路重构(add_videos / add_images / add_audios)

  • 移除媒体下载流程,直接使用用户传入 URL。
  • 草稿 draft_content.json 的素材 path 字段改为写入原始 URL。
  • 去除预下载相关预处理逻辑,减少无效线程切换。
  • 保持原有轨道与业务处理语义,降低迁移风险。

🧠 底层素材能力增强(pyJianYingDraft)

  • VideoMaterial / AudioMaterial 支持远程 URL 路径。
  • URL 场景下跳过本地文件探测,规避 FileNotFoundError。
  • 支持通过入参显式传递时长/宽高等元数据。
  • 默认素材命名策略统一为 UUID,更稳定可控。

✅ 参数校验与接口一致性提升

  • URL 合法性校验统一上移至 Schema 层(HTTP/HTTPS)。
  • easy_create_material 同步对齐 URL 校验策略与流程。
  • 移除服务层重复校验,入口约束更清晰。

💻 desktop-client 关键升级

  • 下载草稿时新增 URL 素材本地化流程。
  • 当 path 为 URL:自动下载素材到本地 assets 目录并回写本地路径。
  • 支持音频/视频/图片分类落盘与文件名安全处理。
  • 内置 URL 去重缓存,避免重复下载同一素材。

🧪 质量与稳定性

  • 已补充并适配 URL 直写相关测试与流程验证。
  • 并发锁与主要接口链路按新逻辑完成回归。
  • 重点保障“线上可写 URL、桌面端可用本地草稿”的闭环体验。

📌 最终价值

  • 服务端更轻量:减少下载依赖与 IO 负担。
  • 客户端更可靠:草稿落地后可直接被本地剪映识别。
  • 发布更规范:Pro 镜像标签更符合生产使用习惯。

Release v6.0.0

23 Apr 12:44

Choose a tag to compare

🎯 本次发布概览

本版本聚焦两大方向:

  1. 优化 Pro 分支 CI/CD 镜像发布策略;
  2. 重构音视频图片素材链路,全面支持“URL 直写草稿,不落地下载”。

🔥 CI/CD(Pro)改进

  • 将 Pro 流水线镜像仓库固定为 gogoshine/capcut-mate-pro。
  • 调整镜像标签策略,确保存在 :latest。
  • 移除分支标签生成,避免产出不需要的 :pro 标签。
  • 保留必要的 tag/sha 标签能力,兼顾可追溯性与发布稳定性。

🧩 媒体处理核心重构(add_videos / add_images / add_audios)

  • 移除文件下载流程,素材地址直接使用用户传入的 HTTP/HTTPS URL。
  • 草稿 draft_content.json 中素材 path 字段改为写入原始 URL。
  • 保留原有业务语义与轨道处理逻辑,最小化行为变化范围。
  • 去除无效预处理与不必要线程切换,简化链路、降低复杂度。

🛠️ 底层能力增强(pyJianYingDraft)

  • VideoMaterial / AudioMaterial 增强远程 URL 处理能力。
  • URL 场景下跳过本地文件探测,避免 FileNotFoundError。
  • 支持通过入参显式传入时长/分辨率等元数据。
  • 默认素材名称统一为 UUID,减少路径推断带来的不确定性。

✅ 参数校验与接口一致性

  • URL 合法性校验上移至 Pydantic Schema 层(仅允许 HTTP/HTTPS)。
  • easy_create_material 同步对齐 URL 校验与素材创建逻辑。
  • 移除服务层重复校验与历史兼容分支,入口约束更清晰。

🧪 测试与质量保障

  • 新增/更新针对 URL 直写、Schema 校验、远程素材构造的单元测试。
  • 并发与锁相关测试按重构后的调用路径完成适配。
  • 关键回归目标:功能可用、路径正确、异常可控。

📌 发布价值

  • 更高的接口吞吐与稳定性(无下载依赖)。
  • 更清晰的输入边界(Schema 强校验)。
  • 更一致的 Pro 镜像发布产物(以 latest 为主)。

Release v8.0.0

23 Apr 12:46

Choose a tag to compare

主线分支打包,稳定包发布