Syncthing v1.4.0 Release Notes

Release Date: 2020-03-17 // 20 days ago
  • v1.4.0

    Important changes:

    A new config option maxConcurrentIncomingRequestKiB has been added to
    limit the maximum amount of request data being concurrently processed
    🔀 due to incoming requests. This limits Syncthing's peak RAM usage when
    0️⃣ there are many connected devices all requesting file data. The default
    is 256 MiB.

    🚚 The config option maxConcurrentScans has been removed and replaced a
    🆕 new config option maxFolderConcurrency. In addition to just limiting
    🔀 concurrent scans it now also limits concurrent sync operations. The
    0️⃣ default is the number of available CPU threads ("GOMAXPROCS").

    🔀 Syncthing now always runs the monitor process, which previously was
    disabled with -no-restart. This facilitates crash reporting and makes
    🌲 logging behave more consistently. The observed behavior with
    -no-restart should be the same as before but the internals differ.

    The database schema has been improved and will result in a migration
    ⬆️ plus compaction at first startup after the upgrade.

    🛠 Bugfixes:

    • 🐧 #4774: Doesn't react to Ctrl-C when run in a subshell with -no-restart (Linux)
    • 🔀 #5952: panic: Should never get a deleted file as needed when we don't have it
    • 🔀 #6281: Progress emitter uses 100% CPU
    • 🔀 #6300: lib/ignore: panic: runtime error: index out of range [0] with length 0
    • 🔀 #6304: Syncing issues, database missing sequence entries
    • 🔀 #6335: Crash or hard shutdown can case database inconsistency, out of sync

    ✨ Enhancements:

    • 🔀 #5786: Consider always running the monitor process
    • 🐎 #5898: Database performance: reduce duplication
    • 🐎 #5914: Limit folder concurrency to improve performance
    • 🔀 #6302: Avoid thundering herd issue by global request limiter