Releases: CodingRookie98/FaceFusionCpp
v0.34.1
English
Added
- Testing: Added
video_encoder: "hevc_nvenc"configuration to multi-step E2E tests. - Documentation: Added comprehensive beginner explanations with default values and supported model lists for pipeline processors.
Changed
- CI/CD: Simplified GitHub Releases naming structure in workflows.
- Documentation: Consolidated branching strategy tracking (adopted standard Git Flow) and refined configuration/troubleshooting instructions.
Fixed
- Documentation: Resolved markdown linting warnings (spacing, indentation) across both English and translated user documents.
- Video Processing: Fixed an issue where output
video_encoderandvideo_qualityconfigurations were silently ignored by the video writer.
Removed
- Build System: Cleaned up redundant
cpack_allcustom target inCMakeLists.txt(natively handled by CPack). - Repository: Removed obsolete
.specifydirectory from Git tracking.
中文
新增
- 测试:在多步 E2E 测试配置中增加了
hevc_nvenc硬件视频编码器支持。 - 文档:在用户指南中新增了详细的新手说明、默认值以及各管线处理器所支持的模型列表。
变更
- CI/CD:简化了 GitHub Actions 中的 Release 版本命名格式。
- 文档:统一了分支策略记录(采用标准的 Git Flow 模式),并优化了配置与故障排除指南。
修复
- 文档:修复了中英文用户手册及配置指南中的 Markdown 语法警告(如间距和代码块缩进问题)。
- 视频处理:修复了输出配置中的
video_encoder(视频编码器)和video_quality(视频质量)参数被视频写入器忽略的问题。
移除
- 构建系统:移除了
CMakeLists.txt中冗余的cpack_all目标(已由原生 CPack 完全接管)。 - 代码库:清理了代码库,将废弃的
.specify目录移出 Git 版本控制。
Release v0.34.0
English
Added
- CI/CD Pipeline: Implemented full GitHub Actions infrastructure for automated builds, testing, and release drafting.
- E2E Testing Framework: Added comprehensive end-to-end testing suite with automated runners and video/image verification.
- CLI Enhancements: Introduced startup banners, system health checks (CUDA/cuDNN/TensorRT), and structured task configuration validation.
- Model Management: Implemented
ModelRepositorywith dynamic path resolution and lifecycle strategies. - Performance Monitoring: Added VRAM and memory usage monitoring during integration and E2E tests.
- Batch Processing: Supported batch image processing and optimized runner architecture for large-scale tasks.
- Audio Support: Implemented audio muxing for video processing.
Changed
- Architecture Migration: Completed migration of core modules to C++20 Modules for better isolation and build performance.
- Build System: Replaced legacy PowerShell scripts with a unified
build.pyPython script for cross-platform consistency. - Toolchain: Migrated to Clang 21 / LLD 21 and optimized CMake presets.
- Face Processing: Refactored
FaceAnalyserandFaceStore(added LRU cache and improved thread safety). - Dependency Management: Optimized vcpkg binary caching and improved dependency resolution for Linux/Windows.
- Documentation: Overhauled entire documentation suite, including developer guides, architecture maps, and user manuals.
Fixed
- Stability: Resolved TensorRT engine cache filesystem errors and teardown crashes.
- Platform Compatibility: Fixed numerous MSVC-specific build failures related to modules and headers.
- Pipeline Issues: Corrected frame dropping in producer loops and resolved progress bar flickering/wrapping.
- Resource Management: Fixed race conditions in
ModelRepositoryand improved resource cleanup order.
Removed
- Depleted legacy PowerShell/Bash build scripts.
- Removed obsolete
specs/and old planning documents. - Cleaned up redundant local GitHub actions in favor of composite actions.
中文
新增
- CI/CD 流水线:实现了完整的 GitHub Actions 基础设施,用于自动化构建、测试和发布草稿。
- E2E 测试框架:添加了端到端测试套件,包含自动化运行器及视频/图像验证功能。
- CLI 增强:引入了启动横幅、系统健康检查(CUDA/cuDNN/TensorRT)以及结构化的任务配置校验。
- 模型管理:实现了
ModelRepository,支持动态路径解析和生命周期管理策略。 - 性能监控:在集成测试和 E2E 测试中增加了显存(VRAM)和内存使用情况监控。
- 批处理支持:支持批量图像处理,并针对大规模任务优化了运行器架构。
- 音频支持:实现了视频处理中的音频混合功能。
变更
- 架构迁移:完成了核心模块向 C++20 Modules 的迁移,提升了代码隔离度和构建性能。
- 构建系统:使用统一的
build.pyPython 脚本替换了旧的 PowerShell 脚本,确保跨平台一致性。 - 工具链:迁移至 Clang 21 / LLD 21,并优化了 CMake 预设配置。
- 人脸处理:重构了
FaceAnalyser和FaceStore(增加了 LRU 缓存并提升了线程安全性)。 - 依赖管理:优化了 vcpkg 二进制缓存,并改进了 Linux/Windows 下的依赖解析。
- 文档体系:全面修订了文档库,包括开发指南、架构图和用户手册。
修复
- 稳定性:解决了 TensorRT 引擎缓存文件系统错误以及退出时的崩溃问题。
- 平台兼容性:修复了大量 MSVC 环境下与模块和头文件相关的构建失败问题。
- 流水线问题:修正了生产者循环中的掉帧问题,并解决了进度条闪烁或换行显示的问题。
- 资源管理:修复了
ModelRepository中的竞态条件,并改进了资源清理顺序。
v0.33.0
ENGLISH
-
Rewrite multi-threading logic, add thread pool, and reduce runtime CPU usage.
-
Update
builtin-baselineinvcpkg.json. -
Rename configuration item from
generaltopaths. -
Update code style.
中文
- 重写多线程代码逻辑,添加线程池,降低运行时CPU占用。
- 更新
vcpkg.json的builtin-baseline。 - 修改配置文件项
genral为paths。 - 更新代码风格。
Full Changelog: v0.32.1...v0.33.0
v0.32.1
ENGLISH
- Refactor parts of the code
- Update code style
- Rename some variables and functions
- Improve performance
- Reduce memory usage
- Fix some bugs
中文
- 重构部分代码
- 更新代码风格
- 重命名部分变量和函数
- 改进性能
- 减少内存占用
- 修复部分错误
Full Changelog: v0.32.0...v0.32.1
v0.32.0
ENGLISH
-
**Add
face_occluder_model:xseg_1,xseg_2** Add support forface_occluder_modelwith optionsxseg_1andxseg_2`. -
**Add
face_parser_model:bisenet_resnet_18,bisenet_resnet_34** Add support forface_parser_modelwith optionsbisenet_resnet_18andbisenet_resnet_34`. -
**Remove fields
face_occluderandface_parserfrommodelsInfo.json** Remove the deprecated fieldsface_occluderandface_parserfrom themodelsInfo.json` file. -
Refactor parts of the code
Refactor portions of the codebase to improve structure, readability, and maintainability. -
Update
.clang-formatfile
Update the.clang-formatfile to align with the latest code style guidelines. -
Partial code style changes
Apply partial code style changes to ensure consistency across the codebase.
中文
- 添加face_occluder_model:
xseg_1、xseg_2 - 添加face_parser_model:
bisenet_resnet_18、bisenet_resnet_34 - 删除文件modelsInfo.json里的字段
face_occluder和face_paseer' - 重构部分代码
- 更新.clang-format文件
- 部分代码风格变化
Full Changelog: v0.31.2...v0.32.0
v0.31.2
ENGLISH
-
Remove OpenCV's CUDA Features
Remove OpenCV's CUDA features since the GPU-accelerated image processing code has not been implemented yet. -
Remove Redundant Code and Comments
Clean up the codebase by removing redundant code and outdated comments to improve readability and maintainability. -
Update or Fix Supported Size Range for Face Detector
Update or fix the supported size range for the face detector to enhance its flexibility and compatibility. -
Partial Code Optimization
Optimize portions of the code to improve performance and maintainability. -
Update .clang-format File
Update the .clang-format file to switch the code style base from LLVM to Google, along with other relevant options. -
Update CMake Files for Build Configuration
Update CMake files to better support build configurations and dependencies. -
Use 7Z for Packaging Releases to Reduce Package Size
Note: This version does not provide a Linux package for now.
中文
-
移除 OpenCV 的 CUDA 特性
由于当前尚未实现利用 GPU 加速图像处理的代码,因此移除 OpenCV 的 CUDA 相关特性。 -
删除冗余代码及注释
清理代码库,删除部分冗余代码和过时的注释,以提高代码的可读性和维护性。 -
更新或修复人脸检测器(face detector)支持的尺寸范围
-
部分代码优化
-
更新.clang-format文件
将代码风格基础由llvm转向google以及其他的一些选项更新 -
更新与构建相关文件的cmake文件
-
使用7Z打包发布,降低包大小
注意: 这个版本暂时不提供Linux平台包。
Full Changelog: v0.31.1...v0.31.2
v0.31.1
ENGLISH
- remove custom triplets for vcpkg.
- Delete unnecessary files.
- rename project name from faceFusionCpp to FaceFusionCpp.
- Add and modify some output information.
- Fixed wrong model download link.
Note: This version does not provide a Linux package for now.
中文
- 移除自定义三元组
- 删除上个版本因git操作错误而留下的多余文件
- 更名项目名称为FaceFafusionCpp
- 添加更多的输出信息
- 解决模型下载链接错误的问题
注意: 这个版本暂时不提供Linux平台包。
Full Changelog: v0.31.0...v0.31.1
v0.31.0
ENGLISH
- Reduce disk usage during program runtime.
- Change the temporary directory from
./tempto系统默认/FaceFusionCpp. - Add support for more language paths.
- Fix the issue of garbled Chinese characters on Windows platforms.
- Optimize some parts of the code.
- Improve some performance aspects.
- Fix bugs.
Note: This version does not provide a Linux package for now.
中文
- 减少程序在运行中的磁盘占用。
- 更改临时目录由
./temp到系统默认/FaceFusionCpp - 添加更多语言路径的支持
- 修复中文字符在windows平台输出乱码的问题
- 部分代码优化
- 优化些许性能
- 修复bug
注意: 这个版本暂时不提供Linux平台包。
v0.3.1
ENGLISH
- Refactored using C++20 modules.
- Optimized performance.
- Added support for OpenCV [CUDA].
- Various bug fixes.
Note: This version does not provide a Linux package for now.
中文
- 使用c++ 20模块重构
- 优化性能
- 添加opencv[CUDA]支持
- 一些bug修复
注意 这个版本暂时不提供Linux平台包。
v0.3.0
v0.3.0
English
-
Refactored the code to optimize performance in certain areas.
-
Added image and video super-resolution functionality.
-
Introduced an expression restoration feature.
-
Temporarily limited face-swapping functionality to models of the
inswappertype. -
Implemented a memory strategy specifically for inference.
-
Enhanced face detection by automatically rotating images without detected faces for a second attempt, increasing success rates.
-
Rewrote multi-threaded code logic to reduce runtime memory usage.
-
Added build support for the Linux platform.
中文
- 重构代码,优化部分代码性能。
- 新增图片和视频超分辨率功能。
- 新增expression restore功能
- 对于换脸功能暂时只用inswapper一类的模型。
- 增加针对于推理时的内存策略。
- 对于没有检测到脸部的图片会自动旋转图片再次检测,增加成功率。
- 重写多线程代码逻辑,降低运行时内存。
- 添加linux平台构建代码。