Tiptap V3 Roadmap #5793
Replies: 22 comments 61 replies
-
Package versioning strategy (Status: Feedback)Tiptap major version 2 had all packages bumped at the same time, this was to try to make it clear what versions were compatible with one another, but we are thinking about decoupling versions. We may be moving towards a model where if a change is made to only one package, only that one package has it's version bumped, this should help make it clear what actually changed between versions (rather than getting a package bump because any tiptap package was bumped). This would mean that packages would be bumped a lot less often (since core is 80% of our changes). TLDR; Moving from:
To:
|
Beta Was this translation helpful? Give feedback.
-
Package grouping (Status: Feedback) #5469We are trying to reduce the number of overall packages we have. Right now, to have a table in your application you need to depend on So, we are going to maintain the existing packages to not break existing apps, but have them all be re-exports on a single package Relatedly, we also want to introduce smaller kits of functionality like for tables, lists, and text styling (bold, italics, underlining, etc.). |
Beta Was this translation helpful? Give feedback.
-
Drop UMD support (Status: Decided) #5455We’ve moved build systems for a much faster development experience, unfortunately, this means that we will be forced to drop UMD builds of our packages since it is not supported by our build tool (tsup). UMD is a very old format so this should not be a concern for most consumers |
Beta Was this translation helpful? Give feedback.
-
Starter-Kit (Status: Decided) #5466We want to make it easier to manage multiple sets of extensions, and give a better out of the box experience with Tiptap. Historically, we had the |
Beta Was this translation helpful? Give feedback.
-
Package manager (Status: Decided but not implemented)NPM used to be a good package manager, but it has been left behind in terms of speed and functionality, we will migrate off of it internally, but this should have no effect on package consumers. Currently we are deciding between pnpm & bun, with a slight preference towards pnpm for it's ability to publish packages |
Beta Was this translation helpful? Give feedback.
-
Decorations API (Status: Decided) WIP: #5437Tiptap users have drop down into Prosemirror plugins, whenever they wanted to leverage Prosemirror decorations, now we are experimenting with an API that will make Decorations easy. Feel free to comment on our PR here: #5437 We aren't entirely sure at the moment what this API will look like, but in Tiptap fashion we hope that it is flexible enough to handle all of your decoration needs! |
Beta Was this translation helpful? Give feedback.
-
Markdown extension (Status: Idea)We’ve heard you, we want to build a solution to have the editor both accept & output content as markdown, in the age of LLMs which are quite good at outputting markdown, it is a must! Of course, this will be a tradeoff since markdown is an ill-defined format, but we understand the need for it. Our idea is to offer a first-party extension which will add support for inputting & outputting markdown. To keep bundle sizes lean, we would not want to force this on users who do not need such an extension. We are still working on the details of what this would mean so please leave your ideas below! |
Beta Was this translation helpful? Give feedback.
-
Better TypeScript typings (Status: continuous improvement)To improve the typing of the project overall, we need to completely refactor the typings we have right now, this would allow typing of things like attributes, HTMLAttributes, the editor storage API and so on… Doing this in a major version is a natural place to make this sort of a change as it may affect how you type your projects. Give your ideas of what you would like to be better typed below! |
Beta Was this translation helpful? Give feedback.
-
Trailing Node Extension (Status: Decided)This extension automatically adds an additional empty node at the end of your document to allow the user to easily continue writing content. This resolves an issue, where if a table is the last node within your document it can be tricky to get the selection after it. This extension has been in our Tiptap "experiments" for several years now, we want to upgrade it to be a fully-fledged extension we will support and maintain. See it's demo here: https://embed.tiptap.dev/preview/experiments/trailingnode/ |
Beta Was this translation helpful? Give feedback.
-
SuggestionMenu Extension (Status: Idea)Implementing something like a slash-command is very difficult to do, and even more difficult if you use a framework like React or Vue to render the UI within the menu. We want to make it easy with a first-class component for each of the frameworks like we provide with BubbleMenu & FloatingMenu. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Content Migrations (Status: Idea)This would introduce the ability to re-write Tiptap JSON from a previous incompatible version, to the latest version your editor supports. This would allow gradual migration of content as it is edited by others. Something like: https://github.com/remirror/prosemirror-migration may be interesting to look at. |
Beta Was this translation helpful? Give feedback.
-
Is there any room for any more Ideas? In particular, I'd love to see page (i.e. automatically breaking, and ability to render as a page) somehow integrated. I know it's a super difficult problem, but for certain use cases it's crucial |
Beta Was this translation helpful? Give feedback.
-
Hopefully there will be full support for mobile, where there are currently a few issues such as #4532 |
Beta Was this translation helpful? Give feedback.
-
I'd like to submit an idea. I'm currently building an application with TipTap called Quikest AI. I've been observing what LangChain is building for multi agent orchestration. They recently open sourced the Open Canvas demo, which replicates the ChatGPT 04-Canvas concept. What's powerful is the multi-turn chat to update document, and the specific agent actions to modify the style of the whole document. Is there any way to add an action bar to a TipTap doc to rewrite a the whole document with AI to replicate this muti-agent action experience that you see in the ChatGPT Canvas experience? And even better, I would like to provide my own system instructions that are based on my application's use cases to customize the actions. Thanks for all your hard work to make TipTap better for all of us!! 🙌 |
Beta Was this translation helpful? Give feedback.
-
I would like to submit an idea. Can the table extension have the add or delete row / column (Like in this template) Decoration by default? Or can this be packaged as an additional extension? Initially I had a hard time implementing this with node views (was unaware of the template code), but then I took reference from the template ❤️ and was able to implement this. |
Beta Was this translation helpful? Give feedback.
-
Excalidraw as a node (Status: Idea)Excalidraw is an embeddable virtual whiteboard, distributed as a React component. It'd be great to embed this within a Tiptap document a custom node to allow the user to draw up their ideas right within the text editor. They represent their content as a large JSON blob, so using the Tiptap Cloud or stored directly in your editor, we can store this as being associated to your editor content. |
Beta Was this translation helpful? Give feedback.
-
There's not a lot here to dislike! Hugely support everything you guys are working towards. Thanks for sharing the roadmap @nperez0111 What is the current thinking/status of integrating Pro extensions to be core/open source extensions? Pro extensions being privately published and closed source used to make a lot of sense. After all, Pro extensions could only be used by customers who were paying. Now the Pro extensions are available to all customers, subject to creating an account (even a free account) so it no longer seems logical to treat Pro extensions differently. Open sourcing them would reduce confusion and it would allow the wider customer base to contribute fixes and new functionality in the same way they might contribute to the current core extensions. It would be somewhat reasonable to keep the concept of "Pro extensions" for things that do actually need a paid plan, such as collaboration and AI extensions. I think the team have previously commented that this might be something you'd be looking to do in the future, and therefore I was surprised to not see it in this list. What is the current thinking surrounding the Pro extensions? |
Beta Was this translation helpful? Give feedback.
-
I have one suggestion: Rewrite from scratch the Suggestion utility. The current one is hard to reason with, and has a few crucial bugs (there are issues around for these). The new one should be "bug free", and with all the features with the current one. |
Beta Was this translation helpful? Give feedback.
-
I just want to say that whatever you do, don't mess up Svelte compatibility! (from a happy user of https://github.com/sibiraj-s/svelte-tiptap) |
Beta Was this translation helpful? Give feedback.
-
I'd love to see resizable images with possibility to align them (left, center, right, wrap image with content). |
Beta Was this translation helpful? Give feedback.
-
Any chance for Feature Request: Pagination extension (A4 format content) guys? Is really needed and asked by the community!!! |
Beta Was this translation helpful? Give feedback.
-
Hello, Tiptap community!
Internally, we are planning out next steps for the next major version of Tiptap v3. We thought that it would be great to involve the community in this planning!
There are some items which we've already decided and made some progress on, while others are only in the ideation phase or need some feedback. I will be posting each feature/idea in a separate thread, so that we can keep the discussion tight to a specific feature as well as to allow voting on particular issues.
So, please upvote an idea if you think that it will be a valuable addition to Tiptap!
We've already started to make some progress towards v3 on the next branch if you want to check out some of the upcoming changes like:
Replace the tippy package with floating-ui: Remove tippy.js and replace with Floating UI #5398
@floating-ui/dom
which is tippy’s official successor and offers a much more convenient APIrenderHTML
JSX: feat(jsx): add@tiptap/jsx
for more convenient rendering of Tiptap content #5558With the new JSX functionality, we can now support JSX as the return type from
renderHTML
resulting in this nice API:Optimal Framework Performance by default
shouldRerenderOnTransaction
API be defaultfalse
, with an opt-in to the previous in-optimal behavior.Static Renderer: feat(static-renderer): add
@tiptap/static-renderer
to enable static rendering of content #5528Support for Prosemirror Markviews: feat(core): add support for markviews #5759
Please vote & discuss your favorites below!
Or, add your own if you've been looking for something yourself!
Beta Was this translation helpful? Give feedback.
All reactions