Install

To start a new Drupal project with version 8.2.0:

To update your site and all dependencies to the latest version of Drupal:

To update your site to this specific release:
Pinning to a specific release may make it more challenging to update your site in future, see composer documentation for managing pinned versions

Using Composer to manage Drupal site dependencies

Downloads

Download drupal-8.2.0.tar.gztar.gz 12.27 MB
MD5: 5d0c57d2fd6338d60a5e311acc188b44
SHA-1: 913ac9b6706194eb07db6e4a450223de84c332ef
SHA-256: 94611a63c8cfef63ce65cae5cda0b39c3c84132f969bfb726f988317c55765fd
Download drupal-8.2.0.zipzip 20.15 MB
MD5: 07b04f61b2302d34c21102c790d3ca7a
SHA-1: 4b0fdd4aa2c975d58831ca609b2a2c0b12321a08
SHA-256: 48c579a2159f0c45c5179ef168a24d3acf446cc5a6919a0526f82aa2d177b8f6

Release notes

Update: Drupal 8.2.1 is now available.

This is a minor version (feature release) of Drupal 8 and is ready for use on production sites. See the CHANGELOG.txt for a summary of changes and improvements since the last minor release. Learn more about Drupal 8 and the Drupal 8 release cycle.

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.

Critical bug fixes

Improved authoring features

Improved site building and administrative features

Improved web services features

Improved performance and scalability

Testing improvements

See the Drupal core change records for additional information on API changes. Translators should take note of a handful of minor string changes since the last release.

Experimental modules

The modules listed in this section are considered experimental for this release. Experimental modules are provided with Drupal core for testing purposes, but are not yet fully supported.

Increased stability in 8.2.0

BigPipe (beta stability)
Provides an advanced implementation of Facebook's BigPipe page rendering strategy, leading to greatly improved perceived performance for pages with dynamic, personalized, or uncacheable content. (See the BigPipe handbook page.) BigPipe is now considered beta stability, which means it is ready for use and testing by early adopters, and the API is stable enough for developers to begin using and extending it. One additional key feature is planned for the 8.3.x branch, and other changes may happen as needed to fix bugs.

New in 8.2.0

Place Block (alpha stability)
This new 8.2.x feature allows the user to place a block on any page and see the region where it will be displayed, without having to navigate to a backend administration form.
Settings Tray (machine name: outside_in, alpha stability)
This is a prototype of Dries's proposed Outside-In usability enhancements, which allow configuring page elements such as blocks from the front-end of your site. See the roadmap of outstanding issues, which includes both planned improvements and known accessibility and interaction bugs.
Content Moderation (alpha stability)
This new experimental feature allows defining content workflow states such as Draft, Archived, and Published as well as which roles have the ability to move content between one state and another. See the Content Moderation roadmap for the next steps for this module.
Datetime Range (alpha stability)
The experimental DateTime Range module provides a new field type that allows end dates. This is important for helping contributed modules like the Calendar module to work with Drupal 8 core. There are some small presentational, usability, accessibility, and translatability issues with the field, and its API may be refactored somewhat as we improve both it and the stable DateTime module. However, the data model for the field has consensus, so contrib and site authors can begin working with the module so long as they are willing to manage the risks of using an alpha experimental module. You can read the DateTime Range module plan for the next steps to make this useful field a part of the Standard installation.

Still under development

Migrate, Migrate Drupal, and Migrate Upgrade UI (alpha stability)
Use these modules to migrate Drupal 6 or 7 sites onto Drupal 8. See the user guide on upgrading from Drupal 6 or 7 to Drupal 8 for more information. Always back up your data before performing a migration.
Inline Form Errors (alpha stability)
This provides a proof-of-concept for showing form errors inline for improved accessibility. This module has outstanding issues, some of which are significant. This module may be removed from core in 8.3.x if the issues are not resolved within the next six months.

Third-party library updates

Changed coding standards

Drupal 8.2.0 has adopted the following coding standards changes:

Known issues

Drupal 8.2.0 introduces a critical regression for sites using the Rules module that causes blocks to not appear after being placed. Other modules may be affected as well. We are working on a fix for this bug, but in the interim, workarounds are to remain on 8.1.10 until a complete fix is available, or to temporarily disable Rules. Follow #2811519: Blocks do not appear after being placed for more information.

Drupal 8 currently has a number of known issues related to incorrect tracking of file usage, which can result in files being unexpectedly deleted from a site. (These issues also existed in 8.0.x and 8.1.x but have been recently discovered.) Site owners experiencing unexplained file loss should consider setting "Delete orphaned files" to "Never" on /admin/config/media/file-system until these issues are resolved, and note the following issues:

The following issues may affect people running Drupal 8.2.0 on specific hosting environments:

Search the issue queue for all known issues.

All changes since 8.2.0-rc2

  • #2811357 by alexpott, mattlt, jibran: Fix CHANGELOG.txt for 8.2.0 to remove paragonie/random_compat update
  • #2795845 by effulgentsia, xjm, dawehner, cilefen, alexpott, timmillwood, Gábor Hojtsy, Wim Leers, chx, Cottser, catch, vaplas: Add changelog for Drupal 8.2.0
  • #2807705 by alexpott, dawehner, aburke626: FormattableMarkup::placeholderFormat() can result in unsafe replacements
  • #2809853 by joelpittet: Xss::filterAdmin() typo
  • #2782309 by samuel.mortenson, martin107: Refactor File and Image related image field creation logic into a new trait
  • #2734663 by klausi, jibran, dawehner, naveenvalecha: Update deprecation message for old KernelTestBase in simpletest
  • #2801851 by shashikant_chauhan, Yogesh Pawar, phenaproxima, mikeryan: Remove system-of-record APIs from migrate
  • #2783079 by david_garcia, alexpott: DRUPAL-SA-CORE-2016-003 Completely broke IIS drupal deployments
  • Revert "Issue #2662844 by penyaskito, dawehner, catch: cache.backend.chainedfast misbehaves in some situations"
  • #2806827 by shashikant_chauhan, joachim: incorrect sample code in hook_node_links_alter()
  • #2808497 by klausi, alexpott: Prophecy mocking broken on PHP 7 because of old phpunit version
  • #2485385 by phenaproxima, quietone, alexpott, mikeryan, Berdir, blazey, xjm, hussainweb, catch, heddn, benjy: Move highwater field support to the source plugin, and do not expose its internals on MigrationInterface
  • #2805213 by agoradesign: Incorrect documentation for EntityAccessControlHandler::checkFieldAccess()
  • #2804525 by shashikant_chauhan, joachim: EntityTypeManager should mention hook_entity_type_build()
  • #2807689 by cilefen: Add cilefen as a provisional maintainer to MAINTAINERS.txt
  • #2706405 by heddn, edysmp, davidparedes21, mikeryan, phenaproxima: File migrations *always* copy in files, even if the files were off-line copied to destination
  • #2807271 by Mile23: run-tests.sh needs to output an exception to stderr for the testbot
  • #2807171 by alexpott: Use the correct testing table prefix in simpletest_clean_database()
  • #2776235 by mikeryan, alexpott: Cached autoloader misses cause failures when missed class becomes available
  • #2674152 by Jo Fitzgerald, hussainweb: D7 User fields content not migrating first time
  • #2791119 by phenaproxima, quietone, chx, mikeryan, benjy: Write meaningful Migrate source tests
  • #2804675 by alexpott, hideaway: Tests using TestDatabase class are stuck in an infinite loop in Windows (8.2.0-rc2 only)
  • #2567715 by marthinal, hgoto, jpd4nt, mr.baileys, Wim Leers, alexpott: #markup generated by #pre_render callbacks do not get processed by ensureMarkupIsSafe()
  • #2738567 by jmuzz, mtift, claudiu.cristea, dawehner, samuel.mortenson: Add test trait for drupalGetTestFiles and drupalCompareFile
  • #2681869 by mikeryan, benjy: Provide clean way to merge configuration into migration plugins
  • #2684567 by gnuget, chx, heddn, vasi, mikeryan: Requiring a migration w/ a source plugin using a generator fatals
  • #2773733 by claudiu.cristea, klausi, dawehner: Fix AssertLegacyTrait::assert(No)Text to handle html encoded strings (part 3)
  • #2500533 by quietone, phenaproxima: Upgrade path for System 7.x
  • #2798097 by klausi, claudiu.cristea: Move all kernel tests to their correct phpunit location
  • #2802719 by maxocub: Publishing status option migrate to empty checkbox
  • #2753939 by phenaproxima, alexpott: BlockRegion process plugin should be source theme-aware
  • #2803117 by chx: JavascriptTestBase catches the wrong exception
  • #2785589 by tedbow, nod_, droplet, drpal, alexpott, Wim Leers, xjm: Fix js and jsdoc of outside-in module
  • #2798609 by hardik.p, shashikant_chauhan, naveenvalecha, joachim, daffie: field.purge.inc points to php.net delete function
  • #2801551 by gianani: getBundleEntityType() can return NULL
  • Revert "Issue #2763787 by nerdstein, rlhawk, slasher13, therealssj, TravisCarden: Upgrade random_compat to latest version"
  • #2800703 by Shashwat Purav: syntax error in deprecation notice's sample code
  • #2773185 by Wim Leers, effulgentsia, dawehner: Fix nits in \Drupal\rest\Entity\ConfigDependencies
  • #2798523 by naveenvalecha: missing @param in ContactFormEditForm constructor
  • #2797721 by jp.stacey: Custom form handler's submitForm not called when using example in documentation
  • #2802301 by tstoeckler: Use route providers for ModerationState(|Transition)
  • #2801855 by dbt102: Add_content_moderation_help
  • #2795579 by martin107, klausi, dawehner: Adapt assertCacheContexts to not rely on the return value of assertIdentical
  • #2771187 by Lendude: Add javascript testing for pagination on AJAX enabled views
  • #2690389 by reszli, mikeryan, Gábor Hojtsy, juancasantito, zsofi.major, edgewl2, alexpott, jlbellido, penyaskito: Fix string translation in MigrateUpgradeRunBatch
  • #2794735 by harings_rob: Wrong documentation on Drupal\rest\Plugin\rest\resource\EntityResource

What’s next?

  1. Learn how to install Drupal
  2. Learn how to update Drupal
  3. Extend Drupal to do more
  4. Get training
  5. Check out what others built
Created by: catch
Created on: 5 Oct 2016 at 09:47 UTC
Last updated: 12 Mar 2018 at 21:24 UTC
Bug fixes
New features
Insecure

Other releases