# Syncthing 2.0.0-rc.16

**URL:** https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375
**Category:** Pre-release
**Created:** [May 20, 2025, 1:10pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375 "2025-05-20T13:10:36Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 20, 2025, 1:10pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/1 "2025-05-20T13:10:36Z")

</div>

This is an actual release candidate for 2.0. You might as well test it, otherwise you’ll just get the same bugs in 2.0-actual instead. 😉

> **[Release v2.0.0-rc.16 · syncthing/syncthing](https://github.com/syncthing/syncthing/releases/tag/v2.0.0-rc.16)**
>
> Major changes
> 
> 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 a...

## Major changes

- 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.
- Deleted items are no longer kept forever in the database, instead they are forgotten after six months. If your use case require deletes to take effect after more than a six 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`. All serve options are now also accepted as environment variables.
- 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.

### Debian packages

```plaintext
deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing v2

```

### Docker image

```plaintext
ghcr.io/syncthing/syncthing:2.0.0-rc.16

```

---

<div class="post-metadata">

### Author: ![mraneri](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@mraneri](https://forum.syncthing.net/u/mraneri)
#### Post date: [May 20, 2025, 5:48pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/2 "2025-05-20T17:48:28Z")

</div>

> [@calmh](#):
>
> Deleted items are no longer kept forever in the database, instead they are forgotten after six months

Would you comment on situations where this could create a problem and why someone might want to change the period from 6 months to something longer?

Perhaps explain the implication if the deleted items were forgotten after one day as a means to explain how it all works.

Thanks.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 20, 2025, 6:25pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/3 "2025-05-20T18:25:24Z")

</div>

The mechanism warrants more of a write-up, yeah, but the short of it is that if you have devices that are offline for a longer period than this they will not be told of the delete when they come back, as other devices will have forgotten about it by then.

---

<div class="post-metadata">

### Author: ![mraneri](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/b19c9b/32.png) [@mraneri](https://forum.syncthing.net/u/mraneri)
#### Post date: [May 20, 2025, 6:35pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/4 "2025-05-20T18:35:37Z")

</div>

I wonder if this cleanup period could be dynamically created based on the list of devices and the last seen/sync date.

I.e. when the oldest device connects (or is removed) then it’s okay to purge entries up to the date of the next oldest device. (It may not be able to use the “last seen” date, but the date of the last successful transfer of the critical info like the file list)

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 20, 2025, 6:40pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/5 "2025-05-20T18:40:07Z")

</div>

Many things are possible but may be complicated. The current mechanism is simple, and adjustable for those who need that.

---

<div class="post-metadata">

### Author: ![Luther](https://forum.syncthing.net/user_avatar/forum.syncthing.net/luther/32/18794_2.png) [@Luther](https://forum.syncthing.net/u/Luther)
#### Post date: [May 21, 2025, 8:53am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/6 "2025-05-21T08:53:40Z")

</div>

> [@calmh](#):
>
> s

Hi, I want to know how can I set the `--db-delete-retention-interval` command line option? If I want the deleted items keep 2 weeks, set start command as below:

syncthing.exe --home=home --no-upgrade --audit --db-delete-retention-interval=14

Is it right?

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 21, 2025, 11:14am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/8 "2025-05-21T11:14:48Z")

</div>

> [@Luther](#):
>
> –db-delete-retention-interval=14
> 
> Is it right?

No. The default value in the help output is a hint:

```plaintext
--db-delete-retention-interval=4320h Database deleted item retention interval ($STDBDELETERETENTIONINTERVAL)

```

For 14 days, set `--db-delete-retention-interval=336h`

Technically, this is a Go time.Duration string, which:

> is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as “300ms”, “-1.5h” or “2h45m”. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”.

---

<div class="post-metadata">

### Author: ![Alex](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/a/db5fbb/32.png) [@Alex](https://forum.syncthing.net/u/Alex)
#### Post date: [May 21, 2025, 5:13pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/9 "2025-05-21T17:13:47Z")

</div>

Tried to use it on a raspberry pi 1, only get “Illegal instruction” when trying to execute the binary. OS is raspbian bullseye with kernel `Linux raspberrypi 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6l GNU/Linux`.

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 21, 2025, 6:12pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/10 "2025-05-21T18:12:04Z")

</div>

Yeah sorry about that. There’s a C compiler in the mix now as well and we’re running with essentially the defaults in terms of instruction set. I suppose that is something newer than armv6.

---

<div class="post-metadata">

### Author: ![Alex](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/a/db5fbb/32.png) [@Alex](https://forum.syncthing.net/u/Alex)
#### Post date: [May 21, 2025, 6:31pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/11 "2025-05-21T18:31:03Z")

</div>

No problem. Trying to compile on the pi1 itself but that will probably take forever (if it does not crash).

Also tried on a raspberry pi 2 with armv7, there the release seems to run.

---

<div class="post-metadata">

### Author: ![Nummer378](https://forum.syncthing.net/user_avatar/forum.syncthing.net/nummer378/32/5958_2.png) [@Nummer378](https://forum.syncthing.net/u/Nummer378)
#### Post date: [May 21, 2025, 7:05pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/12 "2025-05-21T19:05:51Z")

</div>

Yeah, for 32-bit arm go’s [cgo compiler](https://cs.opensource.google/go/go/+/refs/tags/go1.24.3:src/cmd/cgo/gcc.go;l=1736) will simply set `gcc -marm` without specifying an actual architecture. This results in the gcc compiler assuming defaults, which is probably armv7 without floating point support. (Though I haven’t checked the gcc code what their actual default currently is).

It doesn’t look like one is allowed to override this. While you can tell cgo to pass along additional flags to gcc/clang, the list of flags is restricted and doesn’t seem to allow you to pass along the extra `-march=armXYZ` you would need to support armv6. I find that a bit strange, because the go compiler itself has several flags to tune its ARM code (e.g. `GOARM={5,6,7}` which is apparently not honored at all by cgo? Meaning that setting `GOARM=5` still produces `armv7` binaries with cgo enabled?

(It does the proper thing for MIPS: There it actually checks the subvariant and adjusts gcc accordingly, but they didn’t care about ARM \< 8?)

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 21, 2025, 8:26pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/13 "2025-05-21T20:26:32Z")

</div>

Note our build process uses zig but I’m sure similar things apply. Also while we used to set down GOARM and GO386 etc I removed that as I didn’t see how it worked with the C parts. If we can do something more intelligent that’s welcome.

---

<div class="post-metadata">

### Author: ![Alex](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/a/db5fbb/32.png) [@Alex](https://forum.syncthing.net/u/Alex)
#### Post date: [May 21, 2025, 8:32pm UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/14 "2025-05-21T20:32:33Z")

</div>

Building on the pi 1 itself worked and I got a working binary `syncthing v2.0.0-rc.16 "Hafnium Hornet" (go1.24.3 linux-arm) pi@raspberrypi 2025-05-21 19:11:09 UTC`

---

<div class="post-metadata">

### Author: ![Luther](https://forum.syncthing.net/user_avatar/forum.syncthing.net/luther/32/18794_2.png) [@Luther](https://forum.syncthing.net/u/Luther)
#### Post date: [May 22, 2025, 1:33am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/15 "2025-05-22T01:33:27Z")

</div>

I set start command as below, and start Syncthing:

syncthing.exe --home=home --no-upgrade --audit --db-delete-retention-interval=0h1m

a few minutes later, the deleted items have not been deleted from DB, still show as below:

 ![image](https://forum-uploads.syncthingcdn.net/original/3X/5/e/5ee6ef2e9fa0624796402b0f0b0ea1413a6405f1.png)

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 22, 2025, 5:55am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/16 "2025-05-22T05:55:28Z")

</div>

Indeed, because a 1 minute retention interval is nonsensical. The minimum allowed is 24 hours. The cleanup happens as part of the periodic maintenance which runs by default every 8 hours.

---

<div class="post-metadata">

### Author: ![Luther](https://forum.syncthing.net/user_avatar/forum.syncthing.net/luther/32/18794_2.png) [@Luther](https://forum.syncthing.net/u/Luther)
#### Post date: [May 22, 2025, 6:48am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/17 "2025-05-22T06:48:50Z")

</div>

Got it, thank you.

---

<div class="post-metadata">

### Author: ![rustycanb](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rustycanb/32/12989_2.png) [@rustycanb](https://forum.syncthing.net/u/rustycanb)
#### Post date: [May 22, 2025, 7:37am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/18 "2025-05-22T07:37:28Z")

</div>

2.0.0-rc.16 working successfully on three Linux laptops and RPi4. I’m about to delate the out-dated leveldb folders. Proceed?

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 22, 2025, 9:48am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/19 "2025-05-22T09:48:13Z")

</div>

![](https://media1.tenor.com/m/a7AEXVIQdhQAAAAC/sir-patrick-stewart-patrick-stewart.gif "Sir Patrick Stewart Engage GIF - Sir Patrick Stewart Patrick Stewart Engage -...")

---

<div class="post-metadata">

### Author: ![rustycanb](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rustycanb/32/12989_2.png) [@rustycanb](https://forum.syncthing.net/u/rustycanb)
#### Post date: [May 22, 2025, 10:00am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/20 "2025-05-22T10:00:12Z")

</div>

@calmh Engaged!

---

<div class="post-metadata">

### Author: ![calmh](https://forum.syncthing.net/user_avatar/forum.syncthing.net/calmh/32/15311_2.png) [@calmh](https://forum.syncthing.net/u/calmh)
#### Post date: [May 22, 2025, 10:36am UTC](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375/21 "2025-05-22T10:36:02Z")

</div>

Could you try [https://cdn.kastelo.net/tfi/syncthing-linux-arm-v2-0-0-rc-16-dev-8-g1b8a8032-v2-tar.gz](https://cdn.kastelo.net/tfi/syncthing-linux-arm-v2-0-0-rc-16-dev-8-g1b8a8032-v2-tar.gz) (from [build: target ARMv6 for linux-arm builds · syncthing/syncthing@1b8a803 · GitHub](https://github.com/syncthing/syncthing/actions/runs/15184202848)) and see if it works on your Pi? I made an attempt to select a fairly baseline ARMv6 instruction set.

[Next page](https://forum.syncthing.net/t/syncthing-2-0-0-rc-16/24375.md?page=2)
