Skip to content
v1.4.0-rc.4

This is a release candidate for the v1.4.0 minor release.

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
  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
  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