Skip to content

Releases: syncthing/syncthing

v2.0.12

02 Dec 08:11
ce884e5

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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 or ghcr.io/syncthing/syncthing:2.0.12
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

25 Nov 06:59
ce884e5

Choose a tag to compare

v2.0.12-rc.1 Pre-release
Pre-release

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.1 or ghcr.io/syncthing/syncthing:2.0.12-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

04 Nov 08:51

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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 or ghcr.io/syncthing/syncthing:2.0.11
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

27 Oct 07:10

Choose a tag to compare

v2.0.11-rc.1 Pre-release
Pre-release

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.1 or ghcr.io/syncthing/syncthing:2.0.11-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

24 Sep 08:33
6f0acac

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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 or ghcr.io/syncthing/syncthing:2.0.10
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

23 Sep 13:05
6f0acac

Choose a tag to compare

v2.0.10-rc.1 Pre-release
Pre-release

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.1 or ghcr.io/syncthing/syncthing:2.0.10-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

13 Sep 09:37
3382ccc

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.9 or ghcr.io/syncthing/syncthing:2.0.9
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

08 Sep 08:07
25ae01b

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.8 or ghcr.io/syncthing/syncthing:2.0.8
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

Full Changelog: v2.0.7...v2.0.8

v2.0.7

05 Sep 10:18
3c9e87d

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.7 or ghcr.io/syncthing/syncthing:2.0.7
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

New Contributors

Full Changelog: v2.0.6...v2.0.7

v2.0.6

03 Sep 07:55
372e3c2

Choose a tag to compare

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-level sets the default log level for all
    packages, and the STTRACE environment variable and GUI has been updated
    to set log levels per package. The --verbose and --logflags command
    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-interval command 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. -home must be given as --home. Some options
    have been renamed, others have become subcommands. All serve options are
    now also accepted as environment variables. See syncthing --help and
    syncthing serve --help for 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.6 or ghcr.io/syncthing/syncthing:2.0.6
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

  • fix(db): remove temp_store = MEMORY pragmas by @calmh in #10343

Full Changelog: v2.0.5...v2.0.6