Syncthing Changelog

What's new in Syncthing 1.27.7 RC 1

Apr 22, 2024
  • Bugfixes:
  • #9503: lib/nat: panic: runtime error: index out of range

New in Syncthing 1.27.6 (Apr 9, 2024)

  • Bugfixes:
  • #9498: Files spookily out of sync in 1.27.5

New in Syncthing 1.27.5 (Apr 9, 2024)

  • Bugfixes:
  • #9371: Deleting or renaming directories when syncing xattrs or ownership causes empty dir tree to get "put back" by ST
  • #9407: IndexHandler can get stuck in an undesired loop
  • #9417: CPU usage increases after folder scans (and hence, over time)
  • #9469: Better wrapping for device and folder names in sharing lists
  • Enhancements:
  • #8972: Open share settings when clicking 'shared with'
  • #9470: Show encryption status for devices sharing folder

New in Syncthing 1.27.4 (Mar 11, 2024)

  • Bugfixes:
  • #9369: Panic in ignore matching on invalid UTF-8 from filesystem watcher
  • #9435: syncthing should be cgroup aware
  • Enhancements:
  • #9339: File system watcher should skip ignored directories in more cases
  • #9357: Set GOMAXPROCS quota aware in Linux containers
  • Other issues:
  • #9386: typo in folder_sendrecv.go refrences nonexistent type dbUpdateShourtcutFile
  • #9389: typo: Complection → Completion ?

New in Syncthing 1.27.4 RC 1 (Feb 13, 2024)

  • Bugfixes:
  • #9369: Panic in ignore matching on invalid UTF-8 from filesystem watcher
  • Enhancements:
  • #9339: File system watcher should skip ignored directories in more cases
  • Other issues:
  • #9386: typo in folder_sendrecv.go refrences nonexistent type dbUpdateShourtcutFile
  • #9389: typo: Complection → Completion ?

New in Syncthing 1.27.3 (Feb 6, 2024)

  • Bugfixes:
  • #9039: Sync from Linux to Mac with ownership - Local additions after rescan
  • #9241: Versions path does not honor tilde (~) shortcut
  • Enhancements:
  • #8616: Add CLI completion
  • #9151: Add "stay logged in" checkbox to login dialog
  • Other issues:
  • #9267: Inconsistent version requirements in lib/build and lib/upgrade
  • #9313: Different lengths used for short device IDs in UI

New in Syncthing 1.27.2 (Jan 8, 2024)

  • Bugfixes:
  • #9041: cli subcommand does not use STHOMEDIR env var
  • #9183: Filesystem watching (kqueue) is enabled … with a lot of files
  • #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")
  • Enhancements:
  • #7406: Add UPnP support for IPv6
  • Other issues:
  • #9247: Embed binary releases signing key as a file instead of hardcoding a string
  • #9287: quic-go v0.40.1 (CVE-2023-49295)

New in Syncthing 1.27.2 RC 2 (Dec 27, 2023)

  • Bugfixes:
  • #9041: cli subcommand does not use STHOMEDIR env var
  • #9183: Filesystem watching (kqueue) is enabled … with a lot of files
  • #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")
  • Enhancements:
  • #7406: Add UPnP support for IPv6
  • Other issues:
  • #9247: Embed binary releases signing key as a file instead of hardcoding a string
  • #9287: quic-go v0.40.1 (CVE-2023-49295)

New in Syncthing 1.27.2 RC 1 (Dec 12, 2023)

  • Bugfixes:
  • #9041: cli subcommand does not use STHOMEDIR env var
  • #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")
  • Enhancements:
  • #7406: Add UPnP support for IPv6

New in Syncthing 1.27.1 (Dec 12, 2023)

  • Bugfixes:
  • #9253: Permission error on folder causes "connection error" dialog when opening folder editor
  • #9269: panic: nil pointer dereference in (*indexHandlerRegistry).startLocked
  • Other issues:
  • #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")

New in Syncthing 1.26.1 (Nov 16, 2023)

  • Bugfixes:
  • #9208: Display error in 1.26 with login screen

New in Syncthing 1.27.0 RC 1 (Nov 14, 2023)

  • Bugfixes:
  • #9179: spurious log file in $XDG_CONFIG_HOME
  • #9189: Discovery Returns IP
  • #9208: Display error in 1.26 with login screen
  • Enhancements:
  • #9178: Default config (state) dir on Unixes should be ~/.local/state/syncthing ($XDG_STATE_HOME/syncthing)
  • #9200: Login form: login button should have an id attribute

New in Syncthing 1.26.0 (Nov 14, 2023)

  • Bugfixes:
  • #9072: Omitting %s from LDAP search filter results in corrupt search filter
  • #9106: Posting config with invalid versioner type causes panic
  • #9120: Deduplicated files on Windows aren't treated as regular files any more (Go 1.21)
  • #9133: Syncthing Docker container fails to start if underlying filesystem doesn't support chown
  • #9143: traefik no longer url escape X-Forwarded-Tls-Client-Cert header
  • #9149: Favicon is stuck in notify state
  • Enhancements:
  • #4137: Use a real login screen + sessions instead of HTTP basic auth

New in Syncthing 1.26.0 RC 1 (Oct 12, 2023)

  • Bugfixes:
  • #9072: Omitting %s from LDAP search filter results in corrupt search filter
  • #9106: Posting config with invalid versioner type causes panic
  • #9120: Deduplicated files on Windows aren't treated as regular files any more (Go 1.21)
  • #9133: Syncthing Docker container fails to start if underlying filesystem doesn't support chown
  • #9149: Favicon is stuck in notify state
  • Enhancements:
  • #4137: Use a real login screen + sessions instead of HTTP basic auth

New in Syncthing 1.25.0 (Oct 12, 2023)

  • Bugfixes:
  • #8274: Usage report transport type is wrong for QUIC
  • #8482: Discovery server keeps duplicate entries
  • #9019: Web GUI loses config changes when doing multiple modifications (e.g. on slow hardware or remotely)
  • #9112: panic: counter cannot decrease in value
  • #9123: Hashed passwords via API are hashed again
  • Enhancements:
  • #141: Use multiple simultaneous TCP connections
  • #5607: Move footer links to header

New in Syncthing 1.25.0 RC 1 (Sep 12, 2023)

  • Bugfixes:
  • #8482: Discovery server keeps duplicate entries
  • #9019: Web GUI loses config changes when doing multiple modifications (e.g. on slow hardware or remotely)
  • Enhancements:
  • #141: Syncthing needs to implement simultaneous TCP connections
  • #5607: Move footer links to header

New in Syncthing 1.24.0 (Sep 12, 2023)

  • Bugfixes:
  • #8965: v1.23.6 introduces untrusted sharing regression
  • Enhancements:
  • #5175: Record more performance metrics
  • #7456: Announce IPv6 ULA
  • #7973: Restore versions file filter should be case insensitive
  • #8767: Check interface for FlagRunning
  • Other issues:
  • #9021: panic: bug: ClusterConfig called on closed or nonexistent connection
  • #9034: Build with Go 1.21 out of the box

New in Syncthing 1.24.0 RC 1 (Aug 23, 2023)

  • Bugfixes:
  • #8965: v1.23.6 introduces untrusted sharing regression
  • #9033: Github API rate limit response preventing automatic upgrades
  • Enhancements:
  • #5175: Record more performance metrics
  • #7456: Announce IPv6 ULA
  • #7973: Restore versions file filter should be case insensitive
  • #8767: Check interface for FlagRunning
  • Other issues:
  • #9021: panic: bug: ClusterConfig called on closed or nonexistent connection
  • #9034: Build with Go 1.21 out of the box

New in Syncthing 1.23.7 (Aug 23, 2023)

  • Bugfixes:
  • #6597: setLowPriority should not increase process priority when already lower (in Windows)
  • #7698: ursrv: unrealistic uptime data, likely due to unset RTC (1970-01-01)
  • #8958: Extended attribute filter editor should be enabled when "send extended attributes" is checked
  • #8967: Shared With list ends with comma on 1 device
  • #9001: relaysrv crash after some weeks of operation
  • Enhancements:
  • #8890: Do not autoexpand tilde sign (~) to an absolute home directory path
  • #8957: Add environment variables for --home, --conf, and --data
  • #8968: Error for Windows invalid file names should indicate the invalid character or name part
  • Other issues:
  • #8973: 1.23.6 docker image no longer available for linux/arm/v7
  • #8983: Integrate govulncheck

New in Syncthing 1.23.7 RC 1 (Jul 11, 2023)

  • Bugfixes:
  • #8958: Extended attribute filter editor should be enabled when "send extended attributes" is checked
  • #8967: Shared With list ends with comma on 1 device
  • #8968: Error for Windows invalid file names should indicate the invalid character or name part
  • Enhancements:
  • #8890: Do not autoexpand tilde sign (~) to an absolute home directory path
  • #8957: Add environment variables for --home, --conf, and --data
  • Other issues:
  • #8973: 1.23.6 docker image no longer available for linux/arm/v7

New in Syncthing 1.23.6 (Jul 11, 2023)

  • Bugfixes:
  • #7638: favicon not working Firefox & derivative browsers
  • #8899: Omitting %s from LDAP bind DN sends corrupted bind DN string to LDAP server
  • #8920: Untrusted device should be disallowed from being an introducer
  • #8960: relaysrv and discosrv docker images haven't been updated for more than year
  • Other issues:
  • #8691: Add arm64 architecture for syncthing/discosrv container
  • #8897: v1.23.5-rc.1 / v1.23.5: Missing sha1sum.txt.asc & sha256sum.txt.asc
  • #8898: v1.23.5-rc.1: Missing .debs for i386, armel, armhf

New in Syncthing 1.23.6 RC 1 (Jun 19, 2023)

  • Bugfixes:
  • #8899: Omitting %s from LDAP bind DN sends corrupted bind DN string to LDAP server
  • #8920: Untrusted device should be disallowed from being an introducer
  • Other issues:
  • #8897: v1.23.5-rc.1 / v1.23.5: Missing sha1sum.txt.asc & sha256sum.txt.asc
  • #8898: v1.23.5-rc.1: Missing .debs for i386, armel, armhf

New in Syncthing 1.23.5 (Jun 19, 2023)

  • Bugfixes:
  • #8503: "syncthing cli config devices add" reflect error when using --addresses flag
  • #8764: Ignore patterns creating during folder addition are not loaded
  • #8778: Tests fail on Windows with Go 1.20
  • #8779: Test cleanup fails all model tests on Windows on Go 1.20
  • #8859: Incorrect handling of path for auto accepted folder
  • Other issues:
  • #8799: "fatal error: checkptr: converted pointer straddles multiple allocations" in crypto tests

New in Syncthing 1.23.5 RC 1 (May 9, 2023)

  • Bugfixes:
  • #8503: "syncthing cli config devices add" reflect error when using --addresses flag
  • #8764: Ignore patterns creating during folder addition are not loaded
  • #8778: Tests fail on Windows with Go 1.20
  • #8779: Test cleanup fails all model tests on Windows on Go 1.20
  • #8859: Incorrect handling of path for auto accepted folder
  • Other issues:
  • #8799: "fatal error: checkptr: converted pointer straddles multiple allocations" in crypto tests

New in Syncthing 1.23.4 (Apr 7, 2023)

  • Bugfixes:
  • #8851: "Running global migration to fix encryption file sizes" on every start

New in Syncthing 1.23.3 (Apr 7, 2023)

  • Bugfixes:
  • #5408: Selection of time in versions GUI not possible without editing the string inside the textfield
  • #8277: Mutual encrypted sharing doesn't work (both sides with password)
  • #8556: Increased file size when sharing between encrypted devices
  • #8599: Key generation at connect time is slow for encrypted connections
  • Enhancements:
  • #7859: Allow sub-second watcher delay (use case: remote development)
  • Other issues:
  • #8828: cmd/stdiscosrv: TestDatabaseGetSet flake

New in Syncthing 1.23.3 RC 2 (Mar 29, 2023)

  • Bugfixes:
  • #5408: Selection of time in versions GUI not possible without editing the string inside the textfield
  • #8277: Mutual encrypted sharing doesn't work (both sides with password)
  • #8556: Increased file size when sharing between encrypted devices
  • #8599: Key generation at connect time is slow for encrypted connections
  • Enhancements:
  • #7859: Allow sub-second watcher delay (use case: remote development)
  • Other issues:
  • #8828: cmd/stdiscosrv: TestDatabaseGetSet flake

New in Syncthing 1.23.3 RC 1 (Mar 15, 2023)

  • Bugfixes:
  • #5408: Selection of time in versions GUI not possible without editing the string inside the textfield
  • #8556: Increased file size when sharing between encrypted devices
  • #8599: Key generation at connect time is slow for encrypted connections

New in Syncthing 1.23.2 (Mar 15, 2023)

  • Bugfixes:
  • #8749: Relay listener does not restart sometimes
  • Enhancements:
  • #8660: GUI editor for xattr filter patterns
  • #8781: gui: Remove duplicate Spanish translation
  • Other issues:
  • #8768: Update quic-go for Go 1.20

New in Syncthing 1.23.2 RC 1 (Feb 15, 2023)

  • Bugfixes:
  • #8749: Relay listener does not restart sometimes
  • Enhancements:
  • #8660: GUI editor for xattr filter patterns
  • #8781: gui: Remove duplicate Spanish translation
  • Other issues:
  • #8768: Update quic-go for Go 1.20

New in Syncthing 1.23.1 (Feb 15, 2023)

  • Bugfixes:
  • #8325: "accept: function not implemented" after upgrading to syncthing v1.20.1

New in Syncthing 1.23.1 RC 1 (Jan 12, 2023)

  • Bugfixes:
  • #8325: "accept: function not implemented" after upgrading to syncthing v1.20.1

New in Syncthing 1.23.0 (Jan 3, 2023)

  • Bugfixes:
  • #8572: Incorrect rescan interval on auto accepted encrypted folder
  • #8646: Perhaps the list of devices contains empty elements
  • #8686: Properly indicate whether a connection is "LAN" or not in the GUI

New in Syncthing 1.22.3 RC 1 (Dec 13, 2022)

  • Bugfixes:
  • #8646: Perhaps the list of devices contains empty elements
  • #8686: Properly indicate whether a connection is "LAN" or not in the GUI

New in Syncthing 1.22.2 (Dec 13, 2022)

  • Bugfixes:
  • #3744: Folders with custom icons not deletable on Windows
  • #8570: Incorrect rescan interval when add encrypted folder with watch for changes enabled
  • #8592: Newly added "connection type" icon and text in device info is slightly misaligned
  • #8630: Enabling rate limit drastically reduces network performance
  • #8654: Conflicts created on Android on files modified by other devices
  • #8657: Xattrs not properly applied to directories, causes rescan/resync loop
  • #8661: webgui complains about not set password in ldap mode
  • #8682: syncthing generate command writes the deviceId to stderr instead of stdout as INFO
  • Enhancements:
  • #2771: Add mailto link to "Show ID" dialog, for sending device ID via email
  • #7703: Show if devices have not connected in a long time
  • #8638: Use healtcheck endpoint for docker
  • #8686: LAN detection via subnetmask
  • Other issues:
  • #8601: Build fails due to setting xattrs that affect SELinux, "permission denied"
  • #8679: Bump quic-go

New in Syncthing 1.22.2 RC 1 (Nov 9, 2022)

  • Bugfixes:
  • #3744: Folders with custom icons not deletable on Windows
  • #8570: Incorrect rescan interval when add encrypted folder with watch for changes enabled
  • #8592: Newly added "connection type" icon and text in device info is slightly misaligned
  • #8630: Enabling rate limit drastically reduces network performance
  • #8654: Conflicts created on Android on files modified by other devices
  • #8657: Xattrs not properly applied to directories, causes rescan/resync loop
  • Enhancements:
  • #2771: Add mailto link to "Show ID" dialog, for sending device ID via email
  • #7703: Show if devices have not connected in a long time
  • #8638: Use healtcheck endpoint for docker
  • Other issues:
  • #8601: Build fails due to setting xattrs that affect SELinux, "permission denied"

New in Syncthing 1.22.1 (Nov 9, 2022)

  • Bugfixes:
  • #8084: Scope ID should be filtered out of IPv6 addresses when using Remote GUI
  • #8569: Periodic connection losses to webui because docker image doesn't support upgrade
  • #8594: Extended attributes are only synced one way
  • Enhancements:
  • #3987: Private relay server with authentication
  • #8244: Show connection type in Remote Devices
  • #8430: Add HTTP health check without using API Token

New in Syncthing 1.22.1 RC 1 (Oct 17, 2022)

  • Bugfixes:
  • #8084: Scope ID should be filtered out of IPv6 addresses when using Remote GUI
  • #8569: Periodic connection losses to webui because docker image doesn't support upgrade
  • #8594: Extended attributes are only synced one way
  • Enhancements:
  • #3987: Private relay server with authentication
  • #8244: Show connection type in Remote Devices
  • #8430: Add HTTP health check without using API Token

New in Syncthing 1.22.0 (Oct 17, 2022)

  • Bugfixes:
  • #3868: gui: Auto select of device ID is broken on Internet Explorer
  • #7068: "Restore Versions" GUI breaks when path exists as both directory and file
  • #7965: Trash Can File Versioning always throws errors on restore (even when succeeded)
  • #7988: Unexpected cleanup behavior for Simple File Versioning
  • #8529: WebGUI is displayed incorrectly on "tablet sized" screens
  • Enhancements:
  • #2698: Sync extended file attributes on supported file systems
  • #7603: WebUI tooltip inconsistencies
  • #8506: macOS Monterey 12.5.1 aliases break after sync

New in Syncthing 1.21.0 RC 1 (Aug 10, 2022)

  • Enhancements:
  • #1329: Add support for syncing ownership of files
  • #7981: Show likely status of disconnected devices
  • #8296: Auto-accepted receive-encrypted folders should have more sensible defaults
  • #8448: Remove "restart on wakeup" functionality

New in Syncthing 1.20.4 (Aug 2, 2022)

  • Bugfixes:
  • #7458: Syncthing announces address of interface which is down
  • #8479: Panic in failure reporting
  • Enhancements:
  • #8007: Support listing the discovered devices using the cli

New in Syncthing 1.20.4 RC 1 (Jul 12, 2022)

  • Bugfixes:
  • #7458: Syncthing announces address of interface which is down

New in Syncthing 1.20.3 (Jul 12, 2022)

  • Bugfixes:
  • #8369: Shared device names are missing from "Edit Folder -> Sharing"
  • #8376: Chrome Autofill Breaks Authentication
  • #8386: Ignore patterns with wildcard and non-ASCII characters don't work as expected
  • Enhancements:
  • #8393: Warn if two devices are introducers to each other

New in Syncthing 1.20.3 RC 1 (Jun 15, 2022)

  • Bugfixes:
  • #8376: Chrome Autofill Breaks Authentication

New in Syncthing 1.20.2 RC 1 (May 10, 2022)

  • Bugfixes:
  • #7289: TCP port 0 is announced in the LAN beacon
  • #8314: https://relays.syncthing.net/endpoint contains non-valid URLs with spaces
  • Enhancements:
  • #8264: Include default ignore patterns in the GUI's advanced configuration editor

New in Syncthing 1.20.1 (May 5, 2022)

  • Bugfixes:
  • #8320: Spurious failure of new connections ("unknown (newer?) version of the protocol" etc)

New in Syncthing 1.20.0 (May 5, 2022)

  • Bugfixes:
  • #7855: Watching for changes using too many system resources on BSDs (kqueue)
  • #8020: Dangling symlink prevents filesystem watcher on Solaris
  • #8232: Missing include file endlessly spams log
  • #8258: The latest version does not support go1.18 compilation!!
  • #8261: TypeError: Cannot read properties of null (reading 'status') in the GUI after killing Syncthing
  • Enhancements:
  • #8202: Indicate folders / devices where the remote end has not accepted sharing.
  • #8282: Change default log format to include date
  • Other issues:
  • #8279: Simplify tests using T.TempDir

New in Syncthing 1.19.2 (Apr 15, 2022)

  • Enhancements:
  • #8180: Make error message upon reaching the free space quota more clear

New in Syncthing 1.19.1 (Mar 8, 2022)

  • Bugfixes:
  • #7850: junctionsAsDirs requires folder pause and resume to trigger
  • #7924: notify: File mode change events not emitted on MacOS/FSEvents watcher
  • #8083: Device ID should be read-only and "nearby devices" should be hidden when adding a new pending device
  • #8143: Behavior of discovery server doesn't match documentation
  • #8145: Folder ID not editable in add folder dialog
  • Enhancements:
  • #7942: Improve error message about folder marker outside of folder
  • #8130: CLI: add command to print pending folders offered by specific device

New in Syncthing 1.19.0 (Feb 8, 2022)

  • Bugfixes:
  • #8103: API: /rest/system/connections has misleading "total" entries
  • Enhancements:
  • #7428: Add ignore patterns to folder defaults
  • #8090: Allow specifying ports in --generate

New in Syncthing 1.18.6 (Jan 18, 2022)

  • Enhancements:
  • #8050: Display a warning when the ignore delete option is enabled
  • #8068: Request: show pending devices/folders in CLI

New in Syncthing 1.18.5 (Dec 14, 2021)

  • Bugfixes:
  • #7715: Deleted encrypted files don't show up as locally changed in web UI
  • Enhancements:
  • #7115: Use CRLF instead of LF in config.xml and .stignore on Windows
  • #8014: Send TLS SNI to relay server
  • #8021: Provide a way to preset GUI credentials with password hashing

New in Syncthing 1.18.4 (Nov 14, 2021)

  • Bugfixes:
  • #7991: Encryption trailer not updated on shortcut
  • #7994: Index "out of sync with reality" on receive-encrypted folder
  • #8000: stdiscosrv + strelaysrv systemd services not restarting on upgrade
  • #8012: Not retrying to sync when a new connection is established
  • Enhancements:
  • #4293: make "Reduced by ignore patterns" label act like "editIgnoresButton"

New in Syncthing 1.18.3 (Oct 12, 2021)

  • Bugfixes:
  • #7853: gui: Superfluous quotes
  • #7935: Panic after POST /rest/system/reset
  • Enhancements:
  • #7940: "Currently Shared With Devices" list in the folder Sharing tab should be sorted alphabetically

New in Syncthing 1.18.2 (Sep 15, 2021)

  • Bugfixes:
  • #7827: The error message "given name ... differs from filesystem name ..." does not help users to resolve the issue
  • #7893: Updating ignores blocks GUI when IO slots are unavailable

New in Syncthing 1.18.1 (Aug 10, 2021)

  • Bugfixes:
  • #7704: Changing folder type from receive encrypted to a different type corrupts the database
  • #7706: Delete Unexpected Items in receive encrypted folder is unable to delete ".stfolder.removed-*"
  • #7740: Incorrect local state when using negated patterns inside ignored parent folder on both sides
  • #7809: Syncthing attemps IPv4 addresses for quic6:// peers
  • #7839: Not exposed string for translation
  • #7845: Strings unavailable for translation

New in Syncthing 1.18.0 (Jul 13, 2021)

  • Bugfixes:
  • #7708: irreversible Local Additions after re-adding the same folder as Receive Only
  • #7731: Scan due to watcher can not found local change while modify file to empty
  • #7733: TypeError: Cannot read property ‘urAccepted’ of undefined
  • #7741: Out-of-sync state of zero-byte files is not reflected on peers
  • Enhancements:
  • #7700: Add rest endpoint(s) to dismiss pending folder/device invitations
  • #7705: Accepting a receive encrypted folder share should prompt the user to input a password
  • #7722: Database GC can block for a long time
  • #7724: Ensure encryption to untrusted on new, trusted device on an existing folder
  • #7742: Use defaults for missing fields on the config rest API
  • #7743: Show discovery and listener status when not failed

New in Syncthing 1.17.0 (Jun 8, 2021)

  • Bugfixes:
  • Web UI doesn't handle long machine names well
  • ChaCha priority detection logic broken
  • Files ignored on one remote do not get synced
  • Incorrect local and global states after ignoring and unignoring files
  • bug: cli subcommand is stuck on non-interactive shell
  • UTF-8 normalization doesn't work on macOS
  • CLI: strconv.ParseInt error when adding new device via CLI
  • Sharing receive encrypted folder as receive encrypted with yet another device creates conflicts
  • Enhancements:
  • Improve UDP hole punching
  • Improve logging for service failures
  • Consider removing support for TLS

New in Syncthing 1.16.1 (May 6, 2021)

  • Bugfixes:
  • #7628: upgrade with apt fails in post-inst script

New in Syncthing 1.16.0 (May 6, 2021)

  • Bugfixes:
  • #7026: panic: key not found when repairing DB
  • #7379: "Warning, this path is a subdirectory of an existing folder" does not appear when editing only folder label
  • #7533: Remote completion on untrusted devices is incorrect
  • #7548: Upgrading syncthing-relaysrv to 1.15.0 fails in post-installation
  • #7551: QUIC: failed to determine receive buffer size: doesn't have a SyscallConn
  • #7557: Encrypted folder(s) on Windows reported as "Unexpected Objects"
  • #7568: panic: runtime error: slice bounds out of range [24:3]
  • #7584: Folder label missing from folder path when adding new folders
  • Enhancements:
  • #109: Support for file encryption (e.g. non-trusted servers)
  • #3322: GUI "Out of sync" modal uses massive amounts of CPU in browser
  • #7520: Ask for confirmation before reverting/overriding a folder

New in Syncthing 1.15.1 (Apr 14, 2021)

  • Bugfixes:
  • #7532: Removing pending folders is flaky
  • #7549: Flag --config was renamed to --conf in 1.15.0

New in Syncthing 1.15.0 (Apr 6, 2021)

  • This release fixes a vulnerability where Syncthing and the relay server can crash due to malformed relay protocol messages (CVE-2021-21404); see GHSA-x462-89pf-6r5h.
  • This release updates the CLI to use subcommands and adds the subcommands cli (previously standalone stcli utility) and decrypt (for offline verifying and decrypting encrypted folders).
  • With this release we invite everyone to test the "untrusted (encrypted) devices" feature. You should not use it yet on important production data. Thus UI controls are hidden behind a feature flag. For more information, visit: https://forum.syncthing.net/t/testing-untrusted-encrypted-devices/16470
  • Bugfixes:
  • #7198: Removing a folder and re-adding it again (untrusted) makes it not sync until restart
  • #7385: infinite filesystem recursion due to missing file id
  • #7419: panic "Snapshot(): database is closed" on start after wiping database
  • #7429: "Ignore Patterns" tab disappears after visiting "Folder Defaults"
  • #7434: Non-DNS-like computer name fails creation of HTTPS certificate
  • #7451: strelaysrv v1.14.0 failing to load
  • #7466: Receive-encrypted fails after a while: file with empty block list
  • #7469: .stignore should be ignored in Receive Encrypted folders
  • #7474: Device tries to push ignored files to a remote device in a 3-device setup
  • #7481: Versioning help strings are not displayed in the GUI
  • #7509: Sharing the first folder to an untrusted device on an established connection sends plain-text
  • Enhancements:
  • #6566: Ship stcli in main package
  • #7457: Remove sub-second precision from the REST API rest/stats/device.
  • #7514: Increase default strelaysrv network buffer size
  • Other issues:
  • #4719: Package stcli as Debian package
  • #7199: Build script -no-upgrade handling is unintuitive

New in Syncthing 1.14.0 (Mar 10, 2021)

  • Bugfixes:
  • #5426: Old device removed from introducer isn't removable from other devices
  • #6086: Default Folder uses different config than user-created folders
  • #7257: Rescan All button should be greyed out when all folders are paused.
  • #7263: GUI displays Syncing (100%, 0 B) when syncing byte-sized files
  • #7267: GUI log tailing is broken if closed when scrolled up
  • #7268: Data requests block each other, and some API requests, due to casefs lock contention
  • #7270: Data requests block API requests that also touch the filesystem
  • #7273: Data requests block adding new folder
  • #7280: Stopped folder not synchronizing after a rescan
  • #7284: Do not touch .stignore on saving folder config when ignore patterns have not changed
  • #7287: Tons of "Found x elements with non-unique id #optionsInputX" JavaScript errors when opening Advanced Configuration
  • #7333: Encrypted folder fails to serve files < 1024 bytes
  • #7347: “TypeError: Cannot set property ‘connected’ of undefined” error when removing devices
  • #7354: Error message when external versioning fails is ambiguous
  • #7371: junctionsAsDirs requires Syncthing restart to trigger
  • Enhancements:
  • #944: Handle info labels that are longer than available space
  • #4224: Editable default values for folders, devices
  • #5187: Remove pending folders if remote device no longer announces them
  • #6949: Visual eye sore on Advanced Configuration page.
  • #7340: Change name from "Open Source Continuous File Synchronization" to "Syncthing" in Windows Firewall
  • Other issues:
  • #7344: Very slow tests due to encryption token generation

New in Syncthing 1.13.1 (Feb 4, 2021)

  • Bugfixes:
  • #7324: Official builds of v1.13.0 come with the Tech Ui, which is impossible to switch back from

New in Syncthing 1.13.0 (Feb 4, 2021)

  • Bugfixes:
  • #7005: panic: nil pointer dereference because (*db.Lowlevel)getMetaAndCheck() returns nil
  • #7076: File not detected due to watching reporting events on old, deleted path
  • #7165: Connections aren't actually closed when closing a protocol connection
  • #7184: Spurious unexpected directory in untrusted folder
  • #7197: In Recent Changes, the Device column is empty
  • #7231: panic: deadlock detected at fmut
  • Enhancements:
  • #7176: Active connections min/max setting
  • #7178: Pending devices and folders should live in the database instead of configuration
  • Other issues:
  • #6551: Test failure because of umask

New in Syncthing 1.12.0 (Dec 7, 2020)

  • Bugfixes:
  • #5360: Dangling symlink prevents filesystem watcher on FreeBSD
  • #6664: Panic due to internal folder context used on exported methods
  • #7063: panic: runtime error: invalid memory address or nil pointer dereference
  • #7077: GUI stuck with "id is not defined" error when trying to ignore non-existent folder
  • #7098: File deletions are not being synced in newly shared folders
  • Enhancements:
  • #6540: Config PATCH/PUT/DELETE API
  • #7099: Add a html message to GUI when javascript is disabled
  • #7108: Certificate for relaysrv with better naming

New in Syncthing 1.11.1 (Nov 3, 2020)

  • Bugfixes:
  • #7090: panics in failure reporting

New in Syncthing 1.11.0 (Nov 3, 2020)

  • This release adds the sendFullIndexOnUpgrade option to control whether all index data is resent when an upgrade is detected, equivalent to starting Syncthing with --reset-deltas. This (sendFullIndexOnUpgrade=true) used to be the behavior in previous versions, but is mainly useful as a troubleshooting step and causes high database churn. The new default is false.
  • Bugfixes:
  • #6994: "panic: filling Blocks: leveldb: snapshot released" on folder save
  • #7002: "Syncing (NaN%, 0 B)" when syncing 0-byte files
  • #7008: Filenames containing dots lead to a "The system cannot find the file specified" sync error
  • #7021: Tests fail when building the Alpine pkg on aarch64
  • #7034: Folders getting stuck in "Syncing" after a20c6ca after doing changes when folders are paused
  • #7035: Devices Announcing LAN addresses even with AnnounceLANAddresses set to off/false
  • #7036: Shutting Syncthing down while pushing files to multiple devices corrupts the database?
  • Enhancements:
  • #6982: Disable full index transmission on upgrade
  • #7020: Do not disconnect when changing folder settings
  • #7028: Detect and optionally report non-fatal failures

New in Syncthing 1.11.0 RC 1 (Oct 13, 2020)

  • This release adds the sendFullIndexOnUpgrade option to control whether all index data is resent when an upgrade is detected, equivalent to starting Syncthing with --reset-deltas. This (sendFullIndexOnUpgrade=true) used to be the behavior in previous versions, but is mainly useful as a troubleshooting step and causes high database churn. The new default is false.
  • Bugfixes:
  • #6994: "panic: filling Blocks: leveldb: snapshot released" on folder save
  • #7002: "Syncing (NaN%, 0 B)" when syncing 0-byte files
  • #7008: Filenames containing dots lead to a "The system cannot find the file specified" sync error
  • #7021: Tests fail when building the Alpine pkg on aarch64
  • Enhancements:
  • #6982: Disable full index transmission on upgrade
  • #7020: Do not disconnect when changing folder settings
  • #7028: Detect and optionally report non-fatal failures

New in Syncthing 1.10.0 (Oct 13, 2020)

  • This release adds the config option announceLANAddresses to enable (the default) or disable announcing private (RFC1918) LAN IP addresses to global discovery.
  • Bugfixes:
  • #6880: fatal error: concurrent map iteration and map write
  • #6917: Reconsider db check on upgrade
  • #6930: Can't add new folder with versioning enabled, Cleanup Interval field lacks default value
  • #6940: TypeError: Object doesn't support property or method 'startsWith' in IE 11 / Windows 7
  • #6943: Missing strings for translation
  • #6961: Accounting issue with receive-only deleted files causing spurious 95% completion for remote devices
  • #6968: Very slow scans on Windows in 1.9.0
  • #6972: Deleting a folder containing a symlink results in a permanently out of sync on windows
  • #6973: given name "syncthingxxx.tmp" differs from name in filesystem "syncthingXXX.tmp"
  • Enhancements:
  • #4277: Announce internal and external address to the global discovery service, encrypted
  • #6734: Consider moving configuration to a proto contract
  • #6928: Announce LAN addresses to global discovery
  • Other issues:
  • #5436: MultiArch for Docker

New in Syncthing 1.10.0 RC 1 (Sep 11, 2020)

  • Bugfixes:
  • #6880: fatal error: concurrent map iteration and map write
  • #6917: Reconsider db check on upgrade
  • #6940: TypeError: Object doesn't support property or method 'startsWith' in IE 11 / Windows 7
  • #6943: Missing strings for translation
  • #6961: Accounting issue with receive-only deleted files causing spurious 95% completion for remote devices
  • #6968: Very slow scans on Windows in 1.9.0
  • #6972: Deleting a folder containing a symlink results in a permanently out of sync on windows
  • #6973: given name "syncthingxxx.tmp" differs from name in filesystem "syncthingXXX.tmp"
  • Enhancements:
  • #6734: Consider moving configuration to a proto contract
  • #6928: Announce LAN addresses to global discovery

New in Syncthing 1.9.0 (Sep 11, 2020)

  • Bugfixes:
  • #1787: Case-only renames break stuff
  • #5708: Properly handle upper-/lowercase-only file name collisions
  • #6613: TestWatchRename test fails on FreeBSD.
  • #6793: Error status should take precedence over Local Additions
  • #6850: Global state incorrect when ignoring local change
  • #6864: Folder incorrectly marked “Up to Date” after switching from “Receive Only” to “Send & Receive”
  • #6867: Certificate error when built with Go 1.15
  • #6886: chmod permission after editing .stignore via WebUI not preserved
  • #6889: test failures with Go 1.15
  • #6892: Syncthing 1.8.0 trying to connect via wrong network route
  • #6898: tests in TestCopyRange fail on ppc64le with "inappropriate ioctl for device"
  • #6908: NAT service fails to terminate during Shutdown
  • #6910: Local Additions when deleting file after changing folder type from SR to RO
  • #6922: Auto accepted folders not saved
  • #6938: Modifying config during first scan corrupts folder state
  • Enhancements:
  • #2739: Syncthing should be case insensitive by default
  • #5579: Avoid anti-aliasing artifacts for svg device icons
  • #6873: Don't fail dirs in receive-only folders that were removed elsewhere but exist locally

New in Syncthing 1.8.0 (Sep 11, 2020)

  • This release:
  • adds the experimental copyRangeMethod config on folders, for use on filesystems with copy-on-write support. Please see https://docs.syncthing.net/advanced/folder-copyrangemethod.html for details.
  • adds TCP hole punching, used to establish high performance TCP connections in certain NAT scenarios where only relay or QUIC connections could be used previously.
  • adds a configuration to file versioning for how often to run cleanup. This defaults to once an hour, but is configurable from very frequently to never.
  • Bugfixes:
  • #5425: Allow editing ignore patterns texterea in GUI's folder dialog even when #include fails
  • #6733: strelaysrv can't propely unmarshall a response when joining a pool
  • #6784: Remote device completion 100% while it is actually syncing
  • #6816: fatal error: concurrent map read and map write
  • #6823: Syncthing 1.7.0 performs UPnP with NAT traversal disabled
  • #6825: "pull: no such file" for existing untouched files
  • Enhancements:
  • #4259: Attempt TCP hole punching
  • #4271: Make use of filesystems that can handle copies efficiently.
  • #6075: Feature: API check sync status of folder[s]
  • #6313: Improving disk access control in folders with file versioning
  • #6565: Create versioning directory recursively (creating parents as necessary)
  • #6795: Don't warn encountering an invalid path separator for deleted items
  • #6807: "File Pull Order" should be disabled (greyed out) for "Send Only" folders in the GUI
  • #6832: Support running syncthing Docker image as non-root user

New in Syncthing 1.7.1 (Jul 14, 2020)

  • Bugfixes:
  • #6827: syncthing 1.6.1 -> 1.7.0 fails on "failed validating data"

New in Syncthing 1.7.0 (Jul 14, 2020)

  • This release performs a database migration to optimize for clusters with many devices.
  • Bugfixes:
  • #6552: panic: Stop called more than once on ... created by nat.Service
  • #6564: Closing an already removed connection causes GUI error message
  • #6646: Misleading error message when to be deleted dir contains receive-only changes
  • #6653: panic: nil pointer dereference in leveldb.(*DB).isClosed()
  • #6654: panic: runtime error: index out of range in processNeeded()
  • #6655: panic: nil pointer dereference in checkUpgrade()
  • #6679: QUIC listener is not added when default TCP port is unavailable
  • #6697: Malformed listen address causes hang on startup
  • #6706: Changing a folder in web UI removes introduced-by info
  • Enhancements:
  • #1830: "Folder path missing" when folder path is a junction
  • #4703: Suggest setting up auth on initial startup
  • #5910: Add Badger database backend for testing and consideration
  • #6372: Reduce database size by optimizing version list storage
  • Other issues:
  • #6608: Data race in Windows fs watcher tests
  • #6625: TestRequestRemoteRenameChanged is racy/flaky

New in Syncthing 1.6.1 (Jun 3, 2020)

  • This is a fixup release on 1.6.0 in order to restore the auto upgrade critera broken in 1.5.0.
  • Bugfixes:
  • #6701: Syncthing 1.5.0+ auto upgrades even with auto upgrades disabled in config

New in Syncthing 1.6.0 (Jun 3, 2020)

  • This release performs a database schema migration, and adds the BlockPullOrder, DisableFsync and MaxConcurrentWrites folder options to the configuration schema.
  • The LocalChangeDetected event no longer has the action set to added for new files, instead showing modified for all local file changes.
  • Bugfixes:
  • #3876: Removing and re-adding a folder may cause data loss
  • #5731: 100% CPU every minute on watch setup retry
  • #6268: Out of sync panel layout overflows
  • #6557: Folder error repeatedly set and unset
  • #6559: Deadlock on folder unsubscribe
  • #6576: Versioning params in config flip flop in order
  • #6578: Allow rescan at folder state "Local Additions"
  • #6583: Distributed deadlock on request
  • #6604: Docker healthcheck fails when run in host network
  • Enhancements:
  • #5224: Accept new connections in place of old ones when appropriate
  • #6530: Add "Pause All"/"Resume All" button for devices
  • #6541: Limit number of concurrent writes while syncing
  • Other issues:
  • #6575: Incomprehensible error message: 'directory is not empty; files within are probably ignored on connected devices only'
  • #6584: A field in a structure is sometimes protected by Mutex, but sometimes unprotected.

New in Syncthing 1.5.0 (May 12, 2020)

  • Bugfixes:
  • #3808: gui: Number of days must be number flashes red then disappears
  • #5809: stdiscosrv failed to load keypair without proper error message
  • #6410: Wrong 30-days-interval in staggered versioning
  • #6430: Incorrect out-of-sync/locally changed status indication on folders
  • #6436: Revert Local Changes red button does not work correctly
  • #6440: Doesn't run monitor process when started with STNORESTART=1
  • #6450: LDAP auth doesn't handle LDAPS with certificate validation
  • #6487: Scan problem within single unignored subdirectory prevents bidirectional sync
  • Enhancements:
  • #4924: Move index db to $XDG_DATA_HOME/syncthing/
  • #5376: Improve LDAP authentication
  • #6384: Do auto upgrades early and synchronously on startup
  • #6416: Improve device status for "unused" devices
  • #6432: Deleted file that existed locally only reported as locally changed
  • #6437: Don't start browser when restarting after upgrade

New in Syncthing 1.4.2 (Apr 13, 2020)

  • This is a tiny update to fix a couple of crashes that should not have landed in 1.4.1, and revert a change to the upgrade code that puts unnecessary load on the upgrade server.
  • Bugfixes:
  • #6499: panic: nil pointer dereference in usage reporting

New in Syncthing 1.4.1 (Apr 7, 2020)

  • Bugfixes:
  • #6289: "general SOCKS server failure" since syncthing 1.3.3
  • #6365: Connection errors not shown in GUI
  • #6415: Loop in database migration "folder db index missing" after upgrade to v1.4.0
  • #6422: "fatal error: runtime: out of memory" during database migration on QNAP NAS
  • Enhancements:
  • #5380: gui: Display folder/device name in modal
  • #5979: UNIX socket permission bits
  • #6384: Do auto upgrades early and synchronously on startup
  • Other issues:
  • #6249: Remove unnecessary RAM/CPU stats from GUI

New in Syncthing 1.4.0 (Mar 20, 2020)

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

New in Syncthing 1.3.4 (Feb 10, 2020)

  • Bugfixes:
  • #4570: Negative percentage and data to sync
  • #5867: Progress bar not visible
  • #6044: Clicking "Save" in options says "You have unsaved changes" when changing automatic upgrade setting
  • #6213: Tone down STUN logging a bit
  • #6222: Connection Error on Listing More Locally Changed Files
  • #6234: Docker image uses wrong path for default folder
  • #6240: GUI: ignore patterns path is one row too low
  • #6263: Panics due to database being closed

New in Syncthing 1.3.3 (Jan 14, 2020)

  • Bugfixes:
  • #6104: Windows: Syncthing log file filling up primary drive.
  • #6133: Race condition in restarting folder
  • #6139: Some sync errors get cleared despite them still being valid
  • #6206: Soft limit for maxfiles is NOT increased to the hard one on macOS
  • Enhancements:
  • #5887: Upgrade Button Does Not Have Confirmation Dialog
  • #6057: "Nearby devices" links should look more like links (mouse pointer)
  • #6190: Do not create .stignore if there are no ignore patterns

New in Syncthing 1.3.2 (Dec 10, 2019)

  • Bugfixes:
  • #5810: GUI theme not changing on WebKit-based/like browsers
  • #5968: Folder "Up To Date" but has pending "Revert Local Changes"
  • #5980: (De)select all not working in add device dialog
  • #6027: Folder shows as "Syncing" when there is no data transfer
  • #6043: Cannot exit after failed startup
  • #6081: QUIC accept error loops too quickly, causing excessive log output
  • #6090: Pull-scan loop due to symlink traversal
  • #6093: cmd/stdiscosrv: Data race in replication
  • #6136: API + UI device last seen is empty/Never
  • #6160: Uses too much RAM when syncing large files (1.3.0+)
  • Enhancements:
  • #6036: Generate HTTPS certificates accepted by iOS 13 / macOS Catalina
  • #6056: Improve sharing tab when there are no devices to share with
  • #6115: Change Web UI based on prefers-color-scheme

New in Syncthing 1.3.0 (Oct 18, 2019)

  • This release adds the "databaseTuning" config option to adjust parameters for the database size in use. The default is "auto" which automatically determines appropriate parameters. The other options are "small" (results in the parameters used previously, and used now for small databases) and "large" (results in the new parameters for large databases, regardless of the actual database size).
  • Bugfixes:
  • #5985: Log spam and high CPU use if #include path is wrong in .stignore
  • Enhancements:
  • #5138: Rate limit can be very bursty
  • #5948: Improve free space checking when syncing
  • #5966: Database performance: improve situation with huge databases
  • Other issues:
  • #5924: Upgrade server JSON generator
  • #5991: lib/api: TestHostCheck never finishes with Go 1.13rc2 under Docker
  • #5999: Allow providing your own ldflags for building

New in Syncthing 1.2.0 (Jul 25, 2019)

  • Bugfixes:
  • #4170: panic: bug: ClusterConfig called on closed or nonexistent connection
  • #5609: Filesystem watching failed when parent folder is not listable
  • #5652: Connection error after closing failed items list and opening another list
  • #5765: Verioner cleanup looks at the wrong time
  • #5766: Support bundle doesn't include errors list, instead printing an error
  • #5770: Scan failure blocks "Rescan" button
  • #5777: Spurious need to "revert" nonexistent changes with Receive Only folder on Android
  • #5780: Panic when folder disappears while scanning
  • #5781: Shutdown takes too long, triggering fmut deadlock panic
  • #5791: Puller complains about invalid filenames which are long gone
  • Enhancements:
  • #959: Automatic error log sending to dev. team
  • #3345: Show last connection error per discovered address
  • #5377: Use of QUIC for transport
  • #5631: Dockerfile ENTRYPOINT doesn't pass along extra arguments from "docker run"
  • #5697: Handle fatal watch errors gracefully
  • #5774: WebUI table column widths broken on narrow displays
  • Other issues:
  • #5760: Dead link in README.md
  • #5796: TestPullInvalidIgnoredSR/SO is flaky

New in Syncthing 1.1.2 (May 9, 2019)

  • Bugfixes:
  • #5332: Duplicate Files Names in Out of Sync List
  • #5456: Folder marked as "Up to Date" with failed items
  • #5578: Filesystem Watcher Error on v1.1.0
  • #5624: Simple Syncthing invocations take a long time to run
  • #5676: Systemd circular dependency prevents startup
  • Enhancements:
  • #1223: Mention license in "About" dialog
  • #5554: Unnecessary time precision in pendingFolder/pendingDevice config entries

New in Syncthing 1.1.1 (May 9, 2019)

  • Bugfixes:
  • #5531: Flush to database based on size instead of entries
  • #5571: Dir/symlink updates overwrite conflicts & unscanned files
  • #5599: Default folder in v1.1.0 isn’t created with useLargeBlocks = true
  • Enhancements:
  • #4921: Syncthing should guard against running old versions with new config
  • #5065: Add support for TLS1.3
  • #5346: Systemd unit should declare after=multiuser.target
  • #5560: Change "Introduced by" icon
  • #5569: Outdated copyright notes in "About" dialog
  • Other issues:
  • #1101: Syncthing has no easter eggs
  • #5480: Better describe exposed volumes in our Docker image

New in Syncthing 1.1.0 (Mar 6, 2019)

  • Bugfixes:
  • #5482: minHomeDiskFreePct is still present in fresh configs
  • #5493: Monitor bug: TERM signaling not passed to syncthing process
  • #5557: Hashing performance degradation when using large blocks
  • Enhancements:
  • #5365: .desktop files: desktop-entry-lacks-keywords-entry
  • #5445: User/group ownership following parent dir
  • Other issues:
  • #5077: TestWatchIgnore is flaky (OpenBSD (-current) Test failed)
  • #5246: TestParentDeletion fails on OpenBSD
  • #5311: Update prometheus/common/expfmt to pass tests on go1.11
  • #5454: build.go setup problems with gomodules
  • #5495: Dockerhub Docker builds fail continously
  • #5515: Missing string from Transifex
  • API Changes:
  • Change #5479 introduces the new copyOwnershipFromParent folder
  • configuration option. The default, false, matches the old behavior of
  • not copying ownership information.
  • Since change #5405, large (variable size) blocks are enabled by default for newly created folders.

New in Syncthing 1.0.1 (Feb 5, 2019)

  • Bugfixes:
  • #2697: Folder status "box" character not readable by screen readers / not color blindness friendly
  • #4216: "Automatic upgrades" web GUI option in pre-release versions is misleading
  • #5340: Incorrectly out of sync, sequence number oddness.
  • #5385: Deleted files show up as failed scans
  • #5389: gui: Missing icon in footer
  • #5392: Data race in model.(*folder).startWatch()
  • #5397: Scan errors about ignored files displayed in web UI
  • #5401: panic: runtime error: invalid memory address or nil pointer dereference in ignore.go
  • #5411: Illegal characters in folder name on auto accept
  • #5428: Beeps randomly on Windows
  • Other issues:
  • #5148: Consider switching to Go modules
  • #5422: TestIssue3028 flaky on windows

New in Syncthing 1.0.0 (Jan 3, 2019)

  • This major release honors the fact that Syncthing is used widely and since a while no longer "really in beta". It does not represent a breaking change. For more information refer to the announcement on the forum.
  • Bugfixes:
  • #5324: Incorrect warning when --home and path on same directory level
  • #5369: Empty file field in log when normalizePath failed
  • #5372: Event system can cause deadlock
  • Enhancements:
  • #2760: Option to limit max simultaneous scans
  • #5286: Add hardening options to systemd units
  • #5320: Show configured rate limit in the GUI
  • #5336: Show list of locally changed files for receive only folders
  • Other issues:
  • #5334: New chmduquesne/rollinghash breaks tests
  • #5362: lib/model: TestDeregister* tests are bad

New in Syncthing 0.14.54 (Dec 6, 2018)

  • Bugfixes:
  • Web GUI doesn't work in older browsers

New in Syncthing 0.14.53 (Dec 5, 2018)

  • Bugfixes:
  • File restore doesn't work on one folder
  • Logging debugging flags stay after disabling all debug facilities in the web UI
  • Disabling the minimum disk free space check on folders doesn't work
  • panic: interface conversion: interface {} is map[string]string, not map[string]interface {}
  • panic: runtime error: index out of range
  • Removed devices do not influnce the list of locally needed files
  • strelaypoolsrv, cmd/ursrv: Google maps issue in the GUI
  • panic: bug: unknown device should already have been rejected
  • Files not deleted properly when one side has ignore permissions set
  • Enhancements:
  • Directory auto-complete should be case-insensitive
  • Ship .desktop files
  • Add "select all" / "deselect all" to folder and device sharing dialogs
  • Should show indication of local files/directories that can't be scanned for whatever reason
  • Upgrade SSL Certificate to use modern cipher
  • Other issues:
  • cmd/stdiscosrv: test suite sometimes seg faults on OpenBSD
  • Update to the new prometheus client API

New in Syncthing 0.14.52 (Nov 6, 2018)

  • Bugfixes:
  • "Revert Local Changes" button stays when the file causing it is deleted
  • Unscanned/conflicting files are overwritten/removed in niche cases
  • Watcher fails due to filepath.EvalSymlinks error (FindFirstFile)
  • Folder restart can leave several folder instances running
  • Impossible to change device name from web UI
  • Enhancements:
  • CheckFolderHealth wakes up disk at index exchange
  • Disable GUI and make API available on unix socket
  • "Support bundle" download
  • Should exit with code zero when run with -help
  • Consider moving to Fork-Awesome or another free font

New in Syncthing 0.14.51 (Oct 3, 2018)

  • Bugfixes:
  • Scanning and deletes should be processed even when above the free space limit
  • panic: nil pointer dereference when unpausing folders
  • cmd/stdiscosrv: Not enough traffic breaks replication between discovery servers
  • Symlinks marked as removed on windows
  • Parent directories of unignored files keep being included and immediately ignored again
  • Progress updates are ignored for send only folders
  • cmd/stdiscosrv: Should not allow localhost addresses
  • Docker image fails when PGID set to existing group
  • panic: bug: Notify backend is processing a change outside of the filesystem root
  • Enhancements:
  • Permanently notify about initial connection requests
  • Reduce unnecessary syncing / database traversal
  • GUI authentication using LDAP
  • Other issues:
  • Suture services should not survive panics
  • Run folder tests in temporary directories

New in Syncthing 0.14.50 RC 3 (Sep 3, 2018)

  • Bug fixes:
  • #5038: Repeating INFO: UPnP parse: unrecognized UPnP device of type upnp:rootdevice
  • #5063: panic: cannot start already running folder
  • #5073: lib/logger: tests fail due to compilation error with go 1.11
  • #5089: Invalid files shouldn't affect global state
  • #5144: Tests fail on Go 1.11 / Windows
  • #5149: Index updates lost
  • Other issues:
  • #3595: stdiscosrv: Doesn't build on Solaris
  • #5043: root on symlinked path causes panic when using "Watch for changes"

New in Syncthing 0.14.50 RC 2 (Aug 15, 2018)

  • Bug fixes:
  • #5038: Repeating INFO: UPnP parse: unrecognized UPnP device of type upnp:rootdevice
  • #5063: panic: cannot start already running folder
  • #5073: lib/logger: tests fail due to compilation error with go 1.11
  • #5089: Invalid files shouldn't affect global state
  • Other issues:
  • #3595: stdiscosrv: Doesn't build on Solaris

New in Syncthing 0.14.50 RC 1 (Aug 7, 2018)

  • Bug fixes:
  • #5038: Repeating INFO: UPnP parse: unrecognized UPnP device of type upnp:rootdevice
  • #5063: panic: cannot start already running folder
  • #5073: lib/logger: tests fail due to compilation error with go 1.11
  • #5089: Invalid files shouldn't affect global state
  • Other issues:
  • #3595: stdiscosrv: Doesn't build on Solaris
  • Also:
  • This release includes initial support for "receive only" folders.

New in Syncthing 0.14.49 (Jul 25, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.49 RC 4 (Jul 11, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.49 RC 3 (Jul 6, 2018)

  • Bug fixes:
  • #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
  • #5002: v0.14.48 panic: runtime error: index out of range
  • Enhancements:
  • #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

New in Syncthing 0.14.49 RC 2 (Jun 19, 2018)

  • Bug fixes:
  • #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
  • #5002: v0.14.48 panic: runtime error: index out of range
  • Enhancements:
  • #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

New in Syncthing 0.14.49 RC 1 (Jun 12, 2018)

  • Bug fixes:
  • #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
  • Enhancements:
  • #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:
  • #4965: Web UI JS error due to missing folder attribute in global change list

New in Syncthing 0.14.48 (Jun 5, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.48 RC 4 (May 14, 2018)

  • Bug fixes:
  • #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
  • #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

New in Syncthing 0.14.47 / 0.14.48 RC 3 (May 10, 2018)

  • Bug fixes:
  • #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
  • Enhancements:
  • #4807: Support variable sized blocks
  • #4896: Thousand separator for numbers in GUI
  • Other issues:
  • #4909: Custom Windows icon missing in latest release

New in Syncthing 0.14.48 RC 2 (May 8, 2018)

  • Bug fixes:
  • #4875: Zeroed local/global "state" (local files untouched) and remote file deletion with root Windows symlink
  • #4897: Pausing on introducer removes device on other devices
  • #4903: Syncthing recreates the directories for deleted/missing "Folders"
  • #4918: GUI unresponsive or unusable with many folders or devices
  • Enhancements:
  • #4807: Support variable sized blocks
  • #4896: Thousand separator for numbers in GUI
  • Other issues:
  • #4909: Custom Windows icon missing in latest release

New in Syncthing 0.14.48 RC 1 (May 8, 2018)

  • #4926: v0.14.48-rc.1 announces folders that are not shared with the given device

New in Syncthing 0.14.47 (May 6, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.47 RC 4 (Apr 24, 2018)

  • Bug fixes:
  • #4885: fsWatcher Permission Denied WebUI notification.

New in Syncthing 0.14.47 RC 3 (Apr 19, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.46 (Apr 5, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.46 RC 2 (Mar 28, 2018)

  • Changes since v0.14.46-rc.1:
  • #4841: Un-ignoring a file that doesn't exist locally results in deletion on remote devices

New in Syncthing 0.14.46 RC 1 (Mar 28, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.45 (Mar 12, 2018)

  • Bug fixes:
  • #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 sub-paths
  • #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

New in Syncthing 0.14.45 RC 3 (Feb 20, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.45 RC 2 (Feb 13, 2018)

  • Bug fixes:
  • #2571: Replacing a directory with a symlink or vice versa is buggy
  • #4560: Windows - External File Versioning Command path requires instead of
  • #4573: Inaccessible files during scan are marked as deleted
  • #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

New in Syncthing 0.14.44 (Feb 9, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.44 RC 3 (Jan 19, 2018)

  • Bug fixes:
  • #4681: "Failed to lower process priority: set niceness: permission denied" when already niced
  • $4679: "Failed to lower process priority: set process group: operation not permitted" when session leader

New in Syncthing 0.14.44 RC 1 (Jan 17, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.43 (Jan 9, 2018)

  • Bug fixes:
  • #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

New in Syncthing 0.14.43 RC 1 (Dec 31, 2017)

  • Bug fixes:
  • #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

New in Syncthing 0.14.42 (Dec 29, 2017)

  • Bug fixes:
  • #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

New in Syncthing 0.14.41 (Dec 5, 2017)

  • Bug fixes:
  • #623: Devices with ignored files stay "syncing" forever
  • #4418: No Global Discovery without Sync Protocol Listen Address
  • #4421: Local network classification doesn't always work
  • #4458: Hashed GUI password should not be rehashed
  • #4504: Pulls not triggered correctly on reconnection
  • #4505: Symlink/file replacement doesn't work properly
  • #4506: File/dir replacement doesn't work properly
  • #4510: Logging at info level and above should always include context
  • #4537: Panic in "pfilter" package on 32 bit architectures
  • Enhancements:
  • #1126: Allow syncing read-only directories as "Master Folders"
  • #4326: "Global Changes" button is confusing, retitle to "Recent Changes"
  • #4456: Dial device addresses in parallel
  • #4519: Avoid lots and lots of announced addresses in the presence of symmetric NAT
  • Other issues:
  • #4463: Split transport usage reporting per stack

New in Syncthing 0.14.41 RC 6 (Nov 24, 2017)

  • Resolved issues:
  • #4526: Panic in "pfilter" package on 32 bit architectures
  • Various connection / dialer related issues

New in Syncthing 0.14.41 RC 4 (Nov 22, 2017)

  • Resolved issues:
  • #623: Ignored files are now announced to peers, resolving the infamous "stuck at 99%" case
  • #1126: The folder marker name is configurable, allows read-only directories as send-only folder
  • #4326: The 'global changes' button is now 'recent changes'
  • #4418: Discovery now works properly when no listeners are configured
  • #4421: Local network classification is more reliable
  • #4456: Device addresses within the same priority class are dialled in parallel
  • #4458: Pre-hashed passwords can be posted as part of the configuration
  • #4505, #4506: Improved handling of when a file changes to a directory or symlink and vice versa
  • #4510: Connection logging is more consistent
  • #4519: KCP addresses are not announced when likely to be unusable due to NAT

New in Syncthing 0.14.41 RC 3 (Nov 20, 2017)

  • Resolved issues:
  • #4526: Parallel dial doesn't dial all addresses
  • #623: Ignored files are now announced to peers, resolving the infamous "stuck at 99%" case
  • #1126: The folder marker name is configurable, allows read-only directories as send-only folder
  • #4326: The 'global changes' button is now 'recent changes'
  • #4418: Discovery now works properly when no listeners are configured
  • #4421: Local network classification is more reliable
  • #4456: Device addresses within the same priority class are dialled in parallel
  • #4458: Pre-hashed passwords can be posted as part of the configuration
  • #4505, #4506: Improved handling of when a file changes to a directory or symlink and vice versa
  • #4510: Connection logging is more consistent
  • #4519: KCP addresses are not announced when likely to be unusable due to NAT

New in Syncthing 0.14.40 RC 4 (Oct 29, 2017)

  • #4471: Panic on initial startup.

New in Syncthing 0.14.40 RC 3 (Oct 29, 2017)

  • #4464: Stopped send only folders work.

New in Syncthing 0.14.40 RC 1 (Oct 24, 2017)

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

New in Syncthing 0.14.32 (Jul 14, 2017)

  • Resolved issues:
  • #4157: "Nearby devices" are now shown in the add device dialog, avoiding the need to type their device ID.0.14.32 / 0.14.33 RC 1
  • #4219: Folders that were once ignored in a sharing request now actually work properly when later added manually.

New in Syncthing 0.14.33 RC 1 (Jul 14, 2017)

  • 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

New in Syncthing 0.14.32 RC 2 (Jun 30, 2017)

  • The list of nearby devices properly filters out devices already in the configuration

New in Syncthing 0.14.31 (Jun 27, 2017)

  • 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

New in Syncthing 0.14.30 RC 1 (Jun 1, 2017)

  • #3433: Correctly clear warning "path is a subdirectory of other folder" in folder dialog
  • #3524: Conflict copies will now have the ID of the last device to change it in the name
  • #3993: Folders offered by other devices can now be ignored
  • #4072: A KCP deadlock is resolved
  • #4164: Do not require restart to send updated device name; do not send device name to unknown devices
  • #4183: Correctly show CPu usage when started with -no-restart option

New in Syncthing 0.14.29 (May 30, 2017)

  • 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

New in Syncthing 0.14.28 (May 16, 2017)

  • #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.

New in Syncthing 0.14.28 RC 3 (May 7, 2017)

  • Fix CPU usage reporting. Again.

New in Syncthing 0.14.28 RC 2 (May 5, 2017)

  • Resolved issues:
  • #4133: Fix CPU usage again on Windows

New in Syncthing 0.14.28 RC 1 (Apr 26, 2017)

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

New in Syncthing 0.14.27 (Apr 25, 2017)

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

New in Syncthing 0.14.27 RC 4 (Apr 18, 2017)

  • Reverted the inclusion of #3608 ("Ignore patterns can now be edited at folder creation time") as it caused issues we need to solve in the regular development cycle.

New in Syncthing 0.14.27 RC 3 (Apr 13, 2017)

  • #4093: Previously ignored files should not trigger the new consistency check

New in Syncthing 0.14.27 RC 2 (Apr 7, 2017)

  • #4082: Per remote device transfer rates should follow setting

New in Syncthing 0.14.27 RC 1 (Apr 6, 2017)

  • Resolved issues:
  • Devices can now have a list of allowed subnets (advanced config)
  • The transfer rate units can now be changed by clicking on the value
  • UI text explaining "Introducer" is improved
  • Advanced config editor can now edit lists of things
  • Directories created for new folders now obey the user umask setting (on Unixes)
  • Ignore patterns can now be edited at folder creation time
  • Incoming index updates are consistency checked better

New in Syncthing 0.14.26 (Apr 4, 2017)

  • Resolved issues:
  • #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.

New in Syncthing 0.14.26 RC 1 (Mar 24, 2017)

  • Resolved issues:
  • #4035: Symlinks are 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.

New in Syncthing 0.14.25 (Mar 21, 2017)

  • Resolved issues:
  • #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.

New in Syncthing 0.14.25 RC 2 (Mar 10, 2017)

  • Absolute paths given to -home now work again.
  • "Pause All"/"Resume All" icons are improved.
  • There are now mips and miple builds by default.
  • The "overwriting protected files" warning now correctly handles relative paths to the config directory.
  • The experimental KCP protocol for transfers over UDP has been merged, although it's not currently enabled by default.

New in Syncthing 0.14.24 (Mar 9, 2017)

  • Resolved issues:
  • lib/sync: Fix a race in unlocker logging
  • 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.

New in Syncthing 0.14.24 RC 1 (Feb 23, 2017)

  • Resolved issues:
  • #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.

New in Syncthing 0.14.23 (Feb 8, 2017)

  • Resolved issues: Syncthing restarts when started manually and auto upgrading

New in Syncthing 0.14.22 (Feb 7, 2017)

  • Resolved issues:
  • Leading and trailing spaces are no longer stripped in the GUI password field
  • The GUI shows remaining amount of data to sync per folder.
  • There should no longer be empty entries in the global log
  • 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.

New in Syncthing 0.14.22 RC 1 (Feb 6, 2017)

  • 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

New in Syncthing 0.14.21 (Jan 25, 2017)

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

New in Syncthing 0.14.20 (Jan 24, 2017)

  • Resolved issues:
  • There is now a warning when adding a folder that is a parent of an existing folder.
  • Using -logfile flag together with -no-restart now causes an error instead of silently failing.
  • Weak hashing is now disabled completely when the threshold percentage is > 100.
  • Rate limiting now actually works on ARM64 builds again.
  • 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.

New in Syncthing 0.14.19 (Jan 11, 2017)

  • Resolved issues:
  • Changing bandwidth rate limits now takes effect immediately without restart.
  • The event log (-audit) can now be directed to stderr for piping into another program.
  • A panic on folder listing at startup has been fixed.
  • On Windows, we now make sure to never descend into directory symlinks.
  • When a folder is deleted, the .stfolder marker is also removed. The ignore file and .stversions directory are retained, if present.
  • Several scenarios where a device would get stuck with "not a directory" errors are now handled again.
  • 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.14.17.

New in Syncthing 0.14.18 (Jan 3, 2017)

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

New in Syncthing 0.14.17 (Dec 27, 2016)

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

New in Syncthing 0.14.16 (Dec 23, 2016)

  • Resolved issues:
  • Receiving 'invalid subpath' errors on syncthing-inotify full folder sync trigger

New in Syncthing 0.14.15 (Dec 18, 2016)

  • An extra bugfix release to fix issues discovered in the upgrade from 0.14.13 to 0.14.14.
  • Resolved issues:
  • Inotify no longer triggers "invalid subpath" error
  • Symlinks are not deleted on upgrade

New in Syncthing 0.14.14 (Dec 15, 2016)

  • 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:
  • The build no longer requires Go 1.7.
  • The wording in the GUI around "last file received" is now clearer.

New in Syncthing 0.14.13 (Nov 29, 2016)

  • Resolved issues:
  • CPU usage when scanning is improved.
  • Writing config and .stignore files on filesystems without chmod support should now work.
  • Language selector stays above the bottom bar.

New in Syncthing 0.14.12 (Nov 22, 2016)

  • Resolved issues:
  • A data race in the code that caused test failures, and possibly other inconsitencies, has been resolved.
  • Links in warning messages are now clickable in the GUI.
  • Files are now synced to disk before committed to database, to avoid possible inconsistencies if a power failure occurs during syncing.
  • 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.

New in Syncthing 0.14.11 (Nov 15, 2016)

  • Resolved issues:
  • Introducers can now remove devices that they introduced
  • Syncthing now correctly reconnects to staticly configured relays
  • strelaysrv: No longer crashes with "panic: send on closed channel"
  • strelaysrv: Binding to a specific address now works better
  • Folder information in the GUI now uses icons and tooltips

New in Syncthing 0.14.10 (Nov 2, 2016)

  • Minor release recommended for all users.
  • Resolved issues:
  • Display of global and local state is clearer, especially in the presence of ignores.
  • 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.

New in Syncthing 0.14.9 (Oct 18, 2016)

  • #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).

New in Syncthing 0.14.8 (Oct 8, 2016)

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

New in Syncthing 0.14.7 (Sep 23, 2016)

  • Deadlock no longer occurs on device removal

New in Syncthing 0.14.6 (Sep 6, 2016)

  • In sync percentages no longer go negative for large numbers of deleted files.
  • Files that were deleted and then ignored are no longer deleted on other devices that didn't ignore them.
  • Configuration is no longer moved away when perfoming an upgrade on a full disk.

New in Syncthing 0.14.5 (Aug 23, 2016)

  • Resolved issues:
  • #3492, #3493: Completion percentage calculations have been improved.
  • #3513: Windows build have been fixed for Go 1.7, and now requires Go 1.7.
  • #3517: A zero progress update interval doesn't drive up CPU usage during syncing any more.
  • #3516: Virtual modtime handling has been fixed, so that master folders no longer become spuriously out of sync.
  • #3529: Temporary index sorting databases are removed from disk at startup, if left over after a hard stop.
  • #3500, #3530: Automatic upgrade takes more care to not leave temporaries behind or remove the original in case of upgrade failure.

New in Syncthing 0.14.4 (Aug 10, 2016)

  • Enhancements:
  • Timestamps are now compared with up to nanosecond precision and synced with up to microsecond precision, depending on the filesystem in use.
  • Restart no longer needed to remove devices, unshare or reconfigure folders.
  • Resolved issues:
  • #1300: In sync percentage is weighted to folder size, not just average of folder completion.
  • #3012: Files with invalid file names for Windows now show up in the list of failed items.
  • #3297: Accessibility in the GUI is improved.
  • #3305: High precision time stamps.
  • #3457: Ignores and invalid file names are now handled correctly when delta indexes are being used.
  • #3458: Files inside directories with names ending in space are now correctly handled on Windows.
  • #3466: Connection switching (relay->direct) no longer causes a crash.
  • #3468: Old index databases (v0.11-v0.12 and v0.13) are now properly cleaned away from disk.
  • #3470: Syncthing no longer claims a connection was from an ignored device when the device is just unknown.

New in Syncthing 0.14.3 (Jul 28, 2016)

  • Resolved issues:
  • #3451: Devices no longer get stuck in "out of sync" after a disconnection.
  • #3448: Syncthing no longer crashes when a connection is lost before index sending has started.
  • #3449: Temporary index databases are now created in the home (config) directory, not the system temporary directory.

New in Syncthing 0.14.2 (Jul 26, 2016)

  • Resolved issues since v0.14.1:
  • #3445: Symlinks are now synced correctly again, after a regression introduced in v0.14.1

New in Syncthing 0.14.1 (Jul 26, 2016)

  • This release includes "delta indexes", a backwards compatible protocol enhancement. Prior to delta indexes being implemented, full index information was exchanged at every connection start. With delta indexes, only index information that has changed since last contact is transferred. Delta indexes are enabled automatically between 0.14.1+ devices.
  • Resolved issues since v0.14.0:
  • #438: Delta indexes are now implemented.
  • #3440: Files that grow or shrink during scanning would result in conflicts or inconsistent data after synchronization. This issue was introduced in 0.14.0.

New in Syncthing 0.14.0 (Jul 19, 2016)

  • The Anonymous Usage Reporting Preview is now correctly formatted
  • Discovery results now respects address family for listen addresses.
  • The sync protocol, local discovery protocol and database format is now based on protocol buffers.
  • File names ending in space are now correctly marked as invalid on Windows.
  • Local discovery now quickly detects other local devices on restart.
  • A race condition causing a deadlock on folder addition is fixed.

New in Syncthing 0.14.0 RC 1 (Jul 18, 2016)

  • A protocol inconsistency was corrected, resulting in this release being incompatible with the beta.
  • #3397: The Anonymous Usage Reporting Preview is now correctly formatted

New in Syncthing 0.14.0 Beta 1 (Jul 10, 2016)

  • Fixed issues:
  • #3346: Discovery results now respects address family for listen addresses.
  • #3080: The sync protocol, local discovery protocol and database format is now based on protocol buffers.
  • #3227: File names ending in space are now correctly marked as invalid on Windows.
  • #3278: Local discovery now quickly detects other local devices on restart.
  • #3077: A race condition causing a deadlock on folder addition is fixed.
  • This is the first beta release of the upcoming v0.14 release. This release introduces a new, future extensible sync protocol and corresponding changes to local discovery and the database.
  • This v0.14 beta can only talk to other v0.14 clients, beta or future. A full rehashing of the folder contents will happen on first restart. To roll back to a v0.13 release, simply download and run a v0.13 Syncthing.

New in Syncthing 0.13.10 (Jul 4, 2016)

  • Resolved issues:
  • #3128: Generated folder IDs are now lower case.
  • #3338: Syncthing now uses shorter temporary file names, alleviating issues on encfs.
  • #3335: Event IDs seen in /rest/system/events are now sequential again.
  • #3362: Tests now pass on when building on arm64.
  • #2471: Folders are now marked "stopped" when missing a path, and duplicate folder IDs are not accepted.
  • #3375: A stalling TLS handshake no longer blocks the connection service.
  • #3346: The global discovery server now correctly handle IPv6 announces over IPv4 and vice versa.

New in Syncthing 0.13.9 (Jun 26, 2016)

  • Fixes a crash on 32 bit platforms introduced in 0.13.8.

New in Syncthing 0.13.8 (Jun 26, 2016)

  • Resolved issues:
  • #3306: The layout of the out of sync items dialog has been improved.
  • #3310: Folders are now sorted by label, falling back to ID when required.
  • #3330: Windows zip files now make sense when unpacked on non-Windows.
  • #3321: Folder name completion now works for empty names on non-Windows.
  • #2782: Folders can now be symbolic links also when using ~-relative paths.
  • New features and enhancements:
  • #3340: The discovered device addresses are now shown for disconnected devices.

New in Syncthing 0.13.7 (Jun 13, 2016)

  • Fixes the issue with the GUI being grey on startup

New in Syncthing 0.13.6 (Jun 13, 2016)

  • This is a bugfix release. There are also multiple cleanups and minor improvements to the web UI by @norgeous.
  • Resolved issues:
  • #3262: v0.13.5 -no-upgrade build now requires gcc (@calmh)
  • #3267: Favicon should not be animated (@calmh)
  • #3136: Toggling HTTP/HTTPS breaks GUI/API (@calmh)
  • #3287: Understand older/newer Hello messages (@calmh)
  • Warnings on relay connectivity issues are reduced (@scienmind)

New in Syncthing 0.13.5 (Jun 3, 2016)

  • Resolved issues:
  • #3099: Please move the debian folder - debian: Rename debian directory to debtpl (by @calmh)
  • #3201: api: /rest/system/browse behaves strangely on Windows - lib/osutil: Fix globbing at root (by @AudriusButkevicius, reviewed by @calmh)
  • #3174: Ignore patterns with non-ASCII characters causes out of memory crash - vendor: Update github.com/gobwas/glob (by @calmh)
  • #3193: Upgrading a running syncthing from CLI doesn't work - cmd/syncthing: Fix upgrade of running syncthing from CLI (by @alex2108, reviewed by @calmh)
  • #3182: Sort out http caching strategy - cmd/syncthing: Be more explicit about how assets should be cached (by @canton7, reviewed by @calmh)
  • #3204: gui: Allow Anon usage Reporting dialogue shows html code - gui: Extract URL from translated string (by @calmh, reviewed by @AudriusButkevicius)
  • #3223: Panic when connecting to relay via SOCKS proxy - lib/connections: Handle wrapped connection in SetTCPOptions (by @calmh, reviewed by @AudriusButkevicius)
  • #3223: Panic when connecting to relay via SOCKS proxy - lib/relay: Correctly get IP from remote addr via proxy (by @calmh, reviewed by @AudriusButkevicius)
  • #3201: api: /rest/system/browse behaves strangely on Windows - gui: /rest/system/browse with no arguments returns drives on Windows (by @AudriusButkevicius, reviewed by @calmh)
  • #1018: gui: Use favicon as an indicator of Syncthing status - gui: Use favicon as indication for status (by @norgeous, reviewed by @AudriusButkevicius)
  • #3236: gui: Editing a device duplicates it on the folder - gui: Fix editing devices (by @AudriusButkevicius, reviewed by @calmh)
  • #3068: Unshared folder should still have status "scanning" when scanning - gui: Show 'scanning' on unshared folders (by @norgeous, reviewed by @AudriusButkevicius)
  • #901: Re-enable autoupgrade for custom builds - cmd/syncthing: Re-enable auto upgrade for dev builds (by @calmh, reviewed by @AudriusButkevicius)
  • #3143: Date and time of last scan - lib/model, lib/stats: Keep track of folder's last scan time (by @majedev, reviewed by @AudriusButkevicius)

New in Syncthing 0.13.4 (May 26, 2016)

  • This is a bug fix release that corrects a deadlock introduced in v0.13.3.

New in Syncthing 0.13.3 (May 26, 2016)

  • This is a bug fix release to fix a number of issues introduced in the v0.13 release:
  • vendor: Replace github.com/jackpal/gateway with github.com/calmh/gateway (#3142, @calmh)
  • lib/model: Leave temp file in place when final rename fails (#3146, @calmh)
  • lib/model: Track puller creation times (#3145, @AudriusButkevicius)
  • gui: Set CSRF stuff earlier (#3138, @calmh)
  • cmd/syncthing: Correctly set, parse and compare modified time HTTP headers (#3165, @calmh)
  • lib/util: Add secure random numbers source (#3178, @calmh)
  • lib/upgrade: Prefer a minor upgrade over a major (#3163, @calmh)
  • cmd/syncthing: Do not modify events (#3002, @AudriusButkevicius)
  • lib/model: Fix wild completion percentages (#3102, @AudriusButkevicius)
  • cmd/syncthing: Use API to generate API Key and folder ID (#3179, @calmh)

New in Syncthing 0.13.2 (May 22, 2016)

  • Fixes a security flaw in the REST API and is recommended for all users.
  • Resolved issues:
  • gui: Update translations (#3125, @AudriusButkevicius)
  • lib/connections: Do not resolve addresses (#3129, @AudriusButkevicius)
  • cmd/syncthing: Enforce stricter CSRF policy on /rest GET requests (#3134, @calmh)
  • New enhancements:
  • The verbose log output (-verbose) and audit log (-audit) will now contain information about changes to local files.
  • This release changes the behavior of HTTP requests to the /rest interface. All such requests must now be accompanied by either a CSRF token or the API key.

New in Syncthing 0.13.1 (May 18, 2016)

  • Fixes two bugs resulting in things not connecting after upgrade to v0.13.0. Also please read the v0.13.0 relase notes. This release is not compatible with v0.12.x.
  • lib/config: Don't migrate non-HTTPS-URL discovery servers to new path (#3103, @calmh)
  • gui, lib: Add missing licenses (#3100, @aviau)
  • lib/connections: Correctly add port to portless tcp:// URLs (#3115, @calmh)

New in Syncthing 0.13.0 (May 17, 2016)

  • v0.13 is not protocol compatible with v0.12.
  • The database format has changed. It will be migrated without rescan on first startup, but the first startup may take longer than usual.
  • Major Changes:
  • Devices now announce files that are in progress of being downloaded, in addition to those that are already complete. This means a device can serve parts of a file to other devices before it has completed the download itself.
  • Folder labels are now distinct from the folder ID. The intention is for the label to be human readable and for the ID to be machine readable and unique. When upgrading, folder IDs are not changed. However when creating new folders Syncthing will suggest a random, unique folder ID.
  • When receiving a connection attempt from an unknown device Syncthing will now show the name of that device, not only it's ID.
  • Syncthing will now manage port mappings on NAT-PMP compliant routers, in addition to the existing UPnP support.
  • Minor Changes and Improvements:
  • Ignored files can now be tagged with the prefix (?d) to indicate that Syncthing may delete these files if they remain when deleting a directory. Ignore patterns use less memory by default.
  • The address for sync connections, both the listening side and for remote devices, can now be made IPv4- or IPv6-only. Use the tcp4:// or tcp6:// schemes to specify one or the other. The default tcp:// is still dual stack. Additionally, relays are now treated as listen addresses and set in the same configuration setting.
  • The folder settings dialog has been cleaned up.
  • The environment variable ALL_PROXY_NO_FALLBACK can be set to disable falling back to direct connections in the absence of a working proxy.
  • Many, many bug fixes.

New in Syncthing 0.12.24 (May 13, 2016)

  • Fixes the upgrade system broken in v0.12.23.

New in Syncthing 0.12.23 (May 6, 2016)

  • This is a security release to fix three vulnerabilities all related to the possibility of the automatic upgrade response being intercepted by a man-in-the-middle. In one case, a downgrade could be enforced by the attacker; in another, a denial of service could be created by serving a malformed package archive; in the third, an XSS attack could be performed against the local web UI.
  • These were all reported by Sebastian Py:
  • lib/upgrade: Enforce limits on download archives (fixes #3045) (calmh)
  • lib/upgrade: Auto upgrade signature should cover version & arch (fixes #3044) (calmh)
  • gui: Backport angular and angular-translate updates from master (calmh)

New in Syncthing 0.13.0 Beta 4 (May 4, 2016)

  • Highlights:
  • Config format change for read only / "master" folders: vs old .
  • Add env var to disable proxy fallback
  • A few bug fixes.

New in Syncthing 0.13.0 Beta 3 (Apr 15, 2016)

  • Implement temporary indexes (fixes #950)
  • Add NAT-PMP support (ref #698)
  • Add option for overwriting names on connect (fixes #2912)

New in Syncthing 0.12.22 (Apr 13, 2016)

  • cmd/syncthing: Skip a calculation if timediff is zero (#2854, @AudriusButkevicius)
  • Built with Go 1.6.1 to keep up with the day's security advisories.

New in Syncthing 0.13.0 Beta 2 (Apr 8, 2016)

  • RELEVANT CHANGES SINCE BETA.1:
  • 5a98af6 lib/ignore: Implement deletable ignores using (?d) prefix (fixes #1362) (AudriusButkevicius)
  • 492e92d gui: Show Javascript error indicator on dev builds, remove logging of missing translations (lkwg82)
  • b678b4e cmd/syncthing: Skip a calculation if timediff is zero (fixes #2854) (AudriusButkevicius)
  • cc1d122 lib/model: Correctly detect deleted but previously ignored files as deleted (calmh)
  • a4f0b85 lib/config: Disable cacheIgnoredFiles, new default is disabled (calmh)
  • 7b4e1e9 cmd/syncthing: Fix handler ordering so CORS middleware wraps all the others but the debug one (Laurent Etiemble)
  • 4c3cd4c lib/ignore: Replace lib/fnmatch with github.com/gobwas/glob (calmh)
  • 46e913d gui: Improve header and footer layout on small screens (lkwg82)
  • IMPORTANT CHANGES AND IMPROVEMENTS:
  • Folder labels are now distinct from the folder ID. The intention is for the label to be human readable and for the ID to be machine readable and unique. When upgrading, folder IDs are not changed. However when creating new folders Syncthing will suggest a random, unique folder ID.
  • IDENTIFICATION OF CONNECTIONS FROM UNKNOWN DEVICES:
  • When receiving a connection attempt from an unknown device Syncthing will now show the name of that device, not only it's ID.
  • MINOR CHANGES AND IMPROVEMENTS:
  • Ignored files can now be tagged with the prefix (?d) to indicate that Syncthing may delete these files if they remain when deleting a directory. Ignore patterns use less memory by default. Requires documentation update!
  • The address for sync connections, both the listening side and for remote devices, can now be made IPv4- or IPv6-only. Use the tcp4:// or tcp6:// schemes to specify one or the other. The default tcp:// is still dual stack.
  • The folder settings dialog has been cleaned up.

New in Syncthing 0.13.0 Beta 1 (Apr 1, 2016)

  • IMPORTANT CHANGES AND IMPROVEMENTS:
  • Folder Labels:
  • Folder labels are now distinct from the folder ID. The intention is for the label to be human readable and for the ID to be machine readable and unique. When upgrading, folder IDs are not changed. However when creating new folders Syncthing will suggest a random, unique folder ID.
  • Documentation to update:
  • Specs (BEP)
  • Getting started guide
  • "Configuration" article, adds new config fields
  • Identification of Connections from Unknown Devices:
  • When receiving a connection attempt from an unknown device Syncthing will now show the name of that device, not only it's ID.
  • Documentation to update:
  • Specs (BEP)
  • MINOR CHANGES AND IMPROVEMENTS:
  • The address for sync connections, both the listening side and for remote devices, can now be made IPv4- or IPv6-only. Use the tcp4:// or tcp6:// schemes to specify one or the other. The default tcp:// is still dual stack.
  • The folder settings dialog has been cleaned up.

New in Syncthing 0.12.21 (Mar 24, 2016)

  • lib/model: Correct handling of multiple subs when scanning (#2851, @calmh)
  • lib/model: Properly handle deleting multiple files when doing scans with subs (#2851, @calmh)
  • Clarify GUI stuff (#2819, @AudriusButkevicius)
  • Increase contrast for readonly form controls in dark theme (#2820, @wweich)
  • gui: Improve layout of footer on narrow screens (#2663, @calmh)
  • lib/relay/client: Log relay client messages (#2624, @AudriusButkevicius)
  • gui: Better accessibility for folder & device panels (#2288, @wweich)

New in Syncthing 0.12.20 (Mar 6, 2016)

  • Add priority,section and homepage to debian/control (Laurent Arnoud)
  • Fix description-contains-tabs and improve description (Laurent Arnoud)
  • gui: add a lock icon to the folder title for easy overview (fixes #2703) (@kralo)
  • gui: add html tooltips (title) to the folder path and syncthing version elements (fixes #2758) (@kralo)
  • systemd: Add syncthing-resume.service (@rumpelsepp)
  • Only test with -race on supported platforms (fixes #2765) (@calmh)

New in Syncthing 0.12.19 (Feb 15, 2016)

  • Return "No such object in the index" when /rest/db/file gets called on something that doesn't exist (@calmh)
  • Swap the corsMiddleware and the csrfMiddleware to the unauthenticated OPTIONS requests are first processed. (@letiemble)
  • Report versioning usage in usage report (@calmh)

New in Syncthing 0.12.18 (Feb 8, 2016)

  • Add -paths option to print config, key, database paths
  • Minor refactoring

New in Syncthing 0.12.17 (Jan 31, 2016)

  • Handle null case for invalid ng-model value (#2392, @tpng)
  • Use dialer in relay checks (#2732, @AudriusButkevicius)

New in Syncthing 0.12.16 (Jan 25, 2016)

  • Don't require restart for usage reporting changes (#2704, @calmh)
  • Restart on Debian package upgrade (@calmh)
  • Avoid spurious scans with inotify package (#2151, @plouj)

New in Syncthing 0.12.15 (Jan 18, 2016)

  • Handle race within the job queue (#1263, @AudriusButkevicius)
  • Improve API/GUI shutdown handling (#2694, @calmh)
  • Don't crash on folder remove while pulling (#2705, @calmh)

New in Syncthing 0.12.14 (Jan 14, 2016)

  • This is a security update. The Windows builds are now done using Go 1.6beta2, otherwise this is identical to v0.12.13.

New in Syncthing 0.12.13 (Jan 14, 2016)

  • This build is a security update.
  • Add support for themes (#1925, @AudriusButkevicius)
  • Don't leak sendIndexes on disconnect (#2589, @calmh)
  • Always run relaying when enabled (#2665, @calmh)
  • Update 'Edit' menu to 'Action' menu (#2662, @kluppy)

New in Syncthing 0.12.12 (Jan 10, 2016)

  • Update kardianos/osext (#2650, @calmh)
  • Change default max conflicts to 10 (#2604, @calmh)
  • Don't conflict copy conflict copies (#2605, @calmh)
  • Don't allow in use CSRF tokens to expire (#1008, @calmh)
  • Add relaying to main settings dialog (#2433, @calmh)
  • Don't resolve destination address until we need to (#2671, @calmh)
  • More fine grained locking in discovery cache (#2667, @calmh)
  • Added STNODEFAULTFOLDER envvar to skip default folder creation on new install (#1515, @nrm21)

New in Syncthing 0.12.11 (Jan 3, 2016)

  • Remove windows specialisation from osutil.GetLans (#2192, @AudriusButkevicius)
  • Ensure loaded config is free of duplicate devices (#2627, @calmh)
  • Show device ID QR code from edit dialog (#1494, @ironmig)
  • Don't warn about failed ignores if folder unhealthy (#2630, @AudriusButkevicius)
  • Detect nonstandard hash algo and stop folder (#2314, @calmh)
  • Also build linux-arm64, linux-ppc64, linux-ppc64le (@calmh)
  • Disallow adding duplicate device ID in GUI (@ironmig)

New in Syncthing 0.12.10 (Dec 27, 2015)

  • Don't crash on stat error in ensureDir (#2608, @calmh)
  • Correctly set default logfile location on Windows (#2608, @calmh)
  • Consider tempfile when checking for free space (#2598, @andersonvom)
  • Update kardianos/osext (#1272, @calmh)
  • Remove fixed footer at first media break (#2454, @andersonvom)
  • Update mtime of config file before upgrading (#2509, @andersonvom)
  • Correct GUI asset dir handling (#2621, @calmh)

New in Syncthing 0.12.9 (Dec 20, 2015)

  • Example GUI override address (#2530, @calmh)
  • Additional output on insufficient error (#2580, @Zillode)
  • Add command line option to open GUI (#2210, @andersonvom)
  • Always exit via error select, making sure reader routine is exits (#2547, @AudriusButkevicius)
  • Don't verify free space for files when folder MinDiskFreePct==0 (#2600, @calmh)
  • Edit device after accepting new connection (#1929, @andersonvom)

New in Syncthing 0.12.8 (Dec 14, 2015)

  • Correct type assertion in verbose logger, restart (#2561, @calmh)
  • Remove Android hacks (#2505, @calmh)
  • upnp: Use a separate error for the error unmarshalling (@wkennington)

New in Syncthing 0.12.7 (Dec 7, 2015)

  • Filenames added to audit log in the LocalIndexUpdated event (#2549, @nrm21)
  • staticClient.connect(): don't handshake twice (fixes #2547, #2548) (@canton7)
  • Fix STTRACE=http (it should use the http debug logger) (@calmh)

New in Syncthing 0.12.6 (Dec 2, 2015)

  • Allow #urPreview to scroll in the browser (#2537, @canton7)
  • Fix deleting folders on WinXP (#2522, @buinsky)
  • New key for discovery-*-3
  • Handle backoff on discovery

New in Syncthing 0.12.5 (Nov 29, 2015)

  • Update osext dependency (#1272, @calmh)
  • Compact database on startup (#2400, @calmh)
  • Don't chmod in Atomic on android (#2472, @kluppy)
  • Fix symlinks (#2524, @AudriusButkevicius)
  • Generate ECDSA keys instead of RSA (#2523, @calmh)
  • Take timeout into account when dialing (#2521, @AudriusButkevicius)
  • Improve upgrade error messages (#2510, @plouj)

New in Syncthing 0.12.4 (Nov 23, 2015)

  • Warn the user if they're running with an insecure looking setup (#2139, @calmh)
  • Add remaining scanning time (#2484, @calmh)
  • Handle sparse files (#245, @calmh)
  • Improved relay handling (@AudriusButkevicius)

New in Syncthing 0.12.3 (Nov 16, 2015)

  • Fix address list in DeviceDiscovered, add debug prints (#2444, @calmh)
  • Audit logins with new LoginAttempt event (#2377, @tylerbrazier)
  • More local discovery URL debugging (#2444, @calmh)
  • Made upgrade-system smarter (#2446, @Stefan-Code)
  • Remove folder without restart (#2262, @calmh)
  • Don't dirty blockmap key between lookups (#2455, @calmh)

New in Syncthing 0.12.2 (Nov 9, 2015)

  • Change a discovery server certificate
  • Fix "INFO: bug: uncached path call" log output on first startup

New in Syncthing 0.12.1 (Nov 6, 2015)

  • Actually do negative caching on failed discovery lookups

New in Syncthing 0.12.0 (Nov 5, 2015)

  • Minor Changes and Improvements:
  • :heavy_check_mark: Scanning Progress Indicator - Folders now indicate scanning progress in percent in the same way as while syncing.
  • :heavy_check_mark: Device Pause/Resume - Devices can be paused in the GUI, which means they will stay disconnected and consume no data quota or other resources.
  • :heavy_check_mark: Signed Automatic Upgrades - Automatic upgrades are now cryptographically signed and verified before an update is applied. This also goes for manual upgrades à la syncthing -upgrade-from http://.../syncthing.tar.gz, which is thus a safe way to upgrade to a package of unknown provenance... There is a new CLI utility stsigtool to manually generate and verify signatures. There is a documentation article1 on the subject.
  • :heavy_check_mark: Extended Usage Reporting - Syncthing now reports what features are in use (such as Introducer, Master Folder, etc), as well as wether default or custom discovery and relay servers are used, and the number of CPUs in the system. This provides us with guidance about where to focus efforts. As this is a change from the previously reported data set, any previous acceptance of anonymous usage reporting is automatically revoked and the question pose again some time after installation. The exact details of the new report values are here8 and here7.
  • :heavy_check_mark: Relaxed Folder ID Restrictions - Folder IDs used to be limited to a strict subset of ASCII with very few non-word characters, and maximum 64 characters. Ideally, we should have separation between the folder ID and it's label, but we're not there yet. However, in v0.12 you can use whatever characters you like, up to 256 bytes. This means accents, special characters, Cyrillic or Asian scripts, and so on.
  • :heavy_check_mark: Debug Output via API - New API methods allow setting the debug flag on all of the existing debug facilities, and getting log output. Actual debug UI to be added.
  • :heavy_check_mark: Proxy support - Syncthing can now connect through a SOCKS5 proxy. Set the environment variable all_proxy before starting Syncthing, to a URL on the form socks5://host:port. This may get a cleaner way to configure it with time...

New in Syncthing 0.12.0 RC 6 (Nov 1, 2015)

  • Bug fixes!
  • Optimizations!

New in Syncthing 0.12.0 RC 5 (Oct 23, 2015)

  • Don't deadlock on config change

New in Syncthing 0.12.0 RC 3 (Oct 22, 2015)

  • Release candidates should upgrade to other release candidates

New in Syncthing 0.12.0 RC 2 (Oct 22, 2015)

  • Bug fixes
  • Performance tweaks

New in Syncthing 0.12.0 RC 1 (Oct 21, 2015)

  • Bug fixes
  • Proxy support

New in Syncthing 0.12.0 Beta 3 (Oct 12, 2015)

  • API for debug output
  • Bug fixes

New in Syncthing 0.11.26 (Oct 2, 2015)

  • Don't check for free space on master folders (#2236, @calmh)
  • Subscribing to events should not bump event ID (#2329, @calmh)
  • Correctly report errors encountered parsing ignores (#2309, #2296, @calmh)
  • Create missing directories when necessary ("dst stat dir: ..." error)
  • Add syncthing-inotify.service optional systemd dependency

New in Syncthing 0.12.0 Beta 2 (Sep 28, 2015)

  • Relaxed folder IDs
  • Bug fixes

New in Syncthing 0.12.0 Beta 1 (Sep 21, 2015)

  • Both the discovery and the sync protocol has changed from v0.11. Devices running v0.12 will not discover or successfully connect to devices running v0.11.
  • If you run a private discovery server, you must upgrade it to the v0.12 release17. The protocol and port number is different, so old and new discovery servers can coexist on the same machine and serve their respective clients.
  • The API endpoint /rest/system/discovery has been removed for POST requests.
  • The default list of discovery servers is no longer explicitly in the configuration - instead the configuration entry "default" represents the full set of default discovery servers. If you need to edit this default set, watch the startup messages for a full list of used servers and edit to suit.
  • There are probably more changes to come. Do not run this release unless you're willing to participate in experimenting.
  • Important Changes and Improvements:
  • Connection Relaying:
  • Syncthing now has the ability to connect two devices via a relay when there exists no direct path between them (firewalls on both ends). There is a default set of relays that is used out of the box, although private relays can be used and relaying can of course be disabled. Relayed connections are encrypted in the usual manner, end to end, so the relay has no more insight into the connection than any other random eavesdropper on the Internet.
  • Documentation to update:
  • Specs (changes the discovery protocol)
  • Specs (the new relay protocol)
  • "Configuration" article, adds new config options, new format on some config values
  • relaysrv needs docs
  • make a release of relaysrv.
  • Device Discovery over HTTPS:
  • The global discovery protocol has been rewritten to use HTTPS over the standard port 443. A number of geographically redundant discovery servers have been deployed.
  • Documentation to update:
  • Specs (the new discovery protocol)
  • "Configuration" article, different meaning and format of globalAnnounceServer entries.
  • Minor Changes and Improvements:
  • Scanning Progress Indicator:
  • Folders now indicate scanning progress in percent in the same way as while syncing.
  • Documentation to update:
  • "GUI overview" article
  • Device Pause/Resume:
  • Documentation to update:
  • "GUI overview" article
  • Signed Automatic Upgrades:
  • Automatic upgrades are now cryptographically signed and verified before an update is applied. This also goes for manual upgrades à la syncthing -upgrade-from http://.../syncthing.tar.gz, which is thus a safe way to upgrade to a package of unknown provenance... There is a new CLI utility stsigtool to manually generate and verify signatures. There is a documentation article5 on the subject.
  • Extended Usage Reporting:
  • Syncthing now reports what features are in use (such as Introducer, Master Folder, etc), as well as wether default or custom discovery and relay servers are used, and the number of CPUs in the system. This provides us with guidance about where to focus efforts. As this is a change from the previously reported data set, any previous acceptance of anonymous usage reporting is automatically revoked and the question pose again some time after installation.

New in Syncthing 0.11.25 (Sep 13, 2015)

  • Fix incorrect "out of disk space" error when pulling files.

New in Syncthing 0.11.24 (Sep 7, 2015)

  • Correctly handle (?i) in ignores
  • Adjust defaults for number of hashers based on OS
  • Allow fractional free space percentages

New in Syncthing 0.11.23 (Sep 2, 2015)

  • Don't trust response header (#2186, @calmh)
  • Allow -logfile on all platforms (#2004, @calmh)

New in Syncthing 0.11.22 (Aug 25, 2015)

  • Reverts to using the Go 1.4.2 compiler (v0.11.21 used Go 1.5), to fix breakage around discovery and UPnP.

New in Syncthing 0.11.21 (Aug 24, 2015)

  • Recover from 'corrupted or incomplete CURRENT file' etc (#2017, @calmh)
  • Retain standard streams over restart (#2155, @calmh)
  • Add unit test for staggered versioning (#2165, @Zillode)
  • Newest first should be different from oldest first (#2161, @calmh)
  • Fix time zone error in staggered versioning (#2165, @alex2108)

New in Syncthing 0.11.20 (Aug 17, 2015)

  • Rename 'delete' to 'remove' (#1007, @Zillode)
  • Fix editing device address (#2129, @calmh)
  • Use grid instead of three-column (#2130, @calmh)
  • Stop folder when running out of disk space (#2057, @Zillode)
  • Remove double slashes in directives (#2143, @uok)
  • Change to Font Awesome icon font (#2138, @uok)

New in Syncthing 0.11.19 (Aug 10, 2015)

  • Properly rename config files during integration tests (#1769, @Zillode)
  • Add timeout for peek (#1035, @AudriusButkevicius)
  • Handle multiple case insensitivity prefixes in ignores (#2134, @calmh)

New in Syncthing 0.11.18 (Aug 3, 2015)

  • Update credits for dependencies (#2082, @Zillode)
  • Use protocol provided buffers for requests (#1157, @AudriusButkevicius)

New in Syncthing 0.11.17 (Jul 27, 2015)

  • Determine conflict winner based on change type and modification time
  • Optionally ignore remote deletes
  • Add devices without restart
  • Add folders without restart

New in Syncthing 0.11.16 (Jul 20, 2015)

  • Allow #editIgnores to scroll in browser
  • Don't let folder ID escape into HTML tag ID:s
  • Improve info text for device addresses

New in Syncthing 0.11.15 (Jul 13, 2015)

  • Revert "Merge pull request #2053 from calmh/atomicwriter"

New in Syncthing 0.11.14 (Jul 13, 2015)

  • Fix advanced option saving
  • Update protocol package
  • Update panic instructions
  • Remove one of two emits of events.DeviceConnected

New in Syncthing 0.11.13 (Jul 6, 2015)

  • Use bootstrap grid instead of column-count:3 for aligning checkboxes (#2029, @canton7)

New in Syncthing 0.11.12 (Jul 6, 2015)

  • Show FolderErrors result in UI (#1437, @calmh)
  • Fix CSRF tests (#2009, @AudriusButkevicius)
  • Fixed add device button being overlapped by footer (#1950, @brgmnn)
  • Preserve setgid bit on local directories (#2012, @brgmnn)
  • Implement "advanced configuration" dialog (#2010, @calmh)
  • Add link to home page (#1993, #1999, @calmh)

New in Syncthing 0.11.11 (Jun 29, 2015)

  • Serialize scans and pulls
  • Don't rename duplicate folders
  • Trim string slices upon loading config
  • Make ping timeout configurable

New in Syncthing 0.11.10 (Jun 22, 2015)

  • Dont warn about irrelevant symlinks, print path to culprit
  • Add label next to "Last file received"
  • Corrected API response when resetting folder
  • Don't start model until services have been added
  • Sanitize rescan interval values

New in Syncthing 0.11.9 (Jun 15, 2015)

  • Start folders before GUI/API (#1918, @calmh)
  • Correctly handle nil error in verbose logging (#1921, @calmh)
  • More resilient broadcast handling (#1907, @calmh)
  • Add trash can file versioning (#1931, @calmh)
  • Correctly set and clear errors for missing folders (#1937, @AudriusButkevicius)

New in Syncthing 0.11.8 (Jun 8, 2015)

  • Random number is too large for 32 bit archs (#1894, @calmh)
  • fix missing languages (#1902, @ralder)
  • Silence discovery warnings (#1388, @AudriusButkevicius)

New in Syncthing 0.11.7 (Jun 1, 2015)

  • Change permissions of newly created files and directories
  • Make syncthing honor both the ignorePerms and FlagNoPermBits settings

New in Syncthing 0.11.6 (May 25, 2015)

  • Set permanent UPnP lease when required
  • Support the creation of top-level folders on Windows
  • Show date and time for web GUI notification
  • UPnP discovery results must not be collected in a background goroutine
  • Be more lenient against errors when deleting

New in Syncthing 0.11.5 (May 18, 2015)

  • Same as v0.11.4, but built without crypto acceleration.

New in Syncthing 0.11.4 (May 18, 2015)

  • (Testing) If rename works we are happy (#1767, @Zillode)
  • (Testing) Add unit test for overriding ignored files (#1701, @Zillode)
  • Use md5 hash of filename for temporary file (#1786, @calmh)
  • Only restart global discovery on UPnP change if it was enabled to start with (#1799, @calmh)
  • Virtual mtime support for environments that don't support altering mtimes (#831, @cdhowie)

New in Syncthing 0.11.3 (May 18, 2015)

  • Do not remove the file when renaming on a case-insensitive platform (#1743, @Zillode)
  • Distinguish files with same name but different extension in staggered versioner (#1738, @alex2108)
  • Reschedule the next scan interval (#1591, @Zillode)
  • Wait for stdout/stderr to close (#1754, @calmh)
  • Use actual release version for release note link (#1728, @LordLandon)
  • Set the execute bit on Windows executables (#1762, @calmh)
  • Trigger pull check on remote index updates (#1765, @calmh)
  • Implement upnpSvc.Stop() (#1782, @calmh)
  • Remove system/editor specific ignores (#1778, @calmh)

New in Syncthing 0.11.2 (May 4, 2015)

  • Add osutil.Glob to deal with Windows (#1690, @AudriusButkevicius)
  • Fix HTML for "About" (#1707, @AudriusButkevicius)
  • Handle conflict with local delete (#1722, @calmh)
  • Tweak UPnP discovery, avoid non-multicast interfaces (#1721, @calmh)
  • Add verbose logging flag (#179, @calmh)
  • Added test for combining case insensitive and negated patterns (#1678, @Zillode)
  • Upgrade running Syncthing instances (#1692, @Zillode)
  • Don't create stopped folder in staggered versioning (#1749, @calmh)

New in Syncthing 0.11.1 (Apr 27, 2015)

  • Add pagination to Out of sync item list (#1509, @AudriusButkevicius)
  • Fix capitalization in HTTP-header in SOAP request (#1696, @jarlebring)
  • Also, configurable file pull order among the folder settings.

New in Syncthing 0.11.0 (Apr 22, 2015)

  • Use lowerCamelCase for the JSON API (#1338, @pascalj)
  • Suppress 'Last File Received' if a node is folder master (#1472, @sciurius)
  • Automatically fix file name normalization errors (#430, @calmh)
  • Add external versioner (#573, @alex2108)
  • Send correct MIME type for SVG images (#1506, @calmh)
  • Fix crash on walker error (#1507, @AudriusButkevicius)
  • Add flags and options for future extensibility (#1027, @calmh)
  • Don't allow arbitrarily short reconnection intervals (#1524, @calmh)
  • Handle conflicts when pulling (#220, @calmh)
  • More graceful handling on folder errors (#762, @AudriusButkevicius)
  • Support case-insensitive ignores (#1511, @Zillode)
  • Only consider relevant releases (#1285, @Zillode)
  • Push model data instead of pull (#1434, @calmh)
  • Expand locations during initialisation (#1575, @Zillode)
  • Add language select menu in webgui (#981, @ralder)
  • model: Use separate db commit routine (#1558, @calmh)
  • Add uptime in webgui (#1501, @ralder)
  • Override needs to twiddle the version a bit more (#1564, @calmh)
  • Use a socket per interface for v6 multicast (#1563, @calmh)
  • Tidy up the REST interface URLs (#1593, @calmh)
  • Change /rest/system/connections output (#1487, @AudriusButkevicius)
  • Handle long filenames on Windows (#1295, @calmh)
  • Only run deadlock detection if asked or non-release/beta (#1536, @AudriusButkevicius)
  • Update XDR dependency (#1606, @calmh)
  • Index reset should generate file conflicts (#1613, @calmh)
  • Fix total transfer rates (#1615, @AudriusButkevicius)
  • Correctly feature detect localStorage (#1632, @calmh)
  • Make UPnP discovery requests on each interface explicitly (#1113, @AudriusButkevicius)
  • Fix tests on Windows (#1531, @AudriusButkevicius)
  • Make targets writeable before removal on Windows (#1610, @AudriusButkevicius)
  • Fix capitalization (#1652, #1649, @AudriusButkevicius)
  • Fix type in device sort (#1668, @calmh)
  • Avoid spurious request for /qr?text={{myID}} (#1679, @calmh)

New in Syncthing 0.11.0 RC 1 (Apr 20, 2015)

  • Fix tests on Windows
  • Make targets writeable before removal on Windows
  • Fix capitalization

New in Syncthing 0.11.0 RC 0 (Apr 17, 2015)

  • Correctly feature detect localStorage
  • Make UPnP discovery requests on each interface explicitly

New in Syncthing 0.11.0 Beta 6 (Apr 11, 2015)

  • Only run deadlock detection if asked or non-release/beta (#1536, @AudriusButkevicius)
  • Update XDR dependency (#1606, @calmh)
  • Index reset should generate file conflicts (#1613, @calmh)
  • Fix total transfer rates (#1615, @AudriusButkevicius)
  • Fix '~' completion in add folder build assets (#1478, @zukoo)

New in Syncthing 0.11.0 Beta 5 (Apr 9, 2015)

  • Change /rest/system/connections output (#1487, @AudriusButkevicius)
  • Handle long filenames on Windows (#1295, @calmh)

New in Syncthing 0.11.0 Beta 4 (Apr 7, 2015)

  • Fixes an issue with the GUI.

New in Syncthing 0.11.0 Beta 3 (Apr 7, 2015)

  • Use separate db commit routine (#1558, @calmh)
  • Add uptime in webgui (#1501, @ralder)
  • Override needs to twiddle the version a bit more (#1564, @calmh)
  • Use a socket per interface for v6 multicast (#1563, @calmh)
  • Tidy up the REST interface URLs (#1593, @calmh)

New in Syncthing 0.11.0 Beta 2 (Apr 6, 2015)

  • Expand locations during initialisation
  • Add language select menu in webgui

New in Syncthing 0.11.0 Beta 1 (Apr 2, 2015)

  • Send correct MIME type for SVG images (#1506, @calmh)
  • Fix crash on walker error (#1507, @AudriusButkevicius)
  • Add flags and options for future extensibility (#1027, @calmh)
  • Don't allow arbitrarily short reconnection intervals (#1524, @calmh)
  • Handle conflicts when pulling (#220, @calmh)
  • More graceful handling on folder errors (#762, @AudriusButkevicius)
  • Push model data instead of pull (#1434, @calmh)

New in Syncthing 0.10.30 (Mar 30, 2015)

  • Don't allow arbitrarily short reconnection intervals (#1524, @calmh)

New in Syncthing 0.10.29 (Mar 23, 2015)

  • Send correct MIME type for SVG images (#1506, @calmh)
  • Fix crash on walker error (fixes #1507, @AudriusButkevicius)

New in Syncthing 0.10.28 (Mar 23, 2015)

  • Silence warnings (#1388, @AudriusButkevicius)
  • Suppress 'Last File Received' if a node is folder master (#1472, @sciurius)
  • Automatically fix file name normalization errors (#430, @calmh)

New in Syncthing 0.10.27 (Mar 16, 2015)

  • Get version from RELEASE file if it exists, or guess from directory.
  • Do not send group/others-writable bits from Windows.

New in Syncthing 0.10.26 (Mar 12, 2015)

  • Silence discovery warnings when v6 not available (#1418, @AudriusButkevicius)
  • Make sure we start scanning at an indexed location (#1399, @AudriusButkevicius)
  • Add missing translation strings (#1430, @AudriusButkevicius)
  • Allow not to limit bandwidth in LAN (#1336, @AudriusButkevicius)
  • Remove red if we managed to report to atleast one discovery server (#1427, @AudriusButkevicius)
  • Compress only metadata by default (#1374, @calmh)
  • Don't yell about discovery listening and resolving (#1418, @calmh)
  • Fall back to %AppData% if %LocalAppData% is blank (#1446, @calmh)

New in Syncthing 0.10.25 (Mar 9, 2015)

  • Don't follow the prototype chain when looking for a folder name (#1387, @calmh)
  • Do not error when chmod fails when permissions are ignored (#1404, @Zillode)
  • Update goleveldb (#1414, @calmh)

New in Syncthing 0.10.24 (Mar 2, 2015)

  • Correctly handle ^ and $ in ignore patterns (#1365, @calmh)
  • All folder panels collapsed, #1034, @krozycki)
  • Also handle ()| in glob patterns (#1365, @calmh)
  • Attempt recovery of corrupted DB at startup (#987, @calmh)
  • Reduce CPU usage (#1376, @calmh)
  • Handle weird Lstat() returns for disappeared items (#1373, @calmh)
  • Ensure progress when delete-by-rename fails (#1373, @calmh)

New in Syncthing 0.10.23 (Feb 16, 2015)

  • Refuse files with unknown bits set
  • Button to rescan all folders

New in Syncthing 0.10.22 (Feb 10, 2015)

  • Ensuring path separator at the end of the folder path. (#1262, @krozycki)
  • Show information in folder panel if ignore patterns are active, #1279, @krozycki)
  • Fix issues with renames (#1302, @AudriusButkevicius)
  • Remove fd cache (#1308, @AudriusButkevicius)
  • Opening a browser happens in it's own routine (#1273, @AudriusButkevicius)
  • Add ItemFinished event (#1258, @AudriusButkevicius)
  • Added exit code definitions to systemd service files (#1324, @rumpelsepp)

New in Syncthing 0.10.21 (Jan 22, 2015)

  • Efficient renames (#1217, @AudriusButkevicius)
  • Add File Versioning to folder info (#963, @calmh)
  • Cleanup temporary files (#1239, @AudriusButkevicius)

New in Syncthing 0.10.20 (Jan 14, 2015)

  • Don't start a new refresh() loop on each UIOnline (#1143, @calmh)
  • Remove nil filenames from database and indexes (#1243, @calmh)
  • Also filter out some other obviously invalid filenames (#1243, @calmh)

New in Syncthing 0.10.19 (Jan 13, 2015)

  • Connecting to a newer node triggers autoupgrade check (fixes #1177)
  • Make discovery logging a bit better (fixes #1188)
  • Rename "Last File Synced" to "Last File Received" (fixes #1145)
  • Expose and use path separator (fixes #1163)
  • Make parallel hasher configurable, remove finisher setting (fixes #1199)
  • All roads lead to Finisher (fixes #1201)
  • Only build ARMv5 (fixes #1218)
  • Fix rendering issue on firefox when zoomed (fixes #1197)

New in Syncthing 0.10.18 (Jan 8, 2015)

  • Update key ID for signed releases in README (fixes #1180)
  • The predictableRandom test can only run once successfully (fixes #1184)
  • Use comma-ok idiom to signal files missing in database (fixes #1186)
  • Handle HTTP errors on non-event requests (fixes #1120, fixes #807)

New in Syncthing 0.10.17 (Jan 5, 2015)

  • Fix broken upgrades (fixes #1175)

New in Syncthing 0.10.15 (Jan 5, 2015)

  • Hash blocks after receipt, try multiple peers (fixes #1166)
  • New device, folder prompts (fixes #120, fixes #330)
  • Add a random perturbation to the scan interval (fixes #1150)
  • Add job queue (fixes #629)
  • Silence versioner warnings for unmatched files (fixes #1117)
  • Use ListenMulticastUDP for multicast sockets (potentially fixes #1113)
  • Use unique names for UPnP mappings (fixes #1100, fixes #1128)
  • Also check file size when determining if file is unchanged (fixes #1058)
  • Generate a random API key on initial setup (fixes #1118)
  • Make auto upgrade careful about breaking changes (fixes #1047)

New in Syncthing 0.10.14 (Dec 30, 2014)

  • Move ignore handling from index recv to puller (fixes #1133) (cadbb6b, @calmh)
  • Consolidate Windows/Unix upgrading and check MD5 (fixes #1138) (110816c, @calmh)
  • Must verify success of from-network copy during upgrade (ref #1138) (23085eb, @calmh)
  • Don't ignore ignored items forever (fixes #816) (7ac84c0, @calmh)

New in Syncthing 0.10.13 (Dec 20, 2014)

  • Revert "Update bootstrap" (fixes #1121) (e91f9a9, @calmh)

New in Syncthing 0.10.12 (Dec 17, 2014)

  • Don't exit after creating HTTPS certs (fixes #1103) (3704d2d, @calmh)
  • Patch Go for issue #9102 in build env (fixes #1112) (1c43587, @calmh)
  • Need config available for -reset (fixes #1111) (0cc815d, @calmh)
  • Remove temporaries during scan (fixes #1092) (7a1aaaf, @AudriusButkevicius)
  • Display last received file and time (fixes #292, fixes #801) (bde92d5, @AudriusButkevicius)

New in Syncthing 0.10.11 (Dec 9, 2014)

  • Revert "Cache file descriptors" (fixes #1096) (a9339d0, @AudriusButkevicius)

New in Syncthing 0.10.10 (Dec 9, 2014)

  • Escape plus sign (fixes #1090) (88a347d, @AudriusButkevicius)
  • Handle symlinks, Staggered versioner (fixes #1071) (94ab06e, @calmh)
  • Handle broken symlinks, Simple versioner (fixes #1071) (d38c81f, @calmh)
  • Run filetype and symlink integration tests with versioning (ref #1071) (3e26fdf, @calmh)
  • Enable URL lang parameter for switching languages (fixes #1080) (f62812a, @snnd)
  • Staggered versioning should use current time for filename tag (fixes #994) (c7e7791, @calmh)
  • Select repos to share with in node editor dialog (fixes #719) (05eab51, @AudriusButkevicius)
  • Avoid rounding errors (fixes #1068) (770fff2, @AudriusButkevicius)
  • Use unique versions in staggered versioner (fixes #1063) (3cbe92d, @AudriusButkevicius)
  • Reinstate 'Shared With' until a better alternative emerges (ref #1054) (a8ba778, @calmh)
  • Change to URL based announce server addresses (fixes #943) (69f8ac6, @AudriusButkevicius)
  • Use runtime info to determine ARM version for upgrade (fixes #1051) (0fde4b3, @calmh)
  • Translation update (fixes #1054) (cf00ab8, @calmh)
  • Repair Rescan button, cleanup CSS (fixes #1054) (c417dcb, @calmh)
  • Add option to disable symlinks (fixes #1017) (7ad711f, @AudriusButkevicius)
  • Increase allowed test runtimes (fixes #1049) (d669c07, @calmh)

New in Syncthing 0.10.9 (Dec 9, 2014)

  • a564510 Homogenize folder and device state to 'Up to Date' (fixes #1042)
  • fd2d2c0 Add support for multiple announce servers (fixes #677)
  • 4fdecc9 Run integration tests with -race (fixes #1043)
  • 4de39b2 Only color status text, not panel headings (fixes #1039)
  • 2748a2e Mark unused devices as 'Unused' and in warning color, show folders per device (fixes #962)
  • 2926bbf Mark unshared folders as 'Unshared' and in warning color (fixes #962)
  • 254c637 Remove top margin from checkboxes (fixes #1036)
  • 13e79c7 Clean up folder panel (fixes #964)
  • 8aa7d4b Lower the bar for when to stop restarting (fixes #1004)
  • 5251f1c Use a separate, unique ID for usage reporting (fixes #1000)
  • 34cb305 Report all rates in bytes per second (fixes #934)
  • ed85bfa Don't perform external discovery lookups until local cache has had time to warm (fixes #666)
  • c106905 Fix versioner regexp's (fixes #1023)
  • 90a3158 Showing detailed sync progress (fixes #476)

New in Syncthing 0.10.9 (Dec 2, 2014)

  • a564510 Homogenize folder and device state to 'Up to Date' (fixes #1042)
  • fd2d2c0 Add support for multiple announce servers (fixes #677)
  • 4fdecc9 Run integration tests with -race (fixes #1043)
  • 4de39b2 Only color status text, not panel headings (fixes #1039)
  • 2748a2e Mark unused devices as 'Unused' and in warning color, show folders per device (fixes #962)
  • 2926bbf Mark unshared folders as 'Unshared' and in warning color (fixes #962)
  • 254c637 Remove top margin from checkboxes (fixes #1036)
  • 13e79c7 Clean up folder panel (fixes #964)
  • 8aa7d4b Lower the bar for when to stop restarting (fixes #1004)
  • 5251f1c Use a separate, unique ID for usage reporting (fixes #1000)
  • 34cb305 Report all rates in bytes per second (fixes #934)
  • ed85bfa Don't perform external discovery lookups until local cache has had time to warm (fixes #666)
  • c106905 Fix versioner regexp's (fixes #1023)
  • 90a3158 Showing detailed sync progress (fixes #476)

New in Syncthing 0.10.8 (Nov 26, 2014)

  • b48d9a3 Don't panic when lacking symlink support on XP (fixes #1016)
  • bd91519 Add aria label on cog (closes #1020)

New in Syncthing 0.10.7 (Nov 26, 2014)

  • 9a91cc2 Use file~timestamp.ext for version (fixes #1010)
  • 59a85c1 Use custom structure for /need calls (fixes #1001)
  • 20dee61 Populate ignores upon adding a folder (fixes #996)
  • 37ebbb5 Replace directories/links with files (fixes #580)
  • c325ffd Add symlink support (fixes #873)

New in Syncthing 0.10.6 (Nov 26, 2014)

  • ddd2759 Support build.go -no-upgrade install (fixes #975)
  • 70d8903 Initial 'v' in versions should not be compared on (fixes #980)
  • 46ec724 Directory auto-complete. (new feature)
  • 7106fc5 Remove existing file while handling dir (fixes #952)
  • 39a3b89 Save config on device rename (fixes #957)
  • 1795e0a Never use crappy cipher suites (fixes #945)
  • 2449723 Add list of compiled regexps to /rest/ignores (fixes #942)

New in Syncthing 0.10.5 (Nov 10, 2014)

  • Update goleveldb (fixes #811, fixes #733)
  • Allow setting rescan interval to 0 (fixes #856)
  • Do not delete temp files on error (fixes #849)
  • Do not show self in shared with (fixes #915)
  • Repair incorrect global entries at startup (ref #811)
  • Cleanup temporary files during directory removal (fixes #919)
  • Windows logfile should follow -home by default (fixes #918)
  • Don't crash on nil discoverer (fixes #917)
  • Remove extra tabs from SOAP payload (fixes #914)

New in Syncthing 0.10.4 (Nov 10, 2014)

  • Correctly check whether parent directory is writable for current user.
  • Recover from corrupt block maps
  • Don't panic on queries for nonexistent folders (fixes #765)

New in Syncthing 0.10.3 (Oct 24, 2014)

  • Don't run auto upgrade on non-release builds (fixes #901).
  • UPnP discovery fix for devices that send multiple response packets
  • Fix UPnP log spam on networks without UPnP IGDs (see #893)
  • Cleanup blockmap on update (fixes #889)
  • Be lenient towards malformed UPnP IGD UUIDs (fixes #890)
  • Add -logfile flag, Windows only
  • Remove 64 device limit
  • OpenBSD support (fixes #878)

New in Syncthing 0.10.2 (Oct 24, 2014)

  • Devices added by introducer should have dynamic address (fixes #866)
  • Enable portmapping for individual UPnP services
  • Make folder path selectable in FireFox
  • Implement identicon representation for devices.
  • Implement block fetcher (fixes #781, fixes #3)
  • Provide a data-list of locally discovered nodes when adding a new node.
  • Don't add newline on version string (fixes #865)
  • Add further nil checks (fixes #862, ref #864)
  • Cleanup temporaries once an hour (fixes #858)
  • Best attempt when creating a folder marker (fixes #857)
  • Only do initial scan if scanInterval==0 (fixes #856)
  • Keep temporaries for reuse, cleanup before pull (fixes #849, fixes #841)
  • Fix a missed nil (fixes #846)
  • -generate flag should also create config.xml (closes #847).
  • Do not return nil pointers when loading ignores (fixes #846)
  • Cache ignore file matches
  • Add lenientMtimes workaround for Android brokenness (ref #831)
  • Add folder marker (fixes #762)
  • Use HTTP server read timeout (fixes #805, fixes #806)
  • Better handling of wrong config files
  • Temporary workaround for panics in GUI/Usage reporting (ref #811)

New in Syncthing 0.10.1 (Oct 13, 2014)

  • Folders queried by the REST interface might not exist in the model (fixes #823)
  • Introducer should default to false (fixes #825)
  • Reinstate ignore permissions (fixes #818)
  • Restarting monitor process is still considered a restart (fixes #809)
  • Better version change detection (fixes #808, fixes #810)

New in Syncthing 0.10.0 (Oct 9, 2014)

  • Backwards compatible with v0.9.x, protocol wise, but has had some rather radical changes performed internally that motivates the new "major" release. The config.xml file will be upgraded to a newer format on first run (a copy will be saved). The REST interface has changed. Some translations have been removed due to being out of date, will hopefully come back online again soon. The Solaris build is reintroduced.
  • Test case and goleveldb fix (fixes #740, fixes #796)
  • Removing a nonexistent file is OK (fixes #792)
  • Reuse temporary files (fixes #4)
  • Move copyright inside (ref #779)
  • Reschedule pulls when skipping due to scan incomplete (fixes #777)
  • (origin/pr/769) Disable autoupgrade if not supported (fixes #763)
  • Directory -> Path in folder editor (fixes #772)
  • Remove temporary file on hash mismatch (fixes #771)
  • Perform initial scan asynchronously (fixes #509, fixes #464)
  • Don't perform any further checks on too short IP numbers (fixes #764)
  • Add autoUpgrade coroutine (fixes #727)
  • Rename Repository -> Folder, Node -> Device (fixes #739)
  • Don't get stuck in idle while syncing from a disconnecting node
  • Correctly handle ro dirs in ro dirs etc
  • Remove field placeholders (fixes #748)
  • Complete rewrite of the puller (fixes #638, fixes #715, fixes #701)

New in Syncthing 0.9.19 (Oct 7, 2014)

  • Add autoUpgrade coroutine (fixes #727)
  • Remove field placeholders (fixes #748)
  • Don't add duplicates for introduced nodes without repos (fixes #745)

New in Syncthing 0.9.18 (Sep 25, 2014)

  • 83ef2fa Add CPU usage tracker for Windows (fixes #729)
  • e596a45 Add "cluster introducer" functionality to nodes (ref #120)
  • 24e5000 Use JoinHostPort for URL that browser opens (fixes #732)
  • e3bcfa1 Use leveldb database lock for concurrent upgrade protection (fixes #703)
  • 434ecda LocalVersion is unavailable until after AddRepo (fixes #154)
  • b084b4f Expose ignores in the UI
  • d96ce23 Add comments directive to ignores
  • 0fcc25d Error handler in staggered Walk() (fixes #718)
  • eb0d742 Chmod error should not be fatal (fixes #612)
  • b1a31d3 Send correct Node IDs in cluster config message (fixes #707)
  • 9c68be4 GET and POST /rest/ping as no-op (fixes #680)
  • d7956dd /rest/version should return JSON (fixes #694)
  • 37a473e /rest/errors should return an object (fixes #695)

New in Syncthing 0.9.17 (Sep 19, 2014)

  • Don't take down HTTP(S) server on connection errors (fixes #700)

New in Syncthing 0.9.16 (Sep 18, 2014)

  • Ignore patterns should be case insensitive on OS X and Windows
  • Update dependencies (fixes #692)
  • More than a year ago might as well be never (fixes #690)
  • Add redirection middleware
  • Require username and password for authentication
  • Send the real hash as part of the config (fixes #681)
  • Add usage reporting preview (closes #395)
  • Restart monitor as part of the upgrade process (fixes #682)
  • Smarter limit on size of pull block queue

New in Syncthing 0.9.15 (Sep 12, 2014)

  • Don't crash on walk error (fixes #663)
  • Typo in panic message (fixes ##662)
  • We have an extra field in compressed messages
  • Make the restart on wakeup configurable
  • Clearfix to not hide Add Node on small screens (fixes #659)
  • Fix hit zone for remote nodes accordion (ref #651)

New in Syncthing 0.9.14 (Sep 11, 2014)

  • UI Tweaks
  • Don't start when the config dir is not a dir
  • Don't potentially block forever in Close() (fixes #655)
  • Don't crash on new nodes (fixes #656)
  • Announce actual port when UPnP is disabled (fixes #657)
  • Check if global discovery was actually started before trying to stop it (fixes #653)
  • Clarify clickability of top Edit menu (ref #651)
  • Entire panel title should be clickable (ref #651)
  • Hide irrelevant fields for disconnected nodes (ref #592)
  • Implement incoming rate limit (fixes #613)
  • Announce Server -> Discovery Server
  • Only add one instance of a file to the need list (fixes #592)
  • Tone down insignificant discovery error messages (ref #241)
  • Remove orphaned temp files before attempting to remove directories (fixes #492)
  • Update goleveldb (fixes #644, closes #648)
  • Add session support (fixes #611)
  • Listen for ConfigSaved event in the UI (fixes #244)

New in Syncthing 0.9.13 (Sep 6, 2014)

  • Don't start the browser on restarts (fixes #636)
  • Don't stop permanently on exit (fixes #637)

New in Syncthing 0.9.12 (Sep 6, 2014)

  • Reverts the broken restart process so restart should work again. The restart during upgrade is still managed by the old version, so will likely fail.

New in Syncthing 0.9.11 (Sep 6, 2014)

  • Check if we had successfully acquired a UPnP mapping before (fixes #627)
  • Rework .stignore functionality (fixes #561) (...)
  • count directories as files (fixes #607)
  • Don't trust mime.TypeByExtension for the easy stuff (fixes #598)
  • Limit number of open db files (fixes #587)
  • Use a monitor process to handle panics and restarts (fixes #586)
  • Add #include directive to .stignore (fixes #424)

New in Syncthing 0.9.10 (Sep 1, 2014)

  • Don't clobber staggeredMaxAge = 0 (fixes #604)
  • (origin/pr/603) Fix GUI breaking during restarts (fixes #577)
  • Don't crash under suspicious circumstances... (fixes #602)
  • Clean out index for nonexistent repositories (fixes #549)
  • For now, don't allow changing repo path (ref #549)
  • Fix connecting to discovered IPv6 address
  • Info line formatting (ref #583)
  • Fix language detection, never show untranslated strings (fixes #543)
  • Set rescan interval on default repository (fixes #579)
  • Add routine for checking possible standby (fixes #565)

New in Syncthing 0.9.9 (Aug 28, 2014)

  • Use more fnmatch-like matcher in .stignore (fixes #426)
  • Don't leak request slots (fixes #483)
  • Fix table layout for wide elements, at the price of ellipsis (fixes #326, fixes #309)
  • Display Last Seen value in the UI
  • Increase max path length 1024 -> 8192 bytes (fixes #551)
  • Fix race condition while restarting (fixes #560)
  • Allow configuring GUI options from command line and environment (fixes #505, closes #507)

New in Syncthing 0.9.8 (Aug 26, 2014)

  • New repos must have a default rescan interval (fixes #555)

New in Syncthing 0.9.7 (Aug 26, 2014)

  • Correctly set GOARM on ARM builds

New in Syncthing 0.9.6 (Aug 26, 2014)

  • Translation update (add Bulgarian, Lithuanian)
  • add staggered versioner
  • Do not fire UIOffline when navigating away
  • Enable to configure scan interval per each repository independently
  • Flush headers before potentially blocking
  • Use drained legacy pool in goleveldb
  • Windows nodes should ignore deleted impossible files
  • Don't consider empty language codes when selecting language (fixes #540)
  • Emit Node/Repo Rejected events on unknown nodes / repos.
  • build.sh -> build.go for better cross platform support
  • Implement IPv6 multicast again (fixes #346)
  • All printed warnings should have some context
  • Add repoPath and repoID as parameters to versioner factory (fixes #531)

New in Syncthing 0.9.5 (Aug 18, 2014)

  • e8a679c Advertise and update node names on cluster config exchange
  • bc885f1 Don't attempt to create default repo before config (fixes #530)
  • 49a0bfc Cache discovery results up to five minutes (fixes #358)
  • ace87ad Normalize file name format in on disk db (fixes #479)
  • 50f0097 Add Rescan button to repositories
  • 2e7d6b2 Translation update, zh-CN
  • dfef929 Translation update, handle locales precisely
  • e78d9ad Translation update (add Hungarian)
  • 213acae Include perfstats and heap profiles in standard build
  • 8976e53 Add UPnP renewal

New in Syncthing 0.9.4 (Aug 13, 2014)

  • New language: Ukranian!

New in Syncthing 0.9.3 (Aug 13, 2014)

  • Indicate aproximativeness of repo sizes...
  • Don't load block lists from db unless necessary
  • Rip out the Suppressor (maybe to be reintroduced)
  • Reduce allocations while hash scanning
  • Add heap profiling support
  • Update goleveldb
  • Use a slightly heavier Raleway for headings (fixes #493)
  • Limit size of sent indexes a bit, taking number of blocks into account
  • Implement external scan request (fixes #9)
  • Add ./build.sh noupgrade and all-noupgrade
  • Add ./build.sh clean
  • Puller entrance warning
  • Fix and refactor modals
  • POST to /config should return an error when something bad happens (fixes #489)

New in Syncthing 0.9.2 (Aug 8, 2014)

  • Add explicit GC calls after expensive db ops (ref #468)
  • Add Windows upgrade support
  • Fix root being left world writable
  • Upgrade debugging, fix upgrade on ARM (fixes #482)
  • Localize Close button in standard modals (fixes #481)

New in Syncthing 0.9.1 (Aug 7, 2014)

  • Translation update, add Danish & Dutch
  • Correctly handle file updates in read only directories (fixes #470)
  • Add no-browser flag
  • Logo update
  • Correct memory usage in anonymous report
  • Reflect memory returned to OS in RAM Utilization
  • Don't show 100 warnings for unknown repo at connect when once is enough
  • Show 100% complete status for nodes without any files to sync (fixes #453)
  • Don't overwrite Node ID field with 'corrected' format
  • Hide build version behind plus character (fixes #473)
  • Also expose ItemStarted events
  • Don't reuse existing indexes, yet (fixes #463)
  • Pull files in random-ish order again
  • Actually show Node ID in QR (fixes #471)
  • Show pull errors, stop repo when not making progress (fixes #302)
  • "52 or 56 characters" (fixes #466)
  • Use repo ID rather than path in header (fixes #425)
  • Fix statistics report preview (fixes #460)
  • Also build for freebsd-386 (fixes #458)
  • Implement -generate (fixes #459)

New in Syncthing 0.9.0 (Aug 5, 2014)

  • Important Notes:
  • Upgrade manually. Earlier versions will not update automatically to Syncthing v0.9. Download the release from https://github.com/syncthing/syncthing/releases/latest.
  • Not compatible with v0.8.x. Upgrade all nodes.
  • The cluster needs to be upgraded as a unit. Syncthing v0.9 can not talk to syncthing v0.8.
  • Upgrade the cluster when it's in sync. Syncthing v0.9 can't read the index information from v0.8 and will need to reindex all files. To avoid the risk of conflicts, do this when the nodes are already in sync.
  • Your existing indexes and a backup copy of the configuration will be moved to a directory called backup-of-v0.8 in your config directory.
  • Notable Changes:
  • GUI has been localized and is available in German, Greek, English, Spanish, French, Italian, Portuguese, Russian and Swedish; configure your browser to request your native language.
  • Memory usage for large repositories has been drastically reduced. Note that there's no such thing as a free lunch and this comes at a slight performance and CPU usage cost. This work is not done, there are still situations where syncthing uses more memory than it should.
  • GUI is event driven. Having the GUI open on an otherwise idle node does not cause high CPU usage like it sometimes would in v0.8.
  • Protocol compression is changed from deflate to LZ4, reducing CPU cost significantly. Compression can be disabled on a per node basis in the GUI.
  • Upgrades to new versions can be performed directly in the GUI (unless disabled at build time, not yet supported on Windows).
  • Node ID format has been updated, check digits added for correctness validation.
  • Directory modification times are no longer synchronized (this might be reintroduced in the future).
  • When file versioning is in use, the .stversions directory is stored in the repository root only instead of spread out everywhere. This is not migrated on upgrade, manual cleanup of old .stversions directories will be necessary.

New in Syncthing 0.9.0-beta9 (Aug 2, 2014)

  • Fixes bugs and contains smaller tweaks.

New in Syncthing 0.9.0-beta8 (Jul 31, 2014)

  • Introduces a faster hasher, slightly reduced memory usage, and more GUI languages (de, el, en, es, fr, it, pt, ru, sv).

New in Syncthing 0.9.0-beta7 (Jul 29, 2014)

  • Introduces a different, forward compatible packet format, compression can be disabled, UI is event driven (quicker to reflect what happens, uses less CPU).

New in Syncthing 0.9.0-beta4 (Jul 25, 2014)

  • Improves performance (matching these benchmarks) and fixes GUI issues.

New in Syncthing 0.8.21 (Jul 25, 2014)

  • Don't consider prereleases for -upgrade (fixes #436)

New in Syncthing 0.8.20 (Jul 24, 2014)

  • UPnP: Handle WANPPPConnection devices (fixes #431)

New in Syncthing 0.8.19 (Jul 10, 2014)

  • Revert "Add temporary debug logging for #344 (revert later)"
  • incomingIndexes should not be a package variable (fixes #344)
  • Continue discovery on connect errors (fixes #324)
  • Don't leak writer and index goroutines on close

New in Syncthing 0.8.18 (Jul 4, 2014)

  • Clean up protocol locking and closing
  • Send initial index in batches
  • Always send initial index, even if empty (ref #344)
  • Simplify locking in protocol.Index
  • Protocol state machine on receiving side
  • Log client version on connect
  • Handle query parameters in UPnP control URL (fixes #211)
  • Avoid deadlock during initial scan (fixes #389)
  • Add temporary debug logging for #344 (revert later)
  • Tone down UPnP not found message (fixes #406)

New in Syncthing 0.8.17 (Jun 27, 2014)

  • Increase deadlock timeout, make configurable (fixes #389, fixes #393)
  • Remove spurious debug output in .stignore handling
  • Connection notices are informational
  • Don't whine about unexpected EOFs
  • Ensure correct version string format

New in Syncthing 0.8.16 (Jun 23, 2014)

  • Don't deadlock on connect close while sending Index (fixes #386)
  • Detect deadlock in model and panic
  • Lower CPU usage at idle by reducing db polling
  • Simplify memory handling
  • Simplify usage reporting config options (fixes #370)
  • Handle .stignore correctly on Windows (fixes #369)
  • Hard override on changes from master repo
  • Build and memSize impl for Solaris
  • Mark repos with missing dir as invalid on startup (fixes #311)
  • Only keep track of version (not modified) for sent index

New in Syncthing 0.8.15 (Jun 16, 2014)

  • Remove old index files on startup (fixes #366)
  • Don't attempt to use broadcast with IPv6 (ref #346)
  • Reduce ping time & timeout (ref #358)
  • Show out of sync items, rename files->items (fixes #312, fixes #352)
  • Actually generate random certificate serials (fixes #361)
  • Prevent possible reordering of Index/IndexUpdate on send (ref #344)
  • Anonymous Usage Reporting
  • Drop and warn about non-normalized file names on Linux/Windows (fixes #329)
  • Fix header in protocol spec (fixes #360)
  • Serialize incoming indexes (fixes #344)

New in Syncthing 0.8.14 (Jun 10, 2014)

  • test against travis-ci
  • Allow prioritization of downloads based on name (fixes #174)
  • Let server side decide if restart is needed on config change
  • Reject index for existing repo from unshared node (fixes #342)
  • Remove extra whitespace around node ID (fixes #335)
  • Implement API keys
  • Implement CSRF protection for REST interface (fixes #287)
  • Tweak Shared With wording
  • Clarify repo mismatch message (fixes #331)
  • Use unique name and O_EXCL for temporary indexes (fixes #332)

New in Syncthing 0.8.13 (Jun 5, 2014)

  • Configurable log prefixing (fixes #278)
  • Handle invalid file names (Windows) (fixes #238)
  • Use clean node/repo href/id:s (fixes #317)
  • CSS fix for small screen sizes, e.g. on mobile phones
  • Upper case should be valid in repo ID
  • Total wire data should always be uint64 (fixes #315)
  • Handle write errors while saving index cache
  • Better XDR diagnostics
  • Text files in zip dists should be DOS format
  • Include CONTRIBUTORS in build, since LICENSE points to it
  • Check for error in directory walker (ref #308)
  • Resolved issue #252. Page will now refresh the protocol if it is changed

New in Syncthing 0.8.12 (May 29, 2014)

  • Fix UPnP line endings (ref #211) (thanks @viric)
  • Speed up initial sync of identical files
  • Allow repo mismatches to proceed (ref #223)
  • Don't ping timeout during long transfers (fixes #280)
  • "Simple File Versioning" -> "File Versioning"
  • Silence Windows chtime warnings (fixes #288)
  • Don't stop discovery on send errors (fixes #240)
  • Don't start repo with non-directory root (fixes #276)
  • Handle and prevent invalid repo ID. Validate node ID format. (fixes #286)
  • reformat "folder" and "shared with" table items

New in Syncthing 0.8.11 (May 27, 2014)

  • Expand tilde on Windows as well (fixes #289)
  • Default listen host should be 0.0.0.0 (again) (ref #216)
  • Send default permissions 0777 on directories when IgnorePerms set (ref #284)
  • Don't set permissions 000 on directories with NoPermissionBits set (ref #284)

New in Syncthing 0.8.10 (May 27, 2014)

  • Don't require SSE in 32 bit builds (fixes #277)
  • Simple file versioning (fixes #218)
  • Fix version comparison in upgrade
  • Configuration directory is machine local (Windows)
  • Show node ID/name/address mapping at startup (ref #249)
  • Show counters for total data transferred (fixes #265)
  • Sort list of sharing nodes (fixes #266)
  • Syncthing might be restarted after shutdown (fixes #274)
  • In Sync is now Up to Date (fixes #268)
  • Node IDs are always upper case (ref #269)
  • Expand ~/ on Windows as well
  • Simplify node/repo headers on extra-small screens
  • Wait for parent to release sockets (fixes #267, fixes #241)
  • Don't reuse certificate serials
  • Implement IgnorePerms
  • Allow GUI development with standard binary
  • Configurable local announcement port (fixes #256)
  • Fix discosrv build, build as part of all (fixes #257)
  • Fixed issue #239 Saving an unchanged config does not prompt for reboot

New in Syncthing 0.8.9 (May 22, 2014)

  • Quick re-release to fix issue that prevented nodes from being deletable...
  • Fix delete node (fixes #250)
  • Add Edit > Show ID with QR (fixes #243)
  • Show 'shutdown complete' modal (fixes #251)

New in Syncthing 0.8.8 (May 21, 2014)

  • Implement HTTPS for GUI
  • Correct units for rate limits (ref #234)
  • Explain tilde in repo editor
  • Revamp UI (fixes #185, fixes #147, fixes #136, fixes #124)
  • Find correct upgrade asset for arm (fixes #232)
  • Properly handle read-write/read-only windowsposix (fixes #236)
  • Fix handling of changed/deleted directories (fixes #231)
  • Also sync changes to only permission bits (fixes #237)
  • Failing integration test for folders + readonly (ref #231)
  • Allow node IDs with spaces/dashes in config. Use dashes in GUI. (ref #230)
  • Don't fail build on 'go vet' errors (ref #227)
  • Log connection errors at INFO level (fixes #225)
  • Don't crash on error response to UPnP query (fixes #226)

New in Syncthing 0.8.7 (May 17, 2014)

  • b60251b Show node name in title/header (fixes #221)
  • 958c39e Don't spam console with debug
  • 8903825 Use UDP broadcasts instead of multicast for discovery
  • 8f14d11 change default ListenAddress to "0.0.0.0:22000"
  • 76f82cb Make duplicate ID:s temporarily unique (fixes #153)
  • dc2f83e Add GUI validations for node and repo editors (fixes #153)
  • 79f2b3b Update Documentation link.
  • 21335d6 Do initial repository scan in parallel (ref #210)
  • 870ce57 Split node ID's into multiple parts/chunks for readability
  • 0d3caa2 Increase file limit from 100.000 to 1.000.000
  • 85d5449 Return a blank array instead of null if there are no repositories
  • 532b576 Expose discovery cache over rest interface
  • dd11972 Provide discovery hint from the outside (ref #192)
  • e8a9aba Empty directories are invalid (ref #188)
  • abbb40a Don't deadlock on closing while sending index (fixes #189)
  • 20b2333 Shutdown from GUI (ref #192)
  • 1d602b9 Enable discovery gossiping

New in Syncthing 0.8.5 (May 13, 2014)

  • Sort repos on directory (fixes #178)
  • Auto assign ports for GUI and BEP on initial startup (fixes #176)
  • Don't warn about legit requests for deleted files (fixes #173)
  • Reload configuration after lost connection or restart.
  • Restructure protocol code with less locking
  • Increase ping timeout
  • Also build windows-386 and linux-armv5
  • Rephrase Read Only into Repository Master (fixes #159)
  • Remove refereces to JS source mapping files
  • Stop repository if the directory disappears (fixes #154)
  • Streamline error handling and locking, with fix for close() race
  • Smarter initial index sending

New in Syncthing 0.8.4 (May 6, 2014)

  • Revert "Streamline error handling and locking" (fixes #172)

New in Syncthing 0.8.2 (May 1, 2014)

  • Safety: don't start if repo dir is missing (ref #154)
  • Only create default config if it is actually missing (fixes #139)
  • Handle non-word characters in repo name (fixes #152)
  • Use a more lenient cluster config check (fixes #148)
  • Show properly formatted time (fixes #149)
  • Hide temporary files on Windows (fixes #146)
  • Change default config directory (fixes #145)
  • Don't offer to delete this node (fixes #144)
  • Ensure sensible node config on load (fixes #143)

New in Syncthing 0.8.1 (Apr 24, 2014)

  • Save bcrypt hash of password (fixes #138)
  • UPnP Port Mapping (fixes #79)
  • Show status of global announce server (fixes #71)
  • Decouple local from global announcing (fixes #132)
  • Set name of first node to the local hostname (fixes #121)
  • Clear acknowledged errors server-side as well (fixes #128)
  • Handle static addresses without port (fixes #131)
  • Show restarting notification instead of network error (fixes #129)
  • Prevent GUI from rendering before it's ready (fixes #127)
  • Sort nodes on name if set, otherwise ID (fixes #119)
  • Explanatory tooltips on data (fixes #118)

New in Syncthing 0.8.0 (Apr 15, 2014)

  • Protocol change, upgrade everywhere.
  • 48bfc2d Show current repository state (fixes #89)
  • 5064f84 New Cluster Configuration message replaces Options (fixes #63)
  • 433a0cb New GUI (fixes #73, fixes #87)
  • cbae64f GUI Basic Authentication (fixes #90)
  • Performance and test improvements

New in Syncthing 0.6.6 (Mar 27, 2014)

  • Harsher integration test
  • Prevent zombie connections due to simultaneous connect
  • Ensure that we make progress on the read side of a connection
  • Test syncing large files
  • Update dependencies
  • Only sign if the key is present
  • Use godep
  • Improve TestClose
  • Fix tests for >1 CPU (fixes #99)
  • Enforce correct filename normalization (fixes #96)
  • Include signature in release bundle (ref #97)
  • Disable Windows builds for now (ref #94, #95)
  • Sign builds, upload signatures with release artefacts (fixes #97)
  • Fix local announce (IPv6 multicast, include all listen addresses)
  • Fast building assets
  • Faster and more portable assets generator
  • Merge pull request #91 from qbit/master
  • get bash path from env
  • get bash path from env