title | meta | ||||
---|---|---|---|---|---|
Whats new in Tiptap |
|
Keeping track of the latest major changes in Tiptap can be challenging. This page serves as a comprehensive overview over all important changes made to our most important products.
With the release of Tiptap Editor 3.0.0, we release our third major version of Tiptap Editor. This release includes a list of new features, improvements and bug fixes.
Do you already use Tiptap Editor 2.x and want to upgrade to Tiptap Editor 3.x? We've created a comprehensive upgrade guide to help you with the transition.
You can find the upgrade guide here. The guide will guide you through all breaking changes, new features and other updates made to our editor packages that are important for you to know about.
- Removed UMD builds - UMD builds have been removed. We recommend using ESM builds instead. UMD builds are not compatible with the new
@tiptap/extension-*
packages. - Migration from
tippy.js
tofloating-ui
- We replaced the outdatedtippy.js
library with the newfloating-ui
library. This change improves the performance and reliability of our menus and tooltips. - Changes to our Text Style API - The
@tiptap/extension-text-style
package has seen API updates providing a newTextStyleKit
extension that encapsulates all possible text styling functionalities in one extension. Default options were also updated. - Commands were changed - The behavior or names of commands were changed.
clearContent
andsetContent
now emit updates correctly whilesetContent
also received a change to it's parameters.insertContent
was changed to prevent unwanted text splitting. - NodeView
getPos
now can return undefined -nodeView.getPos()
can now returnundefined
making a check forundefined
necessary to handle this case properly. editor.getCharacterCount()
was removed - Theeditor.getCharacterCount()
method was removed. It was marked as deprecated in the previous version and is now removed. You can useeditor.storage.characterCount.characters()
instead while using theCharacterCount
extension.considerAnyAsEmpty
option removed from placeholder extension - TheconsiderAnyAsEmpty
option was removed from the placeholder extension as it was deprecated already and wasn't respected in the previous version.- Stricter Typing - 3.0.0 brings stricter typing to the editor. This change improves the overall type safety of the editor and makes it easier to work with but might require some adjustments in your code. We recommend using TypeScript to benefit from the improved type safety.
- New
@tiptap/extensions
extension - The new@tiptap/extensions
package includes and combines multiple utility extensions. Read more here. - Improved Server-Side Rendering - The editor can now run on SSR environments without rendering the editor content. See more here.
- Mark Views - Mark views are now available and allow you to render custom views for marks. Read more here.
- Deletes can now be tracked as an event - Editor deletions can now be tracked as an event. Read more here.
- Nodes and marks have new attribute validation support - Validating attributes on nodes or marks is now supported.
- StarterKit updates - The StarterKit was made more powerful now including more extensions by default. Read more here
- TableKit - The new
TableKit
extension allows you to register all important table extensions in one package. Read more here - ListKit - The new
ListKit
extension allows you to register all imporant list extensions in one package. Read more here - TextStyleKit - The new
TextStyleKit
extension registers all important text-style extensions in one package. Read more here - New
rewriteUnknownContent
helper - This helper function can be imported from the core package.
- Improved transaction handling - Transactions are now handled more efficiently and reliably. This change improves the overall performance of the editor.
focusEvent
plugin key is exported - You can now import thefocusEvent
plugin key if needed from the core package.- Improvements on mobile devices - The 3.0.0 release brings improvements for mobile devices primarily focusing on touch events.
- Minor IME bugfixes - The 3.0.0 release includes a few minor bugfixes for IME input handling.
- HTML parsing with
happy-dom-without-node
- We now usehappy-dom-without-node
to parse HTML as a lightweight alternative tozeed-dom
.