Syncthing 2.0 Launches With Major Database Overhaul

submitted by

linuxiac.com/syncthing-2-0-launches-with-major-…

Release Note

45
486

Log in to comment

45 Comments

For those using it on Android, a reminder that the older app is not maintained anymore and you might want to replace it with Catfriend1/syncthing-android.

But also - maybe wait for the app v2.0 to be released to upgrade the desktop client at the same time; I don't know if using v2.0 on the desktop would work with the v1.x app.

Oh wow, they already have a 2.0 prerelease build. That was fast!

I'm in no rush. 1.x has been doing its job without demanding any of my attention since I set it up a year or so ago. Setup was a bit complex, but it was definitely worth learning.


Waiting till Material 3 update to use it


Can I move from the older app to the fork while keeping all my configuration?

I tried it, but it didn't work for me, so I had to reintroduce the device and share the directories again. But you don't have to transfer all the data again, it'll just do a full scan and transfer the diff as usual.

Thanks for the info. I will try upgrading now.
To save people a click, here are the instructions:

On Syncthing on the official app, go into the settings and create a backup.
Confirm you can see that backup in your files.
Now stop the official app entirely using the system app settings for Syncthing (force stop the app basically - we need to ensure it's not running).
Install Syncthing-Fork v1.29.7.1
Now start Syncthing-Fork.
In the Syncthing-Fork settings, restore the backup you created earlier.
Like magic, everything should be as it was in Syncthing official.
Confirm everything looks good.
Uninstall the official Syncthing app.
Delete the syncthing configuration backup from backups/syncthing.
Upgrade to the latest Syncthing-Fork version



I just tried. Old app exports a directory, new one wants a zip. Zipped the dir and offered to new one. New one complained that some expected file was missing. Gave up and set it up again with it's new keys (phone only syncs one dir off my home server, not a big deal) and now it's going great.

There are instructions on the repo on moving to the fork, you need to download a specific version to do it and then update.



I could export and import with minimal issues around half a year ago after it was discontinued.
Based on what @eager_eagle@lemmy.world said maybe try installing an older version, importing, then updating.

Also tried with the oldest version of the fork on f-droid, it could not import the old app's config.

The archive repo has the old versions, the main repo omly goes back a few weeks.






SQLite continues to be the "Do Nothing. Win" of databases

It's wild how it has the fastest read performance of any other sql backend, even postgres.

I remember using SQLite like 12 years ago as a backend for Minecraft mods, and even more recently as a backend for HomeAssistant and switching away to something else for performance…and now switching back. Kudos to them for all the work that went into that! Worst to first!


I love SQLite but is this still true? I thought DuckDB was on its way to supplanting SQLite is this area.

I thought Turso is the new cool kid on the block


Oh, have they started working on aviation grade test harnesses?

SQLite will rule our world for a long time, far after we are gone.




Its sheer flexibility and public domain license are definitely big factors

As much as I would like to agree with you, permissive licenses are killing open source software as a whole since corporations absolutely abuse the software, provide very little value back to the code in return, and often DEMAND the authors patch their vulnerabilities.

Open source props up the world and the least that corporations could do is throw 0.0001% of their revenue their way. But they can't even be bothered to do that.

SQLite is one of the very few open source projects with a reasonable plan for monetisation.

  • Do you want to use one of the proprietary extensions? Fork up a few thousand. No biggie.
  • Do you operate in a regulated industry (aviation) and need access to the 100% coverage test suite along with a paper trail? Fork up ”Call us”.
  • Is your company insisting that you only use licensed or supported software? Well, you can apparently pay them for a licence to their public domain software.

Basically, squeeze regulated industries, hard.

I’m all for open source, but at some point developers should stop acting surprised when people use their work at the edges of the licence terms (Looking at you Mongo, Redis and Hashicorp). As for developers running projects on their free time, maybe start setting boundaries? The only reason companies aren’t paying is because they know they can get away withholding money, because some sucker will step up and do it for free, ”for the greater good”. Stop letting them get it for free.

Looks like RedHat is kinda going in this direction (pay to get a paper trail saying a CVE-number is patched), and basically always have been squeezing regulated industry. Say what you want about that strategy, it’s at least financially viable long term. (Again, looking at you Hashicorp, Redis, Mongo, Minio and friends)




Am I missing something? SQLite is great, but it isn't really comparable to most other SQL databases, unless you're talking about nosql alternatives?


It is beautiful. I haven't even thought of using a database server for personal projects in years. SQLite all the way. It's so simple and performant (for my use cases).



No Solaris or Illumos support? That’s gonna piss of like 12 people

by
[deleted]
depth: 2

Deleted by moderator

 reply
29

Are you one of the 12???

There are dozen of us






Syncthing is great.

That reminds me, I should donate them some money. They've saved me untold amounts of money and headache from dealing with cloud services.


Nice, I like Syncthing too.


  • One of the biggest shifts is the move from the LevelDB database backend to SQLite
  • The command-line interface ... old single-dash long options removed, some options renamed, and others reorganized into subcommands.

Masterpiece software.


Easily one of the most integral and convenient pieces of software in my use. I've got six machines syncing up in various degrees: desktop, laptop, Android, ereader, media server, and laser controller.
It along with Tailscale are among first things I install. I'm hoping version 2.0 is as stable as 1 has been.
The only trouble I've ever had out of was when I was syncing something in my local cloud directory.


Sounds like it's fully compatible query devices running older version. Great.


Doens't look like Syncthing-Fork is on 2.0 yet. They have an RC but if you use it, you might want to be careful upgrading before they release.

Is 2.0 backward compatible with 1.x?

Protocol-wise? I don't know. But usually major version bumps indicate some kind of breaking change.




I relied on Syncthing for a few years until my laptop became so powerful that a desktop was no longer needed (I do pro-audio work in Logic with lots of plugins; but I'm also just a nerd power-user). This has me thinking about getting back into using it to sync a much smaller amount of data, such as my Bash profile and custom functions, as well as some custom binaries that I keep in ~/bin. But I'll wait until a few releases into the 2.x cycle before I install while others help find the rough edges.

Hooray for development of awesome tools. Hats off to all the devs involved.

It’s really weird reading your comment because it reads as if I wrote it.

  • I do pro audio work in Logic & Ableton
  • Was syncing projects between my desktop, laptop and homelab for a few years
  • No longer need to with my M3 Max macbook
  • Am a nerd power user and sync my dotfiles between my machines (i’d recommend chez-moi instead of syncthing for that because there’s less risk of messing up a machine and conflicts)

What kind of audio stuff do you do?



There doesn't seem to be that many changes for the user, at least not for me. Hopefully the performance difference is noticeable.



Good Point to start fresh? Mine ist totally fucked. Dont even know how i should start over :(

(Some syncthin-fork update or android update fucked the folder paths and trying to fix it while also adding a new folder somehow created some loops/crashes/conflicts)


by
[deleted]
edited depth: 1

Deleted by moderator

 reply
3

I don't think your use will be effected. I believe the only thing is your database will be less bloated with deleted items that have never been removed previously.

If you add a file back after it's removed from the database, It should sync as usual.

(This is my interpretation of the change notes, i'm no experto, maybe a real experto can confirm this is true or not).



Comments from other communities

For those using it on Android, a reminder that the older app is not maintained anymore and you might want to replace it with Catfriend1/syncthing-android.

But also - maybe wait for the app v2.0 to be released to upgrade the desktop client at the same time; I don't know if using v2.0 on the desktop would work with the v1.x app.

There is already a prerelease of the 2.0 app for android 🎉 (haven't tried it yet though)


Why did they fork the app?

I think the original wasn't getting maintained properly or something. There was a big conversation about it a couple of months ago on one of the open source communities here if you want to search for it. Nothing shady iirc.

I developed the Android app for Syncthing years ago. But then I didnt have time (or motivation) for that anymore. Developing Lemmy is much more interesting for me really nowadays.

Thanks for your work on both!





Is this one different than the one on f-Droid? Syncthing-fork



I was in the impression it’s development stopped altogether since mobile app support dropped. Cool!


Emacs Org mode (or Logseq) and Syncthing together are probably the only system I have found that works for my chaos, I am very thankful for how these softwares have allowed me to structure my organizational system in a way that is simple and I have direct control over.

Also, it takes years for me to integrate habits deeply into my life with many many many repetitions necessary to lock the habit in, so being able to organize things in plaintext gives me much needed assurance that I won't have the rug pulled out from under me by the company behind the product enshittifying or going out of business.

Syncthing is critical to my organizational systems because it makes the sharing of notes between devices agnostic of the specific notes system I am using. Syncthing shares a folder and it has some text files in it... those could be .org emacs org mode files or logseq files.. it doesn't matter I can change my notes system and retain the same sharing mechanism.

From the bottom of my heart thank you to everyone who has worked on these tools, I plan to keep donating to and supporting these projects in the future!

Sounds like my use case except I use Obsidian.

Obsidian seems great and the company seems genuinely very decent. I appreciate that the file format isn't locked down and that it retains a plaint text philosophy. Do you use Syncthing for sharing Obsidian notes between devices?

Yes. I have my Obsidian vaults in a synced folder. There's a subscription option available from Obsidian for $5 but Syncthing does this just fine. Plus I get a little version control benefit from Syncthing as well.
I use one vault for personal notes and another vault for TTRPG notes.

Yeah I know people say "Syncthing is not a file backup tool!" but when I am dealing with 99% text files and I can slam the "keep X amount of previous versions of file" up to 30 well.... I mean it still isn't the way Syncthing was meant to be used but it works, it is minimal and it is simple and that is LITERALLY a lifesaver for me given how much I struggle with executive function.

I hope the people that work on these tools understand that for some they literally have a lifesaving potential, organization is a massive struggle for me and my society provides no social safety net for just being bad at focusing no matter how much people claim to be accomodating and accepting of severe ADHD. I don't mean this to place undue burden or weight on the developers but to emphasize the work they contribute is real and directly impacts people's lives for the better in a way they should be proud as fuck about.

Most people who obsess about organizational tools, project management systems and thinking tools have no problem switching from one system to the next, it is almost a hobby for people into this kind of thing. Not me, I find it desperately hard to get myself to commit to even a single system longterm and not just randomly drop the habit and never go back. Critical for my quality of life are open source softwares like Syncthing that just do what they do with no company to become bankrupt and shut down the tool, enshittify the tool, require an account login, have all my organization locked in a proprietary format on cloud servers or any number of other things corporations attach to software tools that make them useless for my condition.

In the software development world "friction" is the thing you introduce to compel people towards your monetization scheme and "attention" is a resource to be harvested, meanwhile I try to use these tools while drowning in internal friction from task switching difficulties and constantly having my attention ripped away by my ADHD from the important things I am trying to get done. This is what I mean when I say open source tools like Syncthing are literally lifesaving for me.

Even other hobbiest DIY filesyncing tools like Nextcloud are mostly useless for me as they require a complex annoying fiddly maintenance of a central server that is a single point of failure, and the idea I will keep that fiddly and fragile of a system going longterm is downright laughable even though I think those tools are cool. With Syncthing I am able to just keep leapfrogging my important files from device to device, there is no central server I have to maintain with focus I don't have even for the thing I am trying to use the organizational tool to help myself get done in the first place.

<3 devs of Syncthing!!!!!

edit I would like to add a personal "burn in hell" to the people who run Google Drive and Microsoft Onedrive. The entire setup of these services encourages you to get lost creating and uploading a bunch of files, run out of cloud space and then be so totally overwhelmed in trying to manage all the files you have created and uploaded that you just acquiesce and purchase the premium subscription to get more space instead. From my perspective this kind of monetization architecture is blatantly predatory and hurtful and is one of the reasons I see these corporations as enemies trying to hurt and entrap me for profit.






This is very exciting! But I'm relying on third-party addons for both Android (syncthing-fork from Fdroid, itself a fork of syncthing-android which wasn't being maintained) and windows (syncthing tray). I think my Mac and Linux machines are using standard syncthing, but I'll be waiting a little bit for the rest of the community/ecosystem to catch up!

Syncthing-fork is syncthing-android. View the app in fdroid then view sourcecode links you to catfriend1 github



Oh, this is wonderful news. Looks like it'll be a time before it'll work with my phone, though, which is a shame since I use it to sync save files for games I play cross platform.


The article could use a link to upgrade walk-through

It's a regular update, I doubt there will be a need for a walkthrough. The 2.0 is becausw it has a breaking change (new database)



I think I'll wait a few point releases before upgrading.


Native Android app incoming too?

Android app was discontinued a long time ago due to lack of developers and Google Play shenanigans.

Sure. Is this viable long term? Why was it forked? Will it even work with 2.0?

With open source you never have a guarantee for long-term support. I guess it was forked because the original app was not maintained anymore?

Idk about 2.0, but I am using this app for a year now. It got 3 updates last month

It was forked before the previous one died funnily enough


With open source you never have a guarantee for long-term support.

Not like you have that with closed source …


Yeah that's the thing. I can't be dependent on such a thing that very well might stop functioning at any time. The fact that it's not first-party does not fill me with confidence.

Well then you you need to pay for proprietary software or give your data to Google and friends.

There is no such thing aa "first party" in most open source projects. This repo has contributions by 111 different developers at the moment.


I'm still using the old app, it may lack some new features, but it was already good enough




Why was it forked?

The original was a battery-life vampire and had fewer features. I don't know if it will work with 2.0, though, which is why I'm waiting for an update or 2 on that side before taking the plunge on desktop.

One thing's for sure, though; I'm dead meat if one of them fails. (Well, not entirely; I suppose I could painstakingly create a file-transferring script to "sync" stuff, but it'd take quite a while.)







Why Syncthing instead of say, rsync?

they don't have similar features, do they?

rsync is like a robust cp in a way, while syncthing is a full UI that allows you to connect devices and share folders between them without a third party server; the comparison class to syncthing are cloud sync apps like dropbox or Google Drive, not a command-line tool like rsync.



Hopefully the android releases will be able to follow, as I understand the original syncthing authors will no longer be supporting android.

So the person that was maintaining the old android version is focusing on maintaining lemmy.



IIRC one of the reasons they discontinued support for android was because the other fork exists.



thanks for the info, I totally missed it


What, syncthing can be better?? Oh boy, will check this up later!


Anyone know how this might affect sync thing fork on F-Droid? I really use the heck out of that

Syncthing fork is already at 2.0. Not yet on f-droid, but it will be.



The switch from BoltDB to SQLite is huge for anyone with large libraries - it should fix those annoying database locks and make everything waaay faster when syncing thousands of files.


Insert image