Releases: syncthing/syncthing
v2.0.12
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.12orghcr.io/syncthing/syncthing:2.0.12
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Other
- chore: update quic-go, adapt to lack of write tracking by @calmh in #10456
- chore(cli): clean up generated usage strings for config commands (fixes #10462) by @acolomb in #10463
Full Changelog: v2.0.11...v2.0.12
v2.0.12-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.12-rc.1orghcr.io/syncthing/syncthing:2.0.12-rc.1
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Other
- chore: update quic-go, adapt to lack of write tracking by @calmh in #10456
- chore(cli): clean up generated usage strings for config commands (fixes #10462) by @acolomb in #10463
Full Changelog: v2.0.11...v2.0.12-rc.1
v2.0.11
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.11orghcr.io/syncthing/syncthing:2.0.11
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(policy): only allow approvals by non-author contributors by @marbens-arch in #10419
- fix(fs): store
getExpireAddmutex incaseCache(fixes #9836) by @marbens-arch in #10430 - fix(fs): apply case option to fakefs in casefs tests by @marbens-arch in #10439
- fix(fs): only apply case option to fakefs in stress test by @marbens-arch in #10440
Other
- docs(docker): make host network mode the default by @bt90 in #10416
- chore(upnp): remove incorrect embedding of nat.Service (fixes #10426) by @imsodin in #10428
- chore: minor lint fixes by @calmh in #10436
- chore(gui): add Azerbaijani (az) and Kurdish (ckb) l10n templates. by @acolomb in #10442
Full Changelog: v2.0.10...v2.0.11
v2.0.11-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.11-rc.1orghcr.io/syncthing/syncthing:2.0.11-rc.1
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(policy): only allow approvals by non-author contributors by @marbens-arch in #10419
- fix(fs): store
getExpireAddmutex incaseCache(fixes #9836) by @marbens-arch in #10430 - fix(fs): apply case option to fakefs in casefs tests by @marbens-arch in #10439
- fix(fs): only apply case option to fakefs in stress test by @marbens-arch in #10440
Other
- docs(docker): make host network mode the default by @bt90 in #10416
- chore(upnp): remove incorrect embedding of nat.Service (fixes #10426) by @imsodin in #10428
- chore: minor lint fixes by @calmh in #10436
- chore(gui): add Azerbaijani (az) and Kurdish (ckb) l10n templates. by @acolomb in #10442
Full Changelog: v2.0.10...v2.0.11-rc.1
v2.0.10
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.10orghcr.io/syncthing/syncthing:2.0.10
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix: improve conflict detection by tracking previous file hash (fixes #10349) by @calmh in #10351
- fix(ur): properly skip zero/empty fields in report by @calmh in #10394
- fix(gui): don't fetch usage report preview unnecessarily on GUI load by @calmh in #10395
- fix(db): only perform foreign key checking when a migration was applied by @pixelspark in #10397
- fix(syncthing): do not perform CPU benchmark on startup unless logging enabled by @pixelspark in #10398
- fix(model): don't announce untrusted devices to other devices (fixes #10393) by @calmh in #10408
- fix(sqlite): actually always insert blocks for local files (fixes #10388) by @calmh in #10411
Other
Full Changelog: v2.0.9...v2.0.10
v2.0.10-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.10-rc.1orghcr.io/syncthing/syncthing:2.0.10-rc.1
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix: improve conflict detection by tracking previous file hash (fixes #10349) by @calmh in #10351
- fix(ur): properly skip zero/empty fields in report by @calmh in #10394
- fix(gui): don't fetch usage report preview unnecessarily on GUI load by @calmh in #10395
- fix(db): only perform foreign key checking when a migration was applied by @pixelspark in #10397
- fix(syncthing): do not perform CPU benchmark on startup unless logging enabled by @pixelspark in #10398
- fix(model): don't announce untrusted devices to other devices (fixes #10393) by @calmh in #10408
- fix(sqlite): actually always insert blocks for local files (fixes #10388) by @calmh in #10411
Other
Full Changelog: v2.0.9...v2.0.10-rc.1
v2.0.9
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.9orghcr.io/syncthing/syncthing:2.0.9
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(sqlite): add _txlock=immediate to modernc implementation by @calmh in #10384
- fix(api): limit size of allowed authentication request by @calmh in #10386
Other
- chore(ursrv): update regex patterns for Syncthing-Fork entries by @Catfriend1 in #10380
- chore: clean up migrated database by @calmh in #10381
- chore(sqlite): use normalised tables for file names and versions by @calmh in #10383
- chore(model): slightly deflake TestRecvOnlyRevertOwnID by @calmh in #10390
Full Changelog: v2.0.8...v2.0.9
v2.0.8
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.8orghcr.io/syncthing/syncthing:2.0.8
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(sqlite): less impactful periodic garbage collection by @calmh in #10374
- fix(sqlite): explicitly set temporary directory location (fixes #10368) by @calmh in #10376
Other
- build: trigger nightly build only on syncthing repo by @aminvakil in #10375
- chore(scanner): always return values to the pools when hashing blocks by @imsodin in #10377
- chore(sqlite): skip database GC entirely when it's provably unnecessary by @calmh in #10379
New Contributors
- @aminvakil made their first contribution in #10375
Full Changelog: v2.0.7...v2.0.8
v2.0.7
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.7orghcr.io/syncthing/syncthing:2.0.7
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
- fix(model): earlier free-space check (fixes #10347) by @calmh in #10348
- fix(api): redact device encryption passwords in support bundle config by @pixelspark in #10359
- fix(sqlite): revert to default page cache size by @calmh in #10362
- fix(tlsutil): support HTTP/2 on GUI/API connections by @calmh in #10366
- fix(sqlite): avoid rowid on kv table by @calmh in #10367
Other
- chore(model): adjust folder state logging (fixes #10350) by @calmh in #10353
- build: package for illumos using vmactions/omnios-vm by @trisk in #10328
- chore(slogutil): add configurable logging format (fixes #10352) by @calmh in #10354
New Contributors
Full Changelog: v2.0.6...v2.0.7
v2.0.6
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
- illumos/amd64 and 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.6orghcr.io/syncthing/syncthing:2.0.6
({docker,ghcr}.io/syncthing/syncthing:2to follow just the major version)
What's Changed
Fixes
Full Changelog: v2.0.5...v2.0.6