Сегоднявышла стабильная версия Syncthing 2.0.0.
Обновление включает серьёзные внутренние изменения, влияющие на производительность, структуру хранения данных и работу командной строки.
Переход на SQLite
Главное нововведение — отказ от LevelDB в пользу SQLite в качестве основной базы данных. При первом запуске после обновления Syncthing выполнит автоматическую миграцию данных. На узлах с большим объёмом синхронизируемых данных этот процесс может занять значительное время, поэтому рекомендуется планировать обновление в период низкой нагрузки.
Изменения в логировании
Логирование стало структурированным, что упрощает анализ событий и интеграцию с внешними системами мониторинга. Добавлен новый уровень логов WARNING. Появилась возможность настраивать уровни логирования для отдельных модулей.
Оптимизация хранения информации об удалённых файлах
Записи об удалённых файлах теперь хранятся по умолчанию 6 месяцев. Параметр можно изменить через флаг --db-delete-retention-interval. Это снижает размер базы данных и ускоряет работу системы.
Изменения в командной строке
CLI получил переработанный синтаксис: • Длинные опции теперь начинаются с --. • Часть команд выделена в подкоманды. • Некоторые старые сокращённые опции удалены.
Производительность и сетевая оптимизация • Отключено использование rolling hash по умолчанию, что ускоряет сканирование файлов. • Удалён “default folder” из первоначальной конфигурации. • Между устройствами версии 2.0 теперь устанавливаются три соединения: одно для метаданных и два для передачи файлов, что повышает скорость синхронизации.