Skip to content

Releases: CodingRookie98/FaceFusionCpp

v0.34.1

23 Feb 11:53

Choose a tag to compare

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_encoder and video_quality configurations were silently ignored by the video writer.

Removed

  • Build System: Cleaned up redundant cpack_all custom target in CMakeLists.txt (natively handled by CPack).
  • Repository: Removed obsolete .specify directory 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

18 Feb 18:23

Choose a tag to compare

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 ModelRepository with 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.py Python script for cross-platform consistency.
  • Toolchain: Migrated to Clang 21 / LLD 21 and optimized CMake presets.
  • Face Processing: Refactored FaceAnalyser and FaceStore (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 ModelRepository and 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.py Python 脚本替换了旧的 PowerShell 脚本,确保跨平台一致性。
  • 工具链:迁移至 Clang 21 / LLD 21,并优化了 CMake 预设配置。
  • 人脸处理:重构了 FaceAnalyserFaceStore(增加了 LRU 缓存并提升了线程安全性)。
  • 依赖管理:优化了 vcpkg 二进制缓存,并改进了 Linux/Windows 下的依赖解析。
  • 文档体系:全面修订了文档库,包括开发指南、架构图和用户手册。

修复

  • 稳定性:解决了 TensorRT 引擎缓存文件系统错误以及退出时的崩溃问题。
  • 平台兼容性:修复了大量 MSVC 环境下与模块和头文件相关的构建失败问题。
  • 流水线问题:修正了生产者循环中的掉帧问题,并解决了进度条闪烁或换行显示的问题。
  • 资源管理:修复了 ModelRepository 中的竞态条件,并改进了资源清理顺序。

v0.33.0

28 Feb 11:14

Choose a tag to compare

Downloads

ENGLISH

  • Rewrite multi-threading logic, add thread pool, and reduce runtime CPU usage.

  • Update builtin-baseline in vcpkg.json.

  • Rename configuration item from general to paths.

  • Update code style.

中文

  • 重写多线程代码逻辑,添加线程池,降低运行时CPU占用。
  • 更新vcpkg.jsonbuiltin-baseline
  • 修改配置文件项genralpaths
  • 更新代码风格。

Full Changelog: v0.32.1...v0.33.0

v0.32.1

24 Feb 08:09

Choose a tag to compare

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

17 Feb 05:08

Choose a tag to compare

ENGLISH

  • **Add face_occluder_model: xseg_1, xseg_2**   Add support for face_occluder_modelwith optionsxseg_1andxseg_2`.

  • **Add face_parser_model: bisenet_resnet_18, bisenet_resnet_34**   Add support for face_parser_modelwith optionsbisenet_resnet_18andbisenet_resnet_34`.

  • **Remove fields face_occluder and face_parser from modelsInfo.json**   Remove the deprecated fields face_occluderandface_parserfrom themodelsInfo.json` file.

  • Refactor parts of the code
      Refactor portions of the codebase to improve structure, readability, and maintainability.

  • Update .clang-format file
      Update the .clang-format file 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_1xseg_2
  • 添加face_parser_model: bisenet_resnet_18bisenet_resnet_34
  • 删除文件modelsInfo.json里的字段face_occluderface_paseer'
  • 重构部分代码
  • 更新.clang-format文件
  • 部分代码风格变化

Full Changelog: v0.31.2...v0.32.0

v0.31.2

15 Feb 12:25

Choose a tag to compare

ENGLISH

  1. Remove OpenCV's CUDA Features
    Remove OpenCV's CUDA features since the GPU-accelerated image processing code has not been implemented yet.

  2. Remove Redundant Code and Comments
    Clean up the codebase by removing redundant code and outdated comments to improve readability and maintainability.

  3. 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.

  4. Partial Code Optimization
    Optimize portions of the code to improve performance and maintainability.

  5. Update .clang-format File
    Update the .clang-format file to switch the code style base from LLVM to Google, along with other relevant options.

  6. Update CMake Files for Build Configuration
    Update CMake files to better support build configurations and dependencies.

  7. Use 7Z for Packaging Releases to Reduce Package Size

Note: This version does not provide a Linux package for now.

中文

  1. 移除 OpenCV 的 CUDA 特性
    由于当前尚未实现利用 GPU 加速图像处理的代码,因此移除 OpenCV 的 CUDA 相关特性。

  2. 删除冗余代码及注释
    清理代码库,删除部分冗余代码和过时的注释,以提高代码的可读性和维护性。

  3. 更新或修复人脸检测器(face detector)支持的尺寸范围

  4. 部分代码优化

  5. 更新.clang-format文件
    将代码风格基础由llvm转向google以及其他的一些选项更新

  6. 更新与构建相关文件的cmake文件

  7. 使用7Z打包发布,降低包大小

注意: 这个版本暂时不提供Linux平台包。

Full Changelog: v0.31.1...v0.31.2

v0.31.1

08 Feb 10:00

Choose a tag to compare

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

07 Feb 06:20

Choose a tag to compare

ENGLISH

  • Reduce disk usage during program runtime.
  • Change the temporary directory from ./temp to 系统默认/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

31 Jan 08:45

Choose a tag to compare

ENGLISH

  1. Refactored using C++20 modules.
  2. Optimized performance.
  3. Added support for OpenCV [CUDA].
  4. Various bug fixes.

Note: This version does not provide a Linux package for now.

中文

  1. 使用c++ 20模块重构
  2. 优化性能
  3. 添加opencv[CUDA]支持
  4. 一些bug修复

注意 这个版本暂时不提供Linux平台包。

v0.3.0

12 Nov 10:16

Choose a tag to compare

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 inswapper type.

  • 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平台构建代码。