Bugfixes:
#4854: macOS panic in FS watcher setup
#4925: Deleted files within deleted directories aren't detected with FS watcher
#4944: Edit Folder UI displays default "Full Rescan Interval (s)" value instead
of the actual one
#4981: Race on folder restart
#4983: Impossible to edit folder with path "/"
#4990: Incorrect large block size chosen for large files on 32 bit archs
#4994: Database schema from the future should be rejected
#5002: v0.14.48 panic: runtime error: index out of range
#5017: "kiB" should be "KiB"
#5025: Stuck in CPU consuming accept loop when out of file descriptors
#5050: Filesystem watcher doesn't notify changes on Windows when the file size
remains the same
Enhancements:
#4863: Snap package could use removable-media slot
#4953: Speed up delete propagation when it's not a rename
#4969: Executable files edited on Windows should retain execute bit on Unixes
#4977: Disable rescan button while scanning instead of hiding it
Other issues:
#4900: Replace deprecated github.com/kardianos/osext with standard library's os
#5000: Snap build is broken
- use $GO as the path to the go tool
- set a cache directory so that the build does not try to cache stuff
under $HOME.
Prodded by wiz@, thanks for reminding me!
Bugfixes:
#4897: Pausing on introducer removes device on other devices
#4901: API returns empty response if non-existing files are #included
#4903: Syncthing recreates the directories for deleted/missing "Folders"
#4915: .stignore is accidentaly overwritten by web UI on slow machines
#4918: GUI unresponsive or unusable with many folders or devices
#4941: "Watching for Changes" dialog undismissable
#4947: Recent Changes shows empty folder label
Enhancements:
#4807: Support variable sized blocks
#4896: Thousand separator for numbers in GUI
Other issues:
#4909: Custom Windows icon missing in latest release
Attention: Syncthing now advertises continuous watching support in
the GUI. If you enable this on NetBSD, you'll run out of file
descriptors and syncthing won't work. At least that's what happened
to me... so take care.
Bugfixes:
#4815: Local host header check is too restrictive
#4833: Unclear error message about failed watcher when running out of inotify watches
#4870: Don't show a warning when a file from a paused folder is requested
#4875: Zeroed local/global "state" (local files untouched) and remote file deletion with root Windows symlink
Enhancements:
#4516: Bandwidth throttling per remote device
#4552: Add UI for filesystem watcher
#4823: Don't show ignored files in the "global changes" list
#4828: Global change log should indicate folder
Other issues:
#4749: Make all tests Go 1.10 caching compatible
#4868: Docker Documentation
Bugfixes:
#2571: Replacing a directory with a symlink or vice versa is buggy
#4573: Inaccessible files during scan are marked as deleted
#4616: Send only folder out of sync due to ignored items
#4627: A file deleted from all nodes may exist in the "out of sync" list
#4745: Relay server doesn’t make outgoing HTTPS requests from its bind address
#4759: List of out of sync items from remote device is not displayed
#4762: Fails to create folder root directory on Windows
#4764: Env var for db metadata in help text differs from code
#4778: Doesn't connect when multiple remote devices are using the same relay
#4799: Scan on absolute path creates incorrect absolute duplicate file infos
#4806: Panic in FS watcher in FreeBSD 8.3
Bugfixes:
#4560: Windows - External File Versioning Command path requires \ instead of \
#4659: panic: bug: removed more than added
#4680: Ignore pattern beginning with "#" does not match subpaths
#4689: Ignore patterns in web UI aren't reloaded if only comments change
#4701: Global is different from local state when ignoring files
Other issues:
#4687: basicfs_watch_tests are flaky
#4737: Remove KCP
Bugfixes:
#4634: Panic when connecting to device with auto accept and paused folders
#4636: List of files needed on remote is not wrapped at word boundaries
#4644: Impossible to run non-release builds without deadlock detectors
#4649: UTF-8 normalization does not work correctly on ZFS.
#4654: Upgrade system shows an error on RCs in some cases
#4657: Sparse files with zero blocks are not closed when pulling
#4668: Remote device out of sync items shows "0 items, ~0 B"
Enhancements:
#2599: GUI for .stversion restoration
#4499: Log entries showing IP addresses should show connection type
#4628: Set background priority / niceness
Other issues:
#4567: Arguments to fs.CreateSymlink are mixed up
#4618: More scalable global discovery
#4653: lib/model test fails with "ThreadSanitizer failed to allocate 0x200000 (2097152) bytes" with Go 1.9.2
#4663: Spurious "é" in GUI
#4706: Should clean out generated testdata in lib/model/testdata
Bugfixes:
#1845: Files on deduplicated NTFS volumes are ignored by scanner
#4590: Path completion in new folder dialog does not work anymore
#4593: Fd leak when temp file cannot be truncated
#4605: Panic: runtime error related to KCP
Enhancements:
#2644: UI for debug levels and log access
#4369: GUI should indicate which files are out of sync on remote devices
#4400: Keep enough counters and state in the database to avoid initial database traversal
#4515: Should understand “socks” in addition to “socks5” in proxy URLs
Other issues:
#4407: Contribute kcp-go changes/features and/or fix tests
#4585: Update vendored github.com/minio/sha256-simd for AVX512 support
#4615: Update vendored x/sys/unix for dragonfly
Bugfixes:
#4353: Symlinks as folder root broken on Windows
#4475: Discovering new files in a deleted directory does not resurrect the directory
#4561: "Panic: interface conversion: *errors.errorString is not net.Error" after restart
Enhancements:
#2299: Auto-accept shared folders from trusted devices
#4406: Empty directories in .stversions should be removed
#4476: Human readable errors on attempted deletion of non-empty directory
#4542: Support OneDrive folders on recent Windows 10
#4543: Add confirmation on Remove Folder / Device button
This is a regularly scheduled stable release.
Resolved issues:
#3628: More data is reported as part of the anonymous usage report.
#4392: Sync errors are better reported.
#4405: Removing paused folders does not cause a panic.
#4414: Local IPv4 discovery is more resilient against write failures.
#4431: Clearer logging around config failures at startup.
#4432: Do not complain about inability to fsync files.
#4446: KCP connections are improved.
#4451: Folder health checking is improved.
This release also includes built in support for file system notifications,
although it is disabled by default. To test this functionality, enable the
advanced folder config fsWatcherEnabled.
Additionally, the UDP based "KCP" protocol is now enabled by default. This
provides better connectivity through NAT devices. TCP is the preferred
connection protocol when available.
This is a regularly scheduled stable release.
Resolved issues:
#4357: Removing paused folders no longer triggers a crash.
#4360: Add further security related HTTP headers
#4375: Improve info level logging in some cases
#4377: Improve GUI tooltips in chromium based browsers
#4382: Hide temporary files on Windows
#4387: Add -device-id command line switch
In addition, failure to upgrade folder markers from file to directory type is
no longer fatal.
This is a regularly scheduled stable release.
Resolved issues (cmd/syncthing):
#4063, #4343: KCP connections are now more stable.
#4348: Hashing benchmarks are skipped if a manual selection has been forced.
Resolved issues (cmd/strelaysrv):
#4245: Relay server RAM usage has been reduced.
This is a regularly scheduled stable release.
Resolved issues:
#3742, #4305: Better detect sync conflicts that happen while syncing
#4300: Fixes a crash related to a nil reference in ignore handling
There is also a major internal refactor as part of this release.
v0.14.36
This is an unscheduled release to fix a bug that slipped through the cracks in 0.14.34 & 0.14.35.
Resolved issues:
#4297: Folders paths are no longer reset when editing a folder without a label
v0.14.35
This is an unscheduled release in panic mode to fix a significant problem in 0.14.34.
Resolved issues in 0.14.35:
#4288: Symlinks are deleted from versioned folders on startup
Resolved issues in 0.14.34:
#2157: The new folder dialog now suggests a default path. Adjustable via advanced config defaultFolderPath.
#4272: The build script no longer sets -installsuffix by default.
#4286: Prevents a vulnerability that allows file overwrite via versioned symlinks
Note that the last issue is a security vulnerability. Symlinks on Windows are not supported and have not been created by Syncthing for a while. Nonetheless, if you use symlinks on Windows and Syncthing versioning you may have symlinks in your versioning directory from earlier versions. You must remove these manually. Syncthing can not remove them automatically because there are other things that look to us like symlinks but are not - deduplicated files, primarily. (This is one of the reasons symlinks are not supported on Windows.)
On other platforms the versioning directory is cleaned from symlinks as part of the upgrade.
v0.14.34-rc.1
This is a release candidate for v0.14.34.
Resolved issues:
#2157: The new folder dialog now suggests a default path. Adjustable via advanced config defaultFolderPath.
#4272: The build script no longer sets -installsuffix by default.
v0.14.33
This is a regularly scheduled stable release.
Resolved issues:
#4188: Relative version paths are now correctly relative to the folder path
#4227: Remote devices now show bytes remaining to sync
#4249: Editing ignore patterns no longer incorrectly shows included patterns
v0.14.33-rc.1
This is a release candidate for v0.14.33.
Resolved issues:
#4188: Relative version paths are now correctly relative to the folder path
#4227: Remote devices now show bytes remaining to sync
#4249: Editing ignore patterns no longer incorrectly shows included patterns
v0.14.32
This is a regularly scheduled stable release.
Resolved issues:
#4157: "Nearby devices" are now shown in the add device dialog, avoiding the need to type their device ID.
#4219: Folders that were once ignored in a sharing request now actualproperly when later added manually.
v0.14.32-rc.2
This is a release candidate for v0.14.32.
v0.14.32-rc.1
This is a release candidate fo14.31:
#4157: "Nearby devices" are now shown in the add device dialog, avoiding the need to type their device ID.
#4219: Folders that were once ignored in a sharing request now actually work properly when later added manually.
This is a regularly scheduled stable release.
Resolved issues:
#4100: Icons and directory information in local device summary is consistent with that in folders
#4177: A data race in KCP & STUN is fixed
#4203: Ignore patterns on newly accepted folders are no longer erroneously inherited from an earlier added folder
This is a regularly scheduled stable release.
Resolved issues:
#3433: Correctly clear warning "path is a subdirectory of other folder" in folder dialog
#3524: Conflict copies' filename now includes the ID of the last device to change the file
#3993: Folders offered by other devices can now be ignored
#4164: Changed device name takes effect with restart; device name is not sent to unknown devices
#4183: Correctly show CPU usage when started with -no-restart option
This is a regularly scheduled stable release.
Resolved issues:
#3895: The layout of the global changes dialog is improved
#4123: Running as root or SYSTEM now triggers a warning recommending against it
#4127: Changing the theme no longer causes an HTTP error
#4143: The file paths in the failed files dialog are now correct on Windows
This is a regularly scheduled stable release.
Resolved issues:
#1879: It is now possible to create custom event subscriptions via the REST API.
#2250: Removing large folders now uses less memory.
#3307: The minimum disk space (per folder and for the home disk) can now be set to an absolute value.
#3965: Pausing or reconfiguring a folder will no longer start extra scans. Pausing a folder stops scanning.
#3996: Ignore patterns can now be set at folder creation time, and for paused folders.
#4020: It is no longer possible to configure the GUI/API to listen on a privileged port using the standard settings dialog.
#4096: The device allowed subnet list can now include negative ("!") entries to disallow subnets.
#4112: Doing "Override changes" now uses less memory.
This is a regularly scheduled stable release.
Resolved issues since v0.14.26:
#219: Devices can now have a list of allowed subnets (advanced config)
#234: The transfer rate units can now be changed by clicking on the value
#1819: UI text explaining "Introducer" is improved
#2267: Advanced config editor can now edit lists of things
#2519: Directories created for new folders now obey the user umask setting (on Unixes)
#4053: Incoming index updates are consistency checked better
This is a regularly scheduled stable release.
Resolved issues since v0.14.25:
#4035: Symlinks are now properly ignored on Windows.
#2344: Discovery errors are more clearly displayed in the GUI.
#3913: The language dropdown menu in the GUI is now correctly sorted.
Also:
When there are items that could not be synced, their full path is displayed in the GUI.
This is a regularly scheduled stable release.
Resolved issues since v0.14.24:
#4003: "Pause All"/"Resume All" icons are improved.
#3959: There are now mips and mipsle builds by default.
#3183: The "overwriting protected files" warning now correctly handles relative paths to the config directory.
#804: The experimental KCP protocol for transfers over UDP has been merged, although it's not currently enabled by default.
This is a regularly scheduled stable release.
Resolved issues since v0.12.23:
#3884: lib/sync: Fix a race in unlocker logging
#3976: Links and log messages refer to https instead of http where possible
Also:
As of this release, symlinks are no longer supported on Windows.
The default number of parallel file processing routines per
folder is now two (previously one), and the number of simultaneously
outstanding network requests has been increased.
The GUI now contains buttons to pause or resume all folders
with a single action.
0.14.23
This is a hotfix release recommended for all users.
Resolved issues:
#3970: Syncthing restarts when started manually and auto upgrading
0.14.22
This is a regular periodic release withdrawn because of an issue with automatic upgrade.
Resolved issues:
#3935: Leading and trailing spaces are no longer stripped in the GUI password field
#3908: The GUI shows remaining amount of data to sync per folder.
#3933: There should no longer be empty entries in the global log
#3938: Weak hashing is now by default only enabled when it makes sense from a performance point of view.
Also:
This release introduces the the ability to choose between stable and candidate
releases for auto upgrades.
This is a hotfix release recommended for all users.
Resolved issues:
#3931: The -logfile option now works again.
Also:
The GUI "network error" dialog no longer shows up as easily in some scenarios when using Syncthing behind a reverse proxy.
This is a regularly scheduled bugfix and improvement release recommended for all users.
Resolved issues:
#3197: There is now a warning when adding a folder that is a parent of an existing folder.
#3912: Using -logfile flag together with -no-restart now causes an error instead of silently failing.
#3891: Weak hashing is now disabled completely when the threshold percentage is > 100.
#3921: Rate limiting now actually works on ARM64 builds again.
#3924: An issue where UPnP port allocations would be incorrect under some circumstances has been fixed.
Also:
Weak hashing is a bit faster and allocates less memory.
The hashing performance reported at startup now includes weak hashing.
This is a regularly scheduled bugfix and improvement release recommended for all users.
Resolved issues:
#3846: Changing bandwidth rate limits now takes effect immediately without restart.
#3859: The event log (-audit) can now be directed to stderr for piping into another program.
#3584: A panic on folder listing at startup has been fixed.
#3857: On Windows, we now make sure to never descend into directory symlinks.
#3819: When a folder is deleted, the .stfolder marker is also removed. The ignore file and .stversions directory are retained, if present.
#3839: Several scenarios where a device would get stuck with "not a directory" errors are now handled again.
#3861: Third party copyrights in the about box are now more up to date.
Also:
Hashing performance has been improved again, after it was inadvertently reduced in v0.4.17.
This is a hotfix release to fix connectivity issues between 0.14.17 and previous Syncthing releases.
Resolved issues:
#3855: Connections to older Syncthing versions are no longer closed due to unmarshalling message: proto: wrong wireType = 2 for field BlockIndexes.
This is a normally scheduled feature and bugfix release.
Resolved issues:
#3689: Panics caused by corrupt on disk database are now better explained in the panic message.
#3817: Statically configured device addresses without port number now correctly defaults to port 22000 again.
#3829: Inotify clients no longer cause 'invalid subpath' errors to be displayed.
New and improved functionality:
#215: Folders can now be paused.
#2679: "Master" folders are now called "send only" in order to standardize on a terminology of sending and receiving changes.
#3407: Pausing devices and folders now persists across restarts.
#3527: A rolling checksum is used to identify and reuse blocks that have moved within a file.
#3790: Syncthing allows setting the type-of-service field on outgoing packets, configured by the advanced setting "trafficClass".
#3809: Which device introduced another device is now visible in the GUI.
Updating during the freeze since the previous version stopped
working for me since the availability of this version.
Changes:
This is an extra bugfix release to fix issues introduced in v0.14.14.
Resolved issues:
#3829: Receiving 'invalid subpath' errors on syncthing-inotify full folder sync trigger
This is an extra bugfix release to fix issues discovered in the upgrade from 0.14.13 to 0.14.14.
Resolved issues:
#3804: Inotify no longer triggers "invalid subpath" error
#3802: Symlinks are not deleted on upgrade
This is a security release recommended for all users.
Two distinct security vulnerabilities have been corrected in this
release. Either would let a remote attacker, controlling a device
that is already accepted by Syncthing, perform arbitrary reads and
writes to files outside the configured folders.
The first issue is that path validation was lacking in several
places, resulting in Syncthing accepting index entries for files
like "../../foo", thus resulting in a path above the configured
folder.
The second issue is that where path validation was correct, symlinks
could be used to trick Syncthing. An attacker could create a symlink
"foo -> ../../" and then request the contents of "foo/something",
again escaping the constraints of the folder.
Syncing symlinks between v0.14.14 and previous versions will not
work.
This is due to the fix to the above issue. Normal files and
directories will sync fine. To continue syncing symlinks, both
sides must be upgraded to v0.14.14.
Further resolved issues:
#3753: The build no longer requires Go 1.7.
#3769: The wording in the GUI around "last file received" is
now clearer.
v0.14.131
This is a minor release recommended for all users.
Resolved issues:
#33946: CPU usage when scanning is improved.
#24722: Writing config and .stignore files on filesystems
without chmod support should now work.
#3758: Language selector stays above the bottom bar.
This is a minor release recommended for all users.
Resolved issues:
#3737: A data race in the code that caused test failures, and possibly other inconsitencies, has been resolved.
#3241: Links in warning messages are now clickable in the GUI.
#3711: Files are now synced to disk before committed to database, to avoid possible inconsistencies if a power failure occurs during syncing.
#3724: Log entries now mention folder by label in addition to the ID.
In addition:
The default folder now has the folder ID "default" again, simplifying initial setup.
Retries for misconfigured relay setups are slowed down somewhat to be kinder on our relay pool infrastructure.
This is a minor release recommended for all users.
Resolved issues
#1015: Introducers can now remove devices that they introduced
#3726: Syncthing now correctly reconnects to staticly configured relays
#3718: strelaysrv: No longer crashes with "panic: send on closed channel"
#3682: strelaysrv: Binding to a specific address now works better
#3710: Folder information in the GUI now uses icons and tooltips
This is a minor release recommended for all users.
Resolved issues:
#36236: Display of global and local state is clearer, especially in the presence of ignores.
#36471: GUI does not show "failed items" unless there are items that have failed.
Also:
Fixes to questionmark and asterisk handling in ignore patterns.
Build script can create a snap file.
"Black" theme re-added.
Debugging options for deadlocks.
v0.14.9
Resolved issues:
#3651: Documentation PDFs are fixed.
#3638: German localisation is improved. (As are a couple of others as I forgot to update them the last release.)
#3619: Browser error on first startup doesn't happen as easily anymore.
#3664: Syncthing compiles in Go versions older than 1.7 again.
#3577: Adding folder using Long UNC path no longer causes stack overflow (but don't do that, it's not necessary).
v0.14.8
This is a minor release recommended for all users.
The main change here is to handle issues with the new SHA256 implementation introduced in 0.14.7. When using the monitor process (which is the default) crashes will be detected and the new hashing package disabled. A manual selection can also be forced by setting the environment variable STHASHING to either minio (the new package) or standard (the default Go package).
Resolved issues:
#3613: The monitor process now detects crashes due to the new hashing package and disables it on subsequent launch.
#3614: The two hash packages are benchmarked on startup and the fastest on is selected.
#3588: Folders are now correctly shown as out of sync when they miss only deleted files.
#3578: UPnP handling is corrected in the case where more than one router is detected.
#3639: Patterns with terminal slash (e.g., "dir/") now correctly ignore directory contents.
v0.14.7
This is a minor release recommended for all users.
Improvements in this release include faster (i.e., less CPU intensive)
hashing on some Intel and ARM64 CPU:s, a more refined dark theme,
CORS headers in the API, and an updated set of default discovery
servers.
Resolved issues since v0.14.6:
#3596: Deadlock no longer occurs on device removal
This is a minor release recommended for all users.
Resolved issues since v0.14.5:
#3496: In sync percentages no longer go negative for large numbers of deleted files.
#3502: Files that were deleted and then ignored are no longer deleted on other devices that didn't ignore them.
#3525: Configuration is no longer moved away when perfoming an upgrade on a full disk.