Releases: syncthing/syncthing
v2.1.0
Major changes in 2.1
-
Devices and folders can now be grouped in the GUI by setting the new
groupattribute. -
HTTP and HTTPS proxies with support for CONNECT can now be used, in
addition to the existing support for SOCKS proxies (the environment
variableall_proxy=https://...). -
Block indexing can be turned off for folders where it's more desirable to
optimise for reduced database size and overhead than minimal transfer
size (theblockIndexingattribute on folder configuration). -
GUI login session duration can be configured to be longer or shorter than
the default one week, or set to infinitely long. The cookie path can also
be adjusted. (ThesessionCookieDurationSandsessionCookiePath
attributes in the GUI configuration.)
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.1.0orghcr.io/syncthing/syncthing:2.1.0
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(stdiscosrv): close file descriptor on flush error in write by @cuiweixie in #10615
- fix(gui): disable autocomplete for folder password by @bt90 in #10342
- fix(protocol): limit size of incoming request messages by @calmh in #10629
- fix(gui): don't show local device under remote devices (ref #10563) by @maen-bn in #10631
- fix(gui): order folders alphabetically and ensure local device stays hidden (ref #10563, ref #10631) by @maen-bn in #10637
- fix(gui): fallback to folder ID when label is empty in remove dialog by @RealCharlesChia in #10657
- fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes #10634) by @JRNitre in #10651
- fix(strelaysrv): properly use bind address for outgoing requests (fixes #10658) by @calmh in #10659
- fix(stdiscosrv): only read certificate proxy headers with --http by @calmh in #10674
Features
- feat(gui, config): support simple folder grouping (fixes #2070) by @maen-bn in #10563
- feat: make http session cookie path & duration configurable by @vvaswani in #10632
- feat(dialer): add HTTP/HTTPS proxy support via CONNECT by @luizluca in #10572
- feat: make block indexing configurable by @calmh in #10608
Other
- chore: remove tracking inode change time by @calmh in #10579
- build(deps): temporarily switch to fork of gateway discovery library (fixes #10593) by @marbens-arch in #10594
- build: extract github.ref_name expression to env mapping by @dagecko in #10624
- build: pin 20 third-party actions to immutable commit SHAs by @dagecko in #10625
- build: have dependabot group PRs and use cooldown by @calmh in #10630
- chore: trivial fixes by @calmh in #10650
- chore(model): more efficient tracking of renames during scan by @calmh in #10653
- chore(model): deflake cluster config tests by @calmh in #10662
- chore(model): deflake TestCompletionEmptyGlobal by @calmh in #10663
- chore(scanner): deflake TestStopWalk by @calmh in #10664
- build: parallelise linux builds slightly by @calmh in #10666
- chore(api): deflake TestHTTPLogin on Windows by @calmh in #10667
- chore(api): use ldap package escape functions by @calmh in #10672
- build: only run the periodic build jobs in the syncthing org by @calmh in #10675
- build(deps): update dependencies by @calmh in #10683
- chore(model): slightly improve handling of pulling empty blocks by @calmh in #10679
- chore(gui): upgrade jQuery to 3.7.1 to fix CVE-2020-11022, CVE-2020-11023, CVE-2015-9251 by @Umer-Azaz in #10673
- chore(fs): remove unused SymlinksSupported() method by @calmh in #10684
New Contributors
- @cuiweixie made their first contribution in #10615
- @dagecko made their first contribution in #10624
- @maen-bn made their first contribution in #10563
- @RealCharlesChia made their first contribution in #10657
- @JRNitre made their first contribution in #10651
- @vvaswani made their first contribution in #10632
- @luizluca made their first contribution in #10572
- @Umer-Azaz made their first contribution in #10673
Full Changelog: v2.0.16...v2.1.0
v2.1.0-rc.2
Major changes in 2.1
-
Devices and folders can now be grouped in the GUI by setting the new
groupattribute. -
HTTP and HTTPS proxies with support for CONNECT can now be used, in
addition to the existing support for SOCKS proxies (the environment
variableall_proxy=https://...). -
Block indexing can be turned off for folders where it's more desirable to
optimise for reduced database size and overhead than minimal transfer
size (theblockIndexingattribute on folder configuration). -
GUI login session duration can be configured to be longer or shorter than
the default one week, or set to infinitely long. The cookie path can also
be adjusted. (ThesessionCookieDurationSandsessionCookiePath
attributes in the GUI configuration.)
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.1.0-rc.2orghcr.io/syncthing/syncthing:2.1.0-rc.2
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(stdiscosrv): close file descriptor on flush error in write by @cuiweixie in #10615
- fix(gui): disable autocomplete for folder password by @bt90 in #10342
- fix(protocol): limit size of incoming request messages by @calmh in #10629
- fix(gui): don't show local device under remote devices (ref #10563) by @maen-bn in #10631
- fix(gui): order folders alphabetically and ensure local device stays hidden (ref #10563, ref #10631) by @maen-bn in #10637
- fix(gui): fallback to folder ID when label is empty in remove dialog by @RealCharlesChia in #10657
- fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes #10634) by @JRNitre in #10651
- fix(strelaysrv): properly use bind address for outgoing requests (fixes #10658) by @calmh in #10659
- fix(stdiscosrv): only read certificate proxy headers with --http by @calmh in #10674
Features
- feat(gui, config): support simple folder grouping (fixes #2070) by @maen-bn in #10563
- feat: make http session cookie path & duration configurable by @vvaswani in #10632
- feat(dialer): add HTTP/HTTPS proxy support via CONNECT by @luizluca in #10572
- feat: make block indexing configurable by @calmh in #10608
Other
- chore: remove tracking inode change time by @calmh in #10579
- build(deps): temporarily switch to fork of gateway discovery library (fixes #10593) by @marbens-arch in #10594
- build: extract github.ref_name expression to env mapping by @dagecko in #10624
- build: pin 20 third-party actions to immutable commit SHAs by @dagecko in #10625
- build: have dependabot group PRs and use cooldown by @calmh in #10630
- chore: trivial fixes by @calmh in #10650
- chore(model): more efficient tracking of renames during scan by @calmh in #10653
- chore(model): deflake cluster config tests by @calmh in #10662
- chore(model): deflake TestCompletionEmptyGlobal by @calmh in #10663
- chore(scanner): deflake TestStopWalk by @calmh in #10664
- build: parallelise linux builds slightly by @calmh in #10666
- chore(api): deflake TestHTTPLogin on Windows by @calmh in #10667
- chore(api): use ldap package escape functions by @calmh in #10672
- build: only run the periodic build jobs in the syncthing org by @calmh in #10675
- build(deps): update dependencies by @calmh in #10683
- chore(model): slightly improve handling of pulling empty blocks by @calmh in #10679
- chore(gui): upgrade jQuery to 3.7.1 to fix CVE-2020-11022, CVE-2020-11023, CVE-2015-9251 by @Umer-Azaz in #10673
- chore(fs): remove unused SymlinksSupported() method by @calmh in #10684
New Contributors
- @cuiweixie made their first contribution in #10615
- @dagecko made their first contribution in #10624
- @maen-bn made their first contribution in #10563
- @RealCharlesChia made their first contribution in #10657
- @JRNitre made their first contribution in #10651
- @vvaswani made their first contribution in #10632
- @luizluca made their first contribution in #10572
- @Umer-Azaz made their first contribution in #10673
Full Changelog: v2.0.16...v2.1.0-rc.2
v2.1.0-rc.1
Major changes in 2.1
-
Devices and folders can now be grouped in the GUI by setting the new
groupattribute. -
HTTP and HTTPS proxies with support for CONNECT can now be used, in
addition to the existing support for SOCKS proxies (the environment
variableall_proxy=https://...). -
Block indexing can be turned off for folders where it's more desirable to
optimise for reduced database size and overhead than minimal transfer
size (theblockIndexingattribute on folder configuration). -
GUI login session duration can be configured to be longer or shorter than
the default one week, or set to infinitely long. The cookie path can also
be adjusted. (ThesessionCookieDurationSandsessionCookiePath
attributes in the GUI configuration.)
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.1.0-rc.1orghcr.io/syncthing/syncthing:2.1.0-rc.1
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(stdiscosrv): close file descriptor on flush error in write by @cuiweixie in #10615
- fix(gui): disable autocomplete for folder password by @bt90 in #10342
- fix(protocol): limit size of incoming request messages by @calmh in #10629
- fix(gui): don't show local device under remote devices (ref #10563) by @maen-bn in #10631
- fix(gui): order folders alphabetically and ensure local device stays hidden (ref #10563, ref #10631) by @maen-bn in #10637
- fix(gui): fallback to folder ID when label is empty in remove dialog by @RealCharlesChia in #10657
- fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes #10634) by @JRNitre in #10651
- fix(strelaysrv): properly use bind address for outgoing requests (fixes #10658) by @calmh in #10659
Features
- feat(gui, config): support simple folder grouping (fixes #2070) by @maen-bn in #10563
- feat: make http session cookie path & duration configurable by @vvaswani in #10632
- feat(dialer): add HTTP/HTTPS proxy support via CONNECT by @luizluca in #10572
- feat: make block indexing configurable by @calmh in #10608
Other
- chore: remove tracking inode change time by @calmh in #10579
- build(deps): temporarily switch to fork of gateway discovery library (fixes #10593) by @marbens-arch in #10594
- build: extract github.ref_name expression to env mapping by @dagecko in #10624
- build: pin 20 third-party actions to immutable commit SHAs by @dagecko in #10625
- build: have dependabot group PRs and use cooldown by @calmh in #10630
- chore: trivial fixes by @calmh in #10650
- chore(model): more efficient tracking of renames during scan by @calmh in #10653
- chore(model): deflake cluster config tests by @calmh in #10662
- chore(model): deflake TestCompletionEmptyGlobal by @calmh in #10663
- chore(scanner): deflake TestStopWalk by @calmh in #10664
- build: parallelise linux builds slightly by @calmh in #10666
- chore(api): deflake TestHTTPLogin on Windows by @calmh in #10667
New Contributors
- @cuiweixie made their first contribution in #10615
- @dagecko made their first contribution in #10624
- @maen-bn made their first contribution in #10563
- @RealCharlesChia made their first contribution in #10657
- @JRNitre made their first contribution in #10651
- @vvaswani made their first contribution in #10632
- @luizluca made their first contribution in #10572
Full Changelog: v2.0.16...v2.1.0-rc.1
v2.0.16
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.16orghcr.io/syncthing/syncthing:2.0.16
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(protocol): verify compressed message length before decompression by @calmh in #10595
- fix(systemd): support overrides for syncOwnership by @Valloric in #10602
- fix(systemd): add back chown allowed syscalls by @Valloric in #10605
Other
- chore(config, connections): use same reconnection interval for QUIC and TCP (fixes #10507) by @marbens-arch in #10573
- build(deps): update dependencies by @calmh in #10588
- chore(sqlite): reduce max open connections, keep them open permanently (fixes #10592) by @calmh in #10596
Full Changelog: v2.0.15...v2.0.16
v2.0.16-rc.2
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.16-rc.2orghcr.io/syncthing/syncthing:2.0.16-rc.2
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(protocol): verify compressed message length before decompression by @calmh in #10595
- fix(systemd): support overrides for syncOwnership by @Valloric in #10602
- fix(systemd): add back chown allowed syscalls by @Valloric in #10605
Other
- chore(config, connections): use same reconnection interval for QUIC and TCP (fixes #10507) by @marbens-arch in #10573
- build(deps): update dependencies by @calmh in #10588
- chore(sqlite): reduce max open connections, keep them open permanently (fixes #10592) by @calmh in #10596
Full Changelog: v2.0.15...v2.0.16-rc.2
v2.0.16-rc.1
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.16-rc.1orghcr.io/syncthing/syncthing:2.0.16-rc.1
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Other
- chore(config, connections): use same reconnection interval for QUIC and TCP (fixes #10507) by @marbens-arch in #10573
Full Changelog: v2.0.15...v2.0.16-rc.1
v2.0.15
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.15orghcr.io/syncthing/syncthing:2.0.15
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(gui): show restarting modal during upgrade restart (fixes #1248) by @steadytao in #10566
- fix(gui): remove width limit for language select items by @EastSun5566 in #10531
Other
- chore(gui): add id and name to Stay logged in checkbox for password managers by @epifeny in #10558
- chore(db): add ability to wait for programmatically started database maintenance, query last maintenance time by @pixelspark in #10565
- chore(etc): add comprehensive sandboxing by @Valloric in #10421
- chore: build with Go 1.26; use Go 1.25 features by @calmh in #10570
New Contributors
- @epifeny made their first contribution in #10558
- @steadytao made their first contribution in #10566
- @EastSun5566 made their first contribution in #10531
- @Valloric made their first contribution in #10421
Full Changelog: v2.0.14...v2.0.15
v2.0.15-rc.1
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.15-rc.1orghcr.io/syncthing/syncthing:2.0.15-rc.1
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(gui): show restarting modal during upgrade restart (fixes #1248) by @steadytao in #10566
- fix(gui): remove width limit for language select items by @EastSun5566 in #10531
Other
- chore(gui): add id and name to Stay logged in checkbox for password managers by @epifeny in #10558
- chore(db): add ability to wait for programmatically started database maintenance, query last maintenance time by @pixelspark in #10565
- chore(etc): add comprehensive sandboxing by @Valloric in #10421
- chore: build with Go 1.26; use Go 1.25 features by @calmh in #10570
New Contributors
- @epifeny made their first contribution in #10558
- @steadytao made their first contribution in #10566
- @EastSun5566 made their first contribution in #10531
- @Valloric made their first contribution in #10421
Full Changelog: v2.0.14...v2.0.15-rc.1
v2.0.14
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.14orghcr.io/syncthing/syncthing:2.0.14
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(beacon): skip point-to-point interfaces on Android by @bt90 in #10504
- fix(stdiscosrv): use fmt.Println for version output (fixes #10523) by @maishivamhoo123 in #10527
- fix(stdiscosrv): log full device ID on startup by @maishivamhoo123 in #10541
Other
- chore(api): remove charset declaration from JSON content-type (fixes #10500) by @prathik8794 in #10508
- chore(sqlite): allow periodic database maintenance to be disabled by @pixelspark in #10441
- chore(gui): include license files for fork-awesome assets by @gotmax23 in #10539
- build: add build attestation step at release by @calmh in #10540
New Contributors
- @prathik8794 made their first contribution in #10508
- @gotmax23 made their first contribution in #10539
- @maishivamhoo123 made their first contribution in #10527
Full Changelog: v2.0.13...v2.0.14
v2.0.14-rc.2
Major changes in 2.0
-
Database backend switched from LevelDB to SQLite. There is a migration on
first launch which can be lengthy for larger setups. The new database is
easier to understand and maintain and, hopefully, less buggy. -
The logging format has changed to use structured log entries (a message
plus several key-value pairs). Additionally, we can now control the log
level per package, and a new log level WARNING has been inserted between
INFO and ERROR (which was previously known as WARNING...). The INFO level
has become more verbose, indicating the sync actions taken by Syncthing. A
new command line flag--log-levelsets the default log level for all
packages, and theSTTRACEenvironment variable and GUI has been updated
to set log levels per package. The--verboseand--logflagscommand
line options have been removed and will be ignored if given. -
Deleted items are no longer kept forever in the database, instead they are
forgotten after fifteen months. If your use case require deletes to take
effect after more than a fifteen month delay, set the
--db-delete-retention-intervalcommand line option or corresponding
environment variable to zero, or a longer time interval of your choosing. -
Modernised command line options parsing. Old single-dash long options are
no longer supported, e.g.-homemust be given as--home. Some options
have been renamed, others have become subcommands. All serve options are
now also accepted as environment variables. Seesyncthing --helpand
syncthing serve --helpfor details. -
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more
efficient without it. -
A "default folder" is no longer created on first startup.
-
Multiple connections are now used by default between v2 devices. The new
default value is to use three connections: one for index metadata and two
for data exchange. -
The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:- dragonfly/amd64
- solaris/amd64
- linux/ppc64
- netbsd/*
- openbsd/386 and openbsd/arm
- windows/arm
-
The handling of conflict resolution involving deleted files has changed. A
delete can now be the winning outcome of conflict resolution, resulting in
the deleted file being moved to a conflict copy.
This release is also available as:
-
APT repository: https://apt.syncthing.net/
-
Docker image:
docker.io/syncthing/syncthing:2.0.14-rc.2orghcr.io/syncthing/syncthing:2.0.14-rc.2
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(beacon): skip point-to-point interfaces on Android by @bt90 in #10504
- fix(stdiscosrv): use fmt.Println for version output (fixes #10523) by @maishivamhoo123 in #10527
- fix(stdiscosrv): log full device ID on startup by @maishivamhoo123 in #10541
Other
- chore(api): remove charset declaration from JSON content-type (fixes #10500) by @prathik8794 in #10508
- chore(sqlite): allow periodic database maintenance to be disabled by @pixelspark in #10441
- chore(gui): include license files for fork-awesome assets by @gotmax23 in #10539
- build: add build attestation step at release by @calmh in #10540
New Contributors
- @prathik8794 made their first contribution in #10508
- @gotmax23 made their first contribution in #10539
- @maishivamhoo123 made their first contribution in #10527
Full Changelog: v2.0.13...v2.0.14-rc.2