github vrtmrz/obsidian-livesync 1.0.45

6 hours ago

1.0.45

5th November, 2026

Some of my recent replies have been sporting the Codex icon. Rest assured: I simply ask Codex to polish my English and discreetly intercept the occasional ill-judged remark before I post.

New Feature

Synchronisation

  • We can recognise equivalent composed and decomposed Unicode file names as the same file when synchronising through Object Storage or P2P. (#1309)
    • Select Unicode NFC path identity under General Settings → File identity. Supported by the CLI and Obsidian; physical file names and Chunk IDs remain unchanged.
    • To migrate a Legacy database, update every participating client, stop synchronisation and editing, and preserve a complete, backed-up authoritative Vault, unique edits, and required history. Resolve colliding names before Rebuild on the source and Fetch on the remaining devices. With P2P, Rebuild prepares only the source database; keep that device online for Fetch.
    • New CLI settings and Obsidian manual setup use NFC. Existing settings and older Setup URIs retain Legacy identity; initial CouchDB or Object Storage setup follows the remote's declared identity.
    • Object Storage remotes with existing Journals but no compatibility declaration also require Rebuild, even in Legacy mode.

Fixed

Object Storage

  • Journal receive failures now stop replication instead of silently passing over records which could not be decoded, processed, or saved. (#1318)

    • After correcting the cause, retry replication with the same local database to receive the failed Journal again.
    • If a Journal cannot be recovered and missing content or history is acceptable, use Maintenance → Syncing → Skip stopped Journal and resume. The confirmation identifies its exact key and failure stage. Only that Journal is skipped; the next failure still stops receipt.
    • Journals already passed over by an earlier version require Reset journal received history to be replayed. This re-reads Journals still available remotely, except those sent by this device, and cannot recreate missing remote Journals.
  • A remote-only Rebuild resends the local database even when the Object Storage remote is already empty and this device retains its earlier transfer progress.

Synchronisation

  • CouchDB synchronisation and Fetch no longer fail with decryption errors caused by stale encrypted responses in the Internal API cache after a Rebuild or plug-in restart. (#1234)
    • Reads use a cache query parameter based on the current start-up and Security Seed.
    • Use headers only for HTTP cache control (compatibility) under Power users → CouchDB Connection Tweak is disabled by default. Enable it only if the server or proxy rejects the additional query parameter; affected native caches may then reuse stale encrypted responses after Rebuild.

Conflict resolution

  • Disabling or reloading the plug-in no longer causes a secondary error when pending work writes to the log. Late logs remain available in Obsidian's console.
    • Open conflict dialogues for ordinary files close immediately, and queued checks report cancellation.

Settings

  • The English description of Do not split chunks in the background now correctly states that enabling the setting moves Chunk splitting to the UI thread. (#1313)

Translations

  • The notice shown when a translation is available now displays the Display Language setting label correctly in English, French, Hebrew, Russian, and Simplified Chinese. Hebrew interface messages also display their referenced labels correctly. (#1298)

WebApp

  • The experimental WebApp rejects unsupported NFC path identity before opening its database or processing Vault files, preserving the selected files and settings.
    • WebApp remains Legacy-only. Changing the setting does not migrate an NFC database.

Improved

Translations

  • More of the interface is available in Japanese, including dialogue buttons, Vault history, SyncGuard, inspection reports, and Fetch restart confirmations. Japanese setup and settings guides have also been refreshed. (#1317)

CLI

New Feature

  • We can resume Object Storage receipt after deliberately skipping one unrecoverable Journal with journal-skip <journal-key>.
    • Retry sync with --debug to inspect the stopped Journal key and failure stage. The command retries replication first and skips only the supplied Journal if it remains stopped.
    • Use this only when missing content or history is acceptable. The next Journal failure still stops receipt.

Fixed

  • fetch and rebuild no longer replay pending file updates from the previous database at start-up. The old pending updates are discarded only after the local database reset succeeds.
  • fetch and daemon can write received files to the Vault when handleFilenameCaseSensitive is enabled. The CLI detects whether the Vault filesystem distinguishes letter case. (#1319)
  • NFC file lookups and directory scans report permission and I/O failures. Unreadable files are no longer treated as absent, and incomplete scans no longer count as successful.

Miscellaneous

  • Updated dependencies.

Acknowledgements

Thank you for your contributions!

  • @cwatanab, for improving Japanese translations and documentation, correcting translated labels, and correcting the Chunk splitting setting description (#1298, #1313, #1317).

Don't miss a new obsidian-livesync release

NewReleases is sending notifications on new releases.