Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Install
To start a new Drupal project with version 10.2.5: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 drupal-10.2.5.tar.gztar.gz
18.1 MB
MD5: b37ec5755df00f89528881fa9c8cfac5
SHA-1: 0f1051486bb569a49e9a539ae81659e762173a93
SHA-256: 328099fe3b6bfe57250412d5b9a5544d00fb04456b0eb2c3d7ed010699ca31a2
Download drupal-10.2.5.zipzip
29.93 MB
MD5: f44dbd38298c45a8522bbde415438546
SHA-1: 357d4ba27ebc1cdfcee917e78302e9e1ddafe523
SHA-256: 6fefb585ec2da703ed51f439b73a6c16f67d5fa17b13faf94c7387de36ec2b42
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.2.x will receive security coverage until December 2024.
Important update information
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.
All changes in this release
- Issue #3437342 by mondrake: Change FieldItemListTest::providerTestEquals to static
- Issue #3437514 by kim.pepper, alexpott: Deprecate hook_file_validate() API docs
- Issue #3411384 by phthlaap, venkatadapa, alecsmrekar, plach, alexpott, heddn, Graber: Error: Call to a member function label() on null in Drupal\menu_link_content\Form\MenuLinkContentForm->form() (line 99 of /var/www/html/docroot/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php)
- Issue #3435906 by godotislate, afoerster: Default Images not rendered in layout builder
- Issue #3340159 by robert-arias, ooa33, acbramley, smustgrave, Chi, mikelutz, quietone: Prevent empty block_content info fields from causing php deprecation notices when placing blocks with no label.
- Issue #3436070 by markusVJH, joachim: obsolete docs about drupal_pre_render_links()
- Issue #2825860 by xurizaemon, Matroskeen, dewalt, neclimdul, joseph.olstad, ericgsmith, dpolant, hswong3i, mstrelan, aby v a, Akram Khan, Ratan Priya, robphillips, dpi, ryankavalsky, vetal4ik, jwilson3, jagermonster, Rob230, thomjjames, rajneeshb, Hygglo, CodigoVision, kndr, acbramley, Lendude, smustgrave, ExTexan, alexpott: Notice: Undefined index: value in Drupaliews\Pluginiewsilter\NumericFilter->acceptExposedInput()
- Issue #3436761 by simohell: Remove default event from collpased nav-tabs button
- Issue #2651418 by vasike, DieterHolvoet, smustgrave, Xano, rpayanm, quietone, alexpott, larowlan, catch, lauriii: Non-array values for #ajax
- Revert "Issue #3254426 by kunal.sachdev, quietone, ravi.shankar, tedbow, SandeepSingh199, smustgrave: Add tests for logic on project_status from update XML"
- Revert "Issue #3419548 by amateescu, smustgrave, malcomio: Workspace switcher block does not check access"
- Issue #3433088 by mondrake, Spokje: Method getMockForAbstractClass() of class PHPUnit\Framework\TestCase is deprecated in PHPUnit 10 - Step 1 interfaces
- Issue #3419548 by amateescu, smustgrave, malcomio: Workspace switcher block does not check access
- Issue #3433086 by mondrake: Method addMethods() of class PHPUnit\Framework\MockObject\MockBuilder is deprecated in PHPUnit 10
- Issue #1149078 by vasike, wuinfo - Bill Wu, dww, Gauravvvv, Marios Anagnostopoulos, peterpoe, VladimirAus, legolasbo, GoZ, mgifford, dalin, jrb, heddn, himanshupathak3, _utsavsharma, GrandmaGlassesRopeMan, arcaneadam, danflanagan8, arnaud-brugnon, Daniel Kulbe, uzlov, Kuntyi, DamienMcKenna, Neslee Canil Pinto, COBadger, jofitz, esod, sukanya.ramakrishnan, nod_, droplet, smustgrave, CKIDOW: States API doesn't work with multiple select fields
- Issue #3254426 by kunal.sachdev, quietone, ravi.shankar, tedbow, SandeepSingh199, smustgrave: Add tests for logic on project_status from update XML
- Issue #3432171 by mondrake: dump() no longer produces output in PHPUnit tests running under PHP 8.3
- Issue #3418863 by kksandr, saschaeggi: Setting width for sticky-header is broken
- Issue #3433093 by mondrake: Method getObjectForTrait() of class PHPUnit\Framework\TestCase is deprecated in PHPUnit 10
- Issue #3427200 by gedvan, Wim Leers: CKEditor 5: Javascript error when plugin settings has NULL value
- Issue #3422710 by nico.b, smustgrave, adwivedi008, alexpott: "More" link not taking default arguments into account
- Issue #3354998 by phthlaap, Liam Morland, jedihe, gapple, smustgrave: #states disable property has stopped working for submit button and other elements
- Issue #3433091 by mondrake: Method getMockForTrait() of class PHPUnit\Framework\MockObject\MockBuilder is deprecated in PHPUnit 10
- Issue #3397558 by mfb: OEmbed generates URLs with URL-decoded query string
- Issue #3426789 by mondrake, smustgrave: DatabaseDriver::load should have a non-service alternative for class loading
- Issue #3432998 by phenaproxima, alexpott: Standard's article teaser entity view display marks fields as hidden even though they're visible
- Issue #3415582 by nico.b, larowlan, Matt B: Unhandled exception when trying to register a duplicate username with different case
- Issue #3432298 by kostyashupenko, smustgrave: Sticky table header is not sticky if --drupal-displace-offset-top is not defined
- Issue #3270139 by jannakha, bnjmnm, smustgrave, mgifford: CKEditor admin toolbar config buttons using ::before to add content: have invalid screen reader text
- Issue #3428112 by longwave, fjgarlin, Spokje: Fix daily updated deps job
- Issue #3429403 by Spokje: Tighten ParameterBag classes in PHPUnit tests
- Issue #3416826 by longwave, catch, smustgrave, solideogloria, fgm: Queue factory services do not conform to an interface
- Issue #3427655 by Liam Morland, smustgrave: Fix invalid CSS for #toolbar-item-user
- Issue #3376566 by kunal.sachdev, sakthi_dev, divya.sejekan, Nitin shrivastava, djsagar, smustgrave, nod_, longwave, quietone, catch: Display the page title, even if "0" in olivero
- Issue #3428122 by alexpott, longwave: Add packageManager key to core/package.json now we recommend corepack enable
- Issue #3428032 by longwave: ManageGitIgnoreTest failing in HEAD
- Issue #3333481 by phthlaap, galileo25, dmitry.korhov, smustgrave, mdolnik, quietone, nod_, alieffring: Collapsed Details Element causes JS Error for required fields
- Issue #3396742 by ReINFaTe, smustgrave, Wim Leers, nod_: CKEditor 5 doesn't save updated value if form submitted right after the change
- Issue #3427388 by godotislate, Berdir: Update Drupal\Component\Annotation\Doctrine\StaticReflectionParser::hasClassAttribute() to allow attribute subclasses
- Issue #3414415 by joco_sp, nod_, RoloDMonkey, tcrawford: Content language and translation AJAX expansion is backwards
- Issue #3416304 by sleitner, RoloDMonkey, smustgrave: Javascript warning from content language and translation page
- Issue #3426548 follow-up: Convert the PHPStan baseline from NEON to PHP
- Issue #3426548 by Kingdutch, andypost, longwave, catch, mstrelan, alexpott: Convert the PHPStan baseline from NEON to PHP
- Issue #3167126 by ranjith_kumar_k_u, rpayanm, amateescu, mheip, CedricL, smustgrave: Call to a member function getDisplayname() on null in WorkspaceListBuilder.php
- Issue #3350612 by Anybody: Make MultiWidthLayoutBase non-internal
- Issue #3306209 by jannakha, Gauravvvv, smustgrave, athyamvidyasagar, pameeela, Wim Leers, mgifford: Add outline to buttons with active state
- Issue #3426324 by Wim Leers: ExistsConstraintValidator should ignore NULL values and treat `core` as a valid module
- Issue #3408849 by markconroy, finnsky: Add @finnsky as core maintainer for Umami
- Issue #3425568 by mstrelan: Block attribute class expecting wrong ContextDefinition
- Back to dev.