umbraco / Announcements

Subscribe to this repo to be notified about major changes in Umbraco-CMS, Deploy and Forms
MIT License
21 stars 0 forks source link

[Breaking change]: TinyMCE will be removed in Umbraco 16 #20

Open iOvergaard opened 1 month ago

iOvergaard commented 1 month ago

Description

Umbraco is using TinyMCE 6 which reaches its end-of-support on October 31, 2024 (source). We cannot upgrade to TinyMCE 7 due to licensing incompatibilities. We are introducing a replacement for TinyMCE. Umbraco 15 will offer the opportunity to run TinyMCE side-by-side with the new editor.

Version

Umbraco 16

Previous behavior

Umbraco ships with a data type referred to as the "Rich Text Editor". Under the hood, this editor uses TinyMCE to render the visual part of the editor and control the HTML input/output. Umbraco 14 underwent a migration, where the server part is now called Umbraco.RichText and the UI part is called Umb.PropertyEditorUi.TinyMCE.

New behavior

Umbraco will discard the concept of having a single rich text editor in the source code and documentation. Umbraco 15 will introduce a new rich text property editor UI based on the Umbraco.RichText schema. You will be able to update any TinyMCE data types to the new editor. The built-in data type known as "Rich Text Editor" will default to the new editor UI from Umbraco 15, and TinyMCE will be considered deprecated from there on. TinyMCE will not be included in Umbraco 16.

Type of breaking change

Reason for change

Tiny Technologies Inc. has seen fit to change the license of TinyMCE from MIT to GPLv2 (source, source). This is in effect from TinyMCE 7 and onwards. We do not consider Umbraco (the software), which is licensed under MIT, to be compatible with and able to use a library licensed under GPLv2. Therefore, we have deemed it necessary to deprecate and eventually remove TinyMCE from Umbraco.

Recommended action

We aim for you to be able to make a seamless transition from TinyMCE to the new editor with any existing content. You should be able to change the property editor UI from TinyMCE to the new editor without losing any content. You will likely have to reconfigure the toolbar and other settings. You will have to change the interface of any bespoke plugins written for TinyMCE. Any purchased TinyMCE premium plugins will not be compatible with the new editor.

However, upon removal of the TinyMCE namespace, the alias is free to re-use. It will be possible to implement a custom instance of TinyMCE as a property editor, where you can declare whether you want to accept the terms of the GPL license or purchase a commercial license key from Tiny. We urge the ecosystem to take up the opportunity to release a package with TinyMCE licensed as GPLv2 or another compatible license.

Affected APIs

These areas are affected in the Backoffice and will be removed:

skttl commented 1 month ago

Will there be an RFC for the new rich text editor?

iOvergaard commented 1 month ago

Will there be an RFC for the new rich text editor?

There is a mini-RFC available on the CMS discussion board: https://github.com/umbraco/Umbraco-CMS/discussions/17067