New in Drupal 10.2
The second feature release of Drupal 10 improves content modeling, block management, menu and taxonomy organization, and permission administration. New options to sanitize file names make it possible to clean up the names of uploaded files, and media item revisions now have a dedicated user interface.
Easier content management
To help keep you up to date with project news, the Announcements Feed module became stable and is now installed by default with the standard profile.
- Field types for new fields are visually listed instead of a simple select list. Settings for fields are now all included on one form.
- Menu items and taxonomy terms have a dedicated option to add a child item, which makes item placement easier.
- Media items now have a dedicated user interface to review and manage older revisions.
- CKEditor’s language selector can now be configured to only show languages supported on the site.
More flexible block placement
Drupal is built by an open source community of collaborators across geographies and organizations. Maintainers assess the work of the community and decide when it’s ready to commit to Drupal core. After a period as a provisional committer, Dave Long (at Full Fat Things) was promoted to a full release manager. Kristiaan Van den Eynde (at Factorial) and Adam Bramley (at PreviousNext) have also become core subsystem maintainers. Thanks for stepping up!
New built-in file name sanitization options
10.2 improves the user experience for managing several types of content:
Faster permission management
Drupal 10.2 comes with a number of developer experience improvements:
Performance improvements
PHP 8.3 was released three weeks ago, and Drupal 10.2 is already compatible with it.
Works on the latest PHP
Drupal 10.2 includes numerous performance improvements for content rendering and HTTP responses, as well as improved caching APIs.
Modern language feature: PHP attributes
If you are looking to make the leap from Drupal user to Drupal contributor, or you want to share resources with your team as part of their professional development, there are many opportunities to deepen your Drupal skill set and give back to the community. Check out the Drupal contributor guide, or join us at DrupalCon Portland and attend sessions, network, and enjoy mentorship for your first contributions.
Built-in project news updates
A user interface has been added to show or hide each block based on the HTTP response status, so that specific blocks can be added or removed when the page is not found (404) or access is denied (403).
Help topics now in Help module
The experimental Help topics module is now marked as deprecated and all functionality has been integrated into the core Help module.
Developer experience improvements
The functionality of one of the most popular contributed modules is now included in core! Replace whitespace in file names, transliterate text, convert to lowercase, and more.
- A
PerformanceTestBase
was added to support automated testing of performance metrics with support to send OpenTelemetry traces to an open telemetry endpoint. - A new
DeprecationHelper::backwardsCompatibleCall()
method is available that helps write Drupal extensions that are compatible with multiple major versions at once. - PHP Fibers support was added to BigPipe and the Renderer, which allows Drupal to potentially run different code while it’s waiting for an asynchronous operation to return.
- Configuration validation was expanded to better support strict testing and make configuration form validation easier to implement.
- Symfony’s autowiring support was adopted for services, based on PHP 8 attributes, making service creation easier.
- The HTML utility classes and filter system was updated to produce HTML5 syntax instead of XHTML.
Core team updates
The permissions page now comes with a filter on the top to make it easy to find the permission you planned to adjust.
Want to get involved?
Drupal core has started adopting PHP attributes, a modern PHP language feature, to provide better developer experience for plugin annotations. Contributed and custom code can begin adopting this improved API for their plugins, and Block and Action plugins can all be converted to the new API.