Changelog
All notable changes to this project will be documented in this file.
[2026-08-01]
Added
- Search and Replace: Added an open-source search and replace panel with debounced live highlighting, a one-based result counter, wrap-around navigation, match-case and whole-word options, regular expression search with example patterns, controlled placement and open state, replace and replace-all actions, and
Mod+F, arrow-key, andEntershortcuts. Moving between results updates only the highlight, so the editor selection and the toolbar state stay where the user left them. Install it withnpx @tiptap/cli@latest add search-and-replace. - Button: Added a reusable
checkvariant, a checkbox-style toggle that suppliesrole="checkbox", its own check indicator, and the ghost style at small size by default. Control its state witharia-checked, which also acceptsmixed. - Simple editor template: The template now ships search and replace, with a toolbar trigger and a panel docked below the toolbar.
Fixed
- Toolbar roving focus: The toolbar now restores focus to its items only while focus is already inside the toolbar, so panels and popovers opened from the toolbar keep the focus they requested.
- Link popover:
autoOpenOnLinkActivenow also requires the editor to be focused, so an active link no longer opens the popover after a programmatic selection change, such as one made from a search panel.
Existing installations can refresh the changed components with npx @tiptap/cli@latest add button toolbar link-popover -o. Add search-and-replace to that list if you installed the panel on 2026-07-31, the day before this entry, so it picks up the result-navigation behavior. The -o flag overwrites installed component files, so review local customizations first.
[2026-07-24]
Fixed
- Image Node Pro: Fixed image selection becoming stale after surrounding document edits, prevented native caret navigation from entering hidden captions, and hardened repeated clicks, caption lifecycle, deletion, resizing, and read-only transitions across Chromium, Firefox, and WebKit.
- Image Node Pro HTML: Preserved configured HTML attributes for bare and captioned images, normalized valid image dimensions, applied
allowBase64consistently, and prevented multi-image figures from being collapsed into a single image node. - Image floating toolbar: Refreshed selection-driven visibility after image clicks so the toolbar reliably reopens for an already-selected image.
Changed
- Image Node Pro keyboard and undo behavior: Added predictable arrow navigation, caption boundary handling for
Enter,Backspace,Delete, andEscape, progressive select-all, and separate undo boundaries for image deletion and resizing. - Toolbar keyboard navigation: Added horizontal roving focus, wrapped arrow navigation, first/last navigation with
HomeandEnd, disabled-control tracking, and normalTabandShift+Tabexit behavior. - Delete Node Button: Preserved extension-owned Backspace handling, prevented browser behavior only after a successful shared deletion, and isolated node deletion into its own undo step.
Existing installations can update the complete set of copied source files with npx @tiptap/cli@latest add image-node-pro floating-element toolbar -o. The -o flag overwrites installed component files, so review local customizations first.
[2026-07-09]
Added
- Table node: Pages extension support. When the Pages extension is registered on the editor, tables now split across page boundaries row by row — preserving column widths, merged cells, and borders — with rowspan cells continuing across breaks and oversized cells becoming scrollable so pagination stays stable. Requires no configuration, and behavior is unchanged without Pages.
Fixed
- Table selection overlay: The
cellMenuprop must now be a stable component reference. Passing an inline arrow gave the menu a new component identity on every render, remounting its subtree and potentially throwing "Maximum update depth exceeded". Define the cell menu at module scope (or memoize it); the overlay and cell menu also guard against redundant menu open-state updates. - Editor lifecycle: Hardened the
comment,text-align, andundo-redocomponents andtiptap-utilsagainst destroyed or unmounted editors — addedisDestroyed/mounted-view checks and error handling aroundeditor.can()to prevent exceptions during teardown.
[2026-03-26]
Added
- TOC: Added support to find the closest scrollable parent element for the Table of Contents (TOC) node preview.
Changed
- TOC: Improve heading organization in the Table of Contents (TOC) for better performance and readability.
[2026-03-25]
Added
- Indentation support: Added
indentandoutdentcommands to the editor, allowing users to adjust block indentation levels. Currently this feature only available for Notion-like template.
[2026-02-19]
Changed
- AI menu: Added
anchorToSelectionprop to<AiMenu>for anchoring the menu to the current text selection at full editor width.
[2026-02-10]
Fixed
- Toolbar buttons: Fixed button visibility logic where buttons were incorrectly hidden when
hideWhenUnavailablewas not set. Buttons now always show by default and only hide whenhideWhenUnavailable={true}and the required extension/schema is unavailable. - Link popover: Added error handling around
setMark("link")to prevent uncaught exceptions in certain editor states. - Turn-into dropdown: Added missing
!editor.isEditableguard to prevent showing the dropdown on read-only editors. - Heading node: Fixed
margin-topremoval to properly target first headings and headings preceded by ProseMirror widgets (e.g., decorations, node views). - Color highlight: Switched from
toggleMark("highlight", { color })to the propertoggleHighlight({ color })command for correct toggle behavior.
Changed
- CLI auth check on
-cflag: The CLI now verifies.npmrcauthentication when using the-c(component) flag, preventing silent failures for unauthenticated users. - Auto-generate
scss.d.ts: SCSS type declarations are now automatically created whenever a component with SCSS files is installed via the CLI. - Nested list styles: Added style cycling for deeply nested lists (up to 8 levels):
- Ordered lists:
decimal → lower-alpha → lower-roman → decimal → ... - Unordered lists:
disc → circle → square → disc → ...
- Ordered lists:
- Color highlight
useColorValueprop: Added support for using raw hex color values instead of CSS variables, enabling highlight compatibility in environments where CSS custom properties aren't available. - Heading dropdown menu: Added support for custom
childrenprop, allowing consumers to override the default icon + chevron rendering. - Inline images: Images inside paragraphs now display as
inline-block.
Removed
- Comment page demo: Removed the
/commentsand/preview/templates/commentsroutes and all associated components.
[2026-02-03]
- Update CLI version to 3.18.0. Fix
-pflag for custom paths.
[2026-01-15]
Fixed
- Prevent block “turn into” actions from running when multiple blocks are selected, ensuring node toggles only apply to a single selected block.
update existing code by running
pnpm dlx @tiptap/cli@latest add heading-button blockquote-button list-button text-button code-block-button -o
[2026-01-09]
Added
- Table of Contents (TOC) feature with node preview
- Update CLI version to 3.11.1
[2026-01-05]
Added
- Add
resetTextSelectionOnCloseprop toFloatingElementto add an option to preserve the current editor selection when the editor loses focus
[2025-12-15]
Fixed
- Remove stopEvent from image to fix copy and paste an inline image
[2025-12-04]
Added
- Merge adjacent lists on backspace to prevent stuck vertical spacing
Legend
- Added: New features
- Changed: Changes in existing functionality
- Deprecated: Soon-to-be removed features
- Removed: Removed features
- Fixed: Bug fixes
- Security: Security fixes and improvements