Сегоднявышла стабильная версия Syncthing 2.0.0.

Обновление включает серьёзные внутренние изменения, влияющие на производительность, структуру хранения данных и работу командной строки.

Переход на SQLite

Главное нововведение — отказ от LevelDB в пользу SQLite в качестве основной базы данных. При первом запуске после обновления Syncthing выполнит автоматическую миграцию данных. На узлах с большим объёмом синхронизируемых данных этот процесс может занять значительное время, поэтому рекомендуется планировать обновление в период низкой нагрузки.

Изменения в логировании

Логирование стало структурированным, что упрощает анализ событий и интеграцию с внешними системами мониторинга. Добавлен новый уровень логов WARNING. Появилась возможность настраивать уровни логирования для отдельных модулей.

Оптимизация хранения информации об удалённых файлах

Записи об удалённых файлах теперь хранятся по умолчанию 6 месяцев. Параметр можно изменить через флаг --db-delete-retention-interval. Это снижает размер базы данных и ускоряет работу системы.

Изменения в командной строке

CLI получил переработанный синтаксис: • Длинные опции теперь начинаются с --. • Часть команд выделена в подкоманды. • Некоторые старые сокращённые опции удалены.

Производительность и сетевая оптимизация • Отключено использование rolling hash по умолчанию, что ускоряет сканирование файлов. • Удалён “default folder” из первоначальной конфигурации. • Между устройствами версии 2.0 теперь устанавливаются три соединения: одно для метаданных и два для передачи файлов, что повышает скорость синхронизации.