Skip to content

Releases: TypeCellOS/BlockNote

v0.44.0

02 Dec 10:53

Choose a tag to compare

0.44.0 (2025-12-02)

This release brings several architectural improvements to BlockNote AI and introduces abort() functionality for AI requests.

See #2198 for details and breaking changes, or have a look at the updated docs.

We also fixed some build / dependency issues in 0.43.0.

What's Changed

Full Changelog: v0.43.0...v0.44.0

v0.43.0

01 Dec 19:27

Choose a tag to compare

0.43.0 (2025-12-01)

Major Codebase Refactor

This release introduces a major refactor to the codebase, targeting 2 main areas of improvement:

UI Extensions, Components, and Hooks

BlockNote extensions responsible for UI elements like the formatting toolbar and file panel have been rewritten and heavily simplified. They take advantage of changes we've made to the BlockNote extensions API (see below), making them far more maintainable.

As part of simplifying the UI extensions, FloatingUI now handles much more in terms of positioning & dismissing the elements, e.g. making them scroll with the editor and close on hitting Escape.

Thanks to these changes, we've also been able to make our React components/hooks much simpler and more readable.

BlockNote Extensions

We've cleaned up and added additional functionality to BlockNote's extensions API. The original extension system was created somewhat haphazardly to support commonly needed features like keyboard shortcuts. The new BlockNote extensions API will be able to do much more, and should reduce the need to add functionality using TipTap extensions or ProseMirror plugins.

The additions to the extensions API are currently meant for internal use only, but we can't wait to share these with the community in a future release!

To see a detailed summary of the changes in this release, see PR #2143.

Breaking Changes

@blocknote/core

  • Existing extensions using the BlockNoteExtension class are no longer supported. Use the createExtension function instead.
  • Extension-specific imports have been moved from @blocknote/core to @blocknote/core/extensions. This includes helpers such as filterSuggestionItems for the suggestion menu extension.
  • Comment-specific imports have been moved from @blocknote/core to @blocknote/core/comments.
  • The comments editor option has been removed. Instead of passing comments: options to the editor, pass extensions: [CommentsExtension(options)] instead.
  • Extensions are no longer listed as properties of BlockNoteEditor, e.g. editor.formattingToolbar. Use the getExtension method instead, e.g. editor.getExtension(FormattingToolbarExtension).
  • editor.openSuggestionMenu has been removed. Use editor.getExtension(SuggestionMenu).openSuggestionMenu instead.
  • editor.getForceSelectionVisible/editor.setForceSelectionVisible have been removed. Use editor.getExtension(ShowSelectionExtension).store.state.enabled/editor.getExtension(ShowSelectionExtension).showSelection instead.
  • editor.onCreate has been removed. Use editor.onMount instead.
  • insertOrUpdateBlock has been renamed to insertOrUpdateBlockForSlashMenu.
  • editor.updateCollaborationUserInfo has been removed.

@blocknote/react

  • useEditorContentOrSelectionChange has been removed. Use useEditorState instead.
  • useUIPluginState has been removed. Use useExtension or useExtensionState instead.
  • useUIElementPositioning has been removed. Use BlockPopover, PositionPopover, or GenericPopover instead.
  • useEditorForceUpdate has been removed.

@blocknote/xl-ai

  • BlockPositioner has been removed. Use BlockPopover instead.
  • createAIExtension has been removed. Use AIExtension instead.
  • getAIExtension has been removed. Use editor.getExtension(AIExtension) or useExtension(AIExtension) instead.

Changelog

🚀 Features

  • Major Extensions & UI Refactor (#2143)

🩹 Fixes

  • allow configuring the email body's styles (#2182)
  • xl-docx-exporter: improve OOXML interoperability (#2206)

❤️ Thank You

v0.42.3

19 Nov 12:23
ec19b21

Choose a tag to compare

0.42.3 (2025-11-19)

This resolves an issue with the latest Tiptap update #2170 and makes a fix for the slash menu causing an error when the editor is unmounted

🩹 Fixes

  • disallow access to the domElement or isFocused if the editor is unmounted (#2187)

❤️ Thank You

  • Nick Perez

v0.42.2

19 Nov 11:41
fbf3285

Choose a tag to compare

0.42.2 (2025-11-19)

This release reverts a bug introduced by https://github.com/TypeCellOS/BlockNote/releases/tag/v0.42.0 which attempted to resolve issue with React's StrictMode, unfortunately we have not resolved the underlying bug, but this release will at least put it back to the previous state. As far as we understand this should only be an issue in a development build, and in production mode it should work as expected. We will prioritize fixing the underlying bug and update the issue here: #2106

🩹 Fixes

  • put back mounting system (#2183)

❤️ Thank You

  • Nick Perez

v0.42.1

18 Nov 09:51
01924f6

Choose a tag to compare

0.42.1 (2025-11-18)

🩹 Fixes

  • do not error on invalid backgroundColor or textColor #2176 (#2179, #2176)
  • remove dependency array from comments re-rendering (#2177)

❤️ Thank You

  • Nick Perez

v0.42.0

11 Nov 15:04
d192b37

Choose a tag to compare

0.42.0 (2025-11-11)

This release is the BlockNote bug bash release. We've spent about a month fixing several bugs in the editor to deliver a more stable & reliable editor.

We've also gone ahead and added some new utilities for working with Y.js documents programmatically, which you can read more about in the YJS Utilities documentation.

As always, thanks to all of our sponsors and contributors who helped make this release possible.

🚀 Features

🩹 Fixes

  • Emoji picker issues (#2092)
  • set a default for blocksToFullHTML #2100 (#2101, #2100)
  • correctly index blocks that have children fixes #2115 (#2116, #2115)
  • add more lenient parsing for code blocks, to accept newlines #2105 (#2108, #2105)
  • Firefox invisible text cursor after dropping blocks (#2128)
  • parsing priority for custom inline content and styles (#2119)
  • BlockTypeSelect item filtering based on schema (#2112)
  • deleting last block in column (#2110)
  • comments: update the styles for the cursor to be the default cursor (#2163)
  • comments: always surface the closest mark to the current position (#2164)
  • comments: scrolling bug when clicking comment marks (#2165)
  • react: destroy editor instances after two ticks (#2121)
  • schema-migration: more robust migration of background-color & text-color attributes (#2154)
  • unique-id: do not attempt to append to y-sync plugin transactions (#2153)

❤️ Thank You

v0.41.1

09 Oct 16:06
954a77d

Choose a tag to compare

0.41.1 (2025-10-09)

This was a version bump only, there were no code changes.

v0.41.0

08 Oct 10:01
7fdd481

Choose a tag to compare

0.41.0 (2025-10-08)

🚀 Features

  • AI menu auto scrolling (#2039)
  • Shortcut to delete empty table while cells are selected (#2052)
  • divider: add a divider block (#2014)

🩹 Fixes

  • Code block language select value not updating properly (#2050)
  • disable input rules for numbered headings #1789 (#2032, #1789)
  • video parsing and export for markdown (#1955)
  • Reaction picker shown for users who can't react (#2061)
  • Add Mantine dependency to individual examples (#2070)
  • allow listening to onChange and other events before the underlying editor is initialized (#2063)
  • toggle and check list item blocks (#2071)
  • added missing fields to implementations in editor schema block specs (#2046)

❤️ Thank You

v0.40.0

30 Sep 07:45
884347d

Choose a tag to compare

0.40.0 (2025-09-30)

BlockNote AI

We've now significantly refactored BlockNote AI to support:

  • The Vercel AI SDK 5 (closes #1952)
  • Now uses streamText + tool calling by default instead of Object Generation
  • Designed to call your own backend (instead of the old proxy-based setup).
  • Leans in more heavily to the updated AI SDK architecture (reusing the Chat and transport concepts)
  • PromptBuilders have been redesigned to split the creation of the required data (PromptBuilderInputData and creation / modification of the LLMMessages
  • fix: better handling of parallel tool calls

Backend pattern

We've revisited the old solution where BlockNote made direct calls to LLMs from the client using the Vercel AI SDK (or via a proxy).

Instead it's now recommended to send request to your backend. There, you can then invoke your LLM (potentially adding more context, tools, RAG, etc). While a bit more work to set up, this architecture is more inline with the Vercel SDK and unlocks more powerful workflows.

Breaking changes

See the updated docs and backend integration guide for an overview of the new APIs. The main breaking change is that createAIExtension now accepts a transport that provides the integration with your backend.

We now recommend to use the Vercel AI SDK on your backend. For alternative options, see the backend integration guide. The previous proxy-based approach is still available and explained in the backend guide.

For assistance in upgrading and integration with your pipeline, please reach out to the team.

Mantine

We've now upgraded our support of Mantine in the @blocknote/mantine package to V8.

🚀 Features

  • Mantine v8 upgrade (#2028, #2029)
  • Update Mantine setup (#2033)
  • ai: SDK 5, tool calling, custom backends (#2007)
  • core: add the ability to autofocus on the editor element (#2018)

🩹 Fixes

  • Block colors menu not always showing (#2027)
  • Update remianing examples to Mantine v8 (#2031)
  • ShadCN example Tailwind setup (#2042)

❤️ Thank You

v0.39.1

19 Sep 13:11
a87ac38

Choose a tag to compare

0.39.1 (2025-09-19)

🩹 Fixes

  • cleanup accesses to prosemirrorView to account for tiptap 3 behavior (#2017)
  • core: input rules can handle when a new block is empty now (#2013)

❤️ Thank You

  • Nick Perez