github vrtmrz/obsidian-livesync 0.25.53

6 hours ago

0.25.53

17th March, 2026

I did wonder whether I should have released a minor version update, but when I actually tested it, compatibility seemed to be intact, so I didn’t. Hmm.

Fixed

P2P Synchronisation

  • Fixed flaky timing issues in P2P synchronisation.
  • No longer unexpected Unhandled Rejections during P2P operations (waiting for acceptance).

Journal Sync

  • Fixed an issue where some conflicts cannot be resolved in Journal Sync.
  • Many minor fixes have been made for better stability and reliability.

Tests

  • Rewrite P2P end-to-end tests to use the CLI as a host.

CLI

We have previously developed FileSystem LiveSync and various other components in a separate repository, but updates have been significantly delayed, and we have been plagued by compatibility issues. Now, a CLI tool using the same core logic is emerging. This does not directly manipulate the file system, but it offers a more convenient way of working and can also communicate with Object Storage. We can also resolve conflicts. Please refer to the code in src/apps/cli for the self-hosted-livesync-cli for more details.

  • Add self-hosted-livesync-cli to src/apps/cli as a headless and dedicated version.

  • P2P sync and Object Storage are also supported in the CLI.

    • Yes, we have finally managed to 'get one file'.
    • Also, no more need for a LiveSync PeerServer for virtual environments! The CLI can do it.
  • Now binary files are also supported in the CLI.

Refactored or internal changes

  • ServiceFileAccessBase now correctly handles the reading of binary files.
  • HeadlessAPIService now correctly provides the online status (always online) to the plug-in.
  • Non-worker version of bgWorker now correctly handles some functions.
  • Separated ObsidianLiveSyncPlugin into ObsidianLiveSyncPlugin and LiveSyncBaseCore.
  • Now LiveSyncCore indicates the type specified version of LiveSyncBaseCore.
  • Referencing plugin.xxx has been rewritten to referencing the corresponding service or core.xxx.
  • Offline change scanner and the local database preparation have been separated.
  • Set default priority for processFileEvent and processSynchroniseResult for the place to add hooks.
  • ControlService now provides the readiness for processing operations.
  • DatabaseService is now able to modify database opening options on derived classes.
  • Now useOfflineScanner, useCheckRemoteSize, and useRedFlagFeatures are set from main.ts, instead of LiveSyncBaseCore.
  • Storage Access APIs are now yielding Promises. This is to allow more limited storage platforms to be supported.
  • Journal Replicator now yields true after the replication is done.

R&D

  • Browser-version of Self-hosted LiveSync is now in development. This is not intended for public use now, but I will eventually make it available for testing.
  • We can see the code in src/apps/webapp for the browser version.

Don't miss a new obsidian-livesync release

NewReleases is sending notifications on new releases.