Releases: Agions/CutDeck
Releases · Agions/CutDeck
CutDeck v2.0.1 — Stable
CutDeck v2.0.1 — Stable Release
发布时间: 2026-04-25
版本: v2.0.1
状态: ✅ Stable
📦 安装包下载
macOS
| 架构 | 下载格式 |
|---|---|
| Apple Silicon (M1/M2/M3) | .zip · .app.tar.gz |
| Intel (x64) | .zip · .app.tar.gz |
Windows
Linux
✨ 更新内容
架构升级
- UI 框架迁移: Ant Design → shadcn/ui + Tailwind CSS,TypeScript 编译错误从 106 个清零至 0
- TypeScript 升级: 移除废弃的
baseUrl/paths,将 197 个文件的@/路径别名改为相对路径 - 测试重构: 重组测试结构,优化覆盖率统计
构建系统
- Tauri 构建优化: 添加 Rust release profile 优化,提升运行时性能
- CI/CD 完善: 修复 quality gate、coverage 检查、TypeScript/ESLint JSON 输出等多项 CI 问题
- 多平台构建: 完善 macOS (ARM64/x64)、Windows x64、Linux x64 多平台构建流程
代码质量
- 消除所有
as any类型警告(从多个减少到 0) - 修复 Code Review 发现的所有关键问题
- 为 Button、RadioGroup 等组件添加
displayName - 解决 shadcn/base-ui 组件测试兼容性问题
🔧 CI 修复记录(本次 Release)
| 平台 | 问题 | 修复 |
|---|---|---|
| TypeScript | TS 6.x baseUrl 废弃,ignoreDeprecations 无效 |
移除 baseUrl/paths,全部改相对路径 |
| Linux | 缺 GTK3 系统库导致 Tauri 构建失败 | 添加 libgtk-3-dev 依赖 |
| Windows | tauri script 路径在 bash 中无法运行 |
改为直接调用 tauri |
| macOS | tauri-action 缺少 releaseName 参数 |
添加 releaseName: "CutDeck v${{ github.ref_name }}" |
| 所有平台 | Artifact 路径含空格导致上传失败 | find -print0 | while read -d '' 处理 |
| 所有平台 | Asset 重复上传失败 | 添加 --clobber 标志覆盖 |
| macOS x64 | genisoimage 缺失导致 DMG 构建失败 |
移除 DMG target,.app.zip 已足够 |
| Linux ARM64 | x64 runner 无法交叉编译 ARM64 | 移除 ARM64 目标(无 x64 原生 runner) |
📋 完整变更日志
从 v2.0.0 到 v2.0.1,共 47 个 commits:
fix: add --clobber to gh release upload to overwrite existing assets
fix: remove dmg from Tauri bundle targets (dmg bundler fails on x64, .app zip is sufficient)
fix: handle spaces in artifact paths during upload
fix: remove Linux ARM64 cross-compile (unsupported on x64 runners)
fix: change tauri script from './node_modules/.bin/tauri' to 'tauri' for Windows compatibility
fix: add GTK3 deps for Linux Tauri build, fix release creation
fix: remove baseUrl/paths, convert @/ imports to relative paths
fix: TypeScript compilation errors - asChild, Select, Button types
fix: eliminate all as-any type warnings in source files
fix: resolve all TypeScript compilation errors (106→0)
perf: add Rust release profile optimization and fix release workflow packaging
refactor: restructure tests, fix coverage enforcement, optimize docs
feat: Phase 2 final - complete antd/icons cleanup, all migrated to shadcn/lucide
feat: Phase 2 - Complete antd cleanup, all components migrated to shadcn/ui
feat: add shadcn ui components (avatar, badge, card, popover, select, table)
feat: Phase 5 - Light theme tokens, ShortcutOverlay, version bump to v2.0.0
... 以及更多
CutDeck — 视频拆条工具,专为内容创作者设计
License: MIT
GitHub: https://github.com/Agions/CutDeck
CutDeck v1.9.7
Performance & architecture optimization release
Changes
- perf(build): chunkSizeWarningLimit 400→600
- fix: React Hooks rules compliance
- fix(types): TypeScript type refinements
- refactor: Zustand stores selector mode
v1.9.6
Full Changelog: v1.9.2...v1.9.6
v1.9.2 — Security + Async I/O + Module Split
v1.9.2 (2026-04-14)
🔒 Security
- P0: Remove devtools from release: Production builds no longer include Tauri DevTools API
- P0: Enable strict CSP policy: Content Security Policy now enforced (was null)
⚡ Performance — Async I/O
12 Tauri commands converted from sync to async (主线程不再阻塞):
check_ffmpeg, analyze_video, generate_thumbnail, extract_key_frames, check_app_data_directory, save_project_file, load_project_file, delete_project_file, list_project_files, list_app_data_files, delete_file, get_file_size
🏗️ Architecture — P2 Module Split
lib.rs 1314 lines → 10 lines (thin facade):
src-tauri/src/
├── lib.rs # facade (10 lines)
├── types.rs # all input/output structs
├── binary.rs # ffmpeg/ffprobe path resolution
├── utils.rs # tools (parse_fraction, etc.)
└── commands/
├── ffprobe.rs # check_ffmpeg, analyze_video
├── project.rs # 8 file management commands
├── ai.rs # thumbnail, keyframes, director, detect_*
└── render.rs # transcode_with_crop, render_autonomous_cut
v1.9.1
TypeScript Strict Mode Enabled\n\n59 strict mode errors fixed across 15 files.\n\n### Key Fixes\n- useVideo.ts: TaskStatusInfo type, Scene type\n- asr.service.ts: SpeechRecognition circular reference\n- clipRepurposing/pipeline.ts: StepOptions type compatibility\n- appStore/editorStore/projectStore: Zustand state typing\n- logger.ts: context parameter typed as unknown\n- AIAssistant.tsx, trackManager.ts, aiService.ts: array/object literal typing
v1.9.0
What's New
Core
- Rust highlight_detector.rs activated — FFmpeg scdet + audio energy analysis now drives clip scoring
- 6维 scoring wired to pipeline — audioEnergy weighting in laughter & emotion dimensions
- Timeline keyboard shortcuts real callbacks — Delete/I/O/⌘A/⌘Z/⇧⌘Z functional via editorStore
- SubtitleExtractor rebuilt — full video player + subtitle timeline + inline editing
P0 Fixes
- editorStore: inPointMs/outPointMs, setInPoint/setOutPoint/selectAllClips actions
- get_export_dir Tauri command (platform download dir)
- highlight_detector output deduplication in buildCandidates()
P1 Fixes
- clipScorer: audioEnergy weighting in scoreLaughter/scoreEmotion
- SEO hashtags: douyin 7→15, xiaohongshu 7→20
P2
- HighlightList recovered from _DEAD/ → integrated in AIAnalyze completion view
Docs
- architecture.md updated (deprecated workflow engine removed)
- features.md: highlight_detector marked ✅ ACTIVATED
- clip-repurpose.md: 6维 weights updated to match implementation
CutDeck v1.8.0
What's New in v1.8.0
Code Quality
- TypeScript 严格模式全面修复: 183 个 strictNullChecks 错误全部清零,跨 15+ 模块
- antd Tree-shaking: babel-plugin-import 按需引入,减少 bundle 体积
- Rust 代码质量: 消除 as any、死代码清理、Math.random 数据污染移除
Bug Fixes
- Timeline 虚拟化: scrollLeftRef 不触发重渲染问题修复
- transcode_with_crop: 16:9 格式支持 + 1:1 filter 语法修复
- SmartCut 静音检测: 接入 Rust,替换 Math.random() 模拟
Design Quality
- ThemeContext: OKLCH 色彩系统对齐
- ant-input 暗色模式: 修复白底黑字配色
- emoji/图标无障碍: aria-label 添加
Full Changelog: v1.7.0...v1.8.0
v1.7.0
Full Changelog: v1.6.5...v1.7.0
v1.6.5
Full Changelog: v1.3.0...v1.6.5
v1.6.4 — 文件结构优化
📁 文件结构优化
Hooks 重复定义合并
- (462行) + (347行) → 合并至
- 统一为单一 hooks 导出入口,消除三处分散定义
- 净减少 350 行重复代码
死代码清理
- 删除 (无任何引用)
- 删除 (无任何引用)
- 移除废弃的 hooks 导出