Syncthing, a beloved by many self-hosting enthusiasts peer-to-peer file synchronization tool that lets you keep folders in sync across multiple devices without relying on a central server or cloud storage provider, has released the long-awaited version 2.0 — its first entry in the new 2.x series.
First things first – the developers caution that users should “expect some rough edges and keep a sense of adventure,” but the update also delivers a significant set of improvements, cleanups, and changes that lay the groundwork for the future.
One of the biggest shifts is the move from the LevelDB database backend to SQLite. This change should make the database easier to maintain and less prone to bugs, though the migration process during the first launch might take a while for users with large setups.

Alongside that, logging has been modernized with structured entries, per-package log level control, and a new WARNING level between INFO and ERROR. The command-line interface has also been streamlined, with old single-dash long options removed, some options renamed, and others reorganized into subcommands.
On the housekeeping front, Syncthing will no longer keep deleted items in the database forever—they’re now forgotten after six months by default, though this can be adjusted or disabled.
Performance also gets a boost as rolling hash detection of shifted data has been dropped, resulting in faster scans and syncing. The “default folder” is gone, and multiple connections are now standard between v2 devices, helping speed up metadata and file transfers.
However, not all news is good for every platform. Due to cross-compilation challenges with SQLite, prebuilt binaries are no longer provided for certain systems, including DragonFly BSD, Illumos, Solaris, Linux PPC64, NetBSD, and some OpenBSD and Windows ARM variants.
Under the hood, there’s a long list of bug fixes and enhancements. Highlights include better handling of deleted file conflict resolution (where deletion can now be the “winning” outcome), the use of Ed25519 keys for sync connections, an option to limit LAN bandwidth, and support for UDP port mapping with QUIC. Many improvements also target memory efficiency, code cleanup, and build process streamlining.
For a full list of all changes in Syncthing 2.0, see the changelog.
If you’re thinking about giving Syncthing a try, our guide, “How to Set Up and Use Syncthing to Sync Files on Linux,” will walk you through everything so you can get up and running quickly and hassle-free.