Skip to content

Releases: vrtmrz/obsidian-livesync

0.25.59

27 Apr 02:20
bb69eb1

Choose a tag to compare

0.25.59

Fixed

  • No longer does Setup-wizard drop username and password silently. (#865)
  • Setup URI is now correctly imported (#859).

Improved

  • now French translation is added by @foXaCe ! Thank you so much!

0.25.58

25 Apr 11:32
354f0be

Choose a tag to compare

0.25.58

I have finally managed to finalise my day job, released some service, sent the golden master up, and made progress on submitting my paper. It is a real struggle. So sorry it has taken so long.
I have noticed that Copilot has started appearing as a co-author on my commits. It is true, but it is just a co-author. As I am the one in charge, I make sure to review the work. So please let us know if you encounter any issues, just as usual.

Fixed

  • No longer credentials are broken during object storage configuration (related: #852).
  • Fixed a worker-side recursion issue that could raise Maximum call stack size exceeded during chunk splitting (related: #855).
  • Improved background worker crash cleanup so pending split/encryption tasks are released cleanly instead of being left in a waiting state (related: #855).
  • On start-up, the selected remote configuration is now applied to runtime connection fields as well, reducing intermittent authentication failures caused by stale runtime settings (related: #855).
  • Issue report generation now redacts remoteConfigurations connection strings and keeps only the scheme (e.g. sls+https://), so credentials are not exposed in reports.
  • Hidden file JSON conflicts no longer keep re-opening and dismissing the merge dialogue before we can act, which fixes persistent unresolvable data.json conflicts in plug-in settings sync (related: #850).

0.25.57

09 Apr 03:38
7a86362

Choose a tag to compare

0.25.57

9th April, 2026

Fixed

  • Packing a batch during the journal sync now continues even if the batch contains no items to upload.
  • No unexpected error (about a replicator) during the early stage of initialisation.
  • Now error messages are kept hidden if the show status inside the editor is disabled (related: #829).
  • Fixed an issue where devices could no longer upload after another device performed 'Fresh Start Wipe' and 'Overwrite remote' in Object Storage mode (#848).
    • Each device's local deduplication caches (knownIDs, sentIDs, receivedFiles, sentFiles) now track the remote journal epoch (derived from the encryption parameters stored on the remote).
    • When the epoch changes, the plugin verifies whether the device's last uploaded file still exists on the remote. If the file is gone, it confirms a remote wipe and automatically clears the stale caches. If the file is still present (e.g. a protocol upgrade without a wipe), the caches are preserved, and only the epoch is updated. This means normal upgrades never cause unnecessary re-processing.

Translations

  • Russian translation has been added! Thank you so much for the contribution, @vipka1n! (#845)

New features

  • Now we can configure multiple Remote Databases of the same type, e.g, multiple CouchDBs or S3 remotes.
    • A user interface for managing multiple remote databases has been added to the settings dialogue. I think no explanation is needed for the UI, but please let me know if you have any questions.
  • We can switch between multiple Remote Databases in the settings dialogue.

CLI

Fixed

  • Replication progress is now correctly saved and restored in the CLI (related: #846).

0.25.56+patched5

06 Apr 11:56
99b4037

Choose a tag to compare

0.25.56+patched5 Pre-release
Pre-release

0.25.56+patched5

Well, you see, this is the beta, the second of today.

6th April, 2026

Fixed

  • Packing a batch during the journal sync now continues even if the batch contains no items to upload.

0.25.56+patched4

06 Apr 10:54
d59b5dc

Choose a tag to compare

0.25.56+patched4 Pre-release
Pre-release

0.25.56+patched4

6th April, 2026

Fixed

  • Remote configuration URIs are now correctly encrypted when saved after editing in the settings dialogue.
  • Fixed an issue where devices could no longer upload after another device performed 'Fresh Start Wipe' and 'Overwrite remote' in Object Storage mode (#848).
    • Each device's local deduplication caches (knownIDs, sentIDs, receivedFiles, sentFiles) now track the remote journal epoch (derived from the encryption parameters stored on the remote).
    • When the epoch changes, the plugin verifies whether the device's last uploaded file still exists on the remote. If the file is gone, it confirms a remote wipe and automatically clears the stale caches. If the file is still present (e.g. a protocol upgrade without a wipe), the caches are preserved and only the epoch is updated. This means normal upgrades never cause unnecessary re-processing.

0.25.56+patched3

05 Apr 09:24
b0a9bd8

Choose a tag to compare

0.25.56+patched3 Pre-release
Pre-release

0.25.56+patched3

5th April, 2026

Fixed

  • Now, surely remote configurations are editable in the settings dialogue.
  • We can fetch remote settings from the remote and apply them to the local settings for each remote configuration entry.
  • No longer does layout breaking occur when the description of a remote configuration entry is too long.

0.25.56+patched2

05 Apr 08:51
3e03d1d

Choose a tag to compare

0.25.56+patched2 Pre-release
Pre-release

0.25.56+patched2

5th April, 2026

Beta release tagging is now changed to +patched1, +patched2, and so on.

Translations

  • Russian translation has been added! Thank you so much for the contribution!

Fixed

  • No unexpected error (about a replicator) during the early stage of initialisation.
  • Now error messages are kept hidden if the show status inside the editor is disabled.

New features

  • Now we can configure multiple Remote Databases of the same type, e.g, multiple CouchDBs or S3 remotes.
  • We can switch between multiple Remote Databases in the settings dialogue.

CLI

Fixed

  • Replication progress is now correctly saved and restored in the CLI.

0.25.56

30 Mar 08:23
837a828

Choose a tag to compare

0.25.55 0.25.56

This release is identical to 0.25.55, but the release date is corrected.

30th March, 2026

Fixed

  • No longer Peer-to-Peer Sync is not enabled. We cannot open a new connection. error occurs when we have not enabled P2P sync and are not expected to use it (#830).

CLI

  • Fixed incomplete localStorage support in the CLI (#831). Thank you so much @rewse !
  • Fixed the issue where the CLI could not be connected to the remote which had been locked once (#833), also thanks to @rewse !

0.25.54

18 Mar 11:05
c454616

Choose a tag to compare

0.25.54

18th March, 2026

Fixed

  • Remote storage size check now works correctly again (#818).
  • Some buttons on the settings dialogue now respond correctly again (#827).

Refactored

  • P2P replicator has been refactored to be a little more robust and easier to understand.
  • Delete items which are no longer used that might cause potential problems

CLI

  • Fixed the corrupted display of the help message.
  • Remove some unnecessary code.

WebApp

  • Fixed the issue where the detail level was not being applied in the log pane.
  • Pop-ups are now shown.
  • Add coverage for the test.
  • Pop-ups are now shown in the web app as well.

0.25.53

17 Mar 09:47
d828139

Choose a tag to compare

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.