这是 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 作为上下文来源时,显示更清晰的错误信息

此前,在 Chat 侧边栏中将格式错误的 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. 。该信息针对地址格式问题。格式正确但指向无法访问页面的地址仍会被接受并发送处理。

Chat 欢迎操作将焦点移入编辑器并重置内容滚动位置

此前,在 AI Chat 侧边栏中选择欢迎操作时,会在执行操作命令前将焦点移入编辑器。编辑器获得焦点后,内容会滚动到当前选中位置;若未进行任何选中,则滚动到内容开头。已滚动浏览文档的用户在选择欢迎操作后,会立即丢失该滚动位置。

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

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

之前,TinyMCE AI 侧边栏中显示的工具提示不会响应 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 插件命令。

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

之前,当 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 属性(用于存储 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 选项,这些事件使得集成能够存储用户选择的宽度,并在下次编辑器加载时恢复该宽度。有关示例,请参阅:持久化侧边栏宽度。

变更

TinyMCE 8.9.0 还包括以下变更:

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

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

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

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

错误修复

TinyMCE 8.9.0 还包括以下错误修复:

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

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

在 TinyMCE 8.9.0 中,Image 插件仅在 插入/编辑图片 对话框显示可访问性选项时,才会将图片标记为装饰性图片。现在,为 alt 属性为空的图片输入替代文本会将该文本应用于图片。

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

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

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

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