mirror of
https://git.cloudron.io/cloudron/syncthing-app
synced 2026-06-17 11:35:49 +00:00
Compare commits
166 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 32094b5108 | |||
| 8cf30550e3 | |||
| a6a2bf218a | |||
| ebc099e986 | |||
| 3695f39ab6 | |||
| ad17c38599 | |||
| f861f076e4 | |||
| b3297ccc87 | |||
| efe0db3947 | |||
| b8c7faa37a | |||
| 7c3f77d272 | |||
| 653e6a11bb | |||
| dfbe17a05f | |||
| 7f76c04f69 | |||
| a3d4d57462 | |||
| a060d6e28b | |||
| 4603c3fdb4 | |||
| 8eb1d35781 | |||
| 322d537257 | |||
| b81f2273e6 | |||
| 898d1391d6 | |||
| d653dd82fa | |||
| 5b7b7da168 | |||
| dec9be581f | |||
| 2623410586 | |||
| 8cbb4641e7 | |||
| 3903af9efc | |||
| 1c860d6c63 | |||
| 8d78a37d21 | |||
| 7a267746dc | |||
| a80cb1531e | |||
| 6ac287e500 | |||
| b1f3ffd3f0 | |||
| 4a1833f7bb | |||
| 8854bd4c89 | |||
| 3cd8c5efda | |||
| aece2cbf7a | |||
| 49b7a045eb | |||
| 2d17cea7ef | |||
| 9c0df554c4 | |||
| 6c1f39247e | |||
| 151eb8e334 | |||
| 699737202d | |||
| 0afa587f81 | |||
| 457996f9cb | |||
| 33406ddc9c | |||
| 4efa85dbcb | |||
| ab2f8ca6a1 | |||
| b39ec6f1b4 | |||
| 2cd3a211e2 | |||
| 21c5087aa0 | |||
| 19b12a149d | |||
| bddaade12e | |||
| 3ac068cf00 | |||
| c66477e850 | |||
| e7c0aad591 | |||
| ffdbc43b29 | |||
| 058563e1dd | |||
| 566c9f2e61 | |||
| 2660199afc | |||
| 8476c07695 | |||
| e2ea35f9b7 | |||
| fa0677c155 | |||
| e2cda9ad73 | |||
| c91e8fb282 | |||
| e2987f2687 | |||
| a490ebb322 | |||
| b117872f57 | |||
| 51d148e163 | |||
| 62ae532c40 | |||
| e8c0199923 | |||
| 727abf1974 | |||
| 4e9f359eb3 | |||
| cc32ef813d | |||
| 7f838181bc | |||
| 8878f63f8a | |||
| dbd712704d | |||
| 9f5c82864e | |||
| 777990ba85 | |||
| 64fd0bb9a7 | |||
| f3abbdd291 | |||
| 7bab576c1b | |||
| 79404da144 | |||
| 49ce3bc7db | |||
| 4691f193fa | |||
| 0f9be01fea | |||
| 66abb7718b | |||
| d7b0862f12 | |||
| 3aa7192e5d | |||
| 9c7fb0d580 | |||
| 52bd864c70 | |||
| 3b1e637ab7 | |||
| 8b8597cd7a | |||
| a701dbbafc | |||
| 9801d5e255 | |||
| 31b7b66a31 | |||
| dce1a84d59 | |||
| f57c6fce92 | |||
| eb13771fd7 | |||
| 81d73ad09e | |||
| 3858cac612 | |||
| 40d2f5626e | |||
| e73e316292 | |||
| f651048574 | |||
| 6d6ed058f7 | |||
| df6b2725ad | |||
| 81277451dc | |||
| e9a80dddda | |||
| ba33f68bc8 | |||
| aa4cdb2de9 | |||
| 302849a50f | |||
| d8b6645f14 | |||
| d6ab9d25ba | |||
| 4209af8927 | |||
| 1fabf3766e | |||
| e276328b3b | |||
| 15c363a5f7 | |||
| 575262b21e | |||
| 76ed36f766 | |||
| 4f5c579e4c | |||
| 687d751dd9 | |||
| 20eefea761 | |||
| 0a81bc61d4 | |||
| 19bdaba65f | |||
| 9805180643 | |||
| daccdb9237 | |||
| 14fcde4cd4 | |||
| 688e6d53a1 | |||
| ae4e726aa9 | |||
| 67383ed187 | |||
| 4e734b3323 | |||
| 83578811b0 | |||
| 6da37e33bd | |||
| e700619300 | |||
| f7bb7204b6 | |||
| cae5e00af6 | |||
| d6be72d813 | |||
| fc73e5c5b1 | |||
| b5adb26208 | |||
| 3a5d4f6db9 | |||
| a528e3875a | |||
| c5aab1b7a2 | |||
| f505dd5038 | |||
| ac3fb1babf | |||
| 4682a67954 | |||
| 962fd84ce7 | |||
| 526893806a | |||
| f3a06ced68 | |||
| b7448113c9 | |||
| 03858b79ce | |||
| e2c9e659ba | |||
| 8a6c78328d | |||
| a7fe5487c6 | |||
| 49273738a1 | |||
| 0d570bd00a | |||
| cdebb682e7 | |||
| dbfcedbdab | |||
| c9c919c948 | |||
| a3fd6f5aec | |||
| d44cbc7900 | |||
| ff4677b123 | |||
| 02cd67842b | |||
| f9b26a945c | |||
| 86edd041dc | |||
| 2969543a92 | |||
| 81417754cc |
@@ -309,3 +309,534 @@
|
|||||||
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.2)
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.2)
|
||||||
* Fix use of old, renamed function in edit folder sharing tab.
|
* Fix use of old, renamed function in edit folder sharing tab.
|
||||||
|
|
||||||
|
[1.20.3]
|
||||||
|
* Update Syncthing to 1.20.3
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.3)
|
||||||
|
* #8369: Shared device names are missing from "Edit Folder -> Sharing"
|
||||||
|
* #8376: Chrome Autofill Breaks Authentication
|
||||||
|
* #8386: Ignore patterns with wildcard and non-ASCII characters don't work as expected
|
||||||
|
* #8393: Warn if two devices are introducers to each other
|
||||||
|
|
||||||
|
[1.20.4]
|
||||||
|
* Update Syncthing to 1.20.4
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.20.4)
|
||||||
|
* #7458: Syncthing announces address of interface which is down
|
||||||
|
* #8479: Panic in failure reporting
|
||||||
|
* #8007: Support listing the discovered devices using the cli
|
||||||
|
|
||||||
|
[1.21.0]
|
||||||
|
* Update Syncthing to 1.22.0
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.22.0)
|
||||||
|
* #2698: Sync extended file attributes on supported file systems
|
||||||
|
* #7603: WebUI tooltip inconsistencies
|
||||||
|
* #8506: macOS Monterey 12.5.1 aliases break after sync
|
||||||
|
|
||||||
|
[1.21.1]
|
||||||
|
* Update Syncthing to 1.22.1
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.22.1)
|
||||||
|
* #8084: Scope ID should be filtered out of IPv6 addresses when using Remote GUI
|
||||||
|
* #8569: Periodic connection losses to webui because docker image doesn't support upgrade
|
||||||
|
* #8594: Extended attributes are only synced one way
|
||||||
|
|
||||||
|
[1.21.2]
|
||||||
|
* Update base image to 4.0.0
|
||||||
|
|
||||||
|
[1.22.0]
|
||||||
|
* Update Syncthing to 1.23.0
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.0)
|
||||||
|
* #8572: Incorrect rescan interval on auto accepted encrypted folder
|
||||||
|
* #8646: Perhaps the list of devices contains empty elements
|
||||||
|
* #8686: Properly indicate whether a connection is "LAN" or not in the GUI
|
||||||
|
|
||||||
|
[1.22.1]
|
||||||
|
* Update Syncthing to 1.23.1
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.1)
|
||||||
|
* #8325: "accept: function not implemented" after upgrading to syncthing v1.20.1
|
||||||
|
|
||||||
|
[1.22.2]
|
||||||
|
* Update Syncthing to 1.23.2
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.2)
|
||||||
|
* #8749: Relay listener does not restart sometimes
|
||||||
|
* #8660: GUI editor for xattr filter patterns
|
||||||
|
* #8781: gui: Remove duplicate Spanish translation
|
||||||
|
|
||||||
|
[1.22.3]
|
||||||
|
* Update Syncthing to 1.23.3
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.3)
|
||||||
|
* #5408: Selection of time in versions GUI not possible without editing the string inside the textfield
|
||||||
|
* #8277: Mutual encrypted sharing doesn't work (both sides with password)
|
||||||
|
* #8556: Increased file size when sharing between encrypted devices
|
||||||
|
* #8599: Key generation at connect time is slow for encrypted connections
|
||||||
|
* #7859: Allow sub-second watcher delay (use case: remote development)
|
||||||
|
* #8828: cmd/stdiscosrv: TestDatabaseGetSet flake
|
||||||
|
|
||||||
|
[1.22.4]
|
||||||
|
* Update Syncthing to 1.23.4
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.4)
|
||||||
|
* lib/syncthing: Handle successful global migration (fixes #8851) (#8852)
|
||||||
|
* lib/syncthing: Handle successfull global migration (fixes #8851)
|
||||||
|
|
||||||
|
[1.22.5]
|
||||||
|
* Update Syncthing to 1.23.5
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.5)
|
||||||
|
* gui: Avoid code generating HTML (#8923)
|
||||||
|
|
||||||
|
[1.22.6]
|
||||||
|
* Update Syncthing to 1.23.6
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.6)
|
||||||
|
|
||||||
|
[1.22.7]
|
||||||
|
* Update Syncthing to 1.23.7
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.23.7)
|
||||||
|
* #6597: setLowPriority should not increase process priority when already lower (in Windows)
|
||||||
|
* #7698: ursrv: unrealistic uptime data, likely due to unset RTC (1970-01-01)
|
||||||
|
* #8958: Extended attribute filter editor should be enabled when "send extended attributes" is checked
|
||||||
|
* #8967: Shared With list ends with comma on 1 device
|
||||||
|
* #9001: relaysrv crash after some weeks of operation
|
||||||
|
* #8890: Do not autoexpand tilde sign (~) to an absolute home directory path
|
||||||
|
* #8957: Add environment variables for --home, --conf, and --data
|
||||||
|
* #8968: Error for Windows invalid file names should indicate the invalid character or name part
|
||||||
|
* #8983: Integrate govulncheck
|
||||||
|
|
||||||
|
[1.23.0]
|
||||||
|
* Update Syncthing to 1.24.0
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.25.0)
|
||||||
|
* #8274: Usage report transport type is wrong for QUIC
|
||||||
|
* #8482: Discovery server keeps duplicate entries
|
||||||
|
* #9019: Web GUI loses config changes when doing multiple modifications (e.g. on slow hardware or remotely)
|
||||||
|
* #9112: panic: counter cannot decrease in value
|
||||||
|
* #9123: Hashed passwords via API are hashed again
|
||||||
|
* #141: Use multiple simultaneous TCP connections
|
||||||
|
* #5607: Move footer links to header
|
||||||
|
|
||||||
|
[1.24.0]
|
||||||
|
* Update base image to 4.2.0
|
||||||
|
|
||||||
|
[1.25.0]
|
||||||
|
* Update Syncthing to 1.26.0
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.26.0)
|
||||||
|
* #9106: Posting config with invalid versioner type causes panic
|
||||||
|
* #9120: Deduplicated files on Windows aren't treated as regular files any more (Go 1.21)
|
||||||
|
* #9133: Syncthing Docker container fails to start if underlying filesystem doesn't support chown
|
||||||
|
* #9143: traefik no longer url escape X-Forwarded-Tls-Client-Cert header
|
||||||
|
* #9149: Favicon is stuck in notify state
|
||||||
|
* #4137: Use a real login screen + sessions instead of HTTP basic auth
|
||||||
|
|
||||||
|
[1.25.1]
|
||||||
|
* Update Syncthing to 1.26.1
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.26.1)
|
||||||
|
|
||||||
|
[1.25.2]
|
||||||
|
* Update Syncthing to 1.27.1
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.1)
|
||||||
|
* #9253: Permission error on folder causes "connection error" dialog when opening folder editor
|
||||||
|
* #9269: panic: nil pointer dereference in (*indexHandlerRegistry).startLocked
|
||||||
|
* #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")
|
||||||
|
|
||||||
|
[1.26.0]
|
||||||
|
* Add LDAP support
|
||||||
|
|
||||||
|
[1.26.1]
|
||||||
|
* Update Syncthing to 1.27.2
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.2)
|
||||||
|
* #9041: cli subcommand does not use STHOMEDIR env var
|
||||||
|
* #9183: Filesystem watching (kqueue) is enabled … with a lot of files
|
||||||
|
* #9274: Missing lock in DeviceStatistics ("fatal error: concurrent map read and map write")
|
||||||
|
* #7406: Add UPnP support for IPv6
|
||||||
|
|
||||||
|
[1.26.2]
|
||||||
|
* Update Syncthing to 1.27.3
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.3)
|
||||||
|
* #9039: Sync from Linux to Mac with ownership - Local additions after rescan
|
||||||
|
* #9241: Versions path does not honor tilde (~) shortcut
|
||||||
|
* #8616: Add CLI completion
|
||||||
|
* #9151: Add "stay logged in" checkbox to login dialog
|
||||||
|
|
||||||
|
[1.26.3]
|
||||||
|
* Update Syncthing to 1.27.4
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.4)
|
||||||
|
* #9369: Panic in ignore matching on invalid UTF-8 from filesystem watcher
|
||||||
|
* #9435: syncthing should be cgroup aware
|
||||||
|
* #9339: File system watcher should skip ignored directories in more cases
|
||||||
|
|
||||||
|
[1.26.4]
|
||||||
|
* Update Syncthing to 1.27.5
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.5)
|
||||||
|
* #8972: Open share settings when clicking 'shared with'
|
||||||
|
* #9470: Show encryption status for devices sharing folder
|
||||||
|
|
||||||
|
[1.26.5]
|
||||||
|
* Update Syncthing to 1.27.6
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.6)
|
||||||
|
* lib/db: Drop indexes for outgoing data to force refresh (ref #9496) (#9502)
|
||||||
|
|
||||||
|
[1.26.6]
|
||||||
|
* Update Syncthing to 1.27.7
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.7)
|
||||||
|
* #9503: lib/nat: panic: runtime error: index out of range
|
||||||
|
|
||||||
|
[1.26.7]
|
||||||
|
* Update Syncthing to 1.27.8
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.8)
|
||||||
|
* #9506: gui: Favicon not working in Firefox bookmarks
|
||||||
|
* #9527: Device connection state metric
|
||||||
|
|
||||||
|
[1.26.8]
|
||||||
|
* Update Syncthing to 1.27.9
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.9)
|
||||||
|
|
||||||
|
[1.26.9]
|
||||||
|
* Update Syncthing to 1.27.11
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.11)
|
||||||
|
|
||||||
|
[1.26.10]
|
||||||
|
* Update Syncthing to 1.27.12
|
||||||
|
* [Full changelog](https://github.com/syncthing/syncthing/releases/tag/v1.27.12)
|
||||||
|
|
||||||
|
[1.27.0]
|
||||||
|
* Update syncthing to 1.28.0
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.28.0)
|
||||||
|
* [#​9597](https://github.com/syncthing/syncthing/issues/9597): Filenames with extended characters not ignored correctly on macOS
|
||||||
|
* [#​9668](https://github.com/syncthing/syncthing/issues/9668): The Web UI defaults to Filipino on Finnish browsers.
|
||||||
|
* [#​9670](https://github.com/syncthing/syncthing/issues/9670): lib/api: /svc/lang disregards the passed quality values
|
||||||
|
* [#​9719](https://github.com/syncthing/syncthing/issues/9719): Unable to establish/maintain multiple connections due to connection priority error
|
||||||
|
* [#​9715](https://github.com/syncthing/syncthing/issues/9715): Lower the log level of "already connected to this device" to DEBUG (is: INFO)
|
||||||
|
|
||||||
|
[1.27.1]
|
||||||
|
* Update syncthing to 1.28.1
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.28.1)
|
||||||
|
* [#​9400](https://github.com/syncthing/syncthing/issues/9400): Folder overlap not detected when using tilde
|
||||||
|
* [#​9590](https://github.com/syncthing/syncthing/issues/9590): WebUI table column widths broken on iPhone 12 Pro Max and wider
|
||||||
|
* [#​9686](https://github.com/syncthing/syncthing/issues/9686): Sync status stays at 'Syncing xx%" when remote device pauses the folder.
|
||||||
|
* [#​9757](https://github.com/syncthing/syncthing/issues/9757): Firefox, dark theme: device ID is hard to read
|
||||||
|
* [#​9775](https://github.com/syncthing/syncthing/issues/9775): Junctions as dirs doesn't work anymore
|
||||||
|
* [#​9776](https://github.com/syncthing/syncthing/issues/9776): Disabled checkbox panels don't respect dark theme
|
||||||
|
* [#​9783](https://github.com/syncthing/syncthing/issues/9783): gui: Address override not respected in fresh default config
|
||||||
|
* [#​9821](https://github.com/syncthing/syncthing/issues/9821): panic: runtime error: index out of range \[-1]
|
||||||
|
* [#​9725](https://github.com/syncthing/syncthing/issues/9725): Ignoring symbolic links when syncing on android as well
|
||||||
|
|
||||||
|
[1.28.0]
|
||||||
|
* Update syncthing to 1.29.1
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.1)
|
||||||
|
* [#​9904](https://github.com/syncthing/syncthing/issues/9904): The browse API response has changed as of Syncthing v1.29.0
|
||||||
|
* [#​9906](https://github.com/syncthing/syncthing/issues/9906): Deadlocks randomly, occasionally
|
||||||
|
* [#​9907](https://github.com/syncthing/syncthing/issues/9907): The response of "pending" APIs has changed as of Syncthing v1.29.0
|
||||||
|
* [#​9909](https://github.com/syncthing/syncthing/issues/9909): Login into UI (Browser) not working anymore
|
||||||
|
* [#​9855](https://github.com/syncthing/syncthing/issues/9855): GUI address unix socket broken
|
||||||
|
* [#​9872](https://github.com/syncthing/syncthing/issues/9872): When socket files are in a folder that needs to be synced on linux, some files were not synced until the socket files were removed
|
||||||
|
* [#​9875](https://github.com/syncthing/syncthing/issues/9875): Clarify log message for ignored folders
|
||||||
|
* [#​9870](https://github.com/syncthing/syncthing/issues/9870): Fails with Go 1.24: runtime go1.24rc1 not found in compat.yaml
|
||||||
|
|
||||||
|
[1.28.1]
|
||||||
|
* Update syncthing to 1.29.2
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.2)
|
||||||
|
* [#​9913](https://github.com/syncthing/syncthing/issues/9913): panic: string field contains invalid UTF-8 \[recovered]
|
||||||
|
|
||||||
|
[1.28.2]
|
||||||
|
* Update syncthing to 1.29.3
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.3)
|
||||||
|
* [#​9929](https://github.com/syncthing/syncthing/issues/9929): Unintelligible error message "setting metadata: lookup failed"
|
||||||
|
|
||||||
|
[1.29.0]
|
||||||
|
* Update base image to 5.0.0
|
||||||
|
|
||||||
|
[1.29.1]
|
||||||
|
* Update syncthing to 1.29.4
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.4)
|
||||||
|
* [#​9990](https://github.com/syncthing/syncthing/issues/9990): Tildes break directory autocomplete
|
||||||
|
|
||||||
|
[1.29.2]
|
||||||
|
* Update syncthing to 1.29.5
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.5)
|
||||||
|
|
||||||
|
[1.29.3]
|
||||||
|
* Update syncthing to 1.29.6
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.6)
|
||||||
|
* feat(gui): explanation to options enabled or disabled per folder type by [@tomasz1986](https://github.com/tomasz1986) in https://github.com/syncthing/syncthing/pull/9367
|
||||||
|
* fix(gui): validate device ID in canonical form (fixes [#7291](https://github.com/syncthing/syncthing/issues/7291)) by [@mathias4833](https://github.com/mathias4833) in https://github.com/syncthing/syncthing/pull/10006
|
||||||
|
* fix(config): remove discontinued primary STUN server (fixes [#10008](https://github.com/syncthing/syncthing/issues/10008)) by [@marbens-arch](https://github.com/marbens-arch) in https://github.com/syncthing/syncthing/pull/10009
|
||||||
|
* fix(stun): better error handling (ref [#10008](https://github.com/syncthing/syncthing/issues/10008)) by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10010
|
||||||
|
* feat(fs, config): add support for custom filesystem type construction by [@pixelspark](https://github.com/pixelspark) in https://github.com/syncthing/syncthing/pull/9887
|
||||||
|
* fix(config): properly apply defaults when reading folder configuration by [@pixelspark](https://github.com/pixelspark) in https://github.com/syncthing/syncthing/pull/10034
|
||||||
|
* fix(config): zero filesystemtype is "basic" by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10038
|
||||||
|
* fix(strings): differentiate setup(n) and set(v) up by [@systemcrash](https://github.com/systemcrash) in https://github.com/syncthing/syncthing/pull/10024
|
||||||
|
* fix(gui): mark unseen disconnected devices as inactive by [@tomasz1986](https://github.com/tomasz1986) in https://github.com/syncthing/syncthing/pull/10048
|
||||||
|
* fix(syncthing): use separate lock file instead of locking the certificate (fixes [#10053](https://github.com/syncthing/syncthing/issues/10053)) by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10054
|
||||||
|
|
||||||
|
[1.29.4]
|
||||||
|
* Update syncthing to 1.29.7
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.29.7)
|
||||||
|
* fix(config): deep copy configuration defaults (fixes [#9916](https://github.com/syncthing/syncthing/issues/9916)) by [@hazemKrimi](https://github.com/hazemKrimi) in https://github.com/syncthing/syncthing/pull/10101
|
||||||
|
* fix(config): mark audit log options as needing restart (fixes [#10099](https://github.com/syncthing/syncthing/issues/10099)) by [@marbens-arch](https://github.com/marbens-arch) in https://github.com/syncthing/syncthing/pull/10100
|
||||||
|
* fix(versioner): fix perms of created folders (fixes [#9626](https://github.com/syncthing/syncthing/issues/9626)) by [@ashishbhate](https://github.com/ashishbhate) in https://github.com/syncthing/syncthing/pull/10105
|
||||||
|
* fix(syncthing): ensure both config and data dirs exist at startup (fixes [#10126](https://github.com/syncthing/syncthing/issues/10126)) by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10127
|
||||||
|
* fix(gui): update `uncamel()` to handle strings like 'IDs' (fixes [#10128](https://github.com/syncthing/syncthing/issues/10128)) by [@luckman212](https://github.com/luckman212) in https://github.com/syncthing/syncthing/pull/10131
|
||||||
|
* feat(gui): close a modal when pressing ESC after switching modal tabs (fixes [#9489](https://github.com/syncthing/syncthing/issues/9489)) by [@hazemKrimi](https://github.com/hazemKrimi) in https://github.com/syncthing/syncthing/pull/10092
|
||||||
|
|
||||||
|
[1.30.0]
|
||||||
|
* Update syncthing to 1.30.0
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v1.30.0)
|
||||||
|
* Syncthing version 1.x will soon be replaced by Syncthing version 2.x.
|
||||||
|
* fix(protocol): avoid deadlock with concurrent connection start and close by [@​calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10140
|
||||||
|
* fix(syncthing): avoid writing panic log to nil fd by [@​ardevd](https://github.com/ardevd) in https://github.com/syncthing/syncthing/pull/10154
|
||||||
|
* feat(config): expose folder and device info as metrics (fixes [#​9519](https://github.com/syncthing/syncthing/issues/9519)) by [@​calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10148
|
||||||
|
|
||||||
|
[1.31.0]
|
||||||
|
* checklist added to manifest
|
||||||
|
|
||||||
|
[1.32.0]
|
||||||
|
* Update syncthing to 2.0.0
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.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 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`. 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:
|
||||||
|
* fix(db): handle large numbers of blocks in update by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10025
|
||||||
|
* fix(syncthing): make directory flags global for all commands by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10028
|
||||||
|
|
||||||
|
[1.32.1]
|
||||||
|
* Update syncthing to 2.0.1
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.1)
|
||||||
|
|
||||||
|
[1.32.2]
|
||||||
|
* Update syncthing to 2.0.2
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.2)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* build: remove netgo and osusergo build tags (fixes [#10251](https://github.com/syncthing/syncthing/issues/10251)) by [@calmh](https://github.com/calmh) in https://github.com/syncthing/syncthing/pull/10256
|
||||||
|
|
||||||
|
[1.33.3]
|
||||||
|
* Fix checklist
|
||||||
|
|
||||||
|
[1.33.4]
|
||||||
|
* Update syncthing to 2.0.3
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.3)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(cmd): restore --version flag for compatibility by [@acolomb](https://github.com/acolomb) in https://github.com/syncthing/syncthing/pull/10269
|
||||||
|
|
||||||
|
[1.33.5]
|
||||||
|
* Update syncthing to 2.0.4
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.4)
|
||||||
|
* fix(cmd): only start temporary API server during migration if it's enabled by [@pixelspark](https://github.com/pixelspark) in https://github.com/syncthing/syncthing/pull/10284
|
||||||
|
* fix(model): consider MaxFolderConcurrency when calculating number of hashers by [@tomasz1986](https://github.com/tomasz1986) in https://github.com/syncthing/syncthing/pull/10285
|
||||||
|
|
||||||
|
[1.33.6]
|
||||||
|
* Update syncthing to 2.0.5
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.5)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(db): only vacuum database on startup when a migration script was actually run by [@pixelspark](https://github.com/pixelspark) in https://github.com/syncthing/syncthing/pull/10339
|
||||||
|
|
||||||
|
[1.33.7]
|
||||||
|
* Update syncthing to 2.0.6
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.6)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(db): remove temp_store = MEMORY pragmas by [@calmh](https://github.com/calmh) in [#10343](https://github.com/syncthing/syncthing/pull/10343)
|
||||||
|
|
||||||
|
[1.33.8]
|
||||||
|
* Update syncthing to 2.0.7
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.7)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(model): earlier free-space check (fixes [#10347](https://github.com/syncthing/syncthing/issues/10347)) by [@calmh](https://github.com/calmh) in [#10348](https://github.com/syncthing/syncthing/pull/10348)
|
||||||
|
* fix(api): redact device encryption passwords in support bundle config by [@pixelspark](https://github.com/pixelspark) in [#10359](https://github.com/syncthing/syncthing/pull/10359)
|
||||||
|
|
||||||
|
[1.33.9]
|
||||||
|
* Update syncthing to 2.0.8
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.8)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(sqlite): less impactful periodic garbage collection by [@calmh](https://github.com/calmh) in [#10374](https://github.com/syncthing/syncthing/pull/10374)
|
||||||
|
* fix(sqlite): explicitly set temporary directory location (fixes [#10368](https://github.com/syncthing/syncthing/issues/10368)) by [@calmh](https://github.com/calmh) in [#10376](https://github.com/syncthing/syncthing/pull/10376)
|
||||||
|
|
||||||
|
[1.33.10]
|
||||||
|
* Update syncthing to 2.0.9
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.9)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(sqlite): add \_txlock=immediate to modernc implementation by [@calmh](https://github.com/calmh) in [#10384](https://github.com/syncthing/syncthing/pull/10384)
|
||||||
|
* fix(api): limit size of allowed authentication request by [@calmh](https://github.com/calmh) in [#10386](https://github.com/syncthing/syncthing/pull/10386)
|
||||||
|
|
||||||
|
[1.33.11]
|
||||||
|
* Update syncthing to 2.0.10
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.10)
|
||||||
|
* 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:
|
||||||
|
* fix: improve conflict detection by tracking previous file hash (fixes [#​10349](https://github.com/syncthing/syncthing/issues/10349)) by [@​calmh](https://github.com/calmh) in [#​10351](https://github.com/syncthing/syncthing/pull/10351)
|
||||||
|
|
||||||
|
[1.33.12]
|
||||||
|
* Update syncthing to 2.0.11
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.11)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(policy): only allow approvals by non-author contributors by [@marbens-arch](https://github.com/marbens-arch) in [#10419](https://github.com/syncthing/syncthing/pull/10419)
|
||||||
|
* fix(fs): store `getExpireAdd` mutex in `caseCache` (fixes [#9836](https://github.com/syncthing/syncthing/issues/9836)) by [@marbens-arch](https://github.com/marbens-arch) in [#10430](https://github.com/syncthing/syncthing/pull/10430)
|
||||||
|
|
||||||
|
[1.33.13]
|
||||||
|
* Update syncthing to 2.0.12
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.12)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
[1.33.14]
|
||||||
|
* Update syncthing to 2.0.13
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.13)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(beacon): don't join multicast groups on non-multicast interfaces (fixes [#10497](https://github.com/syncthing/syncthing/issues/10497)) by [@marbens-arch](https://github.com/marbens-arch) in [#10498](https://github.com/syncthing/syncthing/pull/10498)
|
||||||
|
|
||||||
|
[1.33.15]
|
||||||
|
* Update syncthing to 2.0.14
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.14)
|
||||||
|
|
||||||
|
[1.33.16]
|
||||||
|
* Update syncthing to 2.0.15
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.15)
|
||||||
|
* 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.
|
||||||
|
* packages, and the `STTRACE` environment variable and GUI has been updated
|
||||||
|
|
||||||
|
[1.33.17]
|
||||||
|
* Update syncthing to 2.0.16
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.0.16)
|
||||||
|
* 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:
|
||||||
|
* 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.
|
||||||
|
* fix(protocol): verify compressed message length before decompression by [@​calmh](https://github.com/calmh) in [#​10595](https://github.com/syncthing/syncthing/pull/10595)
|
||||||
|
|
||||||
|
[1.34.0]
|
||||||
|
* Update syncthing to 2.1.0
|
||||||
|
* [Full Changelog](https://github.com/syncthing/syncthing/releases/tag/v2.1.0)
|
||||||
|
* fix(stdiscosrv): close file descriptor on flush error in write by [@cuiweixie](https://github.com/cuiweixie) in [#10615](https://github.com/syncthing/syncthing/pull/10615)
|
||||||
|
* fix(gui): disable autocomplete for folder password by [@bt90](https://github.com/bt90) in [#10342](https://github.com/syncthing/syncthing/pull/10342)
|
||||||
|
* fix(protocol): limit size of incoming request messages by [@calmh](https://github.com/calmh) in [#10629](https://github.com/syncthing/syncthing/pull/10629)
|
||||||
|
* fix(gui): don't show local device under remote devices (ref [#10563](https://github.com/syncthing/syncthing/issues/10563)) by [@maen-bn](https://github.com/maen-bn) in [#10631](https://github.com/syncthing/syncthing/pull/10631)
|
||||||
|
* fix(gui): order folders alphabetically and ensure local device stays hidden (ref [#10563](https://github.com/syncthing/syncthing/issues/10563), ref [#10631](https://github.com/syncthing/syncthing/issues/10631)) by [@maen-bn](https://github.com/maen-bn) in [#10637](https://github.com/syncthing/syncthing/pull/10637)
|
||||||
|
* fix(gui): fallback to folder ID when label is empty in remove dialog by [@RealCharlesChia](https://github.com/RealCharlesChia) in [#10657](https://github.com/syncthing/syncthing/pull/10657)
|
||||||
|
* fix(gui): fix tabs visually disabled but still clickable during ignore patterns setup (fixes [#10634](https://github.com/syncthing/syncthing/issues/10634)) by [@JRNitre](https://github.com/JRNitre) in [#10651](https://github.com/syncthing/syncthing/pull/10651)
|
||||||
|
* fix(strelaysrv): properly use bind address for outgoing requests (fixes [#10658](https://github.com/syncthing/syncthing/issues/10658)) by [@calmh](https://github.com/calmh) in [#10659](https://github.com/syncthing/syncthing/pull/10659)
|
||||||
|
* feat(gui, config): support simple folder grouping (fixes [#2070](https://github.com/syncthing/syncthing/issues/2070)) by [@maen-bn](https://github.com/maen-bn) in [#10563](https://github.com/syncthing/syncthing/pull/10563)
|
||||||
|
* feat(dialer): add HTTP/HTTPS proxy support via CONNECT by [@luizluca](https://github.com/luizluca) in [#10572](https://github.com/syncthing/syncthing/pull/10572)
|
||||||
|
|
||||||
|
|||||||
+15
-6
@@ -5,19 +5,27 @@
|
|||||||
"description": "file://DESCRIPTION.md",
|
"description": "file://DESCRIPTION.md",
|
||||||
"changelog": "file://CHANGELOG",
|
"changelog": "file://CHANGELOG",
|
||||||
"tagline": "Decentralized file synchronization",
|
"tagline": "Decentralized file synchronization",
|
||||||
"version": "1.20.2",
|
"version": "1.34.0",
|
||||||
"upstreamVersion": "1.20.2",
|
"upstreamVersion": "2.1.0",
|
||||||
"healthCheckPath": "/healthcheck",
|
"healthCheckPath": "/healthcheck",
|
||||||
"httpPort": 8000,
|
"httpPort": 8000,
|
||||||
"addons": {
|
"addons": {
|
||||||
"localstorage": {}
|
"localstorage": {},
|
||||||
|
"ldap": {}
|
||||||
|
},
|
||||||
|
"checklist": {
|
||||||
|
"change-default-password": {
|
||||||
|
"message": "Change the admin password",
|
||||||
|
"sso": false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"tcpPorts": {
|
"tcpPorts": {
|
||||||
"SYNC_PORT": {
|
"SYNC_PORT": {
|
||||||
"title": "Sync Port",
|
"title": "Sync Port",
|
||||||
"description": "Port over which syncthing will exchange data (do not disable)",
|
"description": "Port over which syncthing will exchange data (do not disable)",
|
||||||
"defaultValue": 22000,
|
"defaultValue": 22000,
|
||||||
"containerPort": 22000
|
"containerPort": 22000,
|
||||||
|
"enabledByDefault": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manifestVersion": 2,
|
"manifestVersion": 2,
|
||||||
@@ -28,13 +36,14 @@
|
|||||||
"storage",
|
"storage",
|
||||||
"sync"
|
"sync"
|
||||||
],
|
],
|
||||||
"minBoxVersion": "7.1.2",
|
"minBoxVersion": "9.0.0",
|
||||||
"forumUrl": "https://forum.cloudron.io/category/56/syncthing",
|
"forumUrl": "https://forum.cloudron.io/category/56/syncthing",
|
||||||
"documentationUrl": "https://docs.cloudron.io/apps/syncthing/",
|
"documentationUrl": "https://docs.cloudron.io/packages/syncthing/",
|
||||||
"mediaLinks": [
|
"mediaLinks": [
|
||||||
"https://screenshots.cloudron.io/net.syncthing.cloudronapp2/1.png",
|
"https://screenshots.cloudron.io/net.syncthing.cloudronapp2/1.png",
|
||||||
"https://screenshots.cloudron.io/net.syncthing.cloudronapp2/2.png",
|
"https://screenshots.cloudron.io/net.syncthing.cloudronapp2/2.png",
|
||||||
"https://screenshots.cloudron.io/net.syncthing.cloudronapp2/3.png"
|
"https://screenshots.cloudron.io/net.syncthing.cloudronapp2/3.png"
|
||||||
],
|
],
|
||||||
|
"optionalSso": true,
|
||||||
"postInstallMessage": "file://POSTINSTALL.md"
|
"postInstallMessage": "file://POSTINSTALL.md"
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-3
@@ -1,11 +1,12 @@
|
|||||||
FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd14060332dd88263ea
|
FROM cloudron/base:5.0.0@sha256:04fd70dbd8ad6149c19de39e35718e024417c3e01dc9c6637eaf4a41ec4e596c
|
||||||
|
|
||||||
RUN mkdir -p /app/code
|
RUN mkdir -p /app/code
|
||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
ARG VERSION=1.20.2
|
# renovate: datasource=github-releases depName=syncthing/syncthing versioning=semver extractVersion=^v(?<version>.+)$
|
||||||
|
ARG SYNCTHING_VERSION=2.1.0
|
||||||
|
|
||||||
RUN wget https://github.com/syncthing/syncthing/releases/download/v${VERSION}/syncthing-linux-amd64-v${VERSION}.tar.gz -O - | tar -xz -C /app/code --strip-components=1
|
RUN wget https://github.com/syncthing/syncthing/releases/download/v${SYNCTHING_VERSION}/syncthing-linux-amd64-v${SYNCTHING_VERSION}.tar.gz -O - | tar -xz -C /app/code --strip-components=1
|
||||||
|
|
||||||
# add supervisor configs
|
# add supervisor configs
|
||||||
ADD supervisor/* /etc/supervisor/conf.d/
|
ADD supervisor/* /etc/supervisor/conf.d/
|
||||||
|
|||||||
+7
-2
@@ -1,7 +1,12 @@
|
|||||||
This app is pre-setup with an admin account. The initial credentials are:
|
<nosso>
|
||||||
|
This app is pre-setup with an account. The initial credentials are:
|
||||||
|
|
||||||
**Username**: admin<br/>
|
**Username**: admin<br/>
|
||||||
**Password**: changeme<br/>
|
**Password**: changeme<br/>
|
||||||
|
|
||||||
Please change the admin password immediately.
|
</nosso>
|
||||||
|
|
||||||
|
<sso>
|
||||||
|
Note that all users manage and synchronize the same set of files.
|
||||||
|
</sso>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": ["local>devops/renovator//default.renovate.json5"]
|
||||||
|
}
|
||||||
@@ -6,8 +6,8 @@ mkdir -p /app/data/config /app/data/folders /run/syncthing
|
|||||||
|
|
||||||
# if this if the first run, generate a useful config
|
# if this if the first run, generate a useful config
|
||||||
if [[ ! -f /app/data/config/config.xml ]]; then
|
if [[ ! -f /app/data/config/config.xml ]]; then
|
||||||
echo "=> Generating config"
|
echo "==> Generating config"
|
||||||
STNODEFAULTFOLDER=1 /app/code/syncthing --generate="/app/data/config"
|
STNODEFAULTFOLDER=1 /app/code/syncthing generate --home="/app/data/config"
|
||||||
|
|
||||||
# The password value (changeme) was determined by reading config.xml and setting value in the GUI
|
# The password value (changeme) was determined by reading config.xml and setting value in the GUI
|
||||||
# urAccepted is 0 for not decided, -1 for no reporting
|
# urAccepted is 0 for not decided, -1 for no reporting
|
||||||
@@ -17,6 +17,18 @@ if [[ ! -f /app/data/config/config.xml ]]; then
|
|||||||
--update "//configuration/options/defaultFolderPath" -v '/app/data/folders' \
|
--update "//configuration/options/defaultFolderPath" -v '/app/data/folders' \
|
||||||
--update "//configuration/options/urAccepted" -v '-1' \
|
--update "//configuration/options/urAccepted" -v '-1' \
|
||||||
/app/data/config/config.xml
|
/app/data/config/config.xml
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n ${CLOUDRON_LDAP_HOST:-} ]]; then
|
||||||
|
xmlstarlet ed --inplace \
|
||||||
|
--subnode "//configuration/gui" -t elem -n "authMode" -v "ldap" \
|
||||||
|
--subnode "//configuration/ldap" -t elem -n "address" -v "${CLOUDRON_LDAP_HOST:-}:${CLOUDRON_LDAP_PORT}" \
|
||||||
|
--subnode "//configuration/ldap" -t elem -n "bindDN" -v "${CLOUDRON_LDAP_BIND_DN:-}" \
|
||||||
|
--subnode "//configuration/ldap" -t elem -n "insecureSkipVerify" -v "true" \
|
||||||
|
--subnode "//configuration/ldap" -t elem -n "searchBaseDN" -v "${CLOUDRON_LDAP_USERS_BASE_DN:-}" \
|
||||||
|
--subnode "//configuration/ldap" -t elem -n "searchFilter" -v "(&(objectclass=user)(|(username=%s)(mail=%s)))" \
|
||||||
|
/app/data/config/config.xml
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set the listenAddress and the gui enabled to make sure user doesnt lock themselves out by accident.
|
# Set the listenAddress and the gui enabled to make sure user doesnt lock themselves out by accident.
|
||||||
@@ -25,5 +37,5 @@ sed -e 's,<gui .*>,<gui enabled="true" tls="false" debugging="false">,' -i /app/
|
|||||||
|
|
||||||
chown -R cloudron:cloudron /app/data /run/syncthing
|
chown -R cloudron:cloudron /app/data /run/syncthing
|
||||||
|
|
||||||
echo "Starting supervisor"
|
echo "==> Starting supervisor"
|
||||||
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i syncthing
|
exec /usr/bin/supervisord --configuration /etc/supervisor/supervisord.conf --nodaemon -i syncthing
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ priority=20
|
|||||||
environment=HOME=/app/data/folders,STNOUPGRADE=1
|
environment=HOME=/app/data/folders,STNOUPGRADE=1
|
||||||
; -no-browser opens up the browser (for desktop app preumably)
|
; -no-browser opens up the browser (for desktop app preumably)
|
||||||
; auditfile "-" means log to stdout
|
; auditfile "-" means log to stdout
|
||||||
command=/app/code/syncthing -gui-address=127.0.0.1:3000 -home=/app/data/config -no-browser -auditfile=-
|
command=/app/code/syncthing serve --gui-address=127.0.0.1:3000 --home=/app/data/config --no-browser --auditfile=-
|
||||||
user=cloudron
|
user=cloudron
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
|
|||||||
Generated
-3012
File diff suppressed because it is too large
Load Diff
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "test",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "index.js",
|
|
||||||
"scripts": {
|
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
|
||||||
},
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"chromedriver": "^102.0.0",
|
|
||||||
"expect.js": "^0.3.1",
|
|
||||||
"mocha": "^10.0.0",
|
|
||||||
"selenium-webdriver": "^4.2.0",
|
|
||||||
"superagent": "^7.1.6"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+58
-163
@@ -1,197 +1,92 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
/* jshint esversion: 8 */
|
import { app, clearCache, click, cloudronCli, goto, password, sendKeys, setupBrowser, takeScreenshot, teardownBrowser, username, waitFor } from '@cloudron/charlie';
|
||||||
/* global describe */
|
|
||||||
/* global before */
|
|
||||||
/* global after */
|
|
||||||
/* global it */
|
|
||||||
|
|
||||||
'use strict';
|
/* global it, describe, before, after, afterEach */
|
||||||
|
|
||||||
require('chromedriver');
|
|
||||||
|
|
||||||
const execSync = require('child_process').execSync,
|
|
||||||
expect = require('expect.js'),
|
|
||||||
superagent = require('superagent'),
|
|
||||||
path = require('path'),
|
|
||||||
{ Builder, By, Key, until } = require('selenium-webdriver'),
|
|
||||||
{ Options } = require('selenium-webdriver/chrome');
|
|
||||||
|
|
||||||
describe('Application life cycle test', function () {
|
describe('Application life cycle test', function () {
|
||||||
this.timeout(0);
|
const FOLDER = 'xmf'; // keep small; long folder names fail in automation
|
||||||
|
const SYNC_PORT = 22001;
|
||||||
|
const adminUsername = 'admin';
|
||||||
|
const adminPassword = 'changeme';
|
||||||
|
|
||||||
var LOCATION = 'test';
|
before(setupBrowser);
|
||||||
var TEST_TIMEOUT = 30000;
|
after(teardownBrowser);
|
||||||
var FOLDER = 'xmf'; // keep this small. long folder names fail in automation, not sure why
|
|
||||||
var SYNC_PORT = 22001;
|
|
||||||
var EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
|
|
||||||
|
|
||||||
var browser;
|
afterEach(async function () {
|
||||||
var app;
|
await takeScreenshot(this.currentTest);
|
||||||
var username = 'admin', password = 'changeme';
|
|
||||||
|
|
||||||
before(function () {
|
|
||||||
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
after(function () {
|
async function login(uname, pass) {
|
||||||
browser.quit();
|
await goto(`https://${app.fqdn}`, 'label=User');
|
||||||
});
|
await sendKeys('label=User', uname);
|
||||||
|
await sendKeys('label=Password', pass);
|
||||||
function getAppInfo() {
|
await click('Log In');
|
||||||
var inspect = JSON.parse(execSync('cloudron inspect'));
|
await waitFor('Actions');
|
||||||
app = inspect.apps.filter(function (a) { return a.location.indexOf(LOCATION) === 0; })[0];
|
|
||||||
expect(app).to.be.an('object');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function waitForElement(elem) {
|
async function loadPage() {
|
||||||
return browser.wait(until.elementLocated(elem), TEST_TIMEOUT).then(function () {
|
await goto(`https://${app.fqdn}`, 'Actions');
|
||||||
return browser.wait(until.elementIsVisible(browser.findElement(elem)), TEST_TIMEOUT);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function invalidPassword(callback) {
|
async function addFolder() {
|
||||||
superagent.get('https://' + app.fqdn).auth(username, password + 'x').end(function (error, result) {
|
await goto(`https://${app.fqdn}`, /Add Folder/);
|
||||||
expect(result.status).to.eql(401);
|
await click(/Add Folder/);
|
||||||
|
await sendKeys('label=Folder Label', FOLDER);
|
||||||
callback();
|
await sendKeys('label=Folder Path', `/app/data/${FOLDER}`);
|
||||||
});
|
await click(/Save/);
|
||||||
|
await waitFor(FOLDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadPage(callback) {
|
async function checkFolder() {
|
||||||
browser.manage().deleteAllCookies().then(function () {
|
await goto(`https://${app.fqdn}`, FOLDER);
|
||||||
return browser.sleep(5000);
|
|
||||||
}).then(function() {
|
|
||||||
return browser.get('https://' + username + ':' + encodeURIComponent(password) + '@' + app.fqdn).then(function () {
|
|
||||||
return browser.get('https://' + app.fqdn);
|
|
||||||
});
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(5000);
|
|
||||||
}).then(function () {
|
|
||||||
return browser.get('https://' + app.fqdn);
|
|
||||||
}).then(function () {
|
|
||||||
return waitForElement(By.xpath('//span[text()="Actions"]'));
|
|
||||||
}).then(function () {
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function addFolder(callback) {
|
// NO SSO
|
||||||
browser.get('https://' + app.fqdn).then(function () {
|
it('install app (NO SSO)', () => cloudronCli.install({ noSso: true, tcpPortFlags: { SYNC_PORT } }));
|
||||||
return browser.findElement(By.css('[ng-click*=addFolder]')).click();
|
|
||||||
}).then(function () {
|
|
||||||
return waitForElement(By.id('folderPath'));
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(4000); // wait more, not sure why this is needed
|
|
||||||
}).then(function() {
|
|
||||||
return browser.findElement(By.id('folderLabel')).sendKeys(FOLDER);
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(4000); // without this sometimes only part of the folder name gets through
|
|
||||||
}).then(function() {
|
|
||||||
return browser.findElement(By.css('[ng-click*=saveFolder]')).click();
|
|
||||||
}).then(function() {
|
|
||||||
return browser.wait(until.elementLocated(By.css('#folders .panel-status span[ng-switch-when=unshared]')), TEST_TIMEOUT);
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(4000);
|
|
||||||
}).then(function() {
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkFolder(callback) {
|
it('can admin login', login.bind(null, adminUsername, adminPassword));
|
||||||
browser.get('https://' + app.fqdn).then(function () {
|
|
||||||
return browser.sleep(5000);
|
|
||||||
}).then(function () {
|
|
||||||
return browser.get('https://' + app.fqdn);
|
|
||||||
}).then(function () {
|
|
||||||
return browser.wait(until.elementLocated(By.xpath(`//span[text()="${FOLDER}"]`)), TEST_TIMEOUT);
|
|
||||||
}).then(function () {
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeFolder(callback) {
|
|
||||||
browser.get('https://' + app.fqdn).then(function () {
|
|
||||||
return waitForElement(By.xpath('//span[text()="Actions"]'));
|
|
||||||
}).then(function() {
|
|
||||||
return browser.findElement(By.css('#folders button')).click();
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(3000); //No way to check for visibility of angular-js components
|
|
||||||
}).then(function () {
|
|
||||||
return browser.findElement(By.css('#folder-0 button[ng-click*=editFolder]')).click();
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(3000); //No way to check for visibility of angular-js components
|
|
||||||
}).then(function () {
|
|
||||||
return browser.findElement(By.xpath('//button[@data-target="#remove-folder-confirmation"]')).click();
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(3000); //No way to check for visibility of angular-js components
|
|
||||||
}).then(function () {
|
|
||||||
return browser.findElement(By.css('[ng-click*=deleteFolder]')).click();
|
|
||||||
}).then(function () {
|
|
||||||
return browser.sleep(3000); //This needs to run for some time
|
|
||||||
}).then(function () {
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function wait (done) {
|
|
||||||
setTimeout(done, 10000);
|
|
||||||
}
|
|
||||||
|
|
||||||
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
|
|
||||||
|
|
||||||
it('install app', function () { execSync('cloudron install --port-bindings SYNC_PORT=' + SYNC_PORT + ' --location ' + LOCATION, EXEC_ARGS); });
|
|
||||||
it('can get app information', getAppInfo);
|
|
||||||
|
|
||||||
it('wait', wait);
|
|
||||||
|
|
||||||
it('fails with invalid password', invalidPassword);
|
|
||||||
it('can load page', loadPage);
|
it('can load page', loadPage);
|
||||||
it('can add folder', addFolder);
|
it('can add folder', addFolder);
|
||||||
|
|
||||||
it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
|
|
||||||
it('restore app', async function () {
|
|
||||||
await browser.get('about:blank');
|
|
||||||
execSync('cloudron restore --app ' + app.id, EXEC_ARGS);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('wait', wait);
|
|
||||||
|
|
||||||
it('can load page', loadPage);
|
|
||||||
it('can check folder', checkFolder);
|
it('can check folder', checkFolder);
|
||||||
|
|
||||||
it('move to different location', async function () {
|
it('uninstall app', cloudronCli.uninstall);
|
||||||
await browser.get('about:blank');
|
|
||||||
execSync(`cloudron configure --location ${LOCATION}2 --app ${app.id}`, EXEC_ARGS);
|
|
||||||
});
|
|
||||||
it('can get app information', getAppInfo);
|
|
||||||
|
|
||||||
it('wait', wait);
|
// SSO
|
||||||
|
it('install app (SSO)', () => cloudronCli.install({ noSso: false, tcpPortFlags: { SYNC_PORT } }));
|
||||||
|
|
||||||
|
it('can login', login.bind(null, username, password));
|
||||||
|
it('can load page', loadPage);
|
||||||
|
it('can add folder', addFolder);
|
||||||
|
it('can logout', clearCache);
|
||||||
|
|
||||||
|
it('backup app', cloudronCli.createBackup);
|
||||||
|
it('restore app', cloudronCli.restoreFromLatestBackup);
|
||||||
|
|
||||||
|
it('can login', login.bind(null, username, password));
|
||||||
it('can load page', loadPage);
|
it('can load page', loadPage);
|
||||||
it('can check folder', checkFolder);
|
it('can check folder', checkFolder);
|
||||||
it('can remove folder', removeFolder);
|
it('can logout', clearCache);
|
||||||
|
|
||||||
it('uninstall app', async function () {
|
it('move to different location', cloudronCli.changeLocation);
|
||||||
await browser.get('about:blank');
|
|
||||||
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
|
it('can login', login.bind(null, username, password));
|
||||||
});
|
it('can load page', loadPage);
|
||||||
|
it('can check folder', checkFolder);
|
||||||
|
it('can logout', clearCache);
|
||||||
|
|
||||||
|
it('uninstall app', cloudronCli.uninstall);
|
||||||
|
|
||||||
// test update
|
// test update
|
||||||
it('can install app', function () { execSync('cloudron install --port-bindings SYNC_PORT=' + SYNC_PORT + ' --appstore-id net.syncthing.cloudronapp2 --location ' + LOCATION, EXEC_ARGS); });
|
it('can install app for update', () => cloudronCli.appstoreInstall({ tcpPortFlags: { SYNC_PORT } }));
|
||||||
it('can get app information', getAppInfo);
|
it('can login', login.bind(null, username, password));
|
||||||
it('wait', wait);
|
|
||||||
it('can load page', loadPage);
|
it('can load page', loadPage);
|
||||||
it('can add folder', addFolder);
|
it('can add folder', addFolder);
|
||||||
it('can update', async function () {
|
it('can logout', clearCache);
|
||||||
await browser.get('about:blank');
|
|
||||||
execSync('cloudron update --app ' + LOCATION, EXEC_ARGS);
|
it('can update', cloudronCli.update);
|
||||||
});
|
it('can login', login.bind(null, username, password));
|
||||||
it('wait', wait);
|
|
||||||
it('can check folder', checkFolder);
|
it('can check folder', checkFolder);
|
||||||
|
|
||||||
it('uninstall app', async function () {
|
it('uninstall app', cloudronCli.uninstall);
|
||||||
await browser.get('about:blank');
|
|
||||||
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user