- core: preserve whitespace edge cases but collapse html formatting newlines (BLO-1065) (#2551, #2230)
- Yousef
- use /
for toggle block HTML export (#2524)
- remove @hocuspocus/provider peer dependency by inlining tiptap comment types BLO-1064 (#2564)
- core: slash menu fails in custom blocks after space BLO-1036 (#2553)
- i18n: fix typo in russian translation (#2560)
- Claude Opus 4.6
- Drone
- Yousef
- typeerror cannot read properties of undefined (#2522)
- handle more delete key cases (#2126)
- add delay for
data-activein collab cursors (#2383) - disable slash menu in table content #2408 (#2504, #2408)
- ai: selections broken due to floating-ui focus manager (#2527)
- Matthew Lipski @matthewlipski
- Nick Perez
- Yousef
- update suggestion menu component (#2397)
- i18n: add Persian (fa) localization support (#2447)
- i18n: add Uzbek (uz) localization support (#2506)
- prevent nested bullet list icon rendering as emoji on iOS 18+ (#2394, #2399)
- ignore drag & drop from unrelated events #1968 (#2346, #1968)
- disable checkbox when editor is not editable #2406 (#2448, #2406)
- Backspace/enter behaviour in empty block with children (#2451)
- handle pasting into table cells better, by collapsing their content to inline #2410 (#2449, #2410)
- accessibility: ai combobox aria-activedescendant (#2413)
- ai: no more scrolling to top when opening AI menu (#2503)
- docs: unicode char not rendered in bug template (f13e270be)
- Cyril G @Ovgodd
- Dex Devlon @bxff
- Matthew Lipski @matthewlipski
- MDSAM05 @MDSAM05
- Mohammad RAHMANI @Mrahmani71
- Nick Perez
- Ogabek @OgabekYuldoshev
- Wouter Vroege
- Yousef
- deep merge floatingUIOptions using nested spread operators (#2310)
- Visual differences between live editor and rendered exported HTML (#2348)
BlockNoteViewEditormismatched editable value (#2357)- add
font-synthesisfor italic & bold in fonts that don't have them specified #2325 (#2354, #2325) - disable code block language selector when editor is not editable (#2351)
- table handles would crash (#2384)
- update CreateLinkButton to be able to toggle popover visibility (#2316, #2313)
- add context,nestingLevel to toExternalHTML (#2373)
- ai: re-enable flipping the AIMenu when there is not enough space #2245 (#2247, #2245)
- link-toolbar: prevent Enter from submitting during IME composition (#2361)
- hanios123
- Jean-Baptiste PENRATH
- Matthew Lipski @matthewlipski
- Nick Perez
- Shohei Yoshida @ysds
- Yousef
This was a version bump only, there were no code changes.
- emojipicker can sometimes fail to mount (575b81cec)
- LinkToolbar Event Listener leak (#2335)
- when you convert a block into checkListItem via inputRule, it should transfer its content into checkListItem content (#2331)
- do not return focus back to menu (484d7da36)
- arrow up on a checklist item should move to the element above BLO-362 (#2306)
- getPos race condition in React StrictMode (#2311)
- adjust input rules to be more tolerant to starting whitespace (#2341)
- ai: make sure ShowSelection works (#2297)
- xl-email-exporter: remove redundant sections in email export (#2323)
- Nick Perez
- Nick the Sick @nperez0111
- supernova @tmpluto
- Yousef
- ai: expand selections to contain words (#2304)
- extensions: extensions can now include other extensions for grouping into one extension (#2284)
- an invalidly specified table should not crash the editor (#2255)
- filter out invalid heading items based on the current block schema in the slash menu #2253 (#2259, #2253)
- relax shiki package requirements #2279 (#2280, #2279)
- filter the default tiptap extensions #2282 (#2283, #2282)
- always include the cursor extension #2244 (#2260, #2244)
- make
onBeforeChangereturn the correct type again (9009369b1) - if there is no table block, there is no table handles to show #1055 (#2281, #1055)
- pass dragHandleMenu prop to DragHandleButton (#2254)
- html diff error with whitespace (#2230)
- update regex for checklist items #2288 (#2305, #2288)
- email-exporter: ReadableByteStreamController for safari react-email (#2295)
- Max @maqen
- Nick Perez
- Nick the Sick @nperez0111
- Yousef
- put back
onBeforeChangemethod #2221 (#2243, #2221) - Improper accessing of editor DOM element (#2234)
- make validation errors recoverable by llm (#2054)
- shadowdom support and example (#2223)
- ensure numbered list start property always present (#2241, #2242)
- Suggestion menu positioning (#2232)
- conditionally access the TableHandles extension from React (#2248)
- ai: upgrade prosemirror-suggest-changes (#2235)
- Matthew Lipski @matthewlipski
- Nick Perez
- wcyat @sdip15fa
- Yousef
- clearing selection was not being called when create link button is no longer rendered (#2217)
- AI menu not updating position on new line (#2233)
- UI elements not scrolling when editor DOM element is scrollable (#2231)
- Matthew Lipski @matthewlipski
- ai: Abort requests (#2213)
- Yousef
- Major Extensions & UI Refactor (#2143)
- allow configuring the email body's styles (#2182)
- xl-docx-exporter: improve OOXML interoperability (#2206)
- Nick Perez
- Stephan Meijer @StephanMeijer
- disallow access to the
domElementorisFocusedif the editor is unmounted (#2187)
- Nick Perez
- put back mounting system (#2183)
- Nick Perez
- do not error on invalid
backgroundColorortextColor#2176 (#2179, #2176) - remove dependency array from comments re-rendering (#2177)
- Nick Perez
- 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
priorityfor custom inline content and styles (#2119) BlockTypeSelectitem 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)
- Matthew Lipski @matthewlipski
- Nick Perez
This was a version bump only, there were no code changes.
- AI menu auto scrolling (#2039)
- Shortcut to delete empty table while cells are selected (#2052)
- divider: add a divider block (#2014)
- 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
onChangeand 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)
- Héctor Zhuang @Hector-Zhuang
- Matthew Lipski @matthewlipski
- Nick Perez
- 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)
- Block colors menu not always showing (#2027)
- Update remianing examples to Mantine v8 (#2031)
- ShadCN example Tailwind setup (#2042)
- Matthew Lipski @matthewlipski
- Nick Perez
- Yousef
- cleanup accesses to prosemirrorView to account for tiptap 3 behavior (#2017)
- core: input rules can handle when a new block is empty now (#2013)
- Nick Perez
- Nick Perez
- Custom schemas for comment editors (#1976)
- 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)
- dsriva03 @dsriva03
- Héctor Zhuang @Hector-Zhuang
- Matthew Lipski @matthewlipski
- Nick the Sick
- export
ShadCNComponentsContext(#1965)
- Typing in empty table cells (#1973)
- Héctor Zhuang @Hector-Zhuang
- Matthew Lipski @matthewlipski
- 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)
- Matthew Lipski @matthewlipski
- Nick Perez
- docx: add locale configuration for docx export (#1937)
- 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)
- Brad Greenlee
- Cyril G @Ovgodd
- Héctor Zhuang @Hector-Zhuang
- Matthew Lipski @matthewlipski
- Nick Perez
- Nick the Sick
- 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)
- Brad Greenlee
- Nick Perez
- Nick the Sick
- yousefed
- 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 usinggetChanges#1757 (#1786, #1757) - allow inline content to be
draggable(#1818) - added type guards, types, and
editorprop to custom inline content rendering (#1736) - block-change: adds a new API for blocking changes to editor state, by filtering transactions (#1750)
- remove lookbehind regex for browser compat (#1827)
ToggleWrapperbutton defaulting tosubmittype (#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)
- Arek Nawo @areknawo
- Gonçalo Basto @gbasto
- Héctor Zhuang @Hector-Zhuang
- Matthew Lipski @matthewlipski
- Nick Perez
- Nick the Sick @nperez0111
- Yousef
- 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
formatConversionTestfiles (#1798) - AI empty document handling (#1810)
bn-inline-contentclass name getting duplicated (#1794)
- Matthew Lipski @matthewlipski
- Nick Perez
- Yousef
- toggle blocks (#1707)
- core: support h4, h5, and h6 (#1634)
- xl-email-exporter: add email exporter (#1768)
- react 19 strict mode compatibility (#1726)
- add keys to pdf exporter (#1739)
- only listten 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)
- Aslam @Aslam97
- Drew Johnson
- Jonathan Marbutt @jmarbutt
- Matthew Lipski @matthewlipski
- Nick Perez
- Samuel Bisberg
- Yousef
- AI generation with empty document (#1740)
- do not send a welcome email if magic link was used on an account older than a minute ago (db88fe4aa)
- 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)
- website: log in bug fixes (#1742)
- Matthew Lipski @matthewlipski
- Nick Perez
- Nick the Sick
- Vinicius Fernandes @ViniCleFer
- Yousef
- Nick Perez
- Nick the Sick
- backwards-compat for
_extensions(#1708)
- Nick Perez
- Playwright flaky keyboard handler test (#1704)
- Matthew Lipski @matthewlipski
- better type-safety (678086d4d)
- do not use
editor.dispatch(#1698) - re-added
display: flexto blocks without inline content (#1702) - react: add missing exports (#1689)
- Matthew Lipski @matthewlipski
- Nick Perez
- Nick the Sick
- expose
editor.prosemirrorStateagain (#1615) - add
undoandredomethods to editor API (#1592) - new auth & payment system (#1617)
- re-implement Y.js collaboration as BlockNote plugins (#1638)
- file:
previewWidthprop now defaults toundefined(#1664) - locales: add zh-TW i18n (#1668)
- Formatting toolbar regression (#1630)
- provide
blockIdtouploadFilein 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
prosemirror-model@1.25.1(#1661) - code-block: handle unknown languages better (#1626)
- locales: add slovak i18n (#1649)
- l0st0 @l0st0
- Lawrence Lin @linyiru
- Matthew Lipski @matthewlipski
- Nick Perez
- Quentin Nativel
- try not to always use workspace version (7af344ea9)
- Nick the Sick
changeevent allows getting a list of the block changed (#1585)
- 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)
- Nick Perez
- Nick the Sick
- position storage (#1529)
- Nick Perez
- minor update for publishing (c2820fdac)
- Nick the Sick
- nx-cloud: set up nx workspace (#1586)
- update packages to use correct react versions (ea11ebce0)
- Nick Perez
- Nick the Sick
- split out localization files for optimized bundle (#1533)
- remove shiki dep, add new @blocknote/code-block package for slim shiki build (#1519)
- Block quote (#1563)
- markdown pasting & custom paste handlers (#1490)
- 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)
- Martinrsts @Martinrsts
- Matthew Lipski @matthewlipski
- Nick Perez
See Github Releases for previous versions.