:syncthing: Syncthing v0.12.0 "Beryllium Bedbug"

Upgrade Notes

:bangbang: 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.

:bangbang: If you run a private discovery server, you must upgrade it to the v0.12 release. The protocol and port number is different, so old and new discovery servers can coexist on the same machine and serve their respective clients.

:bangbang: The API endpoint /rest/system/discovery has been removed for POST requests.

:bangbang: 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.

Important Changes and Improvements

:heavy_check_mark: 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.

(Thanks @AudriusButkevicius)

:heavy_check_mark: 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.

(Thanks @calmh)

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 article 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 here and here.

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

$ export all_proxy=socks5://
$ syncthing


I updated my three devices (2 x OS X / 1 x Windows 7) to v0.12.0 tonight, and everything seems to run perfectly fine. Came straight up and connected on- and off-site devices as expected. Will look into the relay feature later on.

1 Like

Hello, cool :slight_smile:

Any tiimeframe for the android release?


Well done everybody, great release :+1: :tada:

(special thanks for the scanning progress indicator)

1 Like

When it’s done :stuck_out_tongue:

I’m not getting much development done, and there are still some bugs to fix. But you can run the beta in the mean time (at your own risk).