Version display in UI

In the devices list, when we expand the dialog it displays that devices Syncthing version. Could we expand on that a bit and include what build it is? i.e. 32 or 64-bit?


We actually don’t advertise that, hence why it’s not available.

When would that information be useful, Rewt0r? There is a trade off between showing too much information and keeping the interface clean.

Well in our case I’ve disabled automatic upgrades on all ~15 devices we have in our cluster in order for me to be able to test each Syncthing release first.

When I’ve tested a version and I feel the users should upgrade I advise them to run a batch script that automatically upgrades their Syncthing and Syncthing-Tray applications but this is different depending on whether they are 32 or 64 bit. Therefore it would have been useful to me if it displayed what build each device is on so I can advise them which upgrade script to run in an email.

You could run a small utility in the background on each machine which checks for some file in one of the folders you are sharing for an updated URL for both 32 and 64 bit versions, and then locally decides which one to download. (Perhaps even listens on the Events interface of syncthing for ItemStarted event for that particular file to react quickly)

Can you please share this script? I’m sure it will be helpful for many admins! Thanks!

I would recommend to simply put a file named “32.txt” or “64.txt” into the same folder and check with IF EXIST filename from the batch file

@echo off
net stop Syncthing
cd %~dp0
taskkill /im syncthing-tray.exe /f
copy /V /Y syncthing*.exe C:\Syncthing\
net start Syncthing
start C:\Syncthing\syncthing-tray.exe
echo Upgrade complete

Not sure what you mean here. Just so you understand more, here is the directory structure I have to control updates:

├───Syncthing (v0.10.21) │ ├───32-bit │ │ │ install.bat │ │ │ remove.bat │ │ │ syncthing-tray.exe │ │ │ syncthing.exe │ │ │ upgrade.bat │ │ │ │ │ ├───config │ │ ├───log │ │ └───nssm-2.24 │ │ nssm.exe │ │ │ └───64-bit │ │ install.bat │ │ remove.bat │ │ syncthing-tray.exe │ │ syncthing.exe │ │ upgrade.bat │ │ │ ├───config │ ├───log │ └───nssm-2.24 │ nssm.exe

Why not have a single batch script which does:

IF "%PROCESSOR_ARCHITECTURE%"=="x86" (set BITS=32) else (set BITS=64)

and then:

copy /V /Y syncthing%BITS%.exe C:\Syncthing\syncthing.exe

You know I forgot about that variable, I’ll update the script to how I want it and then post it back here :smile:

automatically upgrades

How do you download the new files from Github? wget? Or do you manually copy the files and use Syncthing to distribute them to each machine?


Where did you download this file?

Not sure what you mean here

I mean during first install you put file “32bit.txt” or “64bit.txt” on the machine (or let install32.bat and install64.bat do that for you). The user then calls a central upgrade.bat which checks version and calls matching upgrade scripts

IF EXIST 32bit.txt (
  CALL 32bit/upgrade.bat

IF EXIST 64bit.txt (
  CALL 64bit/upgrade.bat

I download them manually at the moment and use Syncthing to distribute.