Jakob Borg
d49df1e44c
build: refactor builds for forks/PRs
...
Make sure as much as possible runs for forks and PRs as well, while
keeping the release specific stuff out of the way.
2025-05-31 09:52:27 +02:00
Jakob Borg
50480f6ccb
build: use same GitHub token for releases as for translation etc pushes
2025-05-31 08:50:42 +02:00
Jakob Borg
15f693d93c
refactor(sqlite): move deleted flag into logical order in schema
2025-05-31 08:39:11 +02:00
Jakob Borg
8e934a8c69
feat(config): enable multiple connections by default ( #10151 )
...
This changes the default number of connections from one to three (one
metadata + two data connections). This should give some advantages of
multiple connections, while also not being an overwhelming change for
larger installations. (Though those may need to tweak their settings
anyway, as always.)
2025-05-30 22:04:55 +02:00
Jakob Borg
79bac43800
Merge branch 'main' into v2
...
* main:
build: properly propagate build tags to Debian build (#10144 )
fix(protocol): avoid deadlock with concurrent connection start and close (#10140 )
build: add labeler workflow for PRs (#10143 )
build(deps): update our notify package from upstream (#10142 )
build(deps): update dependencies (#10141 )
docs: general notes about v2 coming (#10135 )
v2.0.0-rc.18
2025-05-29 17:10:03 +02:00
Jakob Borg
674834ccf4
build: properly propagate build tags to Debian build ( #10144 )
...
Previously all were ignored except noupgrade which was hard coded...
2025-05-29 15:06:57 +00:00
Jakob Borg
3bd2bff23b
fix(protocol): avoid deadlock with concurrent connection start and close ( #10140 )
2025-05-29 14:56:58 +00:00
Jakob Borg
40660c5fb7
build: add labeler workflow for PRs ( #10143 )
...
Use labels to categorise release notes
v1.29.7
v1.29.7-rc.3
2025-05-29 10:04:08 +02:00
Jakob Borg
d940d094a1
build(deps): update our notify package from upstream ( #10142 )
2025-05-28 15:04:24 +00:00
Jakob Borg
9d67727989
build(deps): update dependencies ( #10141 )
2025-05-28 13:52:08 +00:00
Jakob Borg
6f51700a7f
docs: general notes about v2 coming ( #10135 )
...
This adds a file that will be prepended to release notes (tag messages,
GitHub releases, forum posts) for v1 releases. I'd like there to be
something there to flag that things are going to change.
2025-05-27 10:01:04 +02:00
Jakob Borg
43d33dbeb5
docs: mention subcommands in release notes, use for all 2.0 releases
2025-05-27 08:16:09 +02:00
Jakob Borg
bb91f53641
Merge branch 'main' into v2
...
* main:
refactor: use slices package for sorting (#10136 )
build: handle multiple general release notes
build: no need to build on the branches that just trigger tags
2025-05-26 21:40:54 +02:00
Marcel Meyer
598915193a
refactor: use slices package for sorting ( #10136 )
...
Few more complicated usages of the sort packages are left.
### Purpose
Make progress towards replacing the sort package with slices package.
2025-05-26 20:37:49 +02:00
Jakob Borg
905e5ec07f
build: handle multiple general release notes
2025-05-26 16:27:23 +02:00
Jakob Borg
5945a8c5bd
docs: adjust release notes for v2.0.0
2025-05-26 15:27:53 +02:00
Jakob Borg
4075b886d0
build: no need to build on the branches that just trigger tags
2025-05-26 15:21:21 +02:00
Jakob Borg
e39dcc5c58
docs: add relnotes for v2.0.0
v2.0.0-rc.17
2025-05-26 14:54:24 +02:00
Jakob Borg
46d2c59b24
build: upgrade setup-zig action ( #10134 )
2025-05-26 12:53:47 +00:00
Jakob Borg
54f6b5c2ee
Merge branch 'main' into v2
...
* main:
build: use specific token for pushing release tags
fix(gui): update `uncamel()` to handle strings like 'IDs' (fixes #10128 ) (#10131 )
refactor: use slices package for sort (#10132 )
build: process for automatic release tags (#10133 )
chore(gui, man, authors): update docs, translations, and contributors
2025-05-26 14:22:30 +02:00
Jakob Borg
cade790198
build: use specific token for pushing release tags
2025-05-26 14:13:02 +02:00
Luke Hamburg
98555a9a80
fix(gui): update uncamel() to handle strings like 'IDs' ( fixes #10128 ) ( #10131 )
...
> ⚠️ resubmission targeting `main` instead of `v2`
### Purpose
Updates `uncamel()` function in
[uncamelFilter.js](https://github.com/syncthing/syncthing/blob/v2/gui/default/syncthing/core/uncamelFilter.js )
to fix camelCase conversion edge cases, see #10128
This adds an array called `reservedStrings` which will be printed as-is,
e.g. `IDs`, `LAN` etc. I pre-populated this with what I believe makes
sense, but of course this is easily updated.
### Testing
I compiled all the config variables I could find in
`syncthing/lib/config/*configuration.go` and tested this new function
against them. Everything seemed to pass.
### Screenshot

v1.29.7-rc.2
2025-05-26 11:43:38 +00:00
Marcel Meyer
48b757cac1
refactor: use slices package for sort ( #10132 )
...
The sort package is still used in places that were not trivial to
change. Since Go 1.21 slices package can be uswed for sort. See
https://go.dev/doc/go1.21#slices
### Purpose
Make some progress with the migration to a more up-to-date syntax.
2025-05-26 13:37:26 +02:00
Jakob Borg
58c85fc9db
build: process for automatic release tags ( #10133 )
...
Make the release tagging consistent. Push to release branch to create a
stable release; push to release-rc to release a new candidate.
2025-05-26 13:33:53 +02:00
Syncthing Release Automation
ddd98a818a
chore(gui, man, authors): update docs, translations, and contributors
2025-05-26 03:55:20 +00:00
Jakob Borg
99b707c141
fix(versioner): correct fs creation in test
2025-05-25 22:03:19 +02:00
Jakob Borg
39d6692109
Merge branch 'main' into v2
...
* main:
fix(syncthing): ensure both config and data dirs exist at startup (fixes #10126 ) (#10127 )
fix(versioner): fix perms of created folders (fixes #9626 ) (#10105 )
refactor: use slices.Contains to simplify code (#10121 )
2025-05-25 10:00:53 +02:00
Jakob Borg
64b5a1b738
fix(syncthing): ensure both config and data dirs exist at startup ( fixes #10126 ) ( #10127 )
...
Previously we'd only ensure the config dir, which is often but not
always the same as the data dir.
Fixes #10126
2025-05-25 08:10:17 +02:00
Ashish Bhate
1a131a56f2
fix(versioner): fix perms of created folders ( fixes #9626 ) ( #10105 )
...
As suggested in the linked issue, I've updated the versioner code to use
the permissions of the corresponding directory in the synced folder,
when creating the folder in the versions directory
### Testing
- Some tests are included with the PR. Happy to add more if you think
there are some edge-cases that we're missing.
- I've tested manually on linux to confirm the permissions of the
created directories.
- I haven't tested on Windows or OSX (I don't have access to these OS)
2025-05-24 07:35:32 +02:00
pullmerge
beda37f28b
refactor: use slices.Contains to simplify code ( #10121 )
...
There is a [new function](https://pkg.go.dev/slices@go1.21.0#Contains )
added in the go1.21 standard library, which can make the code more
concise and easy to read.
2025-05-23 10:36:06 +00:00
Jakob Borg
1b8a8032f0
build: target ARMv6 for linux-arm builds
2025-05-22 12:27:35 +02:00
Jakob Borg
3423de24ea
Revert "build: use Go 1.24.2 specifically"
...
This reverts commit 4bc17bc588 .
2025-05-22 12:03:41 +02:00
Jakob Borg
6532715641
Merge branch 'main' into v2
...
* main:
build(deps): update dependency due to build breakage (#10120 )
2025-05-22 12:02:56 +02:00
Jakob Borg
2532ac35cf
build(deps): update dependency due to build breakage ( #10120 )
v1.29.7-rc.1
2025-05-21 06:52:29 +00:00
Jakob Borg
832fa094a3
Merge branch 'main' into v2
...
* main:
chore: move golangci-lint & meta to separate PR-only workflow (#10119 )
2025-05-21 08:35:12 +02:00
Jakob Borg
bcd30ceaec
chore: move golangci-lint & meta to separate PR-only workflow ( #10119 )
...
For now. Existing code is not golangci-lint clean, but new PRs should
be, ideally.
2025-05-21 08:32:49 +02:00
Jakob Borg
78bfe643a8
chore: bump config version, prevent accidental downgrade
2025-05-20 15:37:19 +02:00
Jakob Borg
0a58747eb2
chore: further minor lint fixes
2025-05-20 15:04:33 +02:00
Jakob Borg
96b03fac04
chore: trivial lint fix
v2.0.0-rc.16
2025-05-20 14:34:20 +02:00
Jakob Borg
085455d72e
feat: add syncthing debug database-statistics command ( #10117 )
...
This adds a command that shows database statistics. Currently it
requires a fork of the sqlite package to add the dbstats virtual table;
the modernc variant already has it.
This also provides the canonical mapping between folder ID and database
file, for tinkerers...
```
% ./bin/syncthing debug database-statistics
DATABASE FOLDER ID TABLE SIZE FILL
======== ====== == ===== ==== ====
main.db - folders 4 KiB 8.4 %
main.db - folders_database_name 4 KiB 6.0 %
main.db - kv 4 KiB 41.1 %
main.db - schemamigrations 4 KiB 3.9 %
main.db - sqlite_autoindex_folders_1 4 KiB 3.7 %
...
folder.0007-txpxsvyd.db w3ejt-fn4dm indexids 4 KiB 1.5 %
folder.0007-txpxsvyd.db w3ejt-fn4dm kv 4 KiB 0.8 %
folder.0007-txpxsvyd.db w3ejt-fn4dm mtimes 608 KiB 81.5 %
folder.0007-txpxsvyd.db w3ejt-fn4dm schemamigrations 4 KiB 3.9 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_autoindex_blocklists_1 4108 KiB 89.5 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_autoindex_blocks_1 700020 KiB 88.1 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_autoindex_devices_1 4 KiB 3.6 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_autoindex_kv_1 4 KiB 0.6 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_schema 12 KiB 45.9 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_sequence 4 KiB 1.0 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_stat1 4 KiB 12.2 %
folder.0007-txpxsvyd.db w3ejt-fn4dm sqlite_stat4 4 KiB 0.2 %
folder.0007-txpxsvyd.db w3ejt-fn4dm (total) 1906020 KiB 92.8 %
main.db + children - (total) 2205888 KiB 92.0 %
```
2025-05-20 14:27:08 +02:00
Jakob Borg
72849690c9
fix(model): index handler error handling
2025-05-20 14:26:14 +02:00
Jakob Borg
f09cca52f2
Merge branch 'main' into v2
...
* main:
build: reactivate golangci-lint (#10118 )
chore(gui): add Serbian (sr) translation template (#10116 )
chore(gui, man, authors): update docs, translations, and contributors
2025-05-20 14:05:29 +02:00
Jakob Borg
9a3493c2f4
build: reactivate golangci-lint ( #10118 )
...
With DeepSource becoming (imho) less and less useful, let's get this one
back on track. It will likely require adjusting over time.
2025-05-20 14:03:43 +02:00
André Colomb
fa404d5a0d
chore(gui): add Serbian (sr) translation template ( #10116 )
...
Based on user request from Weblate, user `@vlazic`.
2025-05-19 21:06:38 +00:00
Syncthing Release Automation
73ad18fbfb
chore(gui, man, authors): update docs, translations, and contributors
2025-05-19 03:56:31 +00:00
Jakob Borg
a4db309b39
chore: refine author list generation
...
Now applies a slightly narrower definition of "author", being one that
has touched code in a file that exists today (tracking renames).
2025-05-17 16:56:56 +02:00
Jakob Borg
4bc17bc588
build: use Go 1.24.2 specifically
...
https://github.com/golang/go/issues/73617
v2.0.0-rc.15
2025-05-17 00:37:36 +02:00
Jakob Borg
964c8d7d65
fix(model): correct bufferpool handling; simplify ( #10113 )
...
The copier routine refactor resulted in bad buffer pool handling,
putting a buffer back into the pool twice. This simplifies and removes
the danger prone Upgrade() method.
2025-05-16 22:50:13 +02:00
Jakob Borg
bacf506e90
Merge branch 'main' into v2
...
* main:
chore(gui, man, authors): update docs, translations, and contributors
fix(config): mark audit log options as needing restart (fixes #10099 ) (#10100 )
fix(config): deep copy configuration defaults (fixes #9916 ) (#10101 )
2025-05-16 16:17:43 +02:00
Syncthing Release Automation
1dd264894a
chore(gui, man, authors): update docs, translations, and contributors
2025-05-12 03:54:02 +00:00