Drupal 9.3.11
14 April 2022
Drupal version 9.3.11 is now available (security release).
Upgrading to Drupal 9.3.11
Drupal 9.3.11 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Drupal updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Drupal install to test the 9.3.11 upgrade prior to applying it live. Get started managing your Drupal installations with Installatron
What's New in Drupal 9.3.11
9.3.11
Security
- This Drupal release updates Composer to the latest version as a security hardening.
9.3.10
Important
- The beta experimental CKEditor 5 module now uses version 34.0.0 of the CKEditor 5 JavaScript library, which fixes several critical issues.
- Previously, jQuery UI was an emeritus (unsupported) project. However, it recently began receiving support again. Therefore, Drupal core has replaced its fork of jQuery UI with jQuery UI itself, to make it easier to keep it up to date. Additionally, core's jQuery UI package dependencies have been updated to jQuery UI 1.13.1. The unminified source code is kept in core to allow easy audit during future library updates.
Bug Fixes and Changes
- Decide how CKEditor 5-provided types should be referenced
- Dialog loading text is unstyled
- Add test coverage for createDropdown in drupalElementStyles
- Expand SourceEditingRedundantTagsConstraintValidator to also check attributes and attribute values
- [drupalMedia] with GHS allowed attributes downcast wraps data-caption with
- Add ckeditor5-code-block package and CodeBlock plugin
- [drupalImage] Make image alt text required or strongly encouraged
- [drupalImage] Some Image attributes are lost in edge cases where image upcasts into inline image
- Update to CKEditor 5 v34.0.0
- system_site migrates default 403, 404 and front page paths as forward slash (/)
- Changes to "Manually editable HTML tags" lost if form is submitted without triggering AJAX
- Drupal Media JavaScript test suite causes database locks on SQLite
- Add a new recipe to Umami - Borscht with pork ribs
- Move all non migration Color tests to the module in preparation of removal
- Block add form ajax callback implementation issues
- Upgrade path never configures the ckeditor5_heading plugin to allow
- [random test failure] Restore LayoutBuilderTest::testConfigurableLayoutSections()
- Upgrading from CKEditor 4 for a text format that has FilterInterface::TYPE_MARKUP_LANGUAGE filters enabled
- Merging cells in tables is possible in UI, but lost upon saving
- Rewrite examples of form options to be less culturally specific
- Document checkboxes and radios element can have individual descriptions
- Views UI tests should not rely on Classy
- Layout Discovery tests should not rely on Classy
- jsonapi tests should not rely on Classy
- $block wildcard resolves into a superset of the actual $block tags
- [random test failure] Restore and fix LayoutBuilderDisableInteractionsTest::testFormsLinksDisabled()
- Duplicate word: directly
- editor_form_filter_format_form_alter() does not remove "editor_plugin" from form state when needed
- Claro: display the vertical scrollbar when many results are returned by linkit
- Array to string conversion in CacheContextsManager::convertTokensToKeys() because of the 'cookies' cache context
- Media library widget forgets ordering when adding or removing items
- Elements wrapping are not retained
- Plugin settings do not appear when a configurable plugin is added AFTER removing all buttons
- Editor does not load when using Edge + WHCM
- SmartDefaultSettings should select the CKE5 plugin that minimizes creation of HTML restriction supersets
- Toolbar config items missing "press arrow to do {x}" instructions for screenreaders
- Excessive aria-live announcing from ckeditor5-admin-help-message live region
- Resolve mismatch between <$block> interpretation by CKEditor 5 and Drupal
- [drupalMedia] Remove manual dataDowncast from DrupalMediaEditing
- Unable to change selection after linking inline media when manual decorators have been defined
- Bug in CKE 4 → 5 upgrade path "format" does not always map to "heading", it could map to "codeBlock" too, or both, or neither
- Composer 2 Fatal error Call to undefined method Composer\DependencyResolver\Operation\UpdateOperation::getJobType() in /home/mysite/public_html/core/lib/Drupal/Core/Composer/Composer.php:170
- Selected yet disabled individual options from checkboxes element don't persist through save
- Rename StateFileExists to StateFileExistsTest
- Missing return value documentation for TranslatableInterface::addTranslation()
- Temporarily skip failing tests
- In Callback Migrate process, document how to use functions that accept no argument as callable
- Improve Drupal.ckeditor5 documentation
- TypeError: strpos(): Argument #1 ($haystack) must be of type string, int given in strpos()
- Robustify and restore \Drupal\Tests\ckeditor5\FunctionalJavascript\MediaLibraryTest::testButton
- The element selector type "CSS, XPath" in JSWebAssert should be lowercase
- Fix error message when 'yarn check -s' fails in the commit check script
- Unfork jQuery UI
- [drupalMedia|drupalImage] Allow removing data-align in the UI, and making an image inline
- [drupalMedia] Toolbar should be visible when element inside is focused
- Support functionality equivalent to ckeditor_stylesheets
- [GHS] Partial wildcard attributes (<foo data-*>, <foo *-bar-*>, <foo *-bar>) and attribute values (<h2 id="jump-*">) not yet supported
- CKEditor 5 adds ie11.user.warnings library to every page, triggering a FOUC even for anonymous users
- Update to CKEditor5 v32.0.0
- Temporarily skip even more failing tests
- Missing argument type on hook_shortcut_default_set declaration
- Custom Block (block_content) tests should not rely on Classy
- DbLog triggers PHP deprecation on PHP8.1 when running from CLI
- \Drupal\Tests\quickedit\FunctionalJavascript\QuickEditIntegrationTest::testCustomBlock(). is failing on latest chromedriver
- AjaxTest is failing
- Remove the methods tableExists() and fieldExists() from Drupal\Core\Database\Driver\mysql\Schema