@tiptap/react Changelog
Changelog for @tiptap/react
3.22.3
Patch Changes
- Updated dependencies [cb28e7b]
- @tiptap/core@3.22.3
- @tiptap/pm@3.22.3
3.22.2
Patch Changes
- 8ab8bee: Fixed an error where
flushSync()would run in<EditorContent />lifecycle - Updated dependencies [f1d504c]
- Updated dependencies [404c683]
- @tiptap/core@3.22.2
- @tiptap/pm@3.22.2
3.22.1
Patch Changes
- ee03ac0: Fix NodeView not re-rendering when a node's position changes without content or decoration changes (e.g. when a sibling node is moved within the same parent)
- 6f3b9fc: Prevent React node views from crashing during deferred selection updates when ProseMirror has already detached the node view position lookup.
- Updated dependencies [ee03ac0]
- Updated dependencies [b88f9ed]
- @tiptap/core@3.22.1
- @tiptap/pm@3.22.1
3.22.0
Patch Changes
- Updated dependencies [912a49b]
- Updated dependencies [7d4fb9a]
- Updated dependencies [0c1c112]
- Updated dependencies [0c1c112]
- Updated dependencies [f99bdc2]
- @tiptap/core@3.22.0
- @tiptap/pm@3.22.0
3.21.0
Patch Changes
- @tiptap/core@3.21.0
- @tiptap/pm@3.21.0
3.20.6
Patch Changes
- @tiptap/core@3.20.6
- @tiptap/pm@3.20.6
3.20.5
Patch Changes
- @tiptap/core@3.20.5
- @tiptap/pm@3.20.5
3.20.4
Patch Changes
- Updated dependencies [0bcf3c2]
- @tiptap/core@3.20.4
- @tiptap/pm@3.20.4
3.20.3
Patch Changes
- f4f6be2: Forward BubbleMenu and FloatingMenu HTML props to the actual menu element so attributes like
className,style,data-*, and event handlers bind to the positioned menu container. - f4f6be2: Generate a stable per-instance menu plugin key automatically when
pluginKeyis omitted, so multiple BubbleMenu or FloatingMenu components can be mounted without colliding. - Updated dependencies [c94fac4]
- Updated dependencies [6b9ea92]
- @tiptap/core@3.20.3
- @tiptap/pm@3.20.3
3.20.2
Patch Changes
- Updated dependencies [269823d]
- @tiptap/core@3.20.2
- @tiptap/pm@3.20.2
3.20.1
Patch Changes
- Updated dependencies [25f57e4]
- @tiptap/core@3.20.1
- @tiptap/pm@3.20.1
3.20.0
Minor Changes
- 0f28d9c: Moved BubbleMenu and FloatingMenu to separate
@tiptap/react/menusentrypoint to keep floating-ui optional - 0f28d9c: Simplified Tiptap component API with guaranteed non-null editor instance from useTiptap hook
Patch Changes
- 253ca1c: Fix
BubbleMenu/FloatingMenuto usepluginKeyas the transaction meta key so that multiple instances can be updated independently without affecting each other - Updated dependencies [4b731e2]
- Updated dependencies [98546ac]
- Updated dependencies [57624a1]
- Updated dependencies [76ce47d]
- @tiptap/core@3.20.0
- @tiptap/pm@3.20.0
3.19.0
Minor Changes
- a1da626: Moved BubbleMenu and FloatingMenu to separate
@tiptap/react/menusentrypoint to keep floating-ui optional - a1da626: Simplified Tiptap component API with guaranteed non-null editor instance from useTiptap hook
Patch Changes
- @tiptap/core@3.19.0
- @tiptap/pm@3.19.0
3.18.0
Minor Changes
-
328aedb: Introduce a new, optional React integration that provides a declarative
<Tiptap />component for setting up editors in React apps.Summary
- Add a new, ergonomic way to initialize and use Tiptap editors in React via
<Tiptap />components. This is an additive change and does not remove or change existing APIs.
Why this change
- Improves ergonomics for React users by offering a component-first API that pairs well with React patterns (hooks, JSX composition and props-driven configuration).
Migration and usage
- The old programmatic setup remains supported for this major version — nothing breaks. We encourage consumers to try the new
<Tiptap />component and migrate when convenient.
Example
import { Tiptap, useEditor } from '@tiptap/react' function MyEditor() { const editor = useEditor({ extensions: [StarterKit], content: '<h1>Hello from Tiptap</h1>' }) return ( <Tiptap instance={editor}> <Tiptap.Content /> <Tiptap.BubbleMenu>My Bubble Menu</Tiptap.BubbleMenu> <Tiptap.FloatingMenu>My Floating Menu</Tiptap.FloatingMenu> <MenuBar /> {/* MenuBar can use the new `useTiptap` hook to read the editor instance from context */} </Tiptap> ) }Deprecation plan
- The old imperative setup will remain fully backward-compatible for this major release. We plan to deprecate (and remove) the legacy setup in the next major version — a deprecation notice and migration guide will be published ahead of that change.
- Add a new, ergonomic way to initialize and use Tiptap editors in React via
Patch Changes
- 3e446fb: Fix BubbleMenu and FloatingMenu props not updating after initialization
- feac5c8: Fixed extension storage not updating in React and Vue node views
- @tiptap/core@3.18.0
- @tiptap/pm@3.18.0
3.17.1
Patch Changes
- Updated dependencies [aa9709e]
- Updated dependencies [b46e66a]
- @tiptap/core@3.17.1
- @tiptap/pm@3.17.1
3.17.0
Patch Changes
- Updated dependencies [eecf1c9]
- @tiptap/core@3.17.0
- @tiptap/pm@3.17.0
3.16.0
Minor Changes
- 9516ee0: Add updateEvent support for FloatingMenu to allow programmatic position updates via
setMeta('floatingMenu', 'updatePosition')
Patch Changes
- @tiptap/core@3.16.0
- @tiptap/pm@3.16.0
3.15.3
Patch Changes
- Updated dependencies [8f86f06]
- @tiptap/core@3.15.3
- @tiptap/pm@3.15.3
3.15.2
Patch Changes
- d8ca9bf: Fix race conditions in ReactRenderer causing destroyed renderers to be re-added in Strict Mode
- @tiptap/core@3.15.2
- @tiptap/pm@3.15.2
3.15.1
Patch Changes
- @tiptap/core@3.15.1
- @tiptap/pm@3.15.1
3.15.0
Patch Changes
- Updated dependencies [ac8361c]
- @tiptap/core@3.15.0
- @tiptap/pm@3.15.0
3.14.0
Patch Changes
-
383145e: Append all children of editors parent node to element
Fixes a regression introduced by #6972, that resulted in elements that got appended to the editors parent node staying detached. E.g. the drag handle plugin is affected by this regression.
- @tiptap/core@3.14.0
- @tiptap/pm@3.14.0
3.13.0
Patch Changes
- Updated dependencies [526365a]
- Updated dependencies [e3b4f68]
- @tiptap/core@3.13.0
- @tiptap/pm@3.13.0
3.12.1
Patch Changes
- @tiptap/core@3.12.1
- @tiptap/pm@3.12.1
3.12.0
Minor Changes
- 5db9bc1: Replaced unmaintained
fast-deep-equaldependency with maintainedfast-equals
Patch Changes
- 41601d1: Fix a bug where React node views could receive invalid positions from
this.getPos()when ProseMirror and React render cycles got out of sync, which could cause errors during updates. - Updated dependencies [f232c5a]
- @tiptap/core@3.12.0
- @tiptap/pm@3.12.0
3.11.1
Patch Changes
- Updated dependencies [d0c4264]
- @tiptap/core@3.11.1
- @tiptap/pm@3.11.1
3.11.0
Patch Changes
- Updated dependencies [541c93c]
- @tiptap/core@3.11.0
- @tiptap/pm@3.11.0
3.10.8
Patch Changes
- Updated dependencies [8375241]
- Updated dependencies [b7ead7c]
- Updated dependencies [95d3e80]
- Updated dependencies [fd479bd]
- @tiptap/core@3.10.8
- @tiptap/pm@3.10.8
3.10.7
Patch Changes
- @tiptap/core@3.10.7
- @tiptap/pm@3.10.7
3.10.6
Patch Changes
- @tiptap/core@3.10.6
- @tiptap/pm@3.10.6
3.10.5
Patch Changes
- Updated dependencies [92fae18]
- @tiptap/core@3.10.5
- @tiptap/pm@3.10.5
3.10.4
Patch Changes
- Updated dependencies [64561c4]
- @tiptap/core@3.10.4
- @tiptap/pm@3.10.4
3.10.3
Patch Changes
- @tiptap/core@3.10.3
- @tiptap/pm@3.10.3
3.10.2
Patch Changes
- @tiptap/core@3.10.2
- @tiptap/pm@3.10.2
3.10.1
Patch Changes
- Updated dependencies [3564e7c]
- @tiptap/core@3.10.1
- @tiptap/pm@3.10.1
3.10.0
Patch Changes
- Updated dependencies [4aa9f57]
- Updated dependencies [4aa9f57]
- @tiptap/core@3.10.0
- @tiptap/pm@3.10.0
3.9.1
Patch Changes
- @tiptap/core@3.9.1
- @tiptap/pm@3.9.1
3.9.0
Patch Changes
- f0b3552: Prevent Bubble Menu plugin from re-loading every time the BubbleMenu component re-renders. Reverts a regression introduced in v3.6.3, in PR #7028.
- Updated dependencies [bbb8e16]
- @tiptap/core@3.9.0
- @tiptap/pm@3.9.0
3.8.0
Patch Changes
- f3770af: Prevent Bubble Menu plugin from re-loading every time the BubbleMenu component re-renders. Reverts a regression introduced in v3.6.3, in PR #7028.
- @tiptap/core@3.8.0
- @tiptap/pm@3.8.0
3.7.2
Patch Changes
- @tiptap/core@3.7.2
- @tiptap/pm@3.7.2
3.7.1
Patch Changes
- @tiptap/core@3.7.1
- @tiptap/pm@3.7.1
3.7.0
Patch Changes
- Updated dependencies [35645d9]
- Updated dependencies [35645d9]
- Updated dependencies [35645d9]
- @tiptap/core@3.7.0
- @tiptap/pm@3.7.0
3.6.7
Patch Changes
- @tiptap/core@3.6.7
- @tiptap/pm@3.6.7
3.6.6
Patch Changes
- @tiptap/core@3.6.6
- @tiptap/pm@3.6.6
3.6.5
Patch Changes
- Updated dependencies [1e4caea]
- @tiptap/core@3.6.5
- @tiptap/pm@3.6.5
3.6.4
Patch Changes
- @tiptap/core@3.6.4
- @tiptap/pm@3.6.4
3.6.3
Patch Changes
- 48846f2: Updated the React
FloatingMenuplugin hook dependencies to match theBubbleMenubehavior. The FloatingMenu will now respond to changes inappendTo,pluginKey,shouldShow, andoptions. - e0be819: Resolved an issue where the React BubbleMenu did not update when FloatingUI option props changed after initial mount. The BubbleMenu now correctly responds to updated option props.
- caec80e: Improved the BubbleMenu's usability by ensuring the
appendToprop passed to the React BubbleMenu component is now correctly forwarded to the underlying bubble menu plugin. This fix allows developers to customize where the BubbleMenu is attached in the DOM, helping resolve issues with positioning and portal setups in React apps. - Updated dependencies [67f7b4a]
- @tiptap/core@3.6.3
- @tiptap/pm@3.6.3
3.6.2
Patch Changes
- @tiptap/core@3.6.2
- @tiptap/pm@3.6.2
3.6.1
Patch Changes
- 6af23ff: Hotfix: Fix a crash in the React package that could occur during mounting/unmounting when the editor wasn't fully initialized. This prevents a runtime error and improves stability.
- @tiptap/core@3.6.1
- @tiptap/pm@3.6.1
3.6.0
Patch Changes
- Updated dependencies [c0190bd]
- @tiptap/core@3.6.0
- @tiptap/pm@3.6.0
3.5.3
Patch Changes
- @tiptap/core@3.5.3
- @tiptap/pm@3.5.3
3.5.2
Patch Changes
- ea9ac95: Tiptap will now correctly insert a React MarkViews' content into the correct element within
MarkViewContentcomponent- @tiptap/core@3.5.2
- @tiptap/pm@3.5.2
3.5.1
Patch Changes
- f80c848: Add
appendTosupport toFloatingMenuand pass it through in React/Vue 2/Vue 3 for bothBubbleMenuandFloatingMenuto allow fixing clipping/z-index issues.- @tiptap/core@3.5.1
- @tiptap/pm@3.5.1
3.5.0
Patch Changes
- @tiptap/core@3.5.0
- @tiptap/pm@3.5.0
3.4.6
Patch Changes
- Updated dependencies [968016f]
- @tiptap/core@3.4.6
- @tiptap/pm@3.4.6
3.4.5
Patch Changes
- Updated dependencies [0226d42]
- Updated dependencies [37af83b]
- Updated dependencies [f598ac7]
- @tiptap/core@3.4.5
- @tiptap/pm@3.4.5
3.4.4
Patch Changes
- Updated dependencies [00cf1d7]
- @tiptap/core@3.4.4
- @tiptap/pm@3.4.4
3.4.3
Patch Changes
-
915ed65: Add custom positioning support to the BubbleMenu.
This change adds an opt-in API that allows consumers to fully control how the BubbleMenu is positioned. Instead of relying solely on the internal placement logic, you can now provide a function (for example
getPosition) that receives the relevant context (editor instance and menu DOM element) and returns the desired coordinates or positioning style. -
Updated dependencies [1ea8906]
- @tiptap/core@3.4.3
- @tiptap/pm@3.4.3
3.4.2
Patch Changes
- @tiptap/core@3.4.2
- @tiptap/pm@3.4.2
3.4.1
Patch Changes
- 4dd8d58: fix: @types/react version mismatch
- @tiptap/core@3.4.1
- @tiptap/pm@3.4.1
3.4.0
Patch Changes
- Updated dependencies [895c73f]
- Updated dependencies [ad51daa]
- @tiptap/core@3.4.0
- @tiptap/pm@3.4.0
3.3.1
Patch Changes
- @tiptap/core@3.3.1
- @tiptap/pm@3.3.1
3.3.0
Patch Changes
-
5423726: Ensure
ReactRenderer.destroy()removes the renderer DOM element when present.- When consumers append a
ReactRenderer's.elementto the DOM (for example many demos append it todocument.body), previously callingdestroy()removed the portal renderer but left the DOM node in place which could lead to accumulating.react-rendererelements. destroy()now also removes the element from its parent node if present, preventing leaked DOM nodes / React roots.
- When consumers append a
-
Updated dependencies [5423726]
-
Updated dependencies [5423726]
- @tiptap/core@3.3.0
- @tiptap/pm@3.3.0
3.2.2
Patch Changes
- @tiptap/core@3.2.2
- @tiptap/pm@3.2.2
3.2.1
Patch Changes
- Updated dependencies [6a2873f]
- @tiptap/core@3.2.1
- @tiptap/pm@3.2.1
3.2.0
Patch Changes
- Updated dependencies [5056e3e]
- @tiptap/core@3.2.0
- @tiptap/pm@3.2.0
3.1.0
Patch Changes
- @tiptap/core@3.1.0
- @tiptap/pm@3.1.0
3.0.9
Patch Changes
- @tiptap/core@3.0.9
- @tiptap/pm@3.0.9
3.0.8
Patch Changes
- @tiptap/core@3.0.8
- @tiptap/pm@3.0.8
3.0.7
Patch Changes
- @tiptap/core@3.0.7
- @tiptap/pm@3.0.7
3.0.6
Patch Changes
- Updated dependencies [2e71d05]
- @tiptap/core@3.0.6
- @tiptap/pm@3.0.6
3.0.5
Patch Changes
- @tiptap/core@3.0.5
- @tiptap/pm@3.0.5
3.0.4
Patch Changes
- Updated dependencies [7ed03fa]
- @tiptap/core@3.0.4
- @tiptap/pm@3.0.4
3.0.3
Patch Changes
- Updated dependencies [75cabde]
- @tiptap/core@3.0.3
- @tiptap/pm@3.0.3
3.0.2
Patch Changes
- @tiptap/core@3.0.2
- @tiptap/pm@3.0.2
3.0.1
Major Changes
-
a92f4a6: We are now building packages with tsup which does not support UMD builds, please repackage if you require UMD builds
-
7eaa34d: Removed tippy.js and replaced it with Floating UI - a newer, more lightweight and customizable floating element library.
This change is breaking existing menu implementations and will require a manual migration.
Affected packages:
@tiptap/extension-floating-menu@tiptap/extension-bubble-menu@tiptap/extension-mention@tiptap/suggestion@tiptap/react@tiptap/vue-2@tiptap/vue-3
Make sure to remove
tippyOptionsfrom theFloatingMenuandBubbleMenucomponents, and replace them with the newoptionsobject. Check our documentation to see how to migrate your existing menu implementations.You'll also need to install
@floating-ui/domas a peer dependency to your project like this:npm install @floating-ui/dom@^1.6.0The new
optionsobject is compatible with all components that use these extensions.
Minor Changes
-
0e3207f: Add support for markviews, which allow you to render custom views for marks within the editor. This is useful for rendering custom UI for marks, like a color picker for a text color mark or a link editor for a link mark.
Here is a plain JS markview example:
Mark.create({ // Other options... addMarkView() { return ({ mark, HTMLAttributes }) => { const dom = document.createElement('b') const contentDOM = document.createElement('span') dom.appendChild(contentDOM) return { dom, contentDOM, } } }, })React binding
To use a React component for a markview, you can use the
@tiptap/reactpackage:import { Mark } from '@tiptap/core' import { ReactMarkViewRenderer } from '@tiptap/react' import Component from './Component.jsx' export default Mark.create({ name: 'reactComponent', parseHTML() { return [ { tag: 'react-component', }, ] }, renderHTML({ HTMLAttributes }) { return ['react-component', HTMLAttributes] }, addMarkView() { return ReactMarkViewRenderer(Component) }, })And here is an example of a React component:
import { MarkViewContent, MarkViewRendererProps } from '@tiptap/react' import React from 'react' // eslint-disable-next-line @typescript-eslint/no-unused-vars export default (props: MarkViewRendererProps) => { const [count, setCount] = React.useState(0) return ( <span className="content" data-test-id="mark-view"> <MarkViewContent /> <label contentEditable={false}> React component: <button onClick={() => { setCount(count + 1) }} > This button has been clicked {count} times. </button> </label> </span> ) }Vue 3 binding
To use a Vue 3 component for a markview, you can use the
@tiptap/vue-3package:import { Mark } from '@tiptap/core' import { VueMarkViewRenderer } from '@tiptap/vue-3' import Component from './Component.vue' export default Mark.create({ name: 'vueComponent', parseHTML() { return [ { tag: 'vue-component', }, ] }, renderHTML({ HTMLAttributes }) { return ['vue-component', HTMLAttributes] }, addMarkView() { return VueMarkViewRenderer(Component) }, })And here is an example of a Vue 3 component:
<template> <span className="content" data-test-id="mark-view"> <mark-view-content /> <label contenteditable="false" >Vue Component:: <button @click="increase" class="primary">This button has been clicked {{ count }} times.</button> </label> </span> </template> <script> import { MarkViewContent, markViewProps } from '@tiptap/vue-3' export default { components: { MarkViewContent, }, data() { return { count: 0, } }, props: markViewProps, methods: { increase() { this.count += 1 }, }, } </script> -
08593a2: Throw an error in development mode if
immediatelyRenderis not set in SSR mode -
ef12b32: Added support for React 19 ref in props
-
cce6497: Reintroduce flushSync to sync rendering of React and ProseMirror
Patch Changes
- baee94b: Added full import path for external storage sync shim
- 1b4c82b: We are now using pnpm package aliases for versions to enable better version pinning for the monorepository
- 89bd9c7: Enforce type imports so that the bundler ignores TypeScript type imports when generating the index.js file of the dist directory
- 00693b8: Fixed a bug where table cell selections would not position the bubble menu accordingly
- f9a33ae: Fixed a bug that incorrectly added ref props when a component can't accept them (for example when React 19 is not used)
- 73d1888: Fixed a bug where the global resize handler of the BubbleMenu plugin would not be unregistered on destroy
- ecb0dee: Fixes an issue where ref props will be kept on non-supported react components
- 2ea0475: Allow setting HTML tags other than for "as" in MarkViewContent
- 8c69002: Synced beta with stable features
- 0f14cc5: Added missing
onShow,onUpdate,onHideandonDestroyoptions - de0504e: attach the contentDOM to the correct position inside a react node view
- 5ba480b: Added
updateAttributesto MarkView and its renderers to allow updating MarkView attributes - Updated dependencies [1b4c82b]
- Updated dependencies [1e91f9b]
- Updated dependencies [a92f4a6]
- Updated dependencies [8de8e13]
- Updated dependencies [20f68f6]
- Updated dependencies [5e957e5]
- Updated dependencies [89bd9c7]
- Updated dependencies [d0fda30]
- Updated dependencies [0e3207f]
- Updated dependencies [37913d5]
- Updated dependencies [28c5418]
- Updated dependencies [32958d6]
- Updated dependencies [12bb31a]
- Updated dependencies [9f207a6]
- Updated dependencies [412e1bd]
- Updated dependencies [062afaf]
- Updated dependencies [ff8eed6]
- Updated dependencies [704f462]
- Updated dependencies [95b8c71]
- Updated dependencies [8c69002]
- Updated dependencies [664834f]
- Updated dependencies [ac897e7]
- Updated dependencies [087d114]
- Updated dependencies [32958d6]
- Updated dependencies [fc17b21]
- Updated dependencies [62b0877]
- Updated dependencies [e20006b]
- Updated dependencies [5ba480b]
- Updated dependencies [d6c7558]
- Updated dependencies [062afaf]
- Updated dependencies [9ceeab4]
- Updated dependencies [32958d6]
- Updated dependencies [bf835b0]
- Updated dependencies [4e2f6d8]
- Updated dependencies [32958d6]
- @tiptap/core@3.0.1
- @tiptap/pm@3.0.1
3.0.0-beta.30
Patch Changes
- @tiptap/core@3.0.0-beta.30
- @tiptap/pm@3.0.0-beta.30
3.0.0-beta.29
Patch Changes
- @tiptap/core@3.0.0-beta.29
- @tiptap/pm@3.0.0-beta.29
3.0.0-beta.28
Patch Changes
- de0504e: attach the contentDOM to the correct position inside a react node view
- @tiptap/core@3.0.0-beta.28
- @tiptap/pm@3.0.0-beta.28
3.0.0-beta.27
Patch Changes
- Updated dependencies [412e1bd]
- @tiptap/core@3.0.0-beta.27
- @tiptap/pm@3.0.0-beta.27
3.0.0-beta.26
Patch Changes
- baee94b: Added full import path for external storage sync shim
- 5ba480b: Added
updateAttributesto MarkView and its renderers to allow updating MarkView attributes - Updated dependencies [5ba480b]
- @tiptap/core@3.0.0-beta.26
- @tiptap/pm@3.0.0-beta.26
3.0.0-beta.25
Patch Changes
- Updated dependencies [4e2f6d8]
- @tiptap/core@3.0.0-beta.25
- @tiptap/pm@3.0.0-beta.25
3.0.0-beta.24
Minor Changes
- cce6497: Reintroduce flushSync to sync rendering of React and ProseMirror
Patch Changes
- @tiptap/core@3.0.0-beta.24
- @tiptap/pm@3.0.0-beta.24
3.0.0-beta.23
Patch Changes
- @tiptap/core@3.0.0-beta.23
- @tiptap/pm@3.0.0-beta.23
3.0.0-beta.22
Patch Changes
- @tiptap/core@3.0.0-beta.22
- @tiptap/pm@3.0.0-beta.22
3.0.0-beta.21
Patch Changes
- Updated dependencies [813674c]
- Updated dependencies [fc17b21]
- @tiptap/core@3.0.0-beta.21
- @tiptap/pm@3.0.0-beta.21
3.0.0-beta.20
Minor Changes
- 8719e13: Removed flushSync on NodeView render which caused performance regressions, bugs with unused NodeViews still being reconciled for PMViewDesc checks and more
Patch Changes
- @tiptap/core@3.0.0-beta.20
- @tiptap/pm@3.0.0-beta.20
3.0.0-beta.19
Patch Changes
- Updated dependencies [9ceeab4]
- @tiptap/core@3.0.0-beta.19
- @tiptap/pm@3.0.0-beta.19
3.0.0-beta.18
Patch Changes
- @tiptap/core@3.0.0-beta.18
- @tiptap/pm@3.0.0-beta.18
3.0.0-beta.17
Patch Changes
- Updated dependencies [e20006b]
- @tiptap/core@3.0.0-beta.17
- @tiptap/pm@3.0.0-beta.17
3.0.0-beta.16
Patch Changes
- 73d1888: Fixed a bug where the global resize handler of the BubbleMenu plugin would not be unregistered on destroy
- Updated dependencies [ac897e7]
- Updated dependencies [bf835b0]
- @tiptap/core@3.0.0-beta.16
- @tiptap/pm@3.0.0-beta.16
3.0.0-beta.15
Patch Changes
- Updated dependencies [087d114]
- @tiptap/core@3.0.0-beta.15
- @tiptap/pm@3.0.0-beta.15
3.0.0-beta.14
Patch Changes
- Updated dependencies [95b8c71]
- @tiptap/core@3.0.0-beta.14
- @tiptap/pm@3.0.0-beta.14
3.0.0-beta.13
Patch Changes
- @tiptap/core@3.0.0-beta.13
- @tiptap/pm@3.0.0-beta.13
3.0.0-beta.12
Patch Changes
- 00693b8: Fixed a bug where table cell selections would not position the bubble menu accordingly
- @tiptap/core@3.0.0-beta.12
- @tiptap/pm@3.0.0-beta.12
3.0.0-beta.11
Patch Changes
- 0f14cc5: Added missing
onShow,onUpdate,onHideandonDestroyoptions- @tiptap/core@3.0.0-beta.11
- @tiptap/pm@3.0.0-beta.11
3.0.0-beta.10
Patch Changes
- @tiptap/core@3.0.0-beta.10
- @tiptap/pm@3.0.0-beta.10
3.0.0-beta.9
Patch Changes
- ecb0dee: Fixes an issue where ref props will be kept on non-supported react components
- @tiptap/core@3.0.0-beta.9
- @tiptap/pm@3.0.0-beta.9
3.0.0-beta.8
Patch Changes
- f9a33ae: Fixed a bug that incorrectly added ref props when a component can't accept them (for example when React 19 is not used)
- @tiptap/core@3.0.0-beta.8
- @tiptap/pm@3.0.0-beta.8
3.0.0-beta.7
Patch Changes
- Updated dependencies [d0fda30]
- @tiptap/core@3.0.0-beta.7
- @tiptap/pm@3.0.0-beta.7
3.0.0-beta.6
Minor Changes
- ef12b32: Added support for React 19 ref in props
Patch Changes
- 2ea0475: Allow setting HTML tags other than for "as" in MarkViewContent
- @tiptap/core@3.0.0-beta.6
- @tiptap/pm@3.0.0-beta.6
3.0.0-beta.5
Patch Changes
- 8c69002: Synced beta with stable features
- Updated dependencies [8c69002]
- Updated dependencies [62b0877]
- @tiptap/core@3.0.0-beta.5
- @tiptap/pm@3.0.0-beta.5
3.0.0-beta.4
Patch Changes
- Updated dependencies [5e957e5]
- Updated dependencies [9f207a6]
- @tiptap/core@3.0.0-beta.4
- @tiptap/pm@3.0.0-beta.4
3.0.0-beta.3
Patch Changes
- 1b4c82b: We are now using pnpm package aliases for versions to enable better version pinning for the monorepository
- Updated dependencies [1b4c82b]
- @tiptap/core@3.0.0-beta.3
- @tiptap/pm@3.0.0-beta.3
3.0.0-beta.2
Patch Changes
- 3aa670a: Fixed a bug in the EditorContent component that caused a crash in Firefox based browsers because of the editor view not being available when an uninitialized editor is unmounted (for example via Strict mode)
3.0.0-beta.1
3.0.0-beta.0
3.0.0-next.8
3.0.0-next.7
Patch Changes
- 89bd9c7: Enforce type imports so that the bundler ignores TypeScript type imports when generating the index.js file of the dist directory
3.0.0-next.6
Major Changes
-
a92f4a6: We are now building packages with tsup which does not support UMD builds, please repackage if you require UMD builds
-
7eaa34d: Removed tippy.js and replaced it with Floating UI - a newer, more lightweight and customizable floating element library.
This change is breaking existing menu implementations and will require a manual migration.
Affected packages:
@tiptap/extension-floating-menu@tiptap/extension-bubble-menu@tiptap/extension-mention@tiptap/suggestion@tiptap/react@tiptap/vue-2@tiptap/vue-3
Make sure to remove
tippyOptionsfrom theFloatingMenuandBubbleMenucomponents, and replace them with the newoptionsobject. Check our documentation to see how to migrate your existing menu implementations.You'll also need to install
@floating-ui/domas a peer dependency to your project like this:npm install @floating-ui/dom@^1.6.0The new
optionsobject is compatible with all components that use these extensions.
Minor Changes
-
0e3207f: Add support for markviews, which allow you to render custom views for marks within the editor. This is useful for rendering custom UI for marks, like a color picker for a text color mark or a link editor for a link mark.
Here is a plain JS markview example:
Mark.create({ // Other options... addMarkView() { return ({ mark, HTMLAttributes }) => { const dom = document.createElement('b') const contentDOM = document.createElement('span') dom.appendChild(contentDOM) return { dom, contentDOM, } } }, })React binding
To use a React component for a markview, you can use the
@tiptap/reactpackage:import { Mark } from '@tiptap/core' import { ReactMarkViewRenderer } from '@tiptap/react' import Component from './Component.jsx' export default Mark.create({ name: 'reactComponent', parseHTML() { return [ { tag: 'react-component', }, ] }, renderHTML({ HTMLAttributes }) { return ['react-component', HTMLAttributes] }, addMarkView() { return ReactMarkViewRenderer(Component) }, })And here is an example of a React component:
import { MarkViewContent, MarkViewRendererProps } from '@tiptap/react' import React from 'react' // eslint-disable-next-line @typescript-eslint/no-unused-vars export default (props: MarkViewRendererProps) => { const [count, setCount] = React.useState(0) return ( <span className="content" data-test-id="mark-view"> <MarkViewContent /> <label contentEditable={false}> React component: <button onClick={() => { setCount(count + 1) }} > This button has been clicked {count} times. </button> </label> </span> ) }Vue 3 binding
To use a Vue 3 component for a markview, you can use the
@tiptap/vue-3package:import { Mark } from '@tiptap/core' import { VueMarkViewRenderer } from '@tiptap/vue-3' import Component from './Component.vue' export default Mark.create({ name: 'vueComponent', parseHTML() { return [ { tag: 'vue-component', }, ] }, renderHTML({ HTMLAttributes }) { return ['vue-component', HTMLAttributes] }, addMarkView() { return VueMarkViewRenderer(Component) }, })And here is an example of a Vue 3 component:
<template> <span className="content" data-test-id="mark-view"> <mark-view-content /> <label contenteditable="false" >Vue Component:: <button @click="increase" class="primary">This button has been clicked {{ count }} times.</button> </label> </span> </template> <script> import { MarkViewContent, markViewProps } from '@tiptap/vue-3' export default { components: { MarkViewContent, }, data() { return { count: 0, } }, props: markViewProps, methods: { increase() { this.count += 1 }, }, } </script> -
08593a2: Throw an error in development mode if
immediatelyRenderis not set in SSR mode
3.0.0-next.5
Minor Changes
-
0e3207f: Add support for markviews, which allow you to render custom views for marks within the editor. This is useful for rendering custom UI for marks, like a color picker for a text color mark or a link editor for a link mark.
Here is a plain JS markview example:
Mark.create({ // Other options... addMarkView() { return ({ mark, HTMLAttributes }) => { const dom = document.createElement('b') const contentDOM = document.createElement('span') dom.appendChild(contentDOM) return { dom, contentDOM, } } }, })React binding
To use a React component for a markview, you can use the
@tiptap/reactpackage:import { Mark } from '@tiptap/core' import { ReactMarkViewRenderer } from '@tiptap/react' import Component from './Component.jsx' export default Mark.create({ name: 'reactComponent', parseHTML() { return [ { tag: 'react-component', }, ] }, renderHTML({ HTMLAttributes }) { return ['react-component', HTMLAttributes] }, addMarkView() { return ReactMarkViewRenderer(Component) }, })And here is an example of a React component:
import { MarkViewContent, MarkViewRendererProps } from '@tiptap/react' import React from 'react' // eslint-disable-next-line @typescript-eslint/no-unused-vars export default (props: MarkViewRendererProps) => { const [count, setCount] = React.useState(0) return ( <span className="content" data-test-id="mark-view"> <MarkViewContent /> <label contentEditable={false}> React component: <button onClick={() => { setCount(count + 1) }} > This button has been clicked {count} times. </button> </label> </span> ) }Vue 3 binding
To use a Vue 3 component for a markview, you can use the
@tiptap/vue-3package:import { Mark } from '@tiptap/core' import { VueMarkViewRenderer } from '@tiptap/vue-3' import Component from './Component.vue' export default Mark.create({ name: 'vueComponent', parseHTML() { return [ { tag: 'vue-component', }, ] }, renderHTML({ HTMLAttributes }) { return ['vue-component', HTMLAttributes] }, addMarkView() { return VueMarkViewRenderer(Component) }, })And here is an example of a Vue 3 component:
<template> <span className="content" data-test-id="mark-view"> <mark-view-content /> <label contenteditable="false" >Vue Component:: <button @click="increase" class="primary">This button has been clicked {{ count }} times.</button> </label> </span> </template> <script> import { MarkViewContent, markViewProps } from '@tiptap/vue-3' export default { components: { MarkViewContent, }, data() { return { count: 0, } }, props: markViewProps, methods: { increase() { this.count += 1 }, }, } </script>
3.0.0-next.4
3.0.0-next.3
Patch Changes
- @tiptap/extension-bubble-menu@3.0.0-next.3
- @tiptap/extension-floating-menu@3.0.0-next.3
3.0.0-next.2
Patch Changes
- Updated dependencies [d9b6ef5]
- @tiptap/extension-floating-menu@3.0.0-next.2
- @tiptap/extension-bubble-menu@3.0.0-next.2
3.0.0-next.1
Major Changes
- a92f4a6: We are now building packages with tsup which does not support UMD builds, please repackage if you require UMD builds
Minor Changes
- 08593a2: Throw an error in development mode if immediatelyRender is not set in SSR mode
Patch Changes
- Updated dependencies [a92f4a6]
- Updated dependencies [da76972]
- @tiptap/extension-floating-menu@3.0.0-next.1
- @tiptap/extension-bubble-menu@3.0.0-next.1
- @tiptap/core@3.0.0-next.1
- @tiptap/pm@3.0.0-next.1
3.0.0-next.0
Major Changes
-
7eaa34d: Removed tippy.js and replaced it with Floating UI - a newer, more lightweight and customizable floating element library.
This change is breaking existing menu implementations and will require a manual migration.
Affected packages:
@tiptap/extension-floating-menu@tiptap/extension-bubble-menu@tiptap/extension-mention@tiptap/suggestion@tiptap/react@tiptap/vue-2@tiptap/vue-3
Make sure to remove
tippyOptionsfrom theFloatingMenuandBubbleMenucomponents, and replace them with the newoptionsobject. Check our documentation to see how to migrate your existing menu implementations.You'll also need to install
@floating-ui/domas a peer dependency to your project like this:npm install @floating-ui/dom@^1.6.0The new
optionsobject is compatible with all components that use these extensions.
Patch Changes
- Updated dependencies [7eaa34d]
- Updated dependencies [0ec0af6]
- @tiptap/extension-floating-menu@3.0.0-next.0
- @tiptap/extension-bubble-menu@3.0.0-next.0
- @tiptap/core@3.0.0-next.0
- @tiptap/pm@3.0.0-next.0
2.12.0
Patch Changes
- @tiptap/extension-bubble-menu@2.12.0
- @tiptap/extension-floating-menu@2.12.0
2.11.9
Patch Changes
- @tiptap/extension-bubble-menu@2.11.9
- @tiptap/extension-floating-menu@2.11.9
2.11.8
Patch Changes
- @tiptap/extension-bubble-menu@2.11.8
- @tiptap/extension-floating-menu@2.11.8
2.11.7
Patch Changes
- @tiptap/extension-bubble-menu@2.11.7
- @tiptap/extension-floating-menu@2.11.7
2.11.6
Patch Changes
- @tiptap/extension-bubble-menu@2.11.6
- @tiptap/extension-floating-menu@2.11.6
2.11.5
Patch Changes
- @tiptap/extension-bubble-menu@2.11.5
- @tiptap/extension-floating-menu@2.11.5
2.11.4
Patch Changes
- @tiptap/extension-bubble-menu@2.11.4
- @tiptap/extension-floating-menu@2.11.4
2.11.3
Patch Changes
- @tiptap/extension-bubble-menu@3.0.0-next.4
- @tiptap/extension-floating-menu@3.0.0-next.4
2.5.8
Patch Changes
- 99d7820: Resolve a bug an editor could be instantiated but not destroyed. This was causing issues with multiple instances of plugins still being active and interfering with each other
- Updated dependencies [a08bf85]
- @tiptap/core@2.5.8
- @tiptap/extension-bubble-menu@2.5.8
- @tiptap/extension-floating-menu@2.5.8
- @tiptap/pm@2.5.8
2.5.7
Patch Changes
- 42dc27a: Fix, if using a deps array destroy the previous instance to avoid ghost instances
- Updated dependencies [b012471]
- Updated dependencies [cc3497e]
- @tiptap/core@2.5.7
- @tiptap/extension-bubble-menu@2.5.7
- @tiptap/extension-floating-menu@2.5.7
- @tiptap/pm@2.5.7
2.5.6
Patch Changes
- Updated dependencies [b5c1b32]
- Updated dependencies [618bca9]
- Updated dependencies [35682d1]
- Updated dependencies [2104f0f]
- @tiptap/pm@2.5.6
- @tiptap/core@2.5.6
- @tiptap/extension-bubble-menu@2.5.6
- @tiptap/extension-floating-menu@2.5.6
2.5.5
Patch Changes
- Updated dependencies [4cca382]
- Updated dependencies [3b67e8a]
- @tiptap/core@2.5.5
- @tiptap/extension-bubble-menu@2.5.5
- @tiptap/extension-floating-menu@2.5.5
- @tiptap/pm@2.5.5
2.5.4
Patch Changes
- dd7f9ac: There was an issue with the cjs bundling of packages and default exports, now we resolve default exports in legacy compatible way
- Updated dependencies [dd7f9ac]
- @tiptap/extension-floating-menu@2.5.4
- @tiptap/extension-bubble-menu@2.5.4
- @tiptap/core@2.5.4
- @tiptap/pm@2.5.4
2.5.3
Patch Changes
- 70eebfd: The optional deps argument to useEditor was not being respected for performance optimizations, now if deps are declared a new editor instance is created
- @tiptap/core@2.5.3
- @tiptap/extension-bubble-menu@2.5.3
- @tiptap/extension-floating-menu@2.5.3
- @tiptap/pm@2.5.3
2.5.2
Patch Changes
- Updated dependencies [07f4c03]
- @tiptap/core@2.5.2
- @tiptap/extension-bubble-menu@2.5.2
- @tiptap/extension-floating-menu@2.5.2
- @tiptap/pm@2.5.2
2.5.1
Patch Changes
- @tiptap/core@2.5.1
- @tiptap/extension-bubble-menu@2.5.1
- @tiptap/extension-floating-menu@2.5.1
- @tiptap/pm@2.5.1
2.5.0
Patch Changes
-
fb45149: Fixes strict mode accidentally destroying the editor instance
-
fb45149: Fix the typings
-
fb45149: We've heard a number of complaints around the performance of our React integration, and we finally have a solution that we believe will satisfy everyone. We've made a number of optimizations to how the editor is rendered, as well give you more control over the rendering process.
Here is a summary of the changes and how you can take advantage of them:
- SSR rendering was holding back our ability to have an editor instance on first render of
useEditor. We've now made the default behavior to render the editor immediately on the client. This behavior can be controlled with the newimmediatelyRenderoption which when set tofalsewill defer rendering until the second render (via a useEffect), this should only be used when server-side rendering. - The default behavior of the useEditor hook is to re-render the editor on every editor transaction. Now with the
shouldRerenderOnTransactionoption, you can disable this behavior to optimize performance. Instead, to access the new editor state, you can use theuseEditorStatehook. useEditorStatethis new hook allows you to select from the editor instance any state you need to render your UI. This is useful when you want to optimize performance by only re-rendering the parts of your UI that need to be updated.
Here is a usage example:
const editor = useEditor({ /** * This option gives us the control to enable the default behavior of rendering the editor immediately. */ immediatelyRender: true, /** * This option gives us the control to disable the default behavior of re-rendering the editor on every transaction. */ shouldRerenderOnTransaction: false, extensions: [StarterKit], content: ` <p> A highly optimized editor that only re-renders when it’s necessary. </p> `, }) /** * This hook allows us to select the editor state we want to use in our component. */ const currentEditorState = useEditorState({ /** * The editor instance we want to use. */ editor, /** * This selector allows us to select the data we want to use in our component. * It is evaluated on every editor transaction and compared to it's previously returned value. * You can return any data shape you want. */ selector: ctx => ({ isBold: ctx.editor.isActive('bold'), isItalic: ctx.editor.isActive('italic'), isStrike: ctx.editor.isActive('strike'), }), /** * This function allows us to customize the equality check for the selector. * By default it is a `===` check. */ equalityFn: (prev, next) => { // A deep-equal function would probably be more maintainable here, but, we use a shallow one to show that it can be customized. if (!next) { return false } return prev.isBold === next.isBold && prev.isItalic === next.isItalic && prev.isStrike === next.isStrike }, }) - SSR rendering was holding back our ability to have an editor instance on first render of
-
Updated dependencies [fb45149]
-
Updated dependencies [fb45149]
-
Updated dependencies [fb45149]
-
Updated dependencies [fb45149]
- @tiptap/core@2.5.0
- @tiptap/extension-bubble-menu@2.5.0
- @tiptap/extension-floating-menu@2.5.0
- @tiptap/pm@2.5.0
2.5.0-pre.16
Patch Changes
- 1110280: Fixes strict mode accidentally destroying the editor instance
- @tiptap/core@2.5.0-pre.16
- @tiptap/extension-bubble-menu@2.5.0-pre.16
- @tiptap/extension-floating-menu@2.5.0-pre.16
- @tiptap/pm@2.5.0-pre.16
2.5.0-pre.15
Patch Changes
- 3a67a5b: Fix the typings
- @tiptap/core@2.5.0-pre.15
- @tiptap/extension-bubble-menu@2.5.0-pre.15
- @tiptap/extension-floating-menu@2.5.0-pre.15
- @tiptap/pm@2.5.0-pre.15
2.5.0-pre.14
Patch Changes
-
df5609c: We've heard a number of complaints around the performance of our React integration, and we finally have a solution that we believe will satisfy everyone. We've made a number of optimizations to how the editor is rendered, as well give you more control over the rendering process.
Here is a summary of the changes and how you can take advantage of them:
- SSR rendering was holding back our ability to have an editor instance on first render of
useEditor. We've now made the default behavior to render the editor immediately on the client. This behavior can be controlled with the newimmediatelyRenderoption which when set tofalsewill defer rendering until the second render (via a useEffect), this should only be used when server-side rendering. - The default behavior of the useEditor hook is to re-render the editor on every editor transaction. Now with the
shouldRerenderOnTransactionoption, you can disable this behavior to optimize performance. Instead, to access the new editor state, you can use theuseEditorStatehook. useEditorStatethis new hook allows you to select from the editor instance any state you need to render your UI. This is useful when you want to optimize performance by only re-rendering the parts of your UI that need to be updated.
Here is a usage example:
const editor = useEditor({ /** * This option gives us the control to enable the default behavior of rendering the editor immediately. */ immediatelyRender: true, /** * This option gives us the control to disable the default behavior of re-rendering the editor on every transaction. */ shouldRerenderOnTransaction: false, extensions: [StarterKit], content: ` <p> A highly optimized editor that only re-renders when it’s necessary. </p> `, }) /** * This hook allows us to select the editor state we want to use in our component. */ const currentEditorState = useEditorState({ /** * The editor instance we want to use. */ editor, /** * This selector allows us to select the data we want to use in our component. * It is evaluated on every editor transaction and compared to it's previously returned value. * You can return any data shape you want. */ selector: ctx => ({ isBold: ctx.editor.isActive('bold'), isItalic: ctx.editor.isActive('italic'), isStrike: ctx.editor.isActive('strike'), }), /** * This function allows us to customize the equality check for the selector. * By default it is a `===` check. */ equalityFn: (prev, next) => { // A deep-equal function would probably be more maintainable here, but, we use a shallow one to show that it can be customized. if (!next) { return false } return prev.isBold === next.isBold && prev.isItalic === next.isItalic && prev.isStrike === next.isStrike }, })- @tiptap/core@2.5.0-pre.14
- @tiptap/extension-bubble-menu@2.5.0-pre.14
- @tiptap/extension-floating-menu@2.5.0-pre.14
- @tiptap/pm@2.5.0-pre.14
- SSR rendering was holding back our ability to have an editor instance on first render of
2.5.0-pre.13
Patch Changes
- Updated dependencies [74a37ff]
- @tiptap/core@2.5.0-pre.13
- @tiptap/extension-bubble-menu@2.5.0-pre.13
- @tiptap/extension-floating-menu@2.5.0-pre.13
- @tiptap/pm@2.5.0-pre.13
2.5.0-pre.12
Patch Changes
- Updated dependencies [74a37ff]
- @tiptap/core@2.5.0-pre.12
- @tiptap/extension-bubble-menu@2.5.0-pre.12
- @tiptap/extension-floating-menu@2.5.0-pre.12
- @tiptap/pm@2.5.0-pre.12
2.5.0-pre.11
Patch Changes
- Updated dependencies [74a37ff]
- @tiptap/core@2.5.0-pre.11
- @tiptap/extension-bubble-menu@2.5.0-pre.11
- @tiptap/extension-floating-menu@2.5.0-pre.11
- @tiptap/pm@2.5.0-pre.11
2.5.0-pre.10
Patch Changes
- Updated dependencies [74a37ff]
- @tiptap/core@2.5.0-pre.10
- @tiptap/extension-bubble-menu@2.5.0-pre.10
- @tiptap/extension-floating-menu@2.5.0-pre.10
- @tiptap/pm@2.5.0-pre.10
2.5.0-pre.9
Patch Changes
- Updated dependencies [14a00f4]
- @tiptap/core@2.5.0-pre.9
- @tiptap/extension-bubble-menu@2.5.0-pre.9
- @tiptap/extension-floating-menu@2.5.0-pre.9
- @tiptap/pm@2.5.0-pre.9
2.5.0-pre.8
Patch Changes
- Updated dependencies [509676e]
- @tiptap/core@2.5.0-pre.8
- @tiptap/extension-bubble-menu@2.5.0-pre.8
- @tiptap/extension-floating-menu@2.5.0-pre.8
- @tiptap/pm@2.5.0-pre.8
2.5.0-pre.7
Patch Changes
- @tiptap/core@2.5.0-pre.7
- @tiptap/extension-bubble-menu@2.5.0-pre.7
- @tiptap/extension-floating-menu@2.5.0-pre.7
- @tiptap/pm@2.5.0-pre.7
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2.4.0 (2024-05-14)
Bug Fixes
Features
2.3.2 (2024-05-08)
Note: Version bump only for package @tiptap/react
2.3.1 (2024-04-30)
Note: Version bump only for package @tiptap/react
2.3.0 (2024-04-09)
Note: Version bump only for package @tiptap/react
2.2.6 (2024-04-06)
Note: Version bump only for package @tiptap/react
2.2.5 (2024-04-05)
Note: Version bump only for package @tiptap/react
2.2.4 (2024-02-23)
Note: Version bump only for package @tiptap/react
2.2.3 (2024-02-15)
Note: Version bump only for package @tiptap/react
2.2.2 (2024-02-07)
Bug Fixes
2.2.1 (2024-01-31)
Note: Version bump only for package @tiptap/react
2.2.0 (2024-01-29)
2.2.0-rc.8 (2024-01-08)
2.2.0-rc.7 (2023-11-27)
2.2.0-rc.6 (2023-11-23)
Reverts
2.2.0-rc.4 (2023-10-10)
2.2.0-rc.3 (2023-08-18)
2.2.0-rc.1 (2023-08-18)
2.2.0-rc.0 (2023-08-18)
2.1.16 (2024-01-10)
Note: Version bump only for package @tiptap/react
2.1.15 (2024-01-08)
Note: Version bump only for package @tiptap/react
2.1.14 (2024-01-08)
Note: Version bump only for package @tiptap/react
2.1.13 (2023-11-30)
Bug Fixes
2.1.12 (2023-10-11)
Note: Version bump only for package @tiptap/react
2.1.11 (2023-09-20)
Reverts
- Revert "v2.2.11" (6aa755a)
2.1.10 (2023-09-15)
Note: Version bump only for package @tiptap/react
2.1.9 (2023-09-14)
Note: Version bump only for package @tiptap/react
2.1.8 (2023-09-04)
Note: Version bump only for package @tiptap/react
2.1.7 (2023-09-04)
Note: Version bump only for package @tiptap/react
2.1.6 (2023-08-18)
Note: Version bump only for package @tiptap/react
2.1.5 (2023-08-18)
Note: Version bump only for package @tiptap/react
2.1.4 (2023-08-18)
Note: Version bump only for package @tiptap/react
2.1.3 (2023-08-18)
Note: Version bump only for package @tiptap/react
2.1.2 (2023-08-17)
Note: Version bump only for package @tiptap/react
2.1.1 (2023-08-16)
Note: Version bump only for package @tiptap/react
2.1.0 (2023-08-16)
Note: Version bump only for package @tiptap/react
2.1.0-rc.14 (2023-08-11)
Note: Version bump only for package @tiptap/react
2.1.0-rc.13 (2023-08-11)
2.1.0-rc.12 (2023-07-14)
2.1.0-rc.11 (2023-07-07)
2.1.0-rc.10 (2023-07-07)
Bug Fixes
2.1.0-rc.9 (2023-06-15)
2.1.0-rc.8 (2023-05-25)
2.1.0-rc.5 (2023-05-25)
2.1.0-rc.4 (2023-04-27)
2.1.0-rc.3 (2023-04-26)
2.1.0-rc.2 (2023-04-26)
2.1.0-rc.1 (2023-04-12)
2.1.0-rc.0 (2023-04-05)
Bug Fixes
2.1.0-rc.12 (2023-07-14)
Note: Version bump only for package @tiptap/react
2.1.0-rc.11 (2023-07-07)
Note: Version bump only for package @tiptap/react
2.1.0-rc.10 (2023-07-07)
Bug Fixes
2.1.0-rc.9 (2023-06-15)
Note: Version bump only for package @tiptap/react
2.1.0-rc.8 (2023-05-25)
Note: Version bump only for package @tiptap/react
2.1.0-rc.7 (2023-05-25)
Note: Version bump only for package @tiptap/react
2.1.0-rc.6 (2023-05-25)
Note: Version bump only for package @tiptap/react
2.1.0-rc.5 (2023-05-25)
Note: Version bump only for package @tiptap/react
2.1.0-rc.4 (2023-04-27)
Note: Version bump only for package @tiptap/react
2.1.0-rc.3 (2023-04-26)
Note: Version bump only for package @tiptap/react
2.1.0-rc.2 (2023-04-26)
2.1.0-rc.1 (2023-04-12)
2.1.0-rc.0 (2023-04-05)
Bug Fixes
2.1.0-rc.1 (2023-04-12)
Note: Version bump only for package @tiptap/react
2.1.0-rc.0 (2023-04-05)
Note: Version bump only for package @tiptap/react
2.0.3 (2023-04-13)
Note: Version bump only for package @tiptap/react
2.0.2 (2023-04-03)
Bug Fixes
2.0.1 (2023-03-30)
Bug Fixes
2.0.0-beta.220 (2023-02-28)
Note: Version bump only for package @tiptap/react
2.0.0-beta.219 (2023-02-27)
Bug Fixes
- #3773 - Array for content breaks editor (#3786) (89cc59a)
- react: reset initialized when editorcontent is unmounting (#3781) (38b7e41)
- update typings for node view decorations (#3783) (f869507)
2.0.0-beta.218 (2023-02-18)
Note: Version bump only for package @tiptap/react
2.0.0-beta.217 (2023-02-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.216 (2023-02-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.215 (2023-02-08)
Bug Fixes
- fix builds including prosemirror (a380ec4)
2.0.0-beta.214 (2023-02-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.213 (2023-02-07)
Note: Version bump only for package @tiptap/react
2.0.0-beta.212 (2023-02-03)
Note: Version bump only for package @tiptap/react
2.0.0-beta.211 (2023-02-02)
Note: Version bump only for package @tiptap/react
2.0.0-beta.210 (2023-02-02)
Features
- pm: new prosemirror package for dependency resolving (f387ad3)
2.0.0-beta.209 (2022-12-16)
Note: Version bump only for package @tiptap/react
2.0.0-beta.208 (2022-12-16)
Note: Version bump only for package @tiptap/react
2.0.0-beta.207 (2022-12-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.206 (2022-12-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.205 (2022-12-05)
Note: Version bump only for package @tiptap/react
2.0.0-beta.204 (2022-11-25)
Bug Fixes
- core: rename esm modules to esm.js (c1a0c3a)
2.0.0-beta.203 (2022-11-24)
Note: Version bump only for package @tiptap/react
2.0.0-beta.202 (2022-11-04)
Note: Version bump only for package @tiptap/react
2.0.0-beta.201 (2022-11-04)
Note: Version bump only for package @tiptap/react
2.0.0-beta.200 (2022-11-04)
Note: Version bump only for package @tiptap/react
2.0.0-beta.199 (2022-09-30)
Note: Version bump only for package @tiptap/react
2.0.0-beta.198 (2022-09-29)
Note: Version bump only for package @tiptap/react
2.0.0-beta.197 (2022-09-26)
Note: Version bump only for package @tiptap/react
2.0.0-beta.196 (2022-09-20)
Note: Version bump only for package @tiptap/react
2.0.0-beta.195 (2022-09-14)
Bug Fixes
2.0.0-beta.194 (2022-09-11)
Note: Version bump only for package @tiptap/react
2.0.0-beta.115 (2022-09-03)
Bug Fixes
2.0.0-beta.114 (2022-06-27)
Note: Version bump only for package @tiptap/react
2.0.0-beta.113 (2022-06-20)
Note: Version bump only for package @tiptap/react
2.0.0-beta.112 (2022-06-17)
Reverts
- Revert "Publish" (9c38d27)
2.0.0-beta.110 (2022-06-17)
Reverts
- Revert "Publish" (9c38d27)
2.0.0-beta.109 (2022-04-27)
Note: Version bump only for package @tiptap/react
2.0.0-beta.108 (2022-02-07)
Note: Version bump only for package @tiptap/react
2.0.0-beta.107 (2022-01-25)
Note: Version bump only for package @tiptap/react
2.0.0-beta.106 (2022-01-20)
Note: Version bump only for package @tiptap/react
2.0.0-beta.105 (2022-01-11)
Bug Fixes
2.0.0-beta.104 (2022-01-04)
Note: Version bump only for package @tiptap/react
2.0.0-beta.103 (2022-01-03)
Bug Fixes
2.0.0-beta.102 (2021-12-22)
Bug Fixes
2.0.0-beta.101 (2021-12-17)
Reverts
- Revert "fix: Make sure editor is available on first render (#2282), fix #2040, fix #2182" (629f4d2), closes #2040 #2182
2.0.0-beta.100 (2021-12-16)
Bug Fixes
2.0.0-beta.99 (2021-12-15)
Note: Version bump only for package @tiptap/react
2.0.0-beta.98 (2021-12-03)
Note: Version bump only for package @tiptap/react
2.0.0-beta.97 (2021-12-02)
Note: Version bump only for package @tiptap/react
2.0.0-beta.96 (2021-12-02)
Features
2.0.0-beta.95 (2021-11-18)
Features
2.0.0-beta.94 (2021-11-17)
Note: Version bump only for package @tiptap/react
2.0.0-beta.93 (2021-11-10)
Note: Version bump only for package @tiptap/react
2.0.0-beta.92 (2021-11-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.91 (2021-11-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.90 (2021-11-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.89 (2021-11-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.88 (2021-11-05)
Note: Version bump only for package @tiptap/react
2.0.0-beta.87 (2021-10-31)
Note: Version bump only for package @tiptap/react
2.0.0-beta.86 (2021-10-26)
Note: Version bump only for package @tiptap/react
2.0.0-beta.85 (2021-10-25)
Bug Fixes
2.0.0-beta.84 (2021-10-22)
Features
2.0.0-beta.83 (2021-10-14)
Note: Version bump only for package @tiptap/react
2.0.0-beta.82 (2021-10-14)
Note: Version bump only for package @tiptap/react
2.0.0-beta.81 (2021-10-12)
Bug Fixes
2.0.0-beta.80 (2021-10-11)
Bug Fixes
2.0.0-beta.79 (2021-10-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.78 (2021-10-02)
Note: Version bump only for package @tiptap/react
2.0.0-beta.77 (2021-09-30)
Bug Fixes
2.0.0-beta.76 (2021-09-30)
Note: Version bump only for package @tiptap/react
2.0.0-beta.75 (2021-09-29)
Note: Version bump only for package @tiptap/react
2.0.0-beta.74 (2021-09-28)
Note: Version bump only for package @tiptap/react
2.0.0-beta.73 (2021-09-27)
Note: Version bump only for package @tiptap/react
2.0.0-beta.72 (2021-09-23)
Note: Version bump only for package @tiptap/react
2.0.0-beta.71 (2021-09-22)
Note: Version bump only for package @tiptap/react
2.0.0-beta.70 (2021-09-21)
Note: Version bump only for package @tiptap/react
2.0.0-beta.69 (2021-09-20)
Note: Version bump only for package @tiptap/react
2.0.0-beta.68 (2021-09-18)
Bug Fixes
2.0.0-beta.67 (2021-09-15)
Note: Version bump only for package @tiptap/react
2.0.0-beta.66 (2021-09-07)
Features
2.0.0-beta.65 (2021-09-07)
Note: Version bump only for package @tiptap/react
2.0.0-beta.64 (2021-09-06)
Note: Version bump only for package @tiptap/react
2.0.0-beta.63 (2021-08-24)
Bug Fixes
2.0.0-beta.62 (2021-08-23)
Bug Fixes
2.0.0-beta.61 (2021-08-20)
Note: Version bump only for package @tiptap/react
2.0.0-beta.60 (2021-08-13)
Note: Version bump only for package @tiptap/react
2.0.0-beta.59 (2021-08-13)
Bug Fixes
- rename key to pluginKey for menus (89d26f7)
2.0.0-beta.58 (2021-08-12)
Bug Fixes
2.0.0-beta.57 (2021-08-11)
Features
- add key option and shouldShow option to menus (fix #1480, fix #1043, fix #1268, fix #1503) (9ba61c1)
2.0.0-beta.56 (2021-08-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.55 (2021-07-28)
Bug Fixes
2.0.0-beta.54 (2021-07-27)
Features
2.0.0-beta.53 (2021-07-26)
Note: Version bump only for package @tiptap/react
2.0.0-beta.52 (2021-06-24)
Bug Fixes
- check for destroyed editor before creating node views in react (44e4722)
2.0.0-beta.51 (2021-06-23)
Note: Version bump only for package @tiptap/react
2.0.0-beta.50 (2021-06-15)
Note: Version bump only for package @tiptap/react
2.0.0-beta.49 (2021-06-15)
Note: Version bump only for package @tiptap/react
2.0.0-beta.48 (2021-06-14)
Note: Version bump only for package @tiptap/react
2.0.0-beta.47 (2021-06-14)
Note: Version bump only for package @tiptap/react
2.0.0-beta.46 (2021-06-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.45 (2021-05-29)
Bug Fixes
2.0.0-beta.44 (2021-05-28)
Bug Fixes
2.0.0-beta.43 (2021-05-27)
Note: Version bump only for package @tiptap/react
2.0.0-beta.42 (2021-05-24)
Note: Version bump only for package @tiptap/react
2.0.0-beta.41 (2021-05-18)
Bug Fixes
- move all child nodes within EditorContent (0f299d2)
Features
- add deleteNode method to node views (fcee5f8)
2.0.0-beta.40 (2021-05-18)
Note: Version bump only for package @tiptap/react
2.0.0-beta.39 (2021-05-18)
Bug Fixes
2.0.0-beta.38 (2021-05-17)
Note: Version bump only for package @tiptap/react
2.0.0-beta.37 (2021-05-13)
Note: Version bump only for package @tiptap/react
2.0.0-beta.35 (2021-05-13)
Note: Version bump only for package @tiptap/react
2.0.0-beta.35 (2021-05-13)
Note: Version bump only for package @tiptap/react
2.0.0-beta.34 (2021-05-13)
Note: Version bump only for package @tiptap/react
2.0.0-beta.33 (2021-05-07)
Bug Fixes
- revert adding exports (bc320d0)
2.0.0-beta.32 (2021-05-06)
Bug Fixes
- revert adding type: module (f8d6475)
2.0.0-beta.31 (2021-05-06)
Bug Fixes
- add exports to package.json (1277fa4)
2.0.0-beta.30 (2021-05-06)
Note: Version bump only for package @tiptap/react
2.0.0-beta.29 (2021-05-05)
Note: Version bump only for package @tiptap/react
2.0.0-beta.28 (2021-05-05)
Note: Version bump only for package @tiptap/react
2.0.0-beta.27 (2021-05-04)
Note: Version bump only for package @tiptap/react
2.0.0-beta.26 (2021-04-27)
Note: Version bump only for package @tiptap/react
2.0.0-beta.25 (2021-04-23)
Bug Fixes
- allow passing props to NodeViewWrapper and NodeViewContent (cfb3b80)
2.0.0-beta.24 (2021-04-23)
Note: Version bump only for package @tiptap/react
2.0.0-beta.23 (2021-04-22)
Bug Fixes
- prevents a bug where a line break was incorrectly added at enter in react node views, fix #1197 (e885ffa)
2.0.0-beta.22 (2021-04-21)
Note: Version bump only for package @tiptap/react
2.0.0-beta.21 (2021-04-16)
Features
2.0.0-beta.20 (2021-04-15)
Note: Version bump only for package @tiptap/react
2.0.0-beta.19 (2021-04-11)
Bug Fixes
- fix using react node views with insertContent (ea0992f)
2.0.0-beta.18 (2021-04-08)
Note: Version bump only for package @tiptap/react
2.0.0-beta.17 (2021-04-08)
Bug Fixes
2.0.0-beta.16 (2021-04-07)
Note: Version bump only for package @tiptap/react
2.0.0-beta.15 (2021-04-07)
Note: Version bump only for package @tiptap/react
2.0.0-beta.14 (2021-04-04)
Features
2.0.0-beta.13 (2021-04-01)
Note: Version bump only for package @tiptap/react
2.0.0-beta.12 (2021-04-01)
Note: Version bump only for package @tiptap/react
2.0.0-beta.11 (2021-04-01)
Note: Version bump only for package @tiptap/react
2.0.0-beta.10 (2021-04-01)
Note: Version bump only for package @tiptap/react
2.0.0-beta.9 (2021-03-31)
Note: Version bump only for package @tiptap/react
2.0.0-beta.8 (2021-03-31)
Note: Version bump only for package @tiptap/react
2.0.0-beta.7 (2021-03-31)
Note: Version bump only for package @tiptap/react
2.0.0-beta.6 (2021-03-28)
Note: Version bump only for package @tiptap/react
2.0.0-beta.5 (2021-03-24)
Note: Version bump only for package @tiptap/react
2.0.0-beta.4 (2021-03-18)
Note: Version bump only for package @tiptap/react
2.0.0-beta.3 (2021-03-16)
Note: Version bump only for package @tiptap/react
2.0.0-beta.2 (2021-03-09)
Note: Version bump only for package @tiptap/react
2.0.0-beta.1 (2021-03-05)
Note: Version bump only for package @tiptap/react
2.0.0-alpha.2 (2021-02-26)
Note: Version bump only for package @tiptap/react