Logseq DB - Changelog

Changelog (2026-04-27 to 2026-05-16)

Spotlight

This release ships Logseq’s first round-trip between DB graphs and on-disk markdown, expands the CLI with native query support, rebuilds the graph view, and hardens sync across reconnects, encrypted graphs, and large payloads. The closing days added a polish pass on Graph View V2, a new :asset property type, and a handful of quality-of-life features.

  • Markdown Mirror — read-only on-disk markdown projection of DB graphs that updates as you edit, with per-graph opt-in, path-collision handling, and rename-aware cleanup (PR #12589, PR #12594, PR #12596, PR #12607). Two-way sync is in development on a feature branch.

  • Generated mirrored markdown

    • …/graphs/cliworker/mirror
      ❯ tree
      .
      └── markdown
          ├── journals
          │   ├── 2026_05_02.md
          │   ├── 2026_05_07.md
          │   ├── 2026_05_14.md
          │   └── 2026_05_16.md
          └── pages
              ├── Logseq Markdown Syntax.md
              ├── Project.md
              ├── Test Project.md
              └── Testing Plugin.md
      
  • CLI maturesqmd query for multi-part queries, asset download for sync, a unified backup path shared with the desktop app, and a fully bundled CLI in desktop releases (PR #12340, PR #12548, 635d4b7a73, 08a479f2c8, 3f5b52cc07).

  • Graph View V2 — rebuilt for faster rendering on large graphs, with a follow-up task zoom-in view and interaction polish (PR #12604, d12beff383, 9318205c32).

  • Sync reliability — caps oversized snapshot payloads, scopes RSA key pair caches per server URL, recovers stale websocket sessions, and clears a long list of checksum, reconnect, and asset upload edge cases (PR #12586, 293309801f, 70042a46df, 009d93dc92).

  • Quality-of-life polish$ autopair for inline math, AVIF/CR2 image support, “Always on Top” window option, marketplace plugin search across descriptions, plugin thumbnails, and a wide pass of editor, import, and graph view fixes (PR #12618, PR #11997, be34b7904a, PR #12470, 5726ecaa21).

  • :asset property type — first-class asset property with inline thumbnail picker, so file/image references live in a typed property slot (PR #12506).


Currently Available

Features, enhancements, and bug fixes merged to master .

New Feature

Sync and storage

  • Markdown Mirror writes DB graph blocks to disk as plain markdown, updates as you edit, embeds block ids in comments, and handles renames and path collisions (PR #12589, PR #12594, PR #12596, 4bde9e0111, 9288c1de7e).

  • Logseq-markdown export shares content in Logseq’s own dialect outside the app (PR #12598).

Developer tools

Plugin system

  • Custom block renderer hook lets plugins render their own block UI inside the editor (PR #12533).

File handling

  • “Open folder” action jumps to a graph’s files from the repository context menu (7306cc8916).

Settings and configuration

  • Configurable Publish server URL points self-hosted setups at their own publish backend (PR #12520).

  • prettify-url? option on QuickCapture auto-formats captured URLs on save (PR #12409).

Media

  • Native AVIF and CR2 image support renders RAW photos and AVIF assets inline (PR #11997).

Window management

  • “Always on Top” pins the Logseq window above other apps (be34b7904a).

Properties

  • New :asset property type opens a 4-column thumbnail grid picker, renders an inline preview, and offers View/Swap actions that open the image lightbox or PDF viewer (PR #12506).

Enhancement

Block editing

  • Markdown formatting and rendering improved for quotes, code blocks, and headings (66b1140fc9).

  • Breadcrumbs read more clearly when navigating deeply nested blocks (PR #12595).

  • Notice surfaces when block content conflicts arise, flagging sync collisions (d1ac0836be).

  • $ autopair pairs inline math delimiters like brackets and quotes, with $$ block-math handling (PR #12618).

  • Deprecate the legacy ((block-ref)) syntax: imported titles convert block-refs to page-refs, the i18n key drops, and new content should use page-refs (PR #12627).

Graph visualization

Developer tools

  • CLI gains show --page-hierarchy, show --page library, block/link rendering in show, and more export options (319d07a2e5, 9aa73a1976, 7a731c6044, 7b68c57056).

  • CLI ergonomics: --enable-sync on graph create, longer sync upload timeouts, three-line list output, outdated-skill warning, unified build-version reporting (f5b122ddd5, ca08579d47, 94c942bf7c, 314c68cd9a, 137dd7fefd).

  • db-worker-node restarts automatically on version mismatch and skips direct-pass calls in thread-api routing (2f0a4f37e5, 17ae997013, ca7647f808).

  • CLI agent skills refined; new logseq-review-workflow, logseq-task-on-lambda, and logseq-answer-machine skills added; lambda PRs record URL, link issues, and follow a clearer status flow (14b85b96d6, 55123a65b6 and related).

  • Desktop and CLI backup paths unified (3f5b52cc07).

Plugin system

  • Plugin libs surface refined; plugins pass plain JS objects across the Electron IPC boundary (PR #12588, dfc689d607).

  • Plugin manager uninstalls unused plugins (PR #12603).

  • Legacy plugin storage APIs keep working alongside the refreshed surface (PR #12605).

  • Plugin cards render their own thumbnail icons (5726ecaa21).

  • Marketplace search matches plugin descriptions (not just titles) once the query reaches 3+ characters (PR #12470).

Bug Fix

Sync and storage

  • Snapshot upload payloads now cap; oversized tldraw payloads drop, preventing a single large snapshot from stalling sync uploads (293309801f, 99d2e30066, bba25ea579).

  • Stale sync sessions recover: websocket restarts, in-flight uploads clear on reconnect, downloads resume from correct paths (70042a46df, 6bfb7963d5, 20c7930727).

  • Encrypted sync: RSA key pair cache scopes by server URL, wrong e2ee passwords surface on download, deleted property pairs stop replaying to the server (PR #12586, c19eca0fd6, 05e8d0c435).

  • Checksum and local-tx handling stay aligned between client and server; guard prevents zeroing local-tx; client-ops db is ready when creating remote graphs on web (009d93dc92, 13779a4047, b71228a7b0).

  • Title sync conflicts keep the latest write; downloads restore sync metadata; asset remote-metadata stops being retracted (7c339462d0, 4ce4aedee8, f7ff5301fa).

  • RTC asset sync status reports pending assets clearly (0980e63711).

  • Android graph download regression fixed; local-tx initializes correctly on new graphs (8857be2baf, 2a1ec47b03).

  • Asset upload failures recover; retries no longer silently drop assets (6f5b000217).

  • Stale large-title objects drop from the sync flow (af5683f7c9).

  • External and local asset URLs (including external-url paths and plugin binary writes) resolve correctly (658e672551, PR #12656).

  • Filesystem boundary calls stop throwing on mkdir/stat; IPC error handling stabilized (49dd71d658, 72822bc720).

Search and queries

  • No-unlinked-references behavior restored on pages without references (643979123056).

  • Search returns matched pages again; debounced results stop flashing intermediate state (62eac11fe3, 5bc8fafb1b).

  • SQLite FTS quote parsing fixed; more invalid-FTS cases handled, so quoted or unusually punctuated queries no longer fail (e9ea5ef34c, fe153af811).

Database operations

  • SQLite format validates on import; unhelpful header check removed; flat client-ops layouts import correctly (db84d6bd96, c647326d86, 843dfc78d4, e8de3cc104).

  • GC stops running on client-ops db (no Datascript schema at addr 0) (d619745d30).

  • Desktop SQLite backup path restored; browser DB export unblocked; desktop SQLite binary export now opens in standard tools (627cb619e1, c6ac84cd28, 18c69fe1a8).

  • :block/name stops updating when a custom date formatter changes; deprecated properties handled cleanly when validation fails (69c4d36a61, 9712b1ed7b).

  • Legacy properties drop; db-worker ui-request response args align (e470dfd5f0, ac102e70fe).

  • :ref/default-open-blocks-level 0 works in DB graphs again (PR #12501).

  • Datoms format corrected when repairing invalid data; invalid data from older graphs loads without crashing (c32428702f, 3ae4d92adc).

UI/UX

  • Fullwidth [ IME auto-completion restored for CJK page-ref input (PR #12606).

  • Table view duplicate fields, large-title rehydrate flicker, and pending-new-block tab re-queue all fixed (d8fd169899, c5775df851, 46227b05eb).

  • Focused-root indent/outdent and move ops guarded so blocks can’t be outdented past the zoom root (PR #12583, a544e7f407).

  • Flashcards: dialog stays open after finishing a card; collapsed children load on reveal (1bcd855542, 0d5986eb90).

  • Outliner remaps pasted property value UUIDs; general paste regressions fixed (cea40a2cd6, 540e410320).

  • mhchem reaction arrows render correctly in math blocks (a772e6582b).

  • Calculator CodeMirror expands without scrollbars (PR #12600).

  • Scoped choice actions refined for tag property configs (46ab697178).

  • Shortcuts preview availability fixed; header and NativeTopBarPlugin icon sizes adjusted (PR #12556, cff7f58d46).

  • Keyboard navigation works for installed themes in settings (7018f62bf7).

  • “Sync” paid-feature label capitalized consistently (cecabbf157).

  • Block selection no longer breaks while scrolling long lists (1b9a1999ac).

  • cmdk sidebar shortcut stays scoped to its panel (58098303e0).

  • Heading bullets, heading icons, and dark right-sidebar header align with their content (1c061cc871, 96bf1f074b, 755840c474).

  • Right sidebar accepts asset drops (b2fc00b31b).

  • Order-list sibling-block reactions fire correctly when checking off items (PR #12617).

  • Stale title state clears when converting a block to a code block (4c98cc6b51).

  • Markdown headings render inside quote blocks (PR #12611).

  • FSRS cloze macro renders with superscript and subscript markup (e097ec8cd8).

  • Icon and bullet alignment regression fixed; breadcrumb icon layout preserved on long paths (aef715a525, c10a3b0fca).

  • Breadcrumb labels resolve UUID refs to titles; breadcrumb label class tidied for consistent styling (PR #12636, ee9a667392).

  • Left sidebar favorites truncate cleanly (35aaaba83f).

  • PDF viewer toolbar background no longer blends into chrome (fef89c1c4e).

  • Keyboard shortcut creates missing journal pages (302f798052).

  • Notification payloads carry i18n keys for localized strings (9dbb2ca522).

  • Resized network image width persists on reopen (a20939292f).

  • Spaces between refs in headings preserved (c84e7de0fb).

  • Code block language preserved on round-trip (7838becdf0).

  • Firefox paste lands content correctly (c37386e393).

  • Class hierarchy hides where irrelevant; class label maps resolve correctly (PR #12640).

  • Tag aliases hide from tag completion; the convert-to-alias action hides where it shouldn’t appear; markdown tag link aliases and block refs in merged hashtag links preserved (03adb8c7f8, 2de6597811, 4fe42af3ed, 37789780cd).

Properties

  • Partial property value writes prevented; block property value deletion commits cleanly (fc51c77765, 4e6b9a2225).

  • Scoped node property values run faster in dense graphs; follow-up regression fix keeps scoped values intact (PR #12651, PR #12659).

  • Property config regression fixed; closed values reparent when converting a property type (a034f80f37, 5afaf32378).

Recurring tasks

  • Scheduler honors the three documented repeater cookies (.+, ++, +) instead of applying a single ++-like rule to all (PR #12523).

  • Task choices record reproducibly so repeats don’t drift (5638050cbb).

Graph visualization

  • Deleted recycled nodes clean up rather than leaving stale entries (562e56e4c5).

Developer tools

  • CLI sync status gives an actionable message when no e2ee password is set; sync subcommand hints and config.edn read/write repaired (3943f0b1ec, 49382463cd, 90891fdab7).

  • export-edn regression on deprecated properties fixed; CLI block-ref rendering corrected (6945771612, 1d027cba3a).

  • CLI content options coerce to string (35e335178e).

  • CLI queries reject :db/id datom clauses with a clear error; invalid-query message trimmed; show hides empty property ids; sync upload --help clarified (2a0bf68fa0, e1c5025dd3, PR #12666, PR #12667).

  • Packaged db-worker runtime path resolves; CLI stays usable when the db-worker-node server is unreachable; CLI skills bundle into desktop releases (9e4b8c8246, 7488b92407, c14248c0a9, d6af5d8836).

  • Failed sync downloads on new graphs recover; re-upload works after deleting the remote (12b4c3399d, 07f3006a5d).

  • db-worker starts with template config when its own config is missing; server-list writes protected; repo-name comparison handles db-version-prefix mismatch (4bbb53cdf3, c6d21e2006, 5301d39f07).

Mobile

File handling

  • Electron custom URI scheme links open the right graph and page (PR #12549).

  • Marketplace markdown image tags render plugin previews reliably (8b510ea034).

  • Windows file URL block links open correctly (PR #12646).

Import and export

  • Imports preserve emails in quote blocks; property values referencing custom-format journal pages import correctly (8a7ba2f665, 47407a3d8d).

  • Exports ignore legacy-property entries; copy/paste export property data normalized (a610925bca, 9cfbaf80dc).

  • Imports preserve task statuses, repeated schedules, and namespaced inline tags (f42da95204, 44d6bd49c4, ee6b38b9d6).

  • Auto heading pre-blocks import correctly; mixed quote blocks survive DB export (PR #12612, PR #12610).

  • SQLite DB exports write as binary; client-ops DB export on web unblocked (e03e019a19, 0b26f16422).

Publishing

  • Hidden properties, protected pages, and protected tag listings hide from the published site; public /pages listing endpoint removed (b953a5c92c, e44bd79526, 0b6ec5916c, 0a077d1144).

  • App status icon styles match in publish; legacy short/page URL routes preserved; DO stubs acquired in a sync let to avoid RpcPromise clone failures (c2c5dbee0c, 3a63f09bef, PR #12521).

  • Mixed RTL/LTR pages set dir="auto" for correct layout (f6e2ab9026).

  • Published task bullets clear of the status icon on mobile (127356d753).

Plugin system

  • Electron IPC accepts plain JS objects; i18n interpolate function reference inside plugin code fixed (17a092d438, 5907b09824).

Performance

Search and queries

Refactoring

Graph visualization

  • Graph view rebuilt (V2) for better navigation and rendering on large graphs (PR #12604).

Sync and storage

  • create-remote-graph moves to the db-worker; unused node persist-db implementation removed (72252e5b58, e750c79e34).

  • DB no longer reloads from disk after a remote create; data writes directly into the active DB (40d8442180).

Chore

Developer tools


Upcoming

On feature branches, not yet shipped.

New Feature

Sync and storage

  • Two-way sync between markdown files and the DB graph — additive sync of edits back to DB, ADR 0017, mirror-id sparsification, mirror-property syntax, Logseq Sync compatibility test suite (cd31a39fef, 6cb495ad65).

Enhancement

Developer tools

  • Build pipeline migrating to Vite: replaces gulp, moves UI + plugin SDK builds, switches electron scripts to node, rewrites shadow externals namespace imports (8bf4624a34, 97a30f61d3).

Plugin system

  • Storage path handling and async calls improved in plugin libs storage APIs (7d029ab4aa) .

Bug Fix

UI/UX

  • Property UX: route-root hidden toggle, gated date edit icon, tightened bottom property edit popup (3d96bf9fe3, 2e07fe1b8a).

Contributors

  • A. S., Charlie, Cory Donnelly, Gabriel Horner, Grandroot, hoellen, IderAghbal, ivan-danilov, Kidy Lee, Mega Yu, PlunderStruck, rcmerci, TechnoHouse, Tienson Qin, Victor239, VictorVow, Will Wu, yshalsager
4 Likes