Syncthing for macOS the road to v2 (official application)

Hi all,

This is a new topic based on the discussion going on in https://forum.syncthing.net/t/roadmap-and-deprecation-of-v1-release-branch

Yes i’m still alive (author of Syncthing for macOS, syncthing/syncthing-macos) and I feel te need for the migration from v1 to v2 Syncthing.

I was very busy lately past months and was a bit conservative to make v2 the main version. As @calmh mentions in the topic we should just use the current auto-update “appcast.xml” and have not two branches. Also this is needed because the auto updater URL is hardcoded in the app on distribution.

For chores/household of the syncthing-macos project I or we first need to merge some v1 changes into v2 branch because somebody added translation + spanish.

So what I (or we) need to do (git chores mostly):

  • Merge changes from develop → v2
  • Update README.md on deprecation of v1 branch and add some context
  • Upgrade bundled Syncthing cli/daemon to v2.0.13 (or higher) in v2 branch
  • Do some testing and chores on the Objective-C and Swift code
  • Create v1 branch from develop (deprecate v1 baseline)
  • Make v2 branch default by renaming it to → develop
  • Create v2.0.13-1 pre-release and let CI run to output DMG
  • Let public test the pre-release and see if it works (manual update)
  • When ok then we create v2.0.13-2 and this will be the public release of v2
  • Update appcast.xml so users are forced to v2.0.13-2 with Sparkle auto updater

Hope this helps a bit.

For people interested in release management of syncthing/syncthing-macos please read syncthing-macos/README.md at a0658ce041ba04d58444b276bcf6d78013554a54 · syncthing/syncthing-macos · GitHub

Have a nice day, and hope I will get it out soon.

NOTE TO SELF (related v1 → v2 topics) :

8 Likes

Hey @xor-gate ,

Just wanted to say

  • I am so glad to see this project isn’t dead, and
  • “echt bedaankt” for all the work you’ve done on this project. (Also, love your listed location on GitHub :grinning_face:)
  • Looking forward to seeing v2 fully come out

To date, I’m still on v1.30.0-1 on all my Macs. So can test migrations at some point when v2 is officially out.

And the reason I saw this post was because this morning I thought, “Gee, I wonder where things are at with syncthing-macos?” That led me down a rabbit hole. First, I see that Syncthing now lists another project (Synctrain) which also has a macOS version. And while that looks quite interesting, I’ve been very happy with your work. So kept looking around and found various forum threads, which eventually led me to seeing your post at the end of one which then took me here.

I just wanted to give a note of support, to cheer you on, and let you know how much your work is appreciated. No one who does open source has to do it. They choose to. And I am grateful that you not only chose to write the program at all, but that you wanted to share it with others. The fact that you give of your time (the most precious thing we have) like this says a lot about you. So again, thank you.

Anyway, that’s all. While I likely can’t do much to help, I’ll do what little I can.

P.S. I am originally from The Netherlands and have extended family in Eindhoven, though I haven’t been there in a very long time. So I feel a bit like kindred spirits. :wink:

1 Like

Thanks for reaching out Frank (@fseesink ). Actually I live near Eindhoven. I cycle to work (Eindhoven) almost every workday. It’s nice you want to test out my work. syncthing-macos is a bit “weird” because I want to keep it “Frugal”, “Simple”, “Native”. For sure Synctrain runs good. I have had contact with the Author and have a MIT license to use a first-start dialog and got the Swift code. But for some reason I cannot get it bridged to the Objective-C code, the dialog is there but it is zero pixels LOL. Synctrain is also from a Dutch guy.

The syncthing-macos was born out of frustration there was no native macOS wrapper. Only some hacks. I digged a whole weekend into the Apple desktop ecosystem “back then”. And shared it with the world. And was sucked into the official Syncthing umbrella project after few years.

Nice to hear from you!

2 Likes

Hallo allemaal :wink:

For those interested in the differences between Syncthing-macos and Synctrain:

Syncthing-macos and Synctrain are both wrappers around Syncthing for macOS, but have different philosophies about the user interface and likely serve different audiences. Synctrain for macOS is basically a specialized version of the Synctrain for iOS app. It does not use the Syncthing web interface but instead offers a native UI centered around the global file tree (and with some sprinkles added, such as selective file sync and on-demand downloading/streaming). The downside is it has less of a ‘control center UI’, and also some features are not available (i.e. versioning) unless you edit the config file manually. I expect Syncthing-macos to be a bit lighter on system resources because there is less magic involved - it’s just running Syncthing as its own process, whereas the Synctrain app runs Syncthing in-process. Due to this, upgrading the Syncthing binary in Syncthing-macos is possible whereas with Synctrain you’d have to upgrade Synctrain as a whole. Synctrain will in the long term likely be a bit slower to adapt to changes in either macOS or Syncthing because of the tighter integration.

Synctrain is using Syncthing v2 by the way (since september iirc).

6 Likes

Thanks for this update and for continuing to work on this project. It’s a very essential tool for Syncthing - especially for those of us who support less or non-technical users.

I can help test on multiple machines when you’re ready.

Thanks again.

1 Like

[If this keeps up, I’m going to expect to start hearing “Wij Houden Van Oranje” when I come here. :stuck_out_tongue: ]

Well @xor-gate and @pixelspark , I am sure that I am not alone in appreciating BOTH projects. And it’s great to see that you two have already collaborated.

That is one of the great things in the open source world. You both leverage a fantastic product in Syncthing itself. Then each of you took your respective choice of language (Objective-C and Swift) and wrote the program that each of you wanted. And then amazingly, you both shared them with the world so others could enjoy them, not to mention sharing with each other. I absolutely love this about the open source community.

Now I haven’t installed Synctrain to play with it yet, but I noted the differences from reading up on Synctrain. (The native UI and features like selective file sync did catch my eye.) And yes, they may well target different audiences. But that’s another thing that’s great here. People can try both and figure out which makes sense for them. Or heck, use both depending on their circumstances.

Since you’re both in here, I was curious whether either or both of you had ever tried seeing if/how well your respective programs played with each other, and if there’s any caveats there. (e.g., if you had 2 Macs, one running Syncthing for macOS and the other running Synctrain.)

That is, Syncthing for macOS has obviously been around longer. And I have had that installed on my various Macs, while I run a basic Syncthing instance on a Linux box and the Docker image running on my Synology NAS, tying it all together so I have my own personal cloud/Dropbox as it were.

In fact, I have it on both work and personal Macs, where I have remote devices configured specifically so work machines sync work things, personal machines sync personal things, and then the few things I want to share between all of them are synced as well. And that works very well since underneath they all are simply Syncthing and the configuration/management is done via the same Syncthing web interface across the board.

And to date on my iPhone, though admittedly I don’t use it that much, I have Mobius Sync. But I would be lying if I didn’t say I was curious to see how Synctrain might perform there, as well as possibly on a Mac or two.

Unfortunately, I don’t have enough time or spare gear currently to set up side-by-side comparisons. And not sure if/how badly I’d muck things up on either my phone or if I tried using both programs on the same set of Macs, for example. So I’ve left well enough alone for now. But the potential interoperability is something I am curious about, which is why I ask.

Anyway, all the best to both of you with your respective projects!

Thanks, Frank!

Both apps are ‘just’ Syncthing under the hood, so they should play along just fine (except for possible issues in Syncthing itself related to v1 vs. v2 differences). I run Syncthing-macos on an older MacBook, Synctrain on my MacBook as well as iPhone, all connected to each other as well as various Debian, Ubuntu and Synology machines, while working great. Issues could also arise if you try to run both simultaneously on the same machine (e.g. specific default ports will already be in use, and of course it’s not advisable to have two Syncthing instances syncing the same folder on disk).

I use both Synctrain and Moebius Sync on iDevices, both work fine.

Moebius Sync also works on older devices.

Thanks for the kind words to keep us motivated (like in @xor-gate and @pixelspark ). As Tommy explains Synctrain and official Syncthing for macOS (bundle) in the end make it comfortable for non-technical end users.

The macOS native Synctrain application which is developed by @pixelspark is more modern and uses mostly Swift programming language and binds the Syncthing code directly to it. syncthing-macos project uses mostly Objective-C and some Swift code for managing the syncthing daemon process.

I’m not a GUI/UX (graphical designer), but more hardcore commandline. GUI design and implementation is a different beast. That is why my syncthing-macos is just “frugal” and sits in your tray like Dropbox or some other file sharing application.

I even got a nice “first introduction” GUI re-licensed to MIT from @pixelspark but for some reason it doesn’t work connected to the Objective-C code. It’s about this PR: WIP: Introduction screen (OnBoardingView) by xor-gate · Pull Request #262 · syncthing/syncthing-macos · GitHub

I think, the main question for your users is, if and when syncthing-macos will allow to update it’s syncthing version - officially, not with that command line hack that was posted and that allowed me to use syncthing from MacPorts instead.

Many thanks

@xor-gate , this morning I woke up, came downstairs, got myself some coffee, then went to check my usual things like what new apps AutoPkgr had found and pulled down. I opened MunkiAdmin, scanned the new versions of apps, and what did I find? A veritable present under my digital tree. Basically Christmas in February! :slight_smile: Thanks, Sinterklaas!

So I decided to right away test this out on one of my systems. And it appears to have gone very smoothly.

For those reading this who don’t know yet, Syncthing for macOS v2.0.14-1 has been released! And the migration couldn’t be smoother. As this was a big v1 to v2 change, I wanted to see how this went. But honestly, all you need to do is

  1. Download latest version and replace existing one in /Applications
  2. Fire it up
  3. BE PATIENT

After firing up the new v2, I opened the app’s webpage at the usual http://127.0.0.1:8384/ where I saw the following:

*** Database migration in progress ***

2026-02-23 07:37:07 INF syncthing v2.0.14 "Hafnium Hornet" (go1.25.6 darwin-arm64) builder@github.syncthing.net 2026-02-02 04:32:24 UTC [stnoupgrade] (log.pkg=main)
2026-02-23 07:37:07 INF Archiving a copy of old config file format (path="/Users/frank/Library/Application Support/Syncthing/config.xml.v37" log.pkg=syncthing)
2026-02-23 07:37:07 INF Migrating old-style database to SQLite; this may take a while... (log.pkg=syncthing)
2026-02-23 07:37:12 INF Starting temporary GUI/API during migration (address=127.0.0.1:8384 log.pkg=main)
2026-02-23 07:37:18 INF Still migrating folder (folder=AutoPkg files=18000 blocks=9209 duration=10s blocksrate=849.4852606513026 filesrate=1660.4120633861926 log.pkg=syncthing)
2026-02-23 07:37:28 INF Still migrating folder (folder=AutoPkg files=25000 blocks=16277 duration=21s blocksrate=770.7705682737918 filesrate=1183.833888729176 log.pkg=syncthing)
...

and with each reload of the page, that list got longer, eventually showing when a folder had been migrated. This continued for a bit, but otherwise was uneventful.

Now for reference, I looked and I have > 65GB of files being synced currently. And this entire migration process took just under 10 minutes. By this I mean that within 10 minutes, I was once again able to access the Syncthing web UI proper, where I see it now doing its usual sync between my various systems.

Admittedly, this is purely anecdotal. But next I will do this on my other Macs and will only report back if I have issues. (I don’t expect to do so. :slight_smile: )

So for anyone looking to upgrade to v2, hopefully that helps give a sense for what to expect.

And again, @xor-gate , big kudos. :+1:

3 Likes

I’m a total newb here on the forums, but I’ve been using Syncthing for macOS for several years now. I use it to backup my stuff from one side of the world to my “mother base” on the other side. Works great! Anyway, I just randomly thought to see if there is a new version available… and it said.. “posted 3 hours ago”! :exploding_head: BIG thanks to Jerry.

I have to admit I’m a little nervous to upgrade, as everything is already working for now. But seeing that @fseesink had great success with his upgrade, it gives me confidence! I’ll probably bookmark this and come back in a week to have a go myself. Exciting to see this great project being updated! :slight_smile:

@xor-gate- Thank you. Sincerely. I appreciate that you created this project in the first place and that you’re keeping it alive. I’m glad there are alternatives available, but your frugal approach is exactly what I think many of us want on our Macs.

My topology is (mostly) hub and spoke with a NAS-based hub that upgraded to 2.0 when it was released. The Mac I’m initially testing on syncs 340+ GB across a number of folders. The initial migration took a bit and so is the initial sync but it all seems to be going very smoothly.

Thanks again!!

1 Like