Release notes
This is a beta release for the next 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
Beginning with Drupal 8.7.0-beta1, 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 changes since 8.7.0-alpha1 and update information
For additional update information and a full list of important changes since 8.6.x, see the 8.7.0-alpha1 and 8.7.0-alpha2 release notes.
PHP version requirements changes: Upgrade to at least PHP 7.0.8; PHP 7.2 recommended
PHP stopped supporting version 5.5 on July 21, 2016 (two years and eight months ago) and version 5.6 on December 2018. Drupal's end of support for PHP 5.5 and 5.6 was announced in January 2018.
Therefore, new Drupal 8 installations now require PHP 7.0.8. For now, existing sites can still run and be updated on PHP 5.5.9 or higher, but will display a warning. Note that Drupal security updates will begin requiring PHP 7 as early as Drupal 8.8.0 (December 2019), so all users are advised to update to at least PHP 7.0.8 now.
Read more in the change record for the PHP requirement update.
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.
New stable module: Layout Builder
Layout Builder module was originally added as an experimental core module in Drupal 8.5.0 is now stable and ready for production use! For sites using the experimental module prior to 8.7.0-beta1, there are some changes:
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 (prior to 8.7.0-beta1), 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.
In earlier versions of Drupal 8, Layout Builder only provided a single permission to access all aspects of Layout Builder (configuring/deleting layouts, adding or removing inline blocks, etc.). In 8.7, more granular permissions have been added (for example, to only allow manipulating the layout on content to which the user has edit access). Review Layout Builder's permissions after updating and change to more granular permissions where appropriate for better access control.
In 8.7.0-alpha1 and alpha2 only, the Layout Builder module provided
hook_layout_builder_overrides_entity_form_display_alter()
to modules extending the Layout Builder user interface. That hook has been removed in favor of the generichook_entity_form_display_alter()
hook, so any modules depending on this hook during the alpha phase should be updated to use the new hook. Most sites and modules are not affected by this change.
Third-party library updates
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.
Our PHP dependencies have also been updated. This includes:
composer/installers
to 1.6.0composer/semver
to 1.5.0egulias/email-validator
to 2.1.7paragonie/random_compat
to v2.0.18pear/archive_tar
to 1.4.6symfony/*
to v3.4.23symfony/polyfill-*
to v1.10.0typo3/phar-stream-wrapper
to v2.1.0
Critical bug fixes
The following critical issues are fixed in Drupal 8.7.0-beta1:
- #3039287: Implement changes required to remove support for PHP 5.5 and 5.6
- #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
Known issues
- #3044211: SectionStorage objects in tempstore are broken when updating from 8.6.x to 8.7.x
- #3026560: After upgrade to 7.63, 8.6.7, or 8.5.10 still get TYPO3 phar error for drush
- #3026443: \Drupal\Core\Security\PharExtensionInterceptor 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 - Drupal\Core\Extension\Extension has no unserializer
Search the issue queue for all known issues. Also see the list of issues already identified during the beta testing program.
All changes since 8.7.0-alpha2
- #3044417 by tim.plunkett: Move custom Layout Builder icons to core/misc
- #3027614 by markconroy, BrightBold, tatarbj, shaal, Denes.Szabo, Gábor Hojtsy, Eli-T, tim.plunkett: Use Layout Builder in Umami for the recipe content type in full view mode
- #3039287 by bendeguz.csirmaz, effulgentsia, xjm, alexpott, catch, jibran, hampercm, tedbow, Joseph Zhao, dawehner: Implement changes required to remove support for PHP 5.5 and 5.6
- #3041053 by tim.plunkett, tedbow, xjm, larowlan, phenaproxima, webchick, effulgentsia, DyanneNova, Sam152, lauriii, dead_arm, bnjmmn, balsama: Mark Layout Builder as a stable module
- #3043646 by tedbow, lauriii, bnjmnm, xjm, tim.plunkett, effulgentsia, DyanneNova, webchick: For sites that have made layout overrides prior to 8.7.0 or sites that manually enable translation of the layout override field, add UI warnings
- #3043825 by tim.plunkett, johndevman, phenaproxima: Create an interface for LayoutBuilderSampleEntityGenerator
- #3043797 by tim.plunkett, johndevman, phenaproxima: Create an interface for InlineBlockUsage
- #3043687 by phenaproxima, tim.plunkett, johndevman: Layout Builder's Quick Edit integration causes fatals when using field blocks for entities other than the one being viewed
- #3043651 by tedbow, plach, tim.plunkett, effulgentsia, xjm: Update the Layout field to non-translatable when possible
- #2995893 by tim.plunkett, Dylan Donkersgoed: Layout builder chokes on form exceptions that are part of natural form processing
- #3040746 by Berdir, amateescu, Sam152: Update functions that set owner entity key updates can fail on existing data with NULL values
- #3041659 by tedbow, tim.plunkett, amateescu, plach, xjm, effulgentsia, Wim Leers, webchick: Remove the layout tab from translations because Layout Builder does not support translations yet
- Revert "Issue #2802803 by Berdir, AdamPS, Darren Oh, Munavijayalakshmi, jackbravo, slashrsm, mmbk, Dane Powell, LittleCoding, gapple, catch, wiifm, alexpott, quantumized, acbramley: Temporary files whose files are missing on the disk result in never-ending error log messages"
- #3039955 by plach, TR: Ensure EntityKernelTestBase can use UserCreationTrait::setUpCurrentUser()
- #3042089 by bnjmnm: Update Layout Builder functional javascript tests now that local tasks are not required by the UI
- #3042848 by mikelutz: use ->load() instead of ->resolveTemplate in Twig Resolver tests
- #3039584 by mikelutz, Morbus Iff: The SymfonyBridgePsrHttpMessageFactoryDiactorosFactory class is deprecated since symfony/psr-http-message-bridge 1.2, use PsrHttpFactory instead
- #2889855 by seanB, chr.fritsch, vijaycs85, phenaproxima, marcoscano, Wim Leers, govind.maloo, larowlan, pk188, Dinesh18, balazswmann, michael_wojcik, catch, effulgentsia, alexpott, Berdir, dawehner: Unpublished media entity can not be accessed by owner and update any media/delete any media access possibly cached by user
- #2802803 by Berdir, AdamPS, Darren Oh, Munavijayalakshmi, jackbravo, slashrsm, mmbk, Dane Powell, LittleCoding, gapple, catch, wiifm, alexpott, quantumized, acbramley: Temporary files whose files are missing on the disk result in never-ending error log messages
- #3038679 by smaz, markconroy, kjay, Dries: Add Ofer Shaal (@shaal) as a maintainer for Umami demo
- #3002206 by jibran, longwave, truls1502, alexpott, NickWilde: Update the stable version of drupal/coder to ^8.3.1
- #3016781 by arpad.rozsa, Berdir, catch, Wim Leers, kristiaanvandeneynde: node_node_access() is too eager in adding the user cache context — fixing this makes some pages faster
- #3032884 by pawandubey, shaal, andrewmacpherson, mgifford: Umami's logo doesn't have sufficient a11y contrast
- #3030936 by shaal, mradcliffe, Eli-T, kjay, saesa, bash247, gaddamsr: Search placeholder text is longer than the search box
- #3035259 by quietone: Unknown column 'lt.i18n_status' in 'field list'
- #3042701 by shaal, kjay, ddavidd, SinisterChef, Adita, Eli-T, TBone242, banoodle, mradcliffe, vbonasa, kwfinken, heddn, bsnodgrass, estoyausente: Add the remaining four Spanish Umami translations
- #2655162 by amateescu, Berdir, bradjones1, Maria Kvitova, joachim, plach, effulgentsia, tim.plunkett, xjm: Fatal error when updating or deleting an entity type after removing its class/definition from the codebase
- #3035933 by cilefen, Wim Leers: Update CKEditor to 4.11.3
- #3042699 by shaal, kjay, kwfinken, Eli-T, Adita, Adrian_S_M, bsnodgrass, cosmicdreams, mradcliffe, saesa, mike.roman, heddn, ddavidd, estoyausente, gaddamsr: Add the missing three Spanish Umami recipes and fix translation of chocolate brownies
- #3037729 by jhodgdon: Duplicate filter format weights (turns off CKEditor by default in some languages)
- #3030477 by Manuel Garcia, Anas_maw: Views filter "Published status or admin user" not checking "View any unpublished content" permission
- #3040562 by sandeepscs: Fix typo in core/INSTALL.txt file
- #3029625 by tim.plunkett: Do not throw an exception when a context is missing while applying context mapping to a plugin if that context was previously set
- #2914486 by tim.plunkett, tedbow, bendeguz.csirmaz, twfahey, bnjmnm, xjm, effulgentsia, Kristen Pol, benjifisher, larowlan, webchick, rainbreaw, jrockowitz, Gábor Hojtsy, ckrina: Add granular permissions to the Layout Builder
- #3042198 by Wim Leers, tim.plunkett, phenaproxima, xjm: Add JSON:API integration test for LayoutBuilderEntityViewDisplay
- Revert "Issue #3042198 by Wim Leers, tim.plunkett, phenaproxima: Add JSON:API integration test for LayoutBuilderEntityViewDisplay"
- #3042198 by Wim Leers, tim.plunkett, phenaproxima: Add JSON:API integration test for LayoutBuilderEntityViewDisplay
- #2959493 by bnjmnm, phenaproxima, tim.plunkett, tedbow, Adrian83, lauriii, xjm, andrewmacpherson, johndevman, KarenS, alwaysworking, jrockowitz, ckrina, cboyden, webchick, seanB, benjifisher, larowlan: Allow Layout Builder live previews to be toggled to allow easier drag-and-drop
- #2988970 by phenaproxima, tim.plunkett, tedbow, bnjmnm, lauriii, sugaroverflow, DyanneNova, balsama, webchick, xjm, dead_arm, Gábor Hojtsy, worldlinemine: Layout Builder should make it easier to modify the default layout for an entity type when viewing an entity
- #2948828 follow-up by Wim Leers: Minor style fixes to comments.
- #2948828 by tedbow, Wim Leers, tim.plunkett, samuel.mortenson, johndevman, Kristen Pol, webchick, phenaproxima, larowlan, dead_arm, bnjmnm: Layout Builder's Field Blocks do not work with Quick Edit
- #2952390 by tedbow, bnjmnm, samuel.mortenson, alwaysworking, Wim Leers, phenaproxima, lauriii, xjm, bendeguz.csirmaz, effulgentsia, AaronMcHale: Off-canvas styles override CKEditor's reset and theme
- #3038241 by seanB, Wim Leers, phenaproxima, alexpott: Implement a tamper-proof hash for the media library state
- #3003238 by Sam152, Berdir, amateescu, catch, jibran: EntityStorageException: Default revision can not be deleted in content_moderation_entity_revision_delete()
- #3036461 by Aron Novak, maliknaik, alexpott: States details element uses unsupported '#collapsible' attribute
- #3037111 by shaal, kjay, smaz, Gábor Hojtsy, rteijeiro: Import multilingual content into Umami
- #3042993 by amateescu, tedbow: Translatable and revisonable installed entity type definitions are missing the 'revision_translation_affected' entity key
- #3038442 by Sam152, amateescu, tim.plunkett: Use hook_entity_form_display_alter() instead of Layout Builder's custom overrides display altering hook
- #2998091 by phenaproxima, RajabNatshah, Niklan, Wim Leers, starshaped, lauriii, maseyuk, seanB, Kasey_MK: Remote videos overflow their containing element
- #2995689 by tedbow, bnjmnm, lauriii, bendeguz.csirmaz, andrewmacpherson, xjm, tim.plunkett, KarenS, alwaysworking: Allow reordering blocks without a pointer device
- #2554235 by amateescu, plach, Berdir, Sam152, joelpittet, mbaynton, catch, jibran: Make the content entity storage and entity query use the last installed definitions instead of the ones living in code
- #2998335 by tim.plunkett: [regression] \Drupal\user\ContextProvider\CurrentUserContext broken for anonymous users
- #3039378 by Manuel Garcia, amateescu: Convert TermEntityReferenceTest to be a kernel test
- #3038988 by Berdir, seanB: Remove support for empty destination in FileSystem::copy(), FileSystem::move() and FileSystem::saveData()
- #2994909 by bnjmnm, tedbow, kostyashupenko, tim.plunkett, lauriii, samuel.mortenson, Kristen Pol, xjm, andrewmacpherson, alwaysworking, DyanneNova, jrockowitz, worldlinemine, phenaproxima, ckrina, benjifisher, rainbreaw, webchick: Highlight active element while working with dialogs in Layout Builder
- #2825446 by Pancho, anavarre, michielnugter, dww, Lendude, dmsmidt: Moving a filter to the end of a Filter group in filter rearrange doesn't work but does allow dropping in invalid regions
- #3002608 by bnjmnm, tedbow, Wim Leers, samuel.mortenson, tim.plunkett, xjm, lauriii, jibran, phenaproxima, effulgentsia: Remove contextual links not related to layout administration inside layout builder blocks
- #3032693 by jibran, alexpott, chr.fritsch: Update core PHP dependencies before 8.7.0
- #3038309 by shaal, rteijeiro, kjay, Eli-T, smaz, estoyausente, isholgueras, rjfg, saesa: Spanish translations of Umami demo recipes
- #3041642 by shaal, rteijeiro, kjay: Spanish translation of Umami demo blocks
- #3038297 by shaal, smaz, estoyausente, kjay, Eli-T, saesa: Spanish translations of Umami demo categories
- #3038307 by shaal, saesa, smaz, Eli-T, kjay, rteijeiro, estoyausente: Spanish translation of Umami demo page
- #3038313 by shaal, kjay, paco.gracia, smaz, Eli-T, estoyausente, tunic, saesa, rteijeiro: Spanish translations of Umami demo articles
- #3041699 by kjay, shaal, markconroy: Add the language switcher block to Umami Demo
- #3041143 by tim.plunkett, cboyden, xjm, phenaproxima, rainbreaw: Add ARIA group roles to Layout Builder UI
- #2843147 by Wim Leers, e0ipso, gabesullice, dagmar, xjm, effulgentsia, webchick, dww, Berdir, dawehner, colan, mgalalm, govind.maloo, das-peter, jludwig, ndobromirov, martin107, abhisekmazumdar, nuez, catch, amateescu, pwolanin, mallezie, borisson_, jibran, voleger, plach, GeduR, Grimreaper, apupiales, Sutharsan, RenatoG, michaellander, sergesemashko, dbt102, hampercm, dremy, rpayanm, chriscalip, tstoeckler, keopx, skyredwang, Spleshka, RajeevK, matthew.perry, kaysenlau, jazzdrive3, dsdeiz, ebeyrent, acbramley, deviantintegral, samuel.mortenson, DamienMcKenna, mohit_aghera, ibustos, dpolant, garphy: Add JSON:API to core as a stable module
- #3041107 by tim.plunkett, Wim Leers, xjm: Remove EntityDisplaySectionsTest in favor of a full suite of REST/HAL tests
- #3038901 by Lendude, dww, Mile23: Speed up the tests on DrupalCI by not running slow tests last
- #2998772 by msankhala, hazong, heddn, alexpott: Document how to specify route options in links.menu.yml
Download | Size | md5 hash |
---|---|---|
drupal-8.7.0-beta1.tar.gz | 17 MB | fbcc7fe39bea4350ee36b3c3a3ec6e85 |
drupal-8.7.0-beta1.zip | 27.33 MB | be88c2d9673be526619ea182b13eb737 |