Releases: TypeCellOS/BlockNote
v0.31.1
0.31.1 (2025-05-23)
There was a regression in handling of "Blocknote extensions" in the undocumented _extensions
API. This broke a few applications that needed it, we have a new extensions
API that we consider to be experimental, so we do not want for consumers to be using it just yet. so we back-ported the old behavior of the _extensions
API.
All that to say, this only affects a minor subset of blocknote users, and is mostly internal
🩹 Fixes
- backwards-compat for
_extensions
(#1708)
❤️ Thank You
- Nick Perez
v0.31.0
0.31.0 (2025-05-20)
🤖 This release adds AI integration to BlockNote!
Connect a Large Language Model (LLM) to BlockNote and write, edit or format documents hand-in-hand with an AI agent:
Video
blocknote-ai.mp4
Explore
Features
- Iterate on document content and formatting with AI
- See exactly what changes the AI is making with a "human-like" collaborator experience
- Support for streaming responses
- Fully customizable commands and UI elements
- Fine-tune AI behavior with custom prompts and instructions
- Built on Vercel AI SDK
- Connect any LLM model (from Llama to OpenAI, Mistral or Anthropic)
- Use your own infrastructure or connect directly to a hosted LLM API
PR @ #1674
❤️ Thank You
- Matthew Lipski @matthewlipski
- Nick @nperez0111
- Yousef @YousefED
v0.30.1
v0.30.0
0.30.0 (2025-05-09)
There was a change to [email protected] that broke a lot of our assumptions around parsing content from HTML (and the clipboard), which users notified us about. We've now fixed them in this update. This resulted in a fairly significant change to how we parse content, but with a our test suite we are able to guarantee little changes in behavior, in some cases we actually are able to parse and correctly insert more content than prior versions.
There are also a number of bug fixes that have been addressed with this version, especially around collaborative editing, which should mean a better collaborative experience for users.
As always, we would like to thank our sponsors. We've recently updated our website to include a proper user auth and payment system. If your company relies on our open source software, please consider paying it forward by becoming a sponsor via our website: https://www.blocknotejs.org/pricing
🚀 Features
- expose
editor.prosemirrorState
again (#1615) - add
undo
andredo
methods to editor API (#1592) - re-implement Y.js collaboration as BlockNote plugins (#1638)
- file:
previewWidth
prop now defaults toundefined
(#1664) - locales: add zh-TW i18n (#1668)
- locales: add slovak i18n (#1649)
🩹 Fixes
- Resolve formating toolbar regression (#1630)
- provide
blockId
touploadFile
in UploadTab (#1641) - do not close the menu on content/selection change (#1644)
- keep file panel open during collaboration (#1646)
- force pasting plain text into code block (#1663)
- updating HTML parsing rules to account for
[email protected]
(#1661) - code-block: handle unknown languages better (#1626)
❤️ Thank You
- l0st0 @l0st0
- Lawrence Lin @linyiru
- Matthew Lipski @matthewlipski
- Nick Perez
- Quentin Nativel
v0.29.1
0.29.1 (2025-04-17)
🩹 Fixes
This resolves a dependency issue in 0.29.0
❤️ Thank You
- Nick the Sick
v0.29.0
0.29.0 (2025-04-17)
change
event
This adds a new API which will tell you what blocks have been inserted, updated or deleted when you register a callback on the onChange API
transact
API
This release adds a new low-level API for interacting with the prosemirror state, the transact API. This enables blocknote-level transactions, meaning that operations can operate on the same transaction, so now they are only one undo/redo step. We think this API provides a solid foundation for us to build anything that operates on the prosemirror level.
It is also accompanied by a couple of other low-level APIs exec and canExec for interoperability between blocknote and existing prosemirror commands
🚀 Features
change
event allows getting a list of the block changed (#1585)
🩹 Fixes
- allow opening another suggestion menu if another is triggered #1473 (#1591, #1473)
- add quote to schema (aa16b15fe)
- update y-prosemirror to fix #1462 (#1608, #1462)
- dispatch suggestion menu as a separate transaction (#1614)
❤️ Thank You
- Nick Perez
- Nick the Sick
Please note that this version had issues being published, please use 0.29.1 instead
v0.28.0
v0.27.2
v0.27.0
0.27.0 (2025-04-04)
- Smaller bundle size: ~100 kB less, with more features
- Blockquote Block: You can now add quotes with this new block type
- Customizable Code Blocks: Control how code blocks do syntax highlighting, add more supported languages, smaller bundle size, theming
- Markdown pasting, and custom paste handlers: You can now paste markdown into the editor & it will be pasted as rich text! Support for custom paste handling behaviors with configurable callback
Breaking changes
Code block syntax highlighting removed
We no longer automatically include syntax highlighting for code blocks, this significantly reduces our bundle size and allows for more flexibility in terms of including the languages & themes your application may need. To see how to add syntax highlighting, read our guide for setting it up: https://www.blocknotejs.org/docs/advanced/code-blocks
Localizations are available from a new export
We no longer include locales
as an export directly from @blocknote/core
, the same locales are now available from @blocknote/core/locales
, allowing you to import just the locales you need in your application. This significantly reduces the bundle size of blocknote
, see more about localization in our example: https://www.blocknotejs.org/examples/basic/localization
Why?
To achieve a better bundle size, and reduce the number of dependencies of the package we were able to go from:
Before (v0.26.0):
dist/webpack-stats.json 14.11 kB │ gzip: 2.41 kB
dist/style.css 11.60 kB │ gzip: 2.82 kB
dist/comments.js 17.51 kB │ gzip: 3.54 kB │ map: 49.69 kB
dist/blocknote.js 422.01 kB │ gzip: 95.01 kB │ map: 1,116.10 kB
dist/webpack-stats.json 14.11 kB │ gzip: 2.41 kB
dist/style.css 11.60 kB │ gzip: 2.82 kB
dist/comments.cjs 11.83 kB │ gzip: 2.87 kB │ map: 47.56 kB
dist/blocknote.cjs 277.15 kB │ gzip: 73.99 kB │ map: 1,055.32 kB
After (v0.27.0):
dist/webpack-stats.json 14.59 kB │ gzip: 2.53 kB
dist/style.css 11.76 kB │ gzip: 2.86 kB
dist/en-B7ycW7c8.js 8.06 kB │ gzip: 2.00 kB │ map: 14.54 kB
dist/comments.js 17.51 kB │ gzip: 3.54 kB │ map: 49.77 kB
dist/locales.js 141.51 kB │ gzip: 28.23 kB │ map: 249.57 kB
dist/blocknote.js 280.46 kB │ gzip: 66.76 kB │ map: 874.62 kB
dist/webpack-stats.json 14.61 kB │ gzip: 2.52 kB
dist/style.css 11.76 kB │ gzip: 2.86 kB
dist/en-D4taoCs4.cjs 5.54 kB │ gzip: 1.84 kB │ map: 12.80 kB
dist/comments.cjs 11.83 kB │ gzip: 2.87 kB │ map: 47.59 kB
dist/locales.cjs 98.00 kB │ gzip: 25.89 kB │ map: 220.20 kB
dist/blocknote.cjs 179.33 kB │ gzip: 48.15 kB │ map: 844.04 kB
By splitting out the localizations and code block, the main bundle (blocknote.js) went from 422 kB to 280 kB!
🚀 Features
- split out localization files for optimized bundle (#1533)
- remove shiki dep, add new @blocknote/code-block package for slim shiki build (#1519)
- Blockquote Block (#1563)
- markdown pasting & custom paste handlers (#1490)
🩹 Fixes
- Backspace in empty block deletes previous block (#1505)
- Selection when clicking past end of inline content (#1553)
- better expose setting a draghandlemenu's items #1525 (#1526, #1525)
- Multi-block links (#1565)
- Hard break keyboard shortcut not working in custom blocks (#1554)
- Overlapping marks in comments (#1564)
- some more sentry fixes (#1577)
❤️ Thank You
- Martinrsts @Martinrsts
- Matthew Lipski @matthewlipski
- Nick Perez
v0.26.0
Thanks to our sponsors!
💖 The threads sidebar has been sponsored by DINUM 🇫🇷 and ZenDiS 🇩🇪
Threads Sidebar
This release introduces the ThreadsSidebar
component, which displays threads & comments in a separate section next to the editor. It's meant to be used as an alternative way of viewing and interacting with comments to the default UI, where threads float next to the content they're referring to. See the docs to find out how to use and customize the ThreadsSidebar
!
Screen.Recording.2025-03-19.at.10.53.32-1.mp4
What's Changed
- fix: Drag & drop for blocks with iframes not working by @matthewlipski in #1531
- fix: table error in collaboration mode by @YousefED in #1536
- fix: resolve several sentry errors by @nperez0111 in #1524
- fix: improve markview setup by @YousefED in #1544
- docs: Added Agree sponsor by @matthewlipski in #1542
- chore: add unit test for table parsing by @YousefED in #1547
- fix: immediately add nodeviews to fix flushSync error by @YousefED in #1546
- feat: Threads sidebar by @matthewlipski in #1454
Full Changelog: v0.25.2...v0.26.0