Install
To start a new Drupal project with version 8.2.4: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 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.2.4 (in addition to the dozens of other fixes listed at the end of this post):
- [regression] REST in Drupal 8.2.x does not allow HTTP methods other than GET/PATCH/POST/DELETE: OPTIONS, PUT, et cetera all fail
- CommentResourceTestBase::testPostDxWithoutCriticalBaseFields() always fails on PHP 5.6 & MySQL 5.5 (works fine on other PHP versions)
- Entity query allows to specify entity type ID for reference fields
- md_entity destination plugin deprecated
Update instructions
Beginning with 8.2.3, packaged Drupal releases no longer contain development PHP libraries. See Drupal 8 will no longer include dev dependencies in release packages for more information.
Known issues
There are no known regressions in this release.
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:
- #2801777: Give users the option to prevent Drupal from automatically marking unused files as temporary
- #2708411: File usage not incremented when adding new translation
- #1239558: Deleting a node with revisions does not release file usage
- #2666700: User profile images unexpectedly deleted
- #2810355: Images lost when changing node language
The following issues may affect people running this release on specific hosting environments:
- Windows/IIS environments may encounter site errors due to #2606772: Long Twig cache directories can cause failures on some filesystems
- 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
Changes since 8.2.3:
- #2726803 by hussainweb, jmuzz, Jo Fitzgerald: Field formatters with names different than their field type can not be migrated
- #2824165 by tim.plunkett: Remove brittleness from ConfigEntityStorageTest
- #2717969 by Wim Leers, benelori, dawehner: REST views: Views field is not displayed as token, if exclude flag is set and the display is RestExport
- #2827656 by maxocub, aditya.n: Once a process plugin returns multiple values, all following plugins are expected to handle multiple values
- #2756401 by claudiu.cristea, pfrenssen, sandervd, gielfeldt, alexpott, amateescu, dawehner: EntityAutocomplete form element validation is too strict
- #2698909 by Berdir, andypost, jibran, tim.plunkett, lauriii, tstoeckler, dawehner: EntityViewBuilder uses non-existing #theme hooks
- #2820200 by altrugon, bkosborne, thpoul: Display resize icon for CKEditor on Seven theme
- #2826763 by tedbow, samuel.mortenson: Outside In motion selectors not scoped down enough
- #2810621 by Gábor Hojtsy, dawehner, xjm, jhodgdon, klausi, Wim Leers: Improve core.api.php documentation about browsertests and javascript tests
- #2830485 by klausi, catch, michielnugter: \Drupal\Tests\outside_in\FunctionalJavascript\OutsideInBlockFormTest fails randomly
- #2811841 by hchonov, tstoeckler, Berdir: Add test coverage ensuring user input is mapped on the correct form elements when elements are reordered
- #2832013 by Wim Leers, michielnugter, catch: CommentResourceTestBase::testPostDxWithoutCriticalBaseFields() always fails on PHP 5.6 & MySQL 5.5 (works fine on other PHP versions)
- #2824576 by Wim Leers: Delete old REST test coverage: (Read|Create|Update|Delete)Test, deprecate RESTTestBase
- #2831525 by Berdir: Add DependencySerializationTrait to ContextDefinition
- #2830485 by klausi, michielnugter: \Drupal\Tests\outside_in\FunctionalJavascript\OutsideInBlockFormTest fails randomly
- #2828319 by mradcliffe, Wim Leers, neclimdul: [regression] REST in Drupal 8.2.x does not allow HTTP methods other than GET/PATCH/POST/DELETE: OPTIONS, PUT, et cetera all fail
- #2737719 by Wim Leers, dawehner: EntityResource: Provide comprehensive test coverage: for every entity type, every format, every method
- #2817115 by tstoeckler, dawehner, cilefen: JavascriptTestBase::tearDown() fails if $this->mink is not set
- #2609252 by eiriksm, Ginovski, lokapujya, toncic, Arla, Berdir, chx: Boolean field with #access FALSE cause EntityStorageException
- #2785997 by chanderbhushan, faline, mallezie, dawehner, mr.baileys: Clean up guzzle declaration in core tests
- #2826389 by alexpott, kmoll, Robin Monks, Berdir, tbonomelli: Draggable List Builder has no pager
- Revert "Issue #2737719 by Wim Leers, dawehner: EntityResource: Provide comprehensive test coverage: for every entity type, every format, every method"
- #2502195 by vijaycs85, larowlan: \Drupal\Core\StringTranslation\Translator\CustomStrings should be serializable, but contain \Drupal\Core\Site\Settings which is not
- #2680379 by hchonov, mkalkbrenner, cilefen: services.yml and settings.local.php are not included if settings.php is a symlink
- #2820888 by lhangea, Wim Leers: Cookie authentication: the user.login.http route never supports the 'hal_json' format or some other format, depending on module order
- #2830196 by Lendude: Click sorting EntityOperations field leads to an Exception being thrown
- #2829791 by YesCT: Fix exception message for MachineNameController replace_token query parameter
- Revert "Issue #2746671 by Jo Fitzgerald, stella, andrewmacpherson, hussainweb, tom friedhof, chriscalip: CCK field data not available for D7 taxonomy term migrations"
- #2823600 by cebasqueira, jungle, amit.drupal, shashikant_chauhan: Incorrect case in pre_render callback in TextTrimmedFormatter::viewElements()
- #2543568 by mikeryan, quietone, Ryan Weal, chipway, iMiksu, heddn, alexpott: Remove the md_entity destination plugin hack
- #2746671 by Jo Fitzgerald, stella, andrewmacpherson, hussainweb, tom friedhof, chriscalip: CCK field data not available for D7 taxonomy term migrations
- #2767643 by maxocub, TrevorBradley, sylus, heddn, mikeryan: Scalar to array migration returns NULL
- #2679913 by kekkis, xjm, quietone: Fix use of markup in strings in Migrate UI
- #2828364 by dawehner: Default media stopped to render due to recursion protection being to protective
- #2424791 by jibran, dpi, chx, Berdir: Entity query hardcodes entity_reference and entity specifier
- #2829005 by claudiu.cristea: Add documentation for migration plugin discovery alter
- #2707387 by quietone, Adita, heddn, phenaproxima, chx: D6/7->D8 migration: Menu_links migration is not working because option parameters were not found
- #2621798 by quietone, hussainweb, kekkis, Yogesh Pawar, Jo Fitzgerald: Variable to config: global theme settings [d7]
- #2611066 by hussainweb, svendecabooter, brunodbo, generalredneck, iMiksu, joelpittet: Migration path to entity reference field from 7.x
- #2687851 by quietone, mikeryan, heddn, xjm, catch: Refactor run() method on Migrate UI batch and remove the $operation parameter
- #2763787 by pwolanin, nerdstein, rlhawk, YesCT, tuutti, slasher13, alexpott, klausi, therealssj, TravisCarden, dawehner, maximpodorov, catch, talhaparacha, Eric_A: Upgrade random_compat to latest version in composer.json
- #2828372 by Sut3kh: Mistake in hook_block_build_alter example
- #2827748 by faline, felribeiro, tstoeckler: UuidItem should implement generateSampleValue
- #2530634 by larowlan, Lendude, acbramley, webflo, dawehner, alexpott: Value of last_render_text leaks into the next Dropbutton
- #2828642 by eojthebrave: Wrong method signature in documentation for subscribing to an event
- #2225293 by maxocub, penyaskito, Gábor Hojtsy, quietone, mitrpaka, Sonal.Sangale, rvilar, phenaproxima, Ryan Weal: Migrate D6 and D7 language negotiation settings
- #2787923 by claudiu.cristea, dawehner, Jaesin, klausi: Add a getDrupalSettings() method to JavascriptTestBase
- Revert "Issue #2787923 by claudiu.cristea, dawehner, Jaesin, klausi: Add a getDrupalSettings() method to JavascriptTestBase"
- #2353709 by quietone, maxocub, sidharthap, phenaproxima, Gábor Hojtsy: Variables to config: language.types [d7]
- #2755545 by michielnugter, balagan: Docblock shows wrong code to use instead of deprecated functions
- #2827047 by faline, tstoeckler: Add http.response.debug_cacheability_headers: true to development.services.yml
- #2755865 by quietone, mikeryan, alexpott, xjm: Describe Migration plugins and their relationship to source, process and destination plugins
- #2808121 by klausi, xjm, dawehner: Add PHPUnit initiative to MAINTAINERS.txt
- #2827097 by pfrenssen: $plugin_id is a string, not an array
- Revert "Issue #2808121 by klausi, xjm, dawehner: Add PHPUnit initiative to MAINTAINERS.txt"
- #1926000 by alansaviolobo, longwave, Emin Sulaiman, jungle: Language name Uyghur in Cyrillic alphabet
- #2361481 by Lendude, evanjenkins, xjm, dawehner, Zekvyrin: Argument validations doesn't set the block title anymore
- Revert "Issue #2361481 by Lendude, evanjenkins, xjm, dawehner, Zekvyrin: Argument validations doesn't set the block title anymore"
- #2809549 by Lendude: Convert AJAX part of \Drupal\views\Tests\Wizard\BasicTest::testWizardForm to JavascriptTestBase and fix resulting Block row display options
- #2799209 by Lendude, Manuel Garcia, Berdir, dawehner: Incorrect permission check in views node access filter
- #2824912 by Sam152, chr.fritsch, timmillwood: The moderation_state field incorrectly reports being read-only
- #2717629 by Lendude, michielnugter, droplet, catapipper, dbyers55: Add filter group for a View fails
- #2826038 by dermario: Fix spelling of testWriteProectedDestination
- #2825154 by michael_wojcik, tkoleary, tedbow: "offcanvas-lining" div inappropriately covers whole page
- #2818155 by Yogesh Pawar, edgewl2: Add comments to d6_file stating the conflicts with d6_user_picture_file
- #2572553 by larowlan, LoMo, znerol, Upchuk, fil00dl, Truptti, maartendeblock, andypost, tim.plunkett, keesje, catch: Incomprehensible validation message when anonymous tries to submit comment with an existing username
- Revert "Issue #2717599 by thpoul, effulgentsia, Wim Leers, helenc, criz, shashikant_chauhan, snehi, zserno, pashupathi nath gajawada, ifrik, webchick, Jeff Burnz, xjm, valthebald, Bojhan, yoroy, mlewand: Text editors do not respect : make that clear in the formatted text field widgets"
- #2717599 by thpoul, effulgentsia, Wim Leers, helenc, criz, shashikant_chauhan, snehi, zserno, pashupathi nath gajawada, ifrik, webchick, Jeff Burnz, xjm, valthebald, Bojhan, yoroy, mlewand: Text editors do not respect : make that clear in the formatted text field widgets
- #2820979 by lomasr, icicleking, arunkumark, anish.a, jaiiali, Wim Leers: Broken link in description of CKEditor language plugin
- #2818375 by hardik.p, lussoluca: links.html.twig uses url not href
- #2689607 by morenstrat, Ante890: Language from URL negotiator does not add request query to language switcher links
- #2746293 by maxocub, Gábor Hojtsy, penyaskito: Migrate content_translation_source when migrating node translations
- #2787881 by timmillwood, amateescu, Sam152, dawehner, alexpott: Moderating a non-translatable entity type throws exception
- #1854480 by xjm, fago, jhodgdon, YesCT, tim.plunkett, davidhernandez, cweagans, Crell, Bojhan, David_Rothstein, chx, rcross, LewisNyman, bowersox, Frando, ParisLiakos, yched: Remove inactive maintainers from MAINTAINERS.txt
- #2825088 by kasperg: Migration property not defined in Drupal\migrate\Plugin\migrate\process\Migration
- #2823589 by droplet, jungle: Improve IME handling on Autocomplete
- #2780583 by Lendude, joachim, Nitebreed: Views field token replacement patterns aren't showing in area handlers admin form
- Revert "Issue #2819219 by BR0kEN: SystemMainBlock could lead to fatal error in case if "setMainContent" method will not be called"
- #2819219 by BR0kEN: SystemMainBlock could lead to fatal error in case if "setMainContent" method will not be called
- #2824787 by xjm, tim.plunkett, dawehner, Lendude, damiankloip: Do not list Views UI separately from Views in MAINTAINERS.txt
- #2824868 by hardik.p, klausi: MigrateSourcePluginManager::$classLoader property is unused
- #2821263 by tedbow: If a toolbar item besides the admin menu is open when going into edit mode it is not closed
- #2714045 by Lendude, joelpittet, anouschka42, lomasr, dawehner: Views: HTML is escaped with aggregation enabled
- #2824727 by martin107: Malformed inheritdoc prevents Pharborist scripts from working
- #2823809 by er.pushpinderrana, joachim: incorrect property docs for EntityDisplayBase::displayContext
- #2822499 by klausi: CsrfTokenGenerator should use timing attack safe string comparison
- #2816857 by Adita, hussainweb, Hardik2309, hardik.p, heddn: Process plugin link_uri shouldn't be in d6 namespace
- #2818157 by Adita, mikeryan, heddn, alexpott: Add comments to remove entity ids in migration
- #2585899 by willzyx, mr.baileys, esod, dawehner: HtmlResponseAttachmentsProcessor::processHtmlHeadLink produces invalid HTTP Link header
- #2822429 by Berdir, catch: template_preprocess_responsive_image() does unnecessary IO by creating Image objects
- #2809555 by jonathanjfshaw, alexpott, amateescu, Lendude, catch: ER views autocomplete fail to recognise exact matches typed in
- #2690001 by quietone, vasi, mikeryan, infopicard, phenaproxima: Migrate: Don't deduplicate forum vocabulary
- #2824444 by Adita, mikeryan: Remove obsolete try/catch from d6_cck_file
- #2824410 by jhodgdon: DiffFormatter component class has leak from core class
- #2820589 by heddn, mikeryan: Add heddn to MAINTAINERS.txt for Migrate and Migrate (Drupal) subsystems