更新日志
本项目的所有重大变更将记录在此文件中。
[2026-08-01]
新增
- 搜索和替换:新增开源的搜索和替换面板,支持经过防抖处理的实时高亮、从 1 开始的结果计数器、循环导航、区分大小写和全字匹配选项、带示例模式的正则表达式搜索、可控的放置位置和打开状态、替换和全部替换操作,以及
Mod+F、方向键和Enter快捷键。在结果之间移动时只更新高亮,因此编辑器选区和工具栏状态会保持在用户离开时的位置。使用npx @tiptap/cli@latest add search-and-replace安装。 - 按钮:新增可复用的
check变体,这是一种复选框样式的切换按钮,提供role="checkbox"、自身的选中指示器,并且默认在小尺寸下使用幽灵样式。使用aria-checked控制其状态,该属性也接受mixed。 - 简单编辑器模板:模板现在包含搜索和替换功能,并在工具栏中提供触发按钮,同时在工具栏下方停靠一个面板。
修复
- 工具栏循环焦点:现在只有当焦点已经位于工具栏内部时,工具栏才会将焦点恢复到其中的项目,因此从工具栏打开的面板和弹出框可以保留它们所请求的焦点。
- 链接弹出框:
autoOpenOnLinkActive现在还要求编辑器处于聚焦状态,因此活动链接不会再因程序化的选区变更而打开弹出框,例如通过搜索面板进行的选区变更。
现有安装可以使用 npx @tiptap/cli@latest add button toolbar link-popover -o 更新发生变化的组件。如果你在 2026-07-31(即本条目之前的一天)安装了该面板,请将 search-and-replace 添加到列表中,以获取结果导航行为。-o 标志会覆盖已安装的组件文件,因此请先检查本地自定义内容。
[2026-07-24]
修复
- Image Node Pro:修复周围文档编辑后图像选择状态变旧的问题,阻止原生光标导航进入隐藏标题,并增强 Chromium、Firefox 和 WebKit 中重复点击、标题生命周期、删除、调整大小及只读状态切换的稳定性。
- Image Node Pro HTML:保留无标题和带标题图像所配置的 HTML 属性,规范化有效的图像尺寸,统一应用
allowBase64,并防止多图 figure 被合并为单个图像节点。 - Image 浮动工具栏:图像点击后刷新由选择状态驱动的可见性,使工具栏能够可靠地为已选中的图像重新打开。
变更
- Image Node Pro 键盘和撤销行为:新增可预测的箭头导航,为
Enter、Backspace、Delete和Escape增加标题边界处理,支持渐进式全选,并为图像删除和调整大小设置独立的撤销边界。 - 工具栏键盘导航:新增水平循环焦点、循环箭头导航、使用
Home和End导航到首项/末项、禁用控件跟踪,以及正常的Tab和Shift+Tab退出行为。 - Delete Node Button:保留扩展所拥有的 Backspace 处理逻辑,仅在共享删除操作成功后阻止浏览器行为,并将节点删除隔离为独立的撤销步骤。
现有安装可以使用 npx @tiptap/cli@latest add image-node-pro floating-element toolbar -o 更新完整的一组已复制源文件。-o 标志会覆盖已安装的组件文件,因此请先检查本地自定义内容。
[2026-07-09]
新增
- 表格节点:支持 Pages 扩展。当编辑器注册了 Pages 扩展后,表格现在会按行跨分页边界拆分——保留列宽、合并单元格和边框——其中带有
rowspan的单元格会在分页断点处延续,过大的单元格会变为可滚动,以确保分页保持稳定。无需任何配置;在未启用 Pages 时行为保持不变。
修复
- 表格选择覆盖层:
cellMenu属性现在必须是稳定的组件引用。传入内联箭头函数会导致菜单在每次渲染时都获得新的组件标识,从而重新挂载其子树,并可能抛出 "Maximum update depth exceeded"。请将 cell menu 定义在模块作用域中(或对其进行 memoize);覆盖层和 cell menu 也会对重复的菜单打开状态更新进行保护。 - 编辑器生命周期:增强了
comment、text-align和undo-redo组件以及tiptap-utils对已销毁或已卸载编辑器的防护——增加了isDestroyed/mounted-view 检查,并在editor.can()周围添加错误处理,以防止在清理阶段出现异常。
[2026-03-26]
新增
- TOC:新增支持为目录(TOC)节点预览查找最近的可滚动父元素。
变更
- TOC:改进目录(TOC)中的标题组织方式,以提升性能和可读性。
[2026-03-25]
新增
- 缩进支持:向编辑器添加了
indent和outdent命令,允许用户调整块缩进级别。目前此功能仅适用于类 Notion 模板。
[2026-02-19]
变更
- AI 菜单:为
<AiMenu>添加了anchorToSelection属性,用于将菜单锚定到当前文本选区,且菜单宽度与编辑器宽度一致。
[2026-02-10]
修复
- 工具栏按钮:修正按钮显示逻辑,之前未设置
hideWhenUnavailable时按钮错误隐藏。按钮现在默认始终显示,只有当hideWhenUnavailable={true}且所需扩展/模式不可用时才隐藏。 - 链接弹出框:在
setMark("link")周围添加错误处理,避免在某些编辑器状态下抛出未捕获异常。 - 转换下拉菜单:新增缺失的
!editor.isEditable条件,避免只读编辑器中显示该菜单。 - 标题节点:修复
margin-top取消样式,确保正确应用于首个标题及其前方为 ProseMirror 小部件(如装饰、节点视图)的标题。 - 颜色高亮:将
toggleMark("highlight", { color })的调用改为正确的toggleHighlight({ color }),实现正确切换行为。
变更
- CLI
-c参数的认证检查:使用-c(组件)标志时,CLI 现在验证.npmrc身份认证,防止未认证用户发生静默失败。 - 自动生成
scss.d.ts:通过 CLI 安装包含 SCSS 文件的组件时,自动创建 SCSS 类型声明文件。 - 嵌套列表样式:新增最多 8 级嵌套列表样式循环:
- 有序列表:
decimal → lower-alpha → lower-roman → decimal → … - 无序列表:
disc → circle → square → disc → …
- 有序列表:
- 颜色高亮的
useColorValue属性:新增支持直接使用十六进制颜色值代替 CSS 变量,确保在不支持 CSS 自定义属性的环境下也能应用高亮样式。 - 标题下拉菜单:新增支持自定义
children属性,允许用户覆盖默认的图标和箭头渲染。 - 内联图片:段落内图片现设为
inline-block显示。
移除
- 评论页面示例:移除
/comments和/preview/templates/comments路由及相关所有组件。
[2026-02-03]
- 更新 CLI 版本至 3.18.0,修复自定义路径下
-p参数问题。
[2026-01-15]
修复
- 避免在多选多个区块时执行“转换为”操作,确保节点切换仅应用于单个被选中的区块。
请运行pnpm dlx @tiptap/cli@latest add heading-button blockquote-button list-button text-button code-block-button -o来更新现有代码。
[2026-01-09]
新增
- 带节点预览的目录(TOC)功能
- 更新 CLI 版本至 3.11.1。
[2026-01-05]
新增
- 为
FloatingElement添加resetTextSelectionOnClose属性,增加编辑器失焦时保留当前光标选区的选项。
[2025-12-15]
修复
- 移除图片的 stopEvent,修复复制粘贴内联图片时的问题。
[2025-12-04]
新增
- 退格键时合并相邻列表,防止垂直间距卡顿
说明
- 新增:新功能
- 变更:现有功能的变动
- 弃用:即将移除的功能
- 移除:已移除的功能
- 修复:错误修正
- 安全:安全修复与改进。