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
-
Text formats could not be saved due to config translation validation new in Drupal 10.3. The
LogicExceptionhas been replaced with aE_USER_DEPRECATEDerror. - A new API has been added to support backports of database updates across major and minor versions. This primarily affects core development, but might also be needed for contributed projects (since core will support two major versions simultaneously going forward).
All changes in this release
- Issue #3447994 by Akhil Babu, Josue2591, thejimbirch, mikelutz, jnicola, b_sharpe: Example recipe isn't functional
- Issue #3466524 by catch: ModuleConfigureRouteTest is slow
- Issue #3454092 by mstrelan, nicxvan, catch: Convert WebAssertTest to a Unit test
- Issue #3368537 by catch, TwoD, alexpott, cmlara, sboden: Ensure trailing whitespace at the end of a cache ID results in a unique cache item
- Issue #3465353 by mstrelan: ComponentGenerator hardcodes PHP 7.3.0
- Issue #3458177 by mondrake, catch, quietone, godotislate, longwave, larowlan, xjm: Changing plugins from annotations to attributes in contrib leads to error if plugin extends from a missing dependency
- Issue #3463351 by catch, heddn: Consolidate Umami performance tests
- Issue #3458177 by mondrake, catch, godotislate, longwave, xjm: Changing plugins from annotations to attributes in contrib leads to error if plugin extends from a missing dependency
- Issue #3363127 by nod_, Gábor Hojtsy, mherchel: Drupal Displace outputs invalid value for --drupal-displace-offset-right when opening top dialog
- Issue #3463456 by catch, smustgrave: Consolidate ckeditor5's FunctionalJavascript tests
- Issue #3464581 by quietone, smustgrave: Update deprecation notices in ajax.js
- Issue #637538 by pooja_sharma, mr.baileys, AaronBauman, Bhanu951, alexpott, rteijeiro, greggles, pwolanin, meba, Nikhil_110, smustgrave, quietone, casey, naveenvalecha, sime, humansky, dawehner: Module and theme names are not filtered on output
- Issue #3462561 by catch, smustgrave: Stop using a data provider in UserPasswordResetTest
- Issue #3439836 by pooja_sharma, thebumik, FeyP, vensires, smustgrave, kim.pepper, quietone: Fix File tests that rely on UID1's super user behavior
- Issue #3463479 by catch, nod_, Spokje, larowlan: Merge the build and lint stages in core MR pipelines
- Issue #2360647 by quietone, alexpott, Manuel Garcia, jhodgdon: Documentation in ConfigDependencyManager conflates plugin dependencies and config dependencies
- Issue #3457009 by ankitv18, quietone, joachim: Add input string to exception message thrown in createConnectionOptionsFromUrl()
- Issue #3460654 by pooja_sharma, FeyP, catch: Merge test methods in FieldUIRouteTest for better performance
- Issue #3428614 by catch, nod_, longwave: Resync .gitlab-ci.yml and .gitignore following Yarn 4 in 11.x
- Revert "Issue #3428614 by catch, nod_, longwave: Resync .gitlab-ci.yml and .gitignore following Yarn 4 in 11.x"
- Issue #3428614 by catch, nod_, longwave: Resync .gitlab-ci.yml and .gitignore following Yarn 4 in 11.x
- Issue #3236269 by mandclu, quietone, heni_deepak, eojthebrave: Render API overview should include a link to the list of elements
- Issue #3314260 by quietone, avpaderno, rakesh.drupal, ravi.shankar, chaitanyadessai, smustgrave, catch, Spokje: Replace t() calls inside of Controllers that do not use StringTranslationTrait
- Issue #3460598 by catch, m4olivei, penyaskito, finnsky: Single directory component CSS asset library not picked up in admin theme immediately after module install without cache clear
- Issue #3439835 by pooja_sharma, thebumik, FeyP, smustgrave, vensires: Fix Field UI tests that rely on UID1's super user behavior
- Issue #3458975 by longwave, quietone: GenerateThemeTest::testContribStarterkitDevSnapshotWithGitNotInstalled fails on sqlite
- Issue #3463594 by alexpott: ImageAdminStylesTest::testAjaxEnabledEffectForm() fails because statusMessageExists() does not wait
- Issue #3142928 by ivnish, neclimdul, Wiktor7, mitrpaka, Chi, keha3912, smustgrave, andypost, catch: Status report wrongly warns of APCu memory limit when admin language is not English
- Issue #3463548 by catch, smustgrave: Consolidate methods on FormElementsLabelsTest
- Issue #3462098 by Prem Suthar, joachim, quietone: hook_local_tasks_alter() and hook_menu_local_tasks_alter() need mutual @see links
- Issue #3462549 by catch, ankitv18: Optimize TelephoneFieldTest
- Issue #3119513 by Prem Suthar, imclean, smustgrave: Parameters doc for views "row" should be at the top level of the array
- Issue #3463569 by alexpott, catch: ToolbarStoredStateTest needs wait after resizing window
- Issue #3460257 by Grimreaper, smustgrave, quietone: Have a dedicated category for blocks provided by the Navigation module
- Issue #3463544 by catch: Three more slow functional tests
- Issue #3463288 by catch: Consolidate test methods in StandardPerformanceTest
- Issue #3463329 by alexpott: \Drupal\CorextensionxtensionDiscovery::PHP_FUNCTION_PATTERN is out-of-date
- Issue #3191559 by longwave, Spokje, smustgrave, jhodgdon: [random test failure] Random test fail in EntityReferenceWidgetTest
- Issue #3305609 by pooja_sharma, joachim: convert TermTest::testParentHandlerSettings() into a kernel test
- Issue #3451611 by mfb, xjm, smustgrave, quietone: Fix the format=flowed; delsp=yes encoding of email messages
- Issue #3462759 by catch: Try to rebalance kernel tests between gitlab runners (@group #slow again)
- Issue #3454196 by james.williams, longwave: Filter placeholders without arguments are not replaced when HTML corrector filter applied afterwards
- Issue #3392572 by benjifisher, Liam Morland, ricovandevin, Anybody, smustgrave, quietone, sabrina.liman, carolpettirossi, longwave, alexpott: Add missing category to Drupal\layout_builder\Plugin\Layout\BlankLayout and let modules and themes alter the list of layouts
- Issue #3306434 by benjifisher, quietone, Berdir, kopeboy, DYdave, larowlan: Fix access checks for bundle permissions to avoid triggering a config validation error
- Issue #3440848 by mondrake, quietone, daffie: Ensure post transaction callbacks are only at the end of the root Drupal transaction
- Issue #3163127 by scott_euser, Gauravvvv, sd9121, djsagar, ranjith_kumar_k_u, AkshayAdhav, _utsavsharma, sarvjeetsingh, komalk, Nitin shrivastava, ameymudras, pradhumanjain2311, boulaffasae, kostyashupenko, bnjmnm, meena.bisht, ambuj_gupta, sonam.chaturvedi, Sakthivel M, Utkarsh_33, KondratievaS, ressa: Autocomplete input text can visibly overflow under magnifier icon
- Issue #3462338 by Jaydeep_patel, bhaveshdas, quietone: Spacing issue in Home > Search page on Advanced search section
- Issue #3458714 by simohell, shivam_tiwari, amanire, smustgrave: Long string breaks the layout of Claro (reapply fix)
- Issue #3462556 by catch: Consolidate two test methods in NumberFieldTest
- Issue #3462529 by catch: Mark more tests with @group #slow and remove it from some others
- Issue #3393441 by markconroy, Gauravvvv, smustgrave, gordon: Stable 9 is trying to override non-existing css files
- Issue #3461421 by VinmayiSwamy, ankitv18, joachim, smustgrave: getProcessPlugins() normalises the process array twice
- Issue #3460921 by quietone: Fix hook_update_N docs for display of code block, remove unnecessary @see
- Issue #2719657 by quietone, andypost, Mile23, Spokje, ilya.no, xjm, alexpott, smustgrave: Fix 'Drupal.Commenting.InlineComment.NotCapital' coding standard
- Issue #3460513 by nishtha.pradhan, Berdir: Avoid TypeError if config entity dependencies are NULL
- Issue #3462264 by alexpott: Skip unsupported methods in rest/jsonapi tests in an efficient way
- Issue #3461284 by mherchel, finnsky, quietone, nod_: Prevent simultaneous open/close on simultaneous click/hover
- Issue #3454603 by phenaproxima, thejimbirch, Prashant.c, alexpott: Many core recipes are not idempotent
- Issue #3461945 by mstrelan, bbrala: Fix instances of floats passed to functions expecting ints
- Issue #3458782 by catch, ankitv18, longwave, smustgrave: Remove documentation for readmore, logged_in and is_admin from node.html.twig
- Issue #3368071 by tstoeckler, longwave: Installing Content Translation module breaks Rest resources
- Issue #3459240 by jurgenhaas, b_sharpe, longwave, quietone: Deprecation message for user_validate_name points to an invalid replacement
- Issue #3458966 by apaderno, smustgrave: Correct the punctuation on the description for \Drupal\Tests\UnitTestCase
- Issue #3460246 by Prem Suthar, joachim, afeijo: incorrect docs in DateFormatter::format()
- Issue #3376942 by fromme, Kingdutch, smustgrave: Replace usage of generateString with generate in Media module
- Issue #3313449 by JeffMattson, joachim: QueueWorkerInterface is missing docs for DelayedRequeueException
- Issue #3458431 by scott_euser, quietone: Improve developer experience for 10.3.x upgrade by informing where typed config fails
- Issue #3156672 by kim.pepper, joegraduate, longwave, PieterDC, smustgrave, tstoeckler, alexpott: ExtensionMimeTypeGuesser breaks other mime_type_guesser services
- Issue #3454274 by markconroy, Lillian Bozeman: Do not override class in preprocess_field hook
- Issue #3452502 by Grimreaper, smustgrave: NodeListBuilder is using mark theme wrongly
- Issue #3454346 by kristiaanvandeneynde, bbrala, mxr576: JsonApiRequestValidator does not set cacheable metadata when the filter allows the request
- Issue #2998857 by Luke.Leber, e.chatrer, afem, bskibinski, mgifford: a11y: Input type file fields lack aria-describedby to the description
- Issue #3456738 by cmlara, Anybody, andrewbelcher, Berdir, catch: BC break in login auth changes from #3444978
- Issue #3108658 by alexpott, mikelutz, catch, xjm, nicxvan, longwave: Handling update path divergence between 11.x and 10.x
- Issue #3449851 by Liam Morland, alexpott, smustgrave, solideogloria, catch, kopeboy: Replace LogicException with trigger_error in LangcodeRequiredIfTranslatableValues constraint
- Issue #3458403 by mstrelan: Conditionally disable access to update manager routes
- Issue #3456425 by mondrake, alexpott: FormStateInterface::setError*() PHPDoc are incorrect
- Issue #3458444 by quietone, smustgrave, slashrsm, nod_, brianperry: Remove decoupled menus and media initiatives from MAINTAINERS
- Back to dev.
VCS Label
10.3.2
Short description
Actively maintained with bugfixes and forwards compatibility backports every six months. Use this version if you already have a Drupal 10 site, until you're ready to update to 11.x
Packaged Git sha1
b6268d96356962dd6de5f4f01fde63bf1f3b1788
Release files
dd37e3aa723db75a04159faed0537eab
Release file SHA-1 hash
377b98c3ca07e6796b69f36085e65cfc57225508
Release file SHA-256 hash
4b1e5034bfac38cdf4597ddb4a83d07fd39059463193fc73e0e862b6ed9ee937
400ffe1264eb488b4546249328941559
Release file SHA-1 hash
afe7fe2c5210fd2818272b13a1455af6a5573b7d
Release file SHA-256 hash
662d1cf003d235deb396200c0b1981b72a875531c3dfb9f5501d36c01dc5e77a