跳转至

更新日志

本文档记录了 EasyKiConverter 每个版本的新增、修复和更改内容。

[3.0.14] - 2026-03-09

新增

  • 组件列表筛选功能
  • 新增组件列表筛选功能,支持按 ID 搜索和过滤
  • 优化元器件列表的验证状态管理
  • 添加批量获取预览图功能并优化获取时机

修复

  • UI 修复
  • 修复 QML 重复属性问题并统一日志行为
  • 修复元器件验证成功后缩略图延迟显示问题
  • 修复英文语言模式下的导出选项 UI 重叠问题
  • 修复窗口最小宽度计算问题
  • 优化元器件列表和日志系统

改进

  • 确认对话框交互
  • 为确认对话框添加滑块 UI 交互效果
  • 改进复制反馈提示的 UI 和交互体验
  • 为复制 ID 提示添加背景样式
  • 添加复制工具提示圆角效果

[3.0.13] - 2026-03-07

修复

  • 弱网络闪退修复
  • 修复弱网络环境下批量添加元器件闪退问题
  • 修复 NetworkUtils 中的竞态条件和内存泄漏问题
  • 修复 LcscImageService 网络请求计数器管理和组件完成状态检查

新增

  • 线程安全改进
  • 为 ComponentService 添加线程安全的互斥锁保护
  • 添加线程安全保护和改进网络请求管理
  • 实现异步队列管理机制以优化批量组件获取
  • 优化组件数据获取的并发处理机制

[3.0.12] - 2026-03-01

新增

  • MSIX 打包支持
  • 添加 MSIX 包构建支持
  • 优化 MSIX 打包流程并更新应用清单配置
  • 更改 Windows 打包工作流中的 MSIX 工具安装方式
  • 添加安装包构建时的图标和许可证文件验证

改进

  • 翻译管理
  • 升级翻译管理工具支持自动完成翻译
  • 更新英文翻译文件格式
  • 更新语言管理器以使用 ConfigService 进行持久化

修复

  • 构建系统
  • 修复 QXlsx 子目录添加路径配置
  • 修复 Flatpak 清单文件路径
  • 修正所有打包配置中的文件路径

[3.0.9] - 2026-02-20

新增

  • ** Flatpak 打包支持**
  • 添加 Flatpak 打包支持和验证工具
  • 添加中英文隐私政策文档
  • 添加版本发布信息和 MSIX 打包支持
  • 添加安装程序返回代码文档

修复

  • UI 修复
  • 修复 UI 缩放和分辨率问题
  • 修复导出选项 UI 重叠问题
  • 添加导出按钮区域文本的宽度限制和自动换行功能

改进

  • 多语言支持
  • 改进语言检测逻辑支持多语言映射
  • 为 metainfo 文件添加国际化语言支持
  • 更新英文翻译文件并添加新的 UI 组件翻译

[3.0.8] - 2026-03-09

新增

  • 命令行参数支持
  • 新增完整的命令行参数解析功能
  • 支持通过 --debug-d 参数启用调试模式
  • 支持 --log-level 参数设置日志级别
  • 支持 --log-file 参数指定日志文件路径
  • 支持 --config 参数指定配置文件路径
  • 支持 --language 参数设置界面语言
  • 支持 --theme 参数设置界面主题
  • 支持 --portable 参数启用便携模式
  • 支持 --help-h 参数显示帮助信息
  • 支持 --version-v 参数显示版本信息
  • 命令行参数优先于环境变量设置
  • 新增 CommandLineParser 工具类实现参数解析

  • 统一应用标识符为小写格式

  • 将所有平台的应用标识符从大写 EasyKiConverter 统一为小写 easykiconverter
  • 更新 AppStream 元数据、desktop 文件和图标名称
  • 统一所有打包格式(AppImage、DEB、RPM、Flatpak)的应用标识符
  • 提高跨平台兼容性和一致性

  • Linux 桌面图标修复脚本

  • 新增 tools/linux/fix-desktop-icon.sh 脚本
  • 用于修复用户级别桌面文件覆盖系统配置的问题
  • 确保正确的应用图标显示
  • 提供交互式修复流程,支持用户级别和系统级别缓存刷新

修复

  • 路径处理优化
  • 修复 Windows 下打开导出目录时打开到父目录而非目标目录的问题
  • 修复 Windows 系统路径多开头的斜杠问题,支持跨平台路径处理
  • 修复 Linux 环境下路径显示和相对路径处理问题
  • 修复相对路径导出时添加库名称目录的问题

  • 窗口和对话框优化

  • 优化退出对话框键盘导航和焦点管理
  • 修复 ESC 键无法调出关闭对话框的问题
  • 添加 ExitDialog 键盘导航功能
  • 修复按钮长按时滑块颜色和缩放问题

  • Linux 打包改进

  • 优化 DEB 包卸载后应用图标残留问题
  • 修复 DEB 包版本号必须以数字开头的问题
  • 统一 Linux 打包工作流中的桌面文件和图标命名为小写
  • 优化卸载流程,清理用户级别桌面文件

改进

  • 3D 模型处理
  • 优化 3D 模型偏移计算逻辑
  • 提升符号和封装导出的精度

  • 启动体验

  • 启动时自动聚焦到元器件ID输入框
  • 优化放大预览的暗色主题显示

  • 性能优化

  • 实现内存式数据手册和预览图下载,避免磁盘 I/O
  • 支持每个元件最多 3 张预览图

[3.0.7] - 2026-02-15

修复

  • 解决程序退出时的 SIGSEGV 崩溃
  • 重构了 main.cpp 中的对象生命周期管理。业务对象(ViewModels 和 Services)不再挂载到 app 节点,改为手动生命周期管理。
  • 实施了显式的“逆序销毁”机制:先销毁 UI 相关的 ViewModel,再销毁后端 Service,最后清理日志系统。
  • 移除了 ComponentListViewModel 析构函数中不稳定的 QThreadPool::waitForDone 调用。
  • 确保了所有后台线程(包括异步日志线程和模型生成线程)在 Qt 核心基础设施销毁前安全停止。
  • 修复了 QtLogAdapter 的卸载顺序,防止退出阶段的内部消息触发已关闭的日志系统。

改进

  • 架构透明度提升
  • 新增 ADR 008,明确了关键业务对象的显式生命周期管理策略。
  • 使用 QPointer 安全模式替代阻塞式线程等待,提升了系统的可靠性。

[3.0.5] - 2026-02-12

修复

  • MainWindow 模块化重构
  • MainWindow 的内联 UI 逻辑拆分为独立的高性能组件:TitleBar, HeaderSection, ComponentInputCard, BomImportCard, ComponentListCard, ExportSettingsCard, ExportProgressCard, ExportResultsCard, ExportStatisticsCard, ExportButtonsSection 等。
  • 通过组件解耦显著提升了 QML 代码的可维护性和渲染效率。
  • 代码位置: src/ui/qml/components/

  • 核心导入导出模块单一职责重构

  • 将臃肿的 EasyedaImporterExporter 类拆分为专用类。
  • 新增 EasyedaSymbolImporter(符号导入)、EasyedaFootprintImporter(封装导入)、EasyedaUtils(通用工具)。
  • 核心逻辑代码量减少,可测试性提升。
  • 代码位置: src/core/

  • BOM 解析库与服务重构

  • 新增 BomParser 模块,优化 BOM 文件导入流程。
  • 实现导出流水线取消机制与线程池配置优化,降低解析失败率。
  • 代码位置: src/services/

  • 弱网容错 P0-1: NetworkWorker 添加超时机制

  • 新增 executeRequest 通用网络请求方法,统一处理超时、重试和错误恢复
  • 所有 4 个 fetch 方法(组件信息、CAD数据、3D模型OBJ/MTL)均增加 QTimer 超时保护
  • 默认超时 30 秒(组件信息/CAD数据),3D 模型超时 45 秒
  • 消除了弱网环境下 QEventLoop::exec() 导致线程永久阻塞的风险
  • 代码位置: src/workers/NetworkWorker.h, src/workers/NetworkWorker.cpp

  • 弱网容错 P0-2: FetchWorker 超时后允许重试

  • 移除 retryCount = MAX_HTTP_RETRIES + 1 跳过逻辑
  • 超时(OperationCanceledError)现在会触发正常的重试流程
  • 弱网环境下超时是最常见的错误类型,此修复显著提高弱网下的成功率
  • 代码位置: src/workers/FetchWorker.cpp

  • 弱网容错 P0-3: FetchWorker 增加超时时间

  • 组件信息超时: 8s -> 15s
  • 3D 模型超时: 10s -> 30s
  • STEP 模型超时: 10s -> 30s(不再硬编码,统一使用 MODEL_3D_TIMEOUT_MS 常量)
  • 代码位置: src/workers/FetchWorker.h

  • 弱网容错 P1-4: 速率限制退避改为真正的指数退避

  • 退避策略从 +1000(线性)改为 *2(指数),初始 1s,上限 8s
  • 更有效地应对 API 速率限制
  • 代码位置: src/workers/FetchWorker.cpp

  • 弱网容错 P1-5: 递增重试延迟

  • 重试延迟从固定 500ms 改为递增延迟: 3s / 5s / 10s
  • 参考 NetworkUtils 的成熟策略,给服务端更充分的恢复时间
  • 代码位置: src/workers/FetchWorker.h, src/workers/FetchWorker.cpp

  • 弱网容错 P1-6: 重试延迟添加随机抖动(Jitter)

  • 新增 calculateRetryDelay 辅助方法
  • 在基础延迟上添加 +/-20% 的随机抖动,有效缓解惊群效应
  • FetchWorker 和 NetworkWorker 均采用带抖动的递增延迟策略
  • 代码位置: src/workers/FetchWorker.h, src/workers/FetchWorker.cpp

  • 弱网容错 P1-7: 修复 thread_local QNAM 内存泄漏

  • thread_local QNetworkAccessManager* 注册 QThread::finished 清理回调
  • 确保线程池线程回收时 QNAM 被正确 delete,而非永久泄漏
  • 代码位置: src/workers/FetchWorker.cpp

  • 3D 模型导出失败不再阻止符号/封装导出

  • writeSuccess 判定从"符号+封装+3D模型全部成功"改为"符号+封装核心输出成功"
  • 3D 模型导出失败仅记录警告,不影响符号和封装的正常导出和合并
  • 修复了 3D 模型下载失败导致已解析的符号和封装也不写入的问题
  • 代码位置: src/workers/WriteWorker.cpp

改进

  • NetworkWorker 代码重构
  • 提取 executeRequest 通用方法,消除四个 fetch 方法中的大量重复代码
  • 统一超时、重试、进度报告和错误处理逻辑
  • 代码行数从约 430 行减少至约 280 行,可维护性显著提升

  • 构建系统优化

  • 启用 compile_commands.json 生成,提供更好的 IDE/LSP(如 VS Code)智能提示支持。
  • 统一项目所有源文件编码为 UTF-8 (No BOM)。

  • 测试框架集成

  • 引入 QtTest 测试框架,支持单元测试、集成测试、基准测试和手动测试
  • 新增 tests/ 目录结构,包含单元测试(EasyEDA API、数据模型、ViewModels)、集成测试、基准测试和 UI 测试
  • 实现依赖注入模式,使用 INetworkAdapter 接口支持 Mock 网络请求
  • 新增覆盖率支持选项(GCC/MinGW),可通过 -DENABLE_COVERAGE=ON 启用
  • 代码位置:tests/, src/core/utils/INetworkAdapter.h, CMakeLists.txt

  • 开发工具扩展

  • 新增 tools/python/manage_version.py 版本管理工具,自动同步 vcpkg.json、CMakeLists.txt 和 src/main.cpp 中的版本信息
  • 新增 tools/python/analyze_lines.py 代码行数分析工具
  • 新增 tools/python/convert_to_utf8.py 文件编码转换工具
  • 新增 tools/python/fix_qml_translations.py QML 翻译修复工具
  • 完善 tools/README.mdtools/README_en.md 工具文档,添加详细的使用说明和环境要求
  • tools/windows/format_code.battools/python/manage_version.py 添加详细的头部注释和文档说明
  • 代码位置:tools/

  • 文档体系完善

  • 新增架构决策记录(ADR)系统,记录重要的架构决策
  • 新增测试指南文档(docs/developer/TESTING_GUIDE.md
  • 新增性能基准线文档(docs/developer/performance_baseline.md
  • 更新架构文档,添加系统架构图和工作流程图(Excalidraw 格式)
  • 代码位置:docs/project/adr/, docs/developer/, docs/diagrams/

[3.0.3] - 2026-02-08

新增

  • LCSC 预览图功能
  • 网络图片获取: 实现 fetchLcscPreviewImage 方法,支持从 LCSC 网站获取元件预览图
  • 重试机制: 添加网络请求重试机制,提高图片获取成功率
  • Fallback 爬虫模式: 当 API 不可用时,使用爬虫模式获取元件预览图片
  • 缩略图生成: 新增 ThumbnailGenerator 工具类,自动生成 Base64 缩略图
  • 数据模型扩展: 新增 ComponentListItemData 类,包含缩略图、验证状态等 UI 相关信息
  • 代码位置:src/services/ComponentService.cpp, src/models/ComponentListItemData.h/cpp, src/ui/utils/ThumbnailGenerator.h/cpp

  • 组件列表功能增强

  • ID 复制功能: 在 ComponentListItem 中添加右键点击复制组件 ID 到剪贴板
  • 复制提示: 显示复制成功的工具提示,提升用户体验
  • 代码位置:src/ui/qml/components/ComponentListItem.qml, src/ui/viewmodels/ComponentListViewModel.cpp

  • 响应式布局和窗口调整

  • 自适应网格布局: 组件列表从固定 5 列改为自适应网格布局,动态计算列数
  • 窗口边缘调整: 添加 8 个方向的拖拽调整手柄,支持窗口大小调整
  • 鼠标交互优化: 优化组件列表项的鼠标交互区域层级结构
  • 缩略图悬停预览: 改进缩略图悬停预览功能的显示逻辑和视觉效果
  • 代码位置:src/ui/qml/MainWindow.qml, src/ui/qml/components/ComponentListItem.qml

  • 预加载数据支持

  • 预加载数据功能: 在 ExportService_Pipeline 中添加 setPreloadedData 方法
  • 优化数据流: 改进进度跟踪机制,使数据流更加高效
  • 临时文件管理: 优化临时文件清理逻辑,确保符号文件正确处理
  • 符号库合并修复: 修复符号库合并时的临时文件管理问题
  • 代码位置:src/services/ExportService_Pipeline.cpp/h

重大变更

  • 组件列表模型重构
  • 迁移至 QAbstractListModel: 将 ComponentListViewModelQQmlListProperty 迁移至 QAbstractListModel
  • 性能提升: 提供更高效的 UI 更新机制
  • API 变更: QML 中组件列表访问方式变更,不再使用 componentList 属性,而是直接通过 model 绑定访问
  • 新方法: 添加 getAllComponentIds 方法优化导出流程
  • 代码位置:src/ui/viewmodels/ComponentListViewModel.cpp/h, src/ui/qml/MainWindow.qml

修复

  • 导出服务统计缺失问题修复
  • 完成状态统计修复: 在预加载数据使用场景下,添加状态到完成状态列表以供统计
  • 关键修复: 解决了预加载数据场景下统计数据不准确的问题,确保所有导出状态都被正确统计
  • 代码位置:src/services/ExportService_Pipeline.cpp:316

  • MainWindow 代码结构修复

  • 组件删除逻辑优化: 将组件删除逻辑从索引查找改为 ID 查找,简化删除操作流程
  • 条件判断修复: 修复数据为空时的条件判断逻辑,避免潜在的空指针异常
  • 过滤逻辑修正: 修正组件列表过滤的 ID 提取逻辑
  • 代码位置:src/ui/qml/MainWindow.qml

  • ExportProgressViewModel 构造参数修复

  • 依赖注入: 在 ExportProgressViewModel 构造函数中添加 componentListViewModel 参数
  • 正确初始化: 确保视图模型正确初始化依赖关系
  • 代码位置:main.cpp, src/ui/viewmodels/ExportProgressViewModel.cpp/h

重构

  • 组件列表视图模型简化
  • 枚举定义优化: 简化 ComponentListViewModel 中的枚举定义格式
  • 代码整洁性: 移除不必要的多行枚举定义格式,使代码更加紧凑和一致
  • 代码位置:src/ui/viewmodels/ComponentListViewModel.h:27

  • 代码格式优化

  • 日志格式统一: 整理 LanguageManager.cpp 中的调试日志输出格式
  • 可读性提升: 移除多余空行,统一调试信息的日志格式
  • 代码位置:src/core/LanguageManager.cpp

[3.0.2] - 2026-01-27

修复

  • 批量导出卡顿问题
  • 降低并发数: 将 FetchWorker 线程池的最大线程数从 32 降低至 5。这有效防止了因并发连接数过多导致的服务器端限流或拒绝服务,解决了批量导出时个别组件下载"卡死"的问题。
  • 增加重试机制: 为 FetchWorker 的网络请求添加了自动重试逻辑。
    • 策略:遇到网络错误或 HTTP 429/5xx 错误时自动重试。
    • 延迟:第1次重试等待3秒,第2次等待5秒,第3次及以后等待10秒。
    • 最大重试次数:3次。
  • 代码位置:src/services/ExportService_Pipeline.cpp, src/workers/FetchWorker.cpp

[3.0.1] - 2026-01-27

性能优化

网络性能大幅提升

  • 优化线程池配置
  • FetchWorker 线程池从 8 线程优化至 3 线程。
  • 测试结果表明:3线程配置在"单个导出不超过3秒"的要求下表现最优。
  • 性能提升:
    • 总耗时从 263.72秒(v3.0.0)降至 14.43秒(改进94.5%)
    • 吞吐量从 0.08组件/秒提升至 1.45组件/秒(改进1712%)
    • 平均抓取时间从 65.8秒降至 1.76秒(改进97.3%)
    • 超过3秒的组件从 21个降至 3个(改进85.7%)
  • 代码位置:src/services/ExportService_Pipeline.cpp:36

  • 降低超时时间

  • 组件信息超时:30秒 → 15秒
  • 3D模型超时:60秒 → 30秒
  • 超时请求不再重试,避免浪费时间
  • 代码位置:src/workers/FetchWorker.cpp

  • 实现速率限制检测机制

  • 检测 HTTP 429 响应并触发指数退避
  • 退避策略:每次增加1000ms,最大5000ms
  • 动态延迟新请求以避免触发服务器限流
  • 代码位置:src/workers/FetchWorker.h, src/workers/FetchWorker.cpp

  • 启用网络诊断功能

  • 记录每个网络请求的诊断信息(URL、状态码、错误信息、重试次数、延迟、是否限流)
  • 在统计报告中汇总网络诊断数据(总请求数、重试次数、平均延迟、速率限制命中次数、状态码分布)
  • 帮助快速定位性能瓶颈和网络问题
  • 代码位置:src/models/ComponentExportStatus.h, src/workers/FetchWorker.cpp, src/services/ExportService_Pipeline.cpp

导出流水线效率提升

  • WriteWorker 优化 (磁盘 I/O)
  • 移除了 WriteWorker 内部的局部 QThreadPool
  • 改为串行写入符号、封装和 3D 模型文件。
  • 消除了为每个组件创建和销毁线程池的高昂开销,避免了"过度并行"导致的性能下降。
  • 代码位置:src/workers/WriteWorker.cpp

  • FetchWorker 优化 (网络 I/O)

  • 实现了 QNetworkAccessManagerthread_local 缓存机制。
  • 确保线程池中的每个线程只创建一个 QNetworkAccessManager 实例并复用它。
  • 避免了为每个组件重复初始化网络栈的高昂成本(包括代理解析、DNS 缓存初始化等)。
  • 代码位置:src/workers/FetchWorker.cpp

构建系统修复

  • 解决循环依赖
  • 修复了 EasyKiConverterWorkersEasyKiConverterServices 之间的循环链接依赖。
  • 移除了 src/workers/CMakeLists.txt 中不必要的 EasyKiConverterServices 链接。

新增

  • 网络诊断报告
  • 导出统计报告新增 networkDiagnostics 字段
  • 包含详细的网络性能指标和诊断信息
  • 代码位置:src/services/ExportService_Pipeline.cpp

测试结果

  • 线程数对比测试
  • 3线程:14.43秒,3个组件超过3秒,推荐用于生产环境
  • 5线程:12.17秒,5个组件超过3秒,总耗时最短
  • 7线程:14.96秒,10个组件超过3秒,性能下降
  • 16线程:263.72秒,21个组件超过3秒,严重限流

  • 优化前后对比 | 指标 | 优化前(16线程) | 优化后(3线程) | 改进幅度 | |------|----------------|----------------|----------| | 总耗时 | 263.72秒 | 14.43秒 | [减少] 94.5% | | 吞吐量 | 0.08组件/秒 | 1.45组件/秒 | [增加] 1712% | | 平均抓取时间 | 65.8秒 | 1.76秒 | [减少] 97.3% | | 超过3秒组件 | 21个 | 3个 | [减少] 85.7% | | 超时请求 | 未知 | 0个 | [成功] 完全消除 |

[3.0.0] - 2026-01-18

性能优化

架构优化(P0 改进)

  • ProcessWorker 移除网络请求
  • 将 3D 模型下载从 ProcessWorker 移到 FetchWorker
  • ProcessWorker 现在是纯 CPU 密集型任务
  • CPU 利用率提升 50-80%

  • 使用 QSharedPointer 传递数据

  • ExportService_Pipeline 使用 QSharedPointer 队列
  • FetchWorker、ProcessWorker、WriteWorker 都使用 QSharedPointer
  • 避免了频繁的数据拷贝
  • 内存占用减少 50-70%,性能提升 20-30%

  • 调整 ProcessWorker 为纯 CPU 密集型

  • ProcessWorker 只包含解析和转换逻辑
  • 移除了所有网络 I/O 操作
  • 充分利用 CPU 核心
  • CPU 利用率提升 40-60%

性能优化(P1 改进)

  • 动态队列大小
  • 根据任务数量动态调整队列大小
  • 使用任务数的 1/4 作为队列大小(最小 100)
  • 避免队列满导致的阻塞
  • 吞吐量提升 15-25%

  • 并行写入文件

  • 使用 QThreadPool 并行写入单个组件的多个文件
  • 符号、封装、3D 模型同时写入
  • 充分利用磁盘并发能力
  • 写入阶段耗时减少 30-50%

整体性能提升

  • 总耗时减少 54%(240秒 → 110秒,100个组件)
  • 吞吐量提升 117%(0.42 → 0.91 组件/秒)
  • 内存占用减少 50%(400MB → 200MB)
  • CPU 利用率提升 50%(60% → 90%)

架构改进

  • 更清晰的职责分离
  • FetchWorker:I/O 密集型(网络请求)
  • ProcessWorker:CPU 密集型(数据解析和转换)
  • WriteWorker:磁盘 I/O 密集型(文件写入)

  • 更高效的线程利用

  • 避免线程阻塞在网络请求上
  • 充分利用多核 CPU 性能
  • 并行磁盘 I/O 操作

代码质量

  • 零拷贝数据传递
  • 使用 QSharedPointer 避免数据拷贝
  • 减少内存分配和释放开销

  • 更好的错误处理

  • 精确识别失败阶段
  • 详细的调试日志
  • 友好的错误提示

文档

  • 性能基准测试框架
  • 创建了流水线性能基准测试代码
  • 建立了性能指标记录机制
  • 提供了性能对比测试指南

核心功能

新增

核心功能 - 完整的符号转换功能(EasyEDA 到 KiCad) - 完整的封装生成功能(EasyEDA 到 KiCad) - 完整的 3D 模型支持(WRL、STEP、OBJ 格式) - 批量处理功能(支持多个元件同时转换) - 智能提取功能(从剪贴板文本中提取元件编号) - BOM 导入功能(CSV、Excel 格式)

性能优化 - 并行转换支持(多线程并行处理) - 两阶段导出策略(并行数据收集,串行数据导出) - 状态机模式(异步数据收集) - 网络请求优化(自动重试机制) - GZIP 解压缩支持 - 内存优化(智能指针管理)

用户界面 - 现代化 Qt Quick 界面 - 深色/浅色主题切换 - 卡片式布局系统 - 流畅动画效果 - 实时进度显示 - 响应式设计

高级功能 - 完整的图层映射系统(50+ 图层) - 多边形焊盘支持 - 椭圆弧计算(精确圆弧计算) - 文本层处理(类型 "N" 和镜像文本) - 覆盖文件功能 - 调试模式支持

架构 - MVVM 架构实现 - Service 层(ComponentService、ExportService、ConfigService) - ViewModel 层(ComponentListViewModel、ExportSettingsViewModel、ExportProgressViewModel、ThemeSettingsViewModel) - 状态机模式(ComponentDataCollector) - MainController 移除 - 多阶段流水线并行架构(ExportServicePipeline) - Fetch Stage:I/O 密集型,32 线程并发下载 - Process Stage:CPU 密集型,CPU 核心数线程并发处理 - Write Stage:磁盘 I/O 密集型,8 线程并发写入 - 线程安全的有界队列(BoundedThreadSafeQueue)用于阶段间通信 - 实时进度反馈(三阶段进度条:抓取 30%、处理 50%、写入 20%) - 详细失败诊断(精确识别失败阶段和原因) - 零拷贝解析优化(QByteArrayView) - HTTP/2 支持(网络请求多路复用)

测试 - 完整的测试框架 - 单元测试(8 个测试程序) - 集成测试框架 - 性能测试框架 - 流水线架构测试 - BoundedThreadSafeQueue 并发测试 - ExportServicePipeline 集成测试 - 多阶段并发测试

文档 - 完整的文档体系(14 个技术文档) - 用户手册 - 开发者文档 - 架构文档 - 构建指南 - 贡献指南 - ADR-002:流水线并行架构决策记录

修复

  • 修复封装解析 Type 判断错误
  • 修复 3D Model UUID 遗漏问题
  • 修复 Footprint BBox 不完整问题
  • 修复图层映射错误
  • 修复多边形焊盘处理缺失
  • 修复椭圆弧计算不完整
  • 修复文本层处理逻辑缺失
  • 修复 3D 模型偏移参数计算错误
  • 修复 3D 模型不显示问题
  • 修复圆弧和实体区域导出不完整
  • 修复非 ASCII 文本处理问题
  • 修复元件 ID 验证规则过于严格
  • 修复与 Python 版本 V6 一致性问题

更改

  • 从 MVC 架构重构为 MVVM 架构
  • 移除 MainController
  • 移除丝印层复制逻辑
  • 移除特殊层圆形处理
  • 优化网络请求流程
  • 优化错误处理机制
  • 优化配置管理

移除

  • 移除 MainController
  • 移除丝印层复制逻辑
  • 移除特殊层圆形处理(层 100 和 101)

[2.0.0] - 2025-12-15

新增

  • 基础符号转换功能
  • 基础封装生成功能
  • 基础 3D 模型支持
  • 网络请求功能
  • 基本用户界面
  • 配置管理功能

修复

  • 修复基本网络请求错误
  • 修复基本文件读写问题

[1.0.0] - 2025-10-01

新增

  • 项目初始化
  • 基础架构搭建
  • CMake 构建系统
  • Qt Quick 应用框架

版本说明

本项目遵循语义化版本规范:MAJOR.MINOR.PATCH

  • MAJOR:不兼容的 API 更改
  • MINOR:新功能(向后兼容)
  • PATCH:Bug 修复(向后兼容)

更新类型说明

  • 新增:新功能
  • 修复:Bug 修复
  • 更改:现有功能的更改
  • 移除:移除的功能
  • 安全:安全相关的修复
  • 弃用:即将移除的功能

如何贡献

如果您想参与项目开发,请参考贡献指南

反馈

如果您有任何问题或建议,请在 GitHub Issues 上提交。