Skip to content
Tags give the ability to mark specific points in history as being important
  • v1.8.0
    v1.8.0
    
    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
    
    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
    
  • v1.8.0-rc.4
    v1.8.0-rc.4
    
    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
    
    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
    
  • v1.8.0-rc.3
    v1.8.0-rc.3
    
    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
    
    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
    
  • v1.8.0-rc.2
    v1.8.0-rc.2
    
    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
    
    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
    
  • v1.8.0-rc.1
    v1.8.0-rc.1
    
    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
    
    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
    
  • v1.7.1
    v1.7.1
    
    This hotfix release fixes an issue with block validation.
    
    Bugfixes:
    
    - #6827: syncthing 1.6.1 -> 1.7.0 fails on "failed validating data"
    
  • v1.7.0
    v1.7.0
    
    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
    
  • v1.7.0-rc.1
    v1.7.0-rc.1
    
    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
    
  • v1.6.1
    v1.6.1
    
    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
    
  • v1.6.0
    v1.6.0
    
    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.
    
  • v1.6.0-rc.5
    v1.6.0-rc.5
    
    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.
    
  • v1.6.0-rc.4
    v1.6.0-rc.4
    
    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.
    
  • v1.6.0-rc.3
    v1.6.0-rc.3
    
    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.
    
  • v1.6.0-rc.2
    v1.6.0-rc.2
    
    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.
    
  • v1.6.0-rc.1
    v1.6.0-rc.1
    
    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.
    
  • v1.5.0
    v1.5.0
    
    This release changes the default location for the index database under
    some circumstances. Two new flags can also be used to affect the
    location of the configuration (`-config`) and database (`-data`)
    separately. The old `-home` flag is equivalent to setting both of these
    to the same directory. When no flags are given the following logic is
    used to determine the data location:
    
    - If a database exists in the old default location, that location is
      still used. This means existing installations are not affected by this
      change.
    - If `$XDG_DATA_HOME` is set, use `$XDG_DATA_HOME/syncthing`.
    - If `~/.local/share/syncthing` exists, use that location.
    - Use the old default location.
    
    This logic is used on non-Windows, non-Mac platforms only. On Windows
    and Mac the logic is unchanged.
    
    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
    
    Other issues:
    
    - #6471: Windows exe isn't properly version tagged
    
  • v1.5.0-rc.2
    v1.5.0-rc.2
    
    This release changes the default location for the index database under
    some circumstances. Two new flags can also be used to affect the
    location of the configuration (`-config`) and database (`-data`)
    separately. The old `-home` flag is equivalent to setting both of these
    to the same directory. When no flags are given the following logic is
    used to determine the data location:
    
    - If a database exists in the old default location, that location is
      still used. This means existing installations are not affected by this
      change.
    - If `$XDG_DATA_HOME` is set, use `$XDG_DATA_HOME/syncthing`.
    - If `~/.local/share/syncthing` exists, use that location.
    - Use the old default location.
    
    This logic is used on non-Windows, non-Mac platforms only. On Windows
    and Mac the logic is unchanged.
    
    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
    
    Other issues:
    
    - #6471: Windows exe isn't properly version tagged
    
  • v1.5.0-rc.1
    v1.5.0
    
    This release changes the default location for the index database under
    some circumstances. Two new flags can also be used to affect the
    location of the configuration (`-config`) and database (`-data`)
    separately. The old `-home` flag is equivalent to setting both of these
    to the same directory. When no flags are given the following logic is
    used to determine the data location:
    
    - If a database exists in the old default location, that location is
      still used. This means existing installations are not affected by this
      change.
    - If `$XDG_DATA_HOME` is set, use `$XDG_DATA_HOME/syncthing`.
    - If `~/.local/share/syncthing` exists, use that location.
    - Use the old default location.
    
    This logic is used on non-Windows, non-Mac platforms only. On Windows
    and Mac the logic is unchanged.
    
    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
    
    Other issues:
    
    - #6471: Windows exe isn't properly version tagged
    
  • v1.4.2
    v1.4.2
    
    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
    
  • v1.4.2-rc.1
    v1.4.2-rc.1
    
    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