Install
To start a new Drupal project with version 8.8.0-beta1@beta:To update your site and all dependencies to the latest version of Drupal:
To update your site to this specific release:
Using Composer to manage Drupal site dependencies
Downloads
Release notes
This is a beta release for the next minor version (feature release) of Drupal 8. 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 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.
Beta testing program
The Drupal Association and the Drupal core maintainers are partnering with agencies and site owners in an official beta testing program for Drupal core minor releases. The program aims to identify and minimize regressions in minor releases. Participating in the program is a way to contribute to the Drupal project and will be credited accordingly.
Important update information and changes since 8.8.0-alpha1
For additional important update information for this beta release, also see the 8.8.0-alpha1 release notes.
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-beta1 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_aliasmodule. This may require updates to service providers that altered or decorated the legacy services.An upgrade path is provided from Drupal 8.7 for this change. The upgrade path has been updated so that it should also work for upgrading from 8.8.0-alpha; however, note that upgrade paths from alpha releases are not officially supported.
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.shor 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. See the change record on the Place Blocks module for alternatives.
Changes to JavaScript dependencies and new JavaScript deprecations
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 longer term. See the change record on the deprecated jQuery UI libraries and their replacement modules for more information.
Drupal 8.8.0-beta1 deprecates two additional jQuery UI libraries that were not yet deprecated in 8.8.0-alpha1:
-
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's 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 into 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.
8.8.0-beta1 also deprecates the classList browser polyfill, which is no required by any of the browsers supported by Drupal core. (Several other browser polyfills were already deprecated in 8.8.0-alpha1.)
Composer integration changes
In 8.8.0-alpha1, the wikimedia/composer-merge-plugin was deprecated and replaced with a Composer path repository. The previous release notes did not mention that, following this change, core developers who update core's dependencies must set COMPOSER_ROOT_VERSION explicitly to avoid unexpected results (including possible accidental deletion of the core directory). Read Managing Composer updates for Drupal core for more information.
New stable core module: Media Library
Media Library provides content editors and site builders an interface to visually browse and manage media in their site. 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:
- 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.themefor 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 nowmedia_library_add_form_uploadandmedia_library_add_form_oembed. Any code altering either of these forms may be adjusted, and any custom form extending\Drupal\media_library\Form\AddFormBasewill 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.
Numerous other changes to the Media Library were also made in 8.8.0-alpha1.
JSON:API changes
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.
Dependency updates
-
Diactoros has been updated from 1.7.2 to 1.8.7, a long-term support version which will receive security coverage until Drupal 8's end-of-life. Note that the above documentation incorrectly indicates that 1.7 is the long-term support version, but we have confirmed with the Diactoros maintainers that 1.8 will continue to receive security coverage until 2022.
-
A few dependency requirements have been updated to better support PHP 7.4:
- Symfony components (from 3.4.32 to 3.4.33).
mikey179/vfsstream(from 1.6.7 to 1.6.8).pear/archive_tar(from 1.4.5 to 1.4.8).typo3/phar-stream-wrapper(from 3.1.2 to 3.1.3).composer/composerhas been updated from 1.8.5 to 1.9.1 (and 1.9 or higher is now explicitly required for sites managed with Composer).
-
CKEditor has been updated from from 4.11.4 to 4.13.0, which includes numerous bugfixes and improvements.
Other dependencies have already been updated in 8.8.0-alpha1.
Important bug fixes
The following other critical issues have also been fixed in Drupal 8.8.0-beta1:
- Fixed a major accessibility bug which prevented toolbar links from working with some screen readers. Websites which need to support administrators who use assistive technology are strongly recommended to upgrade. If in doubt, assume this is the case, particularly in larger organizations. Discussing the issue with staff from IT user-support, disabled employee support, and human resources teams is advisable. (This change is also included in Drupal 8.7.9.)
- #3087626: Convert drupal/core-recommended & c. into a subtree split allows Composer changes from 8.8.0-alpha1 to work correctly with Drush.
- #2742585: Deprecate dangerous assertTrue/False() compatibility overrides in PHPUnit Kernel, Functional and FunctionalJavascript tests
- #3016471: Make localization file download major version agnostic
- #3053656: Rename action.post_udate.php to action.post_update.php so that the upgrade path runs correctly
- #2917006: Views referencing missing roles fail views_post_update_revision_metadata_fields()
- #3088135: TestSiteApplicationTest::testInstallInDifferentLanguage requires localize.drupal.org
Known issues
-
There are some outstanding compatibility issues with PHP 7.4 (which will be released later in November). These issues are being addressed in #3086374: Make Drupal 8 & 9 compatible with PHP 7.4.
- A data loss issue for path aliases has been reported in #3086638: Drupal 8 update failing on ddev builds. It appears this issue may have been due to a database misconfiguration, but we are tracking the issue to ensure it does not affect other users. Be sure to back up your data before upgrading, and report any issues with this update in the issue above.
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 Drupal\migrate\Plugin\migrate\process\Migration is deprecated in Drupal 8.4.0 and will be removed before Drupal 9.0.0. Instead, use Drupal\migrate\Plugin\migrate\process\MigrationLookup'
- #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 Drupal\Core\TypedData\OptionsProviderInterface
- #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 \Drupal\views\Plugin\views\field\Field
- #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