Browse Source

chore: update man pages for 2.0

Jakob Borg 3 months ago
parent
commit
c74d2a9872

+ 2 - 2
man/stdiscosrv.1

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "STDISCOSRV" "1" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "STDISCOSRV" "1" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 stdiscosrv \- Syncthing Discovery Server
 .SH SYNOPSIS
@@ -394,6 +394,6 @@ the discovery server and your particular setup.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/strelaysrv.1

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "STRELAYSRV" "1" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "STRELAYSRV" "1" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 strelaysrv \- Syncthing Relay Server
 .SH SYNOPSIS
@@ -317,6 +317,6 @@ relay://<host name|IP>[:port]/?id=<relay device ID>&token=mySecretToken
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 30 - 26
man/syncthing-bep.7

@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-BEP" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-BEP" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-bep \- Block Exchange Protocol v1
 .SH INTRODUCTION AND DEFINITIONS
@@ -267,13 +267,11 @@ message ClusterConfig {
 }
 
 message Folder {
-    string id                   = 1;
-    string label                = 2;
-    bool   read_only            = 3;
-    bool   ignore_permissions   = 4;
-    bool   ignore_delete        = 5;
-    bool   disable_temp_indexes = 6;
-    bool   paused               = 7;
+    string id                    = 1;
+    string label                 = 2;
+    FolderType type              = 3;
+    FolderStopReason stop_reason = 7;
+    reserved 4 to 6;
 
     repeated Device devices = 16;
 }
@@ -296,6 +294,18 @@ enum Compression {
     NEVER    = 1;
     ALWAYS   = 2;
 }
+
+enum FolderType {
+    FOLDER_TYPE_SEND_RECEIVE      = 0;
+    FOLDER_TYPE_SEND_ONLY         = 1;
+    FOLDER_TYPE_RECEIVE_ONLY      = 2;
+    FOLDER_TYPE_RECEIVE_ENCRYPTED = 3;
+}
+
+enum FolderStopReason {
+    FOLDER_STOP_REASON_RUNNING = 0;
+    FOLDER_STOP_REASON_PAUSED  = 1;
+}
 .EE
 .UNINDENT
 .UNINDENT
@@ -311,20 +321,12 @@ the folder.
 The \fBlabel\fP field contains the folder label, the human readable name of
 the folder.
 .sp
-The \fBread_only\fP field is set for folders that the device will accept no
-updates from the network for.
-.sp
-The \fBignore_permissions\fP field is set for folders that the device will not
-accept or announce file permissions for.
-.sp
-The \fBignore_delete\fP field is set for folders that the device will ignore
-deletes for.
-.sp
-The \fBdisable_temp_indexes\fP field is set for folders that will not dispatch
-and do not wish to receive progress updates about partially downloaded files
-via Download Progress messages.
+The \fBfolder_type\fP field contains the type of the folder as defined by the
+FolderType enumeration.
 .sp
-The \fBpaused\fP field is set for folders that are currently paused.
+The \fBstop_reason\fP field is set for folders that are currently stopped for
+any reason. The zero means that the folder is not stopped; further reasons
+are defined by the FolderStopReason enumeration.
 .sp
 The \fBdevices\fP field is a list of devices participating in sharing this
 folder.
@@ -430,10 +432,10 @@ enum FileInfoType {
 }
 
 message BlockInfo {
-    int64 offset     = 1;
-    int32 size       = 2;
-    bytes hash       = 3;
-    uint32 weak_hash = 4;
+    int64 offset = 1;
+    int32 size   = 2;
+    bytes hash   = 3;
+    reserved 4;
 }
 
 message Vector {
@@ -536,6 +538,8 @@ message Request {
     int32  size           = 5;
     bytes  hash           = 6;
     bool   from_temporary = 7;
+    int32 block_no        = 9;
+    reserved 8;
 }
 .EE
 .UNINDENT
@@ -1053,6 +1057,6 @@ process occurs for device A at 15.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 8 - 46
man/syncthing-config.5

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-CONFIG" "5" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-CONFIG" "5" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-config \- Syncthing Configuration
 .SH SYNOPSIS
@@ -89,9 +89,9 @@ corresponding environment variables (\fB$STDATADIR\fP or \fBSTHOMEDIR\fP).
 The database directory contains the following files, among others:
 .INDENT 0.0
 .TP
-.B \fBindex\-\fP\fI*\fP\fB\&.db\fP
-A directory holding the database with metadata and hashes of the files
-currently on disk and available from peers.
+.B \fBindex\-\fP\fI*\fP
+The database with metadata and hashes of the files currently on disk and
+available from peers.
 .TP
 .B \fBsyncthing.log\fP
 Log output, on some systems.
@@ -139,9 +139,7 @@ may no longer correspond to the defaults.
         <pullerPauseS>0</pullerPauseS>
         <maxConflicts>\-1</maxConflicts>
         <disableSparseFiles>false</disableSparseFiles>
-        <disableTempIndexes>false</disableTempIndexes>
         <paused>false</paused>
-        <weakHashThresholdPct>25</weakHashThresholdPct>
         <markerName>.stfolder</markerName>
         <copyOwnershipFromParent>false</copyOwnershipFromParent>
         <modTimeWindowS>0</modTimeWindowS>
@@ -167,7 +165,7 @@ may no longer correspond to the defaults.
         <untrusted>false</untrusted>
         <remoteGUIPort>0</remoteGUIPort>
     </device>
-    <gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq debugging=\(dqfalse\(dq>
+    <gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq>
         <address>127.0.0.1:8384</address>
         <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
         <theme>default</theme>
@@ -215,7 +213,6 @@ may no longer correspond to the defaults.
         <stunKeepaliveStartS>180</stunKeepaliveStartS>
         <stunKeepaliveMinS>20</stunKeepaliveMinS>
         <stunServer>default</stunServer>
-        <databaseTuning>auto</databaseTuning>
         <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
         <announceLANAddresses>true</announceLANAddresses>
         <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
@@ -244,9 +241,7 @@ may no longer correspond to the defaults.
             <pullerPauseS>0</pullerPauseS>
             <maxConflicts>10</maxConflicts>
             <disableSparseFiles>false</disableSparseFiles>
-            <disableTempIndexes>false</disableTempIndexes>
             <paused>false</paused>
-            <weakHashThresholdPct>25</weakHashThresholdPct>
             <markerName>.stfolder</markerName>
             <copyOwnershipFromParent>false</copyOwnershipFromParent>
             <modTimeWindowS>0</modTimeWindowS>
@@ -336,9 +331,7 @@ GUI.
     <pullerPauseS>0</pullerPauseS>
     <maxConflicts>\-1</maxConflicts>
     <disableSparseFiles>false</disableSparseFiles>
-    <disableTempIndexes>false</disableTempIndexes>
     <paused>false</paused>
-    <weakHashThresholdPct>25</weakHashThresholdPct>
     <markerName>.stfolder</markerName>
     <copyOwnershipFromParent>false</copyOwnershipFromParent>
     <modTimeWindowS>0</modTimeWindowS>
@@ -580,26 +573,11 @@ sparse files will not be created.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B disableTempIndexes
-By default, devices exchange information about blocks available in
-transfers that are still in progress, which allows other devices to
-download parts of files that are not yet fully downloaded on your own
-device, essentially making transfers more torrent like. When set to
-\fBtrue\fP, such information is not exchanged for this folder.
-.UNINDENT
-.INDENT 0.0
-.TP
 .B paused
 True if this folder is (temporarily) suspended.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B weakHashThresholdPct
-Use weak hash if more than the given percentage of the file has changed. Set
-to \fB\-1\fP to always use weak hash. Default is \fB25\fP\&.
-.UNINDENT
-.INDENT 0.0
-.TP
 .B markerName
 Name of a directory or file in the folder root to be used as a marker \- see
 \fI\%marker FAQ\fP for its purpose.
@@ -945,7 +923,7 @@ The number of connections to this device. See
 .INDENT 3.5
 .sp
 .EX
-<gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq debugging=\(dqfalse\(dq>
+<gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq>
     <address>127.0.0.1:8384</address>
     <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
     <theme>default</theme>
@@ -969,12 +947,6 @@ If set to \fBtrue\fP, TLS (HTTPS) will be enforced. Non\-HTTPS requests will
 be redirected to HTTPS. When set to \fBfalse\fP, TLS connections are
 still possible but not required.
 .UNINDENT
-.INDENT 0.0
-.TP
-.B debugging
-This enables \fI\%Profiling\fP and additional endpoints in the REST
-API, see \fI\%Debug Endpoints\fP\&.
-.UNINDENT
 .sp
 The following child elements may be present:
 .INDENT 0.0
@@ -1196,7 +1168,6 @@ Search filter for user searches.
     <stunKeepaliveStartS>180</stunKeepaliveStartS>
     <stunKeepaliveMinS>20</stunKeepaliveMinS>
     <stunServer>default</stunServer>
-    <databaseTuning>auto</databaseTuning>
     <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
     <announceLANAddresses>true</announceLANAddresses>
     <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
@@ -1488,13 +1459,6 @@ troubles.  Defaults to \fBtrue\fP, to help the developers troubleshoot.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B databaseTuning
-Controls how Syncthing uses the backend key\-value database that stores the
-index data and other persistent data it needs.  The available options and
-implications are explained in a \fI\%separate chapter\fP\&.
-.UNINDENT
-.INDENT 0.0
-.TP
 .B maxConcurrentIncomingRequestKiB
 This limits how many bytes we have “in the air” in the form of response data
 being read and processed.
@@ -1509,7 +1473,7 @@ addresses to global discovery.
 .TP
 .B sendFullIndexOnUpgrade
 Controls whether all index data is resent when an upgrade has happened,
-equivalent to starting Syncthing with \fI\%\-\-reset\-deltas\fP\&.  This used
+equivalent to starting Syncthing with \fB\-\-reset\-deltas\fP\&.  This used
 to be the default behavior in older versions, but is mainly useful as a
 troubleshooting step and causes high database churn. The default is now
 \fBfalse\fP\&.
@@ -1582,9 +1546,7 @@ are set, \fI\%\-\-auditfile\fP takes priority.
         <pullerPauseS>0</pullerPauseS>
         <maxConflicts>10</maxConflicts>
         <disableSparseFiles>false</disableSparseFiles>
-        <disableTempIndexes>false</disableTempIndexes>
         <paused>false</paused>
-        <weakHashThresholdPct>25</weakHashThresholdPct>
         <markerName>.stfolder</markerName>
         <copyOwnershipFromParent>false</copyOwnershipFromParent>
         <modTimeWindowS>0</modTimeWindowS>
@@ -1732,6 +1694,6 @@ send only mode for just the configuration folder.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-device-ids.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-DEVICE-IDS" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-DEVICE-IDS" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-device-ids \- Understanding Device IDs
 .sp
@@ -255,6 +255,6 @@ accepting the connection.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-event-api.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-EVENT-API" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-EVENT-API" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-event-api \- Event API
 .SH DESCRIPTION
@@ -1116,6 +1116,6 @@ seconds and is now in state \fBidle\fP\&.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 4 - 4
man/syncthing-faq.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-FAQ" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-FAQ" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-faq \- Frequently Asked Questions
 .INDENT 0.0
@@ -544,7 +544,7 @@ files \fBqax\fP, \fBqbx\fP and \fBqcx\fP\&.
 To match an actual file \fIcalled\fP \fBq[abc]x\fP the pattern needs to “escape”
 the brackets, like so: \fBq\e[abc\e]x\fP\&.
 .sp
-On Windows, escaping special characters is not supported as the \fB\e\fP
+On Windows, use the \fB|\fP character to escape the brackets (\fBq|[abc|]x\fP), as the \fB\e\fP
 character is used as a path separator.
 .SS How do I access the web GUI from another computer?
 .sp
@@ -732,7 +732,7 @@ For example, the two emphasized lines below would be removed from the file.
 .INDENT 3.5
 .sp
 .EX
-<gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq debugging=\(dqfalse\(dq>
+<gui enabled=\(dqtrue\(dq tls=\(dqfalse\(dq>
    <address>127.0.0.1:8384</address>
    <user>syncguy</user>
    <password>$2a$10$s9wWHOQe...Cq7GPye69</password>
@@ -745,6 +745,6 @@ For example, the two emphasized lines below would be removed from the file.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-globaldisco.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-GLOBALDISCO" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-GLOBALDISCO" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-globaldisco \- Global Discovery Protocol v3
 .SH ANNOUNCEMENTS
@@ -119,6 +119,6 @@ The discovery server prints its certificate ID in this manner on startup.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-localdisco.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-LOCALDISCO" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-LOCALDISCO" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-localdisco \- Local Discovery Protocol v4
 .SH MODE OF OPERATION
@@ -114,6 +114,6 @@ between two announces and conclude that the announcing device has restarted.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-networking.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-NETWORKING" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-NETWORKING" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-networking \- Firewall Setup
 .SH ROUTER SETUP
@@ -163,6 +163,6 @@ Syncthing can use a SOCKS5 proxy for outbound connections. Please see \fI\%Using
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-relay.7

@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-RELAY" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-RELAY" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-relay \- Relay Protocol v1
 .SH WHAT IS A RELAY?
@@ -695,6 +695,6 @@ T}
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 49 - 76
man/syncthing-rest-api.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-REST-API" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-REST-API" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-rest-api \- REST API
 .sp
@@ -152,9 +152,7 @@ Returns the current configuration.
       \(dqpullerPauseS\(dq: 0,
       \(dqmaxConflicts\(dq: \-1,
       \(dqdisableSparseFiles\(dq: false,
-      \(dqdisableTempIndexes\(dq: false,
       \(dqpaused\(dq: false,
-      \(dqweakHashThresholdPct\(dq: 25,
       \(dqmarkerName\(dq: \(dq.stfolder\(dq,
       \(dqcopyOwnershipFromParent\(dq: false,
       \(dqmodTimeWindowS\(dq: 0,
@@ -207,7 +205,6 @@ Returns the current configuration.
     \(dqapiKey\(dq: \(dqk1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1\(dq,
     \(dqinsecureAdminAccess\(dq: false,
     \(dqtheme\(dq: \(dqdefault\(dq,
-    \(dqdebugging\(dq: false,
     \(dqinsecureSkipHostcheck\(dq: false,
     \(dqinsecureAllowFrameLoading\(dq: false
   },
@@ -273,7 +270,6 @@ Returns the current configuration.
     \(dqstunServers\(dq: [
       \(dqdefault\(dq
     ],
-    \(dqdatabaseTuning\(dq: \(dqauto\(dq,
     \(dqmaxConcurrentIncomingRequestKiB\(dq: 0,
     \(dqannounceLANAddresses\(dq: true,
     \(dqsendFullIndexOnUpgrade\(dq: false,
@@ -328,9 +324,7 @@ Returns the current configuration.
       \(dqpullerPauseS\(dq: 0,
       \(dqmaxConflicts\(dq: 10,
       \(dqdisableSparseFiles\(dq: false,
-      \(dqdisableTempIndexes\(dq: false,
       \(dqpaused\(dq: false,
-      \(dqweakHashThresholdPct\(dq: 25,
       \(dqmarkerName\(dq: \(dq.stfolder\(dq,
       \(dqcopyOwnershipFromParent\(dq: false,
       \(dqmodTimeWindowS\(dq: 0,
@@ -464,61 +458,6 @@ The connection types are \fBTCP (Client)\fP, \fBTCP (Server)\fP, \fBRelay (Clien
 .EE
 .UNINDENT
 .UNINDENT
-.SS GET /rest/system/debug
-.sp
-Added in version 0.12.0.
-
-.sp
-Returns the set of debug facilities and which of them are currently enabled.
-.INDENT 0.0
-.INDENT 3.5
-.sp
-.EX
-{
-  \(dqenabled\(dq: [
-    \(dqbeacon\(dq
-  ],
-  \(dqfacilities\(dq: {
-    \(dqbeacon\(dq: \(dqMulticast and broadcast discovery\(dq,
-    \(dqconfig\(dq: \(dqConfiguration loading and saving\(dq,
-    \(dqconnections\(dq: \(dqConnection handling\(dq,
-    \(dqdb\(dq: \(dqThe database layer\(dq,
-    \(dqdialer\(dq: \(dqDialing connections\(dq,
-    \(dqdiscover\(dq: \(dqRemote device discovery\(dq,
-    \(dqevents\(dq: \(dqEvent generation and logging\(dq,
-    \(dqhttp\(dq: \(dqREST API\(dq,
-    \(dqmain\(dq: \(dqMain package\(dq,
-    \(dqmodel\(dq: \(dqThe root hub\(dq,
-    \(dqprotocol\(dq: \(dqThe BEP protocol\(dq,
-    \(dqrelay\(dq: \(dqRelay connection handling\(dq,
-    \(dqscanner\(dq: \(dqFile change detection and hashing\(dq,
-    \(dqstats\(dq: \(dqPersistent device and folder statistics\(dq,
-    \(dqsync\(dq: \(dqMutexes\(dq,
-    \(dqupgrade\(dq: \(dqBinary upgrades\(dq,
-    \(dqupnp\(dq: \(dqUPnP discovery and port mapping\(dq,
-    \(dqversioner\(dq: \(dqFile versioning\(dq
-  }
-}
-.EE
-.UNINDENT
-.UNINDENT
-.SS POST /rest/system/debug
-.sp
-Added in version 0.12.0.
-
-.sp
-Enables or disables debugging for specified facilities. Give one or both of
-\fBenable\fP and \fBdisable\fP query parameters, with comma separated facility
-names. To disable debugging of the beacon and discovery packages, and enable it
-for config and db:
-.INDENT 0.0
-.INDENT 3.5
-.sp
-.EX
-$ curl \-H X\-API\-Key:abc123 \-X POST \(aqhttp://localhost:8384/rest/system/debug?disable=beacon,discovery&enable=config,db\(aq
-.EE
-.UNINDENT
-.UNINDENT
 .SS GET /rest/system/discovery
 .sp
 Returns the contents of the local discovery cache.
@@ -612,6 +551,51 @@ the results to message newer than the given timestamp in \X'tty: link https://da
 .SS GET /rest/system/log.txt
 .sp
 Returns the same information, formatted as a text log instead of a JSON object.
+.SS GET /rest/system/loglevels
+.sp
+Added in version 2.0.0.
+
+.sp
+Returns the set of log facilities and their current log level.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.EX
+{
+  \(dqlevels\(dq: {
+    \(dqapi\(dq: \(dqINFO\(dq,
+    \(dqbeacon\(dq: \(dqINFO\(dq,
+    ...
+    \(dqversioner\(dq: \(dqINFO\(dq,
+    \(dqwatchaggregator\(dq: \(dqINFO\(dq
+  },
+  \(dqpackages\(dq: {
+    \(dqapi\(dq: \(dqREST API\(dq,
+    \(dqbeacon\(dq: \(dqMulticast and broadcast discovery\(dq,
+    ...
+    \(dqversioner\(dq: \(dqFile versioning\(dq,
+    \(dqwatchaggregator\(dq: \(dqFilesystem event watcher\(dq
+  }
+}
+.EE
+.UNINDENT
+.UNINDENT
+.SS POST /rest/system/loglevels
+.sp
+Added in version 2.0.0.
+
+.sp
+Changes the log level for specified facilities. Post an object with the log
+facilites as keys and desired log level (\fBDEBUG\fP, \fBINFO\fP, \fBWARN\fP, or
+\fBERROR\fP) as the values.
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.EX
+$ curl \-H X\-API\-Key:abc123 \-d \(aq{\(dqbeacon\(dq:\(dqDEBUG\(dq,\(dqdiscovery\(dq:\(dqWARN\(dq}\(aq \(aqhttp://localhost:8384/rest/system/loglevels\(aq
+.EE
+.UNINDENT
+.UNINDENT
 .SS GET /rest/system/paths
 .sp
 Added in version 1.21.0.
@@ -631,7 +615,7 @@ and others.
   \(dqcertFile\(dq: \(dq/home/user/.config/syncthing/cert.pem\(dq,
   \(dqconfig\(dq: \(dq/home/user/.config/syncthing/config.xml\(dq,
   \(dqcsrfTokens\(dq: \(dq/home/user/.config/syncthing/csrftokens.txt\(dq,
-  \(dqdatabase\(dq: \(dq/home/user/.local/share/syncthing/index\-v0.14.0.db\(dq,
+  \(dqdatabase\(dq: \(dq/home/user/.local/share/syncthing/index\-v2\(dq,
   \(dqdefFolder\(dq: \(dq/home/user/Sync\(dq,
   \(dqguiAssets\(dq: \(dq/home/user/src/syncthing/gui\(dq,
   \(dqhttpsCertFile\(dq: \(dq/home/user/.config/syncthing/https\-cert.pem\(dq,
@@ -681,7 +665,7 @@ curl \-X POST \-H \(dqX\-API\-Key: abc123\(dq http://localhost:8384/rest/system/
 .UNINDENT
 .UNINDENT
 .sp
-\fBCaution\fP: See \fI\%\-\-reset\-database\fP for \fB\&.stfolder\fP creation
+\fBCaution\fP: See \fB\-\-reset\-database\fP for \fB\&.stfolder\fP creation
 side\-effect and caution regarding mountpoints.
 .SS POST /rest/system/restart
 .sp
@@ -1923,17 +1907,6 @@ Returns the data sent in the anonymous usage report.
 .UNINDENT
 .SH DEBUG ENDPOINTS
 .SS Debug Endpoints
-.sp
-These endpoints require the \fI\%gui.debugging\fP configuration option to
-be enabled and yield an access denied error code otherwise.
-.SS GET /rest/debug/peerCompletion
-.sp
-Summarizes the completion percentage for each remote device.  Returns an object
-with device IDs as keys and an integer percentage as values.
-.SS GET /rest/debug/httpmetrics
-.sp
-Returns statistics about each served REST API endpoint, to diagnose how much
-time was spent generating the responses.
 .SS GET /rest/debug/cpuprof
 .sp
 Used to capture a profile of what Syncthing is doing on the CPU.  See
@@ -1982,6 +1955,6 @@ Returns a \fB{\(dqstatus\(dq: \(dqOK\(dq}\fP object.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-security.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-SECURITY" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-SECURITY" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-security \- Security Principles
 .sp
@@ -167,6 +167,6 @@ avoid leaking keys and metadata. Or, use whole disk encryption.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 34 - 8
man/syncthing-stignore.5

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-STIGNORE" "5" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-STIGNORE" "5" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-stignore \- Prevent files from being synchronized to other nodes
 .SH SYNOPSIS
@@ -92,12 +92,32 @@ and does not denote a set of alternatives as above.
 \fBNOTE:\fP
 .INDENT 2.0
 .INDENT 3.5
-Escaped characters are not supported on Windows, where \fB\e\fP is the
-path separator. If you still need to match files that have square or
-curly brackets in their names, one possible workaround is to replace
-them with \fB?\fP, which will then match any character. For example,
-you can type \fB?banana?\fP to match both \fB[banana]\fP and
-\fB{banana}\fP, and so on.
+On Windows, \fB\e\fP is the path separator, so use \fB|\fP to escape special
+characters. For example, \fB|{banana|}\fP matches
+\fB{banana}\fP\&.
+.sp
+To use \fB\e\fP to escape special characters (and use \fB/\fP as the path separator),
+insert a \fB#escape=\e\fP at the top of the file. Here’s a short example:
+.INDENT 0.0
+.INDENT 3.5
+.nf
+\fB#escape=\e\fP
+\fB/foo\fP
+\fB/path/bar/\e{banana\e}\fP
+\fB/path/baz\e[2\e]/ex\e[3\e].txt\fP
+.fi
+.sp
+.UNINDENT
+.UNINDENT
+.sp
+\fB#escape=\e\fP must be placed at the top of the file, before any patterns,
+but leading comments, and blank lines are OK.
+.sp
+Any files included using \fB#include\fP (see below) will each need their
+own \fB#escape=\e\fP\&.
+.sp
+Using \fB#escape=\e\fP allows the same file to be synced and used on any
+operating system.
 .UNINDENT
 .UNINDENT
 .IP \(bu 2
@@ -259,9 +279,15 @@ accepting a folder from a remote device.  The GUI suggests the same patterns
 when adding a folder manually.  In either case, the \fB\&.stignore\fP file is
 created with these defaults if none is present yet.
 
+.sp
+Added in version 2.0.0: Windows users can now use the pipe character (\fB|\fP) to escape
+metacharacters in the \fB\&.stignore\fP file.  Additionally, adding
+\fB#escape=X\fP to the top of the file, allows users to define \fBX\fP
+as the escape character for that particular file.
+
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 2 - 2
man/syncthing-versioning.7

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING-VERSIONING" "7" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING-VERSIONING" "7" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing-versioning \- Keep automatic backups of deleted files by other nodes
 .sp
@@ -375,6 +375,6 @@ quoted.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .

+ 152 - 276
man/syncthing.1

@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SYNCTHING" "1" "Aug 01, 2025" "v1.29.7" "Syncthing"
+.TH "SYNCTHING" "1" "Aug 11, 2025" "v2.0.0" "Syncthing"
 .SH NAME
 syncthing \- Syncthing
 .SH SYNOPSIS
@@ -36,33 +36,60 @@ syncthing \- Syncthing
 .sp
 .EX
 syncthing [serve]
-          [\-\-audit] [\-\-auditfile=<file|\-|\-\->] [\-\-browser\-only] [\-\-device\-id]
-          [\-\-generate=<dir>] [\-\-gui\-address=<address>] [\-\-gui\-apikey=<key>]
           [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
-          [\-\-logfile=<filename>] [\-\-logflags=<flags>]
+          [\-\-allow\-newer\-config] [\-\-audit] [\-\-auditfile=<file|\-|\-\->]
+          [\-\-db\-maintenance\-interval=<interval>]
+          [\-\-db\-delete\-retention\-interval=<interval>]
+          [\-\-gui\-address=<address>] [\-\-gui\-apikey=<key>]
+          [\-\-log\-level=<level>] [\-\-log\-file=<filename>]
           [\-\-log\-max\-old\-files=<num>] [\-\-log\-max\-size=<num>]
-          [\-\-no\-browser] [\-\-no\-console] [\-\-no\-restart] [\-\-paths] [\-\-paused]
-          [\-\-no\-default\-folder] [\-\-skip\-port\-probing]
-          [\-\-reset\-database] [\-\-reset\-deltas] [\-\-unpaused] [\-\-allow\-newer\-config]
-          [\-\-upgrade] [\-\-no\-upgrade] [\-\-upgrade\-check] [\-\-upgrade\-to=<url>]
+          [\-\-no\-browser] [\-\-no\-console]
+          [\-\-no\-port\-probing] [\-\-no\-restart] [\-\-no\-upgrade]
+          [\-\-paused] [\-\-unpaused]
           [\-\-verbose] [\-\-version] [\-\-help] [\-\-debug\-*]
 
-syncthing generate
-          [\-\-home=<dir> | \-\-config=<dir>]
-          [\-\-gui\-user=<username>] [\-\-gui\-password=<password|\->]
-          [\-\-no\-default\-folder] [\-\-skip\-port\-probing] [\-\-no\-console]
+syncthing cli
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
+          [\-\-gui\-address=<address>] [\-\-gui\-apikey=<key>]
+          [\-\-help]
+          <command> [command options...] [arguments...]
+
+syncthing browser
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
           [\-\-help]
 
 syncthing decrypt (\-\-to=<dir> | \-\-verify\-only)
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
           [\-\-password=<pw>] [\-\-folder\-id=<id>] [\-\-token\-path=<file>]
-          [\-\-continue] [\-\-verbose] [\-\-version] [\-\-help]
+          [\-\-continue] [\-\-verbose] [\-\-help]
           <path>
 
-syncthing cli
+syncthing device\-id
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
+          [\-\-help]
+
+syncthing generate
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
+          [\-\-gui\-user=<username>] [\-\-gui\-password=<password|\->]
+          [\-\-no\-port\-probing]
+          [\-\-help]
+
+syncthing paths
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
+          [\-\-help]
+
+syncthing upgrade
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
+          [\-\-check\-only] [\-\-from=<url>]
+          [\-\-help]
+
+syncthing version
+          [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
+          [\-\-help]
+
+syncthing debug <command>
           [\-\-home=<dir> | \-\-config=<dir> \-\-data=<dir>]
-          [\-\-gui\-address=<address>] [\-\-gui\-apikey=<key>]
           [\-\-help]
-          <command> [command options...] [arguments...]
 .EE
 .UNINDENT
 .UNINDENT
@@ -82,7 +109,35 @@ frontend communicates with the core application through some HTTP APIs, which
 other apps like graphical system integration helpers can use as well, for
 greatest flexibility. A link to reach the GUI and API is printed among the first
 few log messages.
-.SH OPTIONS
+.SH COMMON OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-home=<dir>, \-H <dir>
+Set common configuration and data directory. The default configuration
+directory is \fB$XDG_STATE_HOME/syncthing\fP or
+\fB$HOME/.local/state/syncthing\fP (Unix\-like),
+\fB$HOME/Library/Application Support/Syncthing\fP (Mac) and
+\fB%LOCALAPPDATA%\eSyncthing\fP (Windows).
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-config=<dir>, \-C <dir>
+Set configuration directory. Alternative to \fB\-\-home\fP and must be used
+together with \fB\-\-data\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-data=<dir>, \-D <dir>
+Set data (e.g. database) directory. Alternative to \fB\-\-home\fP and must be used
+together with \fB\-\-config\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-help, \-h
+Show help text about command line usage.  Context\-sensitive depending on the
+given subcommand.
+.UNINDENT
+.SH SERVE OPTIONS
 .INDENT 0.0
 .TP
 .B \-\-allow\-newer\-config
@@ -102,18 +157,15 @@ audit events, rather than the timestamped default file name.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-browser\-only
-Open the web UI in a browser for an already running Syncthing instance.
+.B \-\-db\-maintenance\-interval=<interval>
+Database maintenance interval – internal database maintenance routines
+run this often.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-device\-id
-Print device ID to command line.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-generate=<dir>
-Generate key and config in specified dir, then exit.
+.B \-\-db\-delete\-retention\-interval=<interval>
+Database deleted item retention interval – deleted items are forgotten
+from the database after this interval.
 .UNINDENT
 .INDENT 0.0
 .TP
@@ -132,75 +184,18 @@ Override the API key needed to access the GUI / REST API.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-gui\-password=<password|\->
-Specify new GUI authentication password, to update the config file.  Read
-from the standard input stream if only a single dash (\fB\-\fP) is given.  A
-plaintext password is hashed before writing to the config file, but an
-already bcrypt\-hashed input is stored verbatim.  As a special case, giving
-the existing password hash as password will leave it untouched.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-gui\-user=<username>
-Specify new GUI authentication user name, to update the config file.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-help, \-h
-Show help text about command line usage.  Context\-sensitive depending on the
-given subcommand.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-home=<dir>
-Set common configuration and data directory. The default configuration
-directory is \fB$XDG_STATE_HOME/syncthing\fP or
-\fB$HOME/.local/state/syncthing\fP (Unix\-like),
-\fB$HOME/Library/Application Support/Syncthing\fP (Mac) and
-\fB%LOCALAPPDATA%\eSyncthing\fP (Windows).
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-config=<dir>
-Set configuration directory. Alternative to \fB\-\-home\fP and must be used
-together with \fB\-\-data\fP\&.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-data=<dir>
-Set data (e.g. database) directory. Alternative to \fB\-\-home\fP and must be used
-together with \fB\-\-config\fP\&.
+.B \-\-log\-level=<level>
+Set the log level for all packages. Valid levels are DEBUG, INFO, WARN,
+and ERROR.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-logfile=<filename>
+.B \-\-log\-file=<filename>
 Set destination filename for logging (use \fB\(dq\-\(dq\fP for stdout, which is the
 default option).
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-logflags=<flags>
-Select information in log line prefix. The \fB\-\-logflags\fP value is a sum of
-the following:
-.INDENT 7.0
-.IP \(bu 2
-1: Date
-.IP \(bu 2
-2: Time
-.IP \(bu 2
-4: Microsecond time
-.IP \(bu 2
-8: Long filename
-.IP \(bu 2
-16: Short filename
-.UNINDENT
-.sp
-To prefix each log line with date and time, set \fB\-\-logflags=3\fP (1 + 2 from
-above). The value 0 is used to disable all of the above. The default is to
-show time only (2).
-.UNINDENT
-.INDENT 0.0
-.TP
 .B \-\-log\-max\-old\-files=<num>
 Number of old files to keep (zero to keep only current).  Applies only when
 log rotation is enabled through \fB\-\-log\-max\-size\fP\&.
@@ -222,9 +217,9 @@ Hide the console window. (On Windows only)
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-no\-default\-folder
-Don’t create a default folder when generating an initial configuration /
-starting for the first time.
+.B \-\-no\-port\-probing
+Don’t try to find unused random ports for the GUI and listen address when
+generating an initial configuration / starting for the first time.
 .UNINDENT
 .INDENT 0.0
 .TP
@@ -240,37 +235,11 @@ variable, see below.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-paths
-Print the paths used for configuration, keys, database, GUI overrides,
-default sync folder and the log file.
-.UNINDENT
-.INDENT 0.0
-.TP
 .B \-\-paused
 Start with all devices and folders paused.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-reset\-database
-Reset the database, forcing a full rescan and resync. Create \fI\&.stfolder\fP
-folders in each sync folder if they do not already exist. \fBCaution\fP:
-Ensure that all sync folders which are mountpoints are already mounted.
-Inconsistent versions may result if the mountpoint is later mounted and
-contains older versions.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-reset\-deltas
-Reset delta index IDs, forcing a full index exchange.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-skip\-port\-probing
-Don’t try to find unused random ports for the GUI and listen address when
-generating an initial configuration / starting for the first time.
-.UNINDENT
-.INDENT 0.0
-.TP
 .B \-\-unpaused
 Start with all devices and folders unpaused.
 .UNINDENT
@@ -281,24 +250,10 @@ Perform upgrade.
 .UNINDENT
 .INDENT 0.0
 .TP
-.B \-\-upgrade\-check
-Check for available upgrade.
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-upgrade\-to=<url>
-Force upgrade directly from specified URL.
-.UNINDENT
-.INDENT 0.0
-.TP
 .B \-\-verbose
 Print verbose log output.
 .UNINDENT
-.INDENT 0.0
-.TP
-.B \-\-version
-Show version.
-.UNINDENT
+.SH DECRYPT OPTIONS
 .INDENT 0.0
 .TP
 .B \-\-to=<dir>
@@ -331,6 +286,33 @@ Path to the token file within the folder (used to determine folder ID).
 .B \-\-continue
 Continue processing next file in case of error, instead of aborting.
 .UNINDENT
+.SH GENERATE OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-gui\-password=<password|\->
+Specify new GUI authentication password, to update the config file.  Read
+from the standard input stream if only a single dash (\fB\-\fP) is given.  A
+plaintext password is hashed before writing to the config file, but an
+already bcrypt\-hashed input is stored verbatim.  As a special case, giving
+the existing password hash as password will leave it untouched.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-gui\-user=<username>
+Specify new GUI authentication user name, to update the config file.
+.UNINDENT
+.SH UPGRADE OPTIONS
+.INDENT 0.0
+.TP
+.B \-\-check\-only
+Do not upgrade, only indicate whether an upgrade is available.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B \-\-from=<url>
+Upgrade to the Syncthing version available from loading the package at
+the given URL.
+.UNINDENT
 .SH EXIT CODES
 .INDENT 0.0
 .TP
@@ -435,160 +417,54 @@ path expansion may not be supported.
 .INDENT 0.0
 .TP
 .B STTRACE
-Used to increase the debugging verbosity in specific or all facilities,
-generally mapping to a Go package. Enabling any of these also enables
-microsecond timestamps, file names plus line numbers. Enter a
-comma\-separated string of facilities to trace. \fBsyncthing \-\-help\fP always
-outputs an up\-to\-date list. The valid facility strings are:
-.INDENT 7.0
-.TP
-.B Main and operational facilities:
+Used to increase the debugging verbosity in specific facilities,
+generally mapping to a Go package. Enter a comma\-separated string of
+facilities to trace: \fBapi,beacon\fP\&. Optionally, a log level can be
+given per facility to specify something other than DEBUG:
+\fBapi:WARN,beacon:ERR\fP, potentially overriding a global \fB\-\-log\-level\fP
+adjustment.
 .INDENT 7.0
-.TP
-.B config
-Configuration loading and saving.
-.TP
-.B db
-The database layer.
-.TP
-.B main
-Main package.
-.TP
-.B model
-The root hub; the largest chunk of the system. File pulling, index
-transmission and requests for chunks.
-.TP
-.B scanner
-File change detection and hashing.
-.TP
-.B versioner
-File versioning.
+.INDENT 3.5
+The valid facility strings are listed below; additionally, \fBsyncthing
+serve \-\-help\fP always outputs the most up\-to\-date list.
+.INDENT 0.0
+.INDENT 3.5
+api             \- REST API
+beacon          \- Multicast and broadcast discovery
+config          \- Configuration loading and saving
+connections     \- Connection handling
+db/sqlite       \- SQLite database
+dialer          \- Dialing connections
+discover        \- Remote device discovery
+events          \- Event generation and logging
+fs              \- Filesystem access
+main            \- Main package
+model           \- The root hub
+nat             \- NAT discovery and port mapping
+pmp             \- NAT\-PMP discovery and port mapping
+protocol        \- The BEP protocol
+relay/client    \- Relay client
+scanner         \- File change detection and hashing
+stun            \- STUN functionality
+syncthing       \- Main run facility
+upgrade         \- Binary upgrades
+upnp            \- UPnP discovery and port mapping
+ur              \- Usage reporting
+versioner       \- File versioning
+watchaggregator \- Filesystem event watcher
 .UNINDENT
-.TP
-.B Networking facilities:
-.INDENT 7.0
-.TP
-.B beacon
-Multicast and broadcast UDP discovery packets: Selected interfaces
-and addresses.
-.TP
-.B connections
-Connection handling.
-.TP
-.B dialer
-Dialing connections.
-.TP
-.B discover
-Remote device discovery requests, replies and registration of
-devices.
-.TP
-.B nat
-NAT discovery and port mapping.
-.TP
-.B pmp
-NAT\-PMP discovery and port mapping.
-.TP
-.B protocol
-The BEP protocol.
-.TP
-.B relay
-Relay interaction (\fBstrelaysrv\fP).
-.TP
-.B upnp
-UPnP discovery and port mapping.
 .UNINDENT
-.TP
-.B Other facilities:
-.INDENT 7.0
-.TP
-.B fs
-Filesystem access.
-.TP
-.B events
-Event generation and logging.
-.TP
-.B http
-REST API.
-.TP
-.B sha256
-SHA256 hashing package (this facility currently unused).
-.TP
-.B stats
-Persistent device and folder statistics.
-.TP
-.B sync
-Mutexes. Used for debugging race conditions and deadlocks.
-.TP
-.B upgrade
-Binary upgrades.
-.TP
-.B walkfs
-Filesystem access while walking.
-.TP
-.B all
-All of the above.
 .UNINDENT
 .UNINDENT
 .TP
-.B STBLOCKPROFILE
-Write block profiles to \fBblock\-$pid\-$timestamp.pprof\fP every 20 seconds.
-.TP
-.B STCPUPROFILE
-Write a CPU profile to \fBcpu\-$pid.pprof\fP on exit.
-.TP
-.B STDEADLOCKTIMEOUT
-Used for debugging internal deadlocks; sets debug sensitivity. Use only
-under direction of a developer.
-.TP
 .B STLOCKTHRESHOLD
 Used for debugging internal deadlocks; sets debug sensitivity. Use only
 under direction of a developer.
 .TP
-.B STGUIADDRESS
-Override GUI listen address.  Equivalent to passing \fI\%\-\-gui\-address\fP\&.
-.TP
-.B STGUIAPIKEY
-Override the API key needed to access the GUI / REST API.  Equivalent to
-passing \fI\%\-\-gui\-apikey\fP\&.
-.TP
-.B STGUIASSETS
-Directory to load GUI assets from. Overrides compiled in assets. Useful for
-developing webgui, commonly use \fBSTGUIASSETS=gui bin/syncthing\fP\&.
-.TP
-.B STHEAPPROFILE
-Write heap profiles to \fBheap\-$pid\-$timestamp.pprof\fP each time heap usage
-increases.
-.TP
-.B STNODEFAULTFOLDER
-Don’t create a default folder when starting for the first time. This
-variable will be ignored anytime after the first run.  Equivalent to the
-\fI\%\-\-no\-default\-folder\fP flag.
-.TP
-.B STNORESTART
-Equivalent to the \fI\%\-\-no\-restart\fP flag.
-.TP
-.B STNOUPGRADE
-Disable automatic upgrades.  Equivalent to the \fI\%\-\-no\-upgrade\fP flag.
-.TP
-.B STPROFILER
-Set to a listen address such as “127.0.0.1:9090” to start the profiler with
-HTTP access, which then can be reached at
-\X'tty: link http://localhost:9090/debug/pprof'\fI\%http://localhost:9090/debug/pprof\fP\X'tty: link'\&. See \fBgo tool pprof\fP for more
-information.
-.TP
-.B STPERFSTATS
-Write running performance statistics to \fBperf\-$pid.csv\fP\&. Not supported on
-Windows.
-.TP
-.B STRECHECKDBEVERY
-Time before folder statistics (file, dir, … counts) are recalculated from
-scratch. The given duration must be parseable by Go’s \fBtime.ParseDuration\fP\&. If
-missing or not parseable, the default value of 1 month is used. To force
-recalculation on every startup, set it to \fB1s\fP\&.
-.TP
-.B STGCINDIRECTEVERY
-Sets the time interval in between database garbage collection runs.  The
-given duration must be parseable by Go’s \fBtime.ParseDuration\fP\&.
+.B STVERSIONEXTRA
+Add extra information to the version string in logs and the version line
+in the GUI. Can be set to the name of a wrapper or tool controlling
+syncthing to communicate this to the end user.
 .TP
 .B GOMAXPROCS
 Set the maximum number of CPU cores to use. Defaults to all available CPU
@@ -612,6 +488,6 @@ Set to any nonempty value to use it.
 .SH AUTHOR
 The Syncthing Authors
 .SH COPYRIGHT
-2014-2019, The Syncthing Authors
+2014-2025, The Syncthing Authors
 .\" Generated by docutils manpage writer.
 .