Install
To start a new Drupal project with version 9.4.6:To update your site and all dependencies to the latest version of Drupal:
To update your site to this specific release:
Pinning to a specific release may make it more challenging to update your site in future, see composer documentation for managing pinned versions
Using Composer to manage Drupal site dependencies
Downloads
Download tar.gz
20.61 MB
MD5: c3c334e79a68432e1972229ceaf51866
SHA-1: 7f34e61b46f0051dbde6e8395469051cb0113389
SHA-256: b70a76ea9d461324144a6e1665ba172f3b1d2647233c1f7b56569ccda5fcd2ba
Download zip
33.12 MB
MD5: d965c083d68f6258803166f206d2980c
SHA-1: c9807a20a5b35784669a1bc119e27889ee2011bc
SHA-256: c90ae3cd067b80370a84f783a140246991c2a75a696c8c75f0ca2dfb243cba3f
Release notes
This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites. Learn more about Drupal 9.
Drupal 9.4.x will receive security coverage until June 2023.
If you are upgrading from Drupal 8, read upgrading a Drupal 8 site to Drupal 9, 9.0.0 release notes, and the 9.4.0 release notes before upgrading to this release.
Important update information
-
The CKEditor 5 successor of CKEditor 4's
StylesCombofunctionality has been added. This was the last remaining widely adopted functionality of CKEditor 4 that did not yet have an equivalent. Sites previously unable to upgrade from CKEditor 4 to 5 should update to this release. When upgrading from CKEditor 4 editor, the configuration will be migrated automatically.
Known issues
- #3285724: [regression] Drupal 9.4 breaks BC of \Drupal\Driver\* overriding core drivers during installation and parsing connection URLs
- #3290924: [regression] With Drupal 9.4, can no longer call Database::getConnection() from within settings.php due to driver classes not yet in autoloader
- #3290936: Argument #1 ($database) must be of type Drupal\Core\Database\Driver\mysql\Connection, Drupal\mysql\Driver\Database\mysql\Connection given
- #3294695: Drupal 8 BC for database driver namespace fails for replicas
Search the issue queue for known issues.
All changes since 9.4.5
- Issue #3275120 by Wim Leers, bnjmnm: [drupalMedia] alt_field setting on "Image" media not respected
- Issue #3258987 by phenaproxima, xjm, mrweiner, catch, cilefen, mfb, benjifisher, Berdir, szato: Status report should warn about OPcache bug in PHP 8.1.0 to 8.1.5
- Issue #3298906 by andypost, alexpott: Fix \Drupal\Tests\Core\Test\TestSetupTraitTest::testChangeDatabasePrefix() on PHP 8.2
- Issue #3306712 by Spokje, alexpott: Update NoJavaScriptAnonymousTest to use Standard profile instead of listing modules
- Issue #3303112 by andy-blum, mherchel, Abhijith S, bronzehedwick: Olivero: When in Safari, clicking "X" when search is open does not collapse the search
- Issue #3273426 by ravi.shankar, immaculatexavier, borisson_, bramduvigneau: Hide "Image" label for Scale crop 7:3 large and Responsive 3x2 image display modes
- Issue #3216214 by Wim Leers, Gauravmahlawat, awset, sonam.chaturvedi, Kristen Pol: CKEditor + HTML filter UX broken on Claro: "Based on the text editor configuration, these tags have automatically been added:" message never appears
- Issue #3304901 by bnjmnm, nod_: Fix intermittently failing Settings Tray Functional Javascript tests
- Issue #3304371 by bnjmnm, ravi.shankar, phenaproxima, xjm: Fix intermittent failure in AjaxBlockTest
- Issue #3305621 by longwave, Wim Leers: HTMLRestrictions::mergeAllowedElementsLevel() fails when merging
- Issue #3302654 by bnjmnm, xjm, quietone, lauriii, phenaproxima: Create Starterkit readme
- Issue #3268678 by bnjmnm: [random test failure] Restore ContentPreviewToggleTest::testContentPreviewToggle()
- Issue #3278636 by nod_, Wim Leers, mrinalini9, bnjmnm: HTMLRestrictions::fromString() bug: multiple occurrences of same tag results in only last one being respected
- Revert "Issue #3293813 by Spokje, longwave, quietone, catch, nod_, bbrala, xjm: Move RDF-related tests to RDF module"
- Issue #3293813 by Spokje, longwave, quietone, catch, nod_, bbrala, xjm: Move RDF-related tests to RDF module
- Issue #3304433 by lauriii, xjm, quietone, tim.plunkett, Wim Leers, mherchel, andy-blum: generate-theme scripts fails in a ddev environment
- Issue #3298923 by andypost, Berdir: Fix ProtectedUserFieldConstraintValidatorTest to not trigger deprecations on PHP 8.2
- Issue #3301712 by nod_, xjm, bnjmnm: Add vendor-update command to the build command for JS assets
- Issue #3294299 by phma, alexpott, pooja saraah, mikelutz: Regression in functional test performance with a large number of modules
- Issue #2313073 by smustgrave, asad_ahmed, mrinalini9, Munavijayalakshmi, Abhijith S, Lendude, alexpott: Views preview doesn't pass 0 to context filters
- Revert "Issue #3056652 by yogeshmpawar, mashermike, aalin, ranjith_kumar_k_u: Link options attributes removed on save"
- Issue #3285637 by mikelutz, danflanagan8, benjifisher: 'Get' Process plugin should handle multiple
- Issue #3285593 by immaculatexavier, Ashutosh Ahirwal, Rashmisoni, ravi.shankar, mrinalini9, joachim: @return of Section::getComponents should document array key
- Issue #2157567 by Ratan Priya, smustgrave, lucassc, quietone, joachim: unclear explanation of 'path' in hook_theme() docs
- Issue #3135933 by Spokje, jungle, ravi.shankar, quietone, jonathan1055, longwave, phenaproxima: Sort sniffs/rules in phpcs.xml.dist and write test to keep them sorted
- Issue #3274937 by nod_, mrinalini9, woldtwerk, bnjmnm, Dom., Wim Leers, lauriii: Get CKEditor 5 to work in (modal) dialogs
- Issue #3222797 by Wim Leers, nod_, bnjmnm, larowlan, mpp, Luke.Leber, lauriii, DanielVeza, Reinmar: Upgrade path from CKEditor 4's StylesCombo to CKEditor 5's Style
- Issue #3296481 by xjm, kostyashupenko, nod_: Update terser and terser-webpack-plugin to the latest versions
- Issue #3300040 by xjm, benjifisher, jlariza, cilefen, quietone: Update jQuery UI to the latest versions
- Back to dev.