Drupal 9.2.0
18 June 2021
Drupal version 9.2.0 is now available (major release).
Upgrading to Drupal 9.2.0
Drupal 9.2.0 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Drupal updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Drupal install to test the 9.2.0 upgrade prior to applying it live. Get started managing your Drupal installations with Installatron
What's New in Drupal 9.2.0
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.
Changes
- Vertical Tabs CSS classes applying to non-vertical tab detail element groups
- Add ModuleUninstallValidatorInterface hint to hook_uninstall docs
- Avoid format calls in DateTimePlus::createFromFormat
- Replace occurrences of outdated text "Extending Drupal 8" and its link
- Add a row for switching to the live workspace in the Workspaces listing UI
- Documentation needed in ConfigEntityDependency::getDependencies() to explain what the $type == module code is doing
- Update @drupal/once to 1.0.1
- ContentEntity source plugin should exclude user with uid "0"
- Incorrect calls to Connection::select() in MenuTreeStorage
- Service deprecations are only triggered on container build,not ::get()
- File field's Maximum upload size always passes validation
- View titles in breadcrumb and metatag title don't get properly translated
- Replace usages of assertFileNotExists(), that is deprecated
- Missed one conversion to expectWarning()
- Thumbnail updates read width and height from source image on save even if queued
- filterStatus behavior can't find settings markup after AJAX update
- Replace usages of expectException(Warning::class), that is deprecated
- Stop altering existing Permissions-Policy header in FinishResponseSubscriber
- EntityViewBuilder::addContextualLinks assumes an entity's canonical rel is routed/internal
- Replace usages of expectException(Error::class), that is deprecated
- Add tedbow and dww as maintainers for Update Manager
- Map all Datetime module's field formatters from D6/D7 to D8/D9
- Media fields with Media Library form widget trigger PHP 'Notice: Undefined index'
- Field called "link" breaks the RSS Views plugins
- Replace usages of assertFileNotIsWritable(), that is deprecated
- Content Moderation missing permission descriptions
- Combine tests using NormalizerDenormalizeExceptionsUnitTestBase
- Config export field should be cleared when config type changes
- Wrong type hint for getActiveMultiple() and getCanonicalMultiple() in EntityRepositoryInterface
- Replace usages of assertNotRegExp(), that is deprecated
- Use PHPUnit-bridge polyfills for forward compatibility layer
- Replace usages of assertDirectoryNotIsWritable(), that is deprecated
- Replace usages of assertRegExp(), that is deprecated
- Do not track viewing history for unsaved entities, nor when previewing existing entities
- Remove 'reply' link from comment field when threading is disabled
- Update dependencies except PHPUnit to latest releases as of June 3, 2021
- [Symfony 6] Retrieving a non-string value from "Symfony\Component\HttpFoundation\InputBag::get()" is deprecated"
- Update Symfony 5 components to 5.3
- Unicode::mimeHeaderEncode() doesn't correctly follow RFC 2047
- Symfony 6 KernelEvent bridge is incompatible with Symfony 5 EventDispatcher
- [Symfony 6] Retrieving a non-string value from "Symfony\Component\HttpFoundation\InputBag::get()" is deprecated
- [random test failure] Random fail in BuildTestTest::testPortMany
- Update Symfony 5 components to 5.3-rc1
- Bump minimum dependencies required for tests to pass
- Allow pre-release dependencies in Drupal pre-release milestones
- Fix CKEditor versions
- Update ckeditor to 4.16.1
- Claro is missing focus in "Available buttons" within CKEditor toolbar configuration
- [May 24, 2021] Remove usage of drupalPostForm
- Replace the start verb Test with Tests in method comments of tests
- Olivero: Message icon has border radius in firefox browser
- HTML5 validation with table sticky header is misaligned over the toolbar
- all translation/localization migrations should depend on the 'language' migration
- Check dependencies are correct in core/scripts/dev/commit-code-check.sh
- Avoid error from sort in ValidateMigrationStateTestTrait
- Unable generate sample data with defined random seed for the "string" or "link" field type
- Fix dependency in d6 user profile translation migrations
- Increase DRUPAL_RECOMMENDED_PHP to 7.4
- Display title checkbox is misaligned in Configure dialog box of layout builder
- Olivero's small button variation's text seem vertically mis-aligned
- Olivero header-search-wide.pcss.css and header-search-narrow.pcss.css adjustments
- Update symfony dependencies to latest release
- [May 25, 2021] Replace usages of AssertLegacyTrait::assertText, that is deprecated
- Fix Drupal.Commenting.InlineVariableComment
- [May 17th 2021] Replace assertEqual() with assertEquals()
- Olivero: Focus after submenu close via ESC key
- Remove stylelint-no-browser-hacks
- Deprecate and replace jQuery Joyride (for tours)
- Build + prettier not run after yarn dependency update 3210633
- ContextDefinition::create() can no longer be used with an entitytype-specific datatype (like entity:user)
- Replace @codingStandards comments with phpcs: comments
- Convert assertions involving use of xpath on spans to WebAssert
- Merge class_aliases.php into bootstrap.inc
- Update JavaScript dependencies for Drupal 9.2
- Update dependencies for Drupal 9.2
- Source count caching broken: impossible to enable source count caching for SqlBase-based source plugins (plus, unneeded cache I/O)
- Change ModuleInstallerInterface::uninstall() method doc comment that ModuleUninstallValidatorException can be thrown
- Add core/class_aliases.php
- [Symfony 6] Symfony\Component\HttpKernelent\KernelEvent::isMasterRequest() is deprecated, use isMainRequest() instead
- Reduce cache variations in locale cache
- When generating link to non-existent help topic, put topic ID in fallback text
- Add Permissions-Policy header to block Google FLoC
- Remove semi-colon from javascript test conditions
- Responsive image field formatter list should be sorted by label, not machine name
- Fix 'PSR2.Classes.PropertyDeclaration.Underscore' coding standard
- Fix 'Drupal.Commenting.VariableComment.WrongStyle' coding standard
- remove toolbar.html.twig template as #3174422 is fixed
- Convert CommentActionsTest to kernel test
- Get only translations for localized vocabularies d6/TermLocalizedTranslation.php
- Replace usages of assertions with strstr with assertStringContainsString()/assertStringNotContainsString()
- Add 'Reset' button on Custom block library page
- Remove todo in class Drupal\Core\Routing\RequestContext
- Add @throws docs to factory methods in \Drupal\update\ModuleVersion
- Fix incorrect Migration plugin description
- Using a data provider with array keys instead of comments in PhpTransliterationTest
- Error: Call to a member function getTotalCount() on bool in statistics_tokens()
- Fatal error when passing non-existing ID to entity parameter converter
- DbDumpCommand fails when data type is not a mapped Drupal schema field name
- Update jQuery to version 3.6.0
- cspell Dictionaries changed, checking all files
- Breadcrumb: $title could be an array, but Link() requires a string
- Undefined static method Drupal\Core\Database\Connection::serialize()
- Missing View not helpfully reported in preRenderViewElement()
- Display relevant Security Advisories data for Drupal
- FormTest::testRequiredFields() fails to drupal_render() elements of #type 'radios'
- Race condition when generating sub directories for image styles
- Missing parameter in process plugin DefaultValue example
- Update CKEditor to version 4.16.0
- Olivero: content below region 33/33/33 layout broken in IE11
- Update Sortable to 1.13.0
- Exception when creating an entity reference field targeting an entity type without an ID
- Route serialization incompatibilities between PHP 7.4 and 7.3 (9.x only)
- Remove the warning about the Umami profile on the install screen
- Olivero: Normalize JavaScript selectors in scripts.es6.js
- Account emails are missing newlines due to malformed YAML
- Drupal 9 is dependent on symfony/mime directly
- \Drupal\Tests\system\Functional\Common\UrlTest can be a kernel test
- CKEditorLoadingTest::testExternalStylesheets() should be a kernel test
- AggregatorFeedBlock::build must always return array
- Map all Link module's fieldformatters from D7 to D8/D9
- Olivero: Focused level-2 nav items should always be in viewport during keyboard navigation
- Ensure that tabledrag user interface is usable within Olivero
- Olivero: On mobile width, submenu can unintendedly close when user attempts to scroll on mobile
- Olivero: Skip link focus should not create layout shift
- Paragraph format dropdown in body field have extra left spacing
- cspell dislikes identifer in core/modules/views/src/Plugin/views/filter/FilterPluginBase.php and will fail any patch touching that file