Install

To start a new Drupal project with version 8.1.4:

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.4.tar.gztar.gz 12.01 MB
MD5: 8c07b855ffd028124eb8848526abf4d9
SHA-1: 26d0b35af56247f1cb861629c569fec2b8b2eb83
SHA-256: ed3011c587bf46eb16d8029f559b8fd4062da7a1ccc9da66aba0d6cb0d15803b
Download drupal-8.1.4.zipzip 19.61 MB
MD5: 48de5bab02d2f24b6dea229f10fc5d49
SHA-1: 1d632d39db3ccc90d92177737bf43b7024765385
SHA-256: 3e47acfb054a4647d41a88fe2538680f43ba9da199e746372fe6029676cafc21

Release notes

This is a patch 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.

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

The following important issues are resolved in 8.1.4 (in addition to the dozens of other fixes listed at the end of this post):

Known issues

Due to a mistake in the release process, this release will report itself as 8.1.4-dev rather than 8.1.4. There are no other known regressions.

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

  • 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.

All changes since the last release

  • #1266748 by swentel, Berdir, jcnventura, arlinsandbulte, yched, droplet, amateescu: Changing cardinality lower than highest existing delta causes data loss upon save
  • #2744639 by vasi, mikeryan, boromino, stevector: Taxonomy term hierarchy migration incomplete
  • #2605594 by daffie, pukku, catch, yngens2: Change minimum required sqlite version to 3.7.11
  • #2675648 by Bès, Haza, dawehner, chx: Code after hook_link_alter() invocation does not use the altered data
  • #2698811 by danmuzyka, Wim Leers, jhedstrom, Fabianx: BigPipe unnecessarily renders and sends multiple-occurrence placeholders multiple times when using JS — can cause JS errors
  • #2757427 by alexpott, Xano: Array was modified by the user comparison function in ConfigDependencyManager::getDependentEntities()
  • #2686931 by Mirroar: system_requirements should not call Renderer::render()
  • #2744421 by andypost, Wim Leers: QueryArgsCacheContext::getContext() may return NULL, violates the interface
  • #2756209: Add the new Drupal 7 co-maintainers to MAINTAINERS.txt
  • #2757139 by pfrenssen: Fix visibility of AssertLegacyTrait::buildXPathQuery()
  • #2754477 by alexpott, jonathan1055, mr.baileys, swentel: Unexpected config entity delete due to dependency calculations
  • #2750941 by dawehner, klausi, jibran: Additional BC assertions from WebTestBase to BrowserTestBase
  • #2755667 by marthinal: Fix typo error in WebTestBase
  • Revert "Issue #2664530 by Lendude: Views Combined fields filter with "Contains any word" or "Contains all words" operator results in an incorrect SQL query and a fatal error"
  • #2657110 by claudiu.cristea: ResponsiveImageFormatter should define dependencies to responsive image style entity
  • #2752315 by Eric_A, pfrenssen, RoySegall: Fix visibility of AssertLegacyTrait::assertNoEscaped()
  • Revert "Issue #2675010 by hchonov: Cloned entity will point to the same field objects if the clone was created after an entity translation has been initialized"
  • #2698083 by quietone, Sam152, Mac_Weber, vasi: D6->D8: Migrating links without leading slash leads to fatal error
  • #2664530 by Lendude: Views Combined fields filter with "Contains any word" or "Contains all words" operator results in an incorrect SQL query and a fatal error
  • #2751583 by tstoeckler: Entity::urlRouteParameters() calls getRevisionId() for non-revisionable entities
  • #2751121 by tstoeckler, kiamlaluno: class StatusMessages documentation page contains incorrect markup
  • #2275519 by Nephele, daffie: Unable to use Condition objects with joins
  • #2687003 by alexpott, mikeryan, eojthebrave, xjm, benjy, quietone, catch: Update migrate.api.php to reflect the current API
  • #2751395 by tstoeckler, dawehner: Rewrite EntityUrlTest
  • #2735199 by klausi, naveenvalecha, Eric_A, dawehner, jhodgdon: Convert web tests to browser tests for help module
  • #2752127 by jalpesh, Eric_A: drupal/core-assertion is missing from the drupal/core replace section
  • #2700581 by mikeryan, benjy, heddn, vasi: Destination bundle set in destination plugin, not in process
  • #2384459 by mikran, mbovan, slashrsm, chx, Berdir, yched: Add entity query condition for delta in EFQ
  • #2499239 by Mile23, neclimdul, alexpott, jhedstrom, Mixologic, Crell, Xano, dawehner: Use test suite classes to discover different test types under phpunit, allow contrib harmony with run-tests
  • #1390580 by mohit_aghera, heliogabal, Chernous_dn, andrewmacpherson, mgifford, droplet, Everett Zufelt: Add comments for skip link and main-content anchor in templates
  • #2684213 by amateescu, larowlan, josephdpurcell, dawehner: Preview on forward node revisions throws an error
  • #2754541 by webflo, YesCT: Fix folder location in BrowserTestBase docs
  • #2675010 by hchonov: Cloned entity will point to the same field objects if the clone was created after an entity translation has been initialized
  • #2753905 by Lendude: Add javascript testing for the Views creation wizard
  • #2676552 by justAChris, mbovan, chr.fritsch, gaborpeter, mariancalinro, alexpott, Berdir: File usage view breaks if an entity uses a file that has no canonical link template
  • #2742103 by ekes, dawehner, amateescu: SqlContentEntityStorageSchema::getDedicatedTableSchema() ignores 'unique keys' from the schema definition
  • #2708735 by amateescu, dawehner, markdorison: Creating a draft removes published node from taxonomy view
  • #2723115 by Stefan Freudenberg, mayurjadhav: Count cache configuration does not work as expected
  • #2736109 by klausi, Eric_A, dawehner: Convert web tests to browser tests for action module
  • #2648956 by lokapujya, dawehner, Lendude, sidharrell, jibran, catch, alexpott: Editing a view leaves old keys hanging, results in invalid schema
  • #1377740: revert unintentional theme.inc changes.
  • #2724813 by alexpott, dawehner, jibran, catch: ToolbarIntegrationTest fails randomly on postgres
  • #2464077 by webflo, s_leu, dawehner, Lendude: Menu link overrides are lost after cache rebuild
  • #2728789 by tlyngej: Wrong @see link in CckFieldPluginBase docblock
  • #2711101 by rocketeerbkw: Migrated menu blocks aren't configurable [d7]
  • #2751875 by klausi: BrowserTestBase must enable cache tags in responses
  • #2752645 by sidharth_k: Update masterminds/html5 dependency in composer.lock
  • #1377740 by jbrown, bvanmeurs, catch, anrikun, Jorrit, rpayanm, mvc, mikeytown2, chx: file_unmanaged_move() should issue rename() where possible instead of copy() & unlink()
  • #2691641 by Jo Fitzgerald, benjy: D7 taxonomy description format not migrating
  • #2748553 by mikeryan: Remove unused migration template_test module
  • #2225271 by penyaskito, quietone, svendecabooter, benjy, vasi: Migrate content type language settings from Drupal 6 & 7
  • #2655346 by quietone, benjy: i18n Variable to config: user settings [d6]
  • #2637182 by quietone: i18n Variable to config: system site settings [d6]
  • #2662844 by penyaskito, dawehner, catch: cache.backend.chainedfast misbehaves in some situations
  • #2655336 by quietone: i18n Variable to config: site offline message [d6]
  • #2747269 by chishah92, talhaparacha: Incorrect parameter documentation for FormBuilder::submitForm
  • #2743463 by pcambra, tstoeckler: ImageFormatter calculates cache tags incorrectly
  • #2650812 by Wim Leers, Fabianx, Gábor Hojtsy, chx, dawehner, alexpott: Container::has() doesn't work for service aliases (consequently, decorating services doesn't work)
  • #2464053 by marcoscano, Fabianx: Remove @todo to Improve YamlFileLoader so that we can cache built service definition objects and not just the raw data
  • #2751537 by chx: Race condition in \Drupal\Core\Database\Driver\pgsql\Install\Tasks breaks the testbot
  • #2723123 by agoradesign, milesw: Last imported timestamps not set in map tables
  • #2691659 by Sam152, Jo Fitzgerald: d7 filter weights not migrating to d8
  • #2747723 by mayurjadhav, pashupathi nath gajawada, ccjjmartin: Too many closing parentheses in checkboxes example
  • #2742497 by klausi, naveenvalecha: Convert web tests to browser tests for ban module
  • #2462653 by chx, alexpott, daffie, neclimdul: Connection::getDriverClass doesn't support non-core drivers
  • #2749819 by Fabianx, dawehner: OptimizedPhpArrayDumper does not resolve references via aliases correctly
  • #2685869 by Sam152, Jo Fitzgerald: d7 filter_format weights not migrating to d8
  • #2663758 by Lendude, Chi, no_angel: Broken/missing handler on Custom Block Library view
  • #2686651 by quietone: Same nid in two content types in d6_dump
  • #2744379 by juampynr: Fix typos in documentation of \Drupal\dynamic_page_cache\EventSubscriber\DynamicPageCacheSubscriber
  • #2674508 by Mile23, tim.plunkett: Improve docs for how to properly add container injection into a class that extends FormBase
  • #2742211 by jsdix: Doxygen typo for $cache variable
  • #2744357 by rajeshwari10, pashupathi nath gajawada, chishah92, Eric_A: drupal/core-* components Symfony requirements conflict with drupal/core
  • #2653318 by Wim Leers, aneek, marthinal, dawehner: While in maintenance mode, REST routes respond with HTML instead of XML/JSON/…
  • #2575725 by alexpott, lokapujya, rajeshwari10, Torenware, andrewbelcher, pashupathi nath gajawada, jonathan1055: Uncaught PHP Exception when selecting too many PHPunit tests in UI
  • #2714989 by dawehner, jibran: Views which load the same entity type as entity and non default revision cause fatal in Sql::getCacheTags()
  • #2658438 by kristiaanvandeneynde, Torenware, dawehner, alexpott: Array valued 'extra' values generate invalid SQL in Views joins
  • #2631736 by quietone, jmuzz, Sam152, svendecabooter, benjy: Cckfield Plugins must distinguish core versions
  • Back to dev.
  • Updated version constant for 8.1.3.
  • Drupal 8.1.3, SA-CORE-2016-002 by catch, dawehner, dsnopek, greggles, Plazik, stefan.r, xjm, klausi, mlhess
  • #2706201 by edumarbest: Use $this->connection->query instead of db_query in \Drupal\Core\Database\Driver\sqlite\Schema::findTables
  • #2720077 by rajeshwari10, Vinay15, snehi, gaurav.pahuja, Sonal.Sangale, jhodgdon, joachim, klausi: EntityTypeBundleInfo::getBundleInfo() @return needs more detail
  • #2667574 by dagmar: sqlite/Schema::introspectSchema should throw the created exception
  • #2737743 by anoopjohn, Mile23: node_revision_delete() not returning bool in node.module
  • #2746761 by gabesullice, Wim Leers: QueryArgsCacheContext does not support nested parameters
  • #2734423 by dawehner, jibran: Convert the remaining old kernel tests over
  • #2748467 by Sam152: Allow children of migration test bases to substitute their own fixtures
  • #2747945 by mayurjadhav, Beakerboy: Extra semicolons in QueryInterface example
  • #2744383 by chishah92, Eric_A: drupal/core-dependency-injection is missing from the drupal/core replace section
  • #2744881: jhodgdon stepping away from MAINTAINERS.txt
  • #2729211 by catch, Wim Leers: node_query_node_access_alter() should only add cacheability on GET/HEAD
  • #2705977 by heddn, edysmp: D6/7->D8 migration: User role based block visibility settings doesn't filter missing roles
  • #2732091 by damiankloip: Boolean exposed filter value widget just shows 'True' label
  • #2745915 by tim.plunkett, Wim Leers, davidhernandez, tedbow: StableLibraryOverrideTest does not respect experimental modules
  • #2748375 by stefan.r: BrowserTestBase fatals before showing exceptions
  • #2598038 by alexpott, sethcardoza, quietone, Jaesin: Invalid passwords after D7 to D8 migration
  • #2573635 by Wim Leers, Mac_Weber, lluvigne, dawehner, dimaro, ConfuciusDa1st, rootwork, BR0kEN, unstatu: Url::fromUri() should accept protocol-relative URLs
  • #2742541 by klausi: ApcuBackendTest is skipped in phpunit because of wrong @requires
  • #2744647 by chishah92: \Drupal\block\Entity\Block::conditionPluginManager as pointless line
  • #2744375 by juampynr: Fix typo at OutputStrategyInterface.php
  • #2722621 by anoopjohn: Fix Drupal.Commenting.FunctionComment.InvalidReturn and Drupal.Commenting.FunctionComment.VoidReturn
  • #2744089 by pfrenssen: Fix visibility of AssertLegacyTrait::assertLink()
  • #2714607 by neclimdul: Use phpunit's requires to require some extensions
  • #2705921 by jmk61, Vinay15, chgasparoto, jhodgdon, vegantriathlete, kjl16, joachim: docs for postCreate() should clarify create does not mean save
  • #2740499 by nesta_, lluvigne, rajeshwari10, jhodgdon, er.pushpinderrana, joachim: parameter to DiscoveryTrait::doGetDefinition() is incorrectly documented as optional
  • #2731309 by Vinay15, Ashish.Dalvi, joachim, jhodgdon: docs for deprecated functions in core/includes/entity.inc refer to deprecated entityManager()
  • #2737607 by generalredneck: Migration Source Plugins are not extendable because of ambiguous database field names
  • #2725425 by mfb: Incorrect mime type on generated images
  • #2533220 by snehi, pjonckiere, mirom, chx, jhodgdon, dawehner: RouteBuilderInterface has no docblock
  • Revert "Issue #2735235 by neclimdul: BrowserTestBase standards cleanup"
  • #2735235 by neclimdul: BrowserTestBase standards cleanup
  • #2737825 by markdorison: ESLint error in autocomplete.js
  • #2682585 by heddn, dscl, hanoii, willwh, hussainweb: Rename MigrationCreationTrait as it no longer creates migrations - it configures them
  • #2735045 by klausi, dawehner, jibran: Convert StandardTest to BrowserTestBase by introducing a AssertLegacyTrait and new assertions on the WebAssert
  • #2477899 by dawehner, kevin.dutra, borisson_, bojanz, catch, amateescu: Multiple valued Base fields won't work in Views
  • #2718717 by damiankloip: Assertion error when paging a view using an entity autocomplete exposed filter
  • #2738575 by lluvigne: Parameters to ModuleHandler::invoke() are incorrect
  • #2717483 by pguillard, mikeryan: Empty migration_dependencies gives "Unsupported operand types"
  • #2699267 by Chi: Wrong placeholder format in file_managed_file_save_upload()
  • #2721909 by anoopjohn: Fix Drupal.Commenting.FunctionComment.ReturnCommentIndentation
  • #2722763 by drnikki: Select::extend doc incorrectly says to use base name
  • #2561993 by jhedstrom, jonathanjfshaw, yoroy, emma.maria, mpdonadio: Better labelling for Date time form select elements

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: 6 Jul 2016 at 13:20 UTC
Last updated: 12 Mar 2018 at 21:20 UTC
Bug fixes
Insecure

Other releases