Skip to content

Releases: syncthing/syncthing

v2.1.0

12 May 06:46
Immutable release. Only release title and notes can be modified.
c0c401e

Choose a tag to compare

Major changes in 2.1

  • Devices and folders can now be grouped in the GUI by setting the new
    group attribute.

  • HTTP and HTTPS proxies with support for CONNECT can now be used, in
    addition to the existing support for SOCKS proxies (the environment
    variable all_proxy=https://...).

  • Block indexing can be turned off for folders where it's more desirable to
    optimise for reduced database size and overhead than minimal transfer
    size (the blockIndexing attribute on folder configuration).

  • GUI login session duration can be configured to be longer or shorter than
    the default one week, or set to infinitely long. The cookie path can also
    be adjusted. (The sessionCookieDurationS and sessionCookiePath
    attributes in the GUI configuration.)

This release is also available as:

  • APT repository: https://apt.syncthing.net/

  • Docker image: docker.io/syncthing/syncthing:2.1.0 or ghcr.io/syncthing/syncthing:2.1.0
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

  • fix(stdiscosrv): close file descriptor on flush error in write by @cuiweixie in #10615
  • fix(gui): disable autocomplete for folder password by @bt90 in #10342
  • fix(protocol): limit size of incoming request messages by @calmh in #10629
  • fix(gui): don't show local device under remote devices (ref #10563) by @maen-bn in #10631
  • fix(gui): order folders alphabetically and ensure local device stays hidden (ref #10563, ref #10631) by @maen-bn in #10637
  • fix(gui): fallback to folder ID when label is empty in remove dialog by @RealCharlesChia in #10657
  • fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes #10634) by @JRNitre in #10651
  • fix(strelaysrv): properly use bind address for outgoing requests (fixes #10658) by @calmh in #10659
  • fix(stdiscosrv): only read certificate proxy headers with --http by @calmh in #10674

Features

  • feat(gui, config): support simple folder grouping (fixes #2070) by @maen-bn in #10563
  • feat: make http session cookie path & duration configurable by @vvaswani in #10632
  • feat(dialer): add HTTP/HTTPS proxy support via CONNECT by @luizluca in #10572
  • feat: make block indexing configurable by @calmh in #10608

Other

New Contributors

Full Changelog: v2.0.16...v2.1.0

v2.1.0-rc.2

09 May 11:51
Immutable release. Only release title and notes can be modified.
f6c551f

Choose a tag to compare

v2.1.0-rc.2 Pre-release
Pre-release

Major changes in 2.1

  • Devices and folders can now be grouped in the GUI by setting the new
    group attribute.

  • HTTP and HTTPS proxies with support for CONNECT can now be used, in
    addition to the existing support for SOCKS proxies (the environment
    variable all_proxy=https://...).

  • Block indexing can be turned off for folders where it's more desirable to
    optimise for reduced database size and overhead than minimal transfer
    size (the blockIndexing attribute on folder configuration).

  • GUI login session duration can be configured to be longer or shorter than
    the default one week, or set to infinitely long. The cookie path can also
    be adjusted. (The sessionCookieDurationS and sessionCookiePath
    attributes in the GUI configuration.)

This release is also available as:

  • APT repository: https://apt.syncthing.net/

  • Docker image: docker.io/syncthing/syncthing:2.1.0-rc.2 or ghcr.io/syncthing/syncthing:2.1.0-rc.2
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

  • fix(stdiscosrv): close file descriptor on flush error in write by @cuiweixie in #10615
  • fix(gui): disable autocomplete for folder password by @bt90 in #10342
  • fix(protocol): limit size of incoming request messages by @calmh in #10629
  • fix(gui): don't show local device under remote devices (ref #10563) by @maen-bn in #10631
  • fix(gui): order folders alphabetically and ensure local device stays hidden (ref #10563, ref #10631) by @maen-bn in #10637
  • fix(gui): fallback to folder ID when label is empty in remove dialog by @RealCharlesChia in #10657
  • fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes #10634) by @JRNitre in #10651
  • fix(strelaysrv): properly use bind address for outgoing requests (fixes #10658) by @calmh in #10659
  • fix(stdiscosrv): only read certificate proxy headers with --http by @calmh in #10674

Features

  • feat(gui, config): support simple folder grouping (fixes #2070) by @maen-bn in #10563
  • feat: make http session cookie path & duration configurable by @vvaswani in #10632
  • feat(dialer): add HTTP/HTTPS proxy support via CONNECT by @luizluca in #10572
  • feat: make block indexing configurable by @calmh in #10608

Other

New Contributors

Full Changelog: v2.0.16...v2.1.0-rc.2

v2.1.0-rc.1

26 Apr 10:46
6bff89a

Choose a tag to compare

v2.1.0-rc.1 Pre-release
Pre-release

Major changes in 2.1

  • Devices and folders can now be grouped in the GUI by setting the new
    group attribute.

  • HTTP and HTTPS proxies with support for CONNECT can now be used, in
    addition to the existing support for SOCKS proxies (the environment
    variable all_proxy=https://...).

  • Block indexing can be turned off for folders where it's more desirable to
    optimise for reduced database size and overhead than minimal transfer
    size (the blockIndexing attribute on folder configuration).

  • GUI login session duration can be configured to be longer or shorter than
    the default one week, or set to infinitely long. The cookie path can also
    be adjusted. (The sessionCookieDurationS and sessionCookiePath
    attributes in the GUI configuration.)

This release is also available as:

  • APT repository: https://apt.syncthing.net/

  • Docker image: docker.io/syncthing/syncthing:2.1.0-rc.1 or ghcr.io/syncthing/syncthing:2.1.0-rc.1
    ({docker,ghcr}.io/syncthing/syncthing:2 to follow just the major version)

What's Changed

Fixes

  • fix(stdiscosrv): close file descriptor on flush error in write by @cuiweixie in #10615
  • fix(gui): disable autocomplete for folder password by @bt90 in #10342
  • fix(protocol): limit size of incoming request messages by @calmh in #10629
  • fix(gui): don't show local device under remote devices (ref #10563) by @maen-bn in #10631
  • fix(gui): order folders alphabetically and ensure local device stays hidden (ref #10563, ref #10631) by @maen-bn in #10637
  • fix(gui): fallback to folder ID when label is empty in remove dialog by @RealCharlesChia in #10657
  • fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes #10634) by @JRNitre in #10651
  • fix(strelaysrv): properly use bind address for outgoing requests (fixes #10658) by @calmh in #10659

Features

  • feat(gui, config): support simple folder grouping (fixes #2070) by @maen-bn in #10563
  • feat: make http session cookie path & duration configurable by @vvaswani in #10632
  • feat(dialer): add HTTP/HTTPS proxy support via CONNECT by @luizluca in #10572
  • feat: make block indexing configurable by @calmh in #10608

Other

  • chore: remove tracking inode change time by @calmh in #10579
  • build(deps): temporarily switch to fork of gateway discovery library (fixes #10593) by @marbens-arch in #10594
  • build: extract github.ref_name expression to env mapping by @dagecko in #10624
  • build: pin 20 third-party actions to immutable commit SHAs by @dagecko in #10625
  • build: have dependabot group PRs and use cooldown by @calmh in #10630
  • chore: trivial fixes by @calmh in #10650
  • chore(model): more efficient tracking of renames during scan by @calmh in #10653
  • chore(model): deflake cluster config tests by @calmh in #10662
  • chore(model): deflake TestCompletionEmptyGlobal by @calmh in #10663
  • chore(scanner): deflake TestStopWalk by @calmh in #10664
  • build: parallelise linux builds slightly by @calmh in #10666
  • chore(api): deflake TestHTTPLogin on Windows by @calmh in #10667

New Contributors

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

v2.0.16

07 Apr 14:45
9ffce6e

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.16 or ghcr.io/syncthing/syncthing:2.0.16
    ({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

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 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.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