From a5e3b47088054b18e51150dcc508ca80c99f9bee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2026 02:02:44 +0000 Subject: [PATCH 1/2] Releasing 1.0.35 --- manifest.json | 2 +- package-lock.json | 10 +++++----- package.json | 2 +- src/apps/cli/package.json | 2 +- src/apps/webapp/package.json | 2 +- src/apps/webpeer/package.json | 2 +- updates.md | 4 ++++ versions.json | 3 ++- 8 files changed, 16 insertions(+), 11 deletions(-) diff --git a/manifest.json b/manifest.json index 85472d99..63cf5be3 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "obsidian-livesync", "name": "Self-hosted LiveSync", - "version": "1.0.34", + "version": "1.0.35", "minAppVersion": "1.7.2", "description": "Community implementation of self-hosted livesync. Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.", "author": "vorotamoroz", diff --git a/package-lock.json b/package-lock.json index 07748b78..002aa634 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "obsidian-livesync", - "version": "1.0.34", + "version": "1.0.35", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "obsidian-livesync", - "version": "1.0.34", + "version": "1.0.35", "license": "MIT", "workspaces": [ "src/apps/cli", @@ -12665,7 +12665,7 @@ }, "src/apps/cli": { "name": "self-hosted-livesync-cli", - "version": "1.0.34-cli", + "version": "1.0.35-cli", "dependencies": { "chokidar": "^4.0.0", "minimatch": "^10.2.5", @@ -12690,7 +12690,7 @@ }, "src/apps/webapp": { "name": "livesync-webapp", - "version": "1.0.34-webapp", + "version": "1.0.35-webapp", "dependencies": { "octagonal-wheels": "^0.1.54" }, @@ -12702,7 +12702,7 @@ } }, "src/apps/webpeer": { - "version": "1.0.34-webpeer", + "version": "1.0.35-webpeer", "dependencies": { "octagonal-wheels": "^0.1.54" }, diff --git a/package.json b/package.json index 35c643db..b5b582cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-livesync", - "version": "1.0.34", + "version": "1.0.35", "description": "Reflect your vault changes to some other devices immediately. Please make sure to disable other synchronize solutions to avoid content corruption or duplication.", "main": "main.js", "type": "module", diff --git a/src/apps/cli/package.json b/src/apps/cli/package.json index 293dc0d0..208659aa 100644 --- a/src/apps/cli/package.json +++ b/src/apps/cli/package.json @@ -1,7 +1,7 @@ { "name": "self-hosted-livesync-cli", "private": true, - "version": "1.0.34-cli", + "version": "1.0.35-cli", "main": "dist/index.cjs", "type": "module", "scripts": { diff --git a/src/apps/webapp/package.json b/src/apps/webapp/package.json index 20d8d799..1c6993bb 100644 --- a/src/apps/webapp/package.json +++ b/src/apps/webapp/package.json @@ -1,7 +1,7 @@ { "name": "livesync-webapp", "private": true, - "version": "1.0.34-webapp", + "version": "1.0.35-webapp", "type": "module", "description": "Browser-based Self-hosted LiveSync using FileSystem API", "scripts": { diff --git a/src/apps/webpeer/package.json b/src/apps/webpeer/package.json index ee7a8fe6..85b3a6ba 100644 --- a/src/apps/webpeer/package.json +++ b/src/apps/webpeer/package.json @@ -1,7 +1,7 @@ { "name": "webpeer", "private": true, - "version": "1.0.34-webpeer", + "version": "1.0.35-webpeer", "type": "module", "scripts": { "dev": "vite", diff --git a/updates.md b/updates.md index 2dc166a2..45aba7fc 100644 --- a/updates.md +++ b/updates.md @@ -12,6 +12,10 @@ Earlier releases remain available in the 1.0 release history, the 1.0 preview hi ## Unreleased +## 1.0.35 + +5th October, 2026 + ### Synchronisation #### Fixed diff --git a/versions.json b/versions.json index c7a9a2c2..b8bb183c 100644 --- a/versions.json +++ b/versions.json @@ -45,5 +45,6 @@ "1.0.31": "1.7.2", "1.0.32": "1.7.2", "1.0.33": "1.7.2", - "1.0.34": "1.7.2" + "1.0.34": "1.7.2", + "1.0.35": "1.7.2" } From 973c639bcb044b4869600dbb13f29b15112ec5bf Mon Sep 17 00:00:00 2001 From: vorotamoroz Date: Mon, 5 Oct 2026 02:04:29 +0000 Subject: [PATCH 2/2] Update release dependencies and polish 1.0.35 notes --- docs/releases/1.0.md | 39 +++++++++++++++++++++++++++++++++++ package-lock.json | 12 +++++------ package.json | 6 ++++++ updates.md | 48 ++++++++------------------------------------ 4 files changed, 59 insertions(+), 46 deletions(-) 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.