v1.4.0-rc.6 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 - #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