From f508cb1079b6bb469ed355e38795cd3aa19050ca Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 11 May 2026 11:02:56 +1000 Subject: [PATCH 01/16] DOC-3505: Add self-hosted trial with cloud services page New documentation page for self-hosted trial customers explaining setup, available cloud-powered features, network requirements, limitations, and FAQ. Adds nav entry and hub page link. --- modules/ROOT/nav.adoc | 1 + .../ROOT/pages/installation-self-hosted.adoc | 5 + modules/ROOT/pages/self-hosted-trial.adoc | 189 ++++++++++++++++++ 3 files changed, 195 insertions(+) create mode 100644 modules/ROOT/pages/self-hosted-trial.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index f9327d1f6f..b3ee18aacd 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -19,6 +19,7 @@ ***** xref:bootstrap-cloud.adoc[Bootstrap] *** xref:installation-self-hosted.adoc[Self-hosted] **** xref:npm-projects.adoc[Quick start guide] +**** xref:self-hosted-trial.adoc[Self-hosted trial] **** Supported Integrations ***** React ****** xref:react-pm-host.adoc[Using a package manager with hosting] diff --git a/modules/ROOT/pages/installation-self-hosted.adoc b/modules/ROOT/pages/installation-self-hosted.adoc index b4254b7777..a7f32ae1f6 100644 --- a/modules/ROOT/pages/installation-self-hosted.adoc +++ b/modules/ROOT/pages/installation-self-hosted.adoc @@ -13,7 +13,12 @@ xref:npm-projects.adoc[Quick start: NPM/Yarn] Install and configure {productname} using NPM or Yarn. + | +[.lead] +xref:self-hosted-trial.adoc[Self-hosted trial] + +Evaluate {productname} premium features and cloud services in a self-hosted environment using a trial license key. |=== == Integrations diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc new file mode 100644 index 0000000000..7f65fc7a9e --- /dev/null +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -0,0 +1,189 @@ += Self-hosted trial with cloud services +:navtitle: Self-hosted trial +:description: Set up a self-hosted {productname} trial with access to cloud-powered premium features using NPM. +:keywords: trial, self-hosted, npm, cloud services, premium plugins, license key, tinymce-premium + +// TODO: Update option name `cloud_services_trial` when final name is confirmed (TINY-14259). + +== Overview + +A self-hosted trial provides access to {productname} premium plugins and cloud-powered services in a self-hosted environment. This allows evaluation of the full {productname} feature set, including features that depend on cloud services, without requiring a separate cloud deployment or additional scripts. + +During the trial period, {productname} connects to {cloudname} services using the trial license key. No separate API key is required. + +[NOTE] +==== +Only new customers can start a self-hosted trial. The trial period lasts 14 days from the date of sign-up. +==== + +== Prerequisites + +* A {productname} trial account with "self-hosted" selected as the deployment option. Sign up at link:https://www.tiny.cloud/get-tiny/[Get {productname}]. +* A trial license key, issued after sign-up. +* https://nodejs.org/[Node.js (and npm)] installed. +* A project directory with a `+package.json+` file. Initialize one by running `+npm init+` if needed. + +== Setup + +=== Step 1: Install {productname} and premium plugins + +Install both the core editor and premium plugins package: + +[source,sh,subs="attributes+"] +---- +npm install tinymce@^{productmajorversion} tinymce-premium@^{productmajorversion} +---- + +[NOTE] +==== +The self-hosted trial also supports installation using a ZIP package. For ZIP-based setup instructions, see xref:zip-install.adoc[Quick start: ZIP]. The remaining steps in this guide apply regardless of the installation method. +==== + +=== Step 2: Configure the editor with the trial license key + +Add the trial license key to the {productname} configuration using the `+license_key+` option: + +[source,js] +---- +tinymce.init({ + selector: 'textarea', // change this value according to the HTML + license_key: 'your-trial-license-key', + plugins: [ + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', + 'anchor', 'searchreplace', 'visualblocks', 'code', 'fullscreen', + 'insertdatetime', 'media', 'table', 'help', 'wordcount', + 'tinymcespellchecker', 'exportpdf', 'exportword', 'importword', + 'linkchecker', 'mediaembed', 'editimage', 'autocorrect', 'tinymceai' + ], + toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | help', + cloud_services_trial: true +}); +---- + +Replace the `+'your-trial-license-key'+` placeholder with the trial license key provided during sign-up. + +=== Step 3: Enable cloud services + +Set the `+cloud_services_trial+` option to `+true+` in the editor configuration. This option explicitly enables the connection to {cloudname} services for the duration of the trial. + +[IMPORTANT] +==== +Setting `+cloud_services_trial+` to `+true+` enables a network connection from the editor to {cloudname}. Features that depend on cloud services will not function without this option enabled. Remove or set this option to `+false+` to disable the cloud connection at any time. +==== + +=== Step 4: Ensure the license key manager is available + +The `+tinymce-premium+` NPM package includes the license key manager. If bundling {productname}, ensure the license key manager is imported: + +[source,javascript] +---- +import 'tinymce-premium/plugins/licensekeymanager'; +---- + +For hosting setups, ensure the `+licensekeymanager+` folder is present in the `+plugins+` directory alongside all other plugins. For more details, see xref:license-key.adoc#_setting_up_the_commercial_license_key_manager[Setting up the Commercial License Key Manager]. + +== Available features + +The self-hosted trial includes access to the following cloud-powered premium features: + +[cols="1,2", options="header"] +|=== +| Feature | Description + +| xref:introduction-to-tiny-spellchecker.adoc[Spell Checker Pro] +| Real-time spellchecking powered by cloud-based language services. + +| xref:linkchecker.adoc[Link Checker] +| Validates hyperlinks within content using a cloud-based link validation service. + +| xref:introduction-to-mediaembed.adoc[Enhanced Media Embed] +| Rich media previews for URLs using a cloud-based media resolution service. + +| xref:exportpdf.adoc[Export to PDF] +| Converts editor content to PDF format using a cloud-based conversion service. + +| xref:exportword.adoc[Export to Word] +| Converts editor content to DOCX format using a cloud-based conversion service. + +| xref:importword.adoc[Import from Word] +| Imports DOCX content into the editor using a cloud-based conversion service. + +| xref:editimage.adoc[Image Editing] +| Advanced image editing with cloud-based image proxy support. + +| xref:autocorrect.adoc[Autocorrect] +| Automatic text corrections powered by cloud-based language services. + +| xref:tinymceai.adoc[TinyMCE AI] +| AI-powered content generation and editing. +|=== + +In addition to cloud-powered features, all self-hosted premium plugins included in the `+tinymce-premium+` package are available during the trial without requiring a cloud connection. + +== Network requirements + +When `+cloud_services_trial+` is enabled, the editor connects to {cloudname} services. Ensure the following domains allow outbound access if the network uses a forward proxy or firewall: + +* `+https://spelling.tiny.cloud+` +* `+https://hyperlinking.tiny.cloud+` +* `+https://imageproxy.tiny.cloud+` +* `+https://exportpdf.tiny.cloud+` +* `+https://exportdocx.tiny.cloud+` +* `+https://importdocx.tiny.cloud+` + +[NOTE] +==== +The exact list of required domains depends on which cloud-powered features are enabled in the editor configuration. Only domains for enabled features require network access. +==== + +== Trial limitations + +[cols="1,2", options="header"] +|=== +| Limitation | Details + +| Duration +| 14 days from sign-up. + +| Eligibility +| New customers only. Existing customers with an active subscription are not eligible for a self-hosted trial. + +| After expiry +| The editor ceases to function when the trial license key expires. Purchase a commercial license to continue using {productname}. + +| Cloud services +| Cloud-powered features require an active internet connection and the `+cloud_services_trial+` option set to `+true+`. +|=== + +== After the trial + +To continue using {productname} after the trial period: + +* *Purchase a commercial license:* Visit link:https://www.tiny.cloud/pricing[{productname} Pricing] to select a plan. A commercial license key is provided for ongoing self-hosted use. +* *Self-hosted premium services:* For production use of features such as Spell Checker, Export to PDF, and Import from Word, self-host the required server-side services or use a {cloudname} plan. See xref:bundle-intro-setup.adoc[Premium server-side services] for self-hosting options. +* *Cloud deployment:* Alternatively, switch to a fully cloud-hosted deployment. See xref:editor-and-features.adoc[Cloud deployment] for setup instructions. + +== FAQ + +[cols="1,2", options="header"] +|=== +| Question | Answer + +| Does the trial require an API key? +| No. The trial license key is the only key required. There is no need to configure a separate API key for cloud services during the trial. + +| Can the cloud connection be disabled? +| Yes. Remove the `+cloud_services_trial+` option or set it to `+false+`. Cloud-powered features will not function without this option, but all self-hosted plugins will continue to operate. + +| What happens when the trial expires? +| {productname} disables the editor and displays a notification indicating that the license key has expired. Purchase a commercial license to continue use. + +| Is a separate script tag required for cloud services? +| No. Unlike a hybrid deployment, the self-hosted trial does not require an additional script tag. The `+cloud_services_trial+` option and the trial license key handle all cloud service connectivity. + +| Which plugins work without cloud services? +| All premium plugins that do not depend on an external service function during the trial regardless of the `+cloud_services_trial+` option value. This includes plugins such as xref:advtable.adoc[Advanced Tables], xref:introduction-to-powerpaste.adoc[PowerPaste], xref:footnotes.adoc[Footnotes], and xref:mergetags.adoc[Merge Tags], among others. + +| Can the trial be extended? +| Trial extensions are not available through self-service. Contact link:https://support.tiny.cloud[{productname} Support] for assistance. +|=== From 7406e65ac7637c8f2f87132fe1d3e217694e33d0 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 11 May 2026 13:35:33 +1000 Subject: [PATCH 02/16] DOC-3505: Address feedback from product review - Reframe overview to emphasize cloud connection is opt-in - Remove hard-coded trial duration (defer to Portal) - Remove specific plugin entitlement claims (defer to Portal) - Remove ZIP note (pending confirmation from Cloud team) - Rename section to "Cloud-powered features" for clarity - Add Portal links for trial details that may change --- modules/ROOT/pages/self-hosted-trial.adoc | 25 ++++++++++------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 7f65fc7a9e..366360603b 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -7,13 +7,13 @@ == Overview -A self-hosted trial provides access to {productname} premium plugins and cloud-powered services in a self-hosted environment. This allows evaluation of the full {productname} feature set, including features that depend on cloud services, without requiring a separate cloud deployment or additional scripts. +A self-hosted trial provides access to {productname} premium plugins in a self-hosted environment. Integrators can optionally connect to {cloudname} services during the trial to evaluate cloud-powered features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate cloud deployment or additional scripts. -During the trial period, {productname} connects to {cloudname} services using the trial license key. No separate API key is required. +Connecting to cloud services is opt-in. Setting the `+cloud_services_trial+` option to `+true+` enables the connection. Without this option, the editor operates entirely offline with no cloud dependency. No separate API key is required. [NOTE] ==== -Only new customers can start a self-hosted trial. The trial period lasts 14 days from the date of sign-up. +Only new customers can start a self-hosted trial. For trial duration and entitlement details, see the link:https://www.tiny.cloud/my-account[Tiny Cloud Account] portal. ==== == Prerequisites @@ -34,11 +34,6 @@ Install both the core editor and premium plugins package: npm install tinymce@^{productmajorversion} tinymce-premium@^{productmajorversion} ---- -[NOTE] -==== -The self-hosted trial also supports installation using a ZIP package. For ZIP-based setup instructions, see xref:zip-install.adoc[Quick start: ZIP]. The remaining steps in this guide apply regardless of the installation method. -==== - === Step 2: Configure the editor with the trial license key Add the trial license key to the {productname} configuration using the `+license_key+` option: @@ -82,9 +77,9 @@ import 'tinymce-premium/plugins/licensekeymanager'; For hosting setups, ensure the `+licensekeymanager+` folder is present in the `+plugins+` directory alongside all other plugins. For more details, see xref:license-key.adoc#_setting_up_the_commercial_license_key_manager[Setting up the Commercial License Key Manager]. -== Available features +== Cloud-powered features -The self-hosted trial includes access to the following cloud-powered premium features: +The following premium features require a connection to {cloudname} services and will only function when `+cloud_services_trial+` is set to `+true+`: [cols="1,2", options="header"] |=== @@ -118,7 +113,9 @@ The self-hosted trial includes access to the following cloud-powered premium fea | AI-powered content generation and editing. |=== -In addition to cloud-powered features, all self-hosted premium plugins included in the `+tinymce-premium+` package are available during the trial without requiring a cloud connection. +All other premium plugins included in the `+tinymce-premium+` package function during the trial without a cloud connection. + +For the full list of features included in a trial, see the link:https://www.tiny.cloud/my-account[Tiny Cloud Account] portal. == Network requirements @@ -143,7 +140,7 @@ The exact list of required domains depends on which cloud-powered features are e | Limitation | Details | Duration -| 14 days from sign-up. +| The trial period begins at sign-up. For the current trial duration, see the link:https://www.tiny.cloud/my-account[Tiny Cloud Account] portal. | Eligibility | New customers only. Existing customers with an active subscription are not eligible for a self-hosted trial. @@ -152,7 +149,7 @@ The exact list of required domains depends on which cloud-powered features are e | The editor ceases to function when the trial license key expires. Purchase a commercial license to continue using {productname}. | Cloud services -| Cloud-powered features require an active internet connection and the `+cloud_services_trial+` option set to `+true+`. +| Cloud-powered features require an active internet connection and the `+cloud_services_trial+` option set to `+true+`. Without this option, no cloud connection is made. |=== == After the trial @@ -182,7 +179,7 @@ To continue using {productname} after the trial period: | No. Unlike a hybrid deployment, the self-hosted trial does not require an additional script tag. The `+cloud_services_trial+` option and the trial license key handle all cloud service connectivity. | Which plugins work without cloud services? -| All premium plugins that do not depend on an external service function during the trial regardless of the `+cloud_services_trial+` option value. This includes plugins such as xref:advtable.adoc[Advanced Tables], xref:introduction-to-powerpaste.adoc[PowerPaste], xref:footnotes.adoc[Footnotes], and xref:mergetags.adoc[Merge Tags], among others. +| All premium plugins that do not depend on an external service function during the trial regardless of the `+cloud_services_trial+` option value. Only the features listed in <> require the cloud connection to be enabled. | Can the trial be extended? | Trial extensions are not available through self-service. Contact link:https://support.tiny.cloud[{productname} Support] for assistance. From 7274368d3d8909767997e126f6195d32460065dd Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 11 May 2026 13:36:31 +1000 Subject: [PATCH 03/16] DOC-3505: Simplify network requirements to *.tiny.cloud Per engineering discussion, use wildcard domain instead of individual service URLs. Links to CSP page for detail. Avoids publishing a list that becomes stale as services change. --- modules/ROOT/pages/self-hosted-trial.adoc | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 366360603b..7d0cb802dd 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -119,19 +119,9 @@ For the full list of features included in a trial, see the link:https://www.tiny == Network requirements -When `+cloud_services_trial+` is enabled, the editor connects to {cloudname} services. Ensure the following domains allow outbound access if the network uses a forward proxy or firewall: +When `+cloud_services_trial+` is enabled, the editor connects to {cloudname} services. Ensure that `+*.tiny.cloud+` is allowed for outbound access if the network uses a forward proxy or firewall. -* `+https://spelling.tiny.cloud+` -* `+https://hyperlinking.tiny.cloud+` -* `+https://imageproxy.tiny.cloud+` -* `+https://exportpdf.tiny.cloud+` -* `+https://exportdocx.tiny.cloud+` -* `+https://importdocx.tiny.cloud+` - -[NOTE] -==== -The exact list of required domains depends on which cloud-powered features are enabled in the editor configuration. Only domains for enabled features require network access. -==== +For detailed Content Security Policy (CSP) configuration, see xref:tinymce-and-csp.adoc[{productname} and Content Security Policy]. == Trial limitations From e4726894304b112aba1b038fd1202d72f561b8ed Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 18 May 2026 16:46:56 +1000 Subject: [PATCH 04/16] DOC-3505: Add 8.6.0 release notes and version infrastructure --- modules/ROOT/nav.adoc | 3 ++ modules/ROOT/pages/8.6.0-release-notes.adoc | 32 +++++++++++++++++++ modules/ROOT/pages/changelog.adoc | 6 ++++ modules/ROOT/pages/release-notes.adoc | 8 ++++- .../partials/misc/supported-versions.adoc | 1 + 5 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/pages/8.6.0-release-notes.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index b3ee18aacd..dea71d4a87 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -410,6 +410,9 @@ * Release information ** xref:release-notes.adoc[Release notes for {productname}] // Remove un-used-for-this-particular-release entries. +*** {productname} 8.6.0 +**** xref:8.6.0-release-notes.adoc#overview[Overview] +**** xref:8.6.0-release-notes.adoc#additions[Additions] *** {productname} 8.5.0 **** xref:8.5.0-release-notes.adoc#overview[Overview] **** xref:8.5.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes] diff --git a/modules/ROOT/pages/8.6.0-release-notes.adoc b/modules/ROOT/pages/8.6.0-release-notes.adoc new file mode 100644 index 0000000000..636c8b8241 --- /dev/null +++ b/modules/ROOT/pages/8.6.0-release-notes.adoc @@ -0,0 +1,32 @@ += {productname} {release-version} +:release-version: 8.6.0 +:navtitle: {productname} {release-version} +:description: Release notes for {productname} {release-version} +:keywords: releasenotes, new, changes, bugfixes +:page-toclevels: 1 + +include::partial$misc/admon-releasenotes-for-stable.adoc[] + + +[[overview]] +== Overview + +{productname} {release-version} was released for {enterpriseversion} and {cloudname} on Wednesday, May 27^th^, 2026. These release notes provide an overview of the changes for {productname} {release-version}, including: + +* xref:additions[Additions] + + +[[additions]] +== Additions + +{productname} {release-version} includes the following addition: + +=== Self-hosted trial with cloud services + +{productname} {release-version} introduces self-hosted trials with optional access to cloud-powered premium features. Integrators can install {productname} and premium plugins via NPM, configure a trial license key, and optionally enable a connection to {cloudname} services by setting `+cloud_services_trial+` to `+true+`. + +When enabled, cloud-powered features such as Spell Checker Pro, Link Checker, Enhanced Media Embed, Export to PDF, Export to Word, Import from Word, Image Editing, Autocorrect, and TinyMCE AI become available during the trial period without requiring a separate API key or cloud deployment. + +Without the `+cloud_services_trial+` option, the editor operates entirely self-hosted with no external network connection. All premium plugins that do not depend on cloud services continue to function regardless. + +For setup instructions, see xref:self-hosted-trial.adoc[Self-hosted trial with cloud services]. diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index 772f97308e..39897b9792 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -4,6 +4,12 @@ NOTE: This is the {productname} Community version changelog. For information about the latest {cloudname} or {enterpriseversion} Release, see: xref:release-notes.adoc[{productname} Release Notes]. +== xref:8.6.0-release-notes.adoc[8.6.0 - 2026-05-27] + +### Added +* Self-hosted trials with optional access to cloud-powered premium features via the `cloud_services_trial` option. +// #DOC-3505 + == xref:8.5.0-release-notes.adoc[8.5.0 - 2026-04-29] ### Added diff --git a/modules/ROOT/pages/release-notes.adoc b/modules/ROOT/pages/release-notes.adoc index 14c8a3677c..dea36243aa 100644 --- a/modules/ROOT/pages/release-notes.adoc +++ b/modules/ROOT/pages/release-notes.adoc @@ -8,6 +8,12 @@ This section lists the releases for {productname} {productmajorversion} and the [cols="1,1"] |=== +a| +[.lead] +xref:8.6.0-release-notes.adoc#overview[{productname} 8.6.0] + +Release notes for {productname} 8.6.0 + a| [.lead] xref:8.5.0-release-notes.adoc#overview[{productname} 8.5.0] @@ -92,5 +98,5 @@ xref:8.0-release-notes.adoc#overview[{productname} 8.0.0] Release notes for {productname} 8.0.0 // Uncomment the dummy cell when the number of cells in the table is odd to ensure the table renders correctly. -// a| +a| |=== diff --git a/modules/ROOT/partials/misc/supported-versions.adoc b/modules/ROOT/partials/misc/supported-versions.adoc index 761c179ef3..3c5392e054 100644 --- a/modules/ROOT/partials/misc/supported-versions.adoc +++ b/modules/ROOT/partials/misc/supported-versions.adoc @@ -6,6 +6,7 @@ Supported versions of {productname}: [cols="^,^,^",options="header"] |=== |Version |Release Date |End of Premium Support +|8.6 |2026-05-27 |2027-11-27 |8.5 |2026-04-29 |2027-10-29 |8.4 |2026-03-31 |2027-09-30 |8.3 |2025-12-10 |2027-06-10 From 99868d40ba03dc0b43a85e413efc7d9eb34c20a3 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 26 May 2026 14:33:44 +1000 Subject: [PATCH 05/16] DOC-3505: Update self-hosted trial docs with confirmed option name and features Replace placeholder cloud_services_trial with online_license_services_opt_in (confirmed from release/8 source). Remove Autocorrect from cloud features table (client-side only). Add Tiny Drive. Refine behavior descriptions and narrow network requirement to *.api.tiny.cloud. --- modules/ROOT/pages/8.6.0-release-notes.adoc | 6 ++--- modules/ROOT/pages/changelog.adoc | 2 +- modules/ROOT/pages/self-hosted-trial.adoc | 30 ++++++++++----------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/modules/ROOT/pages/8.6.0-release-notes.adoc b/modules/ROOT/pages/8.6.0-release-notes.adoc index 636c8b8241..a66ae75608 100644 --- a/modules/ROOT/pages/8.6.0-release-notes.adoc +++ b/modules/ROOT/pages/8.6.0-release-notes.adoc @@ -23,10 +23,10 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] === Self-hosted trial with cloud services -{productname} {release-version} introduces self-hosted trials with optional access to cloud-powered premium features. Integrators can install {productname} and premium plugins via NPM, configure a trial license key, and optionally enable a connection to {cloudname} services by setting `+cloud_services_trial+` to `+true+`. +{productname} {release-version} introduces self-hosted trials with optional access to cloud-powered premium features. Integrators can install {productname} and premium plugins via NPM, configure a trial license key, and optionally enable a connection to {cloudname} services by setting `+online_license_services_opt_in+` to `+true+`. -When enabled, cloud-powered features such as Spell Checker Pro, Link Checker, Enhanced Media Embed, Export to PDF, Export to Word, Import from Word, Image Editing, Autocorrect, and TinyMCE AI become available during the trial period without requiring a separate API key or cloud deployment. +When enabled, cloud-powered features such as Spell Checker Pro, Link Checker, Enhanced Media Embed, Export to PDF, Export to Word, Import from Word, Image Editing, TinyMCE AI, and Tiny Drive become available during the trial period without requiring a separate API key or cloud deployment. -Without the `+cloud_services_trial+` option, the editor operates entirely self-hosted with no external network connection. All premium plugins that do not depend on cloud services continue to function regardless. +Without the `+online_license_services_opt_in+` option, the trial license key still validates and the editor is fully operational. All premium plugins that do not depend on cloud services continue to function. Cloud-dependent plugins are not auto-configured but can be configured manually. For setup instructions, see xref:self-hosted-trial.adoc[Self-hosted trial with cloud services]. diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index 39897b9792..c31a129137 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -7,7 +7,7 @@ NOTE: This is the {productname} Community version changelog. For information abo == xref:8.6.0-release-notes.adoc[8.6.0 - 2026-05-27] ### Added -* Self-hosted trials with optional access to cloud-powered premium features via the `cloud_services_trial` option. +* Self-hosted trials with optional access to cloud-powered premium features via the `online_license_services_opt_in` option. // #DOC-3505 == xref:8.5.0-release-notes.adoc[8.5.0 - 2026-04-29] diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 7d0cb802dd..4946e0c2dd 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -3,13 +3,11 @@ :description: Set up a self-hosted {productname} trial with access to cloud-powered premium features using NPM. :keywords: trial, self-hosted, npm, cloud services, premium plugins, license key, tinymce-premium -// TODO: Update option name `cloud_services_trial` when final name is confirmed (TINY-14259). - == Overview A self-hosted trial provides access to {productname} premium plugins in a self-hosted environment. Integrators can optionally connect to {cloudname} services during the trial to evaluate cloud-powered features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate cloud deployment or additional scripts. -Connecting to cloud services is opt-in. Setting the `+cloud_services_trial+` option to `+true+` enables the connection. Without this option, the editor operates entirely offline with no cloud dependency. No separate API key is required. +Connecting to cloud services is opt-in. Setting the `+online_license_services_opt_in+` option to `+true+` enables the connection. Without this option, the editor is licensed and operational but cloud-dependent premium plugins are not auto-configured. No separate API key is required. [NOTE] ==== @@ -51,7 +49,7 @@ tinymce.init({ 'linkchecker', 'mediaembed', 'editimage', 'autocorrect', 'tinymceai' ], toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | help', - cloud_services_trial: true + online_license_services_opt_in: true }); ---- @@ -59,11 +57,13 @@ Replace the `+'your-trial-license-key'+` placeholder with the trial license key === Step 3: Enable cloud services -Set the `+cloud_services_trial+` option to `+true+` in the editor configuration. This option explicitly enables the connection to {cloudname} services for the duration of the trial. +Set the `+online_license_services_opt_in+` option to `+true+` in the editor configuration. This option enables automatic configuration of cloud service URLs for all cloud-dependent premium plugins during the trial. + +Without this option, the trial license key still validates and the editor is fully functional, but cloud-dependent plugins (such as Spell Checker Pro, Link Checker, and Export to PDF) are not auto-configured and will report that their service URL is not set. [IMPORTANT] ==== -Setting `+cloud_services_trial+` to `+true+` enables a network connection from the editor to {cloudname}. Features that depend on cloud services will not function without this option enabled. Remove or set this option to `+false+` to disable the cloud connection at any time. +Setting `+online_license_services_opt_in+` to `+true+` enables a network connection from the editor to {cloudname}. Remove or set this option to `+false+` to disable the cloud connection at any time. ==== === Step 4: Ensure the license key manager is available @@ -79,7 +79,7 @@ For hosting setups, ensure the `+licensekeymanager+` folder is present in the `+ == Cloud-powered features -The following premium features require a connection to {cloudname} services and will only function when `+cloud_services_trial+` is set to `+true+`: +The following premium features require a connection to {cloudname} services and will only function when `+online_license_services_opt_in+` is set to `+true+`: [cols="1,2", options="header"] |=== @@ -106,11 +106,11 @@ The following premium features require a connection to {cloudname} services and | xref:editimage.adoc[Image Editing] | Advanced image editing with cloud-based image proxy support. -| xref:autocorrect.adoc[Autocorrect] -| Automatic text corrections powered by cloud-based language services. - | xref:tinymceai.adoc[TinyMCE AI] | AI-powered content generation and editing. + +| xref:tinydrive-introduction.adoc[Tiny Drive] +| Cloud-based file management and storage service. |=== All other premium plugins included in the `+tinymce-premium+` package function during the trial without a cloud connection. @@ -119,7 +119,7 @@ For the full list of features included in a trial, see the link:https://www.tiny == Network requirements -When `+cloud_services_trial+` is enabled, the editor connects to {cloudname} services. Ensure that `+*.tiny.cloud+` is allowed for outbound access if the network uses a forward proxy or firewall. +When `+online_license_services_opt_in+` is enabled, the editor connects to {cloudname} services at `+*.api.tiny.cloud+`. Ensure that this domain pattern is allowed for outbound HTTPS access if the network uses a forward proxy or firewall. For detailed Content Security Policy (CSP) configuration, see xref:tinymce-and-csp.adoc[{productname} and Content Security Policy]. @@ -139,7 +139,7 @@ For detailed Content Security Policy (CSP) configuration, see xref:tinymce-and-c | The editor ceases to function when the trial license key expires. Purchase a commercial license to continue using {productname}. | Cloud services -| Cloud-powered features require an active internet connection and the `+cloud_services_trial+` option set to `+true+`. Without this option, no cloud connection is made. +| Cloud-powered features require an active internet connection and the `+online_license_services_opt_in+` option set to `+true+`. Without this option, cloud-dependent plugins are not auto-configured. |=== == After the trial @@ -160,16 +160,16 @@ To continue using {productname} after the trial period: | No. The trial license key is the only key required. There is no need to configure a separate API key for cloud services during the trial. | Can the cloud connection be disabled? -| Yes. Remove the `+cloud_services_trial+` option or set it to `+false+`. Cloud-powered features will not function without this option, but all self-hosted plugins will continue to operate. +| Yes. Remove the `+online_license_services_opt_in+` option or set it to `+false+`. Cloud-powered features will not be auto-configured, but the editor and all self-hosted plugins will continue to operate. | What happens when the trial expires? | {productname} disables the editor and displays a notification indicating that the license key has expired. Purchase a commercial license to continue use. | Is a separate script tag required for cloud services? -| No. Unlike a hybrid deployment, the self-hosted trial does not require an additional script tag. The `+cloud_services_trial+` option and the trial license key handle all cloud service connectivity. +| No. Unlike a hybrid deployment, the self-hosted trial does not require an additional script tag. The `+online_license_services_opt_in+` option and the trial license key handle all cloud service connectivity. | Which plugins work without cloud services? -| All premium plugins that do not depend on an external service function during the trial regardless of the `+cloud_services_trial+` option value. Only the features listed in <> require the cloud connection to be enabled. +| All premium plugins that do not depend on an external service function during the trial regardless of the `+online_license_services_opt_in+` option value. Only the features listed in <> require the cloud connection to be enabled. | Can the trial be extended? | Trial extensions are not available through self-service. Contact link:https://support.tiny.cloud[{productname} Support] for assistance. From dac225082e6df4bc9488a09c7c1d1572a11df9ee Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 26 May 2026 19:12:43 +1000 Subject: [PATCH 06/16] DOC-3505: Remove Tiny Drive from cloud features, add HTTPS prerequisite Remove Tiny Drive from the cloud-powered features table per product decision (maintenance mode). Add secure context (HTTPS or localhost) as a prerequisite for trial license key validation. --- modules/ROOT/pages/8.6.0-release-notes.adoc | 2 +- modules/ROOT/pages/self-hosted-trial.adoc | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/8.6.0-release-notes.adoc b/modules/ROOT/pages/8.6.0-release-notes.adoc index a66ae75608..e8e8a16849 100644 --- a/modules/ROOT/pages/8.6.0-release-notes.adoc +++ b/modules/ROOT/pages/8.6.0-release-notes.adoc @@ -25,7 +25,7 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] {productname} {release-version} introduces self-hosted trials with optional access to cloud-powered premium features. Integrators can install {productname} and premium plugins via NPM, configure a trial license key, and optionally enable a connection to {cloudname} services by setting `+online_license_services_opt_in+` to `+true+`. -When enabled, cloud-powered features such as Spell Checker Pro, Link Checker, Enhanced Media Embed, Export to PDF, Export to Word, Import from Word, Image Editing, TinyMCE AI, and Tiny Drive become available during the trial period without requiring a separate API key or cloud deployment. +When enabled, cloud-powered features such as Spell Checker Pro, Link Checker, Enhanced Media Embed, Export to PDF, Export to Word, Import from Word, Image Editing, and TinyMCE AI become available during the trial period without requiring a separate API key or cloud deployment. Without the `+online_license_services_opt_in+` option, the trial license key still validates and the editor is fully operational. All premium plugins that do not depend on cloud services continue to function. Cloud-dependent plugins are not auto-configured but can be configured manually. diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 4946e0c2dd..63675fdc0e 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -20,6 +20,7 @@ Only new customers can start a self-hosted trial. For trial duration and entitle * A trial license key, issued after sign-up. * https://nodejs.org/[Node.js (and npm)] installed. * A project directory with a `+package.json+` file. Initialize one by running `+npm init+` if needed. +* A secure context: the page must be served over HTTPS or from `+localhost+`. Trial license keys require a secure context to complete key validation. == Setup @@ -108,9 +109,6 @@ The following premium features require a connection to {cloudname} services and | xref:tinymceai.adoc[TinyMCE AI] | AI-powered content generation and editing. - -| xref:tinydrive-introduction.adoc[Tiny Drive] -| Cloud-based file management and storage service. |=== All other premium plugins included in the `+tinymce-premium+` package function during the trial without a cloud connection. From 15665f06952ae3a57887778d34a98e880ed12d30 Mon Sep 17 00:00:00 2001 From: ltrouton Date: Wed, 27 May 2026 10:39:56 +1000 Subject: [PATCH 07/16] DOC-3505: Update license-key page to document ONLINE+ trial keys and messages --- modules/ROOT/pages/license-key.adoc | 70 +++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/license-key.adoc b/modules/ROOT/pages/license-key.adoc index f6489b14c3..c6efd97d6a 100644 --- a/modules/ROOT/pages/license-key.adoc +++ b/modules/ROOT/pages/license-key.adoc @@ -108,6 +108,16 @@ a| * Premium plugin access a| * Environments where regular license key rotation cannot be performed. + +| Trial Keys (ONLINE+) +a| +* Key format starts with `+ONLINE++` prefix +* Expires at the end of the trial period +* Requires a network connection to {cloudname} for validation +* Optionally connects to cloud services via `+online_license_services_opt_in: true+` +a| +* Evaluating {productname} in a self-hosted environment. +* See xref:self-hosted-trial.adoc[Self-hosted trial] for setup instructions. |=== === Deployment Types @@ -214,9 +224,11 @@ Only use both keys in properly configured hybrid deployments. Using both keys wi === Will {productname} "phone home" to check the license key? -No, {productname} does not contact any server to validate the license key for self-hosted deployments. +For standard self-hosted deployments using a Time-based or Version-locked commercial key, no: validation happens entirely offline and no network connection is made. -If using a cloud or hybrid deployment configuration, the license key may be checked by {cloudname}. +For cloud and hybrid deployments, the license key may be checked by {cloudname}. + +For self-hosted trial deployments using a Trial (ONLINE+) key, yes: the editor contacts {cloudname} to complete key validation. This is required for trial keys and cannot be disabled. The optional `+online_license_services_opt_in+` setting controls whether cloud service URLs are also configured, but the validation network call happens regardless. See xref:self-hosted-trial.adoc[Self-hosted trial] for details. === What happens if I don't provide a valid license key? @@ -348,10 +360,38 @@ a| * Verify that your API key is valid * Visit the link:https://support.tiny.cloud[Support Portal] if the issue persists | xref:resource-load-error[Resource Load Error] -| The editor is disabled because the {productname} license key could not be validated. | The editor is disabled because the {productname} license key could not be validated. The {productname} Commercial License Key Manager plugin was unable to load additional required resources. +| The editor is disabled because the {productname} license key could not be validated. a| * If bundling, verify that you are using the `licensekeymanager/index.js` file that imports other required resources. * If hosting, verify that a `js/commerciallicensekeymanager.js` file is also present in the `plugins/licensekeymanager` folder. + +| xref:online-plus-exchange-error[ONLINE+ Exchange Error] +| The editor is disabled because the license key could not be validated by the cloud server [type: +${errorType}${statusMsg}+] +| The editor is disabled because the license key could not be validated by the cloud server. +a| * Verify that your ONLINE+ license key is valid +* Ensure your deployment is self-hosted (ONLINE+ keys cannot be used with cloud or hybrid deployments) +* Check that your server has network access to the cloud validation endpoint +* Visit the link:https://support.tiny.cloud[Support Portal] if the issue persists + +| xref:online-plus-insecure-context[ONLINE+ Insecure Context] +| The editor is disabled because the ONLINE+ license key requires a secure context (HTTPS or localhost) [type: online-insecure-context] +| The editor is disabled because the ONLINE+ license key requires a secure context (HTTPS or localhost). +a| * Serve the application over HTTPS +* Use `localhost` for local development +* ONLINE+ keys cannot be used over plain HTTP on non-localhost origins + +| xref:online-plus-config-conflict[ONLINE+ Config Conflict] +| The editor is disabled because an ONLINE+ license key can only be configured for a self-hosted deployment. +| The editor is disabled because an ONLINE+ license key can only be configured for a self-hosted deployment. +a| * Trial (ONLINE+) keys are only valid for self-hosted deployments +* If loading {productname} from {cloudname} or using a hybrid deployment, switch to a standard commercial license key +* See the <> section for guidance on choosing the correct deployment type and key + +| xref:online-plus-services-not-configured[ONLINE+ Services Not Configured] +| ONLINE+ license key detected without +online_license_services_opt_in: true+. Cloud-service premium plugins (e.g. linkchecker, spellchecker) will not be auto-configured. Set +online_license_services_opt_in: true+ to use the bundled cloud services, or configure each plugin's service URL manually. +| +a| * Add `online_license_services_opt_in: true` to your {productname} init configuration to enable automatic cloud service URL configuration +* Alternatively, configure each cloud-service plugin's service URL manually |=== === Detailed Error Descriptions @@ -400,4 +440,28 @@ The API key validation failed due to an invalid key or inactive subscription. Th ==== Resource Load Error The TinyMCE Commercial License Key Manager plugin was unable to load additional required resources. This typically occurs when the `js/commerciallicensekeymanager.js` file is missing or not properly configured. For bundled applications, ensure you are using the `licensekeymanager/index.js` file that imports other required resources. For self-hosted installations, verify that a `js/commerciallicensekeymanager.js` file is present in the `plugins/licensekeymanager` folder. See the <> section for implementation details. +[[online-plus-exchange-error]] +==== ONLINE+ Exchange Error +This error applies to Trial (ONLINE+) license keys. See xref:self-hosted-trial.adoc[Self-hosted trial] for setup information. + +The trial license key could not be validated by the {cloudname} server. The editor will be disabled and will not recover until the configuration issue is resolved. Unlike the <>, which applies to standard API key validation, this error is specific to the trial key exchange. Ensure your deployment is self-hosted, as trial keys are not supported in cloud or hybrid deployments. If the key and deployment type are correct, check that your server can reach the {cloudname} validation endpoint. Visit the link:https://support.tiny.cloud[Support Portal] if the issue persists. + +[[online-plus-insecure-context]] +==== ONLINE+ Insecure Context +This error applies to Trial (ONLINE+) license keys. See xref:self-hosted-trial.adoc[Self-hosted trial] for setup information. + +The trial license key requires a secure context to validate correctly, because validation involves a network call to {cloudname}. A secure context is a page served over HTTPS or accessed via `localhost`. Pages served over plain HTTP on a non-localhost domain will cause the editor to be disabled. Serve the application over HTTPS, or use `localhost` for local development. + +[[online-plus-config-conflict]] +==== ONLINE+ Config Conflict +This error applies to Trial (ONLINE+) license keys. See xref:self-hosted-trial.adoc[Self-hosted trial] for setup information. + +A trial license key was detected in a cloud or hybrid deployment configuration. Trial keys are only valid for self-hosted deployments. If you are loading {productname} from {cloudname} or using a hybrid deployment, switch to a standard commercial license key. If you intend to use a self-hosted deployment, ensure {productname} is not being loaded from {cloudname}, as doing so activates the cloud validation flow which is incompatible with trial keys. See the <> section for guidance on choosing the correct deployment type and key. + +[[online-plus-services-not-configured]] +==== ONLINE+ Services Not Configured +This advisory applies to Trial (ONLINE+) license keys. See xref:self-hosted-trial.adoc[Self-hosted trial] for setup information. + +A trial license key was accepted but `online_license_services_opt_in: true` was not set in the init configuration. Without this option, {productname} will not automatically configure the cloud service endpoints for premium plugins such as linkchecker and spellchecker. Those plugins will load but will display their own errors about missing service URLs. To enable automatic configuration, add `online_license_services_opt_in: true` to your `tinymce.init` configuration. Alternatively, configure each plugin's service URL manually. + For additional assistance, visit our link:https://support.tiny.cloud[Support Portal] or contact your link:https://www.tiny.cloud/my-account[Tiny Cloud Account] manager. From f2361331be4be5816cb15e390475b0f735d46a5f Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 1 Jun 2026 13:28:41 +1000 Subject: [PATCH 08/16] DOC-3505: Document 8.6.0 DOMPurify update and AI quick actions fix Add an Improvements entry for the DOMPurify dependency update (TINY-14430) to the release notes and community changelog, and document the TinyMCE AI quick actions single-cell selection fix (TINY-14434) under accompanying premium plugin changes. --- modules/ROOT/pages/8.6.0-release-notes.adoc | 36 +++++++++++++++++++++ modules/ROOT/pages/changelog.adoc | 4 +++ 2 files changed, 40 insertions(+) diff --git a/modules/ROOT/pages/8.6.0-release-notes.adoc b/modules/ROOT/pages/8.6.0-release-notes.adoc index e8e8a16849..ee1192422b 100644 --- a/modules/ROOT/pages/8.6.0-release-notes.adoc +++ b/modules/ROOT/pages/8.6.0-release-notes.adoc @@ -13,9 +13,45 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] {productname} {release-version} was released for {enterpriseversion} and {cloudname} on Wednesday, May 27^th^, 2026. These release notes provide an overview of the changes for {productname} {release-version}, including: +* xref:accompanying-premium-plugin-changes[Accompanying Premium plugin changes] +* xref:improvements[Improvements] * xref:additions[Additions] +[[accompanying-premium-plugin-changes]] +== Accompanying Premium plugin changes + +The following premium plugin updates were released alongside {productname} {release-version}. + +=== TinyMCE AI + +The {productname} {release-version} release includes an accompanying release of the **TinyMCE AI** premium plugin. + +**TinyMCE AI** includes the following fix. + +==== Quick actions threw an error when the selection was within a single table cell +// #TINY-14434 + +Previously, running a TinyMCE AI quick action, such as Translate, on text selected within a single table cell threw an error in the console and prevented the action from completing. A text selection inside one cell was incorrectly treated as a multi-cell table selection, so the plugin used the table-specific code path instead of the standard selection path. + +In {productname} {release-version}, the plugin now confirms that a genuine multi-cell table selection is present before using the table code path, and otherwise falls back to the standard selection handling. Quick actions such as Translate now run as expected on content selected inside a single cell, while multi-cell table selection behavior is preserved. + +For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI]. + + +[[improvements]] +== Improvements + +{productname} {release-version} also includes the following improvement: + +=== Updated the bundled DOMPurify dependency to the latest version +// #TINY-14430 + +Previously, {productname} bundled an older version of the DOMPurify sanitization library. Although {productname} was not affected by the published DOMPurify advisories, because they relate to DOMPurify options that {productname} does not use, the outdated version could be flagged by automated security scanners. + +In {productname} {release-version}, DOMPurify has been updated to the latest version. This resolves the scanner warnings without changing {productname}'s sanitization behavior. + + [[additions]] == Additions diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index c31a129137..85d3756af4 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -10,6 +10,10 @@ NOTE: This is the {productname} Community version changelog. For information abo * Self-hosted trials with optional access to cloud-powered premium features via the `online_license_services_opt_in` option. // #DOC-3505 +### Improved +* Updated the bundled DOMPurify dependency to the latest version. +// #TINY-14430 + == xref:8.5.0-release-notes.adoc[8.5.0 - 2026-04-29] ### Added From 3f7b6962caa4631a9e05166ed003b41c58c213ed Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 09:14:11 +1000 Subject: [PATCH 09/16] Update modules/ROOT/pages/self-hosted-trial.adoc Co-authored-by: Millie --- modules/ROOT/pages/self-hosted-trial.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 63675fdc0e..7cec59e6f5 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -17,7 +17,7 @@ Only new customers can start a self-hosted trial. For trial duration and entitle == Prerequisites * A {productname} trial account with "self-hosted" selected as the deployment option. Sign up at link:https://www.tiny.cloud/get-tiny/[Get {productname}]. -* A trial license key, issued after sign-up. +* A trial license key, issued from the 'Self-hosted' tab of the Customer Portal * https://nodejs.org/[Node.js (and npm)] installed. * A project directory with a `+package.json+` file. Initialize one by running `+npm init+` if needed. * A secure context: the page must be served over HTTPS or from `+localhost+`. Trial license keys require a secure context to complete key validation. From 4842a529e3628f7e840143ede9e260c753cb045b Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 09:14:38 +1000 Subject: [PATCH 10/16] Update modules/ROOT/pages/self-hosted-trial.adoc Co-authored-by: Millie --- modules/ROOT/pages/self-hosted-trial.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 7cec59e6f5..7222f3bd5d 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -16,7 +16,7 @@ Only new customers can start a self-hosted trial. For trial duration and entitle == Prerequisites -* A {productname} trial account with "self-hosted" selected as the deployment option. Sign up at link:https://www.tiny.cloud/get-tiny/[Get {productname}]. +* A {productname} account with an active trial. Sign up at link:https://www.tiny.cloud/get-tiny/[Get {productname}]. * A trial license key, issued from the 'Self-hosted' tab of the Customer Portal * https://nodejs.org/[Node.js (and npm)] installed. * A project directory with a `+package.json+` file. Initialize one by running `+npm init+` if needed. From f693b64285c89540194b57ffdd93c301b71a6570 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 09:26:54 +1000 Subject: [PATCH 11/16] DOC-3505: Add AI token provider to trial snippet, merge cloud services step Address review feedback on the self-hosted trial page: - Add tinymceai_token_provider to the Step 2 snippet so the configuration works end to end (TinyMCE AI requires a token provider). - Merge the redundant "Enable cloud services" step into Step 2, keeping the opt-in explanation and network connection callout under the snippet. - Add a note that most cloud plugins work automatically with the opt-in, with TinyMCE AI as the example needing extra setup, linking to the AI JWT page. --- modules/ROOT/pages/self-hosted-trial.adoc | 27 ++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 7222f3bd5d..0387057763 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -35,7 +35,7 @@ npm install tinymce@^{productmajorversion} tinymce-premium@^{productmajorversion === Step 2: Configure the editor with the trial license key -Add the trial license key to the {productname} configuration using the `+license_key+` option: +Add the trial license key to the {productname} configuration using the `+license_key+` option. Setting `+online_license_services_opt_in+` to `+true+` connects the editor to {cloudname} services, so that cloud-dependent premium plugins are auto-configured for the duration of the trial: [source,js] ---- @@ -50,24 +50,31 @@ tinymce.init({ 'linkchecker', 'mediaembed', 'editimage', 'autocorrect', 'tinymceai' ], toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | help', - online_license_services_opt_in: true + online_license_services_opt_in: true, + tinymceai_token_provider: async () => { + await fetch(`https://demo.api.tiny.cloud/1/your-trial-api-key/auth/random`, { method: 'POST', credentials: 'include' }); + return await fetch(`https://demo.api.tiny.cloud/1/your-trial-api-key/jwt/tinymceai`, { credentials: 'include' }) + .then(resp => resp.text()) + .then(token => ({ token })); + } }); ---- -Replace the `+'your-trial-license-key'+` placeholder with the trial license key provided during sign-up. +Replace the `+'your-trial-license-key'+` placeholder with the trial license key issued from the *Self-hosted* tab of the Customer Portal. -=== Step 3: Enable cloud services - -Set the `+online_license_services_opt_in+` option to `+true+` in the editor configuration. This option enables automatic configuration of cloud service URLs for all cloud-dependent premium plugins during the trial. - -Without this option, the trial license key still validates and the editor is fully functional, but cloud-dependent plugins (such as Spell Checker Pro, Link Checker, and Export to PDF) are not auto-configured and will report that their service URL is not set. +Without `+online_license_services_opt_in+`, the trial license key still validates and the editor remains fully functional, but cloud-dependent plugins (such as Spell Checker Pro, Link Checker, and Export to PDF) are not auto-configured and report that their service URL is not set. [IMPORTANT] ==== -Setting `+online_license_services_opt_in+` to `+true+` enables a network connection from the editor to {cloudname}. Remove or set this option to `+false+` to disable the cloud connection at any time. +Setting `+online_license_services_opt_in+` to `+true+` enables a network connection from the editor to {cloudname}. Remove this option or set it to `+false+` to disable the cloud connection at any time. +==== + +[NOTE] +==== +Most cloud-powered plugins work automatically once `+online_license_services_opt_in+` is set to `+true+`. Some plugins require additional configuration. For example, TinyMCE AI requires a `+tinymceai_token_provider+` function, shown above using the trial demo identity service. Replace `+your-trial-api-key+` with the trial API key from the link:https://www.tiny.cloud/my-account[Customer Portal]. For details, see xref:tinymceai-jwt-authentication-intro.adoc#trial-demo-identity-service[TinyMCE AI trial demo identity service]. Check the documentation for each plugin in use for any additional setup it requires. ==== -=== Step 4: Ensure the license key manager is available +=== Step 3: Ensure the license key manager is available The `+tinymce-premium+` NPM package includes the license key manager. If bundling {productname}, ensure the license key manager is imported: From cb5524c66e55084dcaf4634ced41129e92651878 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 11:16:08 +1000 Subject: [PATCH 12/16] DOC-3505: Clarify trial license key and Cloud API key in self-hosted trial snippet Explain that the token provider uses a no-api-key placeholder that is replaced with the Cloud API key after account creation, distinguishing it from the trial license key. --- modules/ROOT/pages/self-hosted-trial.adoc | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 0387057763..13b7a7810d 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -5,9 +5,7 @@ == Overview -A self-hosted trial provides access to {productname} premium plugins in a self-hosted environment. Integrators can optionally connect to {cloudname} services during the trial to evaluate cloud-powered features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate cloud deployment or additional scripts. - -Connecting to cloud services is opt-in. Setting the `+online_license_services_opt_in+` option to `+true+` enables the connection. Without this option, the editor is licensed and operational but cloud-dependent premium plugins are not auto-configured. No separate API key is required. +A self-hosted trial provides access to {productname} premium plugins in a self-hosted environment. Integrators can optionally connect to {cloudname} services during the trial to evaluate cloud-powered features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate cloud deployment or additional scripts. Connecting to cloud services is opt-in. Setting the `+online_license_services_opt_in+` option to `+true+` enables the connection. Without this option, the editor is licensed and operational but cloud-dependent premium plugins are not auto-configured. [NOTE] ==== @@ -17,7 +15,7 @@ Only new customers can start a self-hosted trial. For trial duration and entitle == Prerequisites * A {productname} account with an active trial. Sign up at link:https://www.tiny.cloud/get-tiny/[Get {productname}]. -* A trial license key, issued from the 'Self-hosted' tab of the Customer Portal +* A trial license key, issued from the 'Self-hosted' tab of the Customer Portal. * https://nodejs.org/[Node.js (and npm)] installed. * A project directory with a `+package.json+` file. Initialize one by running `+npm init+` if needed. * A secure context: the page must be served over HTTPS or from `+localhost+`. Trial license keys require a secure context to complete key validation. @@ -41,7 +39,7 @@ Add the trial license key to the {productname} configuration using the `+license ---- tinymce.init({ selector: 'textarea', // change this value according to the HTML - license_key: 'your-trial-license-key', + license_key: 'your-trial-license-key', // trial license key from the Self-hosted tab plugins: [ 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', 'code', 'fullscreen', @@ -51,16 +49,16 @@ tinymce.init({ ], toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist outdent indent | help', online_license_services_opt_in: true, - tinymceai_token_provider: async () => { - await fetch(`https://demo.api.tiny.cloud/1/your-trial-api-key/auth/random`, { method: 'POST', credentials: 'include' }); - return await fetch(`https://demo.api.tiny.cloud/1/your-trial-api-key/jwt/tinymceai`, { credentials: 'include' }) + tinymceai_token_provider: async () => { // 'no-api-key' is replaced with the Cloud API key once the account is created + await fetch(`https://demo.api.tiny.cloud/1/no-api-key/auth/random`, { method: 'POST', credentials: 'include' }); + return await fetch(`https://demo.api.tiny.cloud/1/no-api-key/jwt/tinymceai`, { credentials: 'include' }) .then(resp => resp.text()) .then(token => ({ token })); } }); ---- -Replace the `+'your-trial-license-key'+` placeholder with the trial license key issued from the *Self-hosted* tab of the Customer Portal. +Replace the `+'your-trial-license-key'+` placeholder with the trial license key issued from the *Self-hosted* tab of the Customer Portal. The token provider URL uses `+no-api-key+`, a placeholder that is automatically replaced with the Cloud API key once the account is created. The Cloud API key is only visible on the *Cloud* tab of the Customer Portal after the account exists. Without `+online_license_services_opt_in+`, the trial license key still validates and the editor remains fully functional, but cloud-dependent plugins (such as Spell Checker Pro, Link Checker, and Export to PDF) are not auto-configured and report that their service URL is not set. @@ -71,7 +69,7 @@ Setting `+online_license_services_opt_in+` to `+true+` enables a network connect [NOTE] ==== -Most cloud-powered plugins work automatically once `+online_license_services_opt_in+` is set to `+true+`. Some plugins require additional configuration. For example, TinyMCE AI requires a `+tinymceai_token_provider+` function, shown above using the trial demo identity service. Replace `+your-trial-api-key+` with the trial API key from the link:https://www.tiny.cloud/my-account[Customer Portal]. For details, see xref:tinymceai-jwt-authentication-intro.adoc#trial-demo-identity-service[TinyMCE AI trial demo identity service]. Check the documentation for each plugin in use for any additional setup it requires. +Most cloud-powered plugins work automatically once `+online_license_services_opt_in+` is set to `+true+`. Some plugins require additional configuration. For example, TinyMCE AI requires a `+tinymceai_token_provider+` function, shown above using the trial demo identity service. The token provider URL uses `+no-api-key+`, which is automatically replaced with the trial API key from the *Cloud* tab of the link:https://www.tiny.cloud/my-account[Customer Portal] once the account is created. This is a separate key from the trial license key. For details, see xref:tinymceai-jwt-authentication-intro.adoc#trial-demo-identity-service[TinyMCE AI trial demo identity service]. Check the documentation for each plugin in use for any additional setup it requires. ==== === Step 3: Ensure the license key manager is available @@ -162,7 +160,7 @@ To continue using {productname} after the trial period: | Question | Answer | Does the trial require an API key? -| No. The trial license key is the only key required. There is no need to configure a separate API key for cloud services during the trial. +| The trial license key is all that is required for the editor and for most cloud-powered plugins. A separate Cloud API key is needed only to authenticate TinyMCE AI through the demo identity service. | Can the cloud connection be disabled? | Yes. Remove the `+online_license_services_opt_in+` option or set it to `+false+`. Cloud-powered features will not be auto-configured, but the editor and all self-hosted plugins will continue to operate. From 1b72d556f317b1ffe709cc08f7b742e9fb115149 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 11:35:40 +1000 Subject: [PATCH 13/16] Update modules/ROOT/pages/self-hosted-trial.adoc Co-authored-by: Millie --- modules/ROOT/pages/self-hosted-trial.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 13b7a7810d..8a16c017aa 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -58,7 +58,7 @@ tinymce.init({ }); ---- -Replace the `+'your-trial-license-key'+` placeholder with the trial license key issued from the *Self-hosted* tab of the Customer Portal. The token provider URL uses `+no-api-key+`, a placeholder that is automatically replaced with the Cloud API key once the account is created. The Cloud API key is only visible on the *Cloud* tab of the Customer Portal after the account exists. +Replace the `+'your-trial-license-key'+` placeholder with the trial license key issued from the *Self-hosted* tab of the Customer Portal. The token provider URL uses `+no-api-key+`, a Cloud API key visible on the *Cloud* tab of the Customer Portal. The placeholder is automatically replaced with the Cloud API key by visiting the Customer Portal. Without `+online_license_services_opt_in+`, the trial license key still validates and the editor remains fully functional, but cloud-dependent plugins (such as Spell Checker Pro, Link Checker, and Export to PDF) are not auto-configured and report that their service URL is not set. From 5f7b59219897fedbd0a3c7fdcdf688470362c2f5 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 11:36:23 +1000 Subject: [PATCH 14/16] Update modules/ROOT/pages/self-hosted-trial.adoc Co-authored-by: Millie --- modules/ROOT/pages/self-hosted-trial.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/self-hosted-trial.adoc b/modules/ROOT/pages/self-hosted-trial.adoc index 8a16c017aa..98d00daa81 100644 --- a/modules/ROOT/pages/self-hosted-trial.adoc +++ b/modules/ROOT/pages/self-hosted-trial.adoc @@ -5,7 +5,7 @@ == Overview -A self-hosted trial provides access to {productname} premium plugins in a self-hosted environment. Integrators can optionally connect to {cloudname} services during the trial to evaluate cloud-powered features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate cloud deployment or additional scripts. Connecting to cloud services is opt-in. Setting the `+online_license_services_opt_in+` option to `+true+` enables the connection. Without this option, the editor is licensed and operational but cloud-dependent premium plugins are not auto-configured. +A self-hosted trial provides access to {productname} premium plugins in a self-hosted environment. Integrators can optionally connect to {cloudname} services during the trial to evaluate server-side features such as Spell Checker Pro, Export to PDF, and TinyMCE AI, without requiring a separate server-side deployment or additional scripts. Connecting to cloud services is opt-in. Setting the `+online_license_services_opt_in+` option to `+true+` enables the connection. Without this option, the editor is licensed and operational but cloud-dependent premium plugins are not auto-configured. [NOTE] ==== From 91c9e8c50a76cc86f92148958627e4da5b6a493b Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 11:43:15 +1000 Subject: [PATCH 15/16] DOC-3505: Update changelog.adoc file. --- modules/ROOT/pages/changelog.adoc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index dcdee601ab..4d34f86a38 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -4,11 +4,7 @@ NOTE: This is the {productname} Community version changelog. For information about the latest {cloudname} or {enterpriseversion} Release, see: xref:release-notes.adoc[{productname} Release Notes]. -== xref:8.6.0-release-notes.adoc[8.6.0 - 2026-05-27] - -### Added -* Self-hosted trials with optional access to cloud-powered premium features via the `online_license_services_opt_in` option. -// #DOC-3505 +== xref:8.6.0-release-notes.adoc[8.6.0 - 2026-06-03] ### Improved * Updated the bundled DOMPurify dependency to the latest version. From 157755f79d748abb686691c163ad10ee575d8287 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 3 Jun 2026 13:37:12 +1000 Subject: [PATCH 16/16] DOC-3505: Bump API version to 8.6.0 and correct 8.6 support end date Set .api-version to 8.6.0 for the release and fix the 8.6 End of Premium Support date to 2027-12-03 (18 months from the 2026-06-03 release date). --- .api-version | 2 +- modules/ROOT/partials/misc/supported-versions.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.api-version b/.api-version index 5eaed3b7ca..1acea15afd 100644 --- a/.api-version +++ b/.api-version @@ -1 +1 @@ -8.5.0 \ No newline at end of file +8.6.0 \ No newline at end of file diff --git a/modules/ROOT/partials/misc/supported-versions.adoc b/modules/ROOT/partials/misc/supported-versions.adoc index 9b7887ba75..b40853b621 100644 --- a/modules/ROOT/partials/misc/supported-versions.adoc +++ b/modules/ROOT/partials/misc/supported-versions.adoc @@ -6,7 +6,7 @@ Supported versions of {productname}: [cols="^,^,^",options="header"] |=== |Version |Release Date |End of Premium Support -|8.6 |2026-05-27 |2027-11-27 +|8.6 |2026-06-03 |2027-12-03 |8.5 |2026-04-29 |2027-10-29 |8.4 |2026-03-31 |2027-09-30 |8.3 |2025-12-10 |2027-06-10