-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Comparing changes
Open a pull request
base repository: syncthing/syncthing
base: release
head repository: syncthing/syncthing
compare: main
- 7 commits
- 48 files changed
- 6 contributors
Commits on May 25, 2026
-
chore(syncthing): open URLs via Windows API instead via cmd.exe (#10712)
### Purpose On Windows replace `cmd.exe /C start` with direct `ShellExecute` API for opening the webpage. The previous implementation used `exec.Command("cmd.exe", "/C", "start "+url)` which spawns two extra processes (cmd.exe → start). Launching cmd.exe resulted in a shortly visible terminal. Both -`start` -and another alternative `exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start()` are just wrappers for `ShellExecute`. So this implementation is even more direct ### Testing I executed the compiled syncthing.exe on Windows 11, both from explorer and console. The webpage opened as expected. ### Screenshots N/A. ### Documentation N/A ## Authorship Name: Elias @Shablone Email: [1elias.bauer@gmail.com](mailto:1elias.bauer@gmail.com) Signed-off-by: Elias <1elias.bauer@gmail.com> Co-authored-by: Elias <1elias.bauer@gmail.com>Configuration menu - View commit details
-
Copy full SHA for d91f884 - Browse repository at this point
Copy the full SHA d91f884View commit details
Commits on Jun 1, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 8961f64 - Browse repository at this point
Copy the full SHA 8961f64View commit details
Commits on Jun 2, 2026
-
fix: on Windows don't allocate console if not opened inside one (#10726)
This change allows Syncthing to be launched from Explorer without showing a console window, while preserving the existing command-line behavior. Previously, launching syncthing.exe from Explorer would always allocate a console window, which could only be hidden later by using `--no-console`. It was not possible to avoid console allocation entirely without introducing other issues. On Windows 24H2 and later a new application manifest allows us to achieve it. See [console allocation policy](https://learn.microsoft.com/en-us/windows/console/console-allocation-policy) This manifest is built into a syso-file by `goversioninfo`, which is already used to generate Windows resource files consumed by the Go compiler. **Note1:** On Windows 24H2 and later, no console is allocated when Syncthing is launched from Explorer, even if `--no-console` is set to `False`. It can still be used as a CLI tool as usual if you call it from console. **Note2:** The content of the manifest file may not be formatted. Even a `newline` would break it. ### Testing Tested on Windows 11 25H2: No console visible from explorer. CLI works as usual. Ref #8046, ref #10633, ref #10481, ref #10600 Signed-off-by: Elias <1elias.bauer@gmail.com> Co-authored-by: Elias <1elias.bauer@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9bb5f9b - Browse repository at this point
Copy the full SHA 9bb5f9bView commit details -
fix(connections): do not report connection metrics for self (ref #10509…
…) (#10724) Makes the metrics easier to interpret. Signed-off-by: Jakob Borg <jakob@kastelo.net>
Configuration menu - View commit details
-
Copy full SHA for 9cdff04 - Browse repository at this point
Copy the full SHA 9cdff04View commit details -
fix(gui): properly escape filenames in fancytree
Signed-off-by: Jakob Borg <jakob@kastelo.net>
Configuration menu - View commit details
-
Copy full SHA for f93306c - Browse repository at this point
Copy the full SHA f93306cView commit details
Commits on Jun 3, 2026
-
fix: let umask do the thing (#10723)
We had a few places where we had perhaps too much of an opinion on the permissions on created files and directories, sometimes fuled by a misconception about how permissions work in both Unix and Windows. Recap on the ground rules: - On all unixes, all file & directory creation (`Mkdir`, `MkdirAll`, `Create`, `WriteFile`, `Open`) has the given permission bits filtered via the user's umask. The proper permissions for us to use are in almost all cases 0o666 for files and 0o777 for directories, strange as that may look at the call site. - On Windows, there is no umask but in turn all of the permission bits except the user write bit are ignored. The absence of user write bit is converted into the read only attribute. This means that what is proper for Unix above is also proper for Windows. - We make an exception when creating files for certificate keys and the config / database directories, as those contain secrets we think should remain closed even if the user generally collaborates with other users on the system. (Also removal of a bugfixed copy of MkdirAll for Windows that hasn't been necessary for a few years.) --------- Signed-off-by: Jakob Borg <jakob@kastelo.net>
Configuration menu - View commit details
-
Copy full SHA for 6df85dc - Browse repository at this point
Copy the full SHA 6df85dcView commit details
Commits on Jun 4, 2026
-
chore(db, model): separate methods to drop a device vs its files (#10480
) Fixes #10469 --------- Signed-off-by: Simon Frei <freisim93@gmail.com> Signed-off-by: Jakob Borg <jakob@kastelo.net> Co-authored-by: Marcus B Spencer <marcus@marcusspencer.us> Co-authored-by: Jakob Borg <jakob@kastelo.net>
Configuration menu - View commit details
-
Copy full SHA for e16b801 - Browse repository at this point
Copy the full SHA e16b801View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff release...main