Release history
obsidian-livesync releases
Community-developed synchronisation plugin for Obsidian supporting CouchDB, object storage, and peer-to-peer WebRTC
All releases
33 shown
- QR codes split when settings exceed capacity, reassembled by aggregator
- Improved CLI feedback for ls/mirror commands when no documents found
- Mirror command accepts vault directory parameter
Full changelog
0.25.60
29th April, 2026
Fixed
- Now larger settings can be exported and imported via QR code without issues. (#595)
- When the settings data exceeds the QR code capacity, it is now split into multiple QR codes.
- These QR codes are reassembled by the aggregator page, which collects the split data and reconstructs the original settings.
- Aggregator page is available at
https://vrtmrz.github.io/obsidian-livesync/aggregator.html, and this file is also included in the repository.
- We will not send the settings data to any server. The QR code data is generated and processed entirely on the client side, ensuring that your settings remain private and secure. HOWEVER, please be careful your network environment.
- When the settings data exceeds the QR code capacity, it is now split into multiple QR codes.
- Fixed some errors during serialisation and deserialisation of the settings, which caused issues in some cases when importing/exporting settings via QR code.
Fixed (CLI)
lsandmirrorcommands now provide informative feedback when no documents are found or filters skip all files, resolving the issue where they would exit silently (#860).- Improved the clarity of CLI command logs by including the total count of processed items.
- The command-line argument
vaulthas been renamed to a more appropriate name,databaseDir. - The
mirrorcommand now accepts avaultdirectory, which specifies the location where the actual files are stored. For compatibility reasons, the previous behaviour is still supported.
Minor fixes and improvements.
Full changelog
0.25.59
Fixed
- No longer does Setup-wizard drop username and password silently. (#865)
- Thank you so much for @koteitan !
- Setup URI is now correctly imported (#859).
- Also, thank you so much for @koteitan !
Improved
- now French translation is added by @foXaCe ! Thank you so much!
- Redact credentials in issue reports
- Prevent credential exposure during object storage config
Full changelog
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 exceededduring 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
remoteConfigurationsconnection 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.jsonconflicts in plug-in settings sync (related: #850).
- Multiple Remote Databases of the same type (e.g., multiple CouchDBs or S3 remotes) can now be configured and switched between via the settings dialogue.
- Epoch-based deduplication cache invalidation: devices now detect remote wipes and automatically clear stale caches, while preserving caches during normal protocol upgrades.
Fixed erroneous P2P sync errors when feature not enabled, plus CLI localStorage and remote connection issues.
Fixed storage size checks, settings dialog buttons, and webapp display issues; refactored P2P replicator for robustness.
- Self-hosted LiveSync CLI for headless operation
- CLI supports P2P sync and Object Storage
- CLI supports binary files
Maintenance release focusing on code organization and testing infrastructure improvements. No behavioral changes expected.
Reverted problematic module refactoring in ModuleRedFlag and ModuleInitializerFile due to unexpected behavioral issues; improvements will be re-implemented with better design.
Fixed deleted files being unclickable in Global History pane and improved user guidance for configuration mismatches.
Refactored storage-related functions with platform-agnostic core logic and adapters, adding comprehensive tests for better maintainability.
Fixed chunk retrieval with refactored layered architecture including database, network, cache, and arrival wait layers. Restored remote storage configuration.
Fixed unexpected errors during plugin unload, improved hidden file selector respect, and enhanced protocol handler registration safety.
- Class-based modules replaced with services
- Plugin properties moved from ObsidianLiveSyncPlugin to services
- Service/middleware architecture
- Network warning style configuration
Fixed encryption issues when using Object Storage as remote by implementing fallback to V1 encryption/decryption when V2 fails.
- ServiceBase context changed from private to protected
- Default chunk splitter changed to Rabin-Karp for new installations
- Maximum modified time setting for selective sync recovery
- Boot sequence warnings persisted in editor notifications
Urgent fix for event triggering failures introduced by v0.25.39 refactoring. Immediate update strongly recommended.
- Service binding system completely redesigned
- Services now defined by interfaces
- Context added to all services
Resolved an issue where indexedDB failed to close correctly in certain environments, which led to unexpected errors during database operations.
Refactored the logging system and unified import statements to improve maintainability and simplify future releases or merges.