diff --git a/docs/releases/1.0.md b/docs/releases/1.0.md index 410752ab..e6f105ab 100644 --- a/docs/releases/1.0.md +++ b/docs/releases/1.0.md @@ -2,6 +2,45 @@ This document contains earlier published releases from the 1.0 line of the [current Self-hosted LiveSync release history](../../updates.md). Beta and release-candidate builds published before 1.0.0 are recorded in the [1.0 preview history](1.0-previews.md). Earlier release lines continue in the [0.25 history](0.25.md) and the [legacy history](legacy.md). +## 1.0.30 + +18th September, 2026 + +### Synchronisation + +#### Fixed + +- After a restart, unchanged local files no longer overwrite newer synchronised content. (#994) + - When LiveSync cannot establish a local file's origin, it keeps the file as a conflict for you to review. This also applies to ordinary file synchronisation in the command-line tool. +- Fast Fetch completes initial setup with fewer remote requests. +- Object Storage synchronisation makes fewer remote requests while still checking its parameters before writing. + +## 1.0.29 + +16th September, 2026 + +Unusually for this project, I have added a feature that relies on a particular infrastructure provider. I made this choice for the convenience it offers. + +### Peer-to-peer synchronisation + +#### New Feature + +- P2P synchronisation now supports **Managed (Cloudflare)** TURN to help devices connect when a direct connection is unavailable. Enter your TURN Key ID and API token, and LiveSync obtains temporary TURN credentials automatically. (#1182) + + - Managed TURN settings are saved with your encrypted P2P profile and included when you share it through a Setup URI or QR code. + - Your API token is omitted from generated reports. + +### Command-line tool + +#### Fixed + +- The CLI daemon now synchronises files already present at start-up and picks up edits and deletions made while it was stopped. +- CLI Vault scans no longer miss files after an earlier scan or file lookup. This incorporates an adapted version of the fix proposed in PR #1188. Thank you to @YakupEmreYerli for the fix and regression tests, and to @nsanitas for the detailed report and analysis in #1143! + +### Miscellaneous + +In general, I would prefer to avoid features that depend on a particular service. Still, I think there is room for them when they are entirely optional, clearly explained, and maintainable. Even then, I would want open alternatives to remain available. I will write more about this principle separately. + ## 1.0.28 9th September, 2026 diff --git a/package-lock.json b/package-lock.json index 002aa634..26be2de9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5629,9 +5629,9 @@ } }, "node_modules/devalue": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.2.tgz", - "integrity": "sha512-po4PAY5c53tw5XMocSnf8A/5OHhbbUftpr93aEN6BBoAdntUmK7vu7wOATqvt7cXO7m1Cl4gMVn6p7n6n4mj0w==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.9.3.tgz", + "integrity": "sha512-xRumYOCUZN/EesqHEU3WOXanOZNvfZFZ/o1AHVFDX1yI0UAkZkOgDXt341CzKoBVIkgQba55/+DjGBKrIoKcHw==", "devOptional": true, "license": "MIT" }, @@ -9341,9 +9341,9 @@ "license": "MIT" }, "node_modules/moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.31.0.tgz", + "integrity": "sha512-0acOTfMiWOheYS4eoWb80yYMb/JLvVv9SHbs2PehaDzfUG0Bw855SKyk0IKTnPGa5+U2bmi3W68l1+sGLX/pvw==", "license": "MIT", "engines": { "node": "*" diff --git a/package.json b/package.json index b5b582cc..ea74620e 100644 --- a/package.json +++ b/package.json @@ -205,6 +205,12 @@ "xxhash-wasm-102": "npm:xxhash-wasm@^1.0.2" }, "overrides": { + "obsidian": { + "moment": "2.31.0" + }, + "svelte": { + "devalue": "5.9.3" + }, "pouchdb-core": { "uuid": "11.1.1" }, diff --git a/updates.md b/updates.md index 45aba7fc..f94c2092 100644 --- a/updates.md +++ b/updates.md @@ -27,7 +27,14 @@ Earlier releases remain available in the 1.0 release history, the 1.0 preview hi #### Fixed -- Configuration file events are left for the next scan until the plug-in is ready. Applying settings while synchronisation is suspended stops the periodic scan without scanning configuration files. When synchronisation resumes, the normal resume handler scans once and restarts the periodic scan. +- Customisation Sync now waits until this plug-in is ready before handling configuration file events, and applying settings while synchronisation is suspended no longer scans configuration files. (#1220) + - Resuming synchronisation scans once and restarts the periodic scan when enabled. + +### Acknowledgements + +Thank you for your contributions! + +- @kimjansheden (#1220) ## 1.0.34 @@ -152,42 +159,3 @@ The 1.0.31 pre-release was not promoted after validation found that a receiving - Received changes within the configured modification-time limit are applied to the Vault again while remediation mode is active. Changes newer than the limit remain blocked; changes arriving while a fetch makes the local database unavailable are kept for a later attempt. - A scheduled fetch no longer offers Simple Fetch while remediation mode is active. This prevents the fetch from bypassing the modification-time limit; the detailed flow explains the restriction and offers to clear it first (#1202). Thank you to @kimjansheden for both fixes and the regression tests in PR #1208! - On start-up, an unchanged file with a missing local revision record can be recognised before newer content arrives, avoiding an unnecessary conflict. Files with actual local edits still require conflict review. (#1207) - -## 1.0.30 - -18th September, 2026 - -### Synchronisation - -#### Fixed - -- After a restart, unchanged local files no longer overwrite newer synchronised content. (#994) - - When LiveSync cannot establish a local file's origin, it keeps the file as a conflict for you to review. This also applies to ordinary file synchronisation in the command-line tool. -- Fast Fetch completes initial setup with fewer remote requests. -- Object Storage synchronisation makes fewer remote requests while still checking its parameters before writing. - -## 1.0.29 - -16th September, 2026 - -Unusually for this project, I have added a feature that relies on a particular infrastructure provider. I made this choice for the convenience it offers. - -### Peer-to-peer synchronisation - -#### New Feature - -- P2P synchronisation now supports **Managed (Cloudflare)** TURN to help devices connect when a direct connection is unavailable. Enter your TURN Key ID and API token, and LiveSync obtains temporary TURN credentials automatically. (#1182) - - - Managed TURN settings are saved with your encrypted P2P profile and included when you share it through a Setup URI or QR code. - - Your API token is omitted from generated reports. - -### Command-line tool - -#### Fixed - -- The CLI daemon now synchronises files already present at start-up and picks up edits and deletions made while it was stopped. -- CLI Vault scans no longer miss files after an earlier scan or file lookup. This incorporates an adapted version of the fix proposed in PR #1188. Thank you to @YakupEmreYerli for the fix and regression tests, and to @nsanitas for the detailed report and analysis in #1143! - -### Miscellaneous - -In general, I would prefer to avoid features that depend on a particular service. Still, I think there is room for them when they are entirely optional, clearly explained, and maintainable. Even then, I would want open alternatives to remain available. I will write more about this principle separately.