This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites. Learn more about Drupal 9.
Drupal 9.3.x will receive security coverage until December 2022.
If you are upgrading from Drupal 8, read upgrading a Drupal 8 site to Drupal 9, 9.0.0 release notes, and the 9.3.0 release notes before upgrading to this release.
Important update information
- 9.3.7 Fixes an issue where an error is triggered executing
update user_update_9301
when updating to Drupal 9.3 on a MySQL database with the system variablesql_require_primary_key
set to "ON". Sites that have experienced this bug should attempt to update again. - Drupal core's JavaScript development dependencies have been updated to the latest allowed minor and patch versions to address a few security issues in those dependencies. This should have minimal impact on contributed or custom code and CI workflows. Core developers should completely remove their
node_modules
directory and re-runyarn install
from within thecore/
directory.
Known issues
Search the issue queue for known issues.
All changes since 9.3.6
- Issue #3262573 by longwave, nod_, xjm, Spokje, alexpott, lauriii: Update our yarn dev dependencies to the extent allowed by current constraints
- Issue #3267078 by alexpott, Berdir: Add return typehint to TwigExtension::getFileUrl()
- Issue #3254245 by kim.pepper, Jeya sundhar, mrweiner, bakulahluwalia, Berdir, catch, newaytech, Summit: TypeError: Argument 1 passed to Drupal\Core\File\FileUrlGenerator::generateString() must be of the type string, null given
- Issue #3266310 by bnjmnm, Wim Leers, longwave: IE11 user warning has ungraceful failures
- Issue #3262384 by manuel.adan: Assigned shortcut set is not cleaned on user removal
- Issue #3227822 by lauriii, Wim Leers: [GHS] Ensure GHS works with our custom plugins, to allow adding additional attributes
- Issue #3239738 by Theresa.Grannum, danflanagan8, Wim Leers: BigPipe FunctionalJavascript tests should not rely on Classy
- Issue #2833864 by RoSk0, colan, ressa, Chi, alexpott, joachim, loopy1492, zoiosilva: Unmet installation requirements may contain render elements
- Issue #3246365 by lauriii, ankithashetty, Wim Leers: [drupalMedia] Show the Image Media's default alt text that is being overridden
- Issue #3088730 by Spokje, anmolgoyal74, ankithashetty, Mile23, longwave, naresh_bavaskar, greg.1.anderson, Mixologic, klausi: Include 'composer' directory in phpcs scans
- Issue #3264512 by nod_, ankithashetty, catch, Wim Leers: Enable aggregation for CKEditor 5 assets
- Issue #3255419 by alexpott, Bart Vanhoutte, daffie, catch, sam-elayyoub, roberto.muzzano, quietone, tstoeckler: Updating to Drupal 9.3 fails when sql_require_primary_key MySQL system variable is ON
- Issue #3261538 by andregp, dww, joachim, alexpott: BundleClassInheritanceException incorrectly thrown when a bundle class does not exist
- Issue #2821009 by ZeiP, quietone, Dinesh18, shashikant_chauhan, chx, joachim, Berdir, tim.plunkett, Lendude: unclear terminology in EntityAccessCheck::access()
- Issue #3154962 by alexpott, vijaycs85, bbrala, Berdir, Wim Leers: TemporaryJsonapiFileFieldUploader::checkFileUploadAccess() checks for bundle
- Issue #3246385 by lauriii, nod_, Wim Leers: [drupalMedia] Support captions on
- Issue #3213556 by Sakthivel M, ranjith_kumar_k_u, manojithape, chetanbharambe, vikashsoni, Kristen Pol, tushar_sachdeva, Devashish Jangid, Satyajit1990, larowlan: Input field description is not visible in Configure dialog box of layout builder
- Issue #3259493 by Wim Leers, lauriii, larowlan: [GHS] Unable to limit attribute values: ::allowedElementsStringToHtmlSupportConfig() does not generate configuration that CKEditor 5 expects
- Issue #2730227 by kellyimagined, izus, swarad07, Sonal.Sangale, snehi, ZeiP, mohit_aghera, quietone, impalash, joachim, jhodgdon: inaccurate docs for hook_field_views_data()
- Issue #3248440 by lauriii, Wim Leers, nod_: [drupalMedia] Media embed attributes are rendered in container div in editing view
- Issue #3265802 by daffie, alexpott: user_update_9301() causes data loss and a broken site on SQL Server
- Issue #3265230 by bnjmnm, Wim Leers: Refactor ie11.filter.warnings.es6.js to simpler structure & other improvements
- Issue #3123811 by sd9121, lauriii, codewithlakshay, kostyashupenko, priyanka.sahni, hansa11, obmsmith, ckrina, xjm, saschaeggi, rkoller: Grey text in Claro theme failed accessibility
- Issue #3224652 by Wim Leers, hooroomoo, vlyalko, lauriii, bnjmnm, huzooka: [drupalImage] Add ckeditor5-image's imageresize plugin to allow image resizing
- Issue #3248239 by ckrina, thejimbirch, mherchel: Links in the tour tip body are visually the same as the rest of the text - Claro theme
- Revert "Issue #3255887 by murilohp, heddn, catch, neclimdul, Berdir, daffie: MediaThumbnailFormatter => Calling ImageFormatter::__construct() without the $file_url_generator argument is deprecated in drupal:9.3.0"
- Issue #3265291 by xjm, neclimdul, longwave, Spokje: QuickStartTest: The waiting is the hardest part
- Issue #3261049 by Gauravmahlawat, elber, Elena Chechulina, longwave, Chi, Kristen Pol: Remove duplicated margin properties from typography CSS
- Issue #3228464 by nod_, Wim Leers, lauriii, Reinmar: API for contrib projects to load CKEditor translations
- Issue #3264862 by mglaman, ankithashetty, longwave: ContextAwarePluginBase class not annotated as deprecated
- Issue #3255887 by murilohp, heddn, catch, neclimdul, Berdir, daffie: MediaThumbnailFormatter => Calling ImageFormatter::__construct() without the $file_url_generator argument is deprecated in drupal:9.3.0
- Issue #3265377 by xjm: Fix LocaleTranslatedSchemaDefinitionTest when MINIMUM_SUPPORTED_PHP is used
- Issue #3265378 by xjm: Fix NoPreExistingSchemaUpdateTest when MINIMUM_SUPPORTED_PHP is used
- Issue #3265376 by xjm: Fix UpdateScriptTest when MINIMUM_SUPPORTED_PHP is used
- Issue #3221507 by mxr576: mkdir can fail in Drupal\TestTools\PhpUnitCompatibility\PhpUnit8::flushAlteredCodeToFile() because of a race condition
- Issue #3265419 by andypost: Improve deprecation message for RequestStack::getMasterRequest()
- Issue #2861376 by chiranjeeb2410, tvb, vacho, Mile23, mr.baileys, dawehner, mondrake: ToolkitGdTest uses checkRequirements() incorrectly
- Issue #3263886 by JeroenT, Spokje: Copy drupal-9.3.0.bare.standard.php.gz and drupal-9.3.0.filled.standard.php.gz from the Drupal 10 branch
- Issue #3264451 by Wim Leers, bnjmnm: ImageTest::testWidth() has wrong selector, but no assertion: increases DrupalCI by 20 seconds
- Issue #3255809 by nod_, lauriii, xjm, hooroomoo: Add nightwatch tests for toolbar
- Issue #3262492 by lauriii, Wim Leers: Refactor isMediaUrl to more generic API that supplies frontend metadata about media entities
- Issue #3228334 by Wim Leers, larowlan, lauriii, DieterHolvoet, beatrizrodrigues: Refactor HTMLRestrictionsUtilities to a HtmlRestrictions value object
- Back to dev.
- Merged 9.3.6.
- Issue #3261942 by hooroomoo, lauriii, Wim Leers: Compatibility issues with inline form errors
- Issue #3166449 by ravi.shankar, adamzimmermann, mmatsoo, walangitan, joshua.boltz, Cottser: Improve wording around twig.cache setting for production environments
- Issue #3259807 by idebr, anneke_vde: #type => 'toolbar_item' without a tab triggers a deprecation notice on PHP8.1
- Issue #3264153 by neclimdul: Fix missing sprintf argument in CKEditor5ImageController
- Issue #3264050 by neclimdul, andypost: Fuzzed tag values to EntityAutocompleteController::handleAutocomplete can cause deprecation warning
- Revert "Issue #3255809 by nod_, lauriii, hooroomoo: Add nightwatch tests for toolbar"
- Issue #3255809 by nod_, lauriii, hooroomoo: Add nightwatch tests for toolbar
- Issue #3262160 by nod_, lauriii: Simplify code in assets.js, remove mix of await and promise code
- Issue #2949457 by idebr, jibran, Wim Leers, dungahk, fago, kim.pepper, neclimdul, ravi.shankar, Suresh Prabhu Parkala, Sam152, joshua1234511, Kristen Pol, kualee, MiroslavBanov, acbramley, alexpott, Fabianx: Enhance Toolbar's subtree caching so that menu links with CSRF token do not need one subtree cache item per session
- Issue #3250191 by nod_, Wim Leers, lauriii, rkoller, Joachim Namyslo: Translation of toolbar button tooltips not working when text part language plugin is enabled
- Issue #3260554 by lauriii, hooroomoo, Wim Leers, nod_: [drupalMedia] Support alignment on
- Issue #3231321 by bnjmnm, nod_, lauriii: Improve keyboard accessibility in a particular edge case
- Revert "Issue #3231321 by bnjmnm, nod_, lauriii: Improve keyboard accessibility in a particular edge case"
- Issue #3231321 by bnjmnm, nod_, lauriii: Improve keyboard accessibility in a particular edge case
- Issue #3254727 by Leon Kessler, ranjith_kumar_k_u, cmlara, andileco: File links with query parameters no longer work
- Issue #3065574 by Charlie ChX Negyesi, quietone, amateescu: getUntranslated() doesn't refer to anything
- Issue #3262500 by catch, andypost: Mark drupal_find_theme_functions() @internal in Drupal 9
- Issue #3172166 by Pooja Ganjage, ekes, Megha_kundar, xjm, alexpott, tstoeckler, mbovan, Spokje: Element::properties() produces notices if given an array with integer keys
- Merge 9.3.5, resolve merge conflicts, and update lockfile and dev versions.
- Issue #3249592 by hooroomoo, vlyalko, Wim Leers, lauriii: [drupalImage]
upcast assumes HTML5: px unit, but HTML4 allowed % unit
- Issue #3248469 by nod_, lauriii, Wim Leers, longwave: Research if the CKE off-canvas CSS reset could be optimized
- Back to dev.
Release type:
Bug fixes