Skip to content

Releases: TypeCellOS/BlockNote

v0.22.0

23 Dec 12:21
Compare
Choose a tag to compare

This release adds a few important changes to BlockNote:

  • Improved paste handling for text, tables, and custom blocks (see #1324).
  • Block & inline content props can now be optional, where the default value is undefined.
  • Numbered lists can start from any index.

What's Changed

New Contributors

Full Changelog: v0.21.0...v0.22.0

v0.21.0

13 Dec 13:01
Compare
Choose a tag to compare

💖 Various bug fixes in this release have been sponsored by DINUM 🇫🇷 and ZenDiS 🇩🇪

This release brings new bug fixes and a few improvements to blocks. Most notably:

  • Resizing UX for images and videos has been improved, and their widths are no longer set to 0 when they're rendered outside the viewport.
  • Issues with exporting file blocks to HTML have been fixed:
    • src attribute not being set on image/video/audio elements.
    • Error when attempting to export using the ServerBlockNoteEditor.
  • The UX for links has been improved:
    • Cmd/Ctrl+K now opens the popover for creating a new link in the formatting toolbar.
    • Typing on the edges of a link will no longer extend it.
  • Pasting tables to other editors now works properly.

What's Changed

New Contributors

Full Changelog: v0.20.0...v0.21.0

v0.20.0

03 Dec 16:14
Compare
Choose a tag to compare

💖 Moving blocks as well as indentation & toolbar navigation changes have been sponsored by DINUM 🇫🇷 and ZenDiS 🇩🇪
💖 Table cell navigation changes have been sponsored by DeepOrigin💖

Moving blocks

moveBlocksUp/moveBlocksDown methods [Breaking]

The previously undocumented moveBlockUp & moveBlockDown methods have been renamed to moveBlocksUp & moveBlocksDown as they now support selections that span multiple blocks.

Additionally, their behaviour is now more inline with Notion and they now work better with "column" and "columnList" blocks from the @blocknote/xl-multi-column package.

Docs have also been added for both methods.

Keyboard shortcuts

The Cmd+Shift+Up/Cmd+Shift+Down keyboard shortcuts (Ctrl+Shift+Up/Ctrl+Shift+Down for Windows) previously used the moveBlockUp & moveBlockDown methods, which are now moveBlocksUp & moveBlocksDown. This means that all the changes mentioned above also apply to those shortcuts.

Improved Tab/Shift+Tab handling

Indentation & toolbar navigation

Previously, while the formatting or link toolbars were open, Tab & Shift+Tab was used to navigate them for keyboard accessibility. In order to use Tab/Shift+Tab to indent/unindent the selected blocks, the user would have to first hit Escape to close the toolbar(s). However, they would then immediately reopen, which would be frustrating when trying to move blocks up/down multiple nesting levels.

Now, the formatting and link toolbars remain closed after indenting/unindenting with Tab/Shift+Tab.

Additionally, setting the new tab-behaviour editor option to "prefer-indent" will cause Tab/Shift+Tab to always indent/unindent the selected blocks, regardless of any open toolbars. Note that this will make the toolbars no longer keyboard accessible.

Table cell navigation

Tab/Shift+Tab now navigate through cells when the selection is inside a table block, instead of indenting/unindenting the block.

Updated editor methods

getBlock

Previously could only get regular blocks, now also works with "column" and "columnList" blocks from the @blocknote/xl-multi-column package.

getSelection [Breaking]

Previously, getSelection().blocks would return blocks spanned by the selection at all nesting levels, meaning the returned array would contain both a block and its descendants.

Now, in most cases, only blocks are added at the lowest nesting level of those spanned, though this works slightly differently when the block in which the selection starts is nested deeper than other blocks spanned. In either case, if a block is in the returned array, none of its descendants will be.

It's recommended to play around with the selected blocks demo or check the source code to understand the changes made to getSelection in depth.

New editor methods

getPrevBlock

Docs reference

getNextBlock

Docs reference

getParentBlock

Docs reference

setSelection

Docs reference

What's Changed

New Contributors

Full Changelog: v0.19.2...v0.20.0

v0.19.2

20 Nov 17:13
Compare
Choose a tag to compare

Another bugfix release - this time focusing on UX.

What's Changed

  • fix: export updateBlockCommand, to allow extending heading block by @m-risto in #1235
  • fix: Prevent menu button from disappearing after fast clicks on DragHandleButton by @hoongding in #1184
  • fix: ShadCN: inherit styling for inline content by @serpent213 in #1228
  • fix: Made column/table resize bars get disabled when editor is non-editable by @matthewlipski in #1247
  • feat: added placeholder example by @ezhil56x in #1252
  • fix: CodeBlock fixes (select menu, bundled languages, paste from VS Code) by @areknawo in #1219
  • fix: Remove redundant zindex values by @YousefED in #1257
  • fix: disableExtensions by @YousefED in #1256
  • feature: expose floatingOptions on react elements by @YousefED in #1253

New Contributors

Full Changelog: v0.19.0...v0.19.2

v0.19.1

15 Nov 20:13
Compare
Choose a tag to compare

This release adds many bugfixes, especially for the recently released multi-column layouts.

What's Changed

Full Changelog: v0.19.0...v0.19.1

v0.19.0: Column layouts, PDF and Docx exports

06 Nov 11:54
Compare
Choose a tag to compare

💖 Column-based layouts have been sponsored by Capitol AI 💖
💖 File exporters have been sponsored by DINUM 🇫🇷 and ZenDiS 🇩🇪

Column based layouts

File exporters: client-side export to docx and pdf

What's XL, you wonder?

These packages have been published as @blocknote/xl-multi-column, @blocknote/xl-pdf-exporter and @blocknote/xl-docx-exporter. We're 100% committed to developing all our work open source. To ensure we run a sustainable project, we are experimenting with XL packages. These are dual-licensed packages that are released under AGPL-3.0 licenses. You're free to use these in open source projects, but for usage in proprietary / commercial projects, a sponsorship is required.

What's Changed

New Contributors

Full Changelog: v0.18.1...v0.19.0

v0.18.0 and v0.18.1: Code Block, React 19, Table UX

30 Oct 13:51
Compare
Choose a tag to compare

Another big update! 🙌

This release adds:

  • A code block with syntax highlighting! Great work @areknawo! 💖 CellaJS sponsored this our work on this.
  • Improved Table UX (see image below)! Click or Drag to add rows / columns to tables. Also, resized column widths are now stored in the BlockNote JSON. This feature was sponsored by DeepOrigin 💖

Last, but not least, we added support for React 19 and Next.js 15 (would have been cool if this was BlockNote v0.19 instead of v0.18, but you can't have it all 🤷‍♂️). ---> Please see the upgraded next.js guide in the docs.

What's Changed

New Contributors

Full Changelog: v0.17.1...v0.18.1

(note: most of these changes were in v0.18.0, v0.18.1 only adds this commit to make sure the peerDependency is compatible with React 19 RC. _note that @blocknote/core remained unchanges, so you can use v0.18.0 for this)

tables

v0.17.1

30 Oct 09:59
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.17.0...v0.17.1

v0.17.0

17 Oct 12:59
Compare
Choose a tag to compare

This release introduces a major refactor to a lot of BlockNote's internal code, which will make it easier to implement certain features down the line. Additionally Ctrl/Cmd+ArrowUp/ArrowDown shortcuts have been added to move the selected block up and down, and bugs have been fixed including copying on Firefox and updating block content.

What's Changed

New Contributors

Full Changelog: v0.16.0...v0.17.0

0.16.0

03 Oct 10:38
Compare
Choose a tag to compare

This release fixes some major issues regarding copying & selections.

What's Changed

Full Changelog: v0.15.11...v0.16.0