Install
To start a new Drupal project with version 10.3.1:To update your site and all dependencies to the latest version of Drupal:
To update your site to this specific release:
Using Composer to manage Drupal site dependencies
Downloads
Release notes
This is a patch (bugfix) release of Drupal 10 and is ready for use on production sites. Learn more about Drupal 10.
Drupal 10.3.x will receive security coverage until June 2025.
Important update information
If you are updating from 10.2.x or earlier and have the CKEditor font module installed, you should consider switching to CKEditor5 Plugin pack for a more up-to-date version of the plugin which is compatible with the CKEditor5 version shipped with Drupal 10.3.
If you are updating from Drupal 9, refer to Preparing your site to upgrade to a newer major version for tools you can use to check the Drupal 10 compatibility of modules, themes and sites. Then, upgrade from Drupal 9 to 10. You should also check the Drupal 10.0.0 release notes.
Important changes in this release
- In order to fix a performance issue on multilingual sites, an index has been added to the
locales_locationtable. The index will be created when you run database updates after upgrading to 10.3.1.
All changes in this release
- Issue #3458751 by alexpott: Drupal 10.3.x regression running JS tests using ddev - update lullabot/php-webdriver
- Issue #3458922 by quietone, alexpott, longwave: Fix index test in LocalesLocationAddIndexUpdateTest::testExistingIndex
- Issue #3318988 by andypost, longwave, quietone: Finish deprecating status code and header assertions in JS tests
- Issue #3156439 by alexpott, catch, bonsaipuppy, mkalkbrenner, longwave, xjm: Add an index on locales_location on type and name
- Issue #3458246 by ckrina, finnsky, nod_, m4olivei, plopesc: Add subsystem maintainers for Navigation
- Issue #3418999 by quietone: Correct spelling of autocomplete type words
- Issue #3444998 by Gauravvvv, TravisCarden, lolgm, nod_, smustgrave: Secondary tabs design is distorted on block view page
- Issue #3440169 by pooja_sharma, marcoliver, smustgrave, DYdave, alexpott: When using drupalGet(), provide an associative array for $headers
- Issue #3455113 by b_sharpe, ankitv18, alexpott, pooja_sharma, phenaproxima, thejimbirch: Rename ensure_exists to createIfNotExists, and camel-case simpleConfigUpdate for consistency
- Issue #3457778 by markconroy, ressa: Reorder checkboxes on "Development settings" page
- Issue #3447748 by joelpittet, ramil g, smustgrave: TypeError: Illegal offset type in isset or empty in FormValidator->performRequiredValidation()
- Issue #3455912 by quietone: Fix spelling for 10 words used in tests
- Issue #3456112 by quietone: Ignore another nonsense word used in hashes
- Issue #3336070 by mikelutz, efpapado, smustgrave, quietone, danflanagan8: skip_on_empty documentation is confusing when skipping a process
- Issue #3291764 by Gauravvvv, baldwinlouie, Utkarsh_33, kostyashupenko, ranjith_kumar_k_u, eugene.brit, Farnoosh, rhiss, smustgrave, podarok, mkdok, bnjmnm, candelas, saganakat: The [0] hatch in misc/vertical-tabs.js causes issues if there are multiple forms with vertical tabs
- Issue #3441010 by catch, longwave, larowlan, dpi, dqd, geek-merlin, el7cosmos: Container compile crash when a service decorates a destructable service
- Issue #3455110 by jagraj_singh_gill, joachim: HandlerStackConfigurator has @see to class that no longer exists
- Issue #3396099 by Utkarsh_33, nod_, Gauravvvv, bnjmnm, tedbow, smustgrave, Anybody, Rob230: The core/drupal.message library requires a status_messages render element
- Issue #3452511 by pooja_sharma, joachim: convert ProviderRepositoryTest to a kernel test
- Issue #3456979 by joachim: add a comment to install.core.inc about the updated container
- Issue #3453068 by kalpanajaiswal, BenStallings: Sort::fields property is incorrectly defined as a string
- Issue #3409733 by james.williams, fjgarlin, poker10: Test-only job does not detect failures correctly
- Issue #3450773 by ahsannazir, Kanchan Bhogade, Gauravvvv, kostyashupenko, smustgrave: Olivero: Incorrect positioning of close button on mobile device when navigation module is enabled
- Issue #2990588 by Utkarsh_33, andrewmacpherson, oriol_e9g, smustgrave, shaal: Visually-hidden refresh button in Field UI fails WCAG Focus Visible
- Issue #3386191 by phthlaap, sukr_s, Ozle, brunoalmeida, smustgrave, Ashley George, shiv_yadav, larowlan: #states not working correctly when built from a logical combination of multliple fields
- Issue #3455513 by xjm, e0ipso: "Single-Directory Components" needs to be hyphenated because of English grammar and content style rules
- Issue #3332473 by Mithun S, Gauravvvv, rupeshghar, smustgrave, lauriii: Refactor Claro's table--file-multiple-widget stylesheet
- Back to dev.
- Drupal 10.3.0
- Drupal 10.3.0