Skip to content

Releases: TypeCellOS/BlockNote

v0.54.2

Choose a tag to compare

@github-actions github-actions released this 09 Sep 09:41
Immutable release. Only release title and notes can be modified.
v0.54.2
fa7f7b8

0.54.2 (2026-09-09)

🩹 Fixes

  • xl-typst-compiler: Package wasm without Rust build artifacts (220544ffd)

❤️ Thank You

v0.54.1

Choose a tag to compare

@nperez0111 nperez0111 released this 09 Sep 09:44
Immutable release. Only release title and notes can be modified.
7320502

0.54.1 (2026-09-09)

🚀 Features

  • Typst-powered accessible PDF export (PDF/UA-1) (#2992)
  • pdf: base PDF export on self-hosted Typst compiler (#3020)

🔥 Performance

  • core: Resolve block changes from changed range only (#2981)

🩹 Fixes

  • xl-docx-exporter: Use distinct bullet symbols per nesting level (#2977)
  • core: Only attach table handles to actual table blocks (#2972)
  • xl-docx-exporter: Give each list its own numbering instance (#2976)
  • exporters: Editor-parity rendering fixes + shared-document ground truth tests (#3021)
  • core: Stop schema.extend() mutating the shared default specs (#3039)
  • mantine: Restore compact AI menu items (#3027)
  • Ignore only Dark Reader's writes in node views (#3062)

❤️ Thank You

v0.54.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 15:40
Immutable release. Only release title and notes can be modified.
ea5d803

0.54.0 (2026-08-13)

💖 The math block and diagram block has been sponsored by DINUM 🇫🇷

Math Block

A long requested feature, you can now add block & inline math to a BlockNote editor. They are driven by Katex & support much of Latex for all your notation needs.

math-block.mp4

Link to demo

Diagram Block

We've also added support for a diagram block driven by Mermaid.js, allowing you to add diagramming to the editor.

diagram-block.mp4

Link to demo

Source Block with Preview

Both the Math block & Diagram block are built on a primitive that you can build your own custom blocks from. The Source Block with Preview primitive allows you to build a pair of a block which renders content with an inline editor for the content being rendered. This can enable other sorts of preview-like features in the future, exposed as an API for you to build your own custom blocks with.

a table being rendered from CSV source an inline CSS color picker

Link to demo

🚀 Features

  • Adds a Math block (2a34f7d70)
  • Adds a Diagram block (0fca0ee7a)
  • core: Source-with-preview, syntax highlighting & exporter images (503c796d3)

🩹 Fixes

  • ai: Operations on collaborative documents (#2952)
  • ai: Operations on blocks containing comments (#2953)
  • pdf: Add custom font and fontFamily options for CJK (#2945)
  • Expose first suggestion as active descendant (#2965)
  • xl-docx-exporter: Clamp list nesting to the levels DOCX defines (#2969)

❤️ Thank You

v0.53.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 06:38
Immutable release. Only release title and notes can be modified.
529c3b0

0.53.0 (2026-08-06)

🚀 Features

  • shadcn: ⚠️ Use base-ui instead of radix (BLO-1279) (#2913)

🩹 Fixes

  • getCellSelection throwing error in positions (BLO-1193) (#2911)
  • Multi-column slash menu items within a column (BLO-905) (#2914)
  • Suggestion menu behaviour (BLO-1283, BLO-955) (#2930)
  • Ignore useless block/inline content mutations (BLO-1224) (#2912)
  • slash-menu: Better overflow behavior (BLO-1192) (#2909)
  • Slash menu item selection behaviour (BLO-1222) (#2838)
  • HTML export/parse round trip ignoring empty blocks (BLO-873) (#2931)
  • core: Guard getBlock() calls to prevent TypeError on stale blocks (#2941)
  • Stop stale node view positions crashing the editor (#2938)
  • Multi-column trailing blocks, column hover borders & drop cursor left edge BLO-1226 (#2885)

⚠️ Breaking Changes

  • shadcn: ⚠️ Use base-ui instead of radix (BLO-1279) (#2913)

❤️ Thank You

v0.52.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 15:10
Immutable release. Only release title and notes can be modified.
dee7880

0.52.1 (2026-07-20)

🩹 Fixes

  • react: Avoid importing yjs in the default UI (#2902)

❤️ Thank You

v0.52.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 09:58
Immutable release. Only release title and notes can be modified.
a99aab4

0.52.0 (2026-07-20)

🚀 Features

  • Migrate to Vite+ (#2745)
  • Decouple yjs from blocknote/core (#2741)
  • moveBlocks behaviour when leaving empty columns (BLO-1109) (#2842)
  • comments: Confirm before discarding an unsaved comment (blo-1197) (#2861)
  • core: Support "plain" block content (BLO-335) (#2868)

⚠️ Migration Guide

Yjs is now decoupled from @blocknote/core. Instead of passing a collaboration option directly to the editor, you now wrap your editor options with the withCollaboration helper imported from @blocknote/core/yjs.

Before (< 0.52.0):

const editor = useCreateBlockNote({
  // ...other editor options
  collaboration: {
    provider,
    fragment: doc.getXmlFragment("document-store"),
    user: {
      name: "My Username",
      color: "#ff0000",
    },
  },
});

After (>= 0.52.0):

// Import the helper from the decoupled Yjs entrypoint:
import { withCollaboration } from "@blocknote/core/yjs";

const editor = useCreateBlockNote(
  withCollaboration({
    // ...other editor options
    collaboration: {
      provider,
      fragment: doc.getXmlFragment("document-store"),
      user: {
        name: "My Username",
        color: "#ff0000",
      },
    },
  }),
);

The collaboration object itself (provider, fragment, user, showCursorLabels, etc.) is unchanged — you only need to:

  1. Import withCollaboration from @blocknote/core/yjs.
  2. Wrap your editor options object with withCollaboration(...), keeping the collaboration property inside it.

The same applies when creating an editor with BlockNoteEditor.create(withCollaboration({ ... })).

🩹 Fixes

  • Align side menu to tables (BLO-1117) (#2837)
  • Remove cursor flicker in trailing block (#2839)
  • table: Guard stale block after changes for table handles (#2821)
  • xl-ai: Remove 'use client' from server entry (BLO-1235) (57596cee6)
  • tables: Tab causing indent in last table cell (BLO-1211) (#2831)
  • core: Use dynamic propSchema when extending default block specs (#2882)
  • xl-pdf-exporter: Fix emoji rendering for ZWJ sequences in PDF export (#2871)
  • core: Ignore synthetic mousemove events without coordinates in side menu (#2895)
  • core: Read hardBreakShortcut from block spec impl (#2891)
  • xl-email-exporter: Update react-email deps to fix fresh install tests (#2898)
  • core: Call scrollIntoView() on Enter (#2802)

❤️ Thank You

v0.51.4

Choose a tag to compare

@nperez0111 nperez0111 released this 02 Jun 10:48
Immutable release. Only release title and notes can be modified.
3209491

0.51.4 (2026-06-02)

🩹 Fixes

  • add explicit type annotations for callback params losing contextual typing (#2815)
  • Comments emoji picker button issues (BLO-1199) (#2769)
  • core: add editor cleanup in BlockNoteEditor.test.ts to prevent unhandled DOMObserver errors (#2816)
  • table: prevent crash when pressing Enter in a table cell (#2793)

❤️ Thank You

v0.51.3

Choose a tag to compare

@nperez0111 nperez0111 released this 26 May 14:16
Immutable release. Only release title and notes can be modified.
d609476

0.51.3 (2026-05-26)

🩹 Fixes

  • table cell colors (BLO-1198) (#2770)

❤️ Thank You

v0.51.2

Choose a tag to compare

@nperez0111 nperez0111 released this 20 May 11:45
Immutable release. Only release title and notes can be modified.
b3afcdd

0.51.2 (2026-05-20)

🩹 Fixes

  • color picker icons (BLO-1189) (#2762)

❤️ Thank You

v0.51.1

Choose a tag to compare

@nperez0111 nperez0111 released this 18 May 18:03
Immutable release. Only release title and notes can be modified.
08a26c4

What's Changed

  • fix: backslash newlines when copying from a code block by @nperez0111 in #2709

Full Changelog: v0.51.0...v0.51.1