Changelog (2025-11-16 to 2025-12-06)
Spotlight
This release delivers three transformative initiatives that significantly enhance Logseq’s security, mobile experience, and developer tooling:
-
End-to-End Encryption (E2EE) for Real-Time Collaboration - Full implementation of end-to-end encryption for synced graphs, ensuring your collaborative data remains private and secure. E2EE password management is seamlessly integrated with system keychains on both desktop and mobile, includes RSA key-pair generation, AES encryption for graph data and assets, and a “forgot password” recovery option.
-
Native iOS Navigation & Bottom Sheets - Complete redesign of the iOS mobile interface with native UIKit components, replacing the previous web-based Silk framework. This brings smooth native animations, improved gesture handling, dynamic tab system with native bottom sheets, enhanced accessibility with iOS Dynamic Type support, and significantly better performance.
-
Logseq CLI Enhancements - Major improvements to the command-line interface including new validation commands for graph data quality, API mode for export-edn, better error messages for unspecified graphs, and enhanced graph validation with closed-value checking.
New Feature
Real-Time Collaboration (RTC)
-
Add end-to-end encryption support for synced graphs with RSA key-pair generation (2b84d729d)
-
Implement “forgot password” setting for E2EE password reset (2b84d729d)
-
Add E2EE settings UI with password confirmation and warnings (0eceffcdb)
-
Enable encryption/decryption for graph uploads, client operations, and assets (abe59cdbf, 09b1fb61f)
-
Support grant-access functionality for encrypted graphs (219d9ad20)
-
Store encrypted E2EE password in system keychain on desktop and mobile (6ed01dfb9, 4593ab3d7)
Mobile Experience
-
Implement native navigation and bottom sheets for iOS using UIKit (56eba5bd2)
-
Add native bottom tab bar with dynamic tab support (68075a8bd)
-
Introduce graphs tab for easier graph management (60689b25f)
-
Add native editor commands toolbar on iOS (be09bf3c8)
-
Implement native alert dialogs on mobile (9c01d46bc)
-
Add native selection bar with improved UX (ec32fe359)
-
Support multiple navigation stacks for improved tab navigation (42aa764a6)
CLI & Developer Tools
-
Add validate command for local graph data quality checks (79e75060d)
-
Add validate option to export-edn command for sanity checking (07a0feb85)
-
Add API mode for export-edn command (62deed7e7)
-
Add validation to export EDN for most export types with explicit error handling (134dc0f2a)
UI/UX Improvements
-
Add unified icon picker with avatar support (6a0229eac)
-
Implement carousel component for improved onboarding flow (e08341bba)
-
Add Enter key functionality for onboarding navigation (2a4c0ef62)
-
Support global mode for custom font family (98b474e0e)
-
Add allow list feature for enhanced security (d737a447c)
Enhancement
Real-Time Collaboration
-
Improve incremental transaction updates with 2,000 batch limit to reduce server load (f17d562ca)
-
Split RTC timeout configuration into WebSocket and S3 components (10s each) (002161132)
-
Make E2EE compatible with unencrypted graphs (bdf5d66f8)
-
Enable sync graph by default for RTC testers (df1e9d8bc)
-
Separate shared graphs from remote graphs in UI (e93c3afcc)
-
Auto-restart RTC when WebSocket timeouts occur (cc48b42d0)
Mobile Experience
-
Add undo/redo functionality on mobile (d1abefab0)
-
Add indent/outdent to selection bar with scrollable design (da26cbebe)
-
Support iOS Dynamic Type for better accessibility (7e8ed5333)
-
Enable swipe anywhere to go back (0a5ebf97d)
-
Allow search and view type switching on mobile (9d579a372)
-
Rename “favorites” to “quick access” for clarity (62f384e27)
-
Limit home journal page blocks to 50 for better performance (a5badf9e4)
-
Move import functionality to graph tab actions (a7c5baa09)
UI/UX Improvements
-
Redesign shortcut component with improved styling (c51e58a7f)
-
Refactor CMD K section header for better visual consistency (bcc68452f)
-
Enhance combobox with unified item rendering and improved styling (2ceb5e8ff)
-
Integrate list-item-icon component for consistent icon rendering (113d7cf99)
-
Add smooth scroll experience in select dropdown (3258aea29)
-
Add descriptions for DB export options to clarify their purpose (f6ce9fb47)
CLI & Developer Tools
-
Improve error messages for unspecified graphs in CLI (7b07116b4)
-
Add option to relax closed validation for entity maps (36c361af8)
-
Improve validation error messages for better user experience (79e75060d)
-
Print unexpected errors in export-edn command (5489e7572)
Asset Management
-
Add file selection dialog for asset source input (9c738f64c)
-
Support external asset URLs with checksum validation (eeb8b8523)
-
Add external source editing for asset blocks (5e1c3a12e)
-
Improve external URL property visibility and styling (741e7db1f)
-
Add db-based highlights loading functionality (62edcebb6)
PDF Annotations
-
Improve asset path resolution and decoding logic (3874e39d1)
-
Improve highlight handling based on PDF state (97fb9811f)
-
Improve asset handling and highlight area interactions (ff3600ce5)
Bug Fix
Mobile
-
Fix capture view blink and keyboard issues (07ef1ec3b)
-
Fix re-tap capture resulting in blank app (1b8c5ac3a)
-
Fix keyboard blink when deleting a block (f6371eb37)
-
Fix editor toolbar not always displayed (a02c9d314)
-
Fix safe area handling (892c6c32e)
-
Fix navigation stack reset when switching tabs or searching (bf95e92ab)
-
Fix search requiring double taps (000280080)
-
Fix properties not shown on page view (eb2429dbc)
-
Fix delete block not focusing on previous block (de4c4bdcb)
-
Fix YouTube embed on mobile (b1e70e605)
-
Fix page title editing issues (682d3f641)
-
Fix menu popup positioning (92eb5acf4)
-
Fix node reference when text selected (606a95d6a)
-
Enable auto-correct and auto-capitalization on iOS (28c397e89)
Real-Time Collaboration
-
Fix RTC not auto-restarting when WebSocket timeouts (53ae28359)
-
Fix assets sync loop stopping and error handling (285eb612a)
-
Fix RTC auto-restart error handling (c7816057f)
-
Fix create-get-state-flow not emitting nil (5b52b68ae)
-
Fix E2EE password requirement for non-encrypted graphs (9ca44ef15)
-
Fix E2EE reset password when local cached password expired (28a0ceb00)
-
Fix grant-access for E2EE graphs (de2c005b7)
Block Editing & Content
-
Fix inline tag resolved as page when saving block (20aecdb27)
-
Fix linked refs not shown for tags and properties (ae5d97ac0)
-
Fix parse inline tag as page (055a5cf6c)
-
Fix default-open-blocks-level 0 behavior (2b57fd9ee)
-
Fix fold button overlap with block title (c52476277)
-
Fix editor line-height (a8e2065ef)
Export & Import
-
Fix EDN export of class pages (22dbcfb2d)
-
Fix page export when blocks reference each other (ef68e19b3)
-
Fix import of existing pages to preserve properties and tags (3219b827e)
-
Fix invalid DB when class turned page has hanging :db/ident (fdc5d889d)
-
Fix file graph pasting blocks with multiple levels of children (9c77a2f2a)
CLI
-
Fix CLI append (-a) not appending (0f7135210)
-
Fix import-edn hanging for unexpected transact errors (4f5f68d0a)
-
Fix most API commands not pinging API when $LOGSEQ_API_SERVER_TOKEN set (b699ebf24)
-
Fix MCP server API mode failing confusingly (23937b59f)
-
Ensure CLI commands run against DB graphs only (d6a20e6a9)
-
Fix validate to ignore :block.temp/* attributes (deaed7d30)
PDF & Assets
-
Fix incorrect text layer rendering event handling for loaded pages (c8896fa8a)
-
Fix incorrect highlights layer for first page (54fdc5efd)
-
Fix assets not syncing to desktop (ddc8a566d)
-
Fix asset file deletion when deleting its block (d867bf603)
UI/UX
-
Fix theme switching and system theme sync (590ee304f, 298f34979)
-
Fix calendar dialog background (12bb84a1a)
-
Fix skeleton background on dark theme (4d52291d0)
-
Fix search recents (ed950ccee)
-
Fix closing search routing to home (918e33aff)
-
Fix calendar style on mobile (0974c5d13)
Property System
-
Fix property cardinality handling for property types (8c3e4f25c)
-
Relax closed values validation for server merge compatibility (8bd6acfb2)
Graph Parser
Performance
Real-Time Collaboration
-
Optimize incremental transaction updates with batching strategy (f17d562ca)
-
Improve timeout configuration for better responsiveness (002161132)
Mobile
- Limit home journal blocks to 50 for better performance (a5badf9e4)
Refactoring
Code Organization
-
Refactor icon handling and rendering logic for improved consistency (b45f7d541)
-
Refactor highlight rendering in search and cmdk components (4e269f644)
-
Refactor list-item-icon styles for better adaptability (44051947e)
-
Update importer to use validate-local-db (8fc56bfaa)
-
Make CLI and testing validation consistent (c8f99d1ff)
-
Rename local-asset? to local-relative-asset? (49407d561)
E2EE Cleanup
-
Remove deprecated E2EE namespaces and schemas (befac7f7a, 2c272cdef)
-
Remove unused deprecated E2EE code (d472efc03)
-
Extract delete-block-when-zero-pos for later usage (9af63ff9c)
Chore
Dependencies
CI/CD
Testing
-
Add E2E test for long block titles (21cf99c1a)
-
Fix RTC basic test for E2EE case (ef7901615)
-
Add frontend.common.crypt-test (e95dbe109)
-
Add flag to skip intermittently failing E2E tests (17cc2603a)
Documentation
-
Add dev instructions to build+install CLI locally (5153b0ba8)
-
Update review.md about common keywords (fb9ac9677)
-
Update roadmap link (547e86ab4)
Code Cleanup
-
Remove Silk UI (f53b18392)
-
Remove outdated modals code (2a24c4cc8)
-
Clean RTC debug UI (6edf33d74)
-
Remove unused errors-by-type (7bb8655d7)
Contributors
Thank you to all contributors who made this release possible:
@benjypng, @charlie, @Gabriel Horner, @rcmerci, @Sal Rahman, @sander boer, @scheinriese, @Tienson Qin, @Victor239