diff --git a/.api-version b/.api-version index 8d81486efa..23863d3def 100644 --- a/.api-version +++ b/.api-version @@ -1 +1 @@ -6.7.3 \ No newline at end of file +6.8.1 \ No newline at end of file diff --git a/antora.yml b/antora.yml index c0d639c94a..7011a9243e 100644 --- a/antora.yml +++ b/antora.yml @@ -63,6 +63,9 @@ asciidoc: newline: '
' virt_ellps: '⋮' ellps: '…' + # Prevent Mergetags becoming variables + prefix: '{{' + suffix: '}}' # Demo logos logofordemos: 'https://www.tiny.cloud/docs/images/logos/android-chrome-256x256.png' logofordemoshtml: '

TinyMCE Logo

' diff --git a/changelog.md b/changelog.md index b66c407ade..2228df4ea2 100644 --- a/changelog.md +++ b/changelog.md @@ -10,6 +10,15 @@ The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/ - DOC-2202: add new `bespoke` button text updates to `events.adoc` file. - DOC-2209: add new default_font_stack `user-formatting-option.adoc` file. +### 2023-11-29 + +- DOC-2223: Added 6.8.1-specific entry to `changelog.adoc`. +- DOC-2221: add new notification messages to `cloud-troubleshooting.adoc` file. + +### 2023-11-22 + +- DOC-2180: Added 6.8-specific entry to `changelog.adoc`. + ### 2023-11-15 - DOC-2204: added `6.7.3-release-notes.adoc` to project; updated `changelog.adoc`, `nav.adoc` and `release-notes.adoc` for the TinyMCE 6.7.3 release, and api-version bump for 6.7.3. diff --git a/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.html b/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.html index 99a1c87c55..0d479350c3 100644 --- a/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.html +++ b/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.html @@ -11,10 +11,10 @@

To insert a template

Select the template to add to the TinyMCE document from the Templates dialog that presents.
  1. - Click the Without an insertion point marker category to see and select a template that does not use the {{mce-cursor}} insertion point marker. + Click the Without an insertion point marker category to see and select a template that does not use the {{prefix}}mce-cursor{{suffix}} insertion point marker.
  2. - Click the With an insertion point marker category to see and select a template that does use the {{mce-cursor}} insertion point marker. + Click the With an insertion point marker category to see and select a template that does use the {{prefix}}mce-cursor{{suffix}} insertion point marker.
@@ -23,21 +23,21 @@

To insert a template

Noting the difference

-

The Name entry prompt template without the {{mce-cursor}} insertion point marker, places the insertion point at the end of the template text.

+

The Name entry prompt template without the {{prefix}}mce-cursor{{suffix}} insertion point marker, places the insertion point at the end of the template text.

-

By contrast, the Name entry prompt template with the {{mce-cursor}} insertion point marker places the insertion point at the right spot for someone to enter their name, as requested.

+

By contrast, the Name entry prompt template with the {{prefix}}mce-cursor{{suffix}} insertion point marker places the insertion point at the right spot for someone to enter their name, as requested.

-

Similarly, the Letter outline template without the {{mce-cursor}} insertion point marker, places the insertion point at the end of the template text.

+

Similarly, the Letter outline template without the {{prefix}}mce-cursor{{suffix}} insertion point marker, places the insertion point at the end of the template text.

-

And, by equivalent contrast, the Letter outline template with the {{mce-cursor}} insertion point marker places the insertion point at the right spot for someone to start writing a letter.

+

And, by equivalent contrast, the Letter outline template with the {{prefix}}mce-cursor{{suffix}} insertion point marker places the insertion point at the right spot for someone to start writing a letter.

Working with Merge Tags

-

The second pre-defined template in this demonstration — the Letter outline template — shows the {{mce-cursor}} string working in conjunction with the Merge Tags Premium plugin.

+

The second pre-defined template in this demonstration — the Letter outline template — shows the {{prefix}}mce-cursor{{suffix}} string working in conjunction with the Merge Tags Premium plugin.

The fixed string that is the Insertion Point Marker uses the same delimiting characters as are used by default by the Merge Tags plugin.

-

The Merge Tags plugin knows nothing about the {{mce-cursor}} being a marker string for the Advanced Templates plugin. And, if this particular string was used in a Merge Tags configuration, the Merge Tags plugin would recognise it and substitute it with whatever contents it was set to substitute, as expected. +

The Merge Tags plugin knows nothing about the {{prefix}}mce-cursor{{suffix}} being a marker string for the Advanced Templates plugin. And, if this particular string was used in a Merge Tags configuration, the Merge Tags plugin would recognise it and substitute it with whatever contents it was set to substitute, as expected.

The Advanced Templates plugin removes the Insertion Point Marker before inserting a template containing the string in to a TinyMCE instance, however.

diff --git a/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.js b/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.js index 37cc14d08c..425c41a3fa 100644 --- a/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.js +++ b/modules/ROOT/examples/live-demos/advtemplate-insertionpoint/index.js @@ -12,7 +12,7 @@ tinymce.init({ }, { title: 'Letter outline', - content: '

{{Current.Date}}

{{Honorific}} {{Person.Name.Last}},

 

Regards,

{{staff.digital.signature}}

{{Staff.Name}}

{{Staff.Email}}

' + content: '

{{prefix}}Current.Date{{suffix}}

{{prefix}}Honorific{{suffix}} {{prefix}}Person.Name.Last{{suffix}},

 

Regards,

{{prefix}}staff.digital.signature{{suffix}}

{{prefix}}Staff.Name{{suffix}}

{{prefix}}Staff.Email{{suffix}}

' }, ], }, @@ -21,11 +21,11 @@ tinymce.init({ items: [ { title: 'Name entry prompt', - content: '

Enter your name:{{mce-cursor}}

Include both your given and family names, in your preferred order.

' + content: '

Enter your name:{{prefix}}mce-cursor{{suffix}}

Include both your given and family names, in your preferred order.

' }, { title: 'Letter outline', - content: '

{{Current.Date}}

{{Honorific}} {{Person.Name.Last}},

{{mce-cursor}} 

Regards,

{{staff.digital.signature}}

{{Staff.Name}}

{{Staff.Email}}

' + content: '

{{prefix}}Current.Date{{suffix}}

{{prefix}}Honorific{{suffix}} {{prefix}}Person.Name.Last{{suffix}},

{{prefix}}mce-cursor{{suffix}} 

Regards,

{{prefix}}staff.digital.signature{{suffix}}

{{prefix}}Staff.Name{{suffix}}

{{prefix}}Staff.Email{{suffix}}

' }, ], }, diff --git a/modules/ROOT/examples/live-demos/advtemplate-predefined/index.js b/modules/ROOT/examples/live-demos/advtemplate-predefined/index.js index a17ea7a912..8898bd5216 100644 --- a/modules/ROOT/examples/live-demos/advtemplate-predefined/index.js +++ b/modules/ROOT/examples/live-demos/advtemplate-predefined/index.js @@ -4,15 +4,15 @@ const advtemplate_templates = [ items: [ { title: 'Message received', - content: '

Hey {{Customer.FirstName}}!

\n

Just a quick note to say we’ve received your message, and will get back to you within 48 hours.

\n

For reference, your ticket number is: {{Ticket.Number}}

\n

Should you have any questions in the meantime, just reply to this email and it will be attached to this ticket.

\n

 

\n

Regards,

\n

{{Agent.FirstName}}

' + content: '

Hey {{prefix}}Customer.FirstName{{suffix}}!

\n

Just a quick note to say we’ve received your message, and will get back to you within 48 hours.

\n

For reference, your ticket number is: {{prefix}}Ticket.Number{{suffix}}

\n

Should you have any questions in the meantime, just reply to this email and it will be attached to this ticket.

\n

 

\n

Regards,

\n

{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Thanks for the feedback', - content: '

Hi {{Customer.FirstName}},

\n

We appreciate you taking the time to provide feedback on {{Product.Name}}.

\n

It sounds like it wasn’t able to fully meet your expectations, for which we apologize. Rest assured our team looks at each piece of feedback and uses it to decide what to focus on next with {{Product.Name}}.

\n

 

\n

All the best, and let us know if there’s anything else we can do to help.

\n

-{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

We appreciate you taking the time to provide feedback on {{prefix}}Product.Name{{suffix}}.

\n

It sounds like it wasn’t able to fully meet your expectations, for which we apologize. Rest assured our team looks at each piece of feedback and uses it to decide what to focus on next with {{prefix}}Product.Name{{suffix}}.

\n

 

\n

All the best, and let us know if there’s anything else we can do to help.

\n

-{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Still working on case', - content: '

\n

 

\n

Hi {{Customer.FirstName}},

\n

Just a quick note to let you know we’re still working on your case. It’s taking a bit longer than we hoped, but we’re aiming to get you an answer in the next 48 hours.

\n

Stay tuned,

\n

{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

Just a quick note to let you know we’re still working on your case. It’s taking a bit longer than we hoped, but we’re aiming to get you an answer in the next 48 hours.

\n

Stay tuned,

\n

{{prefix}}Agent.FirstName{{suffix}}

' } ] }, @@ -21,11 +21,11 @@ const advtemplate_templates = [ items: [ { title: 'Closing ticket', - content: '

Hi {{Customer.FirstName}},

\n

We haven’t heard back from you in over a week, so we have gone ahead and closed your ticket number {{Ticket.Number}}.

\n

If you’re still running into issues, not to worry, just reply to this email and we will re-open your ticket.

\n

 

\n

All the best,

\n

{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

We haven’t heard back from you in over a week, so we have gone ahead and closed your ticket number {{prefix}}Ticket.Number{{suffix}}.

\n

If you’re still running into issues, not to worry, just reply to this email and we will re-open your ticket.

\n

 

\n

All the best,

\n

{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Post-call survey', - content: '

Hey {{Customer.FirstName}}!

\n

 

\n

How did we do?

\n

If you have a few moments, we’d love you to fill out our post-support survey: {{Survey.Link}}

\n

 

\n

Thanks in advance!
{{Company.Name}} Customer Support

' + content: '

Hey {{prefix}}Customer.FirstName{{suffix}}!

\n

 

\n

How did we do?

\n

If you have a few moments, we’d love you to fill out our post-support survey: {{prefix}}Survey.Link{{suffix}}

\n

 

\n

Thanks in advance!
{{prefix}}Company.Name{{suffix}} Customer Support

' } ] }, @@ -34,11 +34,11 @@ const advtemplate_templates = [ items: [ { title: 'How to find model number', - content: '

Hi {{Customer.FirstName}},

\n

 

\n

My name is {{Agent.FirstName}} and I will be glad to assist you today.

\n

To troubleshoot your issue, we first need your model number, which can be found on the underside of your product beneath the safety warning label. 

\n

It should look something like the following: XX.XXXXX.X

\n

Once you send it over, I will advise on next steps.

\n

 

\n

Thanks!

\n

{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

 

\n

My name is {{prefix}}Agent.FirstName{{suffix}} and I will be glad to assist you today.

\n

To troubleshoot your issue, we first need your model number, which can be found on the underside of your product beneath the safety warning label. 

\n

It should look something like the following: XX.XXXXX.X

\n

Once you send it over, I will advise on next steps.

\n

 

\n

Thanks!

\n

{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Support escalation', - content: '

\n

 

\n

Hi {{Customer.FirstName}},

\n

We have escalated your ticket {{Ticket.Number}} to second-level support.

\n

You should hear back from the new agent on your case, {{NewAgent.FirstName}}, shortly.

\n

 

\n

Thanks,

\n

{{Company.Name}} Customer Support

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

We have escalated your ticket {{prefix}}Ticket.Number{{suffix}} to second-level support.

\n

You should hear back from the new agent on your case, {{prefix}}NewAgent.FirstName{{suffix}}, shortly.

\n

 

\n

Thanks,

\n

{{prefix}}Company.Name{{suffix}} Customer Support

' } ] } diff --git a/modules/ROOT/examples/live-demos/advtemplate/index.js b/modules/ROOT/examples/live-demos/advtemplate/index.js index 45a84cd932..adb642890f 100644 --- a/modules/ROOT/examples/live-demos/advtemplate/index.js +++ b/modules/ROOT/examples/live-demos/advtemplate/index.js @@ -4,15 +4,15 @@ const data = [ items: [ { title: 'Message received', - content: '

Hey {{Customer.FirstName}}!

\n

Just a quick note to say we’ve received your message, and will get back to you within 48 hours.

\n

For reference, your ticket number is: {{Ticket.Number}}

\n

Should you have any questions in the meantime, just reply to this email and it will be attached to this ticket.

\n

 

\n

Regards,

\n

{{Agent.FirstName}}

' + content: '

Hey {{prefix}}Customer.FirstName\}}!

\n

Just a quick note to say we’ve received your message, and will get back to you within 48 hours.

\n

For reference, your ticket number is: {{mergetag-open}}Ticket.Number{{suffix}}

\n

Should you have any questions in the meantime, just reply to this email and it will be attached to this ticket.

\n

 

\n

Regards,

\n

{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Thanks for the feedback', - content: '

Hi {{Customer.FirstName}},

\n

We appreciate you taking the time to provide feedback on {{Product.Name}}.

\n

It sounds like it wasn’t able to fully meet your expectations, for which we apologize. Rest assured our team looks at each piece of feedback and uses it to decide what to focus on next with {{Product.Name}}.

\n

 

\n

All the best, and let us know if there’s anything else we can do to help.

\n

-{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

We appreciate you taking the time to provide feedback on {{prefix}}Product.Name{{suffix}}.

\n

It sounds like it wasn’t able to fully meet your expectations, for which we apologize. Rest assured our team looks at each piece of feedback and uses it to decide what to focus on next with {{prefix}}Product.Name{{suffix}}.

\n

 

\n

All the best, and let us know if there’s anything else we can do to help.

\n

-{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Still working on case', - content: '

\n

 

\n

Hi {{Customer.FirstName}},

\n

Just a quick note to let you know we’re still working on your case. It’s taking a bit longer than we hoped, but we’re aiming to get you an answer in the next 48 hours.

\n

Stay tuned,

\n

{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

Just a quick note to let you know we’re still working on your case. It’s taking a bit longer than we hoped, but we’re aiming to get you an answer in the next 48 hours.

\n

Stay tuned,

\n

{{prefix}}Agent.FirstName{{suffix}}

' } ] }, @@ -21,11 +21,11 @@ const data = [ items: [ { title: 'Closing ticket', - content: '

Hi {{Customer.FirstName}},

\n

We haven’t heard back from you in over a week, so we have gone ahead and closed your ticket number {{Ticket.Number}}.

\n

If you’re still running into issues, not to worry, just reply to this email and we will re-open your ticket.

\n

 

\n

All the best,

\n

{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

We haven’t heard back from you in over a week, so we have gone ahead and closed your ticket number {{prefix}}Ticket.Number{{suffix}}.

\n

If you’re still running into issues, not to worry, just reply to this email and we will re-open your ticket.

\n

 

\n

All the best,

\n

{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Post-call survey', - content: '

Hey {{Customer.FirstName}}!

\n

 

\n

How did we do?

\n

If you have a few moments, we’d love you to fill out our post-support survey: {{Survey.Link}}

\n

 

\n

Thanks in advance!
{{Company.Name}} Customer Support

' + content: '

Hey {{prefix}}Customer.FirstName{{suffix}}!

\n

 

\n

How did we do?

\n

If you have a few moments, we’d love you to fill out our post-support survey: {{prefix}}Survey.Link{{suffix}}

\n

 

\n

Thanks in advance!
{{prefix}}Company.Name{{suffix}} Customer Support

' } ] }, @@ -34,11 +34,11 @@ const data = [ items: [ { title: 'How to find model number', - content: '

Hi {{Customer.FirstName}},

\n

 

\n

My name is {{Agent.FirstName}} and I will be glad to assist you today.

\n

To troubleshoot your issue, we first need your model number, which can be found on the underside of your product beneath the safety warning label. 

\n

It should look something like the following: XX.XXXXX.X

\n

Once you send it over, I will advise on next steps.

\n

 

\n

Thanks!

\n

{{Agent.FirstName}}

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

 

\n

My name is {{prefix}}Agent.FirstName{{suffix}} and I will be glad to assist you today.

\n

To troubleshoot your issue, we first need your model number, which can be found on the underside of your product beneath the safety warning label. 

\n

It should look something like the following: XX.XXXXX.X

\n

Once you send it over, I will advise on next steps.

\n

 

\n

Thanks!

\n

{{prefix}}Agent.FirstName{{suffix}}

' }, { title: 'Support escalation', - content: '

\n

 

\n

Hi {{Customer.FirstName}},

\n

We have escalated your ticket {{Ticket.Number}} to second-level support.

\n

You should hear back from the new agent on your case, {{NewAgent.FirstName}}, shortly.

\n

 

\n

Thanks,

\n

{{Company.Name}} Customer Support

' + content: '

Hi {{prefix}}Customer.FirstName{{suffix}},

\n

We have escalated your ticket {{prefix}}Ticket.Number{{suffix}} to second-level support.

\n

You should hear back from the new agent on your case, {{prefix}}NewAgent.FirstName{{suffix}}, shortly.

\n

 

\n

Thanks,

\n

{{prefix}}Company.Name{{suffix}} Customer Support

' } ] } diff --git a/modules/ROOT/pages/6.3-release-notes.adoc b/modules/ROOT/pages/6.3-release-notes.adoc index 036986a0e5..aebb7e516e 100644 --- a/modules/ROOT/pages/6.3-release-notes.adoc +++ b/modules/ROOT/pages/6.3-release-notes.adoc @@ -226,7 +226,7 @@ tinymce.init({ }); ---- -In this example, typing `{{string}}` followed by a word boundary character (such as a space, full-stop, question mark or comma) will result in the _string_ being turned into an active merge tag. +In this example, typing `{\{string\}}` followed by a word boundary character (such as a space, full-stop, question mark or comma) will result in the _string_ being turned into an active merge tag. ==== Merge tags cannot exceed 255 characters in length @@ -691,4 +691,3 @@ This presentation issue does not affect functionality. Selecting a new *Backgrou A workaround is to apply inline formatting after applying the Text and Background color. When the inline formatting is applied after the Text and Background colors are applied, the presentation error does not occur. NOTE: This checkmark presentation issue occurs in conjunction with the similar checkmark presentation issue documented above. When this presentation issue occurs, the checkmark does denote the current background color in either the *Background color* menu or toolbar item. - diff --git a/modules/ROOT/pages/6.7-release-notes.adoc b/modules/ROOT/pages/6.7-release-notes.adoc index 72547e8a3c..274b8c190a 100644 --- a/modules/ROOT/pages/6.7-release-notes.adoc +++ b/modules/ROOT/pages/6.7-release-notes.adoc @@ -85,7 +85,7 @@ This command enables the adding of a new template, specified by its ID, to a {pr See the xref:advanced-templates.adoc#commands[Commands] section of the xref:advanced-templates.adoc[Advanced Templates] documentation for an example of the command in use. -==== New {{mce-cursor}} marker to indicate the cursor position after the template is inserted +==== New {\{mce-cursor\}} marker to indicate the cursor position after the template is inserted // TINY-9973 The new insertion point marker is a fixed string for adding to any template. diff --git a/modules/ROOT/pages/6.7.2-release-notes.adoc b/modules/ROOT/pages/6.7.2-release-notes.adoc index 138fab9ed5..4404e3b1cb 100644 --- a/modules/ROOT/pages/6.7.2-release-notes.adoc +++ b/modules/ROOT/pages/6.7.2-release-notes.adoc @@ -68,7 +68,7 @@ include::partial$misc/admon-no-functionality-changes-in-updated-server-side-comp {productname} 6.7.2 also includes the following bug fixes: -==== The function `getModifierState` did not work on events passed through the editor as expected. +=== The function `getModifierState` did not work on events passed through the editor as expected. // TINY-10263 The exception error "Uncaught TypeError: Illegal invocation" was displayed in the console, when an integrator called the 'getModifierState' function on a **keydown** event object. @@ -76,7 +76,7 @@ As a consequence, any attempts to invoke this function resulted in the TypeError {productname} 6.7.2 addresses this, now, when a integrator uses the `getModifierState` on the event object a keydown event no longer triggers an error. -==== Indenting or outdenting a list item that contained non list item siblings after it would result in those siblings being removed. +=== Indenting or outdenting a list item that contained non list item siblings after it would result in those siblings being removed. // TINY-10268 Previously, when the editor encounter's a list inside an `
  • ` element, the editor would only account for scenarios where the list is either the first or last element within the `
  • `. In such cases, {productname} would treat the content contained within the `
  • ` as plain HTML, disregarding any nested lists. @@ -102,7 +102,7 @@ the editor would encounter problems when attempting to apply list-related action As a result, the actions of indenting and unindenting a nested list now work as expected. -==== Removed use of async for editor rendering which caused visual blinking when reloading the editor in-place. +=== Removed use of async for editor rendering which caused visual blinking when reloading the editor in-place. // TINY-10249 In contrast to {productname} version 5, where the editor would initiate rendering without waiting for the completion of CSS loading, in version 6, the editor instance now deliberately synchronizes with the loading of CSS. This modification aims to prevent flickering by ensuring that the necessary styles have finished loading before proceeding with the rendering process. @@ -111,7 +111,7 @@ In contrast to {productname} version 5, where the editor would initiate renderin As a result, the editor no longer renders the flicker previously displayed when the editor is refreshed. -==== Toggling a list that contained a list item element — `
  • ` — which, in turn, contained another list item element as its first child, removed other content within the first list item element. +=== Toggling a list that contained a list item element — `
  • ` — which, in turn, contained another list item element as its first child, removed other content within the first list item element. // TINY-10213 When a user attempted to indent or outdent a list element inside a nested list, the list was converted into a model which resulted in it being recreated from that model. diff --git a/modules/ROOT/pages/6.7.3-release-notes.adoc b/modules/ROOT/pages/6.7.3-release-notes.adoc index 07bae913ef..2f5f0d098b 100644 --- a/modules/ROOT/pages/6.7.3-release-notes.adoc +++ b/modules/ROOT/pages/6.7.3-release-notes.adoc @@ -32,7 +32,7 @@ This vulnerability has been patched in {productname} 6.7.3 by: * ensuring that any unescaped text nodes which contain the special internal marker are emptied before removing the marker from the rest of the HTML, and; * removing the special internal marker from content strings passed to `Editor.setContent`, `Editor.insertContent`, and `Editor.resetContent` APIs to prevent them from being loaded into the editor as user-provided content. -CVE: pending. +CVE: https://www.cve.org/CVERecord?id=CVE-2023-48219[CVE-2023-48219]. GHSA: https://github.com/tinymce/tinymce/security/advisories/GHSA-v626-r774-j7f8[GitHub Advisory]. diff --git a/modules/ROOT/pages/accordion.adoc b/modules/ROOT/pages/accordion.adoc index f6f7df511c..65d5798cfd 100644 --- a/modules/ROOT/pages/accordion.adoc +++ b/modules/ROOT/pages/accordion.adoc @@ -9,7 +9,7 @@ include::partial$misc/admon-requires-6.5v.adoc[] -The Accordion plugin allows for the creation of sections in a document that can be expanded or collapsed to show or hide additional content. +The {pluginname} plugin allows for the creation of sections in a document that can be expanded or collapsed to show or hide additional content. == Interactive example diff --git a/modules/ROOT/pages/ai-proxy.adoc b/modules/ROOT/pages/ai-proxy.adoc index a75710af90..4885e94153 100644 --- a/modules/ROOT/pages/ai-proxy.adoc +++ b/modules/ROOT/pages/ai-proxy.adoc @@ -80,7 +80,7 @@ To prevent this, a moderation service can pre-filter abusive content and reject Below is a flow diagram that illustrates how the above components work together to provide the AI enhanced experience. -image::{imagesdir}/ai-plugin/ai-proxy-call-flows.png[OpenAI Proxy Call Flows] +image::ai-plugin/ai-proxy-call-flows.png[OpenAI Proxy Call Flows] == Example Reference Application diff --git a/modules/ROOT/pages/ai.adoc b/modules/ROOT/pages/ai.adoc index 30abfb0978..43d7db3341 100644 --- a/modules/ROOT/pages/ai.adoc +++ b/modules/ROOT/pages/ai.adoc @@ -95,7 +95,6 @@ The following configuration options affect the behavior of the {pluginname} plug include::partial$configuration/ai_request.adoc[][leveloffset=+1] -[ai_shortcuts] include::partial$configuration/ai_shortcuts.adoc[][leveloffset=+1] include::partial$misc/plugin-toolbar-button-id-boilerplate.adoc[] diff --git a/modules/ROOT/pages/apis/tinymce.dom.stylesheetloader.adoc b/modules/ROOT/pages/apis/tinymce.dom.stylesheetloader.adoc index add03c43dd..ece37a8086 100644 --- a/modules/ROOT/pages/apis/tinymce.dom.stylesheetloader.adoc +++ b/modules/ROOT/pages/apis/tinymce.dom.stylesheetloader.adoc @@ -1,7 +1,7 @@ = tinymce.dom.StyleSheetLoader :navtitle: tinymce.dom.StyleSheetLoader :description: This class handles loading of external stylesheets and fires events when these are loaded. -:keywords: load, loadAll, unload, unloadAll +:keywords: load, loadAll, loadRawCss, unload, unloadAll, unloadRawCss :moxie-type: api This class handles loading of external stylesheets and fires events when these are loaded. @@ -16,8 +16,10 @@ This class handles loading of external stylesheets and fires events when these a |Name|Summary|Defined by |xref:#load[load()]|Loads the specified CSS file and returns a Promise that will resolve when the stylesheet is loaded successfully or reject if it failed to load.|`xref:apis/tinymce.dom.stylesheetloader.adoc[StyleSheetLoader]` |xref:#loadAll[loadAll()]|Loads the specified CSS files and returns a Promise that is resolved when all stylesheets are loaded or rejected if any failed to load.|`xref:apis/tinymce.dom.stylesheetloader.adoc[StyleSheetLoader]` +|xref:#loadRawCss[loadRawCss()]|Loads the specified css string in as a style element with an unique key.|`xref:apis/tinymce.dom.stylesheetloader.adoc[StyleSheetLoader]` |xref:#unload[unload()]|Unloads the specified CSS file if no resources currently depend on it.|`xref:apis/tinymce.dom.stylesheetloader.adoc[StyleSheetLoader]` |xref:#unloadAll[unloadAll()]|Unloads each specified CSS file if no resources currently depend on it.|`xref:apis/tinymce.dom.stylesheetloader.adoc[StyleSheetLoader]` +|xref:#unloadRawCss[unloadRawCss()]|Unloads the specified CSS style element by key.|`xref:apis/tinymce.dom.stylesheetloader.adoc[StyleSheetLoader]` |=== [[methods]] @@ -59,6 +61,21 @@ Loads the specified CSS files and returns a Promise that is resolved when all st ''' +[[loadRawCss]] +=== loadRawCss() +[source, javascript] +---- +loadRawCss(key: String, css: String) +---- +Loads the specified css string in as a style element with an unique key. + +==== Parameters + +* `key (String)` - Unique key for the style element. +* `css (String)` - Css style content to add. + +''' + [[unload]] === unload() [source, javascript] @@ -86,3 +103,17 @@ Unloads each specified CSS file if no resources currently depend on it. * `urls (Array)` - URLs to unload or remove. ''' + +[[unloadRawCss]] +=== unloadRawCss() +[source, javascript] +---- +unloadRawCss(key: String) +---- +Unloads the specified CSS style element by key. + +==== Parameters + +* `key (String)` - Key of CSS style resource to unload. + +''' diff --git a/modules/ROOT/pages/apis/tinymce.editor.ui.registry.adoc b/modules/ROOT/pages/apis/tinymce.editor.ui.registry.adoc index b7e82e33fc..5f6f0299e8 100644 --- a/modules/ROOT/pages/apis/tinymce.editor.ui.registry.adoc +++ b/modules/ROOT/pages/apis/tinymce.editor.ui.registry.adoc @@ -50,8 +50,8 @@ clicked. For information on creating a group toolbar button, see: link:https://www.tiny.cloud/docs/tinymce/6/custom-group-toolbar-button/[ UI Components - Types of toolbar buttons: Group toolbar button].|`xref:apis/tinymce.editor.ui.registry.adoc[Registry]` -|xref:#addIcon[addIcon()]|Registers a new SVG icon, the icon name reference can be configured by any -TinyMCE 5 Ui components that can display an icon. The icon is only available +|xref:#addIcon[addIcon()]|Registers a new SVG icon. The icon name reference can be configured by any +TinyMCE UI components that can display an icon. The icon is only available to the editor instance it was configured for.|`xref:apis/tinymce.editor.ui.registry.adoc[Registry]` |xref:#addMenuButton[addMenuButton()]|Registers a new menu button. Adds a toolbar button that opens a menu when clicked. The menu can be populated by items created by addMenuItem, @@ -234,8 +234,8 @@ UI Components - Types of toolbar buttons: Group toolbar button]. ---- addIcon(name: String, svgData: String) ---- -Registers a new SVG icon, the icon name reference can be configured by any -TinyMCE 5 Ui components that can display an icon. The icon is only available +Registers a new SVG icon. The icon name reference can be configured by any +TinyMCE UI components that can display an icon. The icon is only available to the editor instance it was configured for. ==== Examples diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index 5d1b99ee61..714fa6a0b5 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -4,13 +4,64 @@ 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]. +== 6.8.1 - 2023-11-29 + +=== Improved +* Colorpicker now includes the Brightness/Saturation selector and hue slider in the keyboard navigable items. + +=== Fixed +* The functions `schema.isWrapper` and `schema.isInline` did not exclude node names that started with `#` which should not be considered as elements. +* Translation syntax for announcement text in the table grid was incorrectly formatted. + +== 6.8.0 - 2023-11-22 + +=== Added +* CSS files are now also generated as separate JS files to improve bundling of all resources. +* Added new StylesheetLoader.loadRawCss API that can be used to load CSS into a style element. +* Added new StylesheetLoader.unloadRawCss API that can be used to unload CSS that was loaded into a style element. +* Added force_hex_color editor option. Option 'always' converts all RGB & RGBA colors to hex, 'rgb_only' will only convert RGB and not RGBA colors to hex, 'off' won't convert any colors to hex. +* Added default_font_stack editor option that makes it possible to define what is considered a system font stack. +* New `sandbox_iframes` option that controls whether iframe elements will be added a `sandbox=""` attribute to mitigate malicious intent. +* New `convert_unsafe_embeds` option that controls whether `` and `` elements will be converted to more restrictive alternatives, namely `` for image MIME types, `