While the protocol break issue used to be huge, it's been ok for a few
years and likely that upstream now feels obligated to avoid protocol
breaks.
Adjust the text to say that only updates with protocol breaks need
approval.
This release adds the config option announceLANAddresses to enable
(the default) or disable announcing private (RFC1918) LAN IP addresses
to global discovery.
It also fixes various bugs, and we can delete a patch that's no longer
needed.
While there is 1.9.0, it is only two days old and isn't in f-droid
yet. I am choosing to avoid new releases for a bit, on the theory
that it's better to let people other than pkgsrc users find any new
issues.
Tested with syncthing Android/f-droid 1.8.0.
Upstream changes:
bugfixes and minor enhanceements
adds the experimental copyRangeMethod config on folders, for use
on filesystems with copy-on-write support. Please see
https://docs.syncthing.net/advanced/folder-copyrangemethod.html
for details.
adds TCP hole punching, used to establish high performance TCP
connections in certain NAT scenarios where only relay or QUIC
connections could be used previously.
adds a configuration to file versioning for how often to run
cleanup. This defaults to once an hour, but is configurable from
very frequently to never.
syncthing builds with Go 1.15 but panics on startup, which is why my bulk
build has not found this. This will be fixed in the next upstream version.
Discussed with tnn@ and gdt@
This hotfix release fixes an issue with block validation.
Bugfixes:
#6827: syncthing 1.6.1 -> 1.7.0 fails on "failed validating data"
v1.7.0
This release performs a database migration to optimize for clusters with
many devices.
Bugfixes:
#6552: panic: Stop called more than once on ... created by nat.Service
#6564: Closing an already removed connection causes GUI error message
#6646: Misleading error message when to be deleted dir contains receive-only changes
#6653: panic: nil pointer dereference in leveldb.(*DB).isClosed()
#6654: panic: runtime error: index out of range in processNeeded()
#6655: panic: nil pointer dereference in checkUpgrade()
#6679: QUIC listener is not added when default TCP port is unavailable
#6697: Malformed listen address causes hang on startup
#6706: Changing a folder in web UI removes introduced-by info
Enhancements:
#1830: "Folder path missing" when folder path is a junction
#4703: Suggest setting up auth on initial startup
#5910: Add Badger database backend for testing and consideration
#6372: Reduce database size by optimizing version list storage
Other issues:
#6608: Data race in Windows fs watcher tests
#6625: TestRequestRemoteRenameChanged is racy/flaky
v1.6.1
This is a fixup release on 1.6.0 in order to restore the auto upgrade
critera broken in 1.5.0.
Bugfixes:
* #6701: Syncthing 1.5.0+ auto upgrades even with auto upgrades disabled
in config
v1.6.0
This release performs a database schema migration, and adds the
BlockPullOrder, DisableFsync and MaxConcurrentWrites folder
options to the configuration schema.
The LocalChangeDetected event no longer has the action set to
added for new files, instead showing modified for all local file
changes.
Bugfixes:
* #3876: Removing and re-adding a folder may cause data loss
* #5731: 100% CPU every minute on watch setup retry
* #6268: Out of sync panel layout overflows
* #6557: Folder error repeatedly set and unset
* #6559: Deadlock on folder unsubscribe
* #6576: Versioning params in config flip flop in order
* #6578: Allow rescan at folder state "Local Additions"
* #6583: Distributed deadlock on request
* #6604: Docker healthcheck fails when run in host network
Enhancements:
* #5224: Accept new connections in place of old ones when appropriate
* #6530: Add "Pause All"/"Resume All" button for devices
* #6541: Limit number of concurrent writes while syncing
Other issues:
* #6575: Incomprehensible error message: 'directory is not empty; files
within are probably ignored on connected devices only'
* #6584: A field in a structure is sometimes protected by Mutex, but
sometimes unprotected.
upstream changes:
-----------------
v1.5.0
This release changes the default location for the index database under
some circumstances. Two new flags can also be used to affect the
location of the configuration (-config) and database (-data)
separately. The old -home flag is equivalent to setting both of these
to the same directory. When no flags are given the following logic is
used to determine the data location:
If a database exists in the old default location, that location is
still used. This means existing installations are not affected by this
change.
If $XDG_DATA_HOME is set, use $XDG_DATA_HOME/syncthing.
If ~/.local/share/syncthing exists, use that location.
Use the old default location.
This logic is used on non-Windows, non-Mac platforms only. On Windows
and Mac the logic is unchanged.
Bugfixes:
#3808: gui: Number of days must be number flashes red then disappears
#5809: stdiscosrv failed to load keypair without proper error message
#6410: Wrong 30-days-interval in staggered versioning
#6430: Incorrect out-of-sync/locally changed status indication on folders
#6436: Revert Local Changes red button does not work correctly
#6440: Doesn't run monitor process when started with STNORESTART=1
#6450: LDAP auth doesn't handle LDAPS with certificate validation
#6487: Scan problem within single unignored subdirectory prevents bidirectional sync
Enhancements:
#4924: Move index db to $XDG_DATA_HOME/syncthing/
#5376: Improve LDAP authentication
#6384: Do auto upgrades early and synchronously on startup
#6416: Improve device status for "unused" devices
#6432: Deleted file that existed locally only reported as locally changed
#6437: Don't start browser when restarting after upgrade
Other issues:
#6471: Windows exe isn't properly version tagged
(Tested with f-droid syncthing.)
Upstream does not include NEWS, but changes are various improvements
and relatively minor. Perhaps significant is a db schema change
requiring migration (automatic, and worked for me).
upstream changes:
-----------------
v1.3.4
Bugfixes
#4570: Negative percentage and data to sync
#5867: Progress bar not visible
#6044: Clicking "Save" in options says "You have unsaved changes" when changing automatic upgrade setting
#6213: Tone down STUN logging a bit
#6222: Connection Error on Listing More Locally Changed Files
#6234: Docker image uses wrong path for default folder
#6240: GUI: ignore patterns path is one row too low
#6263: Panics due to database being closed
v1.3.3
Bugfixes
#6104: Windows: Syncthing log file filling up primary drive.
#6133: Race condition in restarting folder
#6139: Some sync errors get cleared despite them still being valid
#6206: Soft limit for maxfiles is NOT increased to the hard one on macOS
Enhancements
#5887: Upgrade Button Does Not Have Confirmation Dialog
#6057: "Nearby devices" links should look more like links (mouse pointer)
#6190: Do not create .stignore if there are no ignore patterns
Update prepared by Frédéric Fauberteau <triaxx@NetBSD.org>.
While this update is slightly larger than micro, syncthing is a leaf
package or nearly so, and the update fixes a critical bug:
https://github.com/syncthing/syncthing/issues/6081
which results in excessive CPU use and syslog trouble.
Tested on netbsd-8/amd64 interoperating with Android Syncthing 1.3.2
from f-droid. (For the record, pkgsrc synching 1.3.1 worked fine with
android 1.3.2, other than the QUIC accept bug.)
packaging change: Drop note about differing Android versions now that
Android version relate to the main version.
Upstream changelog
v1.3.2
Bugfixes
#5810: GUI theme not changing on WebKit-based/like browsers
#5968: Folder "Up To Date" but has pending "Revert Local Changes"
#5980: (De)select all not working in add device dialog
#6027: Folder shows as "Syncing" when there is no data transfer
#6043: Cannot exit after failed startup
#6081: QUIC accept error loops too quickly, causing excessive log output
#6090: Pull-scan loop due to symlink traversal
#6093: cmd/stdiscosrv: Data race in replication
#6136: API + UI device last seen is empty/Never
#6160: Uses too much RAM when syncing large files (1.3.0+)
Enhancements
#6036: Generate HTTPS certificates accepted by iOS 13 / macOS Catalina
#6056: Improve sharing tab when there are no devices to share with
#6115: Change Web UI based on prefers-color-scheme
Bugfixes
5993: Build information missing in discovery and relay server binaries
5995: Usage-reported transfer stats are meaningless
6008: Changed file in receive-only folder cannot be ignored
6040: Shows authentication warning when listening on UNIX socket
6049: Hostnames resolving to localhost are not considered 'local' in remote access warning
Enhancements
5583: White tab in black Interface ?
5627: Stalled scans need better UI representation
Other issues
6010: STUN server stun.voxgratia.org should be removed
This release adds the "databaseTuning" config option to adjust parameters for the database size in use. The default is "auto" which automatically determines appropriate parameters. The other options are "small" (results in the parameters used previously, and used now for small databases) and "large" (results in the new parameters for large databases, regardless of the actual database size).
Bugfixes
#5985: Log spam and high CPU use if #include path is wrong in .stignore
Enhancements
#5138: Rate limit can be very bursty
#5948: Improve free space checking when syncing
#5966: Database performance: improve situation with huge databases
Other issues
#5924: Upgrade server JSON generator
#5991: lib/api: TestHostCheck never finishes with Go 1.13rc2 under Docker
#5999: Allow providing your own ldflags for building
The basic intent remains: if there is a protocol break we have to
coordinate with f-droid. However, syncthing seems to have matured to
the point where protocol breaks no longer happen.
syncthing phones home to check the version; not only is this a privacy
leak, but pkgsrc does updates differently so it isn't really useful.
Add a flag to the build to disable this.
From pkg/53951 by Daniel Ziltener.
- redirect stdout to /dev/null to avoid duplicating output that is already
logged to a file
- use load_rc_config after setting defaults in order to allow overriding
them in the local rc.conf
from David Brownlee
syncthingandroid is ready on https://f-droid.org/
upstream changes:
-----------------
Important notes
This release does not interoperate with Syncthing 0.14.45 or older.
This release adds QUIC with NAT traversal as a new transport protocol. TCP
is usually more performant and remains the preferred way of connection when
possible.
This release adds automatic crash reporting. See
https://docs.syncthing.net/users/crashrep.html for details.
This release makes large / variable block size the only available mode of
operation; small / fixed blocks are deprecated. See
https://docs.syncthing.net/advanced/folder-uselargeblocks.html for details.
This release reverts the version naming change in #4586 (v1.1.4). Versions
are now named with the time of their archiving, and the file modification
time is unchanged when archiving. An exception to this is the "Trashcan"
versioner which does not modify the name - instead it does set the file
modification time the time of archiving.
Bugfixes
#4170: panic: bug: ClusterConfig called on closed or nonexistent connection
#5609: Filesystem watching failed when parent folder is not listable
#5652: Connection error after closing failed items list and opening another list
#5765: Verioner cleanup looks at the wrong time
#5766: Support bundle doesn't include errors list, instead printing an error
#5770: Scan failure blocks "Rescan" button
#5777: Spurious need to "revert" nonexistent changes with Receive Only folder on Android
#5780: Panic when folder disappears while scanning
#5781: Shutdown takes too long, triggering fmut deadlock panic
#5791: Puller complains about invalid filenames which are long gone
Enhancements
#959: Automatic error log sending to dev. team
#3345: Show last connection error per discovered address
#5377: Use of QUIC for transport
#5631: Dockerfile ENTRYPOINT doesn't pass along extra arguments from "docker run"
#5697: Handle fatal watch errors gracefully
#5774: WebUI table column widths broken on narrow displays
Other issues
#5760: Dead link in README.md
#5796: TestPullInvalidIgnoredSR/SO is flaky
upstream changes:
-----------------
Bugfixes
#4613: Progress emitter doesn't start from config change if disabled at startup
#5338: Version restore not possible with custom versioning path set
#5421: WebGui: Locally Changed Items vanish when clicking 10|25|50
#5578: Filesystem watcher error when watching disk root directory on Windows
#5641: Syncthing gets stuck in a high CPU "Failed Files" state - Possibly a symlink issue?
#5649: Checking block content on unexpected request results doesn't work for the last block
#5654: Incorrect file info passed as argument to delete existing dir/symlink
#5704: Failure to fsync() files should not be fatal
Enhancements
#1634: Use copy instead of rename for version folder on other file systems
#4531: GUI folder/device status rows should handle longer values nicer
#4586: Versioner file tagging is inconsistent
#4631: In-GUI restoration should be possible from trashcan versioner
#5419: File versioning across drives
#5659: Old sync errors should not linger while retrying
Other issues
#5505: Leaking goroutines through model and leveldb
#5706: Spurious test failures on Windows
ok gdt
Bugfixes
#5332: Duplicate Files Names in Out of Sync List
#5456: Folder marked as "Up to Date" with failed items
#5578: Filesystem Watcher Error on v1.1.0
#5624: Simple Syncthing invocations take a long time to run
#5676: Systemd circular dependency prevents startup
#5531: Flush to database based on size instead of entries
#5571: Dir/symlink updates overwrite conflicts & unscanned files
#5599: Default folder in v1.1.0 isn’t created with useLargeBlocks = true
#5482: minHomeDiskFreePct is still present in fresh configs
#5493: Monitor bug: TERM signaling not passed to syncthing process
#5557: Hashing performance degradation when using large blocks
Enhancements
#1223: Mention license in "About" dialog
#5554: Unnecessary time precision in pendingFolder/pendingDevice config entries
#4921: Syncthing should guard against running old versions with new config
#5065: Add support for TLS1.3
#5346: Systemd unit should declare after=multiuser.target
#5560: Change "Introduced by" icon
#5569: Outdated copyright notes in "About" dialog
#5365: .desktop files: desktop-entry-lacks-keywords-entry
#5445: User/group ownership following parent dir
Other issues:
#1101: Syncthing has no easter eggs
#5480: Better describe exposed volumes in our Docker image
#5077: TestWatchIgnore is flaky (OpenBSD (-current) Test failed)
#5246: TestParentDeletion fails on OpenBSD
#5311: Update prometheus/common/expfmt to pass tests on go1.11
#5454: build.go setup problems with gomodules
#5495: Dockerhub Docker builds fail continously
#5515: Missing string from Transifex
API Changes
Change #5479 introduces the new copyOwnershipFromParent folder
configuration option. The default, false, matches the old behavior of
not copying ownership information.
Since change #5405, large (variable size) blocks are enabled by default for newly created folders.
Based on PR 53878 by David J. Weller-Fahy
This major release honors the fact that Syncthing is used widely
and since a while no longer "really in beta". It does not represent
a breaking change.
Bugfixes:
#5324: Incorrect warning when --home and path on same directory level
#5369: Empty file field in log when normalizePath failed
#5372: Event system can cause deadlock
Enhancements:
#2760: Option to limit max simultaneous scans
#5286: Add hardening options to systemd units
#5320: Show configured rate limit in the GUI
#5336: Show list of locally changed files for receive only folders
Other issues:
#5334: New chmduquesne/rollinghash breaks tests
#5362: lib/model: TestDeregister* tests are bad
0.14.54
Bugfixes:
#5348: Web GUI doesn't work in older browsers
0.14.53
Bugfixes:
#4738: File restore doesn't work on one folder
#4780: Logging debugging flags stay after disabling all debug facilities in the web UI
#5267: Disabling the minimum disk free space check on folders doesn't work
#5270: panic: interface conversion: interface {} is map[string]string, not map[string]interface {}
#5291: panic: runtime error: index out of range
#5294: Removed devices do not influnce the list of locally needed files
#5296: strelaypoolsrv, cmd/ursrv: Google maps issue in the GUI
#5299: panic: bug: unknown device should already have been rejected
#5323: Files not deleted properly when one side has ignore permissions set
Enhancements:
#1347: Directory auto-complete should be case-insensitive
#3439: Ship .desktop files
#4000: Add "select all" / "deselect all" to folder and device sharing dialogs
#4480: Should show indication of local files/directories that can't be scanned for whatever reason
#5256: Upgrade SSL Certificate to use modern cipher
Other issues:
#5247: cmd/stdiscosrv: test suite sometimes seg faults on OpenBSD
#5280: Update to the new prometheus client API