8000 Releases Β· syncthing/syncthing Β· GitHub
[go: up one dir, main page]

Skip to content

Releases: syncthing/syncthing

v2.0.16-rc.2

13 Mar 14:19
9ffce6e

Choose a tag to compare

v2.0.16-rc.2 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 l 8000 ogging 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.16-rc.2 or ghcr.io/syncthing/syncthing:2.0.16-rc.2
    ({docker,ghcr}.io/syncthing/syncthing:2 to 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

03 Mar 22:34
9c7e34b

Choose a tag to compare

v2.0.16-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.16-rc.1 or ghcr.io/syncthing/syncthing:2.0.16-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Other

Full Changelog: v2.0.15...v2.0.16-rc.1

v2.0.15

03 Mar 08:50
dc2a77a

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.15 or ghcr.io/syncthing/syncthing:2.0.15
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

Full Changelog: v2.0.14...v2.0.15

v2.0.15-rc.1

11 Feb 12:11
dc2a77a

Choose a tag to compare

v2.0.15-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.15-rc.1 or ghcr.io/syncthing/syncthing:2.0.15-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

Full Changelog: v2.0.14...v2.0.15-rc.1

v2.0.14

03 Feb 08:55

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.14 or ghcr.io/syncthing/syncthing:2.0.14
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

Full Changelog: v2.0.13...v2.0.14

v2.0.14-rc.2

26 Jan 08:41

Choose a tag to compare

v2.0.14-rc.2 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.14-rc.2 or ghcr.io/syncthing/syncthing:2.0.14-rc.2
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

Full Changelog: v2.0.13...v2.0.14-rc.2

v2.0.14-rc.1

24 Jan 15:48
a5de148

Choose a tag to compare

v2.0.14-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.14-rc.1 or ghcr.io/syncthing/syncthing:2.0.14-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

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

Full Changelog: v2.0.13...v2.0.14-rc.1

v2.0.13

06 Jan 12:09
962b917

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.13 or ghcr.io/syncthing/syncthing:2.0.13
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

Other

Full Changelog: v2.0.12...v2.0.13

v2.0.13-rc.1

23 Dec 08:40
962b917

Choose a tag to compare

v2.0.13-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.13-rc.1 or ghcr.io/syncthing/syncthing:2.0.13-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

Other

Full Changelog: v2.0.12...v2.0.13-rc.1

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 fil 393B es 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

2AF5
0