Hi everyone,
I’m running into a problem with Go module versioning after the Syncthing v2 release.
From what I can tell, the module path in the repository is still declared as:
module github.com/syncthing/syncthing
— meaning it doesn’t include a /v2 suffix.
Because Go requires a versioned import path for major versions ≥2 (for example, github.com/syncthing/syncthing/v2), I can’t import or update to Syncthing v2 using standard Go tooling. This makes it difficult to depend on the latest version of syncthing/lib in other Go projects.
I’m one of the developers of VolSync which uses Syncthing as one of its replication backends. I’d like to understand how we should handle this transition — whether the syncthing/lib library will remain supported for external use, or if it’s now considered internal-only.
So my questions are:
-
Is there a plan to update the module path to
github.com/syncthing/syncthing/v2so that Go can properly import v2? -
Will
syncthing/libcontinue to be supported as a public library API, or is it intended for internal use only going forward? -
If it’s not going to be versioned or supported as a public dependency, we’ll likely need to adjust how VolSync interacts with Syncthing — but it’d be helpful to know the intended direction before we make those changes.
Thanks for clarifying — it’ll help me understand how to approach future integration with Syncthing v2.