Drupal Changelog

What's new in Drupal 10.2.6

May 2, 2024
  • All changes in this release:
  • Revert "Issue #3272629 by kelly.m.jacobs, alexpott, Abhijith S, imclean, heni_deepak, azinck: Media Library widget display doesn't return to first page on applying filters"
  • Issue #3443527 by godotislate, smustgrave: Setting empty URL when making embedded media a link in CKEditor5 causes JS errors
  • Issue #3440114 by Gábor Hojtsy, andypost, catch, BramDriesen: Update PHP EOL dates based on updated PHP team decisions
  • Issue #3440044 by longwave, quietone, Binoli Lalani, mondrake: Replace catch of PHPUnitFrameworkErrorWarning in MarkupInterfaceComparatorTest
  • Issue #3409505 by sakiland, wendell, malik.kotob, darko_antunovic, KlemenDEV, longwave, Taran2L, tyler36, smustgrave, jhedstrom, mindaugasd: [regression] Uncaught TypeError: Cannot read properties of null (reading 'style') (toolbar.js)
  • Issue #3413657 by quietone: Update COPYRIGHT.txt for 2024
  • Issue #3439981 by fago, ericgsmith, petar_basic, acbramley: Uploading a file to media library flushes theme registry
  • Issue #3416700 by catch, penyaskito, lamp5: Handle invalid compressed ajax_page_state more gracefully
  • Issue #3442295 by mondrake: Change @dataprovider to static in YamlTestBase
  • Issue #3441660 by longwave: [PHPUnit 10] Provide a static alternative to @dataproviders using PHPUnit mocks in MailHandlerTest
  • Issue #3441727 by quietone: Document update fixture drupal.broken.xml
  • Issue #3440170 by mxr576, quietone, smustgrave, longwave, larowlan: Forked DocParser incorrectly parses ::class notations
  • Issue #3436136 by dineshkumarbollu, joachim: Improve documentation for OptionsRequestSubscriber
  • Issue #1766338 by vasike, John Pitcairn, sagesolutions, jenlampton, ckaotik, andyanderso, SoulReceiver, Krzysztof Domanski, liquidcms, smustgrave, luenemann, sorin.eugen, dawehner, xenophyle, Lendude, zebda, pameeela, longwave, alison: Incorrect filter group OR behavior, LEFT JOIN changed to INNER JOIN
  • Issue #3221516 by quietone, himanshu_jhaloya, smustgrave, Lendude, joachim: Improve documentation for $old_destination_id_values in MigrateDestinationInterface
  • Issue #3440421 by fjgarlin, drumm: [GitLab d.o infra] Allow superuser to call composer on jobs
  • Issue #3440115 by mondrake: Change remaining File module test dataproviders to static
  • Issue #3272629 by kelly.m.jacobs, alexpott, Abhijith S, imclean, heni_deepak, azinck: Media Library widget display doesn't return to first page on applying filters
  • Issue #3439647 by catch: Skip query string compression if zlib extension isn't available
  • Issue #3439493 by mondrake: Change remaining Forum module test dataproviders to static
  • Issue #2786735 by recrit, eiriksm, ranjith_kumar_k_u, immaculatexavier, ravi.shankar, zaporylie, smustgrave, TrevorBradley, johnle, GaëlG, jefuri, alexpott, poker10: Image derivative generation does not work if effect "Convert" in use and file stored in private filesystem
  • Issue #3402713 by mstrelan, smustgrave, dww: Fix strict type errors: miscellaneous fixes in core Kernel tests
  • Issue #3438034 follow-up by alexpott: Fix Composer Scaffold plugin event listeners
  • Issue #3402294 by mstrelan, quietone, dww, smustgrave: Fix strict type errors: Convert FormattableMarkup to strings (complex replacement) in core Kernel tests
  • Issue #3251895 by Shabbir, rodrigoaguilera, ckrina: claro_form_views_ui_config_item_form_alter() assumes a suffix when there is a prefix leading to: Undefined index #suffix in $form['options']['value']
  • Issue #2822890 by danflanagan8, Peacog, Lendude, quietone, smustgrave, AaronMcHale, benjifisher: Taxonomy vocabulary translation local task tab not shown in UI
  • Issue #3438034 by tannguyenhn, adwivedi008, alex.skrypnyk, alexpott: Fix Composer Scaffold plugin event listeners
  • Issue #3419621 by dburiak, sijumpk, smustgrave, pameeela, alexpott: tablePositionSticky should not be called on a non-array variable
  • Issue #3439039 by mondrake: Change QueryFactoryTest:providerTestGetKeys to static
  • Issue #3438246 by mondrake: Change RecursiveContextualValidatorTest::providerTestValidatePropertyWithInvalidObjects to static
  • Revert "Issue #3421843 by scott_euser, smustgrave, Wim Leers, catch: filter_autop should ignore twig.config debug html comments"
  • Issue #3421843 by scott_euser, smustgrave, Wim Leers, catch: filter_autop should ignore twig.config debug html comments
  • Issue #3414920 by quietone, m0d: Fix documentation redirects to Drupal 7 docs
  • Issue #3438302 by mondrake: Change DrupalLogErrorTest::provideFatalExitCodeData to static
  • Issue #3427398 by aaron.ferris, alexpott, sdhruvi5142, rkoller, smustgrave, DanielVeza: Cancel button on the discard changes in the layout builder confirmation step should take you back to the layout builder
  • Issue #3426514 by magaki, Tom Konda, longwave: Drupal.theme.progressBar() does not escape output correctly
  • Issue #3437752 by lhridley: Fix FileUploadResource::$fileSystem documented type to match the constructor typehint
  • Issue #124969 by Dave Reid, andregp, naxoc, pameeela, ravi.shankar, bruno.bicudo, _pratik_, jnlar, yogeshmpawar, marcingy, StevenPatz, amitgoyal, Johnny Santos, larowlan, smustgrave, Dries, DanielVeza, mstrelan, cburschka, quietone, alexpott, bradlis7: Contact form opt-out line should be excluded from admin-sent and sender-copy e-mails
  • Issue #3404663 by shweta__sharma, Tanuj., Gauravvvv, sdhruvi5142, Nitin shrivastava, smustgrave, Kanchan Bhogade: Olivero: Show content preview checkbox is not center aligned with the layout builder buttons
  • Back to dev.

New in Drupal 10.2.5 (Apr 4, 2024)

  • 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 Drupalmenu_link_contentFormMenuLinkContentForm->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 DrupaliewsPluginiewsilterNumericFilter->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 PHPUnitFrameworkTestCase 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 PHPUnitFrameworkMockObjectMockBuilder 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 PHPUnitFrameworkTestCase 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 PHPUnitFrameworkMockObjectMockBuilder 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 DrupalComponentAnnotationDoctrineStaticReflectionParser::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

New in Drupal 10.2.4 (Mar 7, 2024)

  • All changes in this release
  • Issue #3424768 by mfb, OMD, cilefen, smustgrave: Channel description of RSS feeds is double-escaped
  • Issue #3222784 by ahsannazir, Gauravvvv, zenimagine, shweta__sharma, mherchel, kostyashupenko: Olivero: 'wide-content' utility class breaks layout when placed in 'Hero' region
  • Issue #3412283 by mathilde_dumond, acbramley, Berdir, smustgrave, BramDriesen, larowlan: Editing a block_content entity no longer redirects to the overview
  • Issue #3119761 by dww, aleevas, Hardik_Patel_12, quietone, tedbow, _utsavsharma, smustgrave, xjm, longwave: Replace multiple test methods in InfoParserUnitTest with 1 testInfoException and a dataprovider
  • Issue #3425304 by Spokje, smustgrave: Resync dictionary.txt
  • Issue #3417521 by jayhuskins: Update typing for plugin definition to include object
  • Issue #3423384 by govind_giri_goswami, Gauravvvv, dineshkumarbollu, adwivedi008, Pravesh_Poonia, smustgrave, Tanuj., shreyal999, Ruturaj Chaubey, mherchel, andy-blum: Extra Close icon in Messages
  • Issue #3421731 by larowlan, byrond: field_field_config_create should check if the config installer is syncing
  • Issue #3341438 by DanielVeza, andypost: Add test coverage for layout_builder_entity_view_alter()
  • Issue #3409640 by swatidhurandhar, Mithun S, shweta__sharma, Gauravvvv, divya.sejekan, Sandeep_k, Kanchan Bhogade: In workspace-form the text of the modal content is not visible completely below 768px screen
  • Issue #2863629 by sleitner, jmaties, armrus, ravi.shankar, yogeshmpawar, smustgrave, Chris64, quietone, alexpott: Only fallback to an existing singular or nth plural form of a translation
  • Issue #3184588 by ressa, SKAUGHT, rkoller, Mithun S: Make disabled status more obvious in a View
  • Issue #3422603 by b2f, godotislate: Fixing source IDs with spaces in Sql.php
  • Issue #3425129 by mondrake, smustgrave: Classloader needs to be registered in Database::convertDbUrlToConnectionInfo()
  • Issue #3422546 by mstrelan: Remove extra parameters passed to functions
  • Issue #3420802 by kim.pepper, bkline, larowlan: [regression] file_save_upload does not properly handle extensions
  • Issue #3421206 by karanpagare, GafgarionMorua, smustgrave, joachim, longwave: incorrect docs for LocaleConfigSubscriberTest::assertTranslation()
  • Issue #3420165 by longwave, Spokje: Recreate the "updated deps" job from DrupalCI
  • Issue #3153723 by quietone, Hardik_Patel_12: Change the scaffolding documentation link in README.txt
  • Issue #3414883 by paul121, acbramley, catch, smustgrave, quietone: [regression] datetime_timestamp widget does not use default field value
  • Issue #3416184 by amateescu: Content Moderation should only validate its own workflow type
  • Issue #3424751 by acbramley: BlockContentForm::actions is incorrectly overridden as public
  • Issue #3419894 by shweta__sharma, Mithun S, Kanchan Bhogade, Charles Belov, Amir Gurung, Wim Leers, smustgrave: [drupalImage] Rename "Text alternative" field label to "Alternative text"
  • Issue #3398196 by godotislate, DanielVeza, smustgrave: Field block for empty image field with no default image rendering empty div in Layout Builder
  • Issue #2998875 by quietone, juampynr, benjifisher, smustgrave, alison: Map menu ids like main-menu when migrating node types
  • Issue #3419107 by Keshav Patel, Chi: FieldConfigEditForm::save should report exceptions using warning or error messages
  • Issue #3415118 by ahmad.k, Lendude: Combine fields filter REGEXP causes PostgreSQL syntax error
  • Issue #3358581 by pfrenssen, _tarik_, a.dmitriiev, smustgrave, longwave, larowlan: Deprecated function: array_slice(): Passing null to parameter #2 ($offset) of type int is deprecated in DrupalCoreConfigntityQueryQuery->execute()
  • Issue #3422485 by mondrake, smustgrave: Change DrupalLogErrorTest::provideFatalExitCodeData to static
  • Issue #3422395 by mondrake, smustgrave: Change ErrorTest data providers to static
  • Issue #3422495 by mondrake, smustgrave: Change DefaultConfigTest::moduleListDataProvider and helpers to static
  • Issue #3422493 by mondrake, smustgrave: Change UrlHelperTest data providers and helpers to static
  • Issue #3422481 by mondrake, smustgrave: Change PrimitiveTypeConstraintValidatorTest::provideTestValidate to static
  • Issue #3422345 by mondrake, smustgrave: Change DateTest::providerTestFormatDiff and family to static
  • Issue #3422222 by gorkagr, mstrelan, smustgrave: Wrong return type in Renderer::ensureMarkupIsSafe()
  • Issue #3420042 by fjgarlin, longwave, catch: Bring external template files into core
  • Issue #3412658 by benjifisher: Term migrations should set revision IDs
  • Issue #3421258 by mstrelan, acbramley: Fix strict type errors in WebAssert calls
  • Issue #3127116 by phthlaap, AjitS, cmlara, AmbyH, smustgrave, alexpott, quietone: Image styles - thumbnails are broken in config page when private file system is used
  • Issue #3304772 by tstoeckler, kksandr, Murz, smustgrave: Cache tags from Computed fields do not bubble up to Entity render array
  • Issue #3417362 by kristiaanvandeneynde, smustgrave, quietone: Call refreshVariables() where needed in various tests
  • Issue #3292350 by O'Briat, KlemenDEV, hswong3i, smustgrave, quietone: Update the file size in file_validate_image_resolution after resizing
  • Issue #3396741 by recrit, smustgrave: Content Moderation moderation_state_filter cannot join the entity revision table when the filter uses relationship to the entity revision table
  • Issue #2613222 by webflo, alexpott, ameymudras, pooja saraah, _utsavsharma, penyaskito, Janvi Dasani: Language module shouldn't alter config in sync mode
  • Issue #3423454 by scott_euser, smustgrave: Form Builder does not fully allow Ajax GET requests
  • Issue #3405976 by alexpott, jrglasgow, fago, catch, mondrake, solideogloria, mglaman, Driskell, derickr, longwave, Mile23, YesCT, daffie: Transaction autocommit during shutdown relies on unreliable object destruction order (xdebug 3.3+ enabled)
  • Issue #2867881 by catch, Wim Leers, smustgrave, dww: Remove @todo and workaround in Cookie ResourceTestTrait
  • Issue #3405976 by alexpott, jrglasgow, fago, catch, mondrake, solideogloria, mglaman, Driskell, derickr, longwave, Mile23, YesCT, daffie: Transaction autocommit during shutdown relies on unreliable object destruction order (xdebug 3.3+ enabled)
  • Revert "Issue #3414993 by alexpott: Add ConfigImporter to DrupalCoreConfigImporterMissingContentEvent"
  • Issue #3277287 by Gauravvvv, Anita Verma, shweta__sharma, smustgrave, akmalfikri: Improve vertical tabs in forced colors mode
  • Issue #3420794 by catch, slashrsm: Allow sending headers to the OpenTelemetry collector
  • Issue #3385845 by shalini_jha, smustgrave: PrivateFileOnTranslatedEntityTest should use API to set up language
  • Issue #3422584 by nod_, Deepak Goyal, mohrerao, quietone, smustgrave: Keep the word dependee and move it to drupal-dictionary.txt
  • Issue #3419182 by longwave: Test-only job fails with "couldn't find remote ref refs/heads/11.x" when 11.x branch does not exist in fork
  • Issue #3187004 by recrit, a.dmitriiev, mohit_aghera, ranjith_kumar_k_u, larowlan, Matroskeen, smustgrave, Kristen Pol, neclimdul: DrupalDateTime serialization issue
  • Issue #3418298 by Akhil Babu, Kanchan Bhogade: Improve the exception message when an entity form class does not exist
  • Issue #2609256 by sleitner, rkoller, smustgrave, vegantriathlete, quietone, benjifisher, AaronMcHale, worldlinemine: Add warning message to import translations after enabling Interface Translation
  • Issue #3414993 by alexpott: Add ConfigImporter to DrupalCoreConfigImporterMissingContentEvent
  • Issue #3420375 by Spokje: Remove cruft from NodeRevisions[All]Test::setUp
  • Issue #3417816 by Watergate: Ensure database connection information is cleaned up properly after performing ConnectionTest
  • Issue #3387172 by Mingsong, smustgrave, mlncn, Kanchan Bhogade, larowlan: Unpublished forum accessible to public
  • Issue #3403198 by simohell, mgifford, itmaybejj: Details do not benefit from aria-pressed
  • Issue #2366129 by andypost, stefan.r, smustgrave, vacho: RegisterStreamWrappersPass and other have broken compiler pass for multiple tags
  • Issue #3416141 by gorkagr, Jaypan, Wim Leers, alexpott: big_pipe.js' checkMutation() does not check if node exists before using it
  • Revert "Issue #3416141 by gorkagr, Jaypan, Wim Leers: big_pipe.js' checkMutation() does not check if node exists before using it"
  • Issue #3416141 by gorkagr, Jaypan, Wim Leers: big_pipe.js' checkMutation() does not check if node exists before using it
  • Issue #3394048 by godotislate, Sandeep Sanwale, djsagar, rkoller, mark_fullmer, ckrina: [Drupal 10.2 regression] Media Library "widget" View media type tabs have lost styling
  • Issue #3421114 by tstoeckler: [regression] Entity::toUrl() without argument is broken for entity types with a URI callback
  • Issue #3416798 by GafgarionMorua, arunkumark, larowlan, smustgrave, DamienMcKenna: Refactor the breadcrumb generation "catch" code
  • Issue #3421371 by Spokje: Security update composer/composer (CVE-2023-43655)
  • Revert "Issue #3420974 by andypost, quietone: Add testing wtih Maria DB 10.6"
  • Issue #3420974 by andypost, quietone: Add testing wtih Maria DB 10.6
  • Issue #3404508 by mstrelan, smustgrave, larowlan, quietone: Fix strict type errors in Functional tests: Add casts and fix types where needed
  • Issue #3418236 by mstrelan, smustgrave: Fix strict type errors: Convert remaining usages of FormattableMarkup to strings in core Functional tests
  • Issue #3409895 by acbramley, longwave, smustgrave: [regression] toUrl can incorrectly return edit-form url when another link template shares the canonical url
  • Issue #3420013 by longwave, catch: Only run CSS and JS lint jobs if files have changed
  • Issue #3364292 by BramDriesen, dww, alison, cilefen, jonathan1055, urvashi_vora: Use 'queueing' spelling instead of 'queuing'
  • Issue #3322894 by Akhil Babu, Juanjol, micnap, larowlan, quietone, catch, alexpott: Comment form gives deprecated warnings on PHP 8.1 when comment is empty
  • Issue #3419763 by Tom Konda: Replace deprecated String.prototype.substr() with String.prototype.substring()
  • Issue #3418332 by Tom Konda: Replace uncommon HTMLDocument with Document in JSDoc
  • Issue #3406109 by Drupaler_Kushal, KarimB, Lenenba, smustgrave, quietone: Correct 'milli' in core/form.js
  • Issue #3416549 by Wim Leers: ConfigExistsConstraintValidator should ignore NULL values
  • Issue #3419824 by catch: Mark some more tests with @group #slow
  • Back to dev.

New in Drupal 10.2.3 (Feb 9, 2024)

  • This is a patch (bugfix) release of Drupal 10 and is ready for use on production sites.

New in Drupal 10.2.2 (Jan 19, 2024)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcement:
  • Drupal core - Moderately critical - Denial of service - SA-CORE-2024-001

New in Drupal 10.2.1 (Jan 6, 2024)

  • All changes in this release:
  • Issue #3399373 by mstrelan, xjm, longwave, larowlan, quietone: Add declare(strict_types=1) to all Unit tests
  • Issue #3411921 by catch: Start FunctionalJavaScript tests before Functional tests
  • Issue #3412135 by markdorison: Output buffering status check fails when run via CLI
  • Issue #3409982 by claudiu.cristea, longwave, alexpott, catch, Ghost of Drupal Past: [D10.2 regression] Theme suggestions cannot alter variables anymore
  • Issue #3387163 by smustgrave, larowlan, alexpott, xjm, quietone: Decouple tour from ConfigInstallProfileOverrideTest
  • Issue #3402618 by zniki.ru: Replace $GLOBALS['base_root'] with getAbsoluteUrl() in Functional Test
  • Issue #3411837 by larowlan, longwave, catch, uditrawat, marcoscano, smustgrave, cilefen, greggles: Media revision listing is accessible to anonymous users
  • Issue #3412160 by catch: Uncaught exception thrown when running database updates via drush
  • Issue #3409525 by Wim Leers, Lee56, larowlan, cilefen, catch: Regression from #3341682: #states + #required do not automatically work together, resulting in an unsubmittable AccountSettingsForm
  • Issue #3390178 by godotislate, larowlan, catch, pixlkat, Utilvideo, rsnyd, Wim Leers, cilefen, smustgrave, fjgarlin, jakegibs617, seixas, mohithasmukh, very_random_man: big_pipe sometimes fails to load blocks
  • Issue #3410022 by heddn, larowlan, catch: Regression from #3295790 content-length header set earlier than expected
  • Issue #3399160 by mfb, smustgrave, bradjones1, Ghost of Drupal Past: Support MySQL GIPK mode
  • Issue #3410303 by longwave, Luke.Leber, Wim Leers, quietone, dslatkin: FilterHtml data loss when iframe and/or textarea is allowed
  • Issue #3410126 by kim.pepper, catch, larowlan, DamienMcKenna, alexpott: File validation logic from #3221793 broke backwards compatibility
  • Issue #3396559 by alexpott, catch: Only set content-length header in specific situations
  • Issue #3347144 by dgtlmoon, mstrelan, Evaldas Užkuras, bkosborne, FeyP, pirvudoru: Form API #states property/states should use .once() to apply its rules (Can cause failures with BigPipe and possibly other situations)
  • Issue #3396536 by fjgarlin, catch, kim.pepper: [random test failure] Re-enable AjaxTest::testAjaxFocus()
  • Issue #3379220 by kristiaanvandeneynde, smustgrave, Wim Leers: system_page_attachments() varies by authenticated user role but does not add said cache context
  • Issue #3411419 by catch, lauriii, larowlan, kevinquillen: Regression from #2521800: using machine name element for ListStringItem breaks with existing data
  • Issue #3410093 by bnjmnm: [regression] install_get_form does not allow install_settings_form ['driver'] to be null
  • Issue #3214208 by gapple, Akhil Babu, larowlan, smustgrave: FinishResponseSubscriber could create duplicate headers
  • Issue #3214208 by gapple, Akhil Babu, larowlan, smustgrave: FinishResponseSubscriber could create duplicate headers
  • Issue #3345197 by _shY, pradhumanjain2311, joachim, longwave: loadByProperties() and buildPropertyQuery() should document that you can pass value arrays to get an IN query condition
  • Issue #3409663 by sakthi_dev, gorkagr, smustgrave: Remove datetime_range icon and library
  • Issue #3410450 by catch: Fix random performance test failures
  • Issue #3410419 by catch: Only clear flood attempts when necessary during user login
  • Issue #3410452 by catch: Add @group #slow to more tests
  • Issue #3410396 by catch: Add @group slow to ForumTest, HelpTopicSearchTest, ModulesListFormWebTest
  • Issue #3410104 by ravi kant, Wim Leers, KlemenDEV: [10.2 regression] CKEditor 5 image button is missing icon
  • Issue #2983058 by arnested, smustgrave, larowlan: FileUrlGenerator::transformRelative() edge case errors
  • Issue #3161320 by neclimdul, Beakerboy, smustgrave: DrupalTestsComposerPluginVendorHardeningConfigTest leaking configuration changes
  • Issue #2575945 by Sutharsan, mstrelan, tobiasb, ranjith_kumar_k_u, andypost, ericdsd, smustgrave, Ammaletu: A new module version is not recognized by interface translation update
  • Issue #3071143 by KarimB, samsylve, smustgrave, quietone: Table Render Array Documention Is incomplete and confusing
  • Issue #3340154 by godotislate, smustgrave: Link-widget throws exception when rebuilding a form with an invalid uri
  • Issue #3410301 by catch, diqidoq, Wim Leers: Deprecate system.performance stale_file_threshold
  • Issue #3410312 by catch: Flood database backend ::isAllowed() should call ::ensureTableExists()
  • Issue #3371869 by quietone: Fix dependencies of taxonomy term translation migrations
  • Issue #3395626 by amateescu: Fix workspace-support check in entity queries
  • Issue #3404975 by Akhil Babu, joachim, smustgrave: Editor entity class should document that it expects a 1-1 relationship with matching IDs with a format entity
  • Issue #3402173 by sijumpk, Abhijith S, longwave, smustgrave: Remove @backtrace_string in ExceptionLoggingSubscriber::onClientError()
  • Issue #3383219 by Lendude, greatmatter, HeikkiY, PapaGrande, hansfn: Views RSS Feed Fields adds tag
  • Issue #3337295 by Akhil Babu, zniki.ru, rksyravi, quietone, harshitthakore, Indrapatil, smustgrave, longwave, poker10: Remove remaining uses of t() in assertEquals() calls
  • Issue #2183565 by plopesc, alexpott, jcnventura, DuaelFr, melvinlouwerse, grndlvl, cesarmiquel, Sweetchuck, yogeshmpawar, BetoAveiga, Sivaji_Ganesh_Jojodae, drugan, marvil07, smustgrave, poker10, catch, bbrala: Avoid loading all terms on the taxonomy overview form
  • Issue #3403999 by acbramley, Primsi, LeDucDuBleuet, godotislate, Lendude: Exposed filter values ignored when using batch
  • Issue #3408129 by Spokje, smustgrave: Sync up core/.stylelintrc.json and stylelint-config-standard
  • Issue #3409413 by gorkagr, lauriii, longwave: Error TypeError: DrupalCoreFieldFieldTypeCategory::getDescription() if a FieldType has 'description' missing in its annotation
  • Issue #3377657 by catch, mondrake: Add database query spans to otel traces
  • Issue #3403382 by alexpott, Wim Leers: BuildTestBase makes assumptions it should not about the code layout
  • Back to dev.

New in Drupal 10.2.0 (Dec 16, 2023)

  • This minor release provides improvements and new functionality. It does not not break backward compatibility (BC) for public APIs. There may be changes in internal APIs and experimental modules. If so, contributed and custom modules and themes may need updating. This is according to Drupal core's backward compatibility and experimental module policies.

New in Drupal 10.1.7 (Dec 7, 2023)

  • This is a patch (bugfix) release of Drupal 10 and is ready for use on production sites.

New in Drupal 10.2.0 Beta 1 (Nov 23, 2023)

  • All changes since Drupal 10.2.0-alpha1:
  • Issue #3402955 by quietone, Spokje: Update drush conflict to "<12.4.3"
  • Issue #3400302 by poker10, longwave, nterbogt: PHP OPcache bug detection issue
  • Issue #2600558 by marvil07, a_thakur, vsujeetkumar, alexpott, smustgrave, quietone, xjm: Wrong path generated in README.txt in sync directory
  • Issue #3395977 by fjgarlin, smustgrave, mstrelan, mondrake: Test-only changes reverts changes to test modules
  • Issue #3370560 by quietone, bogdog400, daffie: Update failed: dblog_update_10101 (TINYINT)
  • Issue #3400762 by simohell, peterbihari, amanire: Long string breaks the layout of Claro
  • Issue #3351458 by dburiak, Mingsong, Mahima_Mathur23, sthomen, smustgrave, catch, alexpott: [regression] Language switcher block returns links to node on the frontpage
  • Issue #3392200 by jeremy_p, joachim, hdnag, yepa: Invalid placeholder error message should say what's wrong with it
  • Issue #3402604 by alexpott, larowlan, catch, Spokje: SettingsTrayBlockFormTest::testBlocks() fails locally 100% of the time and lots of times on Gitlab CI
  • Issue #3401753 by BramDriesen: Add Announcements Feed to the Standard profile
  • Issue #3356488 by BramDriesen, xjm, catch, fjgarlin, hestenet, longwave, larowlan, alexpott, lauriii: Mark Announcements Feed as stable
  • Issue #3390693 by mikelutz, smustgrave: MigrationPluginManager::ExpandPluginIds can lose derivative plugins under certain circumstances
  • Issue #3394741 by acbramley, jenlampton, smustgrave: BlockContentAccessControlHandler requires access block library permission for update, delete and revisions operations
  • Issue #3402548 by alexpott, mikelutz, el7cosmos: YamlFileLoaderTest fails if you have PECL yaml installed
  • Issue #3391786 by quietone, xjm, smustgrave: Fix spelling of words only misspelled in tests, variable names, part 5
  • Issue #3401971 by fjgarlin: Test-only job shouldn't require constant rebases to detect which files were changed
  • Issue #3402168 by Wim Leers, alexpott, Berdir, bircher, borisson_, effulgentsia: Follow-up for #3361534: Config validation errors can still occur for contrib modules, disrupting contrib
  • Issue #3400458 by alexpott, Berdir, longwave, ReINFaTe, mglaman, larowlan, Charlie ChX Negyesi, kristiaanvandeneynde, cmlara: AttributeClassDiscovery fails while trying to include non valid plugin class
  • Issue #3347721 by Wim Leers, dabley, lauriii, smustgrave, witeksocha, Reinmar, thatipudir: [Style] Warn the user about styles for unsupported elements
  • Issue #3401720 by neclimdul, acbramley: [random test fail] TimestampFormatterWithTimeDiffViewsTest::testTimestampFormatterWithTimeDiff
  • Issue #3401764 by BramDriesen, xjm, smustgrave: Replace CollegeHumor URLs and logic in core test cases
  • Issue #3175449 by mfb, super_romeo, smustgrave, _pratik_, Medha Kumari, Nitin shrivastava, quietone, alexpott, xjm, dagmar, longwave: Display backtrace for logged throwables on log message details page
  • Issue #3380239 by smustgrave, pradhumanjain2311, FlusteredLondon, xjm, joachim, cilefen: Date token descriptions are confusing
  • Revert "Issue #3383131 by WalkingDexter, xjm, allisonherodevs, ashley_herodev, pradhumanjain2311, smustgrave, marcoliver, lauriii: Entity autocomplete form element ignores entities with label "0""
  • Issue #3316274 by Wim Leers, catch, nod_, alexpott, longwave, bnjmnm: Stabilize FunctionalJavascript testing AJAX: add ::assertExpectedAjaxRequest()
  • Issue #3401971 by fjgarlin: Test-only job shouldn't require constant rebases to detect which files were changed
  • Issue #3397890 by mstrelan, dww: Fix strict type errors in unit tests
  • Issue #3383131 by WalkingDexter, xjm, allisonherodevs, ashley_herodev, pradhumanjain2311, smustgrave, marcoliver, lauriii: Entity autocomplete form element ignores entities with label "0"
  • Issue #3398400 by pradhumanjain2311, joachim, smustgrave: Clean up repeated method calls in ValidReferenceConstraintValidator
  • Issue #3396153 by joachim: Composer Scaffold plugin README is incomplete
  • Issue #2904899 by FeyP, idflood, smustgrave, alexpott: Invalid argument exception when changing language of node with menu link to und or zxx
  • Issue #3401901 by Spokje, smustgrave, longwave: Update composer dependencies for Drupal 10.2 beta
  • Issue #3399992 by mstrelan, smustgrave, xjm: Fix strict type errors in test traits
  • Issue #3401236 by pradhumanjain2311, xjm, joachim, smustgrave: Rename EntityReferenceTestTrait to help discoverability
  • Issue #3390692 by catch, xjm, smustgrave: Split out a couple more config translation UI tests
  • Issue #3400368 by Wim Leers, xjm, borisson_, catch: Deprecate path.temporary in system.file configuration schema
  • Issue #3399754 by mstrelan, smustgrave, xjm: Fix strict type errors in functional JavaScript tests
  • Issue #3400791 by Spokje, Wim Leers: Update CKEditor 5 to 40.1.0
  • Issue #3377310 by catch, joelpittet, mark_fullmer, smustgrave, TrevorBradley, bkosborne, MWaters, cilefen, capellic: 400 exceptions result from requests for old asset paths which are missing the "theme" query string, possibly from cached pages
  • Issue #3401102 by Spokje, longwave, smustgrave: Nightwatch artifacts on GitLab not retained
  • Issue #3391681 by longwave: Use default section to simplify GitLab pipelines
  • Issue #3385283 by e0ipso, smustgrave, idiaz.roncero, jldust, wotnak: Components without props throw error
  • Issue #3397291 by Utkarsh_33, rkoller, smustgrave: Improve the readability of the view mode and form mode page
  • Issue #3401186 by Wim Leers, alexpott: Follow-up for #3382510: Throw LogicException when >1 #config_target in the same form targets the same property path
  • Issue #3397173 by Spokje, smustgrave: Convert both BookNavigationCacheContext and MenuActiveTrailsCacheContext to use lazy services
  • Issue #3398982 by Wim Leers, phenaproxima, alexpott, borisson_: ConfigFormBase + validation constraints: support non-1:1 form element-to-config property mapping again
  • Issue #3387959 by poker10: Document new arguments in run-tests.sh
  • Issue #3400485 by googletorp, nod_: LibraryDependencyResolver::getMinimalRepresentativeSubset() calculates dependencies incorrectly
  • Issue #3277238 by lauriii, xjm, plopesc, quietone, andregp, Berdir, smustgrave, hmendes, joachim, alexpott, fjgarlin: Fix DrupaltaxonomyEntityTerm::getName() to conform to the interface
  • Issue #3015369 by quietone, mikelutz, xjm: Fix MigrateTestBase::executeMigrations() to execute migrations in dependency order
  • Issue #3401200 by quietone: Update composer dependencies for Drupal 10.2 beta
  • Issue #3365945 by larowlan, sakthi_dev, alexpott, catch, daffie, mkimmet, Olarin, rakesh.gectcr, JvE, borisson_, eelkeblok: Errors: The following table(s) do not have a primary key: forum_index
  • Issue #3377000 by Spokje, longwave, xjm: Remove phpstan ignore for "#^Missing cache backend declaration for performance.#"
  • Issue #3395563 by nireneko, marvil07, lauriii, borisson_, smustgrave, Wim Leers: Add validation constraints to taxonomy.settings
  • Issue #3379495 by quietone, xjm, smustgrave: Convert enable/disable to install/uninstall in hook_help()
  • Issue #3195583 by smokris, smustgrave, mohit.bansal623, xjm, quietone: Fix warning when RSS feed includes markup with an empty srcset attribute
  • Issue #1215784 by Saphyel, jenlampton, penyaskito, jlscott, simohell, sanjusci, StephaneQ, jeffschuler, scresante, droplet, Shivam Agarwal, xjm, jbrown, alexpott, quicksketch, Gábor Hojtsy, smustgrave, ianthomas_uk, TR, bleen, nlisgo, catch: Terminology update: don't say "Resolution" when we mean "Dimensions"
  • Issue #3383692 by Murz, xjm, smustgrave: Document that NULL is an allowed return value for EntityRepositoryInterface::getTranslationFromContext()
  • Issue #3400045 by kristiaanvandeneynde, lauriii, moshe weitzman, xjm: Offering to co-maintain the User subsystem
  • Issue #3400806 follow-up by lauriii, rkoller: Text color changes on hover for elements with .buttons
  • Issue #3017054 by alexpott, deviantintegral, percoction, mattwith, ankithashetty, Wim Leers, jwilson3, longwave, bircher: Consistently sort filter formats to simplify config exports
  • Issue #3397581 by Spokje: Remove ContainerAware classes from RenderPlaceholderMessageTestController
  • Issue #3342874 by star-szr, Wim Leers, DamienMcKenna: Allow inline HTML comments in CKEditor 5
  • Issue #3399685 by poker10, greggles, BramDriesen: Remove Core version from install.php when the site already is installed - Information Disclosure - Leaking version information
  • Issue #3301205 by Spokje, mondrake, Gábor Hojtsy, quietone, catch, xjm: Replace the test class protected $modules deprecation error with a phpstan-drupal rule
  • Issue #3400071 by Spokje: Update cspell to latest version (major bump)
  • Issue #3395891 by quietone: Fix spelling for words in test modules
  • Issue #3398946 by Spokje: Upgrade glob to latest possible version working with yarn 1.*
  • Issue #3328741 by quietone, smustgrave, xjm, catch, alexpott, longwave: Add a dictionary for Drupal-specific words
  • Issue #3393955 by quietone, xjm, smustgrave: Correct $suggestions documentation in hook_theme_suggestions_alter()
  • Issue #3385837 by vbouchet: PathContentModerationTest should use API to set up language
  • Issue #3384935 by vbouchet: ContactLanguageTest should use API to set up language
  • Issue #3385811 by vbouchet: ContentTranslationUntranslatableFieldsTest should use API to set up language
  • Issue #3385834 by vbouchet, joachim: MenuUiNodeTest should use API to set up language
  • Issue #3379819 by kim.pepper, smustgrave, RoSk0: Display the deployment_identifier on the status page
  • Issue #3374537 by camoa, Utkarsh_33, TY4DVenom, Gauravvvv, Indrapatil, narendraR, Harish1688: PostCSS layout helpers inconsistency
  • Issue #3355603 by roshni27, joachim, Ranjit1032002, quietone: Docs for ImageFieldCreationTrait and FileFieldCreationTrait are misleading
  • Issue #3399370 by mstrelan: Remove @file annotation from test classes
  • Issue #3397991 by dineshkumarbollu, joachim: Error in EntityFieldManager comment
  • Issue #3391788 by quietone, xjm: Fix spelling of function names in tests
  • Issue #3341669 by jennakoo, royalpinto007, ThomWilhelm, Gauravvvv, athyamvidyasagar, nayana_mvr, kunal_sahu, Nishant, idiaz.roncero, OhJoz, smustgrave, Laurie Lim: Dropbuttons and regular buttons are misaligned
  • Issue #3210684 by joachim, mikran, tobiasb: Put each entity type table into a details element on admin/config/regional/content-language
  • Issue #3381078 by mfb, smustgrave, xjm, quietone, andypost: Demote routine log events from "notice" to "info"
  • Issue #3400806 by OhJoz, jennakoo: Text color changes on hover for elements with .buttons
  • Issue #3397742 by lauriii, smustgrave: Improve machine name AJAX focus handling integration
  • Issue #3400318 by kim.pepper: Skip SettingsTrayBlockFormTest::testEditModeEnableDisable due to random fails
  • Issue #3400315 by kim.pepper, smustgrave: Skip TimestampFormatterWithTimeDiffTest::testTimestampFormatterWithTimeDiff due to random fails
  • Issue #2960381 by roshni27, joachim, apaderno, smustgrave: Docs for FactoryInterface::createInstance() and MapperInterface::getInstance() are too similar and need more detail
  • Issue #2272637 by mohit_aghera, ashley_herodev, ankithashetty, Gauravvvv, malc0mn, pooja saraah, catch, Abhijith S, smustgrave, xjm, bnjmnm, larowlan, dcam, ameymudras: Default file visibility setting not respected
  • Issue #3348789 by catch, Altcom_Neil, markie, lauriii, pelicani, longwave, olli: Compress ajax_page_state
  • Issue #3400313 by kim.pepper, catch: Skip KeyValueStoreDatabaseStorageTest due to random test failures
  • Issue #3400041 by kristiaanvandeneynde: Offering to co-maintain the cache subsystem
  • Issue #3400311 by kim.pepper: Skip AjaxTest::testAjaxFocus() due to random test failures
  • Issue #3397594 by Utkarsh_33, lauriii: Race condition on AJAX change event and form submission
  • Issue #2898274 by aleevas, piotrkonefal, borisson_, GaëlG, ankithashetty, dietr_ch, robpowell, alexpott: Uninstalled custom theme stuck in config blocking config import
  • Issue #3399419 by quietone: Update mglaman/phpstan-drupal to 1.21 for 3301205
  • Issue #3399172 by saidatom, smustgrave: Fix linting issues in Twig files
  • Issue #3398891 by alexpott, Wim Leers: Do not require the config in #config_target to be listed in getEditableConfigNames()
  • Issue #2911977 by yash.rode, acbramley, bnjmnm, smustgrave, phenaproxima, Wim Leers, chr.fritsch, larowlan: Add Media revision UI
  • Issue #3395852 by makbay, smustgrave, cilefen: Update the countries list to latest Unicode CLDR version 44
  • Issue #3397488 by nbeaucage, longwave, smustgrave, catch: Deprecate unused CacheDecoratorInterface
  • Issue #3399295 by alexpott, Wim Leers, bircher, andypost, borisson_: Allow all callables in ConfigTarget
  • Issue #3399123 by Spokje, longwave, smustgrave: Upgrade JavaScript dependencies to latest minor/patch releases
  • Issue #3399333 by andypost: All Lint jobs should use same default variables
  • Issue #3398974 follow-up by Wim Leers: Follow-up for #3382510: FormStateInterface::setErrorByName() needs not #name but a variation
  • Issue #3395586 by andy-blum, deviantintegral, longwave, catch: Add Symfony's Filesystem and Finder components to core
  • Issue #3398974 by alexpott, Wim Leers, borisson_: Follow-up for #3382510: FormStateInterface::setErrorByName() needs not #name but a variation
  • Issue #2441373 by twistor, vsujeetkumar, marvil07, eporama, daffie, joseph.olstad, alvar0hurtad0, jibran, longwave, joelpittet, smustgrave, alexpott: Upgrade tests to HTML5
  • Back to dev.

New in Drupal 10.1.5 (Oct 6, 2023)

  • This is a patch (bugfix) release of Drupal 10 and is ready for use on production sites.

New in Drupal 10.1.4 (Sep 21, 2023)

  • This release fixes security vulnerabilities.

New in Drupal 10.1.3 (Sep 8, 2023)

  • CKEditor 5 has been updated to 39.0.1. This fixes a long-standing data loss critical bug: until now, CKEditor 5 stripped all inline empty elements, which are typically used for inline icons using markup such as <i class="icon icon-druplicon"></i> or <span class="icon icon-druplicon"></span>. Going forward, this is supported, but requires the Source Editing plugin to be configured to allow <i class> or <span class>, respectively. This must be configured manually, which is better than in CKEditor 4, where it required custom code.
  • A new DeprecationHelper API has been added to enable contributed modules to support multiple versions of core more easily. Contributed modules may add a minimum dependency on Drupal 10.1.3 if they want to start using this API.
  • All changes in this release:
  • Issue #3384667 by Gábor Hojtsy, quietone: Add Gábor Hojtsy as facilitator to MAINTAINERS.txt
  • Issue #3384764 by fjgarlin, longwave: ImageUrlTest fails on GitlabCI integration
  • Issue #2010368 by fjgarlin, Pancho, poker10, daffie: Installer can't create new database on PostgreSQL
  • Issue #3100826 by ilya.no, mwilbur, nikita_tt, smustgrave, quietone: AJAX pager doesn't work with exposed filter which has a default value
  • Issue #3311469 by Rajeshreeputra, Internetter, fjgarlin, skyredwang: Absolute path for oembed iframe
  • Issue #2986962 by fjgarlin, ppseftogiannis, smustgrave, Sut3kh: BrowserTestBase::drupalGet() does not appear to be handling base url properly
  • Issue #3344789 by acbramley, Berdir, fenstrat, benjifisher, borisson_: Return early in EntityPermissionsForm::access if the user does not have "administer permissions"
  • Issue #2514960 by Aki Tendo, catch: DrupalCoreThemeRegistry->build() does not always return DrupalCoreUtilityThemeRegistry
  • Issue #3381097 by catch, b_sharpe, TwoD: Need to catch Peast exceptions
  • Issue #3327294 by poker10, alexpott: Username enumeration via one time login route when logged in as another user
  • Issue #3355381 by catch, drewcking, stewest, bnjmnm, lmoeni, fngatia, kevinquillen, Danny Englander, Ambient.Impact, gapple, manikandank03, lucasvm: Investigate better ways to add anti-flicker JS
  • Issue #3382123 by catch, smustgrave, nicxvan: Update Peast to 1.15.4
  • Issue #3379430 by nlisgo, kostyashupenko, Chi, smustgrave: Umami theme should declare dependency on SDC
  • Issue #3378341 by gapple, acbramley: claro.jquery.ui css assets may be added the page multiple times
  • Issue #3381660 by chesn0k: Documentation problem with node_is_page
  • Issue #3371619 by bbrala, andypost, dww, mglaman, Kingdutch, catch, mondrake, heddn, Charlie ChX Negyesi: Implement utility method for invoking backward compatible code
  • Issue #3378657 by dineshkumarbollu, gorkagr, smustgrave: Duplicate declaration of $context in WidgetBase
  • Issue #3377318 by Spokje, longwave, znerol: Remove cruft from LanguageNegotiationMethodManager
  • Issue #3218087 by nlisgo, Gribnif, Lendude, smustgrave: Views MysqlDateSql::getDateFormat() should translate PHP's 'o' format to MySQL's '%x'
  • Issue #3212759 by Lendude, ckaotik: Ensure views Translate tabs are visible when editing
  • Issue #3368509 by Spokje, Wim Leers, quietone: [Random test failure] Random failure in CKEditor5AllowedTagsTest::testMediaElementAllowedTags
  • Issue #3380637 by lauriii, Wim Leers: Update CKEditor 5 to 39.0.1
  • Issue #3326261 by juanolalla, Wim Leers, lauriii, smustgrave, witeksocha, jwilson3, ChrisSnyder, ericras, Reinmar, jds1, Luke.Leber: [Style] Add tests for inability to apply styles to div, ul, ol, table etc. in CKEditor 5 — and a allows applying it to all elements
  • Issue #3379525 by quietone, smustgrave: Convert enable/disable to install/uninstall in exception text
  • Issue #3379089 by nlisgo, elgandoz, smustgrave: Hardcoded color class for site branding when using RTL
  • Issue #3377562 by Wim Leers, Spokje, longwave, witeksocha, Reinmar: Update CKEditor 5 to 39.0.0
  • Issue #3374253 by TwoD, smustgrave, catch, lauriii: The renderer throws away cache metadata from access result if it is not allowed
  • Issue #2559961 by angrytoast, Krzysztof Domański, drup16, Lendude, vasike, Leksat, sam711, tar_inet, mlncn, JordiK, adinac, Pascal-, joshua.boltz, froboy, oriol_e9g, alison, codesmith, luenemann, specky_rum, daffie: ManyToOneHelper ignores group configuration for some cases
  • Issue #3377131 by longwave, smustgrave: File mode check in commit-code-check.sh is too strict

New in Drupal 10.1.2 (Aug 3, 2023)

  • Important changes in this release:
  • cspell, eslint, and stylelint have been updated to later releases to address upstream security vulnerabilities.
  • All changes in this release:
  • Issue #3378088 by mstrelan, agunjan085: Invalid references to contextual_pre_render_links in contextual.api.php
  • Issue #3231503 by mdupont, kiseleva.t, donquixote, akalam, larowlan, joachim, longwave, mglaman: hook_entity_extra_field_info() is called unnecessarily often, hurting performance
  • Issue #3317745 by heykarthikwithu, mkalkbrenner, catch, smustgrave, Schoenef: CSS Aggregation should not rewrite # url
  • Issue #3376177 by nlisgo, smustgrave, amateescu: Errors on WorkspacePublishForm::submitForm are not being logged
  • Issue #3366257 by amateescu: The active workspace is not deactivated when it's deleted
  • Issue #3376293 by nlisgo, smustgrave, amateescu: WorkspacePublishForm $redirectDestination parameter appears not to be used
  • Issue #3377207 by bnjmnm, smustgrave: Dialog close icon not reliably visible in forced colors mode
  • Issue #2952488 by smustgrave, pminf, dcgoodwin, andypost, pau1_m, sim_1, boulaffasae, idebr, jmickela, barone, mgifford, jgloverattronedotcom, andrewmacpherson, DuaelFr, larowlan, lauriii, RachelOlivero: Use aria-current=page in pagination links
  • Issue #3261663 by s.messaris, DieterHolvoet, ShaunDychko, smustgrave, schillerm, dww: Password reset json endpoint reveals whether an email or username is in use
  • Issue #3339780 by Nikolas Haliotis, quietone: Move getContent and getContentUpdate inline
  • Issue #3374223 by andypost, smustgrave, neclimdul: Fix deprecated overloaded function usage in PHP 8.3
  • Issue #2800691 by bharath-kondeti, djsagar, ravi.shankar, Rishabh Vishwakarma, shashikant_chauhan, quietone, smustgrave, FeyP, joachim, Amber Himes Matz: Improve docs for the Xss::filter() $html_tags parameter
  • Issue #3375276 by DieterHolvoet: 4xx HTTP code theme suggestions are not applied if a node is set as 4xx path
  • Issue #3365464 by sarahjean, Gauravvvv, e0ipso: Create new SDC component for Umami Branding
  • Issue #3371358 by catch, tikaszvince, smustgrave, larowlan: When AssetControllerBase delivers existing file should add content-type
  • Issue #3376263 by Spokje: Tighten xpath selectors to decrease complexity in tests
  • Issue #2730807 by Lendude, versantus.nik, cilefen, xjm, SidneyGijzen, smustgrave, almaudoh, alexpott, danflanagan8, jordan.jamous: WSOD on admin/modules if description is set but is NULL in module.info.yml
  • Issue #3219475 by quietone, adeshsharma, ravi.shankar, lucienchalom, Akram Khan, Prem Suthar, Ratan Priya, andregp, murilohp, karishmaamin, longwave, smustgrave, xjm: Fix spelling for words used once, beginning with 'j' -> 'm', inclusive
  • Issue #3375806 by urvashi_vora, Lendude, tinto, Harish1688, finne: Views 'Rearrange' dialog show the 'Remove' checkbox, which should be visually hidden
  • Issue #3370179 by fago, Wim Leers, borisson_, smustgrave: Clarify why FieldConfigBase::getDataType() is 'list' and not 'field_config_base'
  • Issue #3370828 by catch, longwave, sime, Chi, lauriii, larowlan, agarzola: Ensure that edge caches are busted on deployments for css/js aggregates
  • Issue #3368145 by Spokje: Use constants when calling CommentTestBase::setCommentAnonymous
  • Issue #3136459 by ranjith_kumar_k_u, dishabhadra, Gauravvvv, priyanka.sahni, smustgrave, sheldonreed3: Filter tips disappear when changing of text format is cancelled
  • Issue #3360442 by _andrew, matthew.h, aziza_a, Lendude, Kristen Pol: Prevent the Advanced details getting closed when making changes in the advanced section
  • Issue #3364867 by eiriksm: Wrong type of property MenuLinkContent::$link
  • Issue #3364204 by Sweetchuck: Locale configuration storage passes wrong arguments to install storage
  • Issue #3261229 by mfb, danflanagan8, smustgrave, daffie, catch, alexpott: Passing null to parameter #1 ($num) of type int|float to abs() is deprecated
  • Issue #3374878 by Spokje: Fix PHPStan L1 errors "Offset 'foo' on array{} in isset() does not exist."
  • Issue #3375600 by gabriel.passarelli, Gauravvvv, carolpettirossi: Form layout when the "main" region has a smaller height than the "secondary" region is broken
  • Issue #3356372 by Gauravvvv, BEGRAFX, smustgrave: Bad Color combination in "Block Layout" Example page
  • Issue #3368277 by sidharth_soman, joachim: document that config/optional is safe to use with duplicate configuration
  • Revert "Issue #3312072 by penyaskito, markconroy, ckrina: Display category-related recipes when seeing a recipe full page"
  • Issue #3312072 by penyaskito, markconroy, ckrina: Display category-related recipes when seeing a recipe full page
  • Issue #3374319 by catch, longwave: FileSystem::deleteRecursive() shouldn't log a message when it tries to delete a non-existent directory
  • Issue #3372789 by aaron.ferris, larowlan: run-tests.sh references a non existent obsolete Core module's (simpletest) url
  • Issue #3224941 by andypost, Akram Khan, ravi.shankar, SandeepSingh199, Spokje, catch, xjm, alexpott: Remove usage of setAccessible() when core requires PHP 8.1
  • Issue #3374664 by Spokje: Security update multiple JavaScript dependencies
  • Issue #3374660 by Niklan, catch, andypost, Chi, Spokje: Update mck89/peast composer dependency to 1.15.2
  • Issue #3373867 by lauriii, Eric_A, smustgrave: [regression] "Comments field is required" when creating content for types with a comment field configured as hidden
  • Issue #3333215 by enchufe, arunkumark, mfb, Nitin shrivastava, smustgrave, cilefen: Return early if syslog configs are NULL to avoid openlog deprecation
  • Issue #3362898 by Gauravvvv, Vidushi Mehta, athyamvidyasagar, kopeboy, smustgrave: Password input width is incoherent and overflows
  • Issue #3365451 by amanire, Gauravvvv, smustgrave: Create new SDC component for Umami (disclaimer)
  • Issue #3335670 by Gauravvvv, sonam.chaturvedi, smustgrave: Claro: Text overlaps the icon in select list on rtl
  • Issue #3372922 by Spokje, darvanen, msbtterswrth, Wim Leers: Regression: infinite height prevention disables scrolling in Source view
  • Issue #3373328 by catch, keshav.k, Ambient.Impact, longwave: ^10.1 CSS aggregation breaks during maintenance mode
  • Issue #3362590 by Santosh_Verma, lauriii, Gauravvvv, Harish1688, amietpatial, smustgrave: There is a noticeable white border on the right side of "Place Block" button
  • Issue #3040258 by amateescu, adityasingh, anushrikumari, larowlan, s_leu, dixon_, catch, atul4drupal, alexpott, Fabianx: Menu link content changes are not visible on non-live workspaces
  • Issue #3371992 by andypost, daffie: Tests should check sqlite version using PDO_sqlite extension
  • Revert "Issue #3362083 by mondrake, smustgrave, longwave, Wim Leers: '@requires externalCommand' is not parsed in PHPUnit 10"
  • Issue #3362083 by mondrake, smustgrave, longwave, Wim Leers: '@requires externalCommand' is not parsed in PHPUnit 10
  • Revert "Issue #3358384 by Spokje, mondrake: Deprecate DrupalTestsRandomGeneratorTrait::randomStringValidate"
  • Issue #3358384 by Spokje, mondrake: Deprecate DrupalTestsRandomGeneratorTrait::randomStringValidate
  • Issue #3373066 by lauriii: Replace BDFL with Project Lead
  • Issue #3372678 by lauriii, Berdir: Ajax state leaking to Views bulk operations
  • Issue #2826826 by vasike, dpi, raman.b, rpayanm, jibran, gpap, mpolishchuck, rwohleb, ranjith_kumar_k_u, smustgrave, johnnydarkko, mrinalini9, Zarpele, Berdir, amateescu, hchonov, amitaibu, larowlan, heddn, RoySegall, quietone: Entity autocomplete widget does not pass along entity to AJAX request
  • Issue #3370222 by Lendude, solideogloria: Grouped filters with a value of zero do not show when editing the filter
  • Issue #3325571 by Murz, andypost, smustgrave, catch, larowlan: MemoryStorage fails with "Argument #1 ($array) must be of type array" error on calling function readMultiple()
  • Issue #3355841 by mondrake: Allow DriverSpecificSchemaTestBase::testChangePrimaryKeyToSerial to execute for non-core drivers
  • Issue #3338973 by Lendude, cbfannin, ericdsd, marc.groth: Deprecated: preg_split(): Passing null in argument_validator
  • Issue #3370619 by andypost: Capitalize test group for typedData
  • Issue #3363711 by Chris Matthews, Nishant, Shiv_Sharma, smustgrave: Minor hyperlink edit on Appearance page
  • Issue #3345149 by lauriii, shoroshanska, ranjith_kumar_k_u, quietone, smustgrave, tim.plunkett, mlncn, drugan, narendraR: Extra Default value field when adding a field with an unlimited values
  • Issue #3372638 by lauriii, smustgrave: Page scrolls when element inside bulk operations is focused
  • Issue #3372783 by Spokje: Re-enable DrupalTeststaxonomyFunctionalRestVocabularyJsonAnonTest::testGet

New in Drupal 10.1.1 (Jul 7, 2023)

  • CKEditor 5 has been updated to version 38.1.0.

New in Drupal 10.1.0 (Jun 22, 2023)

  • This minor release provides improvements and new functionality. It does not not break backward compatibility (BC) for public APIs.There may be changes in internal APIs and experimental modules. If so, contributed and custom modules and themes may need updating. This is according to Drupal core's backward compatibility and experimental module policies.

New in Drupal 10.1.0 Beta 1 (May 17, 2023)

  • This is a beta release for the next minor (feature) release of Drupal 10. Betas are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs. Beta releases are not recommended for non-technical users, nor for production websites. More information on beta releases.
  • This minor release provides improvements and new functionality. It does not not break backward compatibility (BC) for public APIs.There may be changes in internal APIs and experimental modules. If so, contributed and custom modules and themes may need updating. This is according to Drupal core's backward compatibility and experimental module policies.
  • This release may include string changes and additions. Translators can review the latest translation status on localize.drupal.org.
  • Drupal 10.1.x contains new features, and should be the target for new site development. Drupal 10.0.x will continue to have security support until December 2023.
  • Drupal 9.4.x security support will end on June 21, 2023. Sites on Drupal 8 or a Drupal 9 version earlier than 9.5.x should upgrade to a supported release as soon as possible.

New in Drupal 10.0.9 (May 4, 2023)

  • All changes since Drupal 10.0.8:
  • Issue #2985882 by tim.plunkett, Mirakolous, ravi.shankar, ayush9598, Rajab Natshah, andypost, Anybody, kattekrab, devarch, Freddy Rodriguez, adubovskoy, corneliusd, mradcliffe, longwave, lukasss, Pancho, Graber, dpi, joshf, lordzik, dorianwinterfeld, jacov, kdmdrupal, jlancaster, jborgesr, joarferme, tonytheferg, chrisrockwell, agilman, kducharm, Sam152, scotwith1t, labboy0276, Spokje, jazzfiction, Shrutidkadam, ab2211, Dave Kopecek, segx, alexmoreno, themaurice, the_glitch, NWOM, kwfinken, berliner, design.er, ouissla, zterry95, jamsilver, fonant, Rajendar Reddy, Christopher Riley, BramDriesen, webdrips: Workaround for "Call to a member function getLabel() after enabling layout_builder"
  • Issue #3123060 by Spokje, quietone, longwave, ankithashetty, daffie, jungle, xjm: Enable 'Drupal.Commenting.DocComment.ShortSingleLine' coding standard
  • Revert "Issue #3268833 by quietone, xjm, jungle, ravi.shankar, smustgrave, daffie, Spokje, DanielVeza: Fix method comments in tests for Drupal.Commenting.DocComment.ShortSingleLine"
  • Issue #3268833 by quietone, xjm, jungle, ravi.shankar, smustgrave, daffie, Spokje, DanielVeza: Fix method comments in tests for Drupal.Commenting.DocComment.ShortSingleLine
  • Issue #2692451 by neclimdul, tedfordgif, smustgrave, mikey_p, larowlan: Xss::filterAdmin() incorrectly filters datetime attribute
  • Issue #3357114 by Spokje: Update mglaman/phpstan-drupal and help make daily "updated deps" QA jobs pass
  • Issue #3357247 by Spokje: Update guzzlehttp/psr7
  • Issue #3356337 by Spokje, mondrake: Fix incorrect type hint and make daily "updated deps" QA jobs pass
  • Issue #3268833 by quietone, xjm, jungle, ravi.shankar, smustgrave, daffie, Spokje, DanielVeza: Fix method comments in tests for Drupal.Commenting.DocComment.ShortSingleLine
  • Issue #3355139 by krystalcode: Method documented to raise error while it actually does not
  • Issue #3354951 by Spokje: Update @todo comment in DrupalCoreDatabaseStatementInterface::fetchObject
  • Issue #3175012 by anagomes, CurriedN, andregp, ptmkenny, longwave, klausi, mglaman, acbramley: Update PHPDoc for DataDefinition
  • Issue #3268835 by quietone, smustgrave, ravi.shankar, xjm, borisson_, catch: Fix method comments in non tests for Drupal.Commenting.DocComment.ShortSingleLine
  • Issue #3356825 by Gábor Hojtsy, quietone, xjm, bnjmnm: Promote quietone and bnjmnm from provisional core committers to full core committers
  • Issue #3159896 by mherchel, awset, srishtiiee, Gauravvvv, _utsavsharma, lauriii, pameeela, bnjmnm, Kristen Pol, kiran.kadam911, pradeepjha, Sakthivel M: Select form field values are hidden at narrow screen widths in Claro theme
  • Issue #2911932 by bnjmnm, arnaud-brugnon, EthanT, leslie.cordell, smustgrave, nod_: Correct vertical tab does not focus on form validation
  • Issue #3353096 by Spokje, catch, xjm: [random test failure] Try to un-skip and fix InlineBlockPrivateFilesTest::testPrivateFiles() in context of [#3353085]
  • Issue #3353167 by Spokje: [random test failure] Try to un-skip and fix LayoutBuilderNestedFormUiTest::testAddingFormBlocksToOverrides in context of [#3353085]
  • Issue #3353179 by Spokje: [random test failure] Try to un-skip and fix LayoutBuilderTest::testLayoutBuilderUi in context of [#3353085]
  • Issue #3353153 by Spokje: [random test failure] Try to un-skip and fix LayoutBuilderNestedFormUiTest::testAddingFormBlocksToDefaults in context of [#3353085]
  • Issue #3353088 by Spokje: [random test failure] Try to un-skip and fix BlockFormMessagesTest::testValidationMessage() in context of [#3353085]
  • Issue #3353100 by Spokje, xjm: [random test failure] Try to un-skip and fix InlineBlockTest::testDeletion in context of [#3353085]
  • Issue #3353103 by Spokje: [no random test failure] Try to un-skip and fix LayoutBuilderDisableInteractionsTest::assertContextualLinksClickable in context of [#3353085]
  • Issue #3353092 by Spokje: [random test failure] Try to un-skip and fix ContextualLinksTest in context of [#3353085]
  • Issue #3355301 by quietone, alexpott, smustgrave: Fix spellcheck:make-drupal-dict
  • Issue #3355137 by Spokje: Update mglaman/phpstan-drupal and make daily "updated deps" QA jobs pass
  • Back to dev.
  • Merged 10.0.8.
  • Issue #2188715 by penyaskito, amanshukla6158, mrinalini9, smustgrave, YesCT, quietone: Document return value in DrupallocaleLocaleTranslation::getStringTranslation
  • Issue #3073518 by mohit_aghera, rkostov, Eugene Bocharov, rensingh99, wturrell, smustgrave, quietone, pameeela: 'Is not equal to' operator ignored on exposed, grouped filter
  • Issue #3354385 by tstoeckler: Remove tstoeckler from MAINTAINERS.txt
  • Issue #3222107 by codebymikey, bnjmnm, chandu7929, Shubham Chandra, jmickela, vipin.mittal18, trickfun, larowlan: Library order asset weights do not work properly when a large number of javascript files is loaded between two jQuery UI libraries
  • Issue #3352524 by sleitner: Do not use direct configuration changes in LanguageNegotiationSessionTest
  • Issue #3352548 by DanielVeza: Leftover D10 deprecations in the contextual module
  • Issue #3346099 by rckstr_rohan, dww, joachim, smustgrave: @return docs for WorkflowTypeInterface::getTransitionsForState() are wrong
  • Issue #3268838 by quietone, TR, smustgrave, xjm: Fix functions and test modules for Drupal.Commenting.DocComment.ShortSingleLine
  • Issue #3268809 by quietone, Spokje, Rishabh Vishwakarma, ravi.shankar, mrinalini9, Medha Kumari, JatinGupta40, smustgrave, xjm, longwave, catch: Fix class comment doc blocks in tests for 'Drupal.Commenting.DocComment.ShortSingleLine'
  • Issue #3134349 by sleitner, yookoala, sharma.amitt16, Akram Khan, penyaskito, sahil.goyal, swatichouhan012, s_leu, larowlan, smustgrave, joachim: DrupallanguageLanguageNegotiator does not handle PluginNotFoundException and break the site completely
  • Revert "Issue #3191391 by Arantxio, larowlan, _utsavsharma, daffie: Schema::changeField() has bug when changing regular serial field to big serial field"
  • Issue #3348381 by rckstr_rohan, joachim: incorrect example code in Token docs
  • Revert "Issue #3134349 by sleitner, yookoala, sharma.amitt16, Akram Khan, sahil.goyal, swatichouhan012, s_leu, penyaskito, smustgrave, joachim, larowlan: DrupallanguageLanguageNegotiator does not handle PluginNotFoundException and break the site completely"
  • Issue #2927311 by DanielVeza, smustgrave, Gribnif, richard.thomas, larowlan: Contextual links are not sorted by weight, contrary to documentation
  • Issue #3134349 by sleitner, yookoala, sharma.amitt16, Akram Khan, sahil.goyal, swatichouhan012, s_leu, penyaskito, smustgrave, joachim, larowlan: DrupallanguageLanguageNegotiator does not handle PluginNotFoundException and break the site completely
  • Issue #3238915 by Bhanu951, hooroomoo, bnjmnm: Refactor (if feasible) uses of the jQuery ready function to use VanillaJS
  • Issue #2991686 by smustgrave, larowlan, Grayle: Enabling "Edit" to show all contextual links breaks tabbing in edit forms in the backend
  • Issue #3352635 by Spokje: Run yarn build:css in core/scripts/dev/commit-code-check.sh whenever core/package.json and/or core/package.lock change
  • Issue #3351607 by schlaukopf, xjm: Skip numerous functional JS tests that repeatedly break HEAD
  • Issue #3351556 by longwave, Spokje, catch: Add deprecation silencer on Drupal 10.0
  • Issue #3082032 by kristiaanvandeneynde: ToolbarController::preRenderGetRenderedSubtrees() deletes parent's cacheability
  • Issue #3341448 by acbramley, fenstrat, Lendude, smustgrave: EntityReference ViewsSelection::stripAdminAndAnchorTagsFromResults() should call Element::children($results)
  • Issue #3277784 by Tim Bozeman, mrinalini9, larowlan: copyRawVariables should support default route parameters
  • Revert "Issue #3268809 by quietone, Rishabh Vishwakarma, ravi.shankar, Medha Kumari, mrinalini9, JatinGupta40, smustgrave, xjm, longwave: Fix class comment doc blocks in tests for 'Drupal.Commenting.DocComment.ShortSingleLine'"
  • Issue #2849246 by catch, jp.stacey: HtmlResponseAttachmentsProcessor::processAttachments should reference processing placeholders
  • Issue #3268809 by quietone, Rishabh Vishwakarma, ravi.shankar, Medha Kumari, mrinalini9, JatinGupta40, smustgrave, xjm, longwave: Fix class comment doc blocks in tests for 'Drupal.Commenting.DocComment.ShortSingleLine'
  • Issue #3350972 by nod_: [random test failure] DrupalTestslayout_builderFunctionalJavascriptLayoutBuilderUiTest::testReloadWithNoSections
  • Issue #3351961 by longwave, Spokje: Update webpack
  • Issue #2866383 by sunlix, SAVEL, Nitin shrivastava, narendra.rajwar27, luizps, DieterHolvoet, Nikhil_110, Oscaner, rp7, Abhisheksingh27, smustgrave, dww: Readonly doesn't work on #States
  • Issue #3010334 by xjm, Amber Himes Matz, catch, dww, Berdir, FeyP, Mixologic: Document how contrib hook_update_N() should be numbered now that modules can be compatible with multiple major branches and versioned semantically
  • Issue #3002443 by markconroy, lauriii, smustgrave, larowlan: Improve preview usability
  • Issue #3338224 by mfb: .m4a files should use audio/mp4 MIME type, not audio/mpeg
  • Issue #3347212 by miikamakarainen, sakthi_dev, Yogesh Sahu, lauriii, Nikhil_110, Wim Leers, smustgrave, borisson_: "Add or select media" not translated
  • Issue #3316627 by bnjmnm, Gauravvvv, Sakthivel M, Akshay kashyap, Asha Nair, joachim, smustgrave: dropbuttons get weird white line when font size is changed and at at various zoom settings
  • Issue #3078030 by danflanagan8, mottihoresh, Abhijith S, smustgrave, andypost, phenaproxima: Duplicated summary item when linking to content with the MediaThumbnailFormatter
  • Issue #3350387 by Gauravvvv, Chi: Claro: fix size of H3 elements in status report
  • Issue #3331870 by Chris64, PrabuEla, smustgrave, cilefen: Code error url fragment: wrong array key: key #fragment should be fragment
  • Issue #2806009 by alexpott, JvE, Berdir, Dmitriy.trt, jhodgdon, lokapujya, VladimirAus, Gábor Hojtsy, Jose Reyero, Anybody, kristiaanvandeneynde, Sutharsan, casey, smustgrave, nod_: Installing a module causes translations to be overwritten
  • Issue #3347480 by AndyF: Use temporary redirect for RFC5785 change password well known resource
  • Issue #3335269 by Niklan: Entity stubs doesn't follows fallback logic from entities and leads to a broken migration
  • Issue #3349028 by nod_, DuaelFr, smustgrave, bnjmnm: Improper use of aria-label in "System Powered By" block
  • Revert "Issue #1148856 by drunken monkey, stefan.r, bzrudi71, xatoo, Ben Coleman, jyotisankar, daffie, mondrake, andypost, Damien Tournoud, alexpott: Postgres schema doesn't support keylength on a unique index"
  • Issue #3351596 by dww, catch: Skip DrupalTestsckeditor5FunctionalJavascriptMediaLibraryTest
  • Issue #3282451 by fanton, Bhanu951, andy-blum, nod_, mgifford, andrewmacpherson: Create a README.md file in Olivero theme to explain the name of the theme
  • Issue #2264943 by FeyP, er.pushpinderrana, _pratik_, gauravkhambhala, Weilinggu, Nikhil_110, joachim, jhodgdon: Queue API topic and hook_queue_info() don't link to one another
  • Issue #3351500 by catch: Skip DrupalTestslayout_builderFunctionalJavascriptContextualLinksTest
  • Issue #3351494 by catch, Spokje: Skip DrupalTestsmediaFunctionalJavascriptMediaSourceFileTest
  • Issue #3323329 by alexander.levitsky, nayana_mvr, metalbote: Secondary tabs not accessible if more than X on screen size Y
  • Issue #3347067 by danflanagan8, _pratik_, smustgrave, longwave: CsrfAccessCheck docblock extremely out of date
  • Issue #3293855 by rkoller, rocketeerbkw, nitin_lama, Anchal_gupta, AaronMcHale, smustgrave, cutehair: Update the outdated user_help text for user.admin_permissions and the description of the select box on the role settings page
  • Issue #3331397 by gcb, DanielVeza, Tatsiana, arisen: ListItemBase::generateSampleValue() white screen when options list is empty
  • Issue #1148856 by drunken monkey, stefan.r, bzrudi71, xatoo, Ben Coleman, jyotisankar, daffie, mondrake, andypost, Damien Tournoud, alexpott: Postgres schema doesn't support keylength on a unique index
  • Issue #3334907 by andy-blum, Gauravvvv, Guru2023, markconroy, shaal: Mobile menu is not positioned correctly when side canvas is open
  • Issue #2745179 by juancasantito, heddn, dpi, acbramley, Xano, dawehner, alexpott, catch: Uncaught exception in link formatter if a link field has malformed data
  • Issue #3086845 by jonathan1055, smustgrave: Module constraint checks fail incorrectly due to str_replace
  • Issue #3341737 by acbramley, lauriii, gordon, jptaranto, Wim Leers: CKEditor 5 content squashed in off-canvas sidebar
  • Issue #3336463 by sleitner, recrit, catch: Htaccess rewrite rules for gzipped CSS and JavaScript aggregates never match
  • Issue #2911379 by Spokje, ProFire, mstrelan: Unneccessary bitwise operation for file permissions check on Windows
  • Issue #3350977 by dww: Remove stale Quick Edit section from MAINTAINERS.txt in 10.0.x and up
  • Issue #3351113 by a.milkovsky, mostepaniukvm, daffie: Not optimal query in DatabaseBackend::garbageCollection()
  • Issue #3327848 by rishu_kumar, Gauravvvv, lauriii, _utsavsharma, ameymudras, smustgrave: Claro: Wrong background for active vertical tab
  • Issue #3351004 by Natallia: Deprecations for PHP 8.1 get_class() and get_called_class() without argument
  • Revert "Issue #3306554 by andypost, mondrake: InvocationMocker::withConsecutive() is deprecated in PHPUnit 9.6 and removed from PHPUnit 10 - easy replacements"
  • Issue #2977785 by acbramley, ameymudras, mrinalini9, Hardik_Patel_12, Berdir, sourabhjain, ravi.shankar, Deepak Goyal, Prem Suthar, TanujJain-TJ, kishor_kolekar, snehalgaikwad, nghai, larowlan, Lendude, smustgrave, Sam152, quietone: No error messages are shown for applied validation on a view exposed filter with on "AJAX"
  • Issue #2758915 by mdupont, darvanen, -enzo-, Amber Himes Matz, smustgrave: AJAX commands documentation is misleading when working with render arrays
  • Issue #3145850 by smustgrave, natedouglas, nod_, Gauravvvv, s_leu, amateescu, pankaj.singh, Abhijith S, quietone, jungle: Required summary element hidden when other text-with-summary fields do not require summary
  • Issue #2505579 by dpi, NivethaSubramaniyan, smustgrave, ian.mahoney, amwhalen, Medha Kumari, Chi: Improve handling of invalid input in time zone abbreviation to TZID route
  • Issue #2567745 by mohit_aghera, smustgrave, quietone, andypost, dww, alexpott: DrupaltaxonomyPluginviewsfieldTermName::getItems should work with links
  • Issue #2911377 by smustgrave, ProFire, MerryHamster, ranjith_kumar_k_u, Medha Kumari, Spokje, neclimdul, a.dmitriiev, quietone, catch, Gábor Hojtsy: Fix for Unit Test on Windows
  • Issue #3221633 by bircher, lind101, smustgrave, quietone, Zemelia: BatchNegotiator tests for an invalid route
  • Issue #3348686 by james.williams, FeyP, kunal_sahu, larowlan, alexpott: [regression] Inaccessible language switcher links are removed before alternatives can be provided
  • Issue #3281557 by smustgrave, ipo4ka704, acbramley, ravi.shankar, benjifisher, Sardis, ameymudras, adeshsharma, Rishabh Vishwakarma, rollins, TanujJain-TJ, larowlan, catch, igorbiki: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated
  • Issue #2958649 by acbramley, moshe weitzman, fenstrat: Incorrect totals count when importing config that contains a theme uninstall
  • Issue #3191391 by Arantxio, larowlan, _utsavsharma, daffie: Schema::changeField() has bug when changing regular serial field to big serial field
  • Issue #3307409 by mherchel, heddn, gquisini, Phoenixbros, bbu23: Setting media field to loading="eager" doesn’t work when using the media_thumbnail field formatter

New in Drupal 10.0.8 (Apr 20, 2023)

  • Changes to site-owner-managed files:
  • Following this release, Drupal will block access to private files at certain specially crafted paths. Previous versions of Drupal allowed access to these paths, and in most cases blocking access is the correct behavior.
  • There may be some sites that rely on allowing access to these paths, or the changes in this release may cause other problems with file access. These sites can add the following line to settings.php:
  • $settings['file_sa_core_2023_005_schemes'] = ['private'];
  • This will preserve the old behavior for files saved in the private files directory, using the private stream wrapper from Drupal core. Sites that need to preserve the old behavior for files using other stream wrappers, from contributed or custom modules, should list those stream wrappers instead of 'private'.
  • The comments in default.settings.php have additional information.
  • Using this setting will bypass the access checks added in this release, which may allow public access to files that are meant to be private. This setting is a temporary backward-compatibility layer for misconfigured sites. It will be removed in a future release since it is insecure.

New in Drupal 10.0.7 (Mar 26, 2023)

  • Revert "Issue #3344083 by longwave, lauriii, Wim Leers, smustgrave: Update CKEditor 5 to 36.0.1"

New in Drupal 10.0.5 (Mar 16, 2023)

  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2023-002
  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2023-003
  • Drupal core - Moderately critical - Access bypass - SA-CORE-2023-004

New in Drupal 10.0.4 (Mar 2, 2023)

  • All changes since 10.0.3:
  • Issue #3342891 by lauriii, smustgrave, andy-blum, catch: 'node' variable in page.html.twig is not available on preview node page
  • Issue #3339373 by alexpott, andypost, mondrake: DrupalmigratePluginmigratesourceSourcePluginBase::rewind() is rewinding database statements
  • Issue #2866811 by arunkumark, longwave, tar_inet, joelpittet, alexpott: Update stylelint rule function-linear-gradient-no-nonstandard-direction to be consistent with Drupal's CSS standards
  • Issue #3185183 by philipnorton42, larowlan, bruno.bicudo, longwave, xjm, quietone: Refactor ContextualUnitTest to use a data provider
  • Issue #3264167 by Spokje, neclimdul, heykarthikwithu, longwave: Remove use of final Guzzle client class
  • Issue #2865401 by Berdir, yassin.barrani, ankithashetty, dxvargas, Hardik_Patel_12, ayushmishra206: Views pager is using exposed_raw_input instead of exposed_input
  • Issue #3276939 by daffie, aziza_a, larowlan: The Symfony method Request::setTrustedHosts() is a static method, we use it as non-static
  • Revert "Issue #3308920 by jungle, smustgrave, Lendude: Fix test performance of DrupalTestsuserFunctionalJavascriptUserPasswordResetTest"
  • Issue #3341254 by Spokje, longwave: Fix failing "updated deps" test-runs on 10.x.x
  • Issue #3308920 by jungle, smustgrave, Lendude: Fix test performance of DrupalTestsuserFunctionalJavascriptUserPasswordResetTest
  • Revert "Issue #3091478 by Tim Bozeman, lauriii, malcomio, EclipseGc, larowlan, tim.plunkett, amateescu, dpi: Improve StringItem::generateSampleValue()"
  • Issue #3091478 by Tim Bozeman, lauriii, malcomio, EclipseGc, larowlan, tim.plunkett, amateescu, dpi: Improve StringItem::generateSampleValue()
  • Issue #2106939 by smustgrave, dawehner, catch, jungle, longwave, xjm: Improve test coverage of the flood memory backend test and convert it to a unit test
  • Revert "Issue #2106939 by smustgrave, dawehner, jungle: Improve test coverage of the flood memory backend test and convert it to a unit test"
  • Issue #2910181 by sarvjeetsingh, anmolgoyal74, apaderno, pameeela, jcalais: Update hook_node_grants docs to remove role ID reference, since it is no longer an integer
  • Issue #3324726 by Akhil Babu, xjm, Gauravvv, joachim: #ajax 'options' property is undocumented
  • Issue #2106939 by smustgrave, dawehner, jungle: Improve test coverage of the flood memory backend test and convert it to a unit test
  • Issue #3343495 by alexpott: Fix commit-code-check.sh on DrupalCI
  • Issue #3317744 by idebr, smustgrave: Bundle restrictions from a route do not apply to revisionable entities
  • Issue #3216430 by Charlie ChX Negyesi: Improve documentation on $is_syncing
  • Issue #2890726 by pooja saraah, poornachandran, quietone, alexpott, DanielVeza, borisson_, rdworianyn, smustgrave: Custom role with all numeric name results in fatal error after assigning to user
  • Issue #3256002 by Gauravvv, ameymudras, vulcanr, DeepaliJ, Satyajit1990, Kristen Pol, bnjmnm, xjm, smustgrave, lauriii: Umami demo: Tour popup close button hover effect movement
  • Issue #3181634 by Wongjn: States API: Empty/Filled state with number does not update when using spinner
  • Issue #2738547 by smustgrave, mehul.gada, sahil.goyal, larowlan, BarisW, xjm: Contextual Links do not respect parameters in the destination
  • Issue #3270378 by andregp, murilohp, Rinku Jacob 13, AaronMcHale, dww, alexpott, smustgrave: Promote non-stable modules to the top of the list at admin/modules/uninstall form
  • Issue #3179850 by claudiu.cristea: EntityTestAccessControlHandler allows viewing an unpublished entity
  • Issue #1956466 by smustgrave, Chi, sahil.goyal, dawehner, Lendude: TimeInterval plugin should not handle empty values
  • Issue #3039499 by alexpott, acbramley: Role permissions not sorted in config export
  • Issue #3328694 by murilohp, rpayanm, jonathan1055, xjm, cilefen: Incorrect sprintf parameter usage
  • Issue #2498791 by awset, ameymudras, balis_m, PQ, Kristen Pol, dww, morbiD, alexpott, smustgrave: #states defaultTrigger oldValue is out of date if values are updated via a state trigger
  • Issue #3283930 by chaubeyji: Fix comment with a plural possessive typo in PluginBase.php
  • Issue #3312883 by smavri, rpayanm, smustgrave: Update variable type PHPDoc in _responsive_image_build_source_attributes function
  • Issue #3154084 by amateescu, mheip, smustgrave: Warning when building an empty workspace tree
  • Issue #3300957 by smustgrave, catch, jungle, joachim: Potentially speed up LinkFieldTest
  • Issue #3077646 by danflanagan8, kkalashnikov, kaszarobert, priyanka.sahni, Sam152: Increase the delta of the "weight" field to support reordering more than 20 blocks in a section
  • Issue #3209468 by joaopauloc.dev, pooja saraah, joachim: DrupalKernelInterface methods & DrupalKernel::sitePath should document the format of a site path
  • Issue #3209468 by joaopauloc.dev, pooja saraah, joachim: DrupalKernelInterface methods & DrupalKernel::sitePath should document the format of a site path
  • Issue #2985165 by Liam Morland, ayushmishra206, nbaosullivan, AkashKumar07, valthebald, mathieso, Sutharsan: Improve documentation for BookManagerInterface::saveBookLink()
  • Issue #3281193 by neclimdul: Improve GenerateThemeTest
  • Issue #3283351 by Sweetchuck: PHP 8.1 Return type of DeprecatedArray::unserialize() and ::serialize()
  • Issue #3103240 by oknate, smustgrave, quietone, jungle: MultiFormTest not executing
  • Issue #3255895 by jrb, murilohp, harshitthakore, xjm: HTML entities in Tour tip labels get double-escaped
  • Issue #3337195 by Spokje: Rename test theme test_legacy_theme
  • Issue #3261347 by noorulshameera, pflora, Johnny Santos, neclimdul, alexpott: Incorrect EntityType::$label_count type documentation
  • Issue #3326493 by Patrick R., webflo: Fix inaccurate return types in user module
  • Issue #3096546 by jungle, smustgrave, amjad1233, Neslee Canil Pinto, alexpott: Add sorting configuration to composer.json
  • Issue #3339251 by MegaKeegMan, mlncn, wolcen: Fix descriptive text in Depth view filter
  • Issue #3332630 by mxr576, smustgrave: Correct return typehint on BlockPluginTrait::blockAccess()
  • Issue #3333664 by joelpittet, lauriii: Claro: Undefined array key "expose_button"
  • Issue #3231184 by mglaman, smustgrave, longwave: ResourceTestBase::setUpAuthorization references wrong permission grant methods
  • Issue #3228531 by joachim: document run-tests.sh as not intended for public consumption
  • Issue #3324574 by Prem Suthar, andypost, seanhellwig, _pratik_, trickfun, longwave: Deprecated function: strpos() in layout_builder_entity_view_alter
  • Issue #3132334 by mstrelan, quietone: Add documentation for path_processing option to URLGeneratorInterface
  • Issue #3181439 by tstoeckler, Gauravvv, Tomefa, Sam152, smustgrave, larowlan: Content Moderation fatals when a moderated entity is re-saved on hook_insert()
  • Issue #3339400 by gxleano, royalpinto007, VladimirAus, fjgarlin, longwave: Incorrect use of FormattableMarkup in logger messages
  • Issue #3336586 by Spokje: Fix failing "updated deps" test-runs by upping mglaman/phpstan-drupal to latest
  • Issue #3247553 by alexpott, realityloop: $install_state['settings_verified'] incorrectly set when config_sync_directory is missing
  • Issue #3328711 by mtift: Remove mtift from MAINTAINERS.txt
  • Issue #3219967 by gxleano, bernardm28, benjifisher, joachim: Allow authors and editors to edit page layouts in Umami
  • Issue #3099085 by krystalcode: EntityDefinitionUpdateManagerInterface docblock improvement
  • Issue #3326378 by Spokje: Fix PHPStan L1 error "Instantiated class FooBar not found."
  • Issue #2822575 by martin107, lucassc, pooja saraah, Shubham Chandra, rodrigoaguilera, smustgrave, larowlan: LibraryDiscoveryParser::buildByExtension() is missing @throws tags
  • Issue #3336828 by voleger, longwave, Spokje: File dictionary.txt is not sorted
  • Revert "Issue #3333401 by nicxvan, bnjmnm: Pager h4 causes accessibility flag on many pages"
  • Back to dev.
  • Drupal 10.0.3
  • Issue #3152943 by bbombachini, rocketeerbkw, huzooka, chandrashekhar_srijan, ayushmishra206, nikitagupta, abhisekmazumdar, Wim Leers, mikelutz, larowlan: Remove migration of shortcuts from menu_link migration

New in Drupal 10.0.3 (Feb 3, 2023)

  • Symfony dependencies have been updated to 6.2.6.
  • PHPStan has been updated to 1.9.9.

New in Drupal 10.0.2 (Jan 19, 2023)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcement:
  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2023-001

New in Drupal 10.0.1 (Jan 5, 2023)

  • Important changes since 10.0.0:
  • Symfony dependencies have been updated to 6.2.2.
  • PHPStan has been updated to 1.9.3.
  • Twig 3.5.0 has been released with improvements to PHP 8 compatibility. Drupal core and the drupal/core-recommended metapackage have been updated to use this version of Twig.
  • White it is unlikely, some sites or applications could encounter issues with a minor-version update of Twig in a patch release. The minimum required version remains Twig 3.4.3, so sites experiencing any issues with the 3.5.0 update can temporarily depend directly on drupal/core to require the old version until any conflict is resolved.
  • Drupal 10 requires the pg_trgm extension is required for PostgreSQL databases. Drupal 10.0.0 displays an error when running or updating a site if the pg_trgm extension is missing, but not when installing a site. Beginning with Drupal 10.0.1, the error will be shown on installation as well when the extension is missing.

New in Drupal 10.0.0 (Dec 16, 2022)

  • This is the first supported release of the new Drupal 10 major version, and it is ready for use on production sites! Learn more about Drupal 10 and the Drupal core release cycles.
  • Drupal 10.0.0 has been released simultaneously with Drupal 9.5.0. Drupal 9.5 has most of the changes that Drupal 10 does, but retains backwards compatibility layers added through Drupal 9.5.0's release. Update to Drupal 9.5 before updating to Drupal 10 for the smoothest upgrade path.
  • If you are starting a new Drupal project, you have a choice between Drupal 9.5.0 and 10.0.0, and generally should choose Drupal 10 where possible for forward compatibility with future releases.
  • Regardless of which version you choose now, features will only be added to Drupal 10 minor releases. Plan to adopt Drupal 10 so that you can easily update to Drupal 10.1 and later.
  • 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.
  • Both 10.0.0 and 9.5.0 include all the latest changes, and they have the same APIs and features aside from a few edge-cases. This also means modules and themes can be compatible with Drupal 9 and 10 at the same time! The key changes in 10.0.0 are:
  • Deprecated code, including entire modules and themes, has been removed.
  • Dependencies have been updated to new major versions as appropriate.
  • Platform requirements (including supported PHP and database versions, Composer requirements, and supported browsers) have been updated.

New in Drupal 9.4.9 (Dec 8, 2022)

  • Important update information:
  • CKEditor 5 has been updated to version 35.3.2.
  • Drupal 9.4.9 has fixed an issue that could prevent some sites, especially those on Drupal 8.8 or lower with invalid configuration entities, updating to newer versions. If your site is on Drupal 8.8.x, you should consider updating directly to Drupal 9.4.9 so that you're able to run the fixed version of the update. Sites on versions lower than Drupal 8.8 must update to Drupal 8.8 first, and can then update directly to Drupal 9.4 from there. If you are on Drupal 8.9, you can continue to update directly to Drupal 9.4.

New in Drupal 9.4.8 (Oct 7, 2022)

  • CKEditor 5 has been updated to version 35.1.0.
  • All changes since 9.4.7:
  • Issue #3250683 by beatrizrodrigues, Tauany Bueno, ravi.shankar, joachim, quietone: MigrateException documentation for class properties should link to where values are defined
  • Issue #3165010 follow-up: Using the layout builder discard changes button should ignore any input and skip validation
  • Issue #3121157 by apaderno, neelam_wadhwani, jungle, Lendude, alexpott, bnjmnm: Small correction needed in ThemeInstallerInterface::uninstall() docblock
  • Issue #3165010 by dpi, acbramley, tim.plunkett, larowlan: Using the layout builder discard changes button should ignore any input and skip validation
  • Issue #3308915 by smustgrave, longwave: Fix test performance of DrupalTestsworkspacesFunctionalWorkspacesUninstallTest
  • Issue #3313833 by Wim Leers, longwave, alexpott: Make it easy to run only tests for one specific core module
  • Issue #3300246 by mglaman, Wim Leers: Allow other CKEditor 5 plugins to rerender drupal-media when their attribute changes
  • Issue #2993165 by kkasson, tatianag, Spokje, mpdonadio, xurizaemon, raman.b, wombatbuddy, pooja saraah, tannguyenhn, VladimirAus, ranjith_kumar_k_u, jannakha, pameeela: Date Only field shows incorrect default value when UTC date is different than user's date
  • Issue #2842141 by hchonov: Document that more specific hooks might be called before the primary hook depending on the module names
  • Issue #3265574 by mondrake: Convert remaining assertions involving use of xpath to WebAssert, where possible
  • Issue #3260227 by mondrake: Move driver specific database Unit tests to their modules
  • Issue #3307468 by darvanen: Improve Batch API $context['sandbox'] documentation
  • Issue #3310510 by igorbarato, Anchal_gupta: Harden error logging of OEmbed thumbnail fetching logic (YouTube errors contain special characters)
  • Issue #3308449 by owenbush: CategorizingPluginManagerTrait::getSortedDefinitions() sometimes returns plugins in the incorrect order if they have categories or labels translated
  • Issue #3006812 by NickDickinsonWilde, Ankit.Gupta: ViewsExecutable->exposed_widgets has wrong variable type in definition
  • Issue #3202665 by danflanagan8, Ratan Priya, rupertj, longwave, smustgrave, thursday_bw: "A(n) object was thrown while attempting to stub." Hard to debug migration message
  • Issue #3310760 by poker10, Wim Leers: Broken issue links in @todos
  • Issue #3284254 by Wim Leers, smustgrave, nod_: HTMLRestrictions should not allow because that is equivalent to
  • Issue #3291520 by sardara, Ratan Priya, alexpott, smustgrave: Incorrect label in taxonomy glossary for terms that start with zero
  • Issue #3119786 by danflanagan8, tim.plunkett, JordiK, Berdir: Default values are not displayed for image fields placed in Layout Builder
  • Issue #2875987 by raman.b, smustgrave, ericgsmith, anushrikumari, Lendude: Form alter hook called twice for views forms without view arguments
  • Issue #3309173 by Arantxio, Pracheth, immaculatexavier, sittard, daffie, drumm: MySQL Module - Help page directs user to a 404 (page not found) and a number of other modules as well
  • Issue #2617330 by dagmar, mfb, pradhumanjainOSL, Ratan Priya, fgm, alexpott, dawehner: LogMessageParser::parseMessagePlaceholders() needs to switch bang placeholder to colon placeholder
  • Issue #2710427 by smustgrave, longwave, akhoury, alexpott, ChaseOnTheWeb, Spokje, Wim Leers, aby v a, frob, alison, catch, smulvih2, pameeela, ranjith_kumar_k_u, vsujeetkumar, becassin: Broken "Allowed Tags" updating: after all values for an attribute are allowed, it should not be overridden to allow only certain attribute values
  • Issue #3296987 by Yujiman85, lucassc, gquisini, diegors, joachim, cilefen: CacheableDependencyInterface::getCacheMaxAge does not document DrupalCoreCacheCache::PERMANENT
  • Issue #3283776 by Wim Leers, lauriii: Make CKEditor5PluginDefinition::getElements() consistent with CKEditor5PluginDefinition::get*()
  • Issue #3285054 by lauriii, Wim Leers: Add ckeditor5-stylesheets: false to Claro and Olivero (and fix it)
  • Issue #3306216 by bnjmnm, Wim Leers, Reinmar: Contrast perception issues with icons including low-opacity fills
  • Issue #3280343 by bnjmnm, pooja saraah, Wim Leers: Audit of CKEditor 5 @todo items
  • Issue #3222756 by nod_, Wim Leers, bnjmnm, scott_euser, Akhildev.cs, lauriii, catch: Allow using images from external source
  • Issue #3281341 by andy-blum, Sakthivel M, pallavisk, mherchel: Olivero's blockquote pseudo-element decoration *sometimes* does not display properly
  • Merge 9.4.7, resolve merge conflicts, and update lockfile and dev versions.
  • Issue #3312001 by stijndmd, ravi.shankar, davidjguru, longwave, catch: Race condition with automatic deploy steps on ConfigImporter
  • Issue #3270734 by Wim Leers, longwave, andregp, bnjmnm, lauriii: Update Editor + CKEditor 5 module to not use CKEditor 4 in tests
  • Issue #3311476 by nlisgo, Spokje, xjm, hb76: Skip DownloadTest on SQLite
  • Issue #3268306 by lauriii, Wim Leers, catch, Dom.: [GHS] Custom/unofficial HTML tags not retained: , ,
  • Issue #3294908 by nod_, Wim Leers, DanielVeza: Configuration overlaps between Styles and other CKE5 plugins
  • Issue #3231336 by Wim Leers, lauriii, bnjmnm: Simplify HtmlRestrictions and FundamentalCompatibilityConstraintValidator now that "forbidden tags" are deprecated
  • Issue #3294695 by daffie, longwave, mkalkbrenner, pandaski: Drupal 8 BC for database driver namespace fails for replicas
  • Issue #3306153 by lauriii, Wim Leers, xjm, bnjmnm: Update CKEditor 5 to 35.1.0
  • Issue #3060716 by martin107, Lendude, quietone: EntityListBuilderTest: @coversDefaultClass is incorrect
  • Issue #3309719 by solideogloria: Incorrect namespace in comment in EntityAutocomplete.php
  • Issue #3166561 by Matroskeen, ravi.shankar, andregp, mohit_aghera, golddragon007, ranjith_kumar_k_u: Comment being deleted instead of reassigned to Anonymous user

New in Drupal 9.4.6 (Sep 21, 2022)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.

New in Drupal 10.0 Alpha 7 (Aug 22, 2022)

  • This release fixes security vulnerabilities present in 10.0.0-alpha6. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Information Disclosure - SA-CORE-2022-012
  • Drupal core - Moderately critical - Access Bypass - SA-CORE-2022-013
  • Drupal core - Critical - Arbitrary PHP code execution - SA-CORE-2022-014
  • Drupal core - Moderately critical - Multiple vulnerabilities - SA-CORE-2022-015

New in Drupal 9.4.5 (Aug 4, 2022)

  • The CKEditor 5 experimental module is being developed for Drupal 10 WYSIWYG editing and depends on the third-party CKEditor 5 JavaScript library. CKEditor has issued a security advisory for CKEditor 5:
  • CVE-2022-31175: Cross-site scripting (XSS) caused by the editor instance destroying process
  • Drupal core is only known to be vulnerable when the full HTML format is used with CKEditor within QuickEdit, and the exploit only affects the user who inserts a JavaScript payload. Since full HTML already allows writing JavaScript that can contain cross-site scripting (XSS) payloads, we are treating this update as a public security hardening.
  • CKEditor 4 is not affected, so sites where only the stable CKEditor module is enabled (with the CKEditor 5 experimental module uninstalled) will not be impacted and do not urgently need to update to this release.

New in Drupal 9.4.4 (Jul 29, 2022)

  • rupal core uses the third-party Diactoros library as its PSR-7 implementation. Diactoros has issued a security advisory:
  • CVE-2022-31109: Diactoros before 2.11.1 vulnerable to HTTP Host Header Attack
  • Drupal core is unlikely to be vulnerable. This bugfix release updates the version of Diactoros used in drupal/core-recommended to a secure version as a precaution. As a reminder, Drupal 9.4 and higher sites should update their third-party Composer dependencies when an upstream security advisory is issued.

New in Drupal 9.4.3 (Jul 21, 2022)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Information Disclosure - SA-CORE-2022-012
  • Drupal core - Moderately critical - Access Bypass - SA-CORE-2022-013
  • Drupal core - Critical - Arbitrary PHP code execution - SA-CORE-2022-014
  • Drupal core - Moderately critical - Multiple vulnerabilities - SA-CORE-2022-015

New in Drupal 9.4.2 (Jul 7, 2022)

  • The Quick Edit integration for Layout Builder is now provided by the Quick Edit module. This has been backported to 9.4.2 to retain as much parity as possible with the contributed version of Quick Edit.
  • Composer 2.2.0 introduced a new security feature that requires Composer projects to authorize plugins. This change means that Composer commands to install and update Drupal projects will fail unless either the required plugins are authorized in the project configuration or the user manually replies "y" to a prompt to authorize the plugin. The prompt can break continuous integration and deployment workflows, so it is recommended that projects authorize core's required plugins (and projects using development dependencies should authorize development plugins).
  • This release configures drupal/recommended-project to authorize core's required and development plugins by default. Existing projects may also need to update their configuration to authorize these plugins. For more information, review Composer 2.2+ authorized plugins.

New in Drupal 9.4.1 (Jun 22, 2022)

  • Drupal uses the third-party Guzzle library for handling HTTP requests and responses to external services. Guzzle has released two security advisories:
  • CVE-2022-31090: CURLOPT_HTTPAUTH option not cleared on change of origin
  • Change in port should be considered a change in origin
  • The Security Team believes it is unlikely Drupal core or contributed modules are affected, but this release updates the dependency as a security hardening.

New in Drupal 9.4.0 (Jun 16, 2022)

  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. Note that there may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backward compatibility and experimental module policies.
  • Minor releases may include string changes and additions. Translators can review the latest translation status on localize.drupal.org.

New in Drupal 9.3.16 (Jun 11, 2022)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Third-party libraries - SA-CORE-2022-011

New in Drupal 9.3.15 (Jun 2, 2022)

  • All changes since 9.3.13:
  • Issue #3274648 by nod_, Wim Leers: HTMLRestrictions::merge() and ::toGeneralHtmlSupportConfig() fail on allowed attribute values that can be interpreted as integers
  • Issue #3276217 by lauriii, Wim Leers: [drupalMedia] add tests to confirm GHS attributes are retained in linked media
  • Issue #3280985 by mherchel, andy-blum: Olivero's code block styling is slightly broken at various viewport widths
  • Issue #3274651 by Wim Leers, nod_, alexpott: Impossible to enable <ol type> or <ul type> with GHS: switch to List's successor, DocumentList
  • Issue #3277438 by Wim Leers, bnjmnm, lauriii, xjm, nod_, Reinmar: Update to CKEditor 5 v34.1.0
  • SA-CORE-2022-010 by mayela, mxr576, xjm, cilefen, greggles, benjifisher, alexpott
  • Issue #2513524 by andregp, JeroenT, Bill Choy, TR, tstoeckler, dawehner, Wim Leers, xjm: ExtensionDiscovery is unable to find modules that have a comment at the end of the type property in a .info.yml file
  • Issue #3275237 by hooroomoo, lauriii, Wim Leers, nod_: Don't convert, instead use response.entity_type in DrupalImageUploadEditing
  • Issue #3058409 by guilhermevp, joachim, ravi.shankar, quietone, init90, andregp: TermStorage::loadTree() doesn't document what the return array is keyed by
  • Issue #3232714 by paulocs, vsujeetkumar, mondrake, longwave, quietone, larowlan: Replace, in tests, mocks that do not configure doubles with their actual objects
  • Issue #3268746 by quietone, xjm: Fix missing newlines for 'Drupal.Commenting.DocComment.ShortSingleLine'
  • Issue #3280602 by larowlan, DanielVeza, Wim Leers, mstrelan: Exceptions for CKEditor 5 plugin definitions containing wildcard tags when PHP is built with libxml 2.9.14
  • Issue #3259593 by hooroomoo, Dom., Wim Leers, bnjmnm, lauriii: Alignment being available as separate buttons AND in dropdown is confusing
  • Issue #3250582 by huzooka, Matroskeen, danflanagan8, ravi.shankar, quietone, erik.erskine: ResponsiveImageStyles source plugin must extend DrupalSqlBase
  • Issue #3260920 by tstoeckler: Contact's MessageEntityTest wrongly uses 'edit' access operation on entities instead of 'update'
  • Issue #3278394 by Wim Leers, bnjmnm: HTMLRestrictions' diff operation bug: diff(<tag attr="A B">, <tag attr>) should return an empty result
  • Issue #2580263 by Berdir, nils.destoop, catch, Cottser, larowlan: Find a way to not run contextual_preprocess() on every template
  • Issue #3280614 by Spokje: (Not so) Random test failures QuickEditFileTest
  • Issue #3272336 by danflanagan8: File tests should not rely on Classy
  • Issue #3279502 by webflo: Fix invalid @property annotations
  • Issue #3218562 by bradjones1, yogeshmpawar, Lendude, catch: Fix typo in/rename SearchSimplifyTest
  • Issue #3272543 by danflanagan8, larowlan: History tests should not rely on Classy
  • Issue #3279103 by bradjones1: Test cleanup: Remove dead code from JsonApiFunctionalTest
  • Issue #3278314 by acbramley: InlineBlockUsageInterface::getUsage can return FALSE but isn't documented
  • Issue #3270081 by franck_lorancy, quietone, Cottser: Fix indentation in doc block DrupalCoreRenderRendererInterface::render
  • Issue #2314443 by olli, Lendude, immaculatexavier, dawehner: Changing view name does not update page title in views ui
  • Issue #2917239 by Lendude, dww, iStryker: Form is built when not using fields
  • Issue #3276218 by lauriii: Follow-up to #3268318: Enable link manual decorator unrestricted test case
  • Issue #2636086 by Matroskeen, Spokje, jian he, ravi.shankar, quietone, larowlan, Lendude, dawehner, Sweetchuck: Add extra test coverage for operators of views date filters
  • Issue #3252100 by amateescu, catch, Tim Bozeman: Set revision_default when publishing
  • Issue #3269657 by hooroomoo, Wim Leers: [drupalMedia] The CKEditor 4 ? 5 upgrade path for the media_embed filter should not forcefully allow the data-view-mode attribute on <drupal-media>

New in Drupal 9.3.12 (Apr 20, 2022)

  • Drupal core - Moderately critical - Improper input validation - SA-CORE-2022-008
  • Drupal core - Moderately critical - Access bypass - SA-CORE-2022-009

New in Drupal 9.3.11 (Apr 16, 2022)

  • This Drupal release updates Composer to the latest version as a security hardening. The locked version of the composer/composer package has been updated from 2.1.12 to 2.2.12.

New in Drupal 10.0 Alpha 3 (Apr 14, 2022)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Improper input validation - SA-CORE-2022-003
  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2022-004

New in Drupal 9.3.9 (Mar 22, 2022)

  • Fixed:
  • Drupal core - Moderately critical - Third-party libraries - SA-CORE-2022-006.

New in Drupal 9.3.8 (Mar 16, 2022)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Third-party libraries - SA-CORE-2022-005

New in Drupal 9.3.7 (Mar 3, 2022)

  • 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 variable "sql_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-run yarn install from within the core/ directory.
  • Additionally, Acorn has temporarily been added as a direct development dependency of core to work around an upstream bug in Terser. Acorn will be removed as a direct dependency again once Terser creates a new release with a fix for the bug.

New in Drupal 10.0 Alpha 2 (Feb 19, 2022)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Improper input validation - SA-CORE-2022-003
  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2022-004

New in Drupal 9.3.6 (Feb 16, 2022)

  • This release fixes security vulnerabilities. Sites are urged to update immediately after reading the notes below and the security announcements:
  • Drupal core - Moderately critical - Improper input validation - SA-CORE-2022-003
  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2022-004

New in Drupal 9.3.5 (Feb 4, 2022)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites. Learn more about Drupal 9.

New in Drupal 9.3.4 (Feb 2, 2022)

  • Changes:
  • Issue #3261629 by catch: Database dumps are no longer driver-agnostic
  • Issue #3261712 by Wim Leers, bnjmnm: Expand SmartDefaultSettingsTest to also test a format + editor with media embedding
  • Issue #3232550 by Wim Leers, hooroomoo, xjm, ravi.shankar: Improve messaging about Internet Explorer 11
  • Issue #3174402 by beatrizrodrigues, shetpooja04, ravi.shankar, ayushmishra206, longwave, catch: Fix unused variable $unpublished in TrackerTest.php
  • Issue #3258642 by ilgnerfagundes, asishsajeev, Chi: Fix documentation for _toolbar_get_subtrees_hash()
  • Issue #3258969 by heddn: Wrong argument for @message in ModuleInstaller::install call to watchdog_exception
  • Revert "Issue #3172166 by Pooja Ganjage, ekes, Megha_kundar, tstoeckler, mbovan, Spokje, alexpott: Element::properties() produces notices if given an array with integer keys"
  • Issue #3259380 by lauriii, Wim Leers, DamienMcKenna, hooroomoo, bnjmnm: CKEditor 5's toolbar occludes Drupal's toolbar if and only if CKEditor 5 has focus
  • Issue #3153455 by Berdir, larowlan, Eduardo Morales Alberti, Gauravmahlawat, sleepingmonk, PhilippJC, alexpott, catch, daffie, jibran: UID base field override configs can still have old default value callbacks
  • Issue #3172166 by Pooja Ganjage, ekes, Megha_kundar, tstoeckler, mbovan, Spokje, alexpott: Element::properties() produces notices if given an array with integer keys
  • Issue #3247666 by vicheldt, anagomes, joachim, longwave: scaffold README is out of date
  • Issue #3256056 by andregp: Entity query system does not document the NOT BETWEEN operator, but JSON:API supports/uses it
  • Issue #3238311 by tedbow: Exclude system.batch_page.html from setting update security message
  • Issue #3248177 by Wim Leers, marcvangend, lauriii, Lendude: Language toolbar item cannot be removed from the toolbar
  • Issue #3229714 by paul121: Correct visibility of getPluginDefinition function in ContextAwarePluginTrait
  • Issue #3247994 by NickDickinsonWilde, diqidoq: Claro's password element handling invalid fails in some circumstances
  • Issue #3191527 by mherchel, kvantstudio, idebr, bnjmnm, Abhijith S, Gauravmahlawat, codewithlakshay, hmendes: Dialog width and positioning issues in Claro
  • Issue #3248188 by Wim Leers, bnjmnm: Plugin definition DX: validate drupal.conditions
  • Issue #3226401 by quietone, joachim, huzooka: Add documentation of migration yml files
  • Issue #3240873 by quietone, martin_klima, danflanagan8: Add tests of row hash to trackChangesTest
  • Issue #3259174 by Wim Leers, lauriii, hooroomoo, bnjmnm: Add missing CKE5 SmartDefaultSettings test coverage (wildcard tag with unsupported attribute)
  • Issue #3241633 by danflanagan8, benjarlett: View mode doesn't display in dropdown if numerical
  • Issue #3259179 by Wim Leers, lauriii: Split ckeditor5_alignment CKEditor 5 plugin, to allow for more precise upgrade path
  • Issue #3259744 by Spokje: PHPUnit 9.5.12 (released 2022-01-21) throws unhandled deprecation notice on "DrupalTestsListenersDrupalListener"
  • Issue #3258668 by bnjmnm, Wim Leers: Extraneous closing parentheses and curly brace in visually-hidden button description text
  • Back to dev.
  • Merged 9.3.3.
  • Issue #3254328 by GoZ, GOT intermedia, PapaGrande: Update to Drupal 9.3.0 adding --2 suffix to (views-) block-ID's
  • Issue #3238257 by hooroomoo, Wim Leers: Fragment link pointing to should be redirected to CKEditor 5 instance when CKEditor 5 replaced that textarea
  • Issue #3228778 by nod_, Wim Leers: Drupal-specific CKEditor 5 plugins should be able to use Drupal's JS translation API: Drupal.t()
  • Issue #3258371 by nod_, Wim Leers: fix yarn vendor-update command
  • Issue #3255077 by JoshaHubbers, Gauravmahlawat, beatrizrodrigues: Small typos in CKEditor 5 module
  • Issue #3255245 by Spokje, longwave, daffie, Gábor Hojtsy, Taran2L, murilohp: [Symfony 6] Revert 3231603 to use our own TranslatorInterface
  • Issue #3254553 by Leon Kessler, Berdir, Bladedu, cmlara: FileUrlGenerator::generate() does not work with externally hosted files using stream wrappers
  • Issue #3257654 by mondrake: Fix PHPStan L0 failures that cannot be included in baseline
  • Issue #2612876 by leolandotan, NickDickinsonWilde, victoria-marina, gaurav.kapoor, anagomes, xjm: Fix DrupalCoreAssetCssOptimizer::processFile() docblock
  • Back to dev.

New in Drupal 10.0 Alpha 1 (Jan 29, 2022)

  • Drupal 10 alphas do not include all the breaking changes that will be included in 10.0.0. Any further alpha releases as well as the first beta release will include more dependency updates and remove more APIs that are (or that will be) deprecated in Drupal 9, including several core modules and themes that will be moved to contributed projects. Refer to How to prepare your Drupal 7 or 8 site for Drupal 9 for tools you can use to check the Drupal 10 compatibility of modules, themes, and sites.
  • Specific, highly disruptive changes that are not available in 10.0.0-alpha1:
  • CKEditor 4 will be removed from Drupal 10 core, and content created with CKEditor 4 might not work in CKEditor 5 because of upstream changes. You must either install the CKEditor 4 module in contrib (which will receive security fixes until Drupal 9's end-of-life in 2023), or update your site and content to CKEditor 5. There is a beta-stability CKEditor 5 module available for testing in Drupal 9 and 10.
  • Symfony will be further updated from Symfony 5.4 to Symfony 6.
  • Various core modules and themes will be moved to contributed projects.
  • Numerous JavaScript libraries and APIs will be removed.
  • PHP 8.0 is currently required, but this may increase to PHP 8.1.
  • The 10.0.x branch also includes all the latest commits that will be backported to 9.4.x and earlier branches. 10.0.x will be nearly identical to 9.4.x except for the following:
  • Deprecated code will be removed, including entire deprecated modules.
  • Dependencies will be updated to new major versions as appropriate.
  • For all other changes, refer to the 9.4.x branch.
  • Internet Explorer 11 is not supported:
  • Internet Explorer 11 is not supported in Drupal 10 since CKEditor 5 does not support it. Other functionality already does not work in Internet Explorer 11, and more functionality will stop working in the future. See the browser support policy for more information.
  • Dependency updates:
  • This alpha release includes the following key PHP dependency updates compared to Drupal 9.4.x:
  • Drupal 10 now requires at least PHP 8.0.2 to be installed. PHP 8.1 is also supported.
  • Symfony has been updated from Symfony 4.4 to 5.4.
  • Twig has been updated from 2.x to 3.x. Review the Twig 3 changes for PHP developers and template creators.
  • Guzzle has been updated from version 6.5.2 to 7.3.0, and the guzzlehttp/psr7 component has been updated from 1.8.3 to 2.1.
  • Numerous other dependencies have received minor- and patch-level updates to the latest versions.
  • Removed dependencies:
  • Diactoros has been removed as a core dependency. PSR-7, PSR-17, and PSR-18 functionality is now provided by guzzlehttp/psr7.
  • The symfony-cmf/routing library has been removed as a dependency.

New in Drupal 9.3.3 (Jan 19, 2022)

  • This release fixes security vulnerabilities

New in Drupal 9.3.2 (Jan 5, 2022)

  • This release hotfixes an issue with Drupal 9.3.1 that introduced a fatal error which made Drupal unusable.

New in Drupal 9.3.1 (Jan 5, 2022)

  • Changes since 9.3.0:
  • Issue #3247619 by Lendude, danflanagan8, FiNeX, beatrizrodrigues: "Place a colon after the label" not working on grouping field label on views
  • Issue #2879293 by digitaldonkey, tobiasb, Mac_Weber, paulocs, Meenakshi_j, stefan.korn, ranjith_kumar_k_u, longwave, alexpott: Make Link URI required if there is Link Text input
  • Issue #3014629 by quietone, Wim Leers, xurizaemon: Document that Configuration migrations can depend on Content migrations
  • Issue #3207907 by quietone, Berdir, alexpott: Ensure functional tests use the test mail collector
  • Issue #3190261 by danflanagan8, doostinharrell, phenaproxima, larowlan, paulocs: MediaLibraryWidget can trigger an AJAX error if all media types can be referenced
  • Issue #3256591 by yassermussa, Chi: Fix Element/Table documentation
  • Issue #2916142 by beatrizrodrigues, Chi, yogeshmpawar, tobiberlin, quietone, borisson_: Decimal and Float item generates wrong sample values
  • Issue #3213928 by RoSk0: LoggerChannelInterface documentation
  • Issue #3256581 by cburschka: PHPdoc in update.authorize.inc
  • Issue #2853183 by quietone, darvanen, slootjes, Munavijayalakshmi, himanshu-dixit, shubham.prakash, gaurav.kapoor, prash_98, alexpott, JohnAlbin: Correct references from Symfony Framework
  • Issue #3175287 by murilohp, quietone, SivaprasadC, ankithashetty, anmolgoyal74, sarvjeetsingh, xjm, longwave: Remove accidentally duplicated words in code comments
  • Issue #3174570 by quietone, anmolgoyal74, skudderk: Fix documentation comment in MainContentViewSubscriber
  • Issue #3249859 by apaderno: The documentation page for NestedArray::unsetValue() shows example code that uses NestedArray::unset_nested_value()
  • Issue #3251835 by beatrizrodrigues, joachim, mikelutz, quietone: Fix incorrect @return docs and description for Row::getSource()
  • Issue #3131348 by Spokje, jungle, mondrake, vsujeetkumar, sja112, kishor_kolekar, Hardik_Patel_12, mrinalini9, yogeshmpawar, daffie: Replace assertions involving calls to empty() with assertEmpty()/assertNotEmpty()/assertArrayNotHasKey()
  • Issue #3255504 by anagomes, Chi, cilefen: Remove jQuery dependency from date.js
  • Issue #3136388 by dww, jyotimishra-developer, nitesh624: Fix phpdocs in core/lib/Drupal/Core/Database/Install/Tasks.php
  • Issue #2675006 by danflanagan8, robpowell, quietone, alexpott: Write UnitTest for MigrationConfigurationTrait and fix Exception Handling
  • Issue #3212470 by JeroenT, Gauravmahlawat: Placeholder CSS selector in off-canvas.reset.css is wrong
  • Issue #2675006 by danflanagan8, robpowell, quietone: Write UnitTest for MigrationConfigurationTrait and fix Exception Handling
  • Issue #3092430 by quietone, shrutidkadam, RdeBoer, bgprior, danflanagan8: Ensure SearchPlugin has a configuration array
  • Issue #3205909 by kunal.sachdev, tedbow, phenaproxima: Ensure only needed permissions are used for Update module functional tests
  • Issue #2793169 by Matroskeen, Manuel Garcia, anmolgoyal74, Pooja Ganjage, Abhijith S, Lendude, dww, quietone: hook_views_post_render provides inaccurate information
  • Issue #3247039 by joachim, quietone: MigrateDestinationInterface::import() should document that it can throw a MigrateException
  • Issue #3255836 by alexpott, clayfreeman, dww, benjifisher, Spokje: Test fails due to Composer 2.2
  • Issue #3247269 by Sakthivel M, mherchel: Olivero: Alignment of primary menu hover states and dropdowns is incorrect at wide widths
  • Issue #3064890 by danflanagan8, mpp, mottihoresh, scott_euser, peonboyos, Kristen Pol, joshmiller: Notice: Undefined index: name in Drupal
  • ield_uiementFieldUiTable::reduceOrder() (line 228 of /var/www/html/docroot/core/modules/field_ui/src/Element/FieldUiTable.php)
  • Issue #3245383 by Beakerboy, daffie: If the database driver is provided by a module, it's name must be included in tests which check for enabled modules
  • Issue #3251125 by Beakerboy, daffie, mondrake: Do not uninstall the database driver module within installer tests
  • Issue #3248309 by danflanagan8: AssertBreadcrumbTrait should not rely on Classy
  • Issue #3080819 by beatrizrodrigues, ankithashetty, lucienchalom, quietone, Vivek Panicker, catch: Missing documentation for "core_version_requirements" key in InfoParserInterface file
  • Issue #3254403 by paulmckibben, ranjith_kumar_k_u, longwave, Lendude, cilefen: system_post_update_sort_all_config can exhaust PHP memory in 9.3.0
  • Issue #3253889 by BR0kEN, murilohp, longwave: `?check_logged_in=1` causes `TrustedRedirectResponse` to fail
  • Issue #3246156 by realityloop, rachel_norfolk: Add Brian Gilbert (realityloop) as a full mentoring coordinator
  • Issue #3246158 by rachel_norfolk, volkswagenchick: Add AmyJune Hineline (volkswagenchick) as a full mentoring coordinator
  • Issue #3246157 by ChrisDarke, rachel_norfolk: Add Chris Darke (ChrisDarke) as a full mentoring coordinator
  • Issue #3253568 by Spokje, paul121, rviner, longwave, alexpott, quietone: Error: Cannot use object of type DrupalCoreRenderMarkup as array in DrupalCoreRenderRenderer->doRender() (line 218. When checkbox 'Use field template' is checked
  • Issue #3239287 by alexpott, longwave: Fix DrupalCoretensionModuleDependencyMessageTrait to not cause deprecations in PHP 8.1
  • Issue #3253683 by andypost, Spokje, Gábor Hojtsy: Improve compatibility with composer 2.2
  • Issue #3250648 by Beakerboy, daffie: Avoid comparing fields with different collations in SelectSubqueryTest
  • Issue #3252067 by tedbow, Spokje: Remove duplicate loading of update reports after refreshUpdateStatus
  • Issue #3253824 by juli sh, Matroskeen: Minor typo in d7_field_formatter_settings.yml comment

New in Drupal 9.2.10 (Nov 25, 2021)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.

New in Drupal 9.3.0 Beta 3 (Nov 24, 2021)

  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. Note that there may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backwards compatibility and experimental module policies.

New in Drupal 9.3.0 Beta 2 (Nov 19, 2021)

  • This release fixes security vulnerabilities present in Drupal 9.3.0-beta1. Sites are urged to update immediately after reading the security announcement and notes below:
  • Drupal core - Critical - Third-party library - SA-CORE-2021-011
  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. Note that there may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backwards compatibility and experimental module policies.

New in Drupal 9.2.9 (Nov 18, 2021)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Critical - Third-party library - SA-CORE-2021-011

New in Drupal 9.2.8 (Nov 3, 2021)

  • Issue #3208849 by yogeshmpawar, cilefen, phenaproxima, mohit_aghera, larowlan, danflanagan8: OEmbedWidget does not display the field's help text, only its own message
  • Issue #2945033 by longwave, yobottehg, TMWagner, vdsh, jlatorre, catch: HtmlHeadLink processing does not allow for duplicated alternate hreflang links
  • Issue #2763075 by raman.b, Martijn de Wit, anon, borisson_: Adding new text format gives Uncaught TypeError: f.format_tags.split is not a function
  • Issue #3203745 by darienmh, Abhijith S, chetanbharambe: Claro theme is incompatible with the Themable Forms module
  • Issue #3244156 by daffie: Update the DrupalKernelTestsCoretitytityQueryAggregateTest::testAggregation() a little to make it pass for SQL Server
  • Issue #3083561 by Grimreaper, raman.b, ankithashetty, mglaman, bbrala, Wim Leers, quietone: Add explicit test coverage for JSON:API filtering on a datetime field
  • Issue #3073294 by Wim Leers, oknate: Remove obsolete @todo for "Undo bug when first inserting media into unfocused CKEditor"
  • Issue #2957953 by alexpott, sleitner, pobster, Berdir, mohit_aghera, kishor_kolekar, joegraduate, trackleft2, bappa.sarkar, acbramley, ankithashetty, paulocs, batkor, dhirendra.mishra, seanB, priyanka.sahni, Abhijith S, chetanbharambe, vikashsoni, anmolgoyal74, Webbeh, larowlan, hudri, ryan.gibson, amietpatial, ddhuri, capysara, runeasgar, saranya ashokkumar, shimpy, nikitagupta: Editing menus user-experience has regressed
  • Issue #990218 by Lendude, sun, tim.plunkett, mr.baileys, joachim: Machine name field throws notices if before source field
  • Issue #3205866 by danflanagan8, phenaproxima: media_requirements() should report missing source fields
  • Issue #3225227 by Matroskeen, quietone, Kristen Pol: Fix source plugin documentation
  • Issue #3020876 by alex_optim, sakiland, batkor, pfrenssen, mohit_aghera, i-trokhanenko, drclaw, iamdroid, Grayle, tim.plunkett, gun_dose, acbramley, Chris Burge, Sam152, longwave: Contextual links of reusable content blocks are not displayed when rendering entities built via Layout Builder
  • Issue #3241318 by alexpott: core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/scripts/disable-git-bin/git is an odd file and it has the file mode 755
  • Issue #3116481 by joachim, daffie: Convert EntityViewsDataTest from a unit test to a kernel test
  • Issue #3203009 by quietone, Gauravmahlawat, joachim, catch: the methods in FieldableEntity should document how they are meant to be used
  • Issue #3231861 by Lendude, GuyPaddock: PHP errors when overriding the query settings
  • Issue #2784783 by RytoEX, quietone, jofitz, Charlotte17, Anybody, tomhollevoet, catch, Grevil: Migration of nodes with cck nodereferrer fields fails (SQL error)
  • Issue #3088917 by quietone, gbirch, marvil07, Wim Leers: Map text_plain field formatter to basic_string for long text fields
  • Issue #3232681 by Matroskeen, danflanagan8, kpaxman, quietone: FieldLink process plugin treats protocol-relative external URLs as internal ones
  • Issue #3187616 by quietone, huzooka, Wim Leers, danflanagan8: Fix TermTranslation query and add missing source plugin test
  • Issue #3199578 by quietone, danflanagan8, huzooka: Fix EntityReferenceTranslationDeriver process pipeline
  • Issue #3219140 by danflanagan8, huzooka, quietone, Wim Leers: d7_language_content_comment_settings triggers MigrateException if the source bundle is longer than 32 chars: use migration_lookup
  • Issue #2909805 by googletorp, fgm, dagmar, ankithashetty: LogMessageParser breaks messages containing braces
  • Issue #3227370 by pfrenssen: Toolbar menu theme override omits the 'menu_name' variable
  • Issue #2974156 by MegaChriz, k4v, John.nie, jian he, darrenwh, jurgenhaas, daffie, DuneBL, alexpott: TypeError: Argument 1 passed to _editor_get_file_uuids_by_field() must implement interface DrupalCoretitytityInterface
  • Issue #3212670 by Sakthivel M, shashwat-tiwari, kiran.kadam911, Gauravmahlawat, mherchel: Olivero: Z-index issue with the search bar
  • Issue #3242469 by mherchel, andy-blum, scorbine: Insufficient contrast on Olivero's inactive vertical form labels
  • Issue #3242456 by mherchel, andy-blum, scorbine: Insufficient contrast on Olivero's fieldset elements
  • Issue #3223271 by mherchel, bnjmnm, pjudge, lauriii, javi-er, andrewmacpherson: Olivero: Select dropdown icons need more contrast in Windows High Contrast mode
  • Issue #3223281 by mherchel, andy-blum, andrewmacpherson, mgifford, mikemai2awesome: Olivero: Primary nav search icon invisible in forced-colors mode in MS Edge
  • Issue #2936067 by pfrenssen, bradjones1, nod_, eiriksm, DuaelFr, Clemens Sahs, AndyF, alexpott, lauriii, idimopoulos: CSS aggregation fails on many variations of @import
  • Issue #3219340 by lauriii, bnjmnm, mherchel: Vertical tabs with #parents are broken in Claro
  • Issue #3228000 by bbrala, larowlan, GuyPaddock, Wim Leers, bradjones1, alexpott, catch, e0ipso: Users deleted via JSON:API DELETE don't follow the site-wide cancel_method in the user settings
  • Issue #3192365 by Symbioquine, tbradbury, mxr576, alexpott, longwave: Race Condition in 'public://simpletest' mkdir Call

New in Drupal 9.4 Dev (Oct 29, 2021)

  • Unsupported development snapshot for the 9.4.x release series.
  • The 9.4.x branch is now open for new development. 9.4.0 is scheduled for release in June 2022.

New in Drupal 9.2.7 (Oct 6, 2021)

  • Issue #3211622 by Gauravmahlawat, mherchel, kiran.kadam911, rikki_iki: Olivero: Text can be cut off at mobile if site-branding text goes to two lines
  • Issue #3226010 by mariohernandez, kostyashupenko, Gauravmahlawat, mherchel: Olivero: Skip link fails accessibility color test on hover
  • Issue #3194669 by andrewmacpherson, mherchel, m4olivei, lauriii, mgifford: Misuse of explicit colour for active pager item in -ms-high-contrast media query
  • Issue #3228801 by mherchel, Indrajith KB, kostyashupenko, Gauravmahlawat, ckrina: Olivero's wide dropdown hover states are broken
  • Issue #3229172 by kostyashupenko, rkoller, Wim Leers, yash.rode, lauriii: Underlined text in CKEditor 5 not rendered as underlined in Claro
  • Issue #3230547 by larowlan, karishmaamin, amjad1233: DrupalmediaControllerOEmbedIframeController::render doesn't set a content-type header
  • Issue #3132145 by mohit_aghera, codersukanta, osab, mashot7, Lendude: Views contextual filter: "allow multiple" doesn't work for user roles filter
  • Issue #3238373: fix merge conflict.
  • Issue #3229734 by quietone, danflanagan8, Kristen Pol: Improve test and add comments to ContentEntityTest
  • Issue #3200534 by quietone, longwave, Kristen Pol: Use dataprovider for constructor test in ContentEntityTest
  • Merge 9.2.6
  • Issue #3230772 by larowlan, phenaproxima: OembedMediaController doesn't properly bubble cacheability metadata/attachments
  • Issue #3085192 by Wim Leers, focus13, grasmash: Add index on source_ids_hash for migrate_message_* tables
  • Issue #3214675 by el7cosmos, bbrala, hehongbo, larowlan, alexpott: JSON:API Cannot upload files to public file root (Gets 422 Unprocessable Entity)
  • Issue #3130606 by shaktik, mondrake, KapilV, longwave, daffie: MockBuilder::setMethods is deprecated in PHPUnit8 and removed from PHPUnit10
  • Issue #2556069 by claudiu.cristea, bnjmnm, lauriii, pfrenssen, Tim Bozeman, marcvangend, ikeigenwijs, Wim Leers, kevinquillen, esclapes, nod_: JS error with elements in "allowed HTML tags" that can't be direct descendants of a div
  • Issue #3211395 by Gauravmahlawat, andy-blum, aaron.ferris, Sakthivel M, kiran.kadam911, mherchel, tushar_sachdeva, xjm: Comment form save button has incorrect background color and contrast ratio violation on hover
  • Issue #3190537 by kostyashupenko, mherchel, bnjmnm, xjm: Mobile search input in IE11 does not visually respond to keypress
  • Issue #2938969 by msankhala, dhirendra.mishra, paulocs, TR, MerryHamster, alexpott, jofitz, longwave, Manuel Garcia, tameeshb, boaloysius, Yasiru Nilan, xjm, wturrell, ritzz, ZeiP, darrenwh: Replace drupal_render() in docblock and comments outside of @param, @return, @link, @see and outside of @code - @endcode
  • Issue #2016739 by richardbporter, larowlan, aalamaki, afox, wroxbox, mark_fullmer, mohit_aghera, ayushmishra206, rakesh.gectcr, NikolaAt, rteijeiro, tanubansal, amietpatial, jibran, alexpott, Wim Leers: Links with "@" are converted into email addresses even if there is no domain suffix present
  • Issue #2928882 by mkalkbrenner, neclimdul, manuel.adan, yogeshmpawar, Berdir, alexpott: HAL links are broken if diffferent domains, protocols or ports are used in multisite or multi-domain setup
  • Issue #3139409 by mondrake, nitesh624, ridhimaabrol24, shobhit_juyal, paulocs, mohrerao, Hardik_Patel_12, ravi.shankar, munish.kumar, longwave, mrinalini9, daffie: Replace usages of AssertLegacyTrait::assertRaw, that is deprecated
  • Issue #3104980 by danflanagan8, acbramley: layout_builder_system_breadcrumb_alter doesn't check for a null route object
  • Issue #3230690 by Anul: Incorrect documentation in Drupal
  • iewsPlugin
  • iewsdisplay::viewExposedFormBlocks)()
  • Issue #3231263 by xjm, effulgentsia, longwave: Add ckrina, quietone, and bnjmnm as provisional committers in MAINTAINERS.txt
  • Issue #3229094 by mherchel, rikki_iki, Gauravmahlawat: Olivero: Titles should wrap around images in teaser when necessary
  • Issue #3211616 by mherchel, Gauravmahlawat, lauriii, bnjmnm, ckrina, xjm, rikki_iki, jwitkowski79: Olivero: a11y color contrast test fail for primary button on hover
  • Issue #3225034 by bbrala: Simplify ResourceTypeRepository control flow for returning cached data

New in Drupal 9.2.6 (Sep 15, 2021)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Moderately critical - Cross Site Request Forgery - SA-CORE-2021-006
  • Drupal core - Moderately critical - Cross Site Request Forgery - SA-CORE-2021-007
  • Drupal core - Moderately critical - Access bypass - SA-CORE-2021-008
  • Drupal core - Moderately critical - Access bypass - SA-CORE-2021-009
  • Drupal core - Moderately critical - Access bypass - SA-CORE-2021-010

New in Drupal 9.2.5 (Sep 2, 2021)

  • Changes since 9.2.4:
  • Issue #3228634 by Spokje, xjm, paulocs, tim.plunkett, Lendude: Move tests for integrations between QuickEdit and other modules into QuickEdit so that it can more easily be moved into contrib
  • Revert "Issue #3228634 by Spokje, xjm, paulocs, tim.plunkett, Lendude: Move tests for integrations between QuickEdit and other modules into QuickEdit so that it can more easily be moved into contrib"
  • Issue #3228634 by Spokje, xjm, paulocs, tim.plunkett, Lendude: Move tests for integrations between QuickEdit and other modules into QuickEdit so that it can more easily be moved into contrib
  • Issue #3221748 by Dane Powell, longwave, alexpott: drupal/core is implicitly allowed by scaffold
  • Issue #3229012 by mlncn, wolcen: Fix copy-paste mistake in code comment
  • Issue #3228963 by el7cosmos: Wrong path for Exception message in ThemeExtensionList
  • Issue #3203416 by guilhermevp, joachim: docs for FormValidator::doValidateForm() should explain $form_id can detect recursion
  • Issue #3018091 by guilhermevp, vacho, shubhangi1995, joachim, longwave, wolffereast: TaggedHandlersPass::process() doesn't document some of its features
  • Revert "Issue #3022910 by quietone, juampynr, chandrashekhar_srijan, alisonjo315, heddn, benjifisher: Prevent migrated files from having an incorrect value at file_managed.filename"
  • Issue #3228656 by bradjones1, Spokje: Remove outdated @todo in HtmlResponseAttachmentsProcessor
  • Issue #3221715 by nod_, brianperry: Add brianperry as coordinator for the decoupled menus initiative
  • Issue #3212120 by kiran.kadam911, kostyashupenko, tushar_sachdeva, chetanbharambe, ranjith_kumar_k_u, mherchel, aaron.ferris: Blockquote's content font size should be decreased when it is placed into the sidebar in the Olivero theme
  • Issue #3226704 by mherchel, Abhijith S, lauriii, Gauravmahlawat, Indrajith KB: Olivero's top-level primary menu's hover states are not correct
  • Issue #3221871 by mherchel, Gauravmahlawat, W01F, nod_: Olivero: Mobile menu prevents scroll & obscures page after click if menu item contains link to anchor on same page
  • Issue #3223268 by javi-er, dhirendra.mishra, mherchel: Olivero: IE11 primary menu submenus have horizontal scrollbar when submenu item has focus
  • Issue #3227427 by mherchel, Gauravmahlawat: Olivero: focus state is invisible in Windows high contrast
  • Issue #3228396 by paul121: Update link to ChromeDriver site
  • Revert "Issue #3202145 by kuldeep_mehra27, phenaproxima, bkosborne, Chris Burge: oEmbed resource fetcher needs to set a reasonable connection timeout"
  • Issue #3228145 by Gauravmahlawat, mherchel: Remove misleading "toggle" phrase from Olivero's wide search form disclosure button
  • Issue #3218978 by effulgentsia, daffie, mcdruid, Wim Leers: MySQL driver allows settings.php to remove ANSI_QUOTES from sql_mode, but doesn't work when it is
  • Issue #3228237 by DamienMcKenna, quietone: Always sort tables in db-tools.php dump
  • Issue #3190070 by Spokje: Incorrect comment indentation in default.services.yml
  • Issue #3202145 by kuldeep_mehra27, phenaproxima, bkosborne, Chris Burge: oEmbed resource fetcher needs to set a reasonable connection timeout
  • Issue #3227945 by cilefen, Wim Leers: Remove bender-runner.config.json from CKEditor builds
  • Back to dev.
  • Merged 9.2.4.
  • Issue #3225188 by mherchel, dipakmdhrm, Gauravmahlawat, jwitkowski79: Olivero: Ensure proper visual hierarchy between headings
  • Issue #3022910 by quietone, juampynr, chandrashekhar_srijan, alisonjo315, heddn, benjifisher: Prevent migrated files from having an incorrect value at file_managed.filename
  • Issue #3220255 by Spokje, mondrake, longwave: Convert assertions involving use of xpath on links to WebAssert
  • Issue #3224466 by andy-blum, mherchel: Olivero: elements are not inheriting theme's font
  • Issue #3226008 by longwave, mondrake: Remove simple uses of t() in assertEquals() calls
  • Issue #3170396 by mondrake, ankithashetty, longwave, catch: [backport] Remove uses of t() and switch to pageTextContains() in assert(No)Raw() calls
  • Issue #3227060 by mondrake, ankithashetty, daffie, catch: [backport] Replace usages of AssertLegacyTrait::assertNoRaw, that is deprecated
  • Issue #2989893 by ankithashetty, srilakshmier, quietone, firfin, longwave: Remove redundant source: key in Substr example
  • Issue #2047119 by fago, msankhala, LinL: Remove deprecated documentation in DataType annotation
  • Issue #3191935 by mondrake, tedbow, paulocs, ankithashetty, longwave, xjm, catch, alexpott: Replace usages of AssertLegacyTrait::assertNoText, which is deprecated
  • Issue #3224414 by alexpott, varshith, dagmar, daffie: Installing the syslog module uses its configuration before it is written
  • Issue #3222616 by phenaproxima, vsujeetkumar, labboy0276, hmendes, cilefen: YouTube PlayLists can't be added to Remote Video due to regex issue
  • Issue #3063343 by phenaproxima, Wim Leers, larowlan, seanB, effulgentsia: Make MediaLibraryState implement CacheableDependencyInterface to remove the need for hardcoding a cache context

New in Drupal 9.2.4 (Aug 13, 2021)

  • Drupal core - Critical - Third-party library - SA-CORE-2021-005

New in Drupal 9.2.3 (Aug 3, 2021)

  • Changes since 9.2.2:
  • 3153469 by longwave, hmendes, Hardik_Patel_12: Remove uses of t() in clickLink() calls
  • 2784203 by anmolgoyal74, gianani, rahulkhandelwal1990, Krzysztof Domanski, gawaksh, kanav_7, fabienly, shubham.prakash, ravi.shankar, joachim, dgilles3, Chi, alexpott, catch: Entity query needs to clarify what 'current revision' means
  • 3221312 by Spokje: ->willReturn(...) would make more sense here
  • 3221062 by SylvainM, joachim: DocBlock for EntityDefinitionUpdateManagerInterface::getEntityType() missing NULL return
  • 3222577 by alexpott, podarok, daffie: ServiceNotFoundException You have requested a non-existent service "language_negotiator" - hook_modules_installed()
  • 3225351 by mglaman: bootstrap.php has incorrect comment about test trait namespace
  • 3184184 by quietone, Wim Leers, marvil07: Test that the d7_entity_reference_translation follow-up migration runs not just for node entities
  • 3224583 by daffie, dhirendra.mishra, longwave: The testbot does not run PHPCS on all files when core/phpcs.xml.dist is changed
  • 3224861 by Spokje: PHPCS failure in /core/modules/tour/src/TourViewBuilder.php
  • Merge 9.2.2, resolve merge conflicts, and update lockfile and dev versions.
  • 3223270 by mherchel, javi-er: Olivero: Messages "close" icon not visible in IE11 High Contrast (and maybe others)
  • 3160238 by JeroenT, phenaproxima, vsujeetkumar, ravi.shankar, snehalgaikwad, dishabhadra, vakulrai, gmercer, mitthukumawat, RoshaniBhangale, thalles, Abhijith S, chandu7929, janmejaig, tanubansal, manojithape, quietone: Media Library widget produces "This value should not be null" error when field is required
  • 3223267 by alexpott, daffie: Remove some calls to drupal_flush_all_caches() in tests
  • 2935654 by longwave, hctom: Use of undefined $languages variable in NodeListBuilder::buildRow()
  • 3219198 by guilhermevp, hideaway, bradjones1: PHPdoc parameter mistype for QueryInterface::condition()
  • 3185400 by mondrake, alexpott, daffie: Test upsert return value and ensure that they are consistent regardless of database type
  • 3186415 by phenaproxima, Charlie ChX Negyesi, walangitan, pianomansam, dan2k3k4, Al Munnings, larowlan, philltran, cilefen, longwave, alexpott, pookmish, kaynen, Lendude, Gábor Hojtsy, rlnorthcutt, ksenzee: Make oEmbed resource fetcher more tolerant of unexpected Content-Type headers
  • 3192585 by andypost, ankithashetty, Amber Himes Matz: Fix up topics to use new help_topic_link function
  • 3221966 by guilhermevp, anweshasinha, Berdir: PathAliasTestTrait::assertPathAliasExists message argument default value is incompatible with assertTrue()
  • 3080666 by phenaproxima, Upchuk, ieguskiza, larowlan, ravi.shankar, nikitagupta, zipymonkey, Bladedu, pameeela, b_sharpe, seanB, Spokje, mukesh.dev, Gauravmahlawat: oEmbed system doesn't work if thumbnail url does not have a file extension
  • 3207111 by guilhermevp, swatichouhan012, joachim: Improve ScaffoldFilePath::__construct() documentation
  • 3222980 by bbrala: Unneeded assignment in ResourceTestBase::getEntityDuplicate
  • 3222313 by paulocs: Rename scripts.js to something more descriptive
  • 3221933 by marcoscano, alexpott, owenbush: PHP Notice when using "left_formula" in views join
  • 3220379 by guilhermevp, quietone, joachim: example code for NullCoalesce isn't formatted properly
  • 2750925 by quietone, vakulrai, pavnish, Neslee Canil Pinto, ankithashetty, Meenakshi_j, nikitagupta, Suresh Prabhu Parkala, JvE, Gauravmahlawat, larowlan, Kristen Pol, paulocs, acbramley, catch: Text item sample generation fails if max length < 3
  • 2834958 by huzooka, Chris Burge, alfaguru, Wim Leers, Lendude: file_validate_extensions() incorrectly assumes $file->filename contains the file's extension
  • Revert "Issue #3080666 by phenaproxima, Upchuk, ieguskiza, ravi.shankar, nikitagupta, zipymonkey, larowlan, Bladedu, pameeela, Gauravmahlawat, Spokje, mukesh.dev, seanB: oEmbed system doesn't work if thumbnail url does not have a file extension"
  • 3080666 by phenaproxima, Upchuk, ieguskiza, ravi.shankar, nikitagupta, zipymonkey, larowlan, Bladedu, pameeela, Gauravmahlawat, Spokje, mukesh.dev, seanB: oEmbed system doesn't work if thumbnail url does not have a file extension
  • 1479220 by sudiptadas19, guilhermevp, InternetDevels, paulocs, David Jeyachandran, mondrake, jhodgdon, joachim: Add return documentation for Merge::execute()
  • 3222783 by longwave, mondrake: Result of method PHPUnitFrameworkAssert::assertEquals() (void) is used

New in Drupal 9.2.2 (Jul 21, 2021)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Critical - Third-party library - SA-CORE-2021-004

New in Drupal 9.2.1 (Jul 7, 2021)

  • Bug fix:
  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.
  • Changes:
  • #3173832 by Pooja Ganjage, mherchel, adamzimmermann, paulocs, KapilV, markdorison, Sakthivel M, Gauravmahlawat, nod_, kostyashupenko, sulfikar_s, bnjmnm: Ensure Olivero's JS documentation matches standards
  • #3222009 by Jaypan: Fix documentation for hook_views_query_alter()
  • #3195178 by mstrelan, Lendude, Graber, tobiberlin, texas-bronius: Views table format sorting + distinct results in a SQL error on some db engines
  • #3218766 by tim.plunkett, gabesullice: Adding a SystemMainBlock to a layout builder layout causes a fatal error and should not be available
  • #3211613 by Gauravmahlawat, Sakthivel M, chetanbharambe: Olivero: Inconsistent offset on close button within messages
  • #3212700 by Sakthivel M, chetanbharambe, Gauravmahlawat: Olivero: focus state outline cut off from right in IE11
  • #3212702 by Sakthivel M, Gauravmahlawat: Olivero: profile picture and comments are not aligned in IE11
  • #3173010 by Gauravmahlawat, starshaped: Class clean up and add #0c0d0e and #171e23 as variables in Olivero's footer.pcss.css
  • #3211889 by mherchel, Gauravmahlawat: Autoprefixer and PostCSS calc not generating proper IE11 grid syntax when repeat() function contains calc()
  • #3210902 by mherchel, tushar_sachdeva, kostyashupenko, RenatoG, kiran.kadam911, Sakthivel M, marcusvsouza, guilhermevp, penyaskito, sulfikar_s: Blockquote can overflow into the sidebar in the Olivero theme
  • #3213118 by Gauravmahlawat, Sakthivel M, Akhildev.cs, mherchel: Olivero: Mobile sub-navigation menus slightly offset subsequent menu links when hidden
  • #3213957 by Gauravmahlawat, mitthukumawat, Indrajith KB: Umami demo: hover state of buttons is odd on quick edit
  • #3211907 by Sakthivel M, tushar_sachdeva: On Mobile screens, tags label and tags item are misaligned
  • #3212073 by Sakthivel M, kiran.kadam911, javi-er, Gauravmahlawat, ranjith_kumar_k_u, mherchel: Olivero: Primary navigation toggle button(plus/minus) is not vertically center below 1200 res
  • #3213074 by mherchel, Indrajith KB, Gauravmahlawat: Olivero: Refactor second-level-navigation.es6.js to meet Drupal's JavaScript coding standards
  • #3214140 by Gauravmahlawat, manojithape, mitthukumawat, tstoeckler: Olivero: Message icon has border radius in firefox browser
  • Revert "Issue #3214140 by Gauravmahlawat, manojithape, mitthukumawat: Olivero: Message icon has border radius in firefox browser"
  • #3212981 by mherchel, Indrajith KB, Gauravmahlawat, andy-blum, lauriii, thejimbirch: Olivero: Refactor navigation.es6.js to meet Drupal's JavaScript coding standards
  • #3217175 by javi-er, mherchel: Olivero: Make IE11 close submenu when ESC key is pressed
  • #3208372 by paulocs, mherchel, Gauravmahlawat: Olivero: Refactor comments.es6.js
  • #3217717 by longwave, mondrake, xjm, tim.plunkett: Replace usages of the at() matcher, which is deprecated
  • #3220183 by mondrake, longwave: Convert assertions involving use of xpath on labels to WebAssert
  • #3202166 by xjm, vakulrai, paulocs, Neslee Canil Pinto, rubenvarela, Gauravmahlawat, Abhijith S, larowlan: Allow saving on menu LinkWidget
  • #3216556 by sudiptadas19, mondrake, guilhermevp, daffie, andypost, longwave: Document that the $table argument of Connection::select() can be a subquery
  • #3220922 by gabesullice: Remove gabesullice as Decoupled menus initiative coordinator
  • #3220184 by bbrala, gabesullice, Wim Leers, e0ipso, xjm, dmsmidt: Add bbrala as sub-system maintainer for JSON:API
  • #1478294 by quietone, dww, tedbow: Update manager XML test fixtures contain D7 links to D8 releases
  • #3219881 by msnassar: Typo in the description of class MenuLinkContentAccessControlHandler
  • #3217374 by bbrala, daffie: SIMPLETEST_BASE_URL does not validate scheme
  • #3173008 by anmolgoyal74, mherchel, paulocs, kostyashupenko, FMB, andy-blum: [Code Review] wide image within article template a reusable component/class
  • #3173022 by anmolgoyal74, mherchel, andy-blum, vsujeetkumar, hinal05, kostyashupenko: Figure out a clean way to manage the style of Olivero's menu block in the sidebar region
  • #2719649 by Spokje, harsha012, jofitz, vprocessor, nikitagupta, cburschka, rasikap, hitesh-jain, quietone, longwave, mfernea, andypost, klausi, Malevi4, crazyrohila: Fix 'Drupal.Commenting.InlineComment.SpacingBefore' coding standard
  • #3210199 by mherchel, Gauravmahlawat, bnjmnm, thejimbirch: Olivero: Adjustments to landmark regions
  • #3218660 by alexpott: help_topics module can break during module uninstall
  • #3220450 by xjm, phenaproxima: OEmbed ProviderRepositoryTest::testEmptyProviderList() does not interact with Guzzle's API correctly
  • #3199741 by Matroskeen, quietone: Add documentation for remaining source plugins
  • #3103031 by quietone, alexpott, heddn, Wim Leers: Add bundle to the sourceIDs to FieldOptionTranslation source plugin
  • #3196583 by Matroskeen, Wim Leers, quietone, larowlan: MigrationLookup plugin overrides source values for multiple migrations
  • #3209353 by Matroskeen, nishantghetiya, quietone: Add documentation for remaining node and taxonomy modules
  • #3164520 by james.williams, Matroskeen, huzooka, raman.b, quietone, mikelutz: FieldableEntity::getFieldValues() does not guarantee that the returned field values are sorted by their delta
  • #3095739 by jhodgdon, siddhant.bhosale, pratik_kamble, andypost, ayushmishra206, SenthilMohith, kleiton_rodrigues, daffie, catch, snehalgaikwad: Convert admin UI-related modules: contextual, help, inline_form_errors, quickedit, settings_tray, shortcut, toolbar, tour module hook_help() to topic(s)
  • #3094482 by jhodgdon, shetpooja04, Amber Himes Matz, andypost, pritish.kumar, ankithashetty, batigolix, catch: Convert action module hook_help() to topic(s), including views bulk operations
  • #3048848 by jmikii, carletex, andypost, sulfikar_s, mrinalini9, himanshu_sindhwani, anantjain60, guilhermevp, johnwebdev, alexpott, quietone: Syndicate block outputs wrong feed URL
  • #3175718 by mondrake, alexpott, jungle, longwave: Random fails due to drupal-settings-json being counted as page text
  • #3067727 by jhodgdon, batigolix, shetpooja04, NitinLama, Pooja Ganjage, anmolgoyal74, andypost, nitesh624, kishor_kolekar, iyyappan.govind, mrinalini9, Gayathri J, daffie, catch: Convert comment, node, path, taxonomy module hook_help() to topic(s)
  • #3215143 by paulocs, daffie: Replace replace assertEqual() in some comments
  • #2228087 by quietone, longwave, Kristen Pol, jungle, VladimirAus, phayes: PhpStreamWrapperInterface lacks docblocks
  • #3097416 by b_sharpe, phenaproxima, Chris Burge, seanB, webchick, oknate: When embedding media, don't let authors choose view modes that are not enabled for that media type
  • #3156396 by TR, pavnish, mondrake, longwave, catch, jungle: Use assertSameSize() to check same size of two countable variables
  • #3053167 by quietone, marvil07: Move state entries out of migrate_drupal.migrate_drupal.yml
  • #2879159 by Spokje, LoMo, ravi.shankar, quietone, mondrake: Some calls to assertEquals have expected/actual parameters reversed
  • #3213734 by longwave, mondrake: AssertButtonsTrait has invalid PHP syntax
  • #3213621 by huzooka: Fix D7 migration database fixture (to follow documentation) and update the same outdated doc

New in Drupal 9.2.0 (Jun 17, 2021)

  • 3177415 by ramil g, joelpittet, jplana, kishor_kolekar: Vertical Tabs CSS classes applying to non-vertical tab detail element groups
  • 3214395 by YesCT, paulocs: Add ModuleUninstallValidatorInterface hint to hook_uninstall docs
  • 3064596 by neclimdul, quietone: Avoid format calls in DateTimePlus::createFromFormat
  • 3217357 by Anandhi K, jungle, Rinku Jacob 13, longwave: Replace occurrences of outdated text "Extending Drupal 8" and its link
  • 3092553 by amateescu, dixon_, shaal, xjm, ckrina, jrockowitz, webchick, worldlinemine: Add a row for switching to the live workspace in the Workspaces listing UI
  • 3217861 by jhodgdon: Documentation needed in ConfigEntityDependency::getDependencies() to explain what the $type == module code is doing
  • 3218658 by nod_: Update @drupal/once to 1.0.1
  • 3187318 by sudiptadas19, eddie_c, huzooka, anmolgoyal74, quietone, Wim Leers, alexpott: ContentEntity source plugin should exclude user with uid "0"
  • 3216552 by andypost, mondrake, Gauravmahlawat, daffie, joachim: Incorrect calls to Connection::select() in MenuTreeStorage
  • 3215611 by alexpott, longwave: Service deprecations are only triggered on container build,not ::get()
  • 2359675 by Grimreaper, jhedstrom, paulocs, anrikun, Lendude, larowlan, nicoloye, dww, alexpott: File field's Maximum upload size always passes validation
  • 2716019 by joseph.olstad, rodrigoaguilera, _Archy_, Lendude, mdupont, anmolgoyal74, mpp, Krzysztof Domanski, DamienMcKenna, adityasingh, Skymen, benelori, Suresh Prabhu Parkala, rensingh99, alexpott, paulocs, HeyJo, iiRealXz, dawehner, xjm, 5n00py, tstoeckler, Karsa, dbyers55, idebr: View titles in breadcrumb and metatag title don't get properly translated
  • 3217706 by Spokje, longwave, guilhermevp, mondrake: Replace usages of assertFileNotExists(), that is deprecated
  • 3218586 by mondrake: Missed one conversion to expectWarning()
  • 3215198 by phma: Thumbnail updates read width and height from source image on save even if queued
  • 3217732 by bnjmnm, Wim Leers: filterStatus behavior can't find settings markup after AJAX update
  • 3217714 by mondrake, ravi.shankar, guilhermevp, longwave: Replace usages of expectException(Warning::class), that is deprecated
  • 3218139 by gapple, longwave: Stop altering existing Permissions-Policy header in FinishResponseSubscriber
  • 3012172 by acbramley: EntityViewBuilder::addContextualLinks assumes an entity's canonical rel is routed/internal
  • 3217716 by sudiptadas19, Meenakshi_j, hmendes, guilhermevp, mondrake: Replace usages of expectException(Error::class), that is deprecated
  • 3116804 by dww, tedbow, benjifisher, heddn, xjm, jungle: Add tedbow and dww as maintainers for Update Manager
  • 3213616 by n4r3n, Wim Leers, quietone: Map all Datetime module's field formatters from D6/D7 to D8/D9
  • 3134554 by Matroskeen, larowlan, paulocs, aluzzardi, phenaproxima, mark_fullmer, vierlex, hchonov, grathbone: Media fields with Media Library form widget trigger PHP 'Notice: Undefined index'
  • 3218024 by Charlie ChX Negyesi, longwave, Berdir: Field called "link" breaks the RSS Views plugins
  • 3217713 by guilhermevp, vsujeetkumar, mondrake, sudiptadas19, vikashsoni: Replace usages of assertFileNotIsWritable(), that is deprecated
  • 2977495 by alexfarr, Sam152, Neslee Canil Pinto, timmillwood, alexpott: Content Moderation missing permission descriptions
  • 3210898 by quietone, BhumikaVarshney: Combine tests using NormalizerDenormalizeExceptionsUnitTestBase
  • 3084436 by longwave, simonminter, Spokje, alexpott, alisonjo315, pameeela, webel: Config export field should be cleared when config type changes
  • 3214773 by jmsosso, Spokje: Wrong type hint for getActiveMultiple() and getCanonicalMultiple() in EntityRepositoryInterface
  • 3217711 by Spokje, sudiptadas19, guilhermevp, mondrake: Replace usages of assertNotRegExp(), that is deprecated
  • 3174200 by mondrake, longwave, alexpott: Use PHPUnit-bridge polyfills for forward compatibility layer
  • 3217712 by sudiptadas19, mondrake: Replace usages of assertDirectoryNotIsWritable(), that is deprecated
  • 3217709 by sudiptadas19, mondrake: Replace usages of assertRegExp(), that is deprecated
  • 3122056 by Wim Leers, mohit_aghera, Kristen Pol: Do not track viewing history for unsaved entities, nor when previewing existing entities
  • 3214487 by paulocs, vakulrai, vetal4ik, manojithape, nishantghetiya, quietone, Lendude: Remove 'reply' link from comment field when threading is disabled

New in Drupal 9.1.10 (Jun 4, 2021)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites. Learn more about Drupal 9.

New in Drupal 9.1.9 (May 26, 2021)

  • This release fixes a security vulnerability.

New in Drupal 9.2.0 Alpha 1 (May 6, 2021)

  • Changes to site-owner-managed files:
  • The web.config file used by Microsoft's IIS server has been updated to remove unnecessary configuration. The commented out Erase HTTP_PROXY rule has been removed. PHP 7.3 and up is not vulnerable and this rule can be removed if you have enabled it.
  • Other:
  • Drupal now uses PHPs built-in session generation. The change record details how custom and contributed code that relies on the session ID should be updated.
  • Configuration files with multi-line strings will be exported using Symfony's multi-line literal block formatting option, improving readability and diffs. This will mean a configuration diff the first time a configuration file is re-exported.
  • If you limit allowed extensions and want dangerous files to be uploaded and renamed, you must explicitly allow txt file uploads. This is mandated when configuring file fields through the user interface.
  • Views renamed the default display from "Master" to "Default". This does not affect existing Views, only ones created after this change. Additionally the setting to hide/show the default display had its machine name changed from ui.show.master_display to ui.show.default_display. Review the change record for more information.
  • Drupal's README now focuses on shepherding new contributors into the Drupal ecosystem and uses the Markdown format. The usage information previously contained in the README.txt file has been extracted to a newly created USAGE.txt file in the core directory. Sites that are using the drupal/core-composer-scaffold plugin to exclude README.txt should update their configuration to exclude README.md instead.
  • Dependency updates:
  • Deprecated, changed, and removed dependencies:
  • The Goutte testing browser has been deprecated and replaced with a new mink driver client, using Guzzle. This should not require any changes to browser tests unless you are interacting with specific Goutte features. Review the change record on the Goutte driver replacement for more information.
  • Drupal has replaced the behat/mink-browserkit-driver dependency with friends-of-behat/mink-browserkit-driver for PHP 8 and Symfony 5 compatibility.
  • The tabbable library has been added to replace the functionality provided by for jQuery UI's:tabbable selector. A shim has been provided so all existing of uses of the :tabbable selector now use tabbable to query tabbable elements.
  • . See the change record for more information.
  • Added dependencies:
  • The core/once library, a standalone library that offers the same benefits as core/jquery.once but without the jQuery dependency, has been added to Drupal core.
  • Updated dependencies:
  • 3187025: Update dependencies for Drupal 9.2
  • Production Changes | From | To |
  • composer/semver | 3.2.2 | 3.2.4 |
  • egulias/email-validator | 2.1.22 | 2.1.24 |
  • laminas/laminas-stdlib | 3.3.0 | 3.3.1 |
  • symfony/console | v4.4.16 | v4.4.17 |
  • symfony/debug | v4.4.16 | v4.4.17 |
  • symfony/dependency-injection | v4.4.16 | v4.4.17 |
  • symfony/error-handler | v4.4.16 | v4.4.17 |
  • symfony/event-dispatcher | v4.4.16 | v4.4.17 |
  • symfony/http-foundation | v4.4.16 | v4.4.17 |
  • symfony/http-kernel | v4.4.16 | v4.4.17 |
  • symfony/process | v4.4.16 | v4.4.17 |
  • symfony/routing | v4.4.16 | v4.4.17 |
  • symfony/serializer | v4.4.16 | v4.4.17 |
  • symfony/translation | v4.4.16 | v4.4.17 |
  • symfony/validator | v4.4.16 | v4.4.17 |
  • symfony/yaml | v4.4.16 | v4.4.17 |
  • Dev Changes:
  • composer/composer | 2.0.2 | 2.0.8 |
  • composer/spdx-licenses | 1.5.4 | 1.5.5 |
  • composer/xdebug-handler | 1.4.4 | 1.4.5 |
  • doctrine/instantiator | 1.3.1 | 1.4.0 |
  • drupal/coder | 8.3.10 | 8.3.11 |
  • easyrdf/easyrdf | 1.0.0 | 1.1.1 |
  • myclabs/deep-copy | 1.10.1 | 1.10.2 |
  • phar-io/manifest | 1.0.3 | 2.0.1 |
  • phar-io/version | 2.0.1 | 3.0.3 |
  • phpunit/php-code-coverage | 7.0.10 | 7.0.14 |
  • phpunit/php-file-iterator | 2.0.2 | 2.0.3 |
  • phpunit/php-timer | 2.1.2 | 2.1.3 |
  • phpunit/php-token-stream | 3.1.1 | 4.0.4 |
  • phpunit/phpunit | 8.5.8 | 8.5.13 |
  • sebastian/code-unit-reverse-lookup | 1.0.1 | 1.0.2 |
  • sebastian/comparator | 3.0.2 | 3.0.3 |
  • sebastian/diff | 3.0.2 | 3.0.3 |
  • sebastian/environment | 4.2.3 | 4.2.4 |
  • sebastian/exporter | 3.1.2 | 3.1.3 |
  • sebastian/global-state | 3.0.0 | 3.0.1 |
  • sebastian/object-enumerator | 3.0.3 | 3.0.4 |
  • sebastian/object-reflector | 1.1.1 | 1.1.2 |
  • sebastian/recursion-context | 3.0.0 | 3.0.1 |
  • sebastian/resource-operations | 2.0.1 | 2.0.2 |
  • sebastian/type | 1.1.3 | 1.1.4 |
  • seld/jsonlint | 1.8.2 | 1.8.3 |
  • sirbrillig/phpcs-variable-analysis | v2.9.0 | v2.10.0 |
  • symfony/browser-kit | v4.4.16 | v4.4.17 |
  • symfony/css-selector | v4.4.16 | v4.4.17 |
  • symfony/dom-crawler | v4.4.16 | v4.4.17 |
  • symfony/filesystem | v4.4.16 | v4.4.17 |
  • symfony/finder | v4.4.16 | v4.4.17 |
  • symfony/lock | v4.4.16 | v4.4.17 |
  • ChromeDriver has been updated from 86.0.0 to 87.0.5.
  • Modernizr has been updated to v3.11.7
  • Underscore.js has been updated to 1.13.1

New in Drupal 9.1.8 (May 5, 2021)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.

New in Drupal 9.3 Dev (May 4, 2021)

  • Unsupported development snapshot for the 9.3.x release series.
  • The 9.3.x branch is now open for new development. 9.3.0 is scheduled for release in December 2021.
  • Those interested in testing the upcoming 9.2.0 releases of Drupal core should continue to work with the 9.2.x branch until 9.2.0 is released on June 16, 2021.

New in Drupal 9.1.7 (Apr 21, 2021)

  • Maintenance and security release of the Drupal 9 series.

New in Drupal 9.1.6 (Apr 7, 2021)

  • #3171827 by mohit_aghera, ankithashetty, jmeijer, jibran: RouteNotFoundException: Route "jsonapi.[entity].[field_name].related" does not exist
  • #3200809 by Matroskeen, quietone: Add documentation for d6 field source plugins
  • #3199742 by Matroskeen, ravi.shankar, quietone: Add documentation for block source plugins
  • #3207086 by benjifisher, larowlan, mondrake, Spokje: [HEAD BROKEN] Consistent failure in MonthDatePluginTest
  • #3204163 by jonathanshaw: EntityQuery accessCheck: tests should not check access unless relevant
  • #3204419 by jonathanshaw, longwave: EntityQuery accessCheck: always specifiy accessCheck, don't rely on the default
  • #3202125 by jonathanshaw, Berdir, catch, longwave: EntityQuery accessCheck: unique value validation should not be access sensitive
  • #3160629 by raman.b, tim.plunkett, Berdir: BlockPluginTrait cannot call ::addContextAssignmentElement() itself
  • #2992894 by mohit_aghera, adityasingh, adalbertov, raman.b, vsujeetkumar, mgifford, RenatoG, nishantghetiya, Kristen Pol, alexpott, penyaskito, andrewmacpherson, catch: Search results of multi-lingual pages fail Language of Parts
  • #3183301 by mcdruid, longwave, markwittens, nathandentzau, marcaddeo, janusman, -nrzr-, David_Rothstein, Heine, vijaycs85, xjm, tim.plunkett, pandaski, Wim Leers, larowlan: Add tests for SA-CORE-2020-009
  • #3106659 by phenaproxima, aleevas, rajanvalecha12, Drupaldev2013, audacus, mulukallaarun, Kristen Pol, dpi: Media types with missing source fields break the status report page
  • #3204986 by Matroskeen, quietone: Add documentation for d7 field source plugins
  • #3203369 by jonathanshaw, andypost: EntityQuery accessCheck: aggregator module
  • #2850057 by Munavijayalakshmi, gaurav.kapoor, ankithashetty, Pavan B S, ritzz, joachim, xjm, amateescu, Vishalghyv: all methods in SelectionInterface() are missing @param docs
  • #3204140 by jonathanshaw, catch: EntityQuery accessCheck: menu_ui_get_menu_link_defaults() should not be access sensitive
  • #3094366 by mohit_aghera, KittenDestroyer, Berdir, rensingh99: Error when saving config entity with "Link to entity" checked if field formatters
  • #3090941 by raman.b, breakfull, jmdeleon, amd.miri, tim.plunkett, rwohleb: Layout builder assumes all breadcrumb links are routable
  • #3203265 by hctom, quietone: Wrong/Missing variable type hint for $row property of MigrateProcessTestCase class
  • #3204353 by pragati_kanade, ravi.shankar, Chi, longwave: hook_link_alter() wrong example
  • #3205344 by alexpott: Calling system_requirements() can be expensive - do the cheap check first
  • #3202808 by andy-blum, mherchel: malformed twig in book-tree tremplate
  • #2958588 by cainaru, lauriii, DamienMcKenna, longwave, galactus86, bkosborne, pawandubey, clayfreeman, doublealpha, Blackstallion, tim.plunkett, justcaldwell, kpaxman, mark_fullmer: Off-canvas style resets are overriding styles (especially SVGs) resulting in display issues
  • #3201393 by Lendude, dww, imalabya, dawehner, anmolgoyal74, Abhijith S: Filter glossary view by status
  • #3205024 by longwave: Missing use statement in DrupalCoreDatabaseDrivermysqlConnection
  • #3106455 by hash6, Hardik_Patel_12, longwave, alexpott, xjm: Undefined variable used in /core/modules/system/tests/src/Functional/FileTransfer/TestFileTransfer.php
  • #3196699 by edysmp: Set the proper handler type names on EntityTypeInterface::getHandlerClasses documentation
  • #3192363 by anmolgoyal74, amateescu: Ensure that moderation can not be enabled for the 'workspace' entity type
  • #3008712 by phjou, s.abbott, msuthars, Sam152, chr.fritsch, phenaproxima: oEmbed URL resolution does not take multiple endpoints into account
  • #3204764 by longwave, mondrake: PHPUnit assertions do not return a value
  • #3034324 by BlacKICEUA, nanak: Incorrect PHPDoc comment for public function FormStateInterface::has($property)
  • #3201714 by jonathanshaw, ravi.shankar, longwave, catch, alexpott: EntityQuery accessCheck: data cleanup should never care about the current user
  • #3204389 by jonathanshaw, andypost: EntityQuery accessCheck: MediaRevisionAccessCheck::countDefaultLanguageRevisions should not check access
  • #3203596 by jonathanshaw, amateescu: EntityQuery accessCheck: workspacePublisher is wrongly access sensitive
  • #3047722 by jhodgdon, shetpooja04, mohrerao, anmolgoyal74, nitesh624, _m, ankithashetty, batigolix, gaurav.kapoor, daffie, shwetaneelsharma: Convert content_moderation, workflows module hook_help() to topic(s)
  • #2407187 by artem_sylchuk, longwave, Matroskeen, Berdir, Wim Leers, andypost, abramm: Optimize LibraryDependencyResolver::getMinimalRepresentativeSubset() and win >=4%
  • #3204138 by jonathanshaw, longwave: EntityQuery accessCheck: MenuLinkContentDeriver::getDerivativeDefinitions should not be access sensitive
  • #3169212 by int_ua, Matroskeen, anmolgoyal74, Krzysztof Domański, biblos, xjm, init90: Improve transliteration of Ukrainian letters
  • Revert "Issue #3199730 by mohit_aghera, Abhijith S, AJV009, Gauravmahlawat, shriaas2898, pameeela, roman-yrv, ranjith_kumar_k_u, Kumar Ashutosh, ilgnerfagundes: Views block description is double-escaped if display name is set"
  • #3199730 by mohit_aghera, Abhijith S, AJV009, Gauravmahlawat, shriaas2898, pameeela, roman-yrv, ranjith_kumar_k_u, Kumar Ashutosh, ilgnerfagundes: Views block description is double-escaped if display name is set
  • #3199999 by Matroskeen, quietone: Add documentation for language source plugins
  • #3067609 by quietone, alexpott, justafish, sheanhoxie, flocondetoile, heddn: Fix config schema for links and migration of link default values
  • #3203625 by jonathanshaw, guilhermevp: EntityQuery accessCheck: BlockContentUuidLookup should no be access sensitive
  • #3202915 by longwave, mondrake: Convert assertions involving use of xpath on textareas to WebAssert
  • #3202440 by jonathanshaw, longwave: EntityQuery accessCheck: field ui cardinality validation should not be access sensitive
  • #2917606 by init90, julia_schwarz, thomas.pischke.newscycle, amateescu: FieldStorageConfigStorage::loadByProperties() with passed 'entity_type' and 'field_name' as conditions doesn't return any result
  • #3203401 by jonathanshaw, longwave: EntityQuery accessCheck: LayoutBuilderEntityViewDisplayForm hasOverrides()
  • #3203366 by jonathanshaw: EntityQuery accessCheck: user_is_blocked() should not be access sensitive
  • #3202107 by jonathanshaw, longwave: EntityQuery accessCheck: _tracker_remove() updating should not be access sensitive
  • #3202040 by jonathanshaw: EntityQuery accessCheck: bundle delete forms should warn of content at risk regardless of access
  • #3196388 by Gábor Hojtsy, Pooja Ganjage, ranjith_kumar_k_u: Incorrect link for initiative responsibilities in MAINTAINERS.txt
  • #3198400 by mondrake, daffie, alexpott, longwave: Convert assertions involving use of xpath on input tags to WebAssert
  • #3201470 by jonathanshaw, catch, longwave: EntityQuery accessCheck: Cron functions should never check access
  • #3192260 by danflanagan8, longwave, jhodgdon, dww: [random test failure] Random fail in media_library CKEditorIntegrationTest
  • #3165784 by johnwebdev, boch, longwave, al.iv: LogicException: Cannot use UTF-8 route patterns without setting the "utf8" option for route
  • #3182653 by longwave, Eli-T, devad: PHPUnit 9.4.3 Fatal error: Trait 'ProphecyPhpUnitProphecyTrait' not found
  • #3200535 by quietone, danflanagan8: Test term parent ID in ContentEntityTest

New in Drupal 9.1.5 (Mar 4, 2021)

  • #3184650 by geek-merlin, quietone, benjifisher, alexpott: ContentEntity migration source adds revision ID as source key, incompatible with Drupal 8.8 and earlier
  • #3201113 by achap: PhpunitVersionDependentTestCompatibilityTrait has different cases
  • #2579361 by quietone, ayushmishra206, heddn, jibran, Wim Leers, Lendude, benjifisher, dww: Row->setSourceProperty() docs are misleading
  • #3174349 by quietone, itaran, dww, Kristen Pol: file_url_transform_relative() cannot handle URLs where the port is different from the site's request port
  • #3199582 by shriaas2898: hook_field_storage_config_update_forbid example uses access to protected member of implementing class
  • #3097312 by quietone, Wim Leers, raman.b, benjifisher: Never generate migration dependencies on derivatives of itself is a self_referencing migration_lookup
  • #3197754 by mohit_aghera, baliram.patil, ilgnerfagundes, Elin Yordanov, larowlan, anmolgoyal74, guilhermevp: "Add new Forum topic" button appears also in forum containers
  • #2533254 by chx, quietone, jhodgdon: LanguageInterface lacks @ingroup i18n
  • #3144010 by danflanagan8, ravi.shankar, tim.plunkett, chrisolof, sorlov: New pseudo-fields cannot be removed, InvalidArgumentException thrown
  • #3190140 by nmorin, mherchel, bnjmnm, andrewmacpherson: Collapsible nav button text should be more descriptive
  • #3197721 by Poppy_Norfolk, mherchel, rachel_norfolk: Preload the Metropolis-Regular typeface
  • #3196425 by andrewmacpherson, Gauravmahlawat, ranjith_kumar_k_u, mherchel, Lendude: Remove ::selection style from Olivero
  • #3196430 by Gauravmahlawat, ranjith_kumar_k_u, andrewmacpherson, longwave, maxstarkenburg, Lendude: Remove ::selection style from off-canvas dialog reset
  • #3116377 by justafish, ravi.shankar, idebr, komalk, sauravk, swatichouhan012, KondratievaS, kiran.kadam911, priyanka.sahni, lauriii, volkerk, Abhijith S, djsagar, ckrina, Indrajith KB, mmd: Autocomplete input in views exposed filters does not align with select and text inputs
  • #3196392 by Gábor Hojtsy, volkswagenchick: Topic maintainers lack a description in MAINTAINERS.txt
  • #3197749 by quietone, joachim: empty migrate source does not populate fields with constants
  • #3199205 by xjm, mcdruid: Update Archive_Tar to 1.4.13
  • #2623718 by attiks, vsujeetkumar, andypost, MerryHamster, ankithashetty, anmolgoyal74, pfrenssen, longwave, alexpott, borisson_: Fix 'Drupal.Commenting.HookComment' coding standard
  • #2470753 by ayushmishra206, wizonesolutions, Lendude, longwave: Views documentation for views_data is misleading
  • #3084477 by quietone, oknate, Spokje, benjifisher, alexpott: Bulk output entity count errors from migrate_drupal_ui tests
  • #3189587 by Matroskeen: Add documentation for taxonomy terms source plugins
  • #3182134 by chr.fritsch, alexpott, daniel.bosen: Resolve Olivero config differences after install
  • #3189607 by Spokje, longwave, Pooja Ganjage, anmolgoyal74: Convert assertions involving use of xpath on checkboxes to WebAssert
  • #3178966 by quietone, huzooka, ravi.shankar, Wim Leers: Fatal error in CommentEntityTranslation @MigrationSource when source site does not have comment or node module installed
  • #3187309 by longwave, Spokje, ayushmishra206, kleiton_rodrigues, adityasingh, mondrake: Convert assertions involving use of xpath on select and option elements to WebAssert
  • #3197135 by Shashwat Purav, ilgnerfagundes, le72: hook_validation_constraint_alter() example code
  • #2954982 by Matroskeen, abramm, Rob230: Incorrect bundle/bundle key handling in EntityContentBase::processStubRow()
  • #3128548 by anmolgoyal74, yonailo, sokru, joelpittet, daffie, johnwebdev, alexpott, mradcliffe, DuneBL, catch, xjm, mondrake: Add optional parameters to StatementInterface::fetchObject() to be in line with the PDO implementation of the method fetchObject()
  • #3176394 by huzooka, Wim Leers, quietone: Do not migrate comment related configurations if "comment" wasn't enabled on the source site
  • #3182711 by adamzimmermann, thejimbirch, mherchel, ranjith_kumar_k_u, chr.fritsch: Help block is placed into help region, but that doesn’t exist
  • #997826 by dww, Lendude, sukanya.ramakrishnan, amar.deokar, JonMcL, larowlan, jibran, idebr: #states doesn't work correctly with type text_format
  • #3187415 by Shashwat Purav, abhisekmazumdar, anmolgoyal74, Wim Leers, huzooka, quietone: Module settings translation migrations should depend on the default settings migration
  • #3196177 by Matroskeen, anmolgoyal74, quietone: Add documentation for variable source plugins
  • #3189476 by Wim Leers, ayushmishra206, ankithashetty, quietone: If d7_menu_links depends on d7_menu, then node_translation_menu_links should too
  • #3165944 by Wim Leers, anmolgoyal74, quietone: d7_shortcut migration should not have a dependency on d7_menu_links
  • #3196433 by ayushmishra206, erricha, quietone: Link to php.net datetime formats documentation incorrect in FieldDateTest.php
  • #2857444 by nedjo, jofitz, gaurav.kapoor, Wim Leers: Editor module fails to track usage of files embedded in non-core fields
  • #2693485 by juhog, paulocs, Gogowitsch, Hardik_Patel_12, YesCT, Mirroar, Lal_, ravi.shankar, abhisekmazumdar, tim.plunkett, longwave, esolitos, TravisCarden, lapek, jhuhta, adriancid, samiullah, adalbertov, cilefen, mohit1604, Abhijith S, John Cook, alexpott, dawehner, pameeela, larowlan, catch, leisurman: Content types are ordered by machine name on /node/add page (+ similar issues with other entities)
  • #3196391 by worldlinemine, Gábor Hojtsy, froboy, Pooja Ganjage, xjm: Inconsistent capitalisation for initiative leaders in MAINTAINERS.txt
  • #2558857 by heddn, andr1yun, grahl, andypost, catch, benjifisher, Berdir, joachim: Migrations invalidate entity caches when trying to reclaim memory, should flush
  • #3195277 by xjm, Gábor Hojtsy, quietone: Drupal 9 MAINTAINERS.txt talks about Drupal 8
  • #3195951 by thejimbirch, Pooja Ganjage, volkswagenchick, Gábor Hojtsy, ChrisDarke, xjm: Remove "Provisional membership: None at this time" texts from MAINTAINERS.txt
  • #3196050 by anmolgoyal74, Chi: Fix documentation of StorageConfigBase::validateValue()
  • #3192231 by larowlan, xjm, catch, Mixologic, kim.pepper: UnroutedUrlTest is failing on dev versions of PHP
  • #2571475 by mglaman, tstoeckler, tedbow, eiriksm, Jaesin, phenaproxima, alexpott: Outbound HTTP requests fail with KernelTestBase

New in Drupal 9.1.4 (Feb 4, 2021)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites. Learn more about Drupal 9.

New in Drupal 9.1.3 (Jan 21, 2021)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Critical - Third-party library - SA-CORE-2021-001

New in Drupal 9.1.2 (Jan 7, 2021)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.

New in Drupal 9.1.0 (Dec 3, 2020)

  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. Note that there may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backwards compatibility and experimental module policies.

New in Drupal 9.0.9 (Nov 26, 2020)

  • Drupal core - Critical - Third-party library - SA-CORE-2020-013

New in Drupal 9.1.0 RC1 (Nov 22, 2020)

  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. Note that there may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backwards compatibility and experimental module policies.

New in Drupal 9.0.8 (Nov 19, 2020)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Critical - Remote code execution - SA-CORE-2020-012
  • No other fixes are included.

New in Drupal 9.1.0 Alpha 1 (Oct 24, 2020)

  • Views exposed filter form changes:
  • Views exposed filters that involve multiple form elements are now wrapped in a fieldset. For example, this applies to numeric filters with a 'Between' operator, or any filter with an exposed operator. The filter label is now always visible, as the fieldset legend, and any included elements are nested inside.
  • This significantly improves the user interface for both sighted users and people using assistive technology. However, this means that the form structure of the exposed filter form is changed. Sites that implement hook_form_alter() to modify the exposed filter form may have to update that implementation to handle the changed form structure. See the change record on the Views exposed filter form for details.
  • SimpleTest stub module can no longer be installed
  • Prior to the release of Drupal 9.0.0, most SimpleTest functionality was replaced by a PHPUnit test suite, and the old SimpleTest module was moved into contrib for projects that had not yet upgraded their tests to PHPUnit. A stub module was left in Drupal 9 core to prevent fatal errors for sites upgrading from Drupal 8 that had for whatever reason left the module enabled. In Drupal 9.1, we've made it so that the core stub module can no longer be installed. If your site still has the SimpleTest module installed, you should uninstall it.
  • Dependency updates
  • Production dependencies
  • CKEditor has been updated from 4.14.1 to 4.15.0, which includes numerous bugfixes and improvements.
  • Most Symfony components have been updated from 4.4.9 to 4.4.15.
  • Two Symfony components have added new internal dependencies on symfony/http-client-contracts and symfony/polyfill-intl-normalizer, so both dependencies are now included in Drupal 9.1 installations.
  • A couple of unneeded polyfills for versions of PHP prior to 7.3 were unnecessarily included in the core-recommended template and the lockfile. These have now been removed.
  • composer/semver has been updated from 1.5.1 to 1.7.1. It may be updated to a newer major version prior to 9.1.0.
  • Many other top-level dependencies PHP have all been updated to the latest minor and patch versions for the major version in use.
  • PHPUnit 9:
  • Drupal 9 now uses PHPUnit 9 to run tests on PHP versions higher than PHP 7.3. This prepares Drupal core to support PHP 8 when it is released, but may require some small changes to tests in contributed or custom modules. See the change record about the PHPUnit 9 update for more details.
  • Other development dependencies:
  • symfony/mime and symfony/phpunit-bridge have all received patch-level updates to version 5.1.7. These updated versions resolve several issues with the Drupal test runner.
  • symfony/var-dumper is now a top-level development dependency and has been upgraded from 4.4 to 5.1.7. (Note that an older version of the dependency was previously installed indirectly as a requirement for symfony/error-handler.)
  • The EasyRDF development dependency has been updated from 0.9.0 to 1.0.0 for compatibility with PHP 7.4. See the change record on EasyRDF for more details.
  • The drupal/coder development dependency has been updated from 8.3.9 to 8.3.10, and it has added a new development dependency on sirbrillig/phpcs-variable-analysis.
  • The development composer/composer requirement has been updated from 1.10.8 to 1.10.15.
  • The postcss-preset-env development dependency has been added to replace usage of postcss-custom-properties for CSS post-processing in Claro.
  • All yarn development dependencies have been updated, including major version updates for chalk, chromedriver, cross-env, eslint, eslint-plugin-react-hooks, mkdirp, postcss, postcss-header, prettier, stylelint-config-standard, and terser.
  • Numerous other development dependencies have received patch- and minor-level version updates.
  • Changes to coding standards:
  • The following additional coding standards have been enabled in the core ruleset:
  • Drupal.Commenting.DocComment.TagsNotGrouped
  • Drupal.Semantics.FunctionT.ConcatString
  • Drupal.NamingConventions.ValidClassName
  • PSR2.Namespaces.UseDeclaration.UseAfterNamespace
  • Squiz.PHP.NonExecutableCode
  • Some parts of the Squiz.ControlStructures.SwitchDeclaration standard.

New in Drupal 9.0.7 (Oct 8, 2020)

  • Fixed:
  • Issue #3168301 by chr.fritsch, phenaproxima: oEmbed validator should use the urlResolver to get the resource URL
  • Issue #3174569 by paulocs: Fix English mistake in Connection.php
  • Issue #3110064 by idebr, chandrashekhar_srijan, Vidushi Mehta, ckng, benjifisher, mikelutz: Migrate empty, and link field
  • Issue #3173873 by shetpooja04: Unused variable $pos in SearchQuery.php, search module
  • Issue #3156949 by ytsurk, Berdir: Filename is not shown in the maximum allowed file size error message (w/o using the file_validate_size upload validator)
  • Issue #2904546 by mrweiner, vsujeetkumar, quietone, dev.patrick, MaskOta, msuthars, sarvjeetsingh, abhisekmazumdar, vacho, heddn, alexpott: admin/reports/upgrade redirect doesn't handle view arguments when enabled
  • Issue #3173976 by shetpooja04: Remove unused variable $file_path in ConfigTest.php, system module
  • Issue #3170020 by gabesullice, e0ipso, Wim Leers: The sunset of the API-first initiative
  • Issue #3173437 by anmolgoyal74: Repeative 'or' word in FieldOptionTranslation.php
  • Issue #3173435 by anmolgoyal74: Repeated 'not' word in PharExtensionInterceptor.php
  • Issue #3119254 by quietone, shaktik, douggreen, larowlan: [backport] Add taxonomy_term_reference_plain and taxonomy_term_reference_rss_category to TaxonomyTermReference
  • Issue #2586013 by g-brodiei, pameeela, ayushmishra206, Vidushi Mehta, willzyx, LoMo, larowlan, longwave, Lendude, catch: [backport] node_views_analyze() is never executed because it is in the wrong inc file
  • Issue #2949400 by ayushmishra206, chandrashekhar_srijan, bandanasharma, marvil07, AkashkumarOSL, quietone, mikelutz: MigrateProcessInterface documents ProcessPluginBase behaviour
  • Issue #3158262 by S_Bhandari: Remove Unused variable from Path Alias module
  • Issue #3098282 by quietone, raman.b, Vidushi Mehta, mikelutz, ankithashetty, alexpott, gapple, larowlan, xjm: SQL error if migration has too many ID fields
  • Issue #3152320 by bircher, nedjo, tstoeckler: ExtensionInstallStorage::createCollection() produces error
  • Issue #3143721 by quietone, raman.b, mikelutz: Create a separate SourceProviderTest
  • Issue #3171510 by quietone: Add documentation for default_bundle to destinationEntity
  • Issue #3173037 by bnjmnm: Prettier not run on Ckeditors imagecaption's plugin.es6.js
  • Issue #3172425 by mikelutz, catch: "SymfonyComponentLockFactory" is deprecated since Symfony 4.4 and will be removed in 5.0 use "SymfonyComponentLockLockFactory" instead
  • Issue #3156878 by alexpott, andypost: DrupalComponentDatetimeDateTimePlus should pass correct parameter types to checkdate()
  • Issue #3171743 by chr.fritsch, paulocs, Berdir, phenaproxima: Not possible to overwrite the upload forms for media library
  • Issue #2132773 by g-brodiei, [email protected], DevJoJodae, jonathanshaw, dawehner: Don't add term_access tag if SQL rewriting off
  • Issue #3171366 by bnjmnm: Comments from variables.pcss.css create nonuseful noise in compiled css
  • Issue #3165763 by quietone, mikelutz: Combine two tests to one in d7 MigrateFieldTest and MigrateFieldInstance
  • Issue #2678510 by larowlan, quietone, ankithashetty, samiullah, alexpott: Remove @todos from migrate credentials form
  • Issue #3166360 by lauriii: Disable csslint testing in core
  • Issue #2821352 by chr.fritsch, jian he, Pancho, RaphaelBriskie, jonathanshaw, alexpott, amateescu, larowlan: EntityReferenceAutocompleteWidget::getAutocreateBundle() unnecessarily requires the 'target_bundles' setting
  • Issue #3170246 by paulocs, longwave: NodeLoadMultipleTest.php should be a kernel test
  • by xjm: More coding standards fixes.
  • SA-CORE-2020-011 followup by xjm: Clean up coding standards in test.
  • Back to dev.
  • Merged 9.0.6.
  • Issue #3170648 by hussainweb: CKEditorPluginManager::getEnabledButtons throws warnings on PHP 8.0.0 beta3
  • Issue #2969551 by quietone, mikelutz, joachim, benjifisher, catch: Migrate messages from caught exceptions need file and line details
  • Issue #315176 by Dave Reid, andypost, franz, sun, Alan D.: Clean-up remains of $form['array_filter'] hack with array_filter in book module
  • Issue #3110839 by quietone, jungle: Use of DrupalCoreDatabaseInstallTasks::getFormOptions() in Drupalmigrate_drupal_uiFormCredentialForm::buildForm() results in confusing description for prefix form element
  • Issue #2822334 by jungle, mbovan, longwave, Kristen Pol, quietone: Unicode::mimeHeaderDecode() doesn't support lowercased encoding
  • Issue #3101045 by quietone, mikelutz, Stefan Kangas, NiklasBr: LanguageContentSettingsTaxonomyVocabulary source plugin should only add language column if it exists
  • Issue #3159101 by Wim Leers: SQLBase::mapjoinable still does not support SQLite
  • Issue #3156885 by andypost, Gábor Hojtsy: Change Drupalerror_testControllerErrorTestController::generateWarnings() to throw E_NOTICE error compatible with PHP 8
  • Issue #3122002 by clayfreeman, lauriii, alexpott: Remove dependency to localize.drupal.org on Nightwatch tests
  • Issue #3159849 by quietone, mikelutz: Add missing tests of filepath to FileTest

New in Drupal 9.0.6 (Sep 16, 2020)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Moderately critical - Cross-site scripting - SA-CORE-2020-007
  • Drupal core - Moderately critical - Access bypass - SA-CORE-2020-008
  • Drupal core - Critical - Cross-site scripting - SA-CORE-2020-009
  • Drupal core - Moderately critical - Cross-site scripting - SA-CORE-2020-010
  • Drupal core - Moderately critical - Information disclosure - SA-CORE-2020-011
  • No other fixes are included.

New in Drupal 9.0.5 (Sep 4, 2020)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.
  • This release provides hotfixes for two issues:
  • Yesterday, Symfony issued a security advisory for their symfony/http-client component, which is not used by Drupal. The Symfony release also updated some compatibility code in the symfony/http-kernel component.
  • Although Drupal is not affected by this vulnerability, some site owners reported automated security scanners flagging the http-kernel update as a security update, breaking continuous integration builds, etc. For simplicity, this release updates Drupal's metapackages to use the latest release of symfony/http-kernel (version 4.4.13).
  • A regression in Drupal 9.0.4 and 8.9.4 caused Paragraphs modal dialogs to not be displayed correctly due to a CSS change in core. The issue that introduced this change has been reverted (#3070375: Hidden buttons in off-canvas dialog are not being hidden) so Paragraphs should again work as expected.

New in Drupal 9.0.4 (Sep 2, 2020)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites.

New in Drupal 9.0.3 (Aug 5, 2020)

  • This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites

New in Drupal 9.0.2 (Jul 8, 2020)

  • Issue #2914785 by acbramley, jungle, Hardik_Patel_12, mrinalini9: Entities with external urls as a uri relationship can not be deleted when menu_link_content is installed
  • Issue #3149930 by Lendude, ravi.shankar, Bobík, dww, joaomachado, alexpott, lauriii: Views table settings exposes "Details" field even when empty
  • Issue #3152003 by Beakerboy, sanjayk, alexpott, daffie: EndOfTransactionQueriesTest does not include bootstrap.inc early enough for contrib database drivers
  • Issue #3027763 by quietone, LiamPower, pratik_kamble: UnroutedUrlAssembler removes query params array item key in buildExternalUrl()
  • Issue #3144046 by Matroskeen: Incorrect example of adding Cache metadata in hook_menu_local_tasks_alter()
  • Issue #3144354 by alexpott, vijaycs85, andypost: ModuleInstaller loads .module and .install before allowing classes to autoloaded
  • Issue #2834525 by alexpott, kim.pepper, jummonk, joshua.roberson, Ruuds: Permission denied caused by race condition during ensureDirectory should be silenced
  • Issue #3151520 by adityasingh, pavnish, daffie, alexpott: Replace the database query with an entity query in UserInstallTest
  • Issue #2120877 by quietone, BryanGullan, duellj, jibran, miro_dietiker, dags: Add tests for tracker module's Tools menu link
  • Issue #2898947 by rajandro, jungle, ankit.singh, AkashkumarOSL, Lal_, shimpy, Saurabh_sgh, markdorison, gnikolovski, jordanwood, librarylasso, Swapnil_Kotwal, mrinalini9, chiranjeeb2410, codersukanta, daffie, xjm, alexpott, mmjvb, mparker17, MaskyS, larowlan, quietone: Change "writeable" to "writable" in documentation
  • Issue #3145930 by bnjmnm, msuthars, nod_: Tableheader should recalculate on toolbar tray toggle
  • Issue #3154461 by Hardik_Patel_12: Removing getFormObject call from UserAccountFormFieldsTest
  • Issue #3151047 by quietone, jibran, larowlan, xjm, pameeela: Expand LinkWidget test coverage
  • Issue #3116147 by idebr, tim.plunkett: Remove @todo pertaining to RequestHelper::duplicate(), which has been removed
  • Issue #3138796 by jungle, mohrerao, sja112, kkalashnikov, xjm, ketikagrover: Fix the typos "cotrol" and make the one-line summaries containing it conform to standards)
  • Issue #3154611 by jungle, xjm, longwave: Update composer.lock for 9.0.x and 8.9.x based on Composer 1.10 availability
  • Issue #3146474 by shaktik, kiamlaluno: Remove Unused variable $next from AggregatorController.php file
  • Issue #3154533 by jperk224, jungle: Fix "Drupal" typos in core
  • Issue #3153869 by jungle: Remove leftover of wikimedia/composer-merge-plugin
  • Issue #3028621 by jungle, John Cook: BatchBuilder included files fails
  • Issue #2904467 by quietone, andyg5000: Plugins do not preserve integer keys when parsing annotations
  • Issue #3149799 by mxr576, jungle: BasicAuth::authenticate() does not respect the implemented interface
  • Issue #3154203 by jungle: Fix "appear" typos in core
  • Issue #3150731 by andypost, Beakerboy, kim.pepper: FileSystemModuleDiscoveryDataProviderTrait needs to use DIRECTORY_SEPARATOR
  • Issue #3138788 by jungle, sja112, xjm: Fix "autcomplete" typos in core
  • Issue #3138791 by jungle, sja112, xjm, mohrerao: Fix "bubbleable" relevant typos in core
  • Issue #3153722 by Hardik_Patel_12: Make $modules property protected on DuplicateContextualLinksTest, NoMultilingualReviewPageTest and MenuActiveTrail403Test
  • Issue #3143316 by Lendude, sunset_bill, daffie, xjm, facine: "Getting the base fields is not supported for entity type" exception in ViewsConfigUpdater
  • Issue #3150471 by durgeshs, joachim: incorrect constant in docs for DoTrustedCallbackTrait::doTrustedCallback()
  • Issue #3151091 by dww, rik-dev, alexpott: Replace use of whitelist/blacklist in DrupalComponentUtilityXss and its test and core/lib/Drupal/Core/Render/theme.api.php
  • Issue #3097540 by imganesh, boulaffasae, antoineh, sauravk, KondratievaS, atul4drupal, lauriii, Neetika K, Devipriya Rajamanickam: The 'M' of Machine name overlaps with the green border around text box
  • Issue #3133033 by munish.kumar, xjm, Hardik_Patel_12, daffie, swatichouhan012: Fix Drupal.Array.Array.LongLineDeclaration coding standard for instances of the drupalCreateUser() test method
  • Issue #3143482 by atul4drupal, nitvirus: Replace README.txt links that have a redirect with the preferred URL (including removing stale references to Drupal 8 docs)
  • Issue #3143196 by DevJoJodae, himanshu_sindhwani, nitvirus, alexpott, sykesjs, jungle: Change the download link in CHANGELOG.txt to Drupal 9
  • Issue #3144331 by mohrerao, longwave, daffie: Update comment in DrupalTestsRandomGeneratorTrait::randomStringValidate()
  • Issue #3135305 by longwave: Remove Symfony 4.1 compatibility layer from EmailConstraint
  • Issue #3072305 by jungle, andypost, thursday_bw, longwave, larowlan: Notice: Undefined index: #item in user_user_view_alter()
  • Back to dev.
  • Merged 9.0.1.
  • Issue #3139414 by cburschka, mohrerao, pavnish, jungle, ravi.shankar, daffie, mondrake, sja112: Replace usages of deprecated AssertLegacyTrait::assert(No)Link()
  • Issue #3150474 by jungle, munish.kumar: Inaccurate return type of DrupalviewsViews::getView()
  • Issue #3139402 by mondrake, sja112, xjm: Replace usages of AssertLegacyTrait::assertIdenticalObject(), which is deprecated
  • Issue #2673688 by himanshu_sindhwani, kkalashnikov, atul4drupal, Saurabh_sgh, walangitan, andypost, markdorison, Bunty Badgujar, xjm, catch: Remove remains of hook_field_schema()
  • Issue #3135077 by mondrake, sja112, daffie, longwave, xjm: Remove usage of AssertLegacyTrait::pass() from traits
  • Issue #2947588 by mrinalini9, borisson_, shaktik, andypost, daffie, joachim, Lendude: Refactor DrupalTestsviewsKernelModuleTest::testViewsGetHandler
  • Issue #3143173 by martin107, andypost, longwave: Followup: ProxyBuilder compatibility with Symfony 5 - needs to handle voids correctly
  • Issue #3150661 by cburschka: FileFieldRSSContentTest uses XPath incorrectly
  • Issue #3142752 by sja112, mondrake, xjm, longwave: AssertLegacyTrait::assert(No)Escaped() in functional tests still have a message passed in
  • Issue #3137430 by TR, jungle, alexpott: label_collection is defined twice in BlockContentType entity annotation
  • Issue #3139422 by sja112, jungle, akanksha-hp, mondrake, xjm: Replace usages of deprecated AssertLegacyTrait::assertOptionByText()
  • Issue #3139132 by Beakerboy, daffie: Query uses hardcoded LIMIT instead of queryRange()
  • Issue #3151087 by rik-dev, dww, alexpott, Matroskeen: Replace use of whitelist/blacklist in file_munge_filename() and its tests
  • Issue #2946750 by Sam152, merauluka, timmillwood, catch: Node revisions forced even if bundle not under moderation workflow
  • Issue #3020387 by Sam152, luisnicg, bahuma20, jungle: Moderation state is the same for all node's translations in edit page
  • Issue #3150990 by cburschka: Updater::install() crashes on file transfer exceptions
  • Issue #3023311 by bnjmnm, huzooka, kostyashupenko, boulaffasae, nod_, mrinalini9, codersukanta, lauriii, fhaeberle, ckrina, Peter Majmesku, andrewmacpherson, saschaeggi, antonellasevero, DyanneNova, thekishanraval: Modal dialog style update
  • Issue #3127918 by jungle, longwave: Add funding info in composer.lock
  • Issue #3016427 by sysosmaster, nod_, kkalashnikov, Neslee Canil Pinto, alexpott, quicksketch: Default timezone selection incorrect
  • Issue #3146567 by alexpott, pacproduct: Wrong key name in "Missing required key (base_theme)" exception message
  • Issue #3143604 by chr.fritsch, Taran2L, longwave, alexpott, dungahk: PhpUnitCompatibilityPhpUnit8ClassWriter cannot detect PHPUnit source directory when running PHPStan check

New in Drupal 9.0.1 (Jun 17, 2020)

  • Maintenance and security release of the Drupal 9 series.
  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Critical - Cross-Site Request Forgery - SA-CORE-2020-004
  • Drupal core - Critical - Arbitrary PHP code execution - SA-CORE-2020-005
  • Drupal core - Less critical - Access bypass - SA-CORE-2020-006
  • No other fixes are included.

New in Drupal 9.0.0 (Jun 4, 2020)

  • Drupal 9.0.0 has been released simultaneously with Drupal 8.9.0. Drupal 8.9 is a long-term support version that will be supported until November 2021, with no new feature development (whereas Drupal 9 development and support will continue beyond that date). Drupal 8.9 has most of the changes that Drupal 9 does, but retains backwards compatibility layers added through Drupal 8's release, and is a good choice to update to first if you have an existing Drupal site, to ensure maximum compatibility and the smallest necessary changes for the Drupal 9 update.
  • If you are starting a new Drupal 9 project, you have a choice between Drupal 8.9 and 9.0, and generally want to choose Drupal 9.0 for forward compatibility with later releases.
  • Regardless of which version you choose now, features will only be added to Drupal 9 minor releases, so plan to be on Drupal 9 this year so that you can easily update to Drupal 9.1 and later.

New in Drupal 8.8.6 (May 20, 2020)

  • Maintenance and security release of the Drupal 8 series.
  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Moderately critical - Third-party libraries - SA-CORE-2020-002

New in Drupal 8.8.5 (Apr 4, 2020)

  • 3120494 by longwave, jungle, alexpott: Bump minimist from ^1.2.0 to ^1.2.2
  • 3122605 by Beakerboy, daffie: EntityResourceTestBase.php uses a static query that should be dynamic
  • 3122742 by alexpott: Fix PHP 5 tests on 8.7.x
  • 3113992 by dww, tedbow, xjm, Meenakshi.g, benjifisher, kualee, tim.plunkett, webchick, AaronMcHale, ckrina, shaal, mandclu, klonos, lauriii, Gábor Hojtsy, worldlinemine, alexpott: The 'Update' page has no idea that some updates are incompatible
  • 3118087 by dww, JoshaHubbers, jungle, tedbow, RajabNatshah, Kingdutch, JonMcL, xjm, Nick Hope, wroehrig, wxman, broeker, mlozano7, kazajhodo, suit4, xmacinfo, BrightBold: If any extension has a missing or invalid version, Update manager throws errors and is confused about site update status
  • 3119373 by alexpott, BramDriesen: Configuration synchronisation that both enables & configures a module fails and drupal_flush_all_caches()
  • Merged 8.8.4.
  • 3066801 hotfix: Add hook_removed_post_updates()
  • 3103529 by alexpott, mcdruid, Chris Burge, greg.1.anderson, rfay, catch, anavarre, Gábor Hojtsy, jungle: Drupal 8.8.1+ and 9 can fail to install in the web browser due to cache pollution
  • Revert "Issue #3103529 by alexpott, mcdruid, Chris Burge, greg.1.anderson, rfay, anavarre, catch, Gábor Hojtsy: Drupal 8.8.1+ and 9 can fail to install in the web browser due to cache pollution"
  • 3094151 by mondrake, swatichouhan012, dhirendra.mishra, ravi.shankar, longwave, alexpott: ExpectDeprecationTrait is not compatible with PHPUnit 8
  • 3103529 by alexpott, mcdruid, Chris Burge, greg.1.anderson, rfay, anavarre, catch, Gábor Hojtsy: Drupal 8.8.1+ and 9 can fail to install in the web browser due to cache pollution
  • 3066801 by catch, WidgetsBurritos, alexpott, pobster, jungle, tedbow, tim.plunkett, xjm, dww, benjifisher, webchick, longwave, worldlinemine, Berdir, lauriii
  • 3119847 by jungle, dww: Fix typos in InfoParserUnitTest and UpdaterTest doc comments
  • 3105925 by kiamlaluno: The description of the arguments for FieldDefinition::setDisplayOptions() conflicts with what reported in FieldDefinitionInterface::getDisplayOptions()
  • 3119445 by kiamlaluno, Deepthi kumari: The documentation comment for BanIpManager::__construct() says it constructs the BanSubscriber
  • 3118581 by kiamlaluno: The documentation for Crypt::randomBytesBase64() is wrong about the output length
  • Revert "Issue #3103529 by mcdruid, alexpott, Chris Burge, greg.1.anderson, rfay, anavarre, Gábor Hojtsy: Drupal 8.8.1+ and 9 can fail to install in the web browser due to cache pollution"
  • 3103529 by mcdruid, alexpott, Chris Burge, greg.1.anderson, rfay, anavarre, Gábor Hojtsy: Drupal 8.8.1+ and 9 can fail to install in the web browser due to cache pollution
  • 2605904 by jmikii, swatichouhan012, kishor_kolekar, willzyx, vacho, Berdir, alexpott: Missing return statement in EntityManager::clearDisplayModeInfo()
  • 2917600 by tedbow, alexpott, catch, anthonyf, xjm, Alan D., andypost, Berdir, moshe weitzman: update_fix_compatibility() puts sites into unrecoverable state
  • 2865416 by owenpm3, swatichouhan012, neelam_wadhwani, cilefen: Root README.txt installation profile section links to D7 docs
  • 3056543 by plach, jungle, Berdir, catch, xjm, amateescu: taxonomy_post_update_make_taxonomy_term_revisionable() and the menu link content equivalent fail when entities have no default translation
  • 3118439 by kiamlaluno: PrivateKey::__construct() describes itself as "Constructs the token generator."
  • 3118958 by lauriii: Follow-up to #3102724: CSSLint failure
  • 3088081 by alexpott, dww, tedbow, xjm: Improve the error message if a nonsense constraint is used in core_version_requirement
  • 3117188 by dww, Gábor Hojtsy: Change @todo comment in core/modules/update/src/ProjectSecurityData.php to point to a better issue
  • 3115624 by martijn.cuppens, jungle, JeroenT, greg.1.anderson, Mile23: Scaffolding: Only add root files to gitignore
  • 3003401 by Sam152: UpdatePathTestBase calls setDatabaseDumpFiles twice, resulting in duplicate fixtures in some scenarios
  • 3118454 by catch, andypost, xjm, Gábor Hojtsy, mradcliffe, mondrake: DrupalKernelTestsCoreDatabaseSelectTest fails on postgres 10
  • 3052318 by AndyF, mikelutz, andypost, jungle, catch, AbdeI, mr_fenix, crifi, plach, xjm, vuil, amateescu, jedgar1mx, John_B, waverate, alexpott, owenbush, azovsky: Update from 8.6 to 8.7 fails due to corrupt menu_link_content or taxonomy_term entity data
  • 3118186 by swatichouhan012: Incorrect link for deprecated randomBytes() method description in utility component

New in Drupal 9.0.0 Beta 2 (Mar 31, 2020)

  • Update Symfony to 4.4.7
  • Bump minimist from ^1.2.0 to ^1.2.2
  • Documentation follow-up fixes for hook_update_last_removed() from #3098475
  • Fix PHP 5 tests on 8.7.x
  • The 'Update' page has no idea that some updates are incompatible
  • Replace ZendFramework/* dependencies with their Laminas equivalents
  • Remove Stable as a base theme of core themes
  • Make DrupalCoreDatabaseQueryCondition driver overridable
  • Convert datetime, datetime_range, field, field_ui, link, options, telephone, text modules hook_help() to topic(s)
  • Convert automated_cron, ban, dblog, syslog, system, update, and user module hook_help() to topic(s)
  • Hotfix cruft from alpha experimental module removal

New in Drupal 9.0.0 Beta 1 (Mar 21, 2020)

  • Bug fixes

New in Drupal 8.8.4 (Mar 19, 2020)

  • Drupal core - Moderately critical - Third-party libraries - SA-CORE-2020-001

New in Drupal 9.0.0 Alpha 2 (Mar 5, 2020)

  • Important changes since 9.0.0-alpha1:
  • Read the Drupal 9.0.0-alpha1 release notes for various important information about the new major release.
  • In this alpha release all previously deprecated APIs have been removed. This means that 9.0.0-alpha2 has essentially the same backend API that 9.0.0 will, so module developers and site owners can confidently test their modules with 9.0.0-alpha2.
  • Core themes were updated to remove their dependency on the Classy theme. In this alpha release, they instead create copies of libraries, templates, and theme code inherited from Classy. They will also be decoupled from Stable prior to beta1.
  • Numerous backend (Composer) dependencies have received minor- and patch-level updates to the latest versions.
  • The Popper.js library has been updated to version 2.0.6. This migration guide is available for anyone that needs to convert their Popper.js 1.x compatible code to 2.x.
  • Various further frontend development dependencies in packages.json were updated.
  • Drupal core's testing dependency has been updated to PHPUnit 8 and support for earlier PHPUnit versions has been removed (since Drupal 9 requires PHP 7.3 or higher).
  • The Place Blocks module has been removed from core. See the change record for replacement suggestions.
  • The SimpleTest module has been moved to contrib. Automated test should be written and run using PHPUnit; however, modules that still have legacy SimpleTest tests can customize their drupalci.yml to run those tests while upgrading to Drupal 9.
  • To allow modules to be compatible with Drupal 8 and 9 at the same time and to support semantic versioning for contributed projects, the Update Manager module now requests an alternative XML feed from updates.drupal.org. The path for the new feed ends in /current rather than /8.x. The new feed will include both module releases with version numbers starting with 8.x- (e.g. 8.x-3.1) and all releases that use the new semantic version numbering.
  • Site owners will not need to make any changes for this change but may notice changes to update pages and contributed project version schemes. For developers, the differences between the new and old XML feeds the differences are detailed in this documentation page.

New in Drupal 9.0.0 Alpha 1 (Feb 12, 2020)

  • This is an alpha release for the next major version of Drupal. Drupal 9 alpha releases are intended for site owners and module or theme authors to begin testing whether their sites and code are compatible with significant dependency changes in Drupal 9.0.x. Drupal 9 alpha releases should not be used in production. No upgrade path is provided between Drupal 9 alpha releases or to Drupal 9.0.0-beta1.

New in Drupal 8.8.2 (Feb 2, 2020)

  • Important bug fixes:
  • A workspaces update has been refactored in order to avoid conflicts with contributed module updates: #3099986: Move part of workspaces_post_update_move_association_data() to a hook_update_N
  • All changes since 8.8.1:
  • 3059934 by cilefen: Remove cilefen as Drupal 8 core maintainer
  • 3108025 by Beakerboy, alexpott, daffie, bohart: Function testNumericExpressionSubstitution uses non-standard SQL
  • 3087606 by jhedstrom, kim.pepper, jonathan1055, partdigital, larowlan, acbramley, Berdir, yunke: Datetime::getInfo() caches user's timezone causing unpredictable timestamps
  • 3108287 by Beakerboy, daffie: Remove, or mark as core only: testPrimaryKeyUpdate()
  • 3108021 by alexpott, lauriii: Set $defaultTheme for install profiles using configuration install
  • 3109433 by alexpott, Berdir: Set install profile correctly in the 8.8 database dumps
  • 2893804 by Wim Leers, Stefdewa, Berdir, catch: fix deprecation notices in REST bc layers
  • 3098521 by Gnanagowthaman sankar, mandclu, penyaskito: drupal_installation_attempted() deprecation referencing wrong change record
  • 3015699 by alexpott, longwave, johndevman, Berdir: Properly deprecate MENU_MAX_MENU_NAME_LENGTH_UI
  • 3101130 by Krzysztof Domanski, DukeandGrace: ConfigEntityQueryTest::testCaseSensitivity can randomly fail
  • 2937782 by quietone, jofitz, yo30, heddn, Wim Leers, catch: Create trait for getDefinitionFromEntity
  • Revert "Issue #2937782 by quietone, jofitz, yo30, heddn, Wim Leers, catch: Create trait for getDefinitionFromEntity"
  • 3103976 by Daniel Korte, Lendude: Fix misspellings in Twig comments
  • 3094304 by tedbow, bnjmnm, dww: Create tests that cover contrib non-full releases and contrib patch versions
  • 3064523 by andypost, Kartagis, Sutharsan: Add t() context to "Order" string for views module
  • 3105288 by Hardik_Patel_12, snehalgaikwad: Expected type hint "WorkflowInterface"; found "WorkflowTypeInterface"
  • 3100611 by amateescu, lauriii, dixon_, shaal, vijaycs85, huzooka: Improve the Workspaces toolbar UI for desktop and mobile
  • 3100066 by oknate, Wim Leers, alisonjo315: "Convert line breaks into HTML" filter should exclude tag
  • 3058853 by hubaishan, jhmnieuwenhuis, x0r1x, daffie, xekon, andypost, qdelance, lamigo, jmonkfish: Drupal 8.x on Postgresql 12
  • 3106654 by kiamlaluno: hook_toolbar() documentation still makes reference to toolbar_pre_render()
  • 3092408 by ravi.shankar, govind.maloo, Chi, alexpott: Fix broken references in Field UI module
  • 3094913 by alexpott, AkashkumarOSL, neel24, Hardik_Patel_12, joelpittet, joachim, Berdir, agrochal: EntityForm's use of magic setter/getter breaks any subclasses that don't declare a property
  • 3086850 by MasterBranch, ravi.shankar, joachim, hchonov, kiwimind, mglaman, jhedstrom: "Cannot load a NULL ID" assertion in EntityStorageBase should say the entity type
  • 3096566 by huzooka, aleevas, Dinesh18, ravi.shankar, phenaproxima, lauriii: Copy media library styles from Seven to Claro
  • 2969262 by bkosborne, FeyP, BlacKICEUA, dawehner, joelpittet: PHP 7.2: Warning: count(): Parameter must be an array or an object that implements Countable n DrupalviewsPluginviewsargument_validatorEntity->validateEntity()
  • 3096831 by hash6, sd9121, lauriii, huzooka: Fix default link button styles
  • 3100470 by phenaproxima, oknate, Meenakshi.g, Wim Leers, bnjmnm: EditorMediaDialog triggers an "undefined index" notice for data-view-mode
  • 3027998 by robpowell, jofitz, codekarate, heddn: Default Value Migration Process plugin produces unexpected behavior when updating list field from D7 to D8
  • 3079330 by Berdir: LocaleConfigSubscriberTest has many assertions that don't run
  • 3099364 by wells, Dinesh18, Sam152, Berdir: Content Moderation requirements check relies on Views UI module
  • 3073261 by oknate, phenaproxima, Wim Leers: Improve CKEditorTestTrait
  • 3101818 by eiriksm, ravi.shankar, longwave: Allow other loggers than core loggers to FieldDiscovery.php
  • 3104420 by peterkokot, mondrake: PHP 7.4 Deprecated curly brace syntax for accessing array elements
  • 2903831 by quicksketch, acbramley, Lendude, longwave, Mirroar, jibran: Views attachments missing for some display machine names
  • 3098707 by blazey: Add purgeDeletedWorkspacesBatch to the WorkspaceManagerInterface
  • 2851204 by swarad07, fotuzlab, Sahana _N, prash_98, anoopjohn, ravi.shankar, jungle, rahul.gore, cilefen, xjm, alexpott, jericho711: #size for Select field documentation is wrong
  • 3104421 by peterkokot: PHP 7.4 deprecated reverse order of glue and pieces in implode
  • 3098244 by longwave, Madhura BK, Krzysztof Domanski: Rename SafeMarkupKernelTest to FormattableMarkupKernelTest
  • 3102903 by mondrake: MigrateExecutableMemoryExceededTest has mismatched argument type mock expectations (and fails in PHPUnit8)
  • 3087486 by AkashkumarOSL, kim.pepper, catch: Update docs in PagerManagerInterface
  • 3065166 by mondrake: Modernize DrupalKernelTestsCoreDatabaseConnectionUnitTest
  • 3103913 followup by Lendude, mondrake, catch, xjm: hotfix for test failures on PHP 7.0
  • 3099971 by huzooka: Hard-coded uri string in WorkflowListBuilder breaks if Drupal is installed in (webroot) subfolder
  • 3100141 by shimpy, andrewmacpherson: Update handbook page link on cron settings form
  • 3103913 by Lendude, mondrake: ViewExecutableTest::testAddHandler and ::testAddHandlerWithEntityField are misusing the mock expectation
  • 3096241 by huzooka, Vinodhini.E: Refactor image and file field widgets to improve contrib compatibility and to make their templates and preprocess functions DRY
  • 3100190 by quietone: Change ValidateMigrationStateTestTrait to only test one version
  • 2620854 by leolando.tan, idebr, hussainweb, anya_m, jhodgdon, alexpott, Jeff Burnz: links.html.twig docs are out of date
  • 2936105 by SerShevchyk, voleger, RoSk0, Charlie ChX Negyesi: Deprecate DRUPAL_PHP_FUNCTION_PATTERN and replace its usages
  • 3102899 by mondrake: ViewExecutableTest uses a mocked argument callback wrongly (and fails in PHPUnit8)
  • 3101787 by lauriii: Follow-up to #2849628: Copy change to Views UI module
  • 3102329 by Deepthi kumari, huzooka: Remove transition from CKEditor border-color
  • 3097327 by Wim Leers, quietone, Meenakshi.g: d7_node_title_label migration plugin incorrectly generating base_field_override for every node type, even those that don't have an overridden title label
  • 2946889 by Wim Leers, jfussion, quietone, jofitz, heddn: Missing migration filters that are replaced with filter_null may have invalid settings applied
  • 3096969 by quietone, gabesullice, Wim Leers, mikelutz: migrate_drupal's Variable source plugin always returns a row for processing, even if none of the variables for a migration are set on the source site
  • 3095195 by jofitz, Wim Leers, heddn: Drupal 7 date fields configured to not collect the hour/minute/second granularities can have "00" MM or DD attributes
  • 3095146 by Wim Leers, heddn: Drupal 7 date fields configured to not collect the hour/minute/second granularities can have a different "settings" structure than the migration assumes
  • 3101556 by lauriii, phenaproxima: Invalid .eslintrc.json file in the scaffold fixtures
  • 3100496 by amateescu, Donnyboypony, alexpott, Berdir, daffie, PapaGrande: Workspaces should only alter non-deprecated path_alias services
  • 3101720 by larowlan: HEAD broken on - updates required for prophecy 1.10.0
  • Merged 8.8.1.
  • 2882031 by Lendude, acbramley, RobLoach: Undefined index: identifier in view's DisplayPluginBase->isIdentifierUnique()
  • 2930283 by Krzysztof Domanski, geek.merlin aka axel.rutz, hiten2112, dagmar, plach, alexpott, dawehner: Error backtrace malformatted
  • 3018148 by Lendude, tstoeckler: Views bulk forms perform redirects to the confirmation page even if it is not allowed for the user
  • 3096811 by gease, Meenakshi.g, hchonov: Reusing initialized constraint validators overwrittes validation errors
  • 3099986 by alexpott, amateescu: Move part of workspaces_post_update_move_association_data() to a hook_update_N
  • 3092714 by alexpott, hchonov, Berdir, gease: Config entity updater misbehaves when updating multiple entity types
  • 3087061 by quietone, larowlan, Lendude: Move existing assertions of IdConflict page to new test files
  • 3043467 by AaronMcHale, mgbauman, bkosborne, lauriii: Multi-select list items "escape" bounding box in Off-Canvas Forms when using WebKit and Mozilla based browsers
  • 3098922 by AkashkumarOSL, benjifisher, reinchek, shubham.prakash: Code comment says "reusable" instead of "not reusable"
  • 3086238 follow-up by quietone: getHighestId() should not fail when there is a destination id with type string
  • 3086238 by quietone, alexpott, heddn, larowlan, benjifisher, dinarcon: getHighestId() should not fail when there is a destination id with type string
  • 3096609 by alexpott, Berdir: Allow contrib test modules to not need a core or core_version_requirement key
  • 3097765 by Krzysztof Domanski, 2pha, Lendude, alexpott: Numerical machine names create problems in view filters
  • 3009854 by Berdir, Wim Leers, Mile23, alexpott, andypost, tedbow, damiankloip: Fix "The "serializer.normalizer.file_entity.hal" normalizer service is deprecated: it is obsolete, it only remains available for backwards compatibility." deprecation error
  • 3100071 by ravi.shankar, benjifisher, dww: Several code comments refer to DrupalUpdate instead of Drupalupdate
  • 3099441 by pjudge, peterwcm, Spokje: Missing hash in attributes key in Seven (another one)
  • 3098814 by alexpott, TrevorBradley, xjm, Krzysztof Domanski, longwave: Class 'DrupalCoreControllerArgumentResolverRawParameterValueResolver' not found during update to 8.8.0
  • 3093752 by bbrala, Wim Leers: Call to JSON:API test helper method passes an argument that no longer exists
  • 2956722 by dww, Prashant.c, vakulrai, imen ch: Exposed sort label is double-escaping special characters (apostrophe)
  • 3093089 by jhodgdon, Amber Himes Matz: Minor improvements to block topics
  • 3005403 by alexpott, Lennard Westerveld, rensingh99, lauriii, xjm: Cannot delete or edit a block that is placed in a section of the layout_builder
  • 3090904 by amateescu, dixon_, breakfull, lauriii, jhuhta, StevenAvelino, shaal, ChrisDarke, realityloop, Michael.J.Gleeson, vints24, martamarczak: Workspace drawer CSS fix for better consistency

New in Drupal 8.8.0 (Dec 5, 2019)

  • Changes to path aliases and a critical note for sites using the Pathauto contributed module:
  • If you have the contributed Pathauto module enabled, you must update to the latest version of Pathauto before you update to Drupal 8.8.0. Failure to update Pathauto before updating core could result in data loss. Drupal 8.8.0 declares a conflict with Pathauto 8.x-1.5 or lower for this reason.
  • The Path Alias core subsystem has been moved to the path_alias module. An upgrade path is provided from Drupal 8.7 for this change.
  • Custom URL aliases are now provided by a new revisionable and publishable path_alias content entity type. Path alias services have been kept in place for backwards compatibility, and path alias hooks have been deprecated.
  • As part of the change to path aliases, path alias administration forms have been converted to generic entity forms. This means form IDs and form class names have changed, so custom code needs to be updated for any hook_form_alter() or hook_form_FORM_ID_alter() implementations that were using the previous form IDs. Additionally, some path routes have been deprecated and replaced by generic entity route.
  • Updating Drupal is no longer supported for sites on PHP 5.5 or 5.6:
  • PHP 5.5 and 5.6 support was officially removed in 8.7, but Drupal still allowed sites to apply security updates on those PHP 5 versions. Drupal 8.8.0 ends that support and updates will now fail if servers are not updated to at least PHP 7.0.8.
  • New info file key for Drupal 9 and semantic versioning compatibility:
  • A new core_version_requirement has been added to info.yml files. This key replaces the core key for projects that only support Drupal 8.8 onward (including Drupal 9). It can be used in addition to the core key for projects that want to both specify compatibility with Drupal 9 and remain compatible with Drupal 8.7.6 and earlier.
  • New browser support policy:
  • Drupal core's browser support has been updated and support for some uncommon older browser versions has been removed.
  • Deprecated core modules:
  • The SimpleTest module (labeled Testing in the Drupal core user interface) has been deprecated in Drupal core. Developers are encouraged to run tests via run-tests.sh or the PHPUnit CLI, or to use the SimpleTest contributed module in Drupal 9.
  • Note that the final decision to deprecate SimpleTest still has some dependencies on the in-progress Drupal 9 issue, so exact details of the deprecation may be revised.
  • The Place Blocks module (already hidden in previous releases of Drupal core) has been deprecated and will be removed in Drupal 9.0.0.
  • Changes to JavaScript dependencies and new JavaScript deprecations
  • *.libraries.yml files now support marking asset libraries as deprecated, and tests that use deprecated libraries will now fail unless they are marked as @group legacy. Read more in the Drupal deprecation policy for libraries.
  • Numerous dependency libraries provided by core are deprecated in 8.8.0 and removed in Drupal 9.0.0. These libraries are listed below.
  • jQuery UI is end-of-life, so most jQuery UI libraries are being deprecated in 8.8 for removal in 9.0.x. The deprecated libraries have been made available as contributed projects so that modules and themes that depend on them can upgrade easily to Drupal 9, but where possible, it is recommended to find a replacement for the unsupported libraries. See the change record on the deprecated jQuery UI libraries and their replacement modules for more information.
  • The jQueryUI Datepicker library has been deprecated. Browsers that support native datepickers are unaffected; browsers that do not will instead provide text inputs to enter dates starting in Drupal 9. More information can be found in the change record on Datepicker.
  • The CKEditor, Layout Builder, and Media Library modules previously depended on the jQuery UI Sortable asset library. Since jQuery UI is end-of-life, we've removed the dependency on jQuery UI sortable and added a dependency on the SortableJS library instead. It is recommended that any modules or themes that use jQuery UI sortable also update their code to use SortableJS. Modules extending CKEditor, Media Library, or Layout Builder may also require small changes.
  • The Paragraphs contributed project uses an older version of Sortable for its experimental widget. There is a chance that this could lead to version conflicts when both the Paragraphs experimental widget and the core library are used on the same page (for example, on a form with the Media Library). If you notice JavaScript issues when using the Paragraphs experimental widget in 8.8, report them in the Paragraphs issue queue.
  • The Quick Edit module previously depended on the jQuery UI Position asset library. While jQuery UI Position cannot yet be deprecated because it is required by other jQuery UI libraries still used by core, Quick Edit in Drupal 8.8 removes the dependency on jQuery UI position and adds a dependency on the Popper.js library instead. Any modules or themes that use jQuery UI position should also update their code to use Popper.js. Any module extending Quick Edit may also require small changes. Read the Popper.js added to Drupal core to replace jQuery UI Position for more information.
  • The following browser support polyfill libraries are deprecated in Drupal 8.8.0 because they are no longer required by any of the browsers supported by Drupal core:
  • html5shiv
  • matchMedia
  • classList
  • domready (Replaced by a single simple function that will now work in all supported browsers. See domready is deprecated for more information.)
  • If you require support for older browsers, contributed projects are also available to provide the html5shiv and matchMedia libraries in Drupal 9.
  • An official deprecation policy has been established for JavaScript, with an @deprecated JSDoc tag similar to the tag used for PHP deprecations. JavaScript code can now also trigger deprecation errors using newly added APIs (Drupal.deprecationError and Drupal.deprecatedProperty). JavaScript deprecation errors are exposed using console.warn. By default, JavaScript deprecation errors are suppressed. Read more in the Drupal deprecation policy for JavaScript.
  • Testing system changes:
  • DrupalsimpletestTestBase and its descendants, including WebTestBase, are deprecated. Contributed and custom module tests should be converted to PHPUnit-based tests in preparation for Drupal 9.0.0. See the handbook page on converting SimpleTests to PHPUnit tests for more information.
  • Tests using the testing install profile (which is the default) are now required to specify which theme they're testing. The same is true for tests using any other install profile that does not specify a default theme (i.e. that does not come with system.theme config with a value for the default key). Read more in the change record for deprecating the use of Classy as the default for the testing profile.
  • Previously DrupalKernelTestsKernelTestBase always made one assertion that would hide tests that did not perform any assertions themselves. KernelTestBase will now no longer perform one assertion by default, which means that kernel tests that don't perform any assertions will now be marked as risky and will fail on DrupalCI.
  • New stable core module: Media Library:
  • Media Library provides content editors and site builders an interface to visually browse and manage media in their sites. It also provides an intuitive modal dialog for reusing media in entity reference fields and text editors. Users with appropriate access can also add new media from directly within the library.
  • This module was introduced as an experimental core module in Drupal 8.6.0, but is now stable and ready for production use! For sites using the experimental module prior to 8.8.0 there are some important changes:
  • The Media Library view is now integrated with Content Moderation. The view will only list unpublished media items to users that have explicit permission to access them. This is accomplished via the addition of a Media-specific "Published status or admin user" filter, which is also available to any views displaying media entities. Note that this may result in unpublished media entities no longer being visible to users that do not have permission to access them. Their permissions should be adjusted if they continue to need access. Read Changes to Media Library's default view in order to respect published/unpublished access permissions for more information.
  • Changes have been made to the Media list (table) and Media Library (grid) default views for better consistency and to better support multilingual sites. The media overview page now defaults to a table view and is filterable by language. The 'widget' view, which gets invoked from a media field or a WYSIWYG's media embed button, now displays in the current user's interface language, falling back to the site's default language if this is unavailable. These changes may affect modules that alter or add to the Media Library view, and will cause the view to return different results than before. See the change record for more details on the updates to the default Media Library views.
  • In Drupal 8.6 and 8.7, Media Library would take over the /admin/content/media path when installed, changing the original administrative table view's path to /admin/content/media-table and replacing the content at /admin/content/media with the Media Library grid view. This could lead to data loss if the site had customized the default table view before installing Media Library.
  • In 8.8, the /admin/content/media path has been restored to show the table view, as it does without Media Library installed, and user's customizations will not be overwritten. Sites that installed Media Library in 8.6 or 8.7 and left the listing at /admin/content/media-table will now have that table restored to its original location at /admin/content/media, with the grid at /admin/content/media-grid. This fix might break hardcoded links to either view, or require changes to any modules that further customize them.
  • The same change record on the updates to the default Media Library views listed above has more detail.
  • In Drupal 8.7, the Media Library provided two save buttons to users: "Save and select" (which returns the user to the Media Library to select more items, for bulk uploads) and "Save and insert" (which would close the library immediately insert the selected items in the field or text editor). This proved confusing to users. In 8.8, by default there is now simply a "Save" button that returns the user to the library. The previous workflow is still available as an optional advanced configuration and can be enabled in a new settings page under Configuration / Media / Media Library settings.
  • By default, image media items from media fields and in the WYSIWYG editor will now use the ‘large’ image style that ships with the image module. Before this change, media images used the ‘Full’ display, which by default rendered the original image.
  • All of Media Library's styling and associated CSS classes were moved into Classy and Seven. Classy provides a very minimal amount of basic layout for the media library; Seven provides a more complete experience. If you are not using Seven to display the media library, you may need to add code to your theme to ensure that the moved CSS classes are applied to the media library in the correct places. See Media Library exposes templates for theming and Media Library no longer applies presentational CSS classes by default for more information, and refer to core/themes/seven/seven.theme for examples of how to apply the required CSS classes in your theme.
  • The "add" forms provided by the Media Library module now have two different form IDs. Previously, both shared the same form ID (media_library_add_form). This is now their shared base form ID. Their individual form IDs are now media_library_add_form_upload and media_library_add_form_oembed. Any code altering either of these forms will require updates, and any custom form extending Drupalmedia_libraryFormAddFormBase will need to be changed as well. See Media Library's AddFormBase now requires subclasses to provide a form ID for more information.
  • The media library's administrative grid interface is no longer exposed at /admin/content/media. That path now shows the administrative table listing of media items, as it does without Media Library installed. The grid interface is linked from there, and exposed at /admin/content/media-grid. An update path for this is provided; no further action is needed from existing sites.
  • JSON:API changes:
  • In earlier releases, applications that altered user display names programmatically in PHP and also updated user entities via JSON:API were at risk of overwriting user names. JSON:API now serializes a user's display name under a read-only display_name attribute field, and the name field now contains the raw, unaltered user name in place of the altered display name. JSON:API applications that require the display name should be updated to use the display_name attribute field.
  • JSON:API omission links are now keyed using a double-dash-separated syntax instead of a colon-separated syntax in order to be brought into compliance with the JSON:API specification on allowed member names. This may require changes to client applications that are parsing document omission links. See the change record on the change to object omission link serialization for an example.
  • This release contains a security hardening feature to better support sites using the JSON:API module. Modules may now indicate that certain resources and fields representing their entity data should never be available over JSON:API. This can be implemented in a custom module for a specific site, or by a module that supplies an entity type. It is recommended to implement this API for any entity data that should never be exposed over JSON:API. See the JSON:API security considerations handbook page for more information on securing your site with JSON:API.
  • JSON:API now provides HTTP error codes as strings instead of integers in order to comply with the specification. If your client application relies on an integer data type for an HTTP error code, it may need to be updated.
  • Views changes:
  • Views now adds a ENTITY_TYPE_ID_access query tag to all its queries by default. This means that any implementations of hook_query_TAG_alter(), where TAG is of the pattern ENTITY_TYPE_ID_access -- for example, user_access if user accounts are being queried -- will now run on views queries as well. Modules implementing such hooks should ensure that this change does not result in unwanted side effects.
  • Validation for allowed characters in Views filter identifiers was more lenient than intended. If any of your views currently uses a character in the identifier that is other than letters, digits, the dot (.), hyphen (-), underscore (_), or tilde (~), you will need to reconfigure the exposed filters without them.
  • Configuration system changes:
  • Code that exports configuration should use the new read-only configuration export storage config.storage.export instead of exporting configuration directly from the active storage. Exporting directly from the active storage will lead to unexpected behavior when using features that use the new configuration transformation API.
  • Previously, modules could make changes to configuration a profile is overriding during their install. This has changed in 8.8 and profile configuration overrides are now installed at the end of an installation. Any profiles that previously modified their configuration during installation must update their configuration so that it contains the final configuration that is desired at the end of installation.
  • Other important update information:
  • The security fixes required for SA-CORE-2018-002 and SA-CORE-2018-004 as well as publicly disclosed security issues all indicate that the render system needs to be stricter about what may be called by a callback. If you have code that adds a render callback (#access_callback, #lazy_builder, #pre_render or #post_render), it might need to be updated to work in Drupal 9. Read more in the change record for limitations on what can be called by a callback in render arrays.
  • New revisions are created every time an entity or revision is updated, if that entity is being moderated with content moderation. Previously there was no way to opt out of this. By using SynchronizableInterface, users can now mark an entity as 'syncing' to indicate changes are being made to the entity that do not reflect a typical content/editorial field based change and thus should not be subject to the entity lifecycle rules content moderation enforces. If you are using SynchronizableInterface in custom code for content entities and also depend on Content Moderation forcing the creation of new revisions, you may need to update your code to manually call $entity->setNewRevision(TRUE).
  • In Drupal 8, if a theme does not specify a base theme, Stable is used automatically. Starting with Drupal 9, a new stable base theme will be added to each major version with the latest markup provided by modules, and the old stable base theme will be deprecated. To facilitate this and avoid unintended regressions, the automatic base theme fallback is now deprecated and the base theme property will be required starting with Drupal 9.0.0. To remain compatible with Drupal 9, themes that use Stable as their base theme should now explicitly add a base theme to their info files. See the change record on requiring the base theme property for examples.
  • SimpleAnnotationReader, which has been dropped from the master branch of Doctrine Annotations, has been forked into Drupal core to maintain the same functionality. This prepares Drupal core for a future update to the Doctrine library. Contributed modules should not be relying on this library directly, but if some application does use SimpleAnnotationReader directly, it should update to use Drupal's forked copy of the API in order to remain forward-compatible.
  • The temporary file path is now a setting in settings.php, and is no longer stored in configuration. If your site is not using /tmp, you must update settings.php before running database updates:
  • $settings['file_temp_path'] = '/path/to/your/temporary/folder';

New in Drupal 8.7.10 (Nov 14, 2019)

  • This is a patch release of Drupal 8 and is ready for use on production sites.

New in Drupal 8.8.0 Beta 1 (Nov 9, 2019)

  • All changes since 8.8.0-alpha1:
  • 3084493 by catch, Lendude, dww, tedbow, Mile23, xjm: Fully deprecate and prepare for removal of SimpleTest module
  • 3093257 by Berdir, alexpott, mikelutz: Install path_alias by default in kernel tests to minimize the impact on contrib tests between alpha and beta
  • Issue
  • 2742585 by ZeiP, alexpott, mondrake, klausi, tomasnagy, Krzysztof Doma˜Ñski, sokru, kristiaanvandeneynde, dawehner, jeroenbegyn: Deprecate dangerous assertTrue/False() compatibility overrides in PHPUnit Kernel, Functional and FunctionalJavascript tests
  • 3082655 by Wim Leers, alexpott, iyyappan.govind, dww, lauriii: Specify the $defaultTheme property in all functional tests
  • 3062281 by rpsu, tedbow, xjm, catch, acbramley, tim.plunkett, larowlan, Gábor Hojtsy, mikelutz, Berdir: Deprecate block_place module for removal in Drupal 9
  • 3084983 by plach, amateescu, catch, Berdir, xjm: Move all the code related to path aliases to a new (required) "path_alias" module
  • 3072702 by alexpott, Wim Leers, mikelutz, xjm, catch, Berdir, tedbow, shaal, webchick, Mixologic, heddn: Core extensions should not need to specify the new core_version_requirement in *.info.yml files so that 9.0.x can be installed
  • 2917006 by tedbow, amateescu, Wim Leers, sam-elayyoub, Pascal-, jnimchuk, catch, alexpott, kruser, neclimdul, chris5156, Rick Hood: Views referencing missing roles fail views_post_update_revision_metadata_fields()
  • 3072382 by Wim Leers, lauriii: Update CKEditor to version 4.13
  • 3075785 by alexpott, andypost, mondrake, Mixologic, greg.1.anderson: Update composer/composer to ^1.9.1
  • 2993642 by AdamPS, Pancho, jonathanshaw: Mechanism to disable preprocessing of base fields in taxonomy and aggregator entity types so they can be configured via the field UI
  • 3091225 by alexpott, mondrake: Require-dev mikey179/vfsstream ^1.6.8 in order to support PHP 7.4
  • 3086965 by shaal, markconroy, webchick, kjay: Allow embedding media in CKEditor in Umami
  • 2954378 by shaal, chr.fritsch, kjay, alonaoneill, Eli-T, J.Gayathri, webchick, markconroy, Gábor Hojtsy, phenaproxima, xjm, JayKandari, samuel.mortenson, seanB, alexpott: Use Media images in Umami demo
  • 3062486 by amateescu, pmelab, blazey, dixon_, plach, catch, webchick, jeqq, vijaycs85: Add the ability to create sub-workspaces in order to enable the dev -> stage -> live workflow for content
  • 3082690 by phenaproxima, bnjmnm, oknate, JeroenT, effulgentsia, xjm, lauriii, webchick, seanB, andrewmacpherson, Wim Leers, DyanneNova, Gábor Hojtsy, cboyden, peterx, rainbreaw, jan.stoeckler, shaal, annagaz, FeyP, chr.fritsch, marcoscano, samuel.mortenson, Berdir, webflo: Mark Media Library as a stable core module
  • 3092112 by jibran, mondrake: Update symfony packages to 3.4.33 before 8.8.x beta
  • Revert "Issue #3072382 by Wim Leers: Update CKEditor to version 4.13"
  • 3087482 by Mile23, greg.1.anderson, alexpott, xjm, AaronMcHale, johndevman, mbaynton, Mixologic, drumm: Add 'next steps' info to Composer installation output
  • 3004929 by mikelutz, heddn: Fix 'The DrupalmigratePluginmigrateprocessMigration is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. Instead, use DrupalmigratePluginmigrateprocessMigrationLookup'
  • 3053656 by Sam152, JeroenT, Lendude, mglaman: Rename action.post_udate.php to action.post_update.php
  • 3088403 by Mile23, Mixologic: Defensive coding: Vendor hardening plugin sometimes receives AliasPackage
  • 2674068 by tstoeckler, julia_schwarz, hchonov: The translatability clue ('all_languages') is wrongly added to links
  • 3005352 by hchonov, oknate: Passing a Session object to the ExpectationException constructor is deprecated as of Mink 1.7. Pass the driver instead
  • 3091955 by saidatom, Chi: Wrong reference in DrupalCoreTypedDataOptionsProviderInterface
  • 2586887 by LittleCoding, Cottser, webchick, gambry, alexpott, joachim, joelpittet, lauri, xjm: Remove bogus theme config override example from default.settings.php
  • 3084345 by solide-echt, gdejonghe, valthebald, aklump, mbovan, Sutharsan, wengerk: Fix usage of unsupported !title placeholder in Translation.php
  • 3088525 by Wim Leers: Follow-up for #3070880: fix instructions for how to direct CKEditor's build system to use Drupal's build-config.js
  • 3086832 by jhodgdon: SearchPageRepositoryInterface doc block error
  • 3047709 by J.Gayathri, jhodgdon, spitzialist, anmolgoyal74, Madhura BK, petedussin, alonaoneill: Convert block and block_content module hook_help() to topic(s)
  • 3072382 by Wim Leers: Update CKEditor to version 4.13
  • 3091672 by alexpott: Fix javascript coding standards
  • 3064049 by zrpnr, lauriii, bnjmnm, finnsky, alexpott, tedbow, phenaproxima, Wim Leers, xjm, Berdir, sasanikolic, justafish, larowlan: Replace jQuery UI sortable with Sortable js
  • 3072906 by bnjmnm, zrpnr, Wim Leers, lauriii, catch, mpdonadio, xjm, rainbreaw, andrewmacpherson, mgifford, anevins, jhedstrom: Deprecate jQuery UI datepicker
  • 3090684 by Mixologic, greg.1.anderson, opdavies, alexpott: Rename drupal/dev-dependencies and drupal/pinned-dev-dependencies
  • 3090626 by neclimdul: ContentTypeHeaderMatcher dx tests broken with some nginx configs
  • 2915036 by ndf, Dane Powell, tim.plunkett, Lendude, jofitz, koppie, larowlan, fubarhouse, sime, alex.skrypnyk, Joseph Zhao: Display mode configurations don't get updated with new fields
  • 3072312 by jhodgdon, Amber Himes Matz, andypost: Review/fix/delete existing help topics
  • 3016471 by Gábor Hojtsy, drumm, tedbow: Make localization file download major version agnostic
  • 2978288 by quietone: Improve the documentation on executeMigrations
  • 3087514 by plach, kim.pepper: Remove unused RequestStack property on pager/SqlBase
  • 2723553 by kim.pepper, jibran, mattc321: Trigger deprecated warning for ViewsData::get(NULL)
  • 3081123 by quietone, alexpott: Add checkrequirements to VariableTranslation source plugin
  • 3086408 by Krzysztof Doma˜Ñski, mglaman, el7cosmos: Error code should be string in HttpExceptionNormalizer
  • 2930050 by quietone: Remove destination property content_translation_update_definitions from migrations
  • 3066954 by andrewmacpherson, Wim Leers, bnjmnm, OBKev: Admin toolbar not usable with latest versions of JAWS due to mis-use of aria-owns
  • 3089103 by kim.pepper, jibran: Properly deprecate DrupalviewsPluginviewsfieldField
  • 3087626 by greg.1.anderson, Mixologic, jibran, Mile23, alexpott, xjm: Convert drupal/core-recommended & c. into a subtree split
  • 2955842 by andypost, zrpnr, bnjmnm, alexpott, gapple: Deprecate classList library
  • 3087531 by alexpott, jibran, gnikolovski, xjm, Mixologic: Use Diactoros LTS version 1.7, not 1.8 which is out of security coverage
  • Revert "Issue #3085908 by bnjmnm, dww, nightlife2008: Blurry/skewed thumbnails in IE11"
  • 3087518 by kim.pepper: Remove references to queryAddPage() in comments and deprecation notices
  • 3088195 by acbramley: action_entity_info incorrectly referenced in ActionListBuilder
  • 3087027 by webchick, jhodgdon, larowlan, Amber Himes Matz, andypost, catch, xjm: Mark the help topics module as beta stability
  • 2233595 by amateescu, marcingy, SpartyDan, visabhishek, Sharique, carletex, slashrsm, hanoii, plach, Berdir, xjm: Deprecate the custom path alias storage
  • 3089752 by bnjmnm, zrpnr: Follow-up to #3074267 Refactor use of classList in quickedit for browser compatibility
  • 3083570 by huzooka, shashikant_chauhan, rensingh99, ckrina, katannshaw, shimpy, andrewmacpherson, mfairchild365: Do not hide the label for the text format select input
  • 3088135 by alexpott, mikelutz, Wim Leers, Berdir, heddn: TestSiteApplicationTest::testInstallInDifferentLanguage requires localize.drupal.org
  • 3089697 by alexpott, swentel: Regression due to File::setValidationRequired in _file_save_upload_single()
  • 3080259 by gabesullice, alexpott, Wim Leers: Links with different target attributes are improperly merged
  • 3089530 by alexpott: Tests of copied Doctrine code are not testing what we want them to test
  • 3085728 by heddn, Mile23: Add access rules for build tests
  • 3088400 by heddn, Mile23: BuildTestBase->copyCodebase overly aggressive in exclusions
  • 3088447 by Mile23, heddn, Krzysztof Doma˜Ñski: BuildTestBase->standUpServer always starts new server
  • 3075645 by chr.fritsch, maacl, super_romeo, volkerk, alexpott: temporary://update-cache-60b12ec6 is not a directory. in FileSystem->scanDirectory()
  • 3087692 by Wim Leers, alexpott: Remove the core key from views configuration
  • 3085062 by jibran, amateescu, larowlan, xjm, Berdir: Declare a conflict on pathauto versions that aren't compatible with 8.8.0
  • 3088853 by alexpott, mondrake: Require typo3/phar-stream-wrapper ^3.1.3 and pear/archive_tar ^1.4.8 in order to support PHP 7.4
  • 2905429 by zrpnr, tim.plunkett, Wim Leers, Jacine: Library definitions containing only dependencies should be valid
  • 3089168 by phenaproxima, bnjmnm: Remove or reduce representational CSS classes in all Media Library tests
  • 3085908 by bnjmnm, dww, nightlife2008: Blurry/skewed thumbnails in IE11
  • 3088681 by phenaproxima, seanB, bnjmnm, lauriii: Make MediaLibraryTest less dependent on representational CSS selectors

New in Drupal 8.8.0 Alpha 1 (Oct 18, 2019)

  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs.

New in Drupal 8.7.8 (Oct 3, 2019)

  • This is a patch release of Drupal 8 and is ready for use on production sites

New in Drupal 8.7.7 (Sep 4, 2019)

  • Core versioning support in *.info.yml files
  • Drupal 8.7.7 introduces a new core_version_requirement key to *.info.yml files, allowing contributed modules to specify specific versions for Drupal core compatiblity, as well as to indicate that they are compatible with both Drupal 8 and the forthcoming Drupal 9 release. See the change record for more details.
  • If you are upgrading to this release from 8.6.x, read the Drupal 8.7.0 release notes before upgrading to this release.
  • Drupal 8.7.x will receive security coverage until June 3rd 2020 when Drupal 8.9.x is released.
  • Changes since 8.7.6:
  • #3006815 by plach, gmaka, mudassar774, amateescu, Lendude: ViewsEntitySchemaSubscriber may fail when a view has a broken handler
  • #3078001 by tedbow, Wim Leers: Followup minor test fix to not catching exception for invalid 'core_version_requirement' in info.yml files
  • #3078001 by tedbow, Wim Leers: Don't catch exception for invalid 'core_version_requirement' in info.yml files
  • #2313917 by tedbow, pwolanin, jhedstrom, Wim Leers, Mixologic, larowlan, Mile23, Gábor Hojtsy, xjm, Berdir: Core version key in module's .info.yml doesn't respect core semantic versioning
  • #3075831 by mr.baileys: Failing assertions when bundle ID contains only numbers
  • #3007102 by mikelutz, juampynr, DamienMcKenna, vpa24: Migrating to Date-only field does not drop time value
  • #3067889 by quietone: Boolean Field On and Off Label not Migrating
  • #3076609 by oknate, catch, larowlan: DrupalTestsckeditorFunctionalJavascriptCKEditorIntegrationTest fails on Sqlite
  • #3076169 by idebr: D6 OptionWidgetsField migrate plugin has wrong namespace
  • #3061610 by gabesullice, Wim Leers, larowlan, tedbow: Typed Data's EntityDeriver does not derive bundle-level data types when a bundle has the same name as its entity type (f.e. entity:comment:comment)
  • Revert "Issue #3076609 by oknate: DrupalTestsckeditorFunctionalJavascriptCKEditorIntegrationTest fails on Sqlite"
  • #3076609 by oknate: DrupalTestsckeditorFunctionalJavascriptCKEditorIntegrationTest fails on Sqlite
  • #3075661 by Spokje: getHtml5DateFormat and getHtml5TimeFormat in DrupalCoreDatetimeElementDatetime have incorrect Type in phpDoc
  • Revert "Issue #3061610 by gabesullice, Wim Leers, tedbow, larowlan: Typed Data's EntityDeriver does not derive bundle-level data types when a bundle has the same name as its entity type (f.e. entity:comment:comment)"
  • #3043168 by Wim Leers, Niklan, gabesullice, joelstein, mglaman: PATCH 405 for untranslatable content entities with different default language than English
  • #3061610 by gabesullice, Wim Leers, tedbow, larowlan: Typed Data's EntityDeriver does not derive bundle-level data types when a bundle has the same name as its entity type (f.e. entity:comment:comment)
  • #2984938 by vijaycs85, amateescu, jeqq, timmillwood, larowlan, Wim Leers, alexpott: Remember the page you were on and take you back there when switching Workspaces
  • #3073342 by Lendude, zrpnr, tedbow: JavaScript tests don't work with Chromedriver 75 and higher
  • #2962765 by juampynr, shubham.prakash: Clarify how to set MINK variables at phpunit.xml.dist
  • #2849413 by sam-elayyoub, idebr, tatarbj, B N Pandey, annetee, developmenticon, borisson_, Lendude: Class name must be a valid object or a string in core/modules/ima
  • Back to dev.
  • ge/src/Entity/ImageStyle.php on line 174
  • Back to dev.
  • #3060996 by mikelutz: Fix The "SymfonyComponentBrowserKitResponse::getStatus()" method is deprecated since Symfony 4.3, use getStatusCode() instead
  • #3074039 by mikelutz: Add a composer conflict for symfony/dom-crawler >=4 to 8.7 only
  • #3073410 by shashikant_chauhan: TwigExtension::getUrl() declares the wrong return type
  • #2780285 by alexpott, th_tushar, mpdonadio: XSS in date format configuration

New in Drupal 8.7.3 (Jun 6, 2019)

  • 3057314 by alexpott, chr.fritsch, larowlan: Harden hash checking in core
  • 3041326 by Sam152, amateescu, Berdir: Remove 'title' and 'description' from MenuSettingsConstraintValidator when used with content moderation by creating a draft of menu link content when a draft of it's parent content is created
  • 2939356 by Lendude, mediabounds, Manuel Garcia, validoll, justclint, hctom: Fatal error during import translaton of workflows.workflow.editorial.yml config
  • Revert "Issue #3054315 by yogeshmpawar, alexpott: Sort out ApcuBackendTest"
  • 3048196 by tetranz, Tom Konda, Berdir: A field title isn't translated if "Account administration pages" plugin is enabled
  • 2994315 by BackEndTea: Allow installation of latest paragonie/random_compat
  • 3057370 by Wim Leers, seanB: MediaLibraryState::fromRequest() may result in invalid MediaLibraryState::create() call
  • 3058013 by plach: Promote plach to full-fledged Framework Manager
  • 3054315 by yogeshmpawar, alexpott: Sort out ApcuBackendTest
  • 2927012 by deviantintegral, alexpott, arunkumark: _drupal_log_error() returns a 0 exit code on errors
  • 3043907 by alexpott, dawehner, starlightE, cilefen: DatabaseCacheBackend::ensureBinExists() does not properly handle exceptions
  • 3023220 by tim.plunkett, andyg5000, Berdir, phenaproxima, bkosborne: Performance: Prevent extra Layout Builder code from running when rendering fields in isolation (Views results, FieldBlock, etc)
  • 3046007 by Sam152, alexpott, amateescu, tim.plunkett: In some circumstances the override field is not cleared from the field map when a bundle is deleted, resulting in a fatal error in layout_builder_post_update_make_layout_untranslatable
  • 3056348 by Pasqualle: Wrong code comment in NodeRevisionRevertForm
  • 3051908 by Roensby, gabesullice: Documentation in json.api.php describes wrong query parameter
  • 3053330 by Maithri Shetty: Update Dependencies Format in workspaces in .info.yml file
  • 3045211 by nlisgo, yogeshmpawar, Nebel54, heddn, quietone: Prevent link field migration from creating invalid link attributes
  • 3055474 by Gribnif, Berdir: template_preprocess_file_link will not work with a stdClass object, though it tries to
  • 3055918 by kkalaskar, kpv: Fix typo in LibraryDiscoveryParser::parseLibraryInfo() docblock
  • 3053827 by gabesullice: Leaked cache metadata detected when using JSON:API to GET a threaded comment when RDF module is installed
  • 3035980 by jhedstrom: Provide a better error when a NULL is passed to EntityStorageBase::load()
  • 3048434 by claudiu.cristea, Lendude: Convert FileManagedAccessTest into a Kernel test
  • 2892440 follow-up by alexpott: Provide helper test method to wait for an element to be removed from the page
  • 2892440 by bnjmnm, tedbow, alexpott, Krzysztof Domanski, Lendude: Provide helper test method to wait for an element to be removed from the page
  • 3056536 by alexpott, tedbow: LayoutBuilderDisableInteractionsTest randomly fails
  • 3048707 by Daniel Korte, Lendude: Views AJAX arguments are not HTML decoded
  • 3052940 by Krzysztof Domanski: Incorrect data type for the expected parameter
  • 3055001 by Neslee Canil Pinto: Typo error in comment module file
  • 3043087 by tedbow, Sam152: Retrieving plugins with entity context definitions from cache is expensive, which is noticeable when used with Layout Builder's FieldBlockDeriver
  • 2901792 by alexpott, tedbow, dww, bnjmnm, jhodgdon, Krzysztof Domanski: Disable all animations in Javascript testing

New in Drupal 8.7.2 (May 23, 2019)

  • This is a patch release of Drupal 8 and is ready for use on production sites.

New in Drupal 8.7.1 (May 9, 2019)

  • This release fixes security vulnerabilities. Sites are urged to upgrade immediately after reading the notes below and the security announcement:
  • Drupal core - Third Party Libraries - SA-CORE-2019-007

New in Drupal 8.7.0 (May 2, 2019)

  • Important update information:
  • Site update and module owners planning to update to this release should take note of the following important changes:
  • PHP 5 support, automatic entity updates, and Internet Explorer 9 workarounds have been removed
  • PHP 5.5 and 5.6 will no longer be supported as of Drupal 8.7.0.
  • As of December 2018, PHP 5.6 no longer receives security support from the maintainers of PHP. Anyone running Drupal 8 on PHP 5.5 or 5.6 should upgrade their PHP version to at least 7.1. PHP 7.2 is now recommended. Read more in the change record for the PHP requirement update.
  • Starting with 8.7.0, Drupal core no longer provides support for automatic entity updates as these have resulted in conflicts with regular database updates and data integrity issues. Whenever an entity type or field storage definition needs to be created, changed or deleted, it has to be done with an explicit update function as provided by the Update API, and using the API provided by the entity definition update manager. (Note that using the API has always been the recommended way for developers to trigger entity updates.) drush entup is also no longer supported by Drupal core. These three change records provide further details:
  • Support for automatic entity updates has been removed
  • Kernel tests have to install entity type schemas for all the entity types they are testing, and before installing any other configuration
  • New helper method available to set up the "current_user" service in kernel tests
  • Workarounds for the stylesheet limit in Internet Explorer 9 (IE9) and earlier have been removed. Drupal dropped support for Internet Explorer 9 and 10 in 8.4.0, but Drupal 8.5 and 8.6 retained a workaround to allow 32 or more stylesheets to be included. This workaround has been removed in 8.7. Sites still requiring Internet Explorer 9 support for the work around of IE's limit of 31 style sheets per page, should enable CSS aggregation (preferred) or install the IE9 Compatibility contributed module.
  • Entity and field system changes:
  • Entity schema operations will now leave backup tables in place for inspection. See the change record on entity update backup data for more details including how to disable this functionality.
  • Custom menu links and taxonomy terms are now revisionable, which allows them to be used in editorial workflows (similarly to nodes, media, and custom blocks). These changes involve an upgrade path and updates to the respective entity storages. Custom code updating these entities programmatically may need to update to take account revision creation. This may also impact API clients, exported default content, and custom database queries. See the change records for details:
  • Custom menu links are revisionable
  • Taxonomy terms are revisionable
  • Serialized properties of base fields are now automatically unserialized to be consistent with configurable fields. Existing workarounds for this bug might need to be adjusted if they relied on the old behavior of passing a string to those fields. Read the change record about loading serialized field properties.
  • Changes for Symfony 4 and 5 compatibility:
  • DrupalComponentDependencyInjectionContainer no longer implements SymfonyComponentDependencyInjectionResettableContainerInterface for future compatibility with Symfony 5. If you are type-hinting on this interface, update your type-hint to instead use DrupalComponentDependencyInjectionContainer
  • Read the change record about the Container Symfony component.
  • In the interest of supporting deprecations in Symfony 4 leading up to Symfony 5, DrupalCoreValidationTranslatorInterface no longer extends SymfonyComponentTranslationTranslatorInterface.
  • Read the change record about the TranslatorInterface Symfony component.
  • Additionally, numerous critical Symfony 4 and 5 compatibility issues are resolved in this release.
  • Plugin system changes:
  • ConfigurablePluginInterface, which is used by many, many plugins, is deprecated in favor of a combination of two interfaces: ConfigurableInterface and DependentPluginInterface. If the plugin does not have external module dependencies, then developers may opt to just implement ConfigurableInterface by itself and not implement DependentPluginInterface.
  • Read the change record on deprecation of ConfigurablePluginInterface.
  • For context-aware plugins defined by annotation the context key is deprecated. To define context definitions, use the context_definitions key. Interacting with the context definitions of a plugin is unchanged, see DrupalComponentPluginContextAwarePluginInterface.
  • Read the change record on context definitions for plugins.
  • Changes to base themes (Stable, Classy):
  • This release includes some small changes to core's base themes (Stable, Classy). Themes that extend one of these base themes should review the following changes.
  • JavaScript messages template changes
  • Pager CSS ID changed from "pagination-heading" to a unique ID
  • New stable module: Layout Builder:
  • Layout Builder allows content editors and site builders to easily and quickly create visual layouts for displaying content. Users can customize how content is arranged on a single page, or across types of content, with an easy to use drag-and-drop interface.
  • This module was introduced as an experimental core module in Drupal 8.5.0, but is now stable and ready for production use! For sites using the experimental module prior to 8.7.0 there are some important changes:
  • The Layout Builder module is designed to support extensible storage for layouts, so that layouts can be created and saved for various use cases. (For example, the core module has two storages, one for default content layouts and another for individual entity layouts.) A serious bug with the beta API prevented other storages from being used and API changes were required to resolve this issue.
  • Layout Builder section storage plugins must adapt to changes to their interface and rely on the context system instead of external setter calls. Additionally, those interacting with the Layout Builder API must use the new methods for loading SectionStorage plugins.
  • Layout Builder overrides are now stored in non-translatable fields. This means that on entities with overridable layouts, when Content Translation is enabled, the Layout tab is only available when viewing the entity in its default language (not from a translation) and layout changes made from there apply to all translations.
  • For sites that installed Layout Builder and enabled layout overrides for some entity bundles while it was still Experimental, this release retains the site's existing translatability configuration of those fields. For those sites, manually setting the layout field to non-translatable is strongly recommended unless there is existing layout translation data. See the change record on Layout Builder translation changes for more details. Layout translatability is planned as a feature for a future release.
  • Layout Builder now has more granular permissions Previously, it only provided a single permission to access all aspects of Layout Builder (configuring/deleting layouts, adding or removing inline blocks, etc.). One example of Layout Builder's more granular permission options means users will only be able to manipulate the layout of content if they have access to edit that content. Review Layout Builder's permissions after updating and change to permissions where appropriate for better access control.
  • CSS classes used in Layout Builder's user interface have been renamed in accordance with BEM standards. For example, classes like .layout-section are now .layout-builder__section.
  • Read the change record on BEM standards for Layout Builder's user interface classes.
  • New stable module: JSON:API:
  • JSON:API is now included in core. Sites currently using the 8.x-2.x branch of the JSON:API contributed module should remove the contributed module from the codebase (rm -rf modules/jsonapi) when updating to Drupal 8.7, as the contributed module will not receive further updates aside from security fixes. Sites using the 8.x-1.x branch may require changes to API clients, but the contributed module may be left in place with Drupal 8.7 until any needed conversions are complete.
  • Note that the core version of JSON:API uses a read-only mode by default for security reasons. This is configurable at /admin/config/services/jsonapi. Sites requiring create, update, or delete access should review the JSON:API security considerations documentation.
  • Third-party library updates:
  • The following third-party libraries are updated in this release:
  • Guzzle has been updated from 6.3.0 to 6.3.3. With this update, the http_client service also now supports empty headers.
  • Previously, Drupal packaged a copy of the PEAR Archive_Tar library in a Drupal core namespace. In 8.7, this has been deprecated and replaced with a proper Composer dependency on this library. The dependency has also been updated to version 1.4.6.
  • Stylelint has been updated from 9.1.1 to 9.10.1.
  • drupal/coder has been updated to ˆ8.3.1. You may need to re-install coder if you have automated coding standards checks as part of your workflow, since the update includes new coding standards checks.
  • CKEditor has been updated to 4.11.3.
  • Twig has been updated to 1.38.4.
  • A number of other PHP dependencies have also been updated, including:
  • composer/installers to 1.6.0
  • composer/semver to 1.5.0
  • egulias/email-validator to 2.1.7
  • paragonie/random_compat to v2.0.18
  • Most symfony/* components to v3.4.26
  • symfony/http-foundation to v3.4.27
  • symfony/polyfill-* to v1.11.0
  • typo3/phar-stream-wrapper to v2.1.0
  • Other important update information:
  • Previously, a fix was committed following upstream Symfony issue with lazy session data in Symfony 3.4.24. Symfony has now reverted the commit in Symfony 3.4.27 (released May 1). Drupal 8.7 has therefore reverted the workaround for the issue and updated symfony/http-foundation to 3.4.27. Other Symfony components remain on 3.4.26 as of Drupal 8.7.0. Any site owners encountering issues with lazy session data should review the above issue and ensure that http-foundation is updated to 3.4.27.
  • datetime fields that store both date and time now specify a time zone when normalized, datetime fields that store only a date no longer expose a (meaningless) time when normalized. daterange fields behave the same way as datetime fields, because both field types use the same "data type" under the hood, and hence get the same normalization. Finally, there is now automatic time zone conversion when POSTing or PATCHing datetime or daterange fields: the client can specify any time zone, and the necessary transformations to match the site's timezone are applied.
  • Read the change record about normalization of the Date and Date range fields.
  • The session_handler.write_check service has been removed from core.services.yml. In the unlikely event that this service is being swapped out, the functionality has been moved to DrupalCoreSessionWriteSafeSessionHandler - the session_handler.write_safe service.
  • Read the change record on removal of the session handler proxy.
  • In order to resolve a critical issue affecting the PostgreSQL database, The naming scheme for PostgreSQL sequence generators has been changed.
  • For all changes that may affect contributed or custom code, search the Drupal 8.7.x change records.
  • Important bug fixes:
  • In addition to those already listed above, the following critical and important issues have been fixed in Drupal 8.7.0.
  • The Entity system now provides an API for retrieving an entity variant that is safe for editing and previewing in editorial workflows, depending on the specified context, by default the current context.
  • 2942675: Layout builder should use the active variant of an entity to avoid orphaned revisions
  • 2990517: Adding a display mode to a content type using layout, and disabling layout on that new display mode removes the layout_builder__layout field and breaks layout in already configured display modes.
  • 3033686: Saving Layout override will revert other field values to their values when the Layout was started.
  • 3037823: The system.theme.data key remains corrupted in state causing performance issues and is not used in >= 8.7
  • 3042993: Translatable and revisonable installed entity type definitions are missing the 'revision_translation_affected' entity key
  • 2554235: Make the content entity storage and entity query use the last installed definitions instead of the ones living in code
  • 2891754: [regression] UserMailRequiredValidator fails on new user entities
  • 2787185: track_changes does not work when the map is joinable
  • 3033653: InvalidArgumentException when adding reference field without Media type
  • 3051826: 8.7.0-rc1 database updates fail on media_library configuration dependencies due to missing form and view modes
  • Beginning with the Drupal 8.7.0-beta1 release, the Drupal Association and Drupal core maintainers have partnered with agencies and site owners in an official beta testing program for Drupal core minor releases. A number of issues were identified and resolved directly as a result of this initiative. Participating in the beta program is an important way to contribute to the Drupal project. Special thanks to the following individuals and organizations for participating, and directly contributing to the quality of this release:
  • larowlan at PreviousNext for Charles Darwin University, Brisbane City Council, Wyndham City Council
  • plach
  • RoSk0 at Catalyst IT
  • alexpott at Thunder
  • thursday_bw at Catalyst IT
  • Juterpillar at Catalyst IT
  • Joseph Zhao at govCMS (Australian Government Department of Finance)
  • daniel.bosen at Thunder
  • kim.pepper at PreviousNext

New in Drupal 8.7.0 RC 1 (Apr 18, 2019)

  • This is a release candidate for the next feature release of Drupal 8. Release candidates are not supported for production sites, but they are intended for widespread testing in preparation for the upcoming stable release.
  • This release fixes security vulnerabilities present in 8.7.0-beta2. Sites are urged to upgrade immediately after reading the security announcement and notes below:

New in Drupal 8.7.0 Alpha 2 (Mar 20, 2019)

  • Third-party library updates
  • The following third-party libraries are updated in this release. (Additional library updates may be made prior to Drupal 8.7.0-beta1.)
  • All changes since 8.7.0-alpha1
  • SA-CORE-2019-004 by alexpott, larowlan, greggles, drumm, mlhess, David_Rothstein, pwolanin
  • 2977510 by kjay, shaal, markconroy, finnsky, Vidushi Mehta, Eli-T: Refactor/improve Umami demo's search form CSS for better responsive support
  • 3036787 by yongt9412, Berdir: media_post_update_enable_standalone_url() should only set TRUE if not already set
  • 3038378 by vadim.hirbu, jhodgdon: README.md in core/tests is badly formatted
  • 3035350 by claudiu.cristea: Remove usages of drupal_static() from field_test.module
  • 3019115 by tamer.kamel, Waldoswndrwrld, anantjain60, gnuget, Berdir, alexpott: TwigExtensionTest::testFormatDate() doesn't make much sense
  • 3023797 by seanB, webchick, lauriii, ckrina, phenaproxima, andrewmacpherson, rainbreaw, Gábor Hojtsy, jhodgdon, jrockowitz, worldlinemine, benjifisher: Let users choose what to do after selecting and/or adding items in the media library
  • 3035383 by andypost, martin107, Berdir: Replace deprecated usages of entityManager in list builder classes
  • 3030902 by Krzysztof Domanski, amateescu, xjm: Random fail in EntityReferenceAdminTest
  • 3016807 by seanB, FeyP, phenaproxima, andrewmacpherson, lauriii, rainbreaw, larowlan: Improve refocus on submit buttons of Media Library Widget modals
  • 3038926 by Berdir: Add @trigger_error() to deprecated EntityManager->EntityDisplayRepository methods
  • 2999893 by penyaskito, shaal, markconroy, mpp: Ensure umami views filter content by content negotiated language
  • 2868725 by msankhala, Krzysztof Domanski, xlin, cilefen, dagmar, dawehner, alexpott, joachim: Refactor how dblog module is rendering links in event details
  • 3023801 by seanB, DamienMcKenna, lauriii, phenaproxima, Berdir, Pancho, marcoscano, Wim Leers, rainbreaw, larowlan, webchick, jrockowitz, andrewmacpherson, ckrina: Allow newly uploaded files to be deleted from the media library without saving them
  • 3039256 by kjay, shaal, smaz: Improve Umami demo blockquote layout on smaller screen sizes
  • 3028771 by shaal, Not Real, pawandubey, kjay, smaz, Eli-T: Add some missing RTL css for the umami demo
  • 2599228 by tstoeckler, Taran2L, poornachandran, catch, vacho, johan.s, Berdir, hchonov, osman, tim.plunkett, GoZ, Voidtek, neetu morwani, psf_, alexpott, dxvargas, nkoporec, plach, [email protected], joey-santiago: Programmatically created translatable content type returns SQL error on content creation
  • 3040241 by bnjmnm, lauriii, DyanneNova: Add section and add block section doesn't have sufficient color contrast for text
  • 3039081 by claudiu.cristea: Remove reset of user_role static cache in UserRoleAdminTest::testRoleWeightOrdering()
  • 3026434 by tedbow, tim.plunkett, xjm, phenaproxima, plach, Kristen Pol, alexpott: Ensure that Layout Builder Inline Blocks doesn't assume section storage internals
  • 3039572 by Lendude, Mile23: Prevent tests with multiple groups running multiple times
  • 3037129 by tim.plunkett, andrewmacpherson, phenaproxima: Use distinct accessible names for the configure-section buttons in Layout Builder UI
  • 3038413 by bnjmnm, lauriii, DyanneNova: Replace editable-area negative-offset outline with something that IE11 can handle
  • 3038562 by alexpott, markconroy: Update stylelint to 9.10.1
  • 3037121 by bnjmnm, andrewmacpherson, tim.plunkett: Disclosure triangle is missing in details/summary groups in off-canvas dialog in Firefox

New in Drupal 8.6.13 (Mar 20, 2019)

  • Maintenance and security release of the Drupal 8 series.

New in Drupal 8.5.14 (Mar 20, 2019)

  • Maintenance and security release of the Drupal 8 series.

New in Drupal 8.7.0 Alpha 1 (Mar 15, 2019)

  • This is an alpha release for the next feature release of Drupal 8. Alpha releases are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs. Alpha releases are not recommended for non-technical users, nor for production websites. More information on alpha releases.
  • This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. There may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backwards compatibility and experimental module policies.
  • Minor releases may include string changes and additions. Translators can review the latest translation status on localize.drupal.org.
  • Important update information:
  • Site update and module owners planning to update to this release should take note of the following important changes:
  • Support for PHP 5, automatic entity updates, and Internet Explorer 9 workarounds removed:
  • PHP 5.5 and 5.6 will no longer be supported as of Drupal 8.7.0. Drupal 8.7.0-alpha1 has not yet dropped PHP 5 support, but Drupal 8.7.0-beta1 will in #3039287: Implement changes required to remove support for PHP 5.5 and 5.6.
  • PHP 5.6 stopped receiving active support from PHP maintainers in January 2017 and reached end-of-life in December 2018. Users who are running Drupal 8 on PHP 5.5 or 5.6 should upgrade their PHP version to 7.1 or higher.
  • In Internet Explorer 9 and earlier, there was a limit of 31 style sheets per page. Drupal dropped support for Internet Explorer 9 and 10 in 8.4.0, but Drupal 8.5 and 8.6 retained a workaround to allow 32 or more stylesheets to be included. This workaround has been removed in 8.7. Sites requiring Internet Explorer 9 support should enable CSS aggregation (preferred) or install the IE9 Compatibility contributed module.
  • Starting with 8.7.0, Drupal core no longer provides support for automatic entity updates as these have resulted in conflicts with regular database updates and data integrity issues. Whenever an entity type or field storage definition needs to be created, changed or deleted, it has to be done with an explicit update function as provided by the Update API, and using the API provided by the entity definition update manager. (Note that using the API has always been the recommended way for developers to trigger entity updates.) drush entup is also no longer supported by Drupal core.
  • These three change records provide further details:
  • Support for automatic entity updates has been removed
  • Kernel tests have to install entity type schemas for all the entity types they are testing, and before installing any other configuration
  • New helper method available to set up the "current_user" service in kernel tests
  • Entity and field system changes:
  • Serialized properties of base fields are now automatically unserialized to be consistent with configurable fields. Existing workarounds for this bug might need to be adjusted if they relied on the old behavior of passing a string to those fields. Read the change record about loading serialized field properties.
  • Custom menu links and taxonomy terms are now revisionable, which allows them to be used in editorial workflows (similarly to nodes, media, and custom blocks). These changes involve an upgrade path and updates to the respective entity storages. Custom code updating these entities programmatically may need to update to take account revision creation. This may also impact API-first clients, exported default content, and custom database queries.
  • See the change records for details:
  • Custom menu links are revisionable
  • Taxonomy terms are revisionable
  • Changes for Symfony 4 and 5 compatibility:
  • DrupalComponentDependencyInjectionContainer no longer implements SymfonyComponentDependencyInjectionResettableContainerInterface for future compatibility with Symfony 5. If you are type-hinting on this interface, update your type-hint to instead use DrupalComponentDependencyInjectionContainer
  • In the interest of supporting deprecations in Symfony 4 leading up to Symfony 5, DrupalCoreValidationTranslatorInterface no longer extends SymfonyComponentTranslationTranslatorInterface.
  • Additionally, numerous critical Symfony 4 and 5 compatibility issues are resolved in this release.
  • Plugin system changes:
  • ConfigurablePluginInterface, which is used by many, many plugins, is deprecated in favour of a combination of two interfaces: ConfigurableInterface and DependentPluginInterface. If the plugin does not have external module dependencies, then developers may opt to just implement ConfigurableInterface by itself and not implement DependentPluginInterface.
  • For context-aware plugins defined by annotation the context key is deprecated. To define context definitions, use the context_definitions key. Interacting with the context definitions of a plugin is unchanged, see DrupalComponentPluginContextAwarePluginInterface.
  • Changes to base themes (Stable, Classy):
  • This release includes some small changes to core's base themes (Stable, Classy). Themes that extend one of these base themes should review the following changes.
  • JavaScript messages template changes
  • Pager CSS ID changed from "pagination-heading" to an unique ID
  • Changes to the experimental Layout Builder module:
  • The Layout Builder module is designed to support extensible storage for layouts, so that layouts can be created and saved for various use cases. (For example, the core module has two storages, one for default content layouts and another for individual entity layouts.) However, a serious bug with the the beta API prevented other storages from being used. API changes were required to resolve this issue. Layout Builder section storage plugins must adapt to changes to their interface and rely on the context system instead of external setter calls. Additionally, those interacting with the Layout Builder API must use the new methods for loading SectionStorage plugins.
  • CSS classes used in Layout Builder's user interface have been renamed in accordance with BEM standards. For example, classes like .layout-section are now .layout-builder__section.
  • Third-party library updates:
  • The following third-party libraries are updated in this release. (Additional library updates may be made prior to Drupal 8.7.0-beta1.)
  • Guzzle has been updated from 6.3.0 to 6.3.3. With this update, the http_client service also now supports empty headers.
  • Other important update information:
  • datetime fields that store both date and time now specify a timezone when normalized, datetime fields that store only a date no longer expose a (meaningless) time when normalized. daterange fields behave the same way as datetime fields, because both field types use the same "data type" under the hood, and hence get the same normalization. Finally, there is now automatic timezone conversion when POSTing or PATCHing datetime or daterange fields: the client can specify any timezone, and the necessary transformations to match the site's timezone are applied.
  • Read the change record about normalization of the Date and Date range fields.
  • The session_handler.write_check service has been removed from core.services.yml. In the unlikely event that this service is being swapped out, the functionality has been moved to DrupalCoreSessionWriteSafeSessionHandler - the session_handler.write_safe service.
  • Read the change record on removal of the session handler proxy.
  • In order to resolve a critical issue affecting the PostgreSQL database, The naming scheme for PostgreSQL sequence generators has been changed.
  • For all changes that may affect contributed or custom code, search the Drupal 8.7.x change records.
  • Important bug fixes:
  • The Entity system now provides an API for retrieving an entity variant that is safe for for editing and previewing in editorial workflows, depending on the specified context, by default the current context.
  • #2942675: Layout builder should use the active variant of an entity to avoid orphaned revisions
  • #2990517: Adding a display mode to a content type using layout, and disabling layout on that new display mode removes the layout_builder__layout field and breaks layout in already configured display modes.
  • #3033686: Saving Layout override will revert other field values to their values when the Layout was started.
  • #3037823: The system.theme.data key remains corrupted in state causing performance issues and is not used in >= 8.7
  • Known issues:
  • #3026560: After upgrade to 7.63, 8.6.7, or 8.5.10 still get TYPO3 phar error for drush
  • #3026443: DrupalCoreSecurityPharExtensionInterceptor is incompatible with GeoIP and other libraries that use phar aliases or Phar::mapPhar()
  • #3031128: Update from 8.6.7 to 8.6.8 warnings - DrupalCoreExtensionExtension has no unserializer
  • There are no known regressions from 8.6.x in this release.

New in Drupal 8.5.13 (Mar 15, 2019)

  • This is a patch release of Drupal 8 and is ready for use on production sites. Learn more about Drupal 8.
  • Versions of Drupal 8 prior to 8.5.x are end-of-life and do not receive security coverage. Sites on 8.5.x will receive security coverage until May 2019 (when 8.7.0 is released).
  • The third-party Twig library, which powers Drupal 8's theme system, recently released new versions (Twig 1.38.0 and 1.38.1) that introduced a fatal error for Drupal 8 sites using Composer. Drupal 8.5.12 was released yesterday with an update to Twig 1.38.2 in order to resolve that error. However, this update also led to a different regression for certain Drupal 8 themes that use Twig {% embed %} tags. This release hotfixes Drupal 8 to resolve that regression. No other changes are included.
  • Known issues:
  • #3026560: After upgrade to 7.63, 8.6.7, or 8.5.10 still get TYPO3 phar error for drush
  • #3026443: DrupalCoreSecurityPharExtensionInterceptor is incompatible with GeoIP and other libraries that use phar aliases or Phar::mapPhar()
  • #3031128: Update from 8.6.7 to 8.6.8 warnings - DrupalCoreExtensionExtension has no unserializer

New in Drupal 8.6.12 (Mar 15, 2019)

  • he third-party Twig library, which powers Drupal 8's theme system, recently released new versions (Twig 1.38.0 and 1.38.1) that introduced a fatal error for Drupal 8 sites using Composer. Drupal 8.6.11 was released yesterday with an update to Twig 1.38.2 in order to resolve that error. However, this update also led to a different regression for certain Drupal 8 themes that use Twig {% embed %} tags. This release hotfixes Drupal 8 to resolve that regression. No other changes are included.
  • Known issues:
  • #3026560: After upgrade to 7.63, 8.6.7, or 8.5.10 still get TYPO3 phar error for drush
  • #3026443: DrupalCoreSecurityPharExtensionInterceptor is incompatible with GeoIP and other libraries that use phar aliases or Phar::mapPhar()
  • #3031128: Update from 8.6.7 to 8.6.8 warnings - DrupalCoreExtensionExtension has no unserializer

New in Drupal 8.5.12 (Mar 14, 2019)

  • #3037970 by Berdir, Baysaa: Custom serialized field's data should be normalized even if it's empty
  • #3039408 by vijaycs85, WidgetsBurritos, alexpott, phenaproxima, Joseph Zhao, tstoeckler, kfritsche, mikelutz, fabpot: Updating twig/twig to v1.38.0 or v1.38.1 causes fatal error
  • Revert "Issue #2135445 by dww, Sam152, jessebeach, Mile23, Kristen Pol, Wim Leers, larowlan: Toolbar displays Manage tab even if the user is not permitted to see it"
  • #2947517 by Lendude, jibran, alexpott, larowlan: Selenium driver: API to get remote file paths
  • #2999723 by hiway, pawandubey, shaal, kjay, MaddieC, lauriii: Umami's card layout broken in IE11
  • #3031710 by scor: Remove scor from MAINTAINERS.txt
  • #3034913 by govind.maloo, wombatbuddy: Written 'Confuration' instead of 'Configuration' in the 'Typed Data API' article
  • #3036197 by dww: REST FileUploadResource::streamUploadData() can call fclose(FALSE)
  • #2975081 by alexpott, amateescu, larowlan, mtodor, catch: UpdatePathTestBase fails to re-initialize the test site (rebuild container, clear caches) after running the database updates
  • #3035873 by Eli-T: Remove Eli-T from MAINTAINERS.TXT
  • #2870458 by Lendude, alexpott, jibran, vijaycs85, Wim Leers, dawehner, Gábor Hojtsy: Convert web tests to browser tests for quickedit module
  • Revert "Issue #2870458 by Lendude, jibran, alexpott, vijaycs85, Wim Leers, dawehner, larowlan: Convert web tests to browser tests for quickedit module"
  • #2870458 by Lendude, jibran, alexpott, vijaycs85, Wim Leers, dawehner, larowlan: Convert web tests to browser tests for quickedit module
  • #2937639 by hotwebmatter, hiway, andrewmacpherson, markconroy, shaal, cehfisher, mgifford, kjay, Eli-T, kbeck303: Umami Theme - a11y context is needed for read more links
  • #3021406 by ApacheEx, Lendude: Convert DrupalTestsquickeditFunctionalJavascriptQuickEditLoadingTest::testDisplayOptions to a kernel test
  • #3030929 by kiwimind, Kavichandran P, c.nish2k3, quietone: User migrations tests in wrong directory
  • #3008030 by quietone, masipila, maxocub: Migrate D7 i18n fields label and description
  • #3032376 by alexpott, dww, Berdir: Files renamed by _file_save_upload_single() do not have the correct filename on the File entity
  • #3032620 by alexpott, dww: DrupalfilePluginrestresourceFileUploadResource uses basename() when it needs to use the Drupal version
  • #3033494 by alexpott, dww, tim.plunkett: SiteConfigureForm can install the file module without the field module
  • #3035318 by mpdonadio: `DateFormatter()` assumes 30 days per month, while February only has 28 days. Causes fails in tests
  • #2995200 by Sam152, sjancich: Defaults for publishing options do not save when workflow is enabled
  • #3029661 by Lendude, dawehner: Move BrowserTestBase tests out of modules/simpletest into /tests
  • #3027745 by claudiu.cristea, idimopoulos, wengerk, alexpott: UniqueFieldConstraint doesn't work for entities with string IDs
  • #2903322 by gaurav.kapoor, levmyshkin: Change FAPI Container example class to an array
  • #3034695 by xjm, neclimdul: Fix coding standard errors from SA-CORE-2019-003
  • #2994550 by tedbow, tim.plunkett, gapple, johndevman, Wim Leers, neclimdul, EclipseGc, catch: Filtering block plugins by context is slow
  • #3028490 by tim.plunkett, Kristen Pol, xjm, tedbow, r.aubin, phenaproxima: Users with "configure any layout" can see entities they don't have "view" access to
  • #3032869 by alexpott, tim.plunkett, dww, tacituseu, xjm, Mixologic: DrupalCoreUpdateUpdateKernel::fixSerializedExtensionObjects() caused test runs to double in duration
  • Merged 8.6.10.
  • Revert "Issue #3031740 by alexpott, tmanhollan, catch, collinhaines: Updating to 8.6.8 or 8.6.9 with Drush 8 causes data loss via update_fix_compatibility()"
  • Revert "Issue #3032869 by alexpott, tim.plunkett, dww, tacituseu, Mixologic: DrupalCoreUpdateUpdateKernel::fixSerializedExtensionObjects() caused test runs to double in duration"
  • #2672950 by Vj, ilya.no, Krzysztof Doma≈Ñski, elandirayan, Rijidij, amateescu, shahgm, larowlan: Notice: Undefined index: #default_value in DrupalCoreDatetimeElementDatetime::valueCallback() (line 103
  • #3032869 by alexpott, tim.plunkett, dww, tacituseu, Mixologic: DrupalCoreUpdateUpdateKernel::fixSerializedExtensionObjects() caused test runs to double in duration
  • #3019333 by tim.plunkett, julenmelgar, Ismail Cherri: If you translate the literal "inline blocks" to another language in the layout builder, it stops working
  • #2992580 by Vj, Arez, andypost, jhedstrom: Custom callbacks doesn't work
  • #3031740 by alexpott, tmanhollan, catch, collinhaines: Updating to 8.6.8 or 8.6.9 with Drush 8 causes data loss via update_fix_compatibility()
  • #2135445 by dww, Sam152, jessebeach, Mile23, Kristen Pol, Wim Leers, larowlan: Toolbar displays Manage tab even if the user is not permitted to see it
  • #2964777 by tim.plunkett, tedbow: Method comment for Drupallayout_builderPluginSectionStorageDefaultsSectionStorage::getDisplay is wrong
  • #3029614 by cdykstra, cilefen, andrewmacpherson, jrockowitz: Fix aria-required in states.js
  • #3027236 by rachel_norfolk, kjay, tonypaulbarker, akshay_d, shaal, Eli-T, Not Real, babusaheb.vikas: Umami - hero block is identical on Home and Recipe pages, so potentially confusing
  • #3023729 by tim.plunkett, bkosborne, xjm: LayoutBuilderController should iterate over components in a region using Element::children()
  • #3025865 by quietone, xurizaemon, mikelutz: i18ntaxonomy should be an array in d6 VocabularyPerType source plugin
  • #3030781 by shaal, mcannon, andrewmacpherson, Gábor Hojtsy: Umami - icon misaligned on warning and error messages

New in Drupal 8.6.11 (Mar 14, 2019)

  • #3037970 by Berdir, Baysaa: Custom serialized field's data should be normalized even if it's empty
  • #3039408 by vijaycs85, WidgetsBurritos, alexpott, phenaproxima, Joseph Zhao, tstoeckler, kfritsche, mikelutz, fabpot: Updating twig/twig to v1.38.0 or v1.38.1 causes fatal error
  • Revert "Issue #2135445 by dww, Sam152, jessebeach, Mile23, Kristen Pol, Wim Leers, larowlan: Toolbar displays Manage tab even if the user is not permitted to see it"
  • #2947517 by Lendude, jibran, alexpott, larowlan: Selenium driver: API to get remote file paths
  • #2999723 by hiway, pawandubey, shaal, kjay, MaddieC, lauriii: Umami's card layout broken in IE11
  • #3031710 by scor: Remove scor from MAINTAINERS.txt
  • #3034913 by govind.maloo, wombatbuddy: Written 'Confuration' instead of 'Configuration' in the 'Typed Data API' article
  • #3036197 by dww: REST FileUploadResource::streamUploadData() can call fclose(FALSE)
  • #2975081 by alexpott, amateescu, larowlan, mtodor, catch: UpdatePathTestBase fails to re-initialize the test site (rebuild container, clear caches) after running the database updates
  • #3035873 by Eli-T: Remove Eli-T from MAINTAINERS.TXT
  • #2870458 by Lendude, alexpott, jibran, vijaycs85, Wim Leers, dawehner, Gábor Hojtsy: Convert web tests to browser tests for quickedit module
  • Revert "Issue #2870458 by Lendude, jibran, alexpott, vijaycs85, Wim Leers, dawehner, larowlan: Convert web tests to browser tests for quickedit module"
  • #2870458 by Lendude, jibran, alexpott, vijaycs85, Wim Leers, dawehner, larowlan: Convert web tests to browser tests for quickedit module
  • #2937639 by hotwebmatter, hiway, andrewmacpherson, markconroy, shaal, cehfisher, mgifford, kjay, Eli-T, kbeck303: Umami Theme - a11y context is needed for read more links
  • #3021406 by ApacheEx, Lendude: Convert DrupalTestsquickeditFunctionalJavascriptQuickEditLoadingTest::testDisplayOptions to a kernel test
  • #3030929 by kiwimind, Kavichandran P, c.nish2k3, quietone: User migrations tests in wrong directory
  • #3008030 by quietone, masipila, maxocub: Migrate D7 i18n fields label and description
  • #3032376 by alexpott, dww, Berdir: Files renamed by _file_save_upload_single() do not have the correct filename on the File entity
  • #3032620 by alexpott, dww: DrupalfilePluginrestresourceFileUploadResource uses basename() when it needs to use the Drupal version
  • #3033494 by alexpott, dww, tim.plunkett: SiteConfigureForm can install the file module without the field module
  • #3035318 by mpdonadio: `DateFormatter()` assumes 30 days per month, while February only has 28 days. Causes fails in tests
  • #2995200 by Sam152, sjancich: Defaults for publishing options do not save when workflow is enabled
  • #3029661 by Lendude, dawehner: Move BrowserTestBase tests out of modules/simpletest into /tests
  • #3027745 by claudiu.cristea, idimopoulos, wengerk, alexpott: UniqueFieldConstraint doesn't work for entities with string IDs
  • #2903322 by gaurav.kapoor, levmyshkin: Change FAPI Container example class to an array
  • #3034695 by xjm, neclimdul: Fix coding standard errors from SA-CORE-2019-003
  • #2994550 by tedbow, tim.plunkett, gapple, johndevman, Wim Leers, neclimdul, EclipseGc, catch: Filtering block plugins by context is slow
  • #3028490 by tim.plunkett, Kristen Pol, xjm, tedbow, r.aubin, phenaproxima: Users with "configure any layout" can see entities they don't have "view" access to
  • #3032869 by alexpott, tim.plunkett, dww, tacituseu, xjm, Mixologic: DrupalCoreUpdateUpdateKernel::fixSerializedExtensionObjects() caused test runs to double in duration
  • Merged 8.6.10.
  • Revert "Issue #3031740 by alexpott, tmanhollan, catch, collinhaines: Updating to 8.6.8 or 8.6.9 with Drush 8 causes data loss via update_fix_compatibility()"
  • Revert "Issue #3032869 by alexpott, tim.plunkett, dww, tacituseu, Mixologic: DrupalCoreUpdateUpdateKernel::fixSerializedExtensionObjects() caused test runs to double in duration"
  • #2672950 by Vj, ilya.no, Krzysztof Doma≈Ñski, elandirayan, Rijidij, amateescu, shahgm, larowlan: Notice: Undefined index: #default_value in DrupalCoreDatetimeElementDatetime::valueCallback() (line 103
  • #3032869 by alexpott, tim.plunkett, dww, tacituseu, Mixologic: DrupalCoreUpdateUpdateKernel::fixSerializedExtensionObjects() caused test runs to double in duration
  • #3019333 by tim.plunkett, julenmelgar, Ismail Cherri: If you translate the literal "inline blocks" to another language in the layout builder, it stops working
  • #2992580 by Vj, Arez, andypost, jhedstrom: Custom callbacks doesn't work
  • #3031740 by alexpott, tmanhollan, catch, collinhaines: Updating to 8.6.8 or 8.6.9 with Drush 8 causes data loss via update_fix_compatibility()
  • #2135445 by dww, Sam152, jessebeach, Mile23, Kristen Pol, Wim Leers, larowlan: Toolbar displays Manage tab even if the user is not permitted to see it
  • #2964777 by tim.plunkett, tedbow: Method comment for Drupallayout_builderPluginSectionStorageDefaultsSectionStorage::getDisplay is wrong
  • #3029614 by cdykstra, cilefen, andrewmacpherson, jrockowitz: Fix aria-required in states.js
  • #3027236 by rachel_norfolk, kjay, tonypaulbarker, akshay_d, shaal, Eli-T, Not Real, babusaheb.vikas: Umami - hero block is identical on Home and Recipe pages, so potentially confusing
  • #3023729 by tim.plunkett, bkosborne, xjm: LayoutBuilderController should iterate over components in a region using Element::children()
  • #3025865 by quietone, xurizaemon, mikelutz: i18ntaxonomy should be an array in d6 VocabularyPerType source plugin
  • #3030781 by shaal, mcannon, andrewmacpherson, Gábor Hojtsy: Umami - icon misaligned on warning and error messages

New in Drupal 8.6.10 (Feb 21, 2019)

  • Maintenance and security release of the Drupal 8 series.

New in Drupal 8.6.9 (Feb 8, 2019)

  • This is a patch release of Drupal 8 and is ready for use on production sites.

New in Drupal 8.6.8 (Feb 6, 2019)

  • This is a patch release of Drupal 8 and is ready for use on production sites

New in Drupal 8.6.7 (Jan 17, 2019)

  • This is a hotfix release for a regression affecting some Drush installations that was introduced by the fix for SA-CORE-2019-002. No other fixes are included.

New in Drupal 8.6.5 (Jan 4, 2019)

  • 3023402 by alexpott: DrupalTestsComponentDatetimeDateTimePlusTest fails on latest PHP7.3 build
  • 3001997 by Krzysztof Domanskii, scott_euser, alexpott: Transliteration a string containing an unknown character (e.g. 0x80) is not valid
  • 3018942 by welly, alexpott, jibran, Krzysztof Domanskii, floydm: Domain URL language detection - InvalidArgumentException: The user-entered string must begin with a '/', '?', or '#'
  • 3020902 by Berdir, alexpott: PostgresqlDateSql fails to serialize
  • Revert "Issue #2986725 by Mile23, devitate, alexpott: doctrine common 2.9 has moved reflection"
  • 3022183 by wengerk, benjifisher: Fix BlockContentAccessHandlerTest::providerTestAccess wrong coverage by early return
  • 2984072 by vijaycs85, Lendude, ApacheEx, dawehner: System: Convert ErrorHandlerTest to phpunit
  • 3019706 by hchonov, alexpott, sheanhoxie, jibran, dawehner: Functional JS Tests are broken if XDEBUG_CONFIG is set as an env variable
  • Revert "Issue #3019706 by hchonov, jibran: Functional JS Tests are broken if XDEBUG_CONFIG is set as an env variable"
  • 3021204 by maxocub: Remove maxocub from Migrate maintainers
  • 3019706 by hchonov, jibran: Functional JS Tests are broken if XDEBUG_CONFIG is set as an env variable
  • 2986725 by Mile23, devitate, alexpott: doctrine common 2.9 has moved reflection
  • 2939908 by kjay, steveparks, spitzialist, cferthorney, danharper, Eli-T: Add an article to Umami - Dairy-free chocolate
  • 3007439 by tim.plunkett, Wim Leers, xopoc: Layout builder renders Book navigation block on non-book pages
  • 2927768 by justinlevi, Lendude, pritish.kumar, Wim Leers, dawehner: Update RestRegisterUserTest to use the ResourceTestBase base class instead of the deprecated RESTTestBase
  • 3020550 by catch: Passing commands as a string to Process is deprecated in Symfony 4
  • 3020579 by catch: TypeError: Argument 3 passed to SymfonyComponentHttpKernelEventFilterResponseEvent::__construct() must be of the type integer, string given [Symfony 4]
  • 2618606 by dawehner, rbayliss: Update.php - Reverse proxy settings not used
  • 2865344 by mpdonadio, Lendude, mbovan, organicwire, alexpott, jibran, jhedstrom, bobemoe, Berdir, larowlan: Exposed date filters 'empty' and 'not empty' are broken
  • 2974274 by mitrpaka, RumyanaRuseva, joachim: exception message for unrecognized source IDs in lookupDestinationIds() should have more detail
  • 2809305 by Upchuk, Pavan B S, Jo Fitzgerald, tim.plunkett, Berdir: Block Context assignment form element shows even if no options are available
  • 3018774 by xjm: hook_post_update_NAME() docs do not explain batching/ parameter
  • 3018539 by phenaproxima, rodrigoaguilera, alexpott: Media types cannot be created in the UI without JavaScript
  • 3018764 by Wim Leers: One test case in MediaUiFunctionalTest is not actually tested due to a duplicate key
  • 2998462 by AndyF, Baysaa, Siavash, tim.plunkett, millionleaves, fatmarker: Error adding Content Type Selection criteria or Context
  • 3016501 by govind.maloo, andrewmacpherson, markconroy: Writing style - Umami should be capitalised when it is used as a proper noun in English
  • 2916595 by phenaproxima, AdamPS, Wim Leers: File element discards attributes if #multiple
  • 2883260 by kiamlaluno, yogeshmpawar, msankhala, benjifisher, alexpott, bdlangton: Replace the schema example with one actually used from a module
  • 2883553 by govind.maloo, msankhala, seanB, Berdir, xjm, alexpott: Obsolete argument for hasPermission in node_node_access()
  • 3016011 by mikelutz, quietone, alexpott: Reroll all migrate dump files
  • 3017753 by mxr576, alexpott: MemoryBackend should validate the passed cids