Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: syncthing/syncthing
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: release
Choose a base ref
...
head repository: syncthing/syncthing
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 48 files changed
  • 6 contributors

Commits on May 25, 2026

  1. 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>
    Shablone and Elias authored May 25, 2026
    Configuration menu
    Copy the full SHA
    d91f884 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2026

  1. Configuration menu
    Copy the full SHA
    8961f64 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2026

  1. 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>
    Shablone and Elias authored Jun 2, 2026
    Configuration menu
    Copy the full SHA
    9bb5f9b View commit details
    Browse the repository at this point in the history
  2. 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>
    calmh authored Jun 2, 2026
    Configuration menu
    Copy the full SHA
    9cdff04 View commit details
    Browse the repository at this point in the history
  3. fix(gui): properly escape filenames in fancytree

    Signed-off-by: Jakob Borg <jakob@kastelo.net>
    calmh committed Jun 2, 2026
    Configuration menu
    Copy the full SHA
    f93306c View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2026

  1. 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>
    calmh authored Jun 3, 2026
    Configuration menu
    Copy the full SHA
    6df85dc View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2026

  1. 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>
    3 people authored Jun 4, 2026
    Configuration menu
    Copy the full SHA
    e16b801 View commit details
    Browse the repository at this point in the history
Loading