Syncthing 2 即将发布:SQLite 替代 LevelDB,带来更稳更快同步体验

Syncthing 是一款广受欢迎的跨平台开源文件同步工具,支持在多台设备之间安全、高效地同步文件。就在昨日,Syncthing 团队发布了 v1.29.7 稳定版 和 v2.0.0-rc.19 预发布版本,标志着 Syncthing 2 正式进入上线前的关键阶段。

这意味着:Syncthing 2 即将正式推出

Syncthing 2 的核心变化

Syncthing 2 的最大亮点在于其底层数据库从 LevelDB 切换为 SQLite。这一改动带来了多个优势:

  • 数据库更易于理解和维护
  • 错误率有望显著降低
  • 支持更灵活的查询和调试能力

首次启动 Syncthing 2 时会自动进行数据库迁移。对于数据量较大的用户来说,这一步可能耗时较长,请提前做好准备。

与此同时,Syncthing 1.x 版本也将逐步被取代,未来将由 Syncthing 2.x 成为主要维护分支。好消息是,Syncthing 2 保持与 1.x 的协议兼容性,确保设备间无缝协同工作。

主要功能更新一览

✅ 1. 数据库后端更换为 SQLite

  • 替代旧有的 LevelDB 引擎
  • 提升稳定性和可维护性
  • 自动迁移机制适用于现有用户

✅ 2. 已删除项目不再永久保留

  • 删除记录默认保留期限为 6 个月
  • 如需长期保留删除状态,可通过 --db-delete-retention-interval 设置为 0 或自定义时间间隔

✅ 3. 命令行参数格式现代化

  • 不再支持单破折号(如 -home),必须使用双破折号形式(如 --home
  • 部分选项重命名或改为子命令
  • 所有服务相关配置也可通过环境变量设置
  • 可通过 syncthing --help 查看完整帮助文档

✅ 4. 移除低效的滚动哈希检测偏移数据功能

  • 该功能实际效果有限
  • 移除后提升了扫描和同步效率

✅ 5. 首次启动不再创建“默认文件夹”

  • 更加符合高级用户的使用习惯
  • 减少不必要的初始配置项

✅ 6. 默认启用多连接同步机制

  • 在 Syncthing 2 设备之间,默认建立三个连接:
    • 一个用于索引元数据
    • 两个用于数据传输
  • 显著提升同步性能和并行处理能力

评论