Skip to content

Releases: TypeCellOS/BlockNote

v0.39.0

18 Sep 07:34
32ba514
Compare
Choose a tag to compare

0.39.0 (2025-09-18)

🎉 Major API Overhaul & TipTap V3 Upgrade

This is a major release for BlockNote that brings significant improvements to our custom block APIs, enhanced HTML parsing capabilities, and an upgrade to TipTap V3. We've completely overhauled our internal default blocks to use the same custom block APIs that we expose externally, allowing us to "dogfood" our own APIs and ensure they have everything needed for robust custom block development.

✨ Key Features

🔧 Enhanced Custom Block APIs

Configurable Block Schemas

  • Custom blocks can now take configuration options, allowing you to change your schema based on configuration
  • Support for dynamic block configurations (e.g., code blocks with different syntax highlighting options, heading blocks with flexible heading levels)

Extended Custom Inline Content & Styles

  • Custom inline content and styles now support parsing and exporting to HTML
  • Greater flexibility between what you render in-editor vs. what gets exported to HTML
  • New toExternalHTML and parse functions for both inline content and styles

BlockNote Extensions Integration

  • BlockNote extensions can now define input rules and keyboard shortcuts
  • Extensions can be added directly to custom block specs
  • Support for ProseMirror plugins and TipTap extensions within custom blocks

Extensible Schemas

  • BlockNote schemas are now fully extensible
  • Add your own custom blocks, inline content, and styles to existing schemas
  • Better integration between built-in and custom components

🚀 TipTap V3 Upgrade

  • Upgraded to TipTap V3, enabling access to the latest features and improvements
  • Better performance and stability
  • Enhanced editor capabilities

📄 Improved HTML Parsing

  • Significantly improved support for parsing content from HTML
  • Better detection of styles and content when parsing arbitrary HTML
  • More reliable conversion from external HTML sources

🔄 Breaking Changes

Due to the major API overhaul, some existing custom block implementations may need updates:

  • Custom block configurations have been restructured
  • New optional parameters added to block implementations
  • Some internal APIs have been refactored for better consistency

🎯 What This Means for You

  • Better Custom Block Development: You can now see exactly how we build our own blocks and use the same APIs
  • More Flexible Rendering: Better control over how content appears in-editor vs. exported HTML
  • Enhanced Extensibility: More ways to customize and extend BlockNote's functionality
  • Improved Reliability: Better HTML parsing and more robust custom block APIs

This release represents a significant step forward in making BlockNote more flexible and powerful for custom implementations while maintaining the ease of use that makes it great for standard use cases.

v0.38.0

16 Sep 08:02
43bf109
Compare
Choose a tag to compare

0.38.0 (2025-09-16)

🚀 Features

  • Custom schemas for comment editors (#1976)

🩹 Fixes

  • Suggestion menu positioning (#1975)
  • doLLMRequest fails when deleting a non-existent block (#1982)
  • file block resize handles not working with touch inputs (#1981)
  • get pdf example working again (a90ae4d58)
  • better markdown & html paste, make methods synchronous (#1957)
  • Improve setting text for custom file blocks (#1984)
  • react: close link popover on submit in static formatting toolbar #1696 (#1997, #1696)

❤️ Thank You

v0.37.0

29 Aug 17:16
Compare
Choose a tag to compare

0.37.0 (2025-08-29)

This release overhauls the setup for @blocknote/shadcn. The package now expects to be installed within an app that already uses TailwindCSS, and does not import any Tailwind/ShadCN stylesheets itself. This comes with a few benefits:

  • BlockNote now inherits Tailwind & ShadCN theme changes from the parent app.
  • BlockNote no longer imports duplicate Tailwind stylesheets.
  • Tailwind styles used in BlockNote no longer need the "bn-" prefix.

Breaking changes

@blocknote/shadcn now requires TailwindCSS v4, as the @source directive is needed. Since it also no longer includes ShadCN stylesheets, some additional styles also have to be added to your app if it doesn't use ShadCN components itself. See the docs for more info.

🚀 Features

  • export ShadCNComponentsContext (#1965)

🩹 Fixes

  • Typing in empty table cells (#1973)

❤️ Thank You

v0.36.1

27 Aug 13:53
1c30f66
Compare
Choose a tag to compare

0.36.1 (2025-08-27)

🩹 Fixes

  • table column widths not being set in exported HTML (#1947)
  • Minor change to formatting toolbar extension logic (#1963)
  • core: report block moves in getBlocksChangedByTransaction #1924 (#1960, #1924)

❤️ Thank You

v0.36.0

25 Aug 13:34
fb37d13
Compare
Choose a tag to compare

0.36.0 (2025-08-25)

This release is mostly a bug fix release. It addresses some issues with custom blocks in React, drag & drop issues and several other bug fixes.

We are working towards a major revamp of our custom block API with all of the internal built-in blocks moving into the custom block API making things much smoother.

🚀 Features

  • docx: add locale configuration for docx export (#1937)

🩹 Fixes

  • Editors in comments not inheriting theme (#1890)
  • Minor drag & drop changes (#1891)
  • Overflow on table blocks (#1892)
  • Suggestion menu closing when clicking scroll bar (#1899)
  • Table padding (#1906)
  • Formatting toolbar getting wrong bounding box when updating React inline content (#1908)
  • Vanilla blocks return true for editor.isEditable on initial render (#1925)
  • table cell menu styling (#1945)
  • Missing internationalization for toggle wrapper (#1946)
  • parse image alt text for image blocks (#1883)
  • initialize esm deps before copy extension uses it (#1951)
  • error when dragging a block from one editor to another with multiple column extension (#1950)
  • prevent infinite render loop when selecting all content (#1956)
  • core: maintain text selection across table updates (#1894)
  • locales: ko locale fix (#1902)
  • react: add data attribute for correct react rendering (#1954)
  • xl-email-exporter: better defaults, customize textStyles, output inline styles (#1856)

❤️ Thank You

v0.35.0

25 Jul 09:14
c114ff0
Compare
Choose a tag to compare

0.35.0 (2025-07-25)

🩹 Fixes

  • insert file upload before block if it is closer to the top of the block (#1857)
  • rename albert model (3b0ba8d25)
  • resolve some minor drag & drop regressions (#1862)
  • blockquote HTML parsing #1762 (#1877, #1762)

❤️ Thank You

  • Brad Greenlee
  • Nick Perez
  • Nick the Sick
  • yousefed

v0.34.0

17 Jul 14:39
5ca0572
Compare
Choose a tag to compare

0.34.0 (2025-07-17)

🚀 Features

  • support multi-column block in PDF, DOCX & ODT exporters (#1781)
  • support react 19 (f7b3466d3)
  • disable conversion of headings to list items (#1799)
  • report moves (indents and outdents) as changes when using getChanges #1757 (#1786, #1757)
  • allow inline content to be draggable (#1818)
  • added type guards, types, and editor prop to custom inline content rendering (#1736)
  • block-change: adds a new API for blocking changes to editor state, by filtering transactions (#1750)

🩹 Fixes

  • remove lookbehind regex for browser compat (#1827)
  • ToggleWrapper button defaulting to submit type (#1823)
  • disable $ref in AI schemas (html format) (#1819)
  • re-evaluate side-menu on scroll (#1830)
  • hide table extend buttons when not editable #1848 (#1850, #1848)
  • resolve several drag & drop issues (#1845)

❤️ Thank You

v0.33.0

03 Jul 09:40
Compare
Choose a tag to compare

0.33.0 (2025-07-03)

This release adds Google Gemini model support to BlockNote's AI features, as well as adding extra customization options to the BlockPositioner, and fixing miscellaneous bugs.

🚀 Features

  • FloatingUI options prop for BlockPositioner (#1801)
  • Support Google Gemini AI (#1805)

🩹 Fixes

  • support multi-character suggestions (#1734)
  • switch foreground color based on selected user color dynamically #1785 (#1787, #1785)
  • mark react package as external in email exporter (#1807)
  • Duplicate formatConversionTest files (#1798)
  • AI empty document handling (#1810)
  • bn-inline-content class name getting duplicated (#1794)

❤️ Thank You

v0.32.0

24 Jun 12:53
1d476c5
Compare
Choose a tag to compare

💖 A huge thanks to Incubateur des Territoires (ANCT 🇫🇷) who financed the new toggle blocks 💖

0.32.0 (2025-06-24)

We've got a feature packed update!

We've added new block types, toggle list items & toggle headings (1-3). They allow hiding child blocks behind a click, perfect for stashing away details that may not be important for everyone using the document, or as another form of organization.

Another large update is the new @blocknote/xl-email-exporter package which allows for exporting a BlockNote document directly to an email in a format that should be very compatible across email clients (powered by react.email)!

We've now added support for headings 4-6, but they are not enabled by default to allow for a simple out of the box experience for end-users (6 heading levels? Must be a huge doc!)

🚀 Features

  • toggle blocks (#1707)
  • core: support h4, h5, and h6 (#1634)
  • xl-email-exporter: add email exporter (#1768)

🩹 Fixes

  • react 19 strict mode compatibility (#1726)
  • add keys to pdf exporter for less react warnings (#1739)
  • only listen for left click on formatting toolbar (#1774)
  • prevent formatting toolbar from closing if click was from inside the editor (#1775)
  • locales: add Hebrew translations for various components (#1779)

❤️ Thank You

v0.31.3

18 Jun 10:26
28edc69
Compare
Choose a tag to compare

0.31.3 (2025-06-18)

This release should fix some bugs with the xl-ai package, specifically around edge cases like: undo/redo history, empty documents, and better support across models

🩹 Fixes

  • AI generation with empty document (#1740)
  • AI system messages should always be at start of prompt (#1741)
  • Selection clicking editor padding (#1717)
  • preserve marks across a shift+enter #1672 (#1743, #1672)
  • ai: undo-redo after accepting/rejecting changes will undo as expected (#1752)
  • locales: add translations for some comment strings (#1764)

❤️ Thank You

close