Syncthing v1.4.0-rc.4 Release Notes

Release Date: 2020-02-13 // over 4 years 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 there
    0️⃣ 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
    • 🔀 #6289: "general SOCKS server failure" since syncthing 1.3.3
    • 🔀 #6300: lib/ignore: panic: runtime error: index out of range [0] with length 0
    • 🔀 #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