Transmission 4.0.0 稳定版已正式发布,其团队表示这是一个大版本更新——不仅体现在版本号上,他们还为这个版本投入了许多开发资源。自 3.0 发布以来,此版本已经积极开发了一年多,包含大量变化,提交了超过 1000 个 commit。
下载地址:https://transmissionbt.com/download
Transmission 是开源的 BitTorrent 客户端,支持 macOS、Windows 和 Linux 平台。特点是具有简洁且美观的界面、速度快、轻量、保护隐私,还具有其他众多丰富功能。
主要变化
优化资源使用:内存占用更少、CPU 周期更低
- 此版本对代码进行了广泛的分析和改进,以修复低效的代码和内存使用。与 3.00 相比,CPU 周期和内存占用分别降低了 50% 和 70%
- 远程控制 GUI (transmission-qt & transmission-web) 现在使用 RPC API "table" 模式,从而减少有效负载 / 带宽使用
- RPC 有效负载现在使用 libdeflate 进行压缩,它经过高度优化,比 zlib 库快得多
社区活跃度更高:对错误反馈和代码提交的响应速度显著提升
- 与过去相比,Transmission 对错误反馈和代码提交的响应要快得多
- 吸引了一批新的贡献者
- Transmission 4.0.0-beta.1 包含 300 多个新的社区 commit(点此查看)
- 文档已迁移到
transmission/transmission
,贡献者可提交 PR 来改进它
使用现代化代码:使用 C++ 重写
- 项目代码已从 C(C90) 迁移到 C++。在此过程中,团队删除了数千行自定义代码并改用标准 C++ 工具,从而将核心的代码量减少了 18%。此外还通过对核心代码仓库进行广泛的重构,让其更具可测试性和可维护性
- GTK 客户端已移植到 gtkmm
- Web 客户端已用现代 JavaScript 重写,不再使用 jQuery。完整 gzip 包大小为 68K
- 单元测试已扩展并移植到 Google Test。Clang sanitizer 构建在 CI 期间运行
- 核心库已经过模糊测试
- Transmission 现在对新代码使用 Sonarcloud、Coverity、LGTM 和 clang-tidy 静态分析。与 Transmission 3.00 相比,修复了数百个代码警告。
其他新特性
- 支持使用 BitTorrent v2 种子和混合型种子
- 支持设置可用于宣布所有公共种子的 “默认” 跟踪器
- 新添加的种子可以立即启动并按需验证片段,而不需要在开始做种之前进行全面验证
- 添加了在创建新种子时省略潜在识别信息(例如用户代理和创建日期)的选项
- 重写 Web 客户端,可在移动设备使用
- 创建新种子时,现已支持指定块大小
- 支持 IPv6 阻止列表
- 从 4.0.0-beta.1 开始,Transmission 使用 semver 进行版本控制
- ……
详情查看 Release Notes。