- Fixed a bug where sticky toolbars weren’t positioned correctly.
- Image toolbars now include an “Edit Image” button. (#253)
- The
ckeditor/convert/redactor
command now ensures that it’s being run interactively. - CKEditor container divs now have
data-config
attributes, set to the CKEditor config’s handle. (#284) - Fixed a bug where page breaks were being lost.
- Fixed a bug where menus within overflown toolbar items weren’t fully visible. (#286)
- Fixed an error that occurred when editing a nested entry, if it didn’t exist in the primary site. (#295)
- CKEditor now requires Craft CMS 5.3+.
- Added the
ckeditor/convert/matrix
command. (#234) - CKEditor fields can now be merged together. (#277)
- CKEditor configs created via the
ckeditor/convert
command now allow modifying HTML attributes, classes, and styles within the source view, if the Redactor config included thehtml
button. (#264, #263) - Added
craft\ckeditor\migrations\BaseConvertMatrixContentMigration
. - Fixed a bug where CKEditor fields’ search keywords were including nested entries’ rendered partial templates rather than nested entries’ search keywords.
- Fixed a bug where nested entries weren’t always getting propagated correctly. (#254)
- Fixed a bug where code blocks created by a Redactor field only had
<pre>
tags with no<code>
tags inside them. (#258) - Fixed a bug where dropdown menus didn’t have a maximum height. (#268)
- Fixed a bug where word counts weren’t handling unicode characters correctly. (#275)
- Entry cards now display provisional changes, with an “Edited” label.
- It’s now possible to loop over CKEditor field values from templates, which will split the value into chunks representing HTML markup and nested entry entries. (#241)
- It’s now possible to copy/paste nested entries across CKEditor fields, as long as the entry type is allowed. (#237)
- Added
craft\ckeditor\events\ModifyConfigEvent::$toolbar
. (#233) - CKEditor now requires Craft CMS 5.2+.
- Fixed a bug where nested entry edit pages could have a “Delete for site” action.
- Fixed a bug where disabled nested entries were getting rendered on the front end. (#246)
- Fixed a bug where disabled nested entries could get deleted.
- Fixed a bug where newly-created nested entries were getting soft-deleted. (#229)
- Fixed a bug where nested entries weren’t visible when viewing revisions. (#227)
- Fixed a bug where nested entry cards were getting rendered after page load. (#221)
- Fixed a bug where nested entry cards were getting labelled as invalid, for newly-created, then deleted, then restored entries. (#224, #228)
- Fixed a bug where deleting and restoring an existing nested entry wouldn’t restore the entry’s ownership data. (#228)
- Fixed a bug where soft-deleted entries weren’t getting rendered on front-end preview requests. (#223)
- Fixed a bug where front-end links included element reference URL fragments. (#197)
- Fixed a bug where
resave
commands would replace nested entries with their rendered output in stored CKEditor field values. (#211)
- Fixed a bug where the
ckeditor/convert
command wasn’t checking for and removing the oldconfigFile
Redactor setting. (#199)
- Fixed a bug where the “Insert image” toolbar button wasn’t available when editing CKEditor configs. (#195)
- Fixed an error that could occur when editing an entry with nested CKEditor entries that used a soft-deleted entry type. (#191)
- Fixed a bug where revisions weren’t getting created for the owner element, when CKEditor fields were edited. (#194)
- CKEditor now requires Craft CMS 5.0.0-beta.7 or later.
- Added the ability to embed nested entries within CKEditor fields.
- Added the “Entry Types” field setting.
- Added the “‘New’ Button Label” field setting. (#159)
- It’s now possible to edit the selected CKEditor config from field settings.
- The CKEditor inspector is now shown for admin users, if a
CRAFT_SHOW_CKEDITOR_INSPECTOR
environment variable is set totrue
. - Added
craft\ckeditor\Field::entryManager()
.
- Added support for creating anchor links. (#169)
- Improved accessibility for screen readers. (#74, #166)
- Fixed a bug where resized images weren’t getting updated
width
andheight
attributes. (#165) - Fixed JavaScript warnings. (#168, #171)
- Fixed a JavaScript error. (#161)
- Added the
IndentBlock
CKEditor plugin, enabling the “Increase indent” and “Decrease indent” buttons to work on headings and paragraphs. (#156)
- Fixed a JavaScript error.
- Link element selector modals now include custom sources. (#139)
- Updated CKEditor 5 to 41.0.0. (#141, #148)
- Added the
RemoveFormat
CKEditor plugin. (#143) - Added the
TodoDocumentList
CKEditor plugin. (#148) - Removed the
List
,ListProperties
, andTodoList
CKEditor plugins. (#148) - CKEditor fields now get a
not-allowed
cursor when viewing entry revisions. (#142) - Fixed a bug where the CKEditor config-creation slideout could keep reappearing if canceled. (#138)
- Fixed a conflict with
nystudio107/craft-code-editor
1.0.14 and 1.0.15. (#150)
- CKEditor is now released under the GPL-3.0 license.
- HTML Purifier is now configured to allow
style
attributes on<ol>
and<ul>
tags, when bulleted/numbered lists are allowed. (#136) - Updated CKEditor 5 to 39.0.2.
- Fixed a bug where CKEditor inputs weren’t getting any padding within slideouts. (#126)
- Fixed a bug where the image transform menu wasn’t visible if only one transform was selected for the field. (#131)
- CKEditor now requires Craft 4.5.0 or later.
- Added the “Word Limit” field setting. (#107)
- Added the “List Plugin” CKEditor config setting. (#112, #122)
- Added the Text part language feature.
- Added keyboard shortcuts for switching the heading type for a given block. (#106, #116)
- CKEditor config edit pages now have a “Save and continue editing” alternative submit action, and the Command/Ctrl + S keyboard shortcut now redirects back to the edit page. (#108)
- CKEditor config edit pages now have a “Save as a new config” alternative submit action. (#110)
- The
ckeditor/convert
action will now find and convertcraft\fields\MissingField
instances that were meant to be Redactor fields. - CKEditor fields with the “Insert table” button now include the
TableProperties
andTableCellProperties
plugins. (#103, #115) - Norwegian Bokmål and Nynorsk both now load the main Norwegian (no) UI translations. (#113)
- Added support for setting the
toolbar.shouldNotGroupWhenFull
CKEditor config option. (#124) - The
Attr.AllowedFrameTargets
andAttr.AllowedRel
HTML Purifier config settings are now automatically set based on the CKEditorlink
configuration. (#79) input[type=checkbox]
is now automatically added to the HTML Purifier definition, for editors that include the To-do List button. (#121)- Added
craft\ckeditor\Plugin::registerCkeditorPackage()
. - Deprecated
craft\ckeditor\web\assets\ckeditor\CkeditorAsset::EVENT_PUBLISH
. - Fixed a bug where could get marked as dirty when focussed, without making any changes. (#90)
- Fixed a bug where the Norwegian Nynorsk UI translations weren’t working. (#113)
- Updated CKEditor 5 to 39.0.1.
- Added the ability to change an image’s transform. (#94)
- Added support for registering additional CKEditor plugins. (#97)
- CKEditor configs generated from Redactor fields no longer set
link.addTargetToExternalLinks = true
for Redactor fields that hadlinkNewTab
enabled. (#98) - Image and media markup defined by Redactor fields now gets updated to be consistent with how CKEditor likes it. (#96, #100)
- Fixed a JavaScript error that occurred if there were no sections, category groups, or volumes.
- Fixed a bug where inserted images were missing their ref tag hashes, if no transform was selected and the field was configured with a default transform.
- Added
craft\ckeditor\web\assets\BaseCkeditorPackageAsset
. - Added
craft\ckeditor\web\assets\ckeditor\CkeditorAsset::EVENT_PUBLISH
. - Updated CKEditor 5 to 37.1.0.
- Added the “Show the ‘Source’ button for non-admin users?” field setting. (#82)
- Link dropdowns now include an “Insert link” option. (#78)
- Link edit forms now include a site selection dropdown, when the URL contains a localizable element’s reference tag. (#89)
- Tables now show a toolbar with row, column, and cell-merging controls. (#81)
- Improved the styling of code blocks’ language labels.
- Fixed a bug where fields with
<br>
tags and non-breaking spaces would get marked as dirty without making any changes. (#85, #90) - Fixed a bug where changes in Source mode weren’t getting saved, unless Source mode was deactivated. (#84)
- Fixed an error that occurred when a CKEditor field was used in Quick Post widgets.
- Added the “Show word count” field setting. (#75)
- Added the Font CKEditor plugin, which provides “Font Size” “Font Family”, “Font Color”, and “Font Background Color” toolbar buttons.
- Ordered/unordered list buttons now include additional options.
- Config options are now automatically updated when “Heading”, “Style”, “Alignment”, and “Font Size” buttons are added/removed in the toolbar. (#73)
- Fixed a bug where unordered lists weren’t padded. (#72)
- Added the “Heading Levels” CKEditor config setting.
- Added the
ckeditor/convert
command, for converting Redactor fields/configs to CKEditor. (#68) - “Config Options” settings can now be entered as JSON, with autocompletion and automatic JavaScript-to-JSON reformatting on paste. (#66, #67)
- The
placeholder
config option now gets translated, when the config options are defined as JSON. - Images now have caption and alternative text toolbar items by default.
- CKEditor instances no longer support editing features that aren’t explicitly allowed via toolbar items. (#65)
- Added
craft\ckeditor\events\ModifyConfigEvent
. - Added
craft\ckeditor\Field::EVENT_MODIFY_CONFIG
. (#70) - Fixed a bug where editor toolbars would overlap the control panel header when scrolling.
- Fixed a bug where the editor UI wasn’t getting translated.
Warning This is a major overhaul of the plugin. Your existing CKEditor fields and content will remain in-tact, however you’ll need to reconfigure your fields with a new CKEditor Config.
- CKEditor 5 now comes bundled with the plugin.
- Dropped support for CKEditor 4 and custom builds.
- Added globally-managed CKEditor configurations, featuring drag-n-drop toolbars, and inputs for defining custom config options and CSS styles.
- Added the ability to create links to entries, categories, and assets.
- Added the ability to insert asset images, optionally with a transform pre-applied.
- The “Available Volumes”, “Available Transforms”, “Default Transform”, “Show unpermitted volumes”, and “Show unpermitted files” field settings are now supported for CKEditor 5.
- Removed the “Initialization Code” field setting.
- Added
craft\ckeditor\Field::EVENT_DEFINE_LINK_OPTIONS
. - Added
craft\ckeditor\events\DefineLinkOptionsEvent
. - Removed
craft\ckeditor\events\ModifyPurifierConfigEvent
.
- CKEditor now requires Craft CMS 4.3.6 or later.
- Fixed a bug where CKEditor 4 stopped working when used within a Matrix block, if the block was moved to a new position. (#23)
- Fixed a bug where changes made in source mode weren’t saved unless additional changes were made in WYSIWYG mode afterward. (#34)
- Added Craft 4 compatibility
- CKEditor now requires Craft CMS 3.7.63 or later.
- Fixed a bug where CKEditor 4 stopped working when used within a Matrix block, if the block was moved to a new position. (#23)
- Fixed a bug where changes made in source mode weren’t saved unless additional changes were made in WYSIWYG mode afterward. (#34)
- Static element URLs that contain query string parameters are no longer converted to reference tags.
- Deprecated
craft\ckeditor\events\ModifyPurifierConfigEvent
.craft\htmlfield\events\ModifyPurifierConfigEvent
should be used instead.
- Fixed a bug where reference tags weren’t getting parsed on the front end.
- Fixed an error that occurred if Redactor wasn’t also installed.
- Added support for CKEditor 4’s file manager integration. (#11)
- Added the “Show unpermitted volumes” field setting (CKEditor 4 only).
- Added the “Available unpermitted files” field setting (CKEditor 4 only).
- Added the “Available Volumes” field setting (CKEditor 4 only).
- Added the “Available Transforms” field setting (CKEditor 4 only).
- Added the “Default Transform” field setting (CKEditor 4 only).
- CKEditor fields now convert static element URLs to reference tags on save.
- CKEditor now requires Craft 3.7.31 or later.
- The “Initialization Code” field setting now auto-expands its height to fit the contents.
- Custom initialization code can now reference
language
,filebrowserBrowseUrl
, andfilebrowserImageBrowseUrl
constants, which are predefined. - It’s now possible to include SVG images within field values, without them being removed by HTML Purifier. They will be sanitized with SVG Sanitizer instead.
- CKEditor 5 32.0.0 is now used by default, if a custom CKEditor Build URL hasn’t been set.
- Fixed a bug where privacy-enhanced YouTube video embeds were getting stripped out by HTML Purifier. (craftcms/redactor#312)
- Improved content styles.
- Added support for the “Inline” and “Balloon” CKEditor 5 distributions.
- Improved the focussed editor styling.
- Fixed a PHP error that occurred when saving CKEditor fields.
- Added partial support for CKEditor 4.
- Added the “CKEditor Build URL” plugin setting, making it possible to customize which CKEditor build is used.
- Added the “Initialization Code” field setting, making it possible to take control over the editor initialization and configuration.
- Added
craft\ckeditor\Field::EVENT_MODIFY_PURIFIER_CONFIG
, which makes it possible to modify the HTML Purifier config at runtime.
- The plugin now requires Craft 3.6 or later.
- CKEditor 5 (27.0.0, “classic” build) is now used by default.
- The default HTML Purifier config now allows video embeds from YouTube and Vimeo.
- CKEditor fields’ default HTML Purifier config now allows
id
attributes. (craftcms/redactor#82)
- Fixed a bug where content changes weren’t getting saved in Craft 3.4. (#22)
- Fixed a deprecation error. (#17)
- Fixed a bug where an empty CKEditor field would return some HTML content.
- Improved the field content legibility.
- Fixed a bug where lists were’t getting indented, and were missing their bullets/numerals. (#1)
Initial release.