以下是 Tiny Cloud 和 TinyMCE Enterprise 的发行说明。有关 TinyMCE 最新社区版本的信息,请参阅 TinyMCE Changelog。

概述

TinyMCE 8.9.0 于 2026 年 8 月 31 日(星期一)面向 TinyMCE Enterprise 和 Tiny Cloud 发布。本发行说明概述了 TinyMCE 8.9.0 的变更,包括:

  • 配套 Premium 插件变更

  • 改进

  • 新增功能

  • 变更

  • Bug 修复

配套 Premium 插件变更

以下 Premium 插件更新与 TinyMCE 8.9.0 一同发布。

Comments

TinyMCE 8.9.0 版本包含 Comments Premium 插件的配套版本。

Comments 包含以下新增功能和改进。

新增选项 tinycomments_always_show_highlights,用于在侧边栏关闭时保持评论高亮可见

此前,Comments 插件仅在 Comments 侧边栏打开时才会高亮显示已评论的内容。关闭侧边栏会移除编辑器内容中的高亮,导致已评论的内容容易被忽略,且用户可能在无警告的情况下覆盖这些内容。

在 TinyMCE 8.9.0 中,Comments 插件提供了 tinycomments_always_show_highlights 选项。当该选项设置为 true 时,无论 Comments 侧边栏是否打开,已评论的内容都会保持高亮。此选项默认值为 false,以保留原有行为。

选择评论高亮会打开 Comments 侧边栏

此前,当 Comments 侧边栏关闭时,Comments 插件会移除高亮,因此用户无法从编辑器内容中重新开启对话。

在 TinyMCE 8.9.0 中,当 tinycomments_always_show_highlights 选项设置为 true 时,选择高亮内容会重新打开已关闭的 Comments 侧边栏。

Comments 侧边栏支持调整大小且默认宽度更宽

此前,Comments 插件的内容样式将 Comments 侧边栏的宽度固定为 300 像素,用户无法更改该宽度。

在 TinyMCE 8.9.0 中,Comments 侧边栏注册时 resizable 属性设置为 true,因此用户可以通过拖动其边缘来调整大小。侧边栏的打开宽度由 sidebar_width 选项设置,默认值为 440 像素,因此 Comments 侧边栏的默认宽度比早期版本更宽。将 sidebar_width 设置为 300 可恢复之前的宽度,并将该宽度应用于编辑器中所有可调整大小的侧边栏。

有关 Comments 插件的信息,请参阅:Comments。

TinyMCE AI

TinyMCE 8.9.0 版本包含 TinyMCE AI Premium 插件的配套版本。

TinyMCE AI 包含以下修复、新增功能和改进。

改进文档过长时快速操作或审阅的错误提示信息

此前,当文档内容超出 AI 服务的上下文限制时,快速操作或审阅会失败,并显示通用错误消息 An error occurred while processing the AI response.。该消息未指出文档长度是导致失败的原因。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件在因上述原因导致快速操作或审阅失败时,会显示 This document is too long for the AI to process at once.。由于完整文档始终会发送至 AI 服务,该消息仅说明限制,未建议纠正措施。

改进将无效 URL 添加为上下文来源时的错误提示信息

此前,在聊天侧边栏中将格式错误的 URL 添加为上下文来源时,会显示 Provided URL is not valid.。该消息未指出需要更正地址的哪一部分。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件在相同情况下会显示 This URL isn't valid. Check the full, correct web address and try again.。该消息针对地址格式问题。若格式正确的地址指向无法访问的页面,仍会被接受并发送处理。

聊天欢迎操作会将焦点移至编辑器并重置内容滚动位置

此前,在 AI 聊天侧边栏中选择欢迎操作时,会在执行操作命令前将焦点移至编辑器。焦点移至编辑器会使内容滚动到当前选中位置,若未进行选中,则滚动到内容开头。用户在浏览文档后,一旦选择欢迎操作,滚动位置便会丢失。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件执行欢迎操作命令时不会将焦点移至编辑器。选择欢迎操作后,编辑器的滚动位置和焦点保持不变。欢迎操作通过 tinymceai_chat_welcome_actions 选项配置。

无法使用 Esc 键关闭工具提示

以前,TinyMCE AI 侧边栏中显示的提示框(tooltip)不会响应 Esc 键。这些侧边栏使用它们自己的提示框,与编辑器中用于关闭提示框的键盘快捷键没有关联,因此打开的提示框会一直留在屏幕上,直到指针或焦点移动到别处。键盘用户无法关闭遮挡界面的提示框。

在 TinyMCE 8.9.0 中,按 Esc 键会关闭 TinyMCE AI 侧边栏中打开的提示框。

嵌套列表或表格旁边的文本更改在 Review 模式下不会显示为差异

以前,与同一容器内的嵌套列表或表格直接并排的文本不会作为块级更改被追踪,因此生成建议的比较过程会跳过它。即使审阅返回了对该文本的建议,Review 模式也会显示该文本未更改。审阅者无法看到或操作这些建议,并且一旦审阅完成,建议的编辑内容就会丢失。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件在准备文档进行比较时,会将嵌套列表或表格旁边的文本视为块级更改。现在,对该文本的建议会与其他建议一起显示在 Review 侧边栏和文档中,并且每个建议都可以照常接受或拒绝。

用于运行审阅的新命令

在 TinyMCE 8.9.0 中,TinyMCE AI 插件会为每个内置审阅注册一个编辑器命令,例如 TinyMCEAIReviewProofread 和 TinyMCEAIReviewToneProfessional。该插件还会注册 TinyMCEAIReviewCustom 命令,该命令可以根据自定义提示运行审阅,或者通过标识符运行集成方定义的审阅。每个命令都会打开 Review 侧边栏并运行审阅,结果与在侧边栏中选择该审阅相同。以前,只能从 Review 侧边栏启动审阅,因此集成方案无法从自己的界面启动审阅。

有关命令标识符以及 TinyMCEAIReviewCustom 接受的值,请参阅 TinyMCE AI plugin commands。

添加文件上下文源失败时显示的错误消息得到改进

以前,当 AI 服务拒绝在 Chat 侧边栏中添加作为上下文源的文件时,侧边栏会使用服务返回的消息(例如 Content too large)报告失败。这些消息描述的是服务响应,而不是文件本身,因此用户无法判断文件的哪个属性导致了失败,也不知道应该尝试什么替代操作。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件会针对它能识别的每种文件失败情况显示相应的消息:

  • 文件过大时,显示 This file is too large to add. Try a smaller one.

  • 文件页数过多时,显示 This file has too many pages to process. Try one with fewer pages.

  • 文件类型不受支持时,显示 This file type isn't supported. Try a different file.

当无法确定原因时,插件显示 This file can't be added. Try a smaller file, or a different file type.

聊天消息超出 AI 上下文限制时显示的错误消息得到改进

以前,当聊天消息与对话历史合并后超过 AI 服务的上下文限制时,Chat 侧边栏会用通用消息 An error occurred while processing the AI response. 报告失败。该消息没有指出请求大小是原因,因此用户无法判断是应该缩短消息、开始新对话,还是原样重试。

在 TinyMCE 8.9.0 中,当 AI 服务报告聊天请求超过上下文限制时,TinyMCE AI 插件会显示 This message is too long for the AI to process. Try a shorter message, or start a new chat.。该消息指出了原因并描述了两种继续操作的方式。

聊天提示超过最大长度时显示的错误消息得到改进

以前,当在 Chat 侧边栏中输入的文本超过 AI 服务接受的单条消息最大长度时,请求会失败,Chat 侧边栏会用通用消息 An error occurred while processing the AI response. 报告。该消息没有指出输入文本的长度是原因,因此用户无法知道缩短消息可以解决该失败问题。

在 TinyMCE 8.9.0 中,当输入的文本超过该限制时,TinyMCE AI 插件会显示 This prompt is too long. Try a shorter one.。此消息仅适用于输入的消息本身,与消息和对话历史合并后超过 AI 服务上下文限制时显示的消息不同。

现在,tinymceai_chat_fetch_sources 选项可以为聊天对话指定默认源。

以前,TinyMCE AI 插件在新的 AI Chat 对话中仅将当前文档应用于上下文。用户必须为每个新对话手动添加所有其他上下文源(例如样式指南或参考文档)。

在 TinyMCE 8.9.0 中,传递给 tinymceai_chat_fetch_sources 的函数可以解析为一个包含 menu 属性和 defaults 属性的对象,其中 menu 属性包含 sources 菜单中显示的来源组,而 defaults 属性包含一个来源标识符的数组。插件将 defaults 中列出的每个来源添加到每个新对话的上下文中,并在 sources 菜单中显示为选中状态。用户可以从对话中移除默认来源,并可再次从 sources 菜单中添加。

在 defaults 中列出但 sources 中没有匹配来源的标识符不会被添加到上下文中,插件会在浏览器控制台中记录错误信息。

该选项仍然接受解析为来源组数组的函数,因此现有配置不受影响。

有关配置对话上下文的详细信息,请参阅 Adding custom context sources。

编辑器内容和 AI 预览之间会保留滚动位置

以前,编辑器内容和 AI 预览之间的滚动位置无法保持同步。打开预览、运行审阅或应用快速操作时,视口可能会偏离正在处理的文档部分,导致用户丢失当前位置。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件会记录距离当前滚动位置最近的内容块,并将视图恢复到该块。打开预览、运行审阅和应用快速操作时都会保留该位置,即使编辑器和预览中的内容高度不同,也能恢复到同一个块。

恢复了 AI 建议预览中仅含图标的按钮

在 TinyMCE 8.7.0 版本中,AI 建议预览中仅含图标的按钮被替换为带有标签的 Apply 和 Skip 按钮。

在 TinyMCE 8.9.0 中,TinyMCE AI 插件恢复了 TinyMCE 8.7.0 之前使用的仅含图标的按钮。勾选按钮用于应用建议,关闭按钮用于跳过建议,每个按钮都会显示其操作名称的提示文本,分别为 Apply suggestion 和 Skip suggestion。应用按钮仍为主要操作,预览工具栏的间距与 TinyMCE 8.7.0 保持不变。

有关 TinyMCE AI 插件的信息,请参阅:TinyMCE AI。

改进

TinyMCE 8.9.0 还包括以下改进:

现在可以通过拖动侧边栏的边缘来调整其大小,并且可以通过新的 sidebar_width 选项配置其宽度。

以前,应用于侧边栏内容的样式固定了该侧边栏的宽度。在宽屏编辑器中工作的用户无法为侧边栏腾出更多空间,而在窄屏编辑器中工作的用户也无法为可编辑区域回收空间。

在 TinyMCE 8.9.0 中,TinyMCE 会在将 resizable 属性设置为 true 的侧边栏上渲染一个调整大小手柄,用户可以通过拖动该手柄来调整侧边栏大小。由 Comments 和 TinyMCE AI 插件注册的侧边栏默认情况下均可调整大小。当 tinymceai_sidebar_type 设置为 'floating' 时,TinyMCE AI 侧边栏不可调整大小。为了保持可编辑区域的可用性,无论用户请求的宽度是多少,TinyMCE 都不会允许可编辑区域缩小到 280 像素以下。

Help 对话框会将元数据无效的插件列为纯文本

以前,Help 对话框的 Plugins 标签会使用插件返回的元数据,而不会检查预期字段是否存在且类型正确。即使插件仅提供了名称但没有 URL,仍会被渲染为链接,选择该链接会导航到 /undefined。

在 TinyMCE 8.9.0 中,Help 对话框在渲染插件之前会检查其提供的元数据。如果插件的元数据缺失或类型异常,则会将其列为纯文本而非链接;若提供了插件名称,则使用该名称,否则使用插件标识符。

新增功能

TinyMCE 8.9.0 还包括以下新增功能:

用于配置可调整大小的侧边栏宽度的新选项

以前,侧边栏的内容样式决定了该侧边栏的宽度,且没有编辑器选项可以设置该宽度。

在 TinyMCE 8.9.0 中,有三个新选项可用于配置任何将 resizable 属性设置为 true 的已注册侧边栏的宽度。sidebar_width 选项用于设置侧边栏打开时的宽度,默认值为 440。sidebar_min_width 和 sidebar_max_width 选项用于设置用户可拖动侧边栏的最小和最大宽度,默认值分别为 300 和 800。这三个选项均以像素为单位设置宽度。为确保可编辑区域保持可用,TinyMCE 不允许可编辑区域的宽度缩小至 280 像素以下,且此限制优先于上述三个选项。

新增 SidebarResizeStart 和 SidebarResized 事件用于跟踪侧边栏大小调整

在 TinyMCE 8.9.0 中,新增了两个事件用于报告用户何时调整侧边栏大小。当用户开始拖动调整大小手柄时,TinyMCE 会触发 SidebarResizeStart 事件;当用户停止拖动时,会触发 SidebarResized 事件。SidebarResized 事件携带一个 { width: number } 负载,其中包含调整大小后侧边栏的宽度(以像素为单位)。

结合 sidebar_width 选项,这些事件允许集成存储用户选择的宽度,并在编辑器下次加载时恢复该宽度。示例请参见:Persisting the sidebar width。

更改

TinyMCE 8.9.0 还包括以下更改:

新的 resizable 属性控制自定义侧边栏是否可调整大小

此前,通过 addSidebar 注册的侧边栏内容的样式控制该侧边栏的宽度。可调整大小的侧边栏需要 TinyMCE 来控制该宽度,而这种控制权的变更会改变每个现有自定义侧边栏的渲染方式。

在 TinyMCE 8.9.0 中,addSidebar 规范对象接受一个新的可选 resizable 属性,该属性默认值为 false。未设置该属性而注册的自定义侧边栏将像旧版本一样渲染,且不可调整大小,因此现有集成不受影响。将该属性设置为 true 可使侧边栏可调整大小,并要求侧边栏内容遵循父元素的宽度。相关信息请参见:Styling a resizable sidebar。

由 Comments 和 TinyMCE AI 插件注册的侧边栏将 resizable 设置为 true,默认可调整大小。

Bug 修复

TinyMCE 8.9.0 还包括以下 bug 修复:

更新时,带有空 alt 文本的图片会添加 role="presentation" 而非 alt 文本

此前,Image 插件将任何具有空 alt 属性的图片视为装饰性图片。当 a11y_advanced_options 被禁用时,Insert/Edit Image 对话框不会显示 Image is decorative 选项,因此对话框未提供更改该状态的方法。为此类图片输入替代文本并保存对话框后,会应用 role="presentation" 并使 alt 属性保持为空,丢弃已输入的文本。

在 TinyMCE 8.9.0 中,Image 插件仅在 Insert/Edit Image 对话框显示无障碍选项时才将图片标记为装饰性图片。现在,为具有空 alt 属性的图片输入替代文本后,会将该文本应用于图片。

从工具栏打开或关闭侧边栏会使编辑器滚动到所选内容

此前,当编辑器未聚焦时,从工具栏按钮打开或关闭侧边栏会使编辑器内容滚动到当前所选内容。切换侧边栏并非内容操作,因此视口会从用户正在阅读的文档部分移开。

在 TinyMCE 8.9.0 中,从工具栏切换侧边栏不再将所选内容滚动到视图中。这适用于所有通过 editor.ui.registry.addSidebar 注册的侧边栏。更改内容的命令(如 Bold)仍会像以前一样使编辑器聚焦并滚动到所选内容。

editor.focus() 方法还接受一个对象参数,因此调用者可以在不将所选内容滚动到视图的情况下使编辑器聚焦,例如 editor.focus({ scrollToSelection: false })。scrollToSelection 属性默认值为 true,传递布尔值仍会像以前一样工作。