Install

To start a new Drupal project with version 8.1.9:

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.1.9.tar.gztar.gz 12.06 MB
MD5: 4de7c001ecbd5c27e5837c97e40facc2
SHA-1: 0f8f0f2b75b3930288c82885b2be363cd6ec5463
SHA-256: e10f5e8a9533a5fbc08b397af680654c9aed32d7a8def377cb9362c3b35f4774
Download drupal-8.1.9.zipzip 19.71 MB
MD5: d2b663af6531bdda4a410ab78bfcc8e3
SHA-1: bffaeef7ee667f05d5deb8df991f1b823bc9ecf2
SHA-256: 238b59d4ef64071ce864a2b7957c4f57e3dfdeb9c172015eca821d20f06fa7fb

Release notes

This is a patch release of Drupal 8 and is ready for use on production sites. See the CHANGELOG.txt for an extensive summary of changes and improvements since Drupal 7! Learn more about Drupal 8.

This is also the final scheduled patch release of the 8.1.x series. The next stable release planned for Drupal 8 will be the Drupal 8.2.0 minor release, which is scheduled for October 5, 2016. Sites should plan to update to 8.2.0 once it is released in order to continue receiving bug and security fixes. A release candidate is available for testing.

This release only contains bug fixes, along with documentation and testing improvements.

  • It is especially important when updating to this release to follow the instructions when updating core, specifically removing the /core and /vendor directories before replacing files, so that removed files are properly removed. Failure to do so may result in fatal errors after the upgrade.
  • There is not yet per-commit testing for MySQL 5.7.9 or MariaDB 10.1.8 (both released October 2015), but there are no known issues with them. We intend to add per-commit testing on one of these databases in the future.
  • Particular Apache configurations may have issues with serving public file assets. Issue: #2619250: Disabling -MultiViews in .htaccess can cause 500 errors

Search the issue queue for all known issues.

Changes since 8.1.8:

  • #2787187 by claudiu.cristea, grahl, azinck, Fabianx, dawehner: Data loss: Deleting a translation of an entity deletes all file_usage entries for files referenced by the entity
  • Revert "Issue #2787187 by claudiu.cristea, grahl, azinck: Data loss: Deleting a translation of an entity deletes all file_usage entries for files referenced by the entity"
  • #2787187 by claudiu.cristea, grahl, azinck: Data loss: Deleting a translation of an entity deletes all file_usage entries for files referenced by the entity
  • Revert "Issue #2551785 by roland.molnar, nod_, MattA: Unable to scroll toolbar menu items or show contextual links on mobile browsers"
  • #2682461 by arunkumark, jonhattan, quietone, benjy, xjm, RavindraSingh, catch: Add links to documentation in all migrate process plugins
  • #2760905 by anavarre, claudiu.cristea, amitaibu, dawehner: The documentation should be more explicit about PHPUnit requesting the webserver user to perform all functional tests
  • Revert "Issue #2744197 by Boobaa, Wim Leers: Proper private file support for images uploaded via EditorImageDialog"
  • #2744197 by Boobaa, Wim Leers: Proper private file support for images uploaded via EditorImageDialog
  • #2794207 by alexpott: sys_get_temp_dir() can return a path with a trailing slash
  • #2551785 by roland.molnar, nod_, MattA: Unable to scroll toolbar menu items or show contextual links on mobile browsers
  • #2787619 by hussainweb, phenaproxima, alexpott: CckMigration does not type hint CckPluginManager correctly
  • #2618332 by phenaproxima, jonhattan, rakesh.gectcr, mikeryan, neclimdul: Better handle replacement of missing filters with filter_null
  • #2787639 by hussainweb: MigrateCckFieldPluginManager mixes up its behaviour for creating and loading definitions
  • #2788343 by mikeker: Entity Reference error message has "@value (@id)" in it
  • #2764699 by catch, lainosantos: class "Drupal\user\UserServiceProvider" not found
  • #2783117 by eloiv: views.api.php variable $view->name does not exist
  • #2777451 by markdorison, er.pushpinderrana, alexpott: @see references not forming links in documentation
  • #2490290 by willzyx, Mile23, alexpott, tim.plunkett: Subclasses of EntityListBuilder incorrectly override the #empty message
  • #2786195 by larowlan: Deleted block is not removed from the block list
  • Revert "Issue #2786195 by larowlan: Deleted block is not removed from the block list"
  • #2782009 by alexpott, swentel, reblutus: Create a field with the same name as one being purged results in data destruction of the new field
  • #2706951 by Jo Fitzgerald: Field instance migration rollback fails
  • #2706947 by Jo Fitzgerald: Field migration rollback fails
  • #2705531 by Jo Fitzgerald: View mode migration rollback fails
  • #2785241 by quietone, Gábor Hojtsy: Add a translated node to d7_dump
  • #2783483: Make Scott Reeves (Cottser) a full core committer for Drupal 8
  • #2747177 by markdorison, chx, Sonal.Sangale, andypost, joachim, Berdir, eojthebrave: Add docs on possible values of $operation in hook_entity_field_access()
  • #2740983 by VitalyM, alexpott: Configuration system doesn't allow importing a single item from a non-default collection
  • #2787183 by Berdir: LinkItem::getUrl() fails if options are NULL
  • #2515050 by alexpott, pwolanin, YesCT, David_Rothstein, prasad_gogate: A valid one-time login link may be leaked by the referer header to 3rd parties
  • #2762173 by megansanicki, artinst4, YesCT, mradcliffe, a_thakur, vermauv, cilefen, mathieso, pwolanin, mlhess: Add "composer install" step to install.txt file for when Drupal is downloaded using git
  • #2702227 by claudiu.cristea, jeroen.b, marco.giaco: Image styles for private files are serving the original instead of derivative
  • #2785155 by alexpott: _node_access_rebuild_batch_operation uses queries that check access
  • #2786389 by geerlingguy: Typo in documentation for MigratePreRowSaveEvent
  • #2070559 by Mile23: Harmonize PHPUnit and run-tests to both scan for themes
  • #2406533 by alexpott, willzyx, olli, Berdir, DamienMcKenna, Dom., Crell, Wim Leers, mdrummond, mirzu, enjoyiacm, catch: edit-form, delete-form etc.
    tags added on /node/{node} are invalid according to W3C Validator
  • #2785913 by tim.plunkett: StableTemplateOverrideTest does not respect experimental modules
  • #2783849 by Shashwat Purav, kiamlaluno: hook_filetransfer_info() documentation has not been updated for Drupal 8
  • #2754597 by dawehner: Add Lendude to MAINTAINERS.txt for the views and views_ui module
  • #2783749 by alexpott, bircher: [regression] Config directories should be created by installer if present in setings.php and if possible
  • #2780549 by andrewbelcher, alexpott, mpdonadio: FormattedDateDiff::$maxAge never applied to caches
  • #2765437 by gambry, alexpott: _user_mail_notify() always sends emails even if is FALSE
  • #2763283 by naught101, thomas73: Failure on comments with no subject
  • #2747073 by Mile23: Fix Drupal CS regressions for Coder 8.2.8
  • #2778673 by neclimdul: UnitTestCase::getStringTranslationStub() incorrectly documents its return type
  • #2640464 by samuel.mortenson, Chernous_dn, droplet, Wim Leers: Links styled as buttons not placed inside Dialog's button pane — prevents "cancel" link/button from showing up
  • #2579343 by Lendude, drclaw, heddn, mikeryan: Migrate rollback does not rollback failed items
  • #2778461 by kiamlaluno, joachim: Update hook_cron() sample code
  • #2780405 by kiamlaluno: ConfigFormBase::buildForm() comment contain a reference to a theme hook, which is a function that doesn't exist
  • #2611638 by Wim Leers, Nikhilesh Gupta: hook_entity_query_alter() is dead, remove it from entity.api.php
  • #2773389 by martin107, claudiu.cristea, klausi: BrowserTestBase::getTextContent() wrongly returns the raw content
  • #2755043 by damiankloip: VIews field relationships break when the field name is too long
  • #2776779 by juampynr: Fix code example in QueryInterface::condition()
  • #2777323 by timmillwood: Add dixon_ as Workflow Initiative coordinator
  • #2778809 by chx: _entity_access is actually usable but you'd never tell that from the class doxygen

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: 7 Sep 2016 at 19:22 UTC
Last updated: 12 Mar 2018 at 21:22 UTC
Bug fixes
Insecure

Other releases