github vrtmrz/obsidian-livesync 1.0.33

5 hours ago

1.0.33

1st October, 2026

This has turned into quite a substantial release, and I think it brings meaningful improvements to the core of Self-hosted LiveSync. If you notice anything, please feel free to let me know.

Privacy and compatibility

New Feature

  • An optional saved ID key can generate encrypted Chunk IDs and obfuscated Metadata document IDs independently of the current E2EE passphrase.

    • New Vaults use a random key by default; existing Vaults keep their current ID configuration by default. You can also derive a key from the current E2EE passphrase, enter a separate source, or import a recovery code. The source is not retained; the saved key can be revealed locally as a recovery code.
    • The saved key stays in place when the E2EE passphrase changes or E2EE is turned off. Share it with another device through a protected Setup URI. Changing document IDs on an existing remote requires the usual Rebuild and Fetch procedure.
  • We can now keep the file properties used by Hidden File Sync and Customisation Sync private in CouchDB.

    • Encrypt internal file Properties extends E2EE V2 and Property Encryption to their paths, times, sizes, and Chunk references.
    • Existing configurations keep this preference disabled. New Vaults enable it for use when the required encryption settings are active.
    • Update every synchronising device before enabling it. It protects future writes; a manual remote Rebuild is strongly recommended to protect existing properties.
  • We can now see which unsupported feature prevents a client from synchronising with CouchDB.

    • Clients check the features required by the remote before transferring data or resetting the local database for Fast Fetch. Receiving an unsupported requirement also stops active replication.
  • We can now compare ID generation performance on a desktop or mobile device through Open review harness, available with the developers' debug tools enabled.

    • The copied report includes legacy and independent ID timings and, where available, approximate JavaScript heap samples. The measurement uses fixed test data and keeps our Vault and settings unchanged.

Fixed

  • Updated brace-expansion and markdown-it to include upstream security fixes.
  • We can now keep using an E2EE passphrase beginning with % after restarting Obsidian. (#1221)
    • This plug-in encrypts it before saving the settings. If an earlier version saved it in plain text, re-enter the passphrase used to encrypt the existing data after updating. Treat that passphrase as exposed if the affected data.json was shared.
  • A receiving device now retries an unavailable CouchDB Chunk when file Metadata arrives before that Chunk is visible, helping rapid edits reach the Vault after an initial on-demand lookup misses it. (#1224)
    • Retries start after two seconds and continue with increasing delays while finite replication is active. When it ends, this plug-in checks locally and makes a final lookup if needed, without waiting out the remaining retry delay.
  • We can now distinguish initial on-demand Chunk requests (🛄) from retries (🔁) in the status bar. These replace 🧩; each pending Chunk appears in one category, including while a retry is waiting.

Synchronisation and storage

Fixed

  • Received changes held during start-up or a fetch are applied when this plug-in becomes ready, without waiting for another change or a settings save. Suspend database reflecting continues to hold changes (#1200).
  • Customisation Sync now compares full millisecond timestamps, so the freshness labels and Select All Shiny no longer mistake an older copy for a newer one because of timestamp truncation. (#1194)
  • Hide not applicable items now hides identical Customisation Sync items and refreshes the list when toggled. Items with applicable differences stay visible. (#1193)

Interface and translation

Improved

  • More settings and messages are now available in Russian. (#1187)
    • Dialogues show generated QR codes, key pairs, and database sizes again.
  • We can now use updated Spanish translations for settings and messages. (#1212)

Setup

New Feature

  • We can now share a Setup URI with a displayed time limit, or choose Compatible for reuse without a time limit.
    • Time-bound uses the current fixed seven-day UTC window, so the displayed end may be less than seven days away. Compatible retains the existing URI format; receiving devices still need to support the shared settings.
    • The time condition applies when opening the URI. It does not revoke imported credentials or prevent reuse after rolling the device clock back.

Improved

  • We can now distinguish the three Setup URI and QR code choices by their short labels and icons: initialise or overwrite the remote, join this device, or apply settings only.

Fixed

  • We can now add a device or open a copied Vault without a compatibility pause solely because its device-local version record is absent.
    • Existing version or settings incompatibilities still require review. A pause already saved by an earlier release still needs one explicit resume action.

Acknowledgements

Thank you for your contributions!

Issue replies

I am a little behind on replying to issues, but I am reading them and will respond as I work through them. I have had little uninterrupted time recently, and that should improve soon.

Don't miss a new obsidian-livesync release

NewReleases is sending notifications on new releases.