Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 5.11 KB

whats-new.mdx

File metadata and controls

53 lines (39 loc) · 5.11 KB
title meta
Whats new in Tiptap
title description
Whats new in Tiptap
Find out what's new in the latest releases of all Tiptap products, including new features, improvements, and bug fixes.

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.

Tiptap Editor 3.0.0

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.

Getting started with our upgrade guide

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.

Breaking Changes

  • 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 to floating-ui - We replaced the outdated tippy.js library with the new floating-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 new TextStyleKit 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 and setContent now emit updates correctly while setContent 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 return undefined making a check for undefined necessary to handle this case properly.
  • editor.getCharacterCount() was removed - The editor.getCharacterCount() method was removed. It was marked as deprecated in the previous version and is now removed. You can use editor.storage.characterCount.characters() instead while using the CharacterCount extension.
  • considerAnyAsEmpty option removed from placeholder extension - The considerAnyAsEmpty 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 features

  • 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.

Improvements

  • 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 the focusEvent 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.

Additional changes

  • HTML parsing with happy-dom-without-node - We now use happy-dom-without-node to parse HTML as a lightweight alternative to zeed-dom.