Releases: TypeCellOS/BlockNote
v0.23.6
What's Changed
- fix: upgrade prosemirror view and use correct clipboard import by @YousefED in #1431
- fix: Cut/copy handling in non-editable blocks and empty selections by @matthewlipski in #1427
Full Changelog: v0.23.5...v0.23.6
v0.23.5
What's Changed
- fix: chrome zoom bug for collaboration cursors by @nperez0111 in #1426
Full Changelog: v0.23.4...v0.23.5
v0.23.4
What's Changed
- fix: chrome should not wrap mid-line by @nperez0111 in #1423
There was a bug with the release of v0.23.3 where the bundled package was incorrectly including react within the bundle, it is recommended to not use that version as it will be significantly larger than other versions
Full Changelog: v0.23.3...v0.23.4
v0.23.3
What's Changed
- fix: cursors will not break to new-line on firefox #1419 by @nperez0111 in #1422
New Contributors
- @nperez0111 made their first contribution in #1422
Full Changelog: v0.23.2...v0.23.3
v0.23.2
What's Changed
- docs: Default blocks example fix by @matthewlipski in #1397
- fix: translation fix in fr.ts by @virgile-dev in #1400
- feat: Ukrainian localization support by @tpostolyuk in #1407
- fix: Drag and drop event handling by @matthewlipski in #1413
- fix: shadcn button type by @andrewmnlv in #1416
- Fix Code Block syntax highlighting for imported text by @Hansenq in #1388
- fix: improve collab cursor code by @YousefED in #1405
New Contributors
- @tpostolyuk made their first contribution in #1407
- @Hansenq made their first contribution in #1388
Full Changelog: v0.23.1...v0.23.2
v0.23.1
What's Changed
- docs: Updated sponsors section by @matthewlipski in #1392
- feat: add factory function for extensions by @YousefED in #1390
- fix: Side menu scrolling by @matthewlipski in #1394
Full Changelog: v0.23.0...v0.23.1
v0.23.0
This release introduces a number of significant fixes and small features, including:
- Fixed dragging & dropping blocks across editors.
- Improved collaboration cursor UX via the
showCursorLabels
option (see collaborative editing docs). - Improvements to PDF and DOCX exports.
And more! See the full changelog below:
What's Changed
- fix: Selecting start of table cell by @matthewlipski in #1354
- fix: Code block language parsing by @areknawo in #1362
- Enhance translation in french in fr.ts by @virgile-dev in #1359
- fix: Multi-editor drag & drop by @matthewlipski in #1341
- fix: Cache & reuse Shiki highlighter & parser for improved performance by @areknawo in #1363
- fix: Rollup config for
xl
andserver-util
packages by @matthewlipski in #1365 - feat: stop suggestion menu event propagation by @mfanselmo in #1346
- Add Italian Translations 🇮🇹 by @caioricciuti in #1345
- feat: Code block support in PDF & DOCX exporters by @areknawo in #1367
- feat: Improved collaboration cursor UX by @matthewlipski in #1374
- feat: Page break by @areknawo in #1372
- fix: Minor collaboration cursor & docs changes by @matthewlipski in #1381
- fix: Adjust page break styles by @matthewlipski in #1383
New Contributors
- @virgile-dev made their first contribution in #1359
- @caioricciuti made their first contribution in #1345
Full Changelog: v0.22.0...v0.23.0
v0.22.0
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
- chore: Update playwright by @matthewlipski in #1334
- feat: list "start" index and add optional props by @YousefED in #1326
- chore: remove unnecessary files from dist by @YousefED in #1332
- feat: add more css specificity for tables by @mfanselmo in #1336
- fix: better paste handling by @YousefED in #1324
New Contributors
- @mfanselmo made their first contribution in #1336
Full Changelog: v0.21.0...v0.22.0
v0.21.0
💖 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 onimage
/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
- docs: Add Y-Sweet by @jakelazaroff in #1297
- feat: Mobile-optimized formatting toolbar by @areknawo in #1284
- fix: Cut deleting selection when editor is non-editable by @matthewlipski in #1312
- fix: File HTML export and resizing UX by @matthewlipski in #1305
- fix: Link UX by @matthewlipski in #1304
- fix:
getSelection
behaviour and build by @matthewlipski in #1318 - fix: useReactNodeView ref for React 19 compatibility by @YousefED in #1317
- fix: BlockNoteView typescript issue for some users by @YousefED in #1316
- fix: collaboration wrapping to new line (firefox on linux) by @YousefED in #1273
- fix: Table copy paste into spreadsheets (#1298) by @areknawo in #1319
New Contributors
- @jakelazaroff made their first contribution in #1297
Full Changelog: v0.20.0...v0.21.0
v0.20.0
💖 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
getNextBlock
getParentBlock
setSelection
What's Changed
- feat: Tab key handling for tables (simple) by @matthewlipski in #1275
- fix: Tab handling (indentation and toolbar focus) by @matthewlipski in #1285
- feat: Better selections and moving multiple blocks by @matthewlipski in #1276
- chore: upgrade y-prosemirror by @YousefED in #1301
- fix: delete file ru tooltip by @jurmaev in #1270
- fix: update max-height to inherit for suggestion menus by @andrewmnlv in #1282
- Typo fixing in examples by @tommerty in #1268
- fix: Placeholder error handling for inserting CSS rules by @matthewlipski in #1300
New Contributors
- @jurmaev made their first contribution in #1270
- @andrewmnlv made their first contribution in #1282
- @tommerty made their first contribution in #1268
Full Changelog: v0.19.2...v0.20.0