From 2acbde515eb08ad0dbf84291f376bd56e2092aad Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Thu, 24 Apr 2025 11:43:55 +1000 Subject: [PATCH 01/23] DOC-3202: Add migration guides for users migrating from TinyMCE 4,5 to v7. --- modules/ROOT/nav.adoc | 2 ++ modules/ROOT/pages/migration-from-4x.adoc | 7 +++++++ modules/ROOT/pages/migration-from-5x.adoc | 7 +++++++ 3 files changed, 16 insertions(+) create mode 100644 modules/ROOT/pages/migration-from-4x.adoc create mode 100644 modules/ROOT/pages/migration-from-5x.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 06ebe6242f..6905a40bb5 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -209,6 +209,8 @@ **** xref:bundling-localization.adoc[UI localizations] **** xref:bundling-themes.adoc[Themes] ** xref:upgrading.adoc[Upgrading {productname}] +** xref:migration-from-4x.adoc[Migrating from {productname} 4] +** xref:migration-from-5x.adoc[Migrating from {productname} 5] ** xref:migration-from-6x.adoc[Migrating from {productname} 6] ** xref:migration-from-froala.adoc[Migrating from Froala] ** xref:generate-rsa-key-pairs.adoc[Generate public key pairs] diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc new file mode 100644 index 0000000000..5f214fe542 --- /dev/null +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -0,0 +1,7 @@ += Migrating from {productname} 4 to {productname} 7 +:navtitle: Migrating from TinyMCE 4 +:description: Guidance for migrating from TinyMCE 4 to TinyMCE 7 +:keywords: migration, considerations, premigration, pre-migration +:release-version: 7.0 + +// Todo diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc new file mode 100644 index 0000000000..50e47b6020 --- /dev/null +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -0,0 +1,7 @@ += Migrating from {productname} 5 to {productname} 7 +:navtitle: Migrating from TinyMCE 5 +:description: Guidance for migrating from TinyMCE 5 to TinyMCE 7 +:keywords: migration, considerations, premigration, pre-migration +:release-version: 7.0 + +// Todo From d6c410cd0d91bac7d25bfb8a63cc775023742389 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 13 May 2025 15:49:07 +1000 Subject: [PATCH 02/23] DOC-3202: add migration guide outline initial. --- modules/ROOT/pages/migration-from-4x.adoc | 148 ++++++++++++++++++++- modules/ROOT/pages/migration-from-5x.adoc | 151 +++++++++++++++++++++- 2 files changed, 293 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 5f214fe542..afc9db27a6 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -1,7 +1,149 @@ -= Migrating from {productname} 4 to {productname} 7 += Migrating from {productname} 4 to {productname} {release-version} :navtitle: Migrating from TinyMCE 4 -:description: Guidance for migrating from TinyMCE 4 to TinyMCE 7 +:description: Guidance for migrating from TinyMCE 4 to TinyMCE {release-version} :keywords: migration, considerations, premigration, pre-migration :release-version: 7.0 -// Todo + +== Overview + +{productname} has evolved significantly from version 4 to version {release-version}, introducing major architectural changes, modern UI improvements, enhanced performance, and better security. This guide outlines the critical breaking changes, recommended migration action steps, and top-level configuration adjustments required to upgrade from {productname} v4 to v{release-version}. + +== Key Changes + +=== UI Themes and Skins + +* **Removed**: modern, lightgray, and mobile themes/skins. +* **New**: silver theme with oxide skin (supports light and dark variants). see xref:customize-ui.adoc#themes[customize-ui]. +* **Impact**: Custom v4 skins/themes are incompatible with v{release-version} and must be rewritten using the oxide skin structure. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +skin: "oxide-dark", +content_css: "dark", +}); +---- + +=== Plugin Ecosystem + +// The contextmenu plugin was absorbed into core, the options still works, see https://www.tiny.cloud/docs/tinymce/latest/contextmenu/. not sure why this is mentioned as removed. +* **Removed**: `colorpicker`, `contextmenu`, `imagetools`, `legacyoutput`, `bbcode`, `fullpage`, `template`, `print`, `spellchecker`, and `tabfocus` plugins. +* **Core Integrations**: Many plugins are now part of the core (e.g., `paste`, `hr`, `noneditable`, `table`). +* **Premium Only**: Plugins like `spellchecker`, `tableofcontents`, `mediaembed` are now premium. + +Plugin Migration Examples: + +* **contextmenu** (Removed in v5): +** Replace with browser-native context menus or custom menu logic. +** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. +* **bbcode** (Removed in v6): +** Replace with custom parsing or server-side processing if needed. +* **fullpage** (Removed in v6): +** No direct replacement. Use custom templates or server-side processing for full HTML documents. +* **template** (Removed in v{release-version}): +** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. +* **textcolor** (Removed in v6): +** Use `forecolor` and `backcolor` buttons instead. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +toolbar: "undo redo | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify", +plugins: ["lists link image table code"], +}); +---- + +=== Content Structure + +* **Removed**: `forced_root_block: false`. +** **Requirement**: All content must be wrapped in block elements (e.g.,

). + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +forced_root_block: "p" +}); +---- + +=== Configuration Changes + +// multiple toolbars still work https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/#toolbarn not sure why this is mentioned as decricated +* **Deprecated**: toolbar1, toolbar2, theme, skin, mobile configurations. +** **New Options**: Consolidate toolbar settings and use new options like xref:content-filtering.adoc#sandbox-iframes[sandbox iframes], xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds], and xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", +toolbar_mode: "floating", +sandbox_iframes: true, +convert_unsafe_embeds: true +}); +---- + +=== Licensing Changes (GPL v2+ and Commercial) + +* **Legacy License**: {productname} 4 was licensed under LGPL 2.1. +* **New License**: {productname} {release-version} is licensed under GPL v2+ or a commercial license. +* **Impact**: The xref:license-key.adoc[License key] option is required as part of your editor configuration if self-hosting {productname}. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +license_key: "your-license-key" +}); +---- + +== Migration Steps + +. **Backup and Prepare**: Ensure comprehensive backups before upgrading. +. **Update Core Initialization**: +.. Remove `theme`, `skin`, and `forced_root_block: false` options. +.. Consolidate toolbars. +.. Review new v{release-version} defaults for security settings. +. **Plugin Migration**: +.. Remove deprecated plugins from your configuration. +.. Update renamed plugins (e.g., `spellchecker` → `tinymcespellchecker`). +.. Verify premium plugins for compatibility. +. **Custom Code Updates**: +.. Rewrite custom plugins using the `editor.ui.registry.*` API. see link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/[editor.ui.registry]. +.. Replace v4 API methods like `editor.addButton`, `editor.addMenuItem`, `editor.windowManager.open`. +.. Update media embed handling (`media_url_resolver` API changes). see xref:media.adoc#media_url_resolver[media_url_resolver]. +. **CSS Updates**: +.. Remove `.mce-*` classes and use `.tox-*` classes. +.. Review custom skins and stylesheets for compatibility with Oxide. +. **Testing and Deployment**: +.. Thoroughly test your updated configuration before production deployment. +.. Validate media, iframe, and content security settings. + +== Additional Resources + +* link:https://www.tiny.cloud/docs/tinymce/latest/[{productname} {release-version} Documentation] +* xref:license-key.adoc[License Key Setup] +* link:https://community.tiny.cloud/[Community Forum] +* link:https://github.com/tinymce/tinymce/issues[GitHub Issues] + +== Helpful Links + +To make your upgrade smooth, check the following version-specific migration guides: + +* link:https://www.tiny.cloud/docs/tinymce/5/migration-from-4x/[Migrating from {productname} 4 to {productname} 5] +* link:https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/[Migrating from {productname} 5 to {productname} 6] +* link:https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/[Migrating from {productname} 6 to {productname} {release-version}] + +These include deeper configuration notes, plugin replacements, and examples. + +== Next Steps + +Ensure you follow the migration steps carefully to avoid common issues like missing plugins, broken UI, and unexpected formatting changes. Consider running your updated editor in a staging environment for a complete verification before final deployment. diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 50e47b6020..9ef6a6f74b 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -1,7 +1,152 @@ -= Migrating from {productname} 5 to {productname} 7 += Migrating from {productname} 5 to {productname} {release-version} :navtitle: Migrating from TinyMCE 5 -:description: Guidance for migrating from TinyMCE 5 to TinyMCE 7 +:description: Guidance for migrating from TinyMCE 5 to TinyMCE {release-version} :keywords: migration, considerations, premigration, pre-migration :release-version: 7.0 -// Todo +== Overview + +{productname} has evolved significantly from version 5 to version {release-version}, introducing architectural improvements, modern UI enhancements, stricter security defaults, and updated plugin structures. This guide outlines the critical breaking changes, recommended migration action steps, and top-level configuration adjustments required to upgrade from {productname} v5 to v{release-version}. + +== Key Changes + +=== UI Themes and Skins + +* **Minor Adjustments**: Oxide-based skins from v5 remain mostly compatible but may require small CSS adjustments for v{release-version}. +* **Impact**: Test custom skins visually, as minor DOM changes can affect layout and styling. +* **Browser Support**: Internet Explorer 11 is no longer supported in v{release-version} (dropped in v6), requiring modern browsers. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +skin: "oxide-dark", +content_css: "dark", +}); +---- + +=== Plugin Ecosystem + +// The contextmenu plugin was absorbed into core, the options still works, see https://www.tiny.cloud/docs/tinymce/latest/contextmenu/. not sure why this is mentioned as removed. +* **Moved to Core**: `paste`, `hr`, `table`, `noneditable`, `nonbreaking`. +* **Removed**: `imagetools`, `template`, `colorpicker`, `contextmenu`, `legacyoutput`. +* **Premium Only**: `mediaembed`, `toc` (renamed to `tableofcontents`), `advtemplate`. + +Plugin Migration Examples: + +* **contextmenu** (Removed in v5): +** Replace with browser-native context menus or custom menu logic. +** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. +* **bbcode** (Removed in v6): +** Replace with custom parsing or server-side processing if needed. +* **fullpage** (Removed in v6): +** No direct replacement. Use custom templates or server-side processing for full HTML documents. +* **template** (Removed in v{release-version}): +** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. +* **textcolor** (Removed in v6): +** Use `forecolor` and `backcolor` buttons instead. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +toolbar: "undo redo | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify", +plugins: ["lists link image table code"], +}); +---- + +=== Content Structure + +* **Removed**: `forced_root_block: false`. +** **Requirement**: All content must be wrapped in block elements (e.g., `

`). + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +forced_root_block: "p" +}); +---- + +=== API and Initialization Changes + +// multiple toolbars still work https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/#toolbarn not sure why this is mentioned as decricated +* **Deprecated**: toolbar1, toolbar2, theme, skin, mobile configurations. +* **New Options**: Consolidate toolbar settings and use new options like xref:content-filtering.adoc#sandbox-iframes[sandbox iframes], xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds], and xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]. +* **UI API Updates**: Rewrite custom plugins using the `editor.ui.registry.*` API. Replace methods like `editor.addButton`, `editor.addMenuItem`, and `editor.windowManager.open`. +* **Promise-based Methods**: `media_url_resolver` now returns a Promise, requiring async handling. +* **Obsolete Options**: Remove `force_hex_color` and update `table_responsive_width` to `table_sizing_mode`. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", +toolbar_mode: "floating", +sandbox_iframes: true, +convert_unsafe_embeds: true, +highlight_on_focus: true +}); +---- + +=== Licensing Changes (GPL v2+ and Commercial) + +* **Legacy License**: {productname} 5 was licensed under LGPL 2.1. +* **New License**: {productname} {release-version} is licensed under GPL v2+ or a commercial license. +* **Impact**: The xref:license-key.adoc[License key] option is required as part of your editor configuration if self-hosting {productname}. + +.Example: +[source,js] +---- +tinymce.init({ +selector: "textarea", +license_key: "your-license-key" +}); +---- + +== Migration Steps + +. **Backup and Prepare**: Ensure comprehensive backups before upgrading. +. **Update Core Initialization**: +.. Remove `theme`, `skin`, and `forced_root_block: false` options. +.. Consolidate toolbars. +.. Review new v{release-version} defaults for security settings. +. **Plugin Migration**: +.. Remove deprecated plugins from your configuration. +.. Update renamed plugins (e.g., `spellchecker` → `tinymcespellchecker`). +.. Verify premium plugins for compatibility. +. **Custom Code Updates**: +.. Rewrite custom plugins using the `editor.ui.registry.*` API. +.. Replace v5 API methods like `editor.addButton`, `editor.addMenuItem`, `editor.windowManager.open`. +.. Update media embed handling (`media_url_resolver` API changes). see xref:media.adoc#media_url_resolver[media_url_resolver]. +. **CSS Updates**: +.. Remove `.mce-*` classes and use `.tox-*` classes. +.. Review custom skins and stylesheets for compatibility with Oxide. +. **Testing and Deployment**: +.. Thoroughly test your updated configuration before production deployment. +.. Validate media, iframe, and content security settings. + +== Additional Resources + +* link:https://www.tiny.cloud/docs/tinymce/latest/[{productname} {release-version} Documentation] +* xref:license-key.adoc[License Key Setup] +* link:https://community.tiny.cloud/[Community Forum] +* link:https://github.com/tinymce/tinymce/issues[GitHub Issues] + +== Helpful Links + +To make your upgrade smooth, check the following version-specific migration guides: + +* link:https://www.tiny.cloud/docs/tinymce/5/migration-from-4x/[Migrating from {productname} 4 to {productname} 5] +* link:https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/[Migrating from {productname} 5 to {productname} 6] +* link:https://www.tiny.cloud/docs/tinymce/latest/migration-from-6x/[Migrating from {productname} 6 to {productname} {release-version}] + +These include deeper configuration notes, plugin replacements, and examples. + +== Next Steps + +Ensure you follow the migration steps carefully to avoid common issues like missing plugins, broken UI, and unexpected formatting changes. Consider running your updated editor in a staging environment for a complete verification before final deployment. From 4688e8605a48baac36e4b8ecbbe7baafddd94b04 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 13 May 2025 15:55:16 +1000 Subject: [PATCH 03/23] DOC-3202: Fix formatting for plugin migration examples in migration guides. --- modules/ROOT/pages/migration-from-4x.adoc | 10 +++++----- modules/ROOT/pages/migration-from-5x.adoc | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index afc9db27a6..48d2b21f05 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -36,16 +36,16 @@ content_css: "dark", Plugin Migration Examples: -* **contextmenu** (Removed in v5): +* `contextmenu` (Removed in v5): ** Replace with browser-native context menus or custom menu logic. ** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. -* **bbcode** (Removed in v6): +* `bbcode` (Removed in v6): ** Replace with custom parsing or server-side processing if needed. -* **fullpage** (Removed in v6): +* `fullpage (Removed in v6): ** No direct replacement. Use custom templates or server-side processing for full HTML documents. -* **template** (Removed in v{release-version}): +* `template` (Removed in v{release-version}): ** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. -* **textcolor** (Removed in v6): +* `textcolor` (Removed in v6): ** Use `forecolor` and `backcolor` buttons instead. .Example: diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 9ef6a6f74b..14286661e2 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -35,16 +35,16 @@ content_css: "dark", Plugin Migration Examples: -* **contextmenu** (Removed in v5): +* `contextmenu` (Removed in v5): ** Replace with browser-native context menus or custom menu logic. ** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. -* **bbcode** (Removed in v6): +* `bbcode` (Removed in v6): ** Replace with custom parsing or server-side processing if needed. -* **fullpage** (Removed in v6): +* `fullpage` (Removed in v6): ** No direct replacement. Use custom templates or server-side processing for full HTML documents. -* **template** (Removed in v{release-version}): +* `template` (Removed in v{release-version}): ** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. -* **textcolor** (Removed in v6): +* `textcolor` (Removed in v6): ** Use `forecolor` and `backcolor` buttons instead. .Example: From 5ca7ecd947a97e5a5d8b0f6a637dc9fad05f7c2f Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 13 May 2025 15:57:58 +1000 Subject: [PATCH 04/23] Update modules/ROOT/pages/migration-from-4x.adoc --- modules/ROOT/pages/migration-from-4x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 48d2b21f05..eab1d58a2a 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -41,7 +41,7 @@ Plugin Migration Examples: ** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. * `bbcode` (Removed in v6): ** Replace with custom parsing or server-side processing if needed. -* `fullpage (Removed in v6): +* `fullpage` (Removed in v6): ** No direct replacement. Use custom templates or server-side processing for full HTML documents. * `template` (Removed in v{release-version}): ** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. From 380001cb6c93d8bc33218e569ff67e11fdf2a1cd Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 14 May 2025 13:57:11 +1000 Subject: [PATCH 05/23] Update modules/ROOT/pages/migration-from-4x.adoc Co-authored-by: shirqa <43625458+ShiridiGandham@users.noreply.github.com> --- modules/ROOT/pages/migration-from-4x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index eab1d58a2a..194a280d8e 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -105,7 +105,7 @@ license_key: "your-license-key" }); ---- -== Migration Steps +== Migration Tips . **Backup and Prepare**: Ensure comprehensive backups before upgrading. . **Update Core Initialization**: From 3cc1af02226cfefad7ea12f68455ea541a2fcb47 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 14 May 2025 13:57:17 +1000 Subject: [PATCH 06/23] Update modules/ROOT/pages/migration-from-5x.adoc Co-authored-by: shirqa <43625458+ShiridiGandham@users.noreply.github.com> --- modules/ROOT/pages/migration-from-5x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 14286661e2..6355a2acb9 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -108,7 +108,7 @@ license_key: "your-license-key" }); ---- -== Migration Steps +== Migration Tips . **Backup and Prepare**: Ensure comprehensive backups before upgrading. . **Update Core Initialization**: From 51d8b7eb2890e4d580d914e01cd1ecb1722e8a4c Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 10:16:16 +1000 Subject: [PATCH 07/23] Update modules/ROOT/pages/migration-from-4x.adoc --- modules/ROOT/pages/migration-from-4x.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 194a280d8e..73bda0c185 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -129,6 +129,7 @@ license_key: "your-license-key" == Additional Resources +* Paid users can link:https://www.tiny.cloud/contact/[contact our Technical Support] team for help. * link:https://www.tiny.cloud/docs/tinymce/latest/[{productname} {release-version} Documentation] * xref:license-key.adoc[License Key Setup] * link:https://community.tiny.cloud/[Community Forum] From 7226b425e978cd06ce02e05fa360ab778995bdf4 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 10:16:23 +1000 Subject: [PATCH 08/23] Update modules/ROOT/pages/migration-from-5x.adoc --- modules/ROOT/pages/migration-from-5x.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 6355a2acb9..e06db56ede 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -132,6 +132,7 @@ license_key: "your-license-key" == Additional Resources +* Paid users can link:https://www.tiny.cloud/contact/[contact our Technical Support] team for help. * link:https://www.tiny.cloud/docs/tinymce/latest/[{productname} {release-version} Documentation] * xref:license-key.adoc[License Key Setup] * link:https://community.tiny.cloud/[Community Forum] From 7208ba5889f66a0058a467522ae91bbf84a953f6 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 10:17:17 +1000 Subject: [PATCH 09/23] Update modules/ROOT/pages/migration-from-5x.adoc --- modules/ROOT/pages/migration-from-5x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index e06db56ede..537b3cb82f 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -132,8 +132,8 @@ license_key: "your-license-key" == Additional Resources -* Paid users can link:https://www.tiny.cloud/contact/[contact our Technical Support] team for help. * link:https://www.tiny.cloud/docs/tinymce/latest/[{productname} {release-version} Documentation] +* Paid users can link:https://www.tiny.cloud/contact/[contact our Technical Support] team for help. * xref:license-key.adoc[License Key Setup] * link:https://community.tiny.cloud/[Community Forum] * link:https://github.com/tinymce/tinymce/issues[GitHub Issues] From 431e6216bf81091d00f3c27fbd1c872cbaf84ce4 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 10:17:42 +1000 Subject: [PATCH 10/23] Update modules/ROOT/pages/migration-from-4x.adoc --- modules/ROOT/pages/migration-from-4x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 73bda0c185..8ce0c8277c 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -129,8 +129,8 @@ license_key: "your-license-key" == Additional Resources -* Paid users can link:https://www.tiny.cloud/contact/[contact our Technical Support] team for help. * link:https://www.tiny.cloud/docs/tinymce/latest/[{productname} {release-version} Documentation] +* Paid users can link:https://www.tiny.cloud/contact/[contact our Technical Support] team for help. * xref:license-key.adoc[License Key Setup] * link:https://community.tiny.cloud/[Community Forum] * link:https://github.com/tinymce/tinymce/issues[GitHub Issues] From 80da35693f9dd9877ba157fcd3ec7b8452cbf9a6 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 13:26:07 +1000 Subject: [PATCH 11/23] Update modules/ROOT/pages/migration-from-4x.adoc --- modules/ROOT/pages/migration-from-4x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 8ce0c8277c..9b3dc22258 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -94,7 +94,7 @@ convert_unsafe_embeds: true * **Legacy License**: {productname} 4 was licensed under LGPL 2.1. * **New License**: {productname} {release-version} is licensed under GPL v2+ or a commercial license. -* **Impact**: The xref:license-key.adoc[License key] option is required as part of your editor configuration if self-hosting {productname}. +* **Impact**: The xref:license-key.adoc[License key] option is required as part of your editor configuration if self-hosting {productname}. This requirement does not apply if you are loading {productname} from the cloud. .Example: [source,js] From 91a1eb299dec9ef8a0d683d9225310d3fcb6191a Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 13:26:36 +1000 Subject: [PATCH 12/23] Update modules/ROOT/pages/migration-from-5x.adoc --- modules/ROOT/pages/migration-from-5x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 537b3cb82f..b7a5e712b2 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -97,7 +97,7 @@ highlight_on_focus: true * **Legacy License**: {productname} 5 was licensed under LGPL 2.1. * **New License**: {productname} {release-version} is licensed under GPL v2+ or a commercial license. -* **Impact**: The xref:license-key.adoc[License key] option is required as part of your editor configuration if self-hosting {productname}. +* **Impact**: The xref:license-key.adoc[License key] option is required as part of your editor configuration if self-hosting {productname}. This requirement does not apply if you are loading {productname} from the cloud. .Example: [source,js] From 008a4d16c2988d015cd8c82b9e2cd6e071837233 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 15:57:16 +1000 Subject: [PATCH 13/23] Update modules/ROOT/pages/migration-from-4x.adoc --- modules/ROOT/pages/migration-from-4x.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 9b3dc22258..67322c1777 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -121,7 +121,7 @@ license_key: "your-license-key" .. Replace v4 API methods like `editor.addButton`, `editor.addMenuItem`, `editor.windowManager.open`. .. Update media embed handling (`media_url_resolver` API changes). see xref:media.adoc#media_url_resolver[media_url_resolver]. . **CSS Updates**: -.. Remove `.mce-*` classes and use `.tox-*` classes. +.. Update custom styles to align with the new Oxide standard. While many `+.mce-*+` classes have been replaced with `+.tox-*+` classes, some `+.mce-*+` prefixes remain in use. Review your CSS to ensure compatibility. .. Review custom skins and stylesheets for compatibility with Oxide. . **Testing and Deployment**: .. Thoroughly test your updated configuration before production deployment. From 96dc4f9d37c59a5651f9ea792e9af1bcde9d3cd6 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 15:57:57 +1000 Subject: [PATCH 14/23] Update modules/ROOT/pages/migration-from-4x.adoc --- modules/ROOT/pages/migration-from-4x.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 67322c1777..2faf40d511 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -122,7 +122,6 @@ license_key: "your-license-key" .. Update media embed handling (`media_url_resolver` API changes). see xref:media.adoc#media_url_resolver[media_url_resolver]. . **CSS Updates**: .. Update custom styles to align with the new Oxide standard. While many `+.mce-*+` classes have been replaced with `+.tox-*+` classes, some `+.mce-*+` prefixes remain in use. Review your CSS to ensure compatibility. -.. Review custom skins and stylesheets for compatibility with Oxide. . **Testing and Deployment**: .. Thoroughly test your updated configuration before production deployment. .. Validate media, iframe, and content security settings. From 05e3196531a46a2db0a521d67a982d93596b75a1 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 20 May 2025 15:58:50 +1000 Subject: [PATCH 15/23] Update modules/ROOT/pages/migration-from-5x.adoc --- modules/ROOT/pages/migration-from-5x.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index b7a5e712b2..584ef2e3bd 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -124,8 +124,7 @@ license_key: "your-license-key" .. Replace v5 API methods like `editor.addButton`, `editor.addMenuItem`, `editor.windowManager.open`. .. Update media embed handling (`media_url_resolver` API changes). see xref:media.adoc#media_url_resolver[media_url_resolver]. . **CSS Updates**: -.. Remove `.mce-*` classes and use `.tox-*` classes. -.. Review custom skins and stylesheets for compatibility with Oxide. +.. Update custom styles to align with the new Oxide standard. While many `+.mce-*+` classes have been replaced with `+.tox-*+` classes, some `+.mce-*+` prefixes remain in use. Review your CSS to ensure compatibility. . **Testing and Deployment**: .. Thoroughly test your updated configuration before production deployment. .. Validate media, iframe, and content security settings. From f76d0327db6683d25a45bad88ef93be624801b16 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 14:41:04 +1000 Subject: [PATCH 16/23] DOC-3202: copy edits, improvements based on feedback. --- modules/ROOT/pages/migration-from-4x.adoc | 99 ++++++++++---- modules/ROOT/pages/migration-from-5x.adoc | 151 +++++++++++++++++----- 2 files changed, 192 insertions(+), 58 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 2faf40d511..825a108a42 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -29,24 +29,64 @@ content_css: "dark", === Plugin Ecosystem -// The contextmenu plugin was absorbed into core, the options still works, see https://www.tiny.cloud/docs/tinymce/latest/contextmenu/. not sure why this is mentioned as removed. -* **Removed**: `colorpicker`, `contextmenu`, `imagetools`, `legacyoutput`, `bbcode`, `fullpage`, `template`, `print`, `spellchecker`, and `tabfocus` plugins. -* **Core Integrations**: Many plugins are now part of the core (e.g., `paste`, `hr`, `noneditable`, `table`). -* **Premium Only**: Plugins like `spellchecker`, `tableofcontents`, `mediaembed` are now premium. +The {productname} plugin ecosystem was significantly restructured in version 6.0, with several plugins being removed, folded into the core, or reclassified as premium features. The following breakdown clarifies the status of each affected plugin. -Plugin Migration Examples: +* **Removed Plugins** (no longer available as of {productname} 6.0): +** `colorpicker`: Deprecated in 5.0; functionality absorbed into core. Removed in 6.0. +** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into the core editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. +** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and editor core. +** `bbcode`: Deprecated in 5.9.0. Removed in 6.0. +** `fullpage`: Deprecated in 5.9.0. Removed in 6.0. +** `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. +** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. +** `template`: Removed in {release-version}. Integrators are encouraged to migrate to the premium xref:advanced-templates.adoc[Templates] plugin. -* `contextmenu` (Removed in v5): -** Replace with browser-native context menus or custom menu logic. +* **Integrated into Core**: +** `paste`, `hr`, `noneditable`, `table`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. + +* **Now Premium Only**: + +** `spellchecker`, `editimage`, `mediaembed`, `tableofcontents`: These features are available through premium plugins. + +.Plugin Migration Examples + +* `contextmenu` (removed in v6): +** Use browser-native context menus or custom logic. ** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. -* `bbcode` (Removed in v6): -** Replace with custom parsing or server-side processing if needed. -* `fullpage` (Removed in v6): -** No direct replacement. Use custom templates or server-side processing for full HTML documents. -* `template` (Removed in v{release-version}): -** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. -* `textcolor` (Removed in v6): -** Use `forecolor` and `backcolor` buttons instead. +* `bbcode` (removed in v6): +** Implement custom parsing or server-side processing if BBCode support is required. +* `fullpage` (removed in v6): +** Use custom templates or server-side logic to handle full HTML documents. +* `template` (removed in v{release-version}): +** Use the premium xref:advanced-templates.adoc[advtemplate] plugin or implement custom modal dialogs. +* `textcolor` (removed in v6): +** Use the `forecolor` and `backcolor` toolbar buttons for text color functionality. + +[NOTE] +==== +If you used the following toolbar buttons or menu options, they have changed names across major {productname} versions. Please refer to the release notes for each version for complete migration details. + +{productname} 5 → {productname} 6: +* `formatselect` → `blocks` (toolbar item) +* `blockformats` → `blocks` (menu item) +* `styleselect` → `styles` (toolbar item) +* `formats` → `styles` (menu item) +* `fontselect` → `fontfamily` (toolbar item) +* `fontformats` → `fontfamily` (menu item) +* `fontsizeselect` → `fontsize` (toolbar item) +* `fontsizes` → `fontsize` (menu item) +* `imagetools` → `editimage` (plugin and related toolbar items) +* `toc` → `tableofcontents` (plugin, menu item, and toolbar item) +* `tocupdate` → `tableofcontentsupdate` (toolbar item) + +{productname} 6 → {productname} 7: +* `InsertOrderedList` and `InsertUnorderedList` commands were removed from the core and are now provided by the `lists` plugin. +* Default text pattern triggers were updated to activate on `Space` instead of `Enter`. A `trigger` property was added to configure block-level text pattern behavior. + +Refer to the latest release notes at https://www.tiny.cloud/docs/tinymce/latest/release-notes/ for further details. +==== + +TIP: Always refer to the latest plugin documentation at link:https://www.tiny.cloud/docs/plugins/ for up-to-date availability and migration guidance. .Example: [source,js] @@ -61,7 +101,7 @@ plugins: ["lists link image table code"], === Content Structure * **Removed**: `forced_root_block: false`. -** **Requirement**: All content must be wrapped in block elements (e.g.,

). +** **Requirement**: All editor content must be enclosed in block elements (e.g., `

`). .Example: [source,js] @@ -74,19 +114,30 @@ forced_root_block: "p" === Configuration Changes -// multiple toolbars still work https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/#toolbarn not sure why this is mentioned as decricated -* **Deprecated**: toolbar1, toolbar2, theme, skin, mobile configurations. -** **New Options**: Consolidate toolbar settings and use new options like xref:content-filtering.adoc#sandbox-iframes[sandbox iframes], xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds], and xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]. +* **Removed in {productname} 6.0**: Legacy mobile theme was removed, but mobile-specific configuration is still supported through the `mobile` option. +* **Default Changes in TinyMCE 7.0**: + * xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) + * xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) + * xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) +* **New Options in {productname} 7.0**: + * xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key + * xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing .Example: [source,js] ---- tinymce.init({ -selector: "textarea", -toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", -toolbar_mode: "floating", -sandbox_iframes: true, -convert_unsafe_embeds: true + selector: "textarea", + toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", + toolbar_mode: "floating", + license_key: "gpl", // Required in TinyMCE 7.0 if self-hosting + // Security options now enabled by default in TinyMCE 7.0 + sandbox_iframes: true, + convert_unsafe_embeds: true, + // Optional: exclude specific domains from iframe sandboxing + sandbox_iframes_exclusions: ["youtube.com", "vimeo.com"], + // Accessibility improvement, now enabled by default + highlight_on_focus: true }); ---- diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 584ef2e3bd..03670a9367 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -28,71 +28,154 @@ content_css: "dark", === Plugin Ecosystem -// The contextmenu plugin was absorbed into core, the options still works, see https://www.tiny.cloud/docs/tinymce/latest/contextmenu/. not sure why this is mentioned as removed. -* **Moved to Core**: `paste`, `hr`, `table`, `noneditable`, `nonbreaking`. -* **Removed**: `imagetools`, `template`, `colorpicker`, `contextmenu`, `legacyoutput`. -* **Premium Only**: `mediaembed`, `toc` (renamed to `tableofcontents`), `advtemplate`. +=== Plugin Ecosystem + +The {productname} plugin ecosystem underwent a significant overhaul starting in version 6.0, with many plugins either removed, integrated into the core, or made premium-only. The following summarizes these changes. + +* **Removed Plugins**: +** `colorpicker`: Deprecated in 5.0; functionality absorbed into core. Removed in 6.0. +** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into the core editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. +** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and editor core. +** `bbcode`: Deprecated in 5.9.0. Removed in 6.0. +** `fullpage`: Deprecated in 5.9.0. Removed in 6.0. +** `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. +** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. +** `template`: Removed in {release-version}. Integrators are encouraged to migrate to the premium xref:advanced-templates.adoc[Templates] plugin. +** `imagetools`: Removed in 6.0. + +* **Integrated into Core**: +** `paste`, `hr`, `table`, `noneditable`, `nonbreaking`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. + +* **Now Premium Only**: +** `spellchecker`, `editimage`, `mediaembed`, `tableofcontents`: These features are available through premium plugins. +** `toc`: Renamed to `tableofcontents` and now premium. +** `advtemplate`: Replaces the `template` plugin for advanced templating use cases. -Plugin Migration Examples: +.Plugin Migration Examples -* `contextmenu` (Removed in v5): -** Replace with browser-native context menus or custom menu logic. +* `contextmenu` (removed in v6): +** Use browser-native context menus or custom logic. ** Consider using link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.editor.ui.registry/#addContextMenu[editor.ui.registry.addContextMenu] for custom right-click actions. -* `bbcode` (Removed in v6): -** Replace with custom parsing or server-side processing if needed. -* `fullpage` (Removed in v6): -** No direct replacement. Use custom templates or server-side processing for full HTML documents. -* `template` (Removed in v{release-version}): -** Use premium xref:advanced-templates.adoc[advtemplate] or implement custom modal dialogs for templating. -* `textcolor` (Removed in v6): -** Use `forecolor` and `backcolor` buttons instead. +* `bbcode` (removed in v6): +** Implement custom parsing or server-side processing if BBCode support is required. +* `fullpage` (removed in v6): +** Use custom templates or server-side logic to handle full HTML documents. +* `template` (removed in v{release-version}): +** Use the premium xref:advanced-templates.adoc[advtemplate] plugin or implement custom modal dialogs. +* `textcolor` (removed in v6): +** Use the `forecolor` and `backcolor` toolbar buttons for text color functionality. + +[NOTE] +==== +If you used the following toolbar buttons or menu options, they have changed names across major {productname} versions. Please refer to the release notes for each version for complete migration details. + +{productname} 5 → {productname} 6: +* `formatselect` → `blocks` (toolbar item) +* `blockformats` → `blocks` (menu item) +* `styleselect` → `styles` (toolbar item) +* `formats` → `styles` (menu item) +* `fontselect` → `fontfamily` (toolbar item) +* `fontformats` → `fontfamily` (menu item) +* `fontsizeselect` → `fontsize` (toolbar item) +* `fontsizes` → `fontsize` (menu item) +* `imagetools` → `editimage` (plugin and related toolbar items) +* `toc` → `tableofcontents` (plugin, menu item, and toolbar item) +* `tocupdate` → `tableofcontentsupdate` (toolbar item) + +{productname} 6 → {productname} 7: +* `InsertOrderedList` and `InsertUnorderedList` commands were removed from the core and are now provided by the `lists` plugin. +* Default text pattern triggers were updated to activate on `Space` instead of `Enter`. A `trigger` property was added to configure block-level text pattern behavior. + +Refer to the latest release notes at https://www.tiny.cloud/docs/tinymce/latest/release-notes/ for further details. +==== + +TIP: Always refer to the latest plugin documentation at link:https://www.tiny.cloud/docs/plugins/ for up-to-date availability and migration guidance. .Example: [source,js] ---- tinymce.init({ -selector: "textarea", -toolbar: "undo redo | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify", -plugins: ["lists link image table code"], + selector: "textarea", + toolbar: "undo redo | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify", + plugins: ["lists link image table code"] }); ---- === Content Structure * **Removed**: `forced_root_block: false`. -** **Requirement**: All content must be wrapped in block elements (e.g., `

`). +** **Requirement**: All editor content must be enclosed in block elements (e.g., `

`). .Example: [source,js] ---- tinymce.init({ -selector: "textarea", -forced_root_block: "p" + selector: "textarea", + forced_root_block: "p" }); ---- -=== API and Initialization Changes +=== Configuration Changes + +* **Removed in {productname} 6.0**: Legacy mobile theme was removed, but mobile-specific configuration is still supported through the `mobile` option. + +* **UI API Updates**: +** Update custom plugins to use `+editor.ui.registry.*+`. +** Replace deprecated methods like `+editor.addButton+`, `+editor.addMenuItem+`, and `+editor.windowManager.open+`. -// multiple toolbars still work https://www.tiny.cloud/docs/tinymce/latest/toolbar-configuration-options/#toolbarn not sure why this is mentioned as decricated -* **Deprecated**: toolbar1, toolbar2, theme, skin, mobile configurations. -* **New Options**: Consolidate toolbar settings and use new options like xref:content-filtering.adoc#sandbox-iframes[sandbox iframes], xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds], and xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]. -* **UI API Updates**: Rewrite custom plugins using the `editor.ui.registry.*` API. Replace methods like `editor.addButton`, `editor.addMenuItem`, and `editor.windowManager.open`. -* **Promise-based Methods**: `media_url_resolver` now returns a Promise, requiring async handling. -* **Obsolete Options**: Remove `force_hex_color` and update `table_responsive_width` to `table_sizing_mode`. +* **Promise-Based Methods**: +** `media_url_resolver` now requires a `Promise` return for asynchronous handling. + +* **Removed Options**: +** `force_hex_color` has been removed. Use standard CSS color declarations. +** `table_responsive_width` replaced by `table_sizing_mode`. + +* **Default Changes in TinyMCE 7.0**: + * xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) + * xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) + * xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) + +* **New Options in {productname} 7.0**: + * xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key + * xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing .Example: [source,js] ---- tinymce.init({ -selector: "textarea", -toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", -toolbar_mode: "floating", -sandbox_iframes: true, -convert_unsafe_embeds: true, -highlight_on_focus: true + selector: "textarea", + toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", + toolbar_mode: "floating", + license_key: "gpl", // Required in TinyMCE 7.0 if self-hosting + // Security options now enabled by default in TinyMCE 7.0 + sandbox_iframes: true, + convert_unsafe_embeds: true, + // Optional: exclude specific domains from iframe sandboxing + sandbox_iframes_exclusions: ["youtube.com", "vimeo.com"], + // Accessibility improvement, now enabled by default + highlight_on_focus: true }); ---- +TIP: For up-to-date plugin availability and configuration references, see link:https://www.tiny.cloud/docs/plugins/. + +[NOTE] +==== +Refer to version-specific release notes for changes in toolbar button names and command availability across versions 5, 6, and 7. For example: + +{productname} 5 → {productname} 6: +* `formatselect` → `blocks` +* `styleselect` → `styles` +* `fontselect` → `fontfamily` +* `fontsizeselect` → `fontsize` +* `imagetools` → `editimage` +* `toc` → `tableofcontents` + +{productname} 6 → {productname} 7: +* `InsertOrderedList` / `InsertUnorderedList` commands removed from core (use `lists` plugin). +* Default text pattern triggers updated from `Enter` to `Space`, configurable via `trigger`. +==== + === Licensing Changes (GPL v2+ and Commercial) * **Legacy License**: {productname} 5 was licensed under LGPL 2.1. From ebfc5cf1e9bffe6295db29e9355c2ec0d1bc96dd Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 15:07:15 +1000 Subject: [PATCH 17/23] DOC-3202: fix nesting and syntax issues. --- modules/ROOT/pages/migration-from-4x.adoc | 18 ++++++++++-------- modules/ROOT/pages/migration-from-5x.adoc | 12 ++++++------ 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 825a108a42..89806b4d0d 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -45,7 +45,6 @@ The {productname} plugin ecosystem was significantly restructured in version 6.0 ** `paste`, `hr`, `noneditable`, `table`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. * **Now Premium Only**: - ** `spellchecker`, `editimage`, `mediaembed`, `tableofcontents`: These features are available through premium plugins. .Plugin Migration Examples @@ -67,6 +66,7 @@ The {productname} plugin ecosystem was significantly restructured in version 6.0 If you used the following toolbar buttons or menu options, they have changed names across major {productname} versions. Please refer to the release notes for each version for complete migration details. {productname} 5 → {productname} 6: + * `formatselect` → `blocks` (toolbar item) * `blockformats` → `blocks` (menu item) * `styleselect` → `styles` (toolbar item) @@ -80,21 +80,22 @@ If you used the following toolbar buttons or menu options, they have changed nam * `tocupdate` → `tableofcontentsupdate` (toolbar item) {productname} 6 → {productname} 7: + * `InsertOrderedList` and `InsertUnorderedList` commands were removed from the core and are now provided by the `lists` plugin. * Default text pattern triggers were updated to activate on `Space` instead of `Enter`. A `trigger` property was added to configure block-level text pattern behavior. -Refer to the latest release notes at https://www.tiny.cloud/docs/tinymce/latest/release-notes/ for further details. +Refer to the latest release notes at link:https://www.tiny.cloud/docs/tinymce/latest/release-notes/[latest release notes] for further details. ==== -TIP: Always refer to the latest plugin documentation at link:https://www.tiny.cloud/docs/plugins/ for up-to-date availability and migration guidance. +TIP: Always refer to the latest plugin documentation at xref:plugins.adoc[plugins] for up-to-date availability and migration guidance. -.Example: +.Example of Toolbar Changes: [source,js] ---- tinymce.init({ -selector: "textarea", -toolbar: "undo redo | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify", -plugins: ["lists link image table code"], + selector: "textarea", + toolbar: "undo redo | forecolor backcolor | bold italic | alignleft aligncenter alignright alignjustify", + plugins: ["lists link image table code"] }); ---- @@ -130,7 +131,8 @@ tinymce.init({ selector: "textarea", toolbar: "undo redo | blocks | bold italic | alignleft aligncenter alignright alignjustify | outdent indent | removeformat", toolbar_mode: "floating", - license_key: "gpl", // Required in TinyMCE 7.0 if self-hosting + // Required in TinyMCE 7.0 if self-hosting + license_key: "gpl", // Security options now enabled by default in TinyMCE 7.0 sandbox_iframes: true, convert_unsafe_embeds: true, diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 03670a9367..46643a77aa 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -28,11 +28,9 @@ content_css: "dark", === Plugin Ecosystem -=== Plugin Ecosystem - The {productname} plugin ecosystem underwent a significant overhaul starting in version 6.0, with many plugins either removed, integrated into the core, or made premium-only. The following summarizes these changes. -* **Removed Plugins**: +* **Removed Plugins** (no longer available as of {productname} 6.0): ** `colorpicker`: Deprecated in 5.0; functionality absorbed into core. Removed in 6.0. ** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into the core editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. ** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and editor core. @@ -70,6 +68,7 @@ The {productname} plugin ecosystem underwent a significant overhaul starting in If you used the following toolbar buttons or menu options, they have changed names across major {productname} versions. Please refer to the release notes for each version for complete migration details. {productname} 5 → {productname} 6: + * `formatselect` → `blocks` (toolbar item) * `blockformats` → `blocks` (menu item) * `styleselect` → `styles` (toolbar item) @@ -83,15 +82,16 @@ If you used the following toolbar buttons or menu options, they have changed nam * `tocupdate` → `tableofcontentsupdate` (toolbar item) {productname} 6 → {productname} 7: + * `InsertOrderedList` and `InsertUnorderedList` commands were removed from the core and are now provided by the `lists` plugin. * Default text pattern triggers were updated to activate on `Space` instead of `Enter`. A `trigger` property was added to configure block-level text pattern behavior. -Refer to the latest release notes at https://www.tiny.cloud/docs/tinymce/latest/release-notes/ for further details. +Refer to the latest release notes at link:https://www.tiny.cloud/docs/tinymce/latest/release-notes/[latest release notes] for further details. ==== -TIP: Always refer to the latest plugin documentation at link:https://www.tiny.cloud/docs/plugins/ for up-to-date availability and migration guidance. +TIP: Always refer to the latest plugin documentation at xref:plugins.adoc[plugins] for up-to-date availability and migration guidance. -.Example: +.Example of Toolbar Changes: [source,js] ---- tinymce.init({ From c2cb082db069a47758c9b742daa9265d79b7360f Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 15:18:47 +1000 Subject: [PATCH 18/23] DOC-3202: add missing imagetools legacy plugin. --- modules/ROOT/pages/migration-from-4x.adoc | 3 +++ modules/ROOT/pages/migration-from-5x.adoc | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 89806b4d0d..dbf57fe213 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -40,6 +40,7 @@ The {productname} plugin ecosystem was significantly restructured in version 6.0 ** `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. ** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. ** `template`: Removed in {release-version}. Integrators are encouraged to migrate to the premium xref:advanced-templates.adoc[Templates] plugin. +** `imagetools`: Removed in 6.0. Replaced by the Premium xref:editimage.adoc[Enhanced Image Editing] feature, available via the `+editimage+` plugin introduced in TinyMCE 6.0. * **Integrated into Core**: ** `paste`, `hr`, `noneditable`, `table`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. @@ -60,6 +61,8 @@ The {productname} plugin ecosystem was significantly restructured in version 6.0 ** Use the premium xref:advanced-templates.adoc[advtemplate] plugin or implement custom modal dialogs. * `textcolor` (removed in v6): ** Use the `forecolor` and `backcolor` toolbar buttons for text color functionality. +* `imagetools`: (removed in v6): +** Use the premium xref:editimage.adoc[Enhanced Image Editing] or xref:uploadcare.adoc[Image Optimizer Powered by Uploadcare] plugin for image editing capabilities. [NOTE] ==== diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 46643a77aa..f8570da4b5 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -39,7 +39,7 @@ The {productname} plugin ecosystem underwent a significant overhaul starting in ** `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. ** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. ** `template`: Removed in {release-version}. Integrators are encouraged to migrate to the premium xref:advanced-templates.adoc[Templates] plugin. -** `imagetools`: Removed in 6.0. +** `imagetools`: Removed in 6.0. Replaced by the Premium xref:editimage.adoc[Enhanced Image Editing] feature, available via the `+editimage+` plugin introduced in TinyMCE 6.0. * **Integrated into Core**: ** `paste`, `hr`, `table`, `noneditable`, `nonbreaking`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. @@ -62,6 +62,8 @@ The {productname} plugin ecosystem underwent a significant overhaul starting in ** Use the premium xref:advanced-templates.adoc[advtemplate] plugin or implement custom modal dialogs. * `textcolor` (removed in v6): ** Use the `forecolor` and `backcolor` toolbar buttons for text color functionality. +* `imagetools`: (removed in v6): +** Use the premium xref:editimage.adoc[Enhanced Image Editing] or xref:uploadcare.adoc[Image Optimizer Powered by Uploadcare] plugin for image editing capabilities. [NOTE] ==== From ee579b0658e1fd7ef749cb8f071182946ae721a8 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 15:47:12 +1000 Subject: [PATCH 19/23] DOC-3202: Update migration guides: refine plugin migration examples and clarify default changes for TinyMCE 7.0 --- modules/ROOT/pages/migration-from-4x.adoc | 12 ++++++------ modules/ROOT/pages/migration-from-5x.adoc | 14 ++++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index dbf57fe213..1ce540a564 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -48,7 +48,7 @@ The {productname} plugin ecosystem was significantly restructured in version 6.0 * **Now Premium Only**: ** `spellchecker`, `editimage`, `mediaembed`, `tableofcontents`: These features are available through premium plugins. -.Plugin Migration Examples +==== Plugin Migration Tips * `contextmenu` (removed in v6): ** Use browser-native context menus or custom logic. @@ -120,12 +120,12 @@ forced_root_block: "p" * **Removed in {productname} 6.0**: Legacy mobile theme was removed, but mobile-specific configuration is still supported through the `mobile` option. * **Default Changes in TinyMCE 7.0**: - * xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) - * xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) - * xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) +** xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) +** xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) +** xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) * **New Options in {productname} 7.0**: - * xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key - * xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing +** xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key +** xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing .Example: [source,js] diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index f8570da4b5..65748005b4 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -49,7 +49,7 @@ The {productname} plugin ecosystem underwent a significant overhaul starting in ** `toc`: Renamed to `tableofcontents` and now premium. ** `advtemplate`: Replaces the `template` plugin for advanced templating use cases. -.Plugin Migration Examples +==== Plugin Migration Examples * `contextmenu` (removed in v6): ** Use browser-native context menus or custom logic. @@ -133,13 +133,13 @@ tinymce.init({ ** `table_responsive_width` replaced by `table_sizing_mode`. * **Default Changes in TinyMCE 7.0**: - * xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) - * xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) - * xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) +** xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) +** xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) +** xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) * **New Options in {productname} 7.0**: - * xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key - * xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing +** xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key +** xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing .Example: [source,js] @@ -166,6 +166,7 @@ TIP: For up-to-date plugin availability and configuration references, see link:h Refer to version-specific release notes for changes in toolbar button names and command availability across versions 5, 6, and 7. For example: {productname} 5 → {productname} 6: + * `formatselect` → `blocks` * `styleselect` → `styles` * `fontselect` → `fontfamily` @@ -174,6 +175,7 @@ Refer to version-specific release notes for changes in toolbar button names and * `toc` → `tableofcontents` {productname} 6 → {productname} 7: + * `InsertOrderedList` / `InsertUnorderedList` commands removed from core (use `lists` plugin). * Default text pattern triggers updated from `Enter` to `Space`, configurable via `trigger`. ==== From 0cca86c7cc48df873672f092c584f7d97add6532 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 16:39:02 +1000 Subject: [PATCH 20/23] DOC-3202: update information around theme and skins. --- modules/ROOT/pages/migration-from-4x.adoc | 4 +++- modules/ROOT/pages/migration-from-5x.adoc | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 1ce540a564..3fd2ec8b96 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -165,7 +165,9 @@ license_key: "your-license-key" . **Backup and Prepare**: Ensure comprehensive backups before upgrading. . **Update Core Initialization**: -.. Remove `theme`, `skin`, and `forced_root_block: false` options. +.. Update `theme`, `skin`, and to refect the new oxide theme and skin. +... In {productname} 4, there were multiple themes available including 'modern', 'inlite', and 'mobile'. These themes were removed in {productname} 5 and combined into a single responsive theme called "Silver". +.. Update `forced_root_block: false` options to `forced_root_block: "

"`. .. Consolidate toolbars. .. Review new v{release-version} defaults for security settings. . **Plugin Migration**: diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 65748005b4..73d5198dcb 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -199,7 +199,9 @@ license_key: "your-license-key" . **Backup and Prepare**: Ensure comprehensive backups before upgrading. . **Update Core Initialization**: -.. Remove `theme`, `skin`, and `forced_root_block: false` options. +.. Update `theme`, `skin`, and to refect the new oxide theme and skin. +... In {productname} 4, there were multiple themes available including 'modern', 'inlite', and 'mobile'. These themes were removed in {productname} 5 and combined into a single responsive theme called "Silver". +.. Update `forced_root_block: false` options to `forced_root_block: "

"`. .. Consolidate toolbars. .. Review new v{release-version} defaults for security settings. . **Plugin Migration**: From fcfb0c052f49a58847661b5459f0d996132d155e Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 20:33:26 +1000 Subject: [PATCH 21/23] DOC-3202: update plugin exosystem information. --- antora.yml | 1 + modules/ROOT/pages/migration-from-4x.adoc | 33 +++++++++++------------ modules/ROOT/pages/migration-from-5x.adoc | 33 +++++++++++------------ 3 files changed, 31 insertions(+), 36 deletions(-) diff --git a/antora.yml b/antora.yml index 74ed1f2175..73d3a1f0d8 100644 --- a/antora.yml +++ b/antora.yml @@ -40,6 +40,7 @@ asciidoc: supportname: Tiny Support contactsales: Contact Sales betaprogram: Tiny Insights Program + productcorename: TinyMCE Core (Open Source) #### some plugin names prem_skins_icons: Enhanced Skins & Icon Packs #### Plan names diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 3fd2ec8b96..abad4b6c88 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -29,24 +29,22 @@ content_css: "dark", === Plugin Ecosystem -The {productname} plugin ecosystem was significantly restructured in version 6.0, with several plugins being removed, folded into the core, or reclassified as premium features. The following breakdown clarifies the status of each affected plugin. +The {productname} plugin ecosystem was significantly restructured in version 6.0, with several plugins being removed, folded into the {productcorename}, or reclassified as premium features. The following breakdown clarifies the status of each affected plugin. * **Removed Plugins** (no longer available as of {productname} 6.0): -** `colorpicker`: Deprecated in 5.0; functionality absorbed into core. Removed in 6.0. -** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into the core editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. -** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and editor core. -** `bbcode`: Deprecated in 5.9.0. Removed in 6.0. -** `fullpage`: Deprecated in 5.9.0. Removed in 6.0. -** `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. -** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. -** `template`: Removed in {release-version}. Integrators are encouraged to migrate to the premium xref:advanced-templates.adoc[Templates] plugin. -** `imagetools`: Removed in 6.0. Replaced by the Premium xref:editimage.adoc[Enhanced Image Editing] feature, available via the `+editimage+` plugin introduced in TinyMCE 6.0. - -* **Integrated into Core**: -** `paste`, `hr`, `noneditable`, `table`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. +** `bbcode`, `fullpage`, `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. + +* **Integrated into {productcorename}**: +** `paste`, `hr`, `noneditable`, `table`, `print`, `colorpicker` and `contextmenu`: These plugins were absorbed into {productcorename} and no longer require separate installation. +** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into {productcorename} editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. +** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and {productcorename}. * **Now Premium Only**: -** `spellchecker`, `editimage`, `mediaembed`, `tableofcontents`: These features are available through premium plugins. +** `mediaembed`, `tableofcontents`: These features are available through premium plugins. +** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. +*** Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. +** `template`: Removed in {release-version}. Replaced by the premium xref:advanced-templates.adoc[Templates] plugin. +** `imagetools`: Removed in 6.0. Replaced by the premium xref:editimage.adoc[Enhanced Image Editing] feature, available via the `+editimage+` plugin introduced in TinyMCE 6.0. ==== Plugin Migration Tips @@ -64,8 +62,8 @@ The {productname} plugin ecosystem was significantly restructured in version 6.0 * `imagetools`: (removed in v6): ** Use the premium xref:editimage.adoc[Enhanced Image Editing] or xref:uploadcare.adoc[Image Optimizer Powered by Uploadcare] plugin for image editing capabilities. -[NOTE] -==== +==== Toolbar and Menu name changes + If you used the following toolbar buttons or menu options, they have changed names across major {productname} versions. Please refer to the release notes for each version for complete migration details. {productname} 5 → {productname} 6: @@ -84,11 +82,10 @@ If you used the following toolbar buttons or menu options, they have changed nam {productname} 6 → {productname} 7: -* `InsertOrderedList` and `InsertUnorderedList` commands were removed from the core and are now provided by the `lists` plugin. +* `InsertOrderedList` and `InsertUnorderedList` commands were removed from {productcorename} and are now provided by the `lists` plugin. * Default text pattern triggers were updated to activate on `Space` instead of `Enter`. A `trigger` property was added to configure block-level text pattern behavior. Refer to the latest release notes at link:https://www.tiny.cloud/docs/tinymce/latest/release-notes/[latest release notes] for further details. -==== TIP: Always refer to the latest plugin documentation at xref:plugins.adoc[plugins] for up-to-date availability and migration guidance. diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 73d5198dcb..e0dfd66e4a 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -31,21 +31,19 @@ content_css: "dark", The {productname} plugin ecosystem underwent a significant overhaul starting in version 6.0, with many plugins either removed, integrated into the core, or made premium-only. The following summarizes these changes. * **Removed Plugins** (no longer available as of {productname} 6.0): -** `colorpicker`: Deprecated in 5.0; functionality absorbed into core. Removed in 6.0. -** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into the core editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. -** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and editor core. -** `bbcode`: Deprecated in 5.9.0. Removed in 6.0. -** `fullpage`: Deprecated in 5.9.0. Removed in 6.0. -** `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. -** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. -** `template`: Removed in {release-version}. Integrators are encouraged to migrate to the premium xref:advanced-templates.adoc[Templates] plugin. -** `imagetools`: Removed in 6.0. Replaced by the Premium xref:editimage.adoc[Enhanced Image Editing] feature, available via the `+editimage+` plugin introduced in TinyMCE 6.0. - -* **Integrated into Core**: -** `paste`, `hr`, `table`, `noneditable`, `nonbreaking`, `print`, and `contextmenu`: These plugins were absorbed into the {productname} core and no longer require separate installation. +** `bbcode`, `fullpage`, `legacyoutput`: Deprecated in 5.9.0. Removed in 6.0. + +* **Integrated into {productcorename}**: +** `paste`, `hr`, `table`, `noneditable`, `nonbreaking`, `print`, `colorpicker` and `contextmenu`: These plugins were absorbed into {productcorename} and no longer require separate installation. +** `contextmenu`: Deprecated in version 5.0 following the integration of context menu functionality into {productcorename} editor. Removed in version 6.0. For more information, see the link:https://www.tiny.cloud/docs/tinymce/latest/contextmenu/[contextmenu documentation]. +** `tabfocus`: Removed in 6.0. Keyboard navigation via Tab is now handled by the browser and {productcorename}. * **Now Premium Only**: -** `spellchecker`, `editimage`, `mediaembed`, `tableofcontents`: These features are available through premium plugins. +** `mediaembed`, `tableofcontents`: These features are available through premium plugins. +** `spellchecker`: Deprecated in 5.9.0. Removed in 6.0. +*** Use `browser_spellcheck: true` or the premium xref:introduction-to-tiny-spellchecker.adoc[Spell Checker] plugin. +** `template`: Removed in {release-version}. Replaced by the premium xref:advanced-templates.adoc[Templates] plugin. +** `imagetools`: Removed in 6.0. Replaced by the premium xref:editimage.adoc[Enhanced Image Editing] feature, available via the `+editimage+` plugin introduced in TinyMCE 6.0. ** `toc`: Renamed to `tableofcontents` and now premium. ** `advtemplate`: Replaces the `template` plugin for advanced templating use cases. @@ -65,8 +63,8 @@ The {productname} plugin ecosystem underwent a significant overhaul starting in * `imagetools`: (removed in v6): ** Use the premium xref:editimage.adoc[Enhanced Image Editing] or xref:uploadcare.adoc[Image Optimizer Powered by Uploadcare] plugin for image editing capabilities. -[NOTE] -==== +==== Toolbar and Menu name changes + If you used the following toolbar buttons or menu options, they have changed names across major {productname} versions. Please refer to the release notes for each version for complete migration details. {productname} 5 → {productname} 6: @@ -85,11 +83,10 @@ If you used the following toolbar buttons or menu options, they have changed nam {productname} 6 → {productname} 7: -* `InsertOrderedList` and `InsertUnorderedList` commands were removed from the core and are now provided by the `lists` plugin. +* `InsertOrderedList` and `InsertUnorderedList` commands were removed from {productcorename} and are now provided by the `lists` plugin. * Default text pattern triggers were updated to activate on `Space` instead of `Enter`. A `trigger` property was added to configure block-level text pattern behavior. Refer to the latest release notes at link:https://www.tiny.cloud/docs/tinymce/latest/release-notes/[latest release notes] for further details. -==== TIP: Always refer to the latest plugin documentation at xref:plugins.adoc[plugins] for up-to-date availability and migration guidance. @@ -176,7 +173,7 @@ Refer to version-specific release notes for changes in toolbar button names and {productname} 6 → {productname} 7: -* `InsertOrderedList` / `InsertUnorderedList` commands removed from core (use `lists` plugin). +* `InsertOrderedList` / `InsertUnorderedList` commands removed from {productcorename} (use `lists` plugin). * Default text pattern triggers updated from `Enter` to `Space`, configurable via `trigger`. ==== From 1625ed83a2b0655df7225d3248bf26ccbdbafc1b Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 21 May 2025 20:45:53 +1000 Subject: [PATCH 22/23] DOC-3202: copy edits, cleanup. --- modules/ROOT/pages/migration-from-4x.adoc | 10 +++++----- modules/ROOT/pages/migration-from-5x.adoc | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index abad4b6c88..0ca00b6885 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -117,11 +117,11 @@ forced_root_block: "p" * **Removed in {productname} 6.0**: Legacy mobile theme was removed, but mobile-specific configuration is still supported through the `mobile` option. * **Default Changes in TinyMCE 7.0**: -** xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) -** xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) -** xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) +** xref:content-filtering.adoc#sandbox-iframes[`sandbox iframes`]: Now defaults to `true` (adds sandbox attribute to iframes) +** xref:content-filtering.adoc#convert-unsafe-embeds[`convert_unsafe_embeds`]: Now defaults to `true` (converts object/embed elements to safer alternatives) +** xref:accessibility.adoc#highlight_on_focus[`highlight_on_focus`]: Now defaults to `true` (adds focus outline to editors) * **New Options in {productname} 7.0**: -** xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key +** xref:license-key.adoc[`license_key`]: Must be set to `gpl` or a valid license key ** xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing .Example: @@ -164,7 +164,7 @@ license_key: "your-license-key" . **Update Core Initialization**: .. Update `theme`, `skin`, and to refect the new oxide theme and skin. ... In {productname} 4, there were multiple themes available including 'modern', 'inlite', and 'mobile'. These themes were removed in {productname} 5 and combined into a single responsive theme called "Silver". -.. Update `forced_root_block: false` options to `forced_root_block: "

"`. +.. Update `forced_root_block: false` options to `forced_root_block: "p"`. .. Consolidate toolbars. .. Review new v{release-version} defaults for security settings. . **Plugin Migration**: diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index e0dfd66e4a..2ce359e70f 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -130,12 +130,12 @@ tinymce.init({ ** `table_responsive_width` replaced by `table_sizing_mode`. * **Default Changes in TinyMCE 7.0**: -** xref:content-filtering.adoc#sandbox-iframes[sandbox iframes]: Now defaults to `true` (adds sandbox attribute to iframes) -** xref:content-filtering.adoc#convert-unsafe-embeds[convert_unsafe_embeds]: Now defaults to `true` (converts object/embed elements to safer alternatives) -** xref:accessibility.adoc#highlight_on_focus[highlight_on_focus]: Now defaults to `true` (adds focus outline to editors) +** xref:content-filtering.adoc#sandbox-iframes[`sandbox iframes`]: Now defaults to `true` (adds sandbox attribute to iframes) +** xref:content-filtering.adoc#convert-unsafe-embeds[`convert_unsafe_embeds`]: Now defaults to `true` (converts object/embed elements to safer alternatives) +** xref:accessibility.adoc#highlight_on_focus[`highlight_on_focus`]: Now defaults to `true` (adds focus outline to editors) * **New Options in {productname} 7.0**: -** xref:license-key.adoc[license_key]: Must be set to `gpl` or a valid license key +** xref:license-key.adoc[`license_key`]: Must be set to `gpl` or a valid license key ** xref:content-filtering.adoc#sandbox-iframes-exclusions[`sandbox_iframes_exclusions`]: List of URL hosts to exclude from iframe sandboxing .Example: @@ -198,7 +198,7 @@ license_key: "your-license-key" . **Update Core Initialization**: .. Update `theme`, `skin`, and to refect the new oxide theme and skin. ... In {productname} 4, there were multiple themes available including 'modern', 'inlite', and 'mobile'. These themes were removed in {productname} 5 and combined into a single responsive theme called "Silver". -.. Update `forced_root_block: false` options to `forced_root_block: "

"`. +.. Update `forced_root_block: false` options to `forced_root_block: "p"`. .. Consolidate toolbars. .. Review new v{release-version} defaults for security settings. . **Plugin Migration**: From 0401325a6f08f55661e0b8dabc0b6e34db599700 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Thu, 22 May 2025 08:55:15 +1000 Subject: [PATCH 23/23] DOC-3202: fix indentation for code blocks. --- modules/ROOT/pages/migration-from-4x.adoc | 14 +++++++------- modules/ROOT/pages/migration-from-5x.adoc | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/migration-from-4x.adoc b/modules/ROOT/pages/migration-from-4x.adoc index 0ca00b6885..e87859cf4b 100644 --- a/modules/ROOT/pages/migration-from-4x.adoc +++ b/modules/ROOT/pages/migration-from-4x.adoc @@ -21,9 +21,9 @@ [source,js] ---- tinymce.init({ -selector: "textarea", -skin: "oxide-dark", -content_css: "dark", + selector: "textarea", + skin: "oxide-dark", + content_css: "dark", }); ---- @@ -108,8 +108,8 @@ tinymce.init({ [source,js] ---- tinymce.init({ -selector: "textarea", -forced_root_block: "p" + selector: "textarea", + forced_root_block: "p" }); ---- @@ -153,8 +153,8 @@ tinymce.init({ [source,js] ---- tinymce.init({ -selector: "textarea", -license_key: "your-license-key" + selector: "textarea", + license_key: "your-license-key" }); ---- diff --git a/modules/ROOT/pages/migration-from-5x.adoc b/modules/ROOT/pages/migration-from-5x.adoc index 2ce359e70f..1b762d8b8b 100644 --- a/modules/ROOT/pages/migration-from-5x.adoc +++ b/modules/ROOT/pages/migration-from-5x.adoc @@ -20,9 +20,9 @@ [source,js] ---- tinymce.init({ -selector: "textarea", -skin: "oxide-dark", -content_css: "dark", + selector: "textarea", + skin: "oxide-dark", + content_css: "dark", }); ----