Install
To start a new Drupal project with version 8.1.0-beta2@beta: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 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 beta 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. Note that both policies have been updated for the 8.1.x release.
Translators should take note of a handful of minor string changes in this minor release.
The following important issues are resolved in 8.1.0-beta2 (in addition to the dozens of other fixes listed at the end of this post):
Bug fixes for recent regressions from 8.0.x
- #2678574: Symfony 2.8 requirements change: required PHP iconv extension is nowhere documented
- #2674780: Unexpected API change in UrlGenerator::generate()
Changed requirements
- #1475510: Remove external dependencies from the core repo and let Composer manage the dependencies instead: Sites installed from a git clone must now use
composer install
to get the needed dependencies. See External dependencies removed from the core repo and managed by Composer instead for more information.
Migrate
- #2625696: Make migrations themselves plugins instead of config entities
- #2683421: Remove incremental and rollback options from the UI (and add them back when they are more stable): The alpha-stability Drupal Upgrade UI module does not include options for incremental or rollback migrations. Support for incremental migrations through the UI will be re-added but we need help with testing this key feature and fixing bugs with it. (Rollback support may not be added until a later release.) Both incremental migration and rollbacks should still be possible using Drush.
Added features
These features have been added in addition to the features added in 8.1.0-beta1.
API additions
Known issues
There is one remaining known regression from the 8.0.x series in 8.1.0-beta2:
The following issues may affect people running Drupal 8.1.0-beta2 on specific hosting environments:
- Installs on php-fpm environments may see fatal errors on enabling modules, due to #2572293: Do not rebuild router in kernel.terminate.
- 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 8.1.0-beta1
- #2683421 by xjm, alexpott, hussainweb: Remove incremental and rollback options from the UI (and add them back when they are more stable)
- #2679883 by lokapujya: Audit use of YAML to ensure we're not using deprecated syntax
- #2651986 by maxocub, balagan, Tom Robert, Kristen Pol, tstoeckler: Local task link "Translate" is not translated
- #2674408 by alexpott, dawehner: Fix "Drupal.Classes.UnusedUseStatement" standard in core
- #2535660 by david_garcia: PDO Exception in Node Search Plugin
- #2684141 by benjy, dawehner: Convert migrate kernel tests to KernelTestBaseTNG
- #2690917 by prics, dawehner: Use mini pager by default for new views
- #2274153 by dixon_, Wim Leers: Make RESTTestBase::httpRequest() work with HEAD requests
- #2650246 by swentel, Wim Leers: Only emit Contextual Links data- attributes when actually necessary
- #2625138 by almaudoh, Oleksiy: EntityRepository::loadEntityByUuid() implementation does not match EntityRepositoryInterface::loadEntityByUuid() @return documentation
- #2688273 by xjm, yoroy: Remove emotional language from Inline Form Errors description and make it more concise
- #2682705 by davidwbarratt, alexpott, vprocessor, miiimooo, milesw: Migrate process plugin does not save stubs to the idmap, leads to duplicates and broken references
- #2669418 by pwolanin: Php Storage not defining secret index
- #2688813 by sidharthap: Documentation for FieldPluginBase::addSelfTokens is missing "__"
- #2686765 by sidharthap, thhafner: cacheUntilEntityChanges() is deprecated and should be replaced with addCacheableDependency()
- #2573975 by alexpott, juampynr, Berdir, edurenye: function_exists check in PluralTranslatableString is wrong
- #2609874 by tstoeckler, mikeker, Kristen Pol, tassilogroeper: Boolean field "On label" and "Off label" are not translatable
- #2683579 by alexpott, benjy: Improve migrate UI tests
- Revert "Issue #2469713 by dawehner, pfrenssen, alexpott, elachlan, Mixologic, larowlan, hussainweb, benjy, jibran, Wim Leers, isntall: Step 2: Create a JavaScriptTestBase using PhantomJs Driver/Binary"
- #2469713 by dawehner, pfrenssen, alexpott, elachlan, Mixologic, larowlan, hussainweb, benjy, jibran, Wim Leers, isntall: Step 2: Create a JavaScriptTestBase using PhantomJs Driver/Binary
- #2687837 by alexpott: run-tests.sh --types does not work with --directory
- #2664274 by alexpott, bojanz, fortis, Mile23, arknoll: Combination of --prefer-dist and .gitattributes confuses our vendor test cleanup
- Revert "Issue #2469713 by dawehner, pfrenssen, elachlan, Mixologic, larowlan, alexpott, hussainweb: Step 2: Create a JavaScriptTestBase using PhantomJs Driver/Binary"
- #2553655 by dawehner, Berdir, martin107: Convert ViewKernelTestBase to use KernelTestBaseTNG
- #2469713 by dawehner, pfrenssen, elachlan, Mixologic, larowlan, alexpott, hussainweb: Step 2: Create a JavaScriptTestBase using PhantomJs Driver/Binary
- Revert "Issue #2609874 by tstoeckler, Kristen Pol, tassilogroeper: Boolean field "On label" and "Off label" are not translatable"
- #2609874 by tstoeckler, Kristen Pol, tassilogroeper: Boolean field "On label" and "Off label" are not translatable
- #2686595 by sidharthap: LibraryDiscoveryCollector does not need to override properties of the parent class
- #2633568 by quietone, ultimike: Improve method for migrating link attributes from D6
- #2667620 by benjy, chx: Rewrite Drupal\Tests\migrate\Unit\process\MigrationTest
- #2676258 by benjy, alexpott: Nuke builder plugins and migration storage
- #2676222 by alexpott, johnrosswvsu: Move MigrationInterface out of the migrate\Entity namspace now they are plugins
- #2625696 by chx, benjy, alexpott, catch, mikeryan, andypost, phenaproxima: Make migrations themselves plugins instead of config entities
- #2669590 by Lendude, joe_carvajal: IntegrityConstraintViolationException using an entity reference in a view with a entity reference display
- #2666792 by bojanz, dawehner, kristiaanvandeneynde, edysmp, heddn: Provide a route provider for add-page of entities (follow-up)
- #2684575 by chx, benjy, quietone: Get is unable to pick up 0
- #2638856 by bojanz, webflo, SiliconMind: Unable to install modules with core dependencies via composer
- #2666792 by bojanz, dawehner, edysmp, heddn: Provide a route provider for add-page of entities
- #2578995 by pguillard, jhodgdon, r_sharma08, ifrik, snehi, Manjit.Singh, himanshugautam, yoroy, xjm: Update the link descriptions on the Configuration page for the system module
- #2685463 by rakesh.gectcr: Typo in the usage example of HtmlTag API page
- #2681903 by Chi: Unused dependency in Book breadcrumb builder service
- #2281393 by ultimike, mrjmd, bdone, quietone, Xano, vendion, benjy, brockfanning, alexpott: D6->D8 Blocks - Custom titles not imported
- #2674408 by alexpott, dawehner: Fix Drupal.Classes.UnusedUseStatement standard in core
- #1475510 by timmillwood, hussainweb, davidwbarratt, alexpott, Mile23, pfrenssen, claudiu.cristea, webchick, catch, Crell, patcon, RobLoach, kim.pepper, dawehner, neclimdul, Mixologic, gagarine, sun, nod_, effulgentsia, drumm, Sylvain Lecoy, jhedstrom, katbailey, xjm, klausi, Seldaek, Barryvdh: Remove external dependencies from the core repo and let Composer manage the dependencies instead
- #2680057 by alexpott, dawehner, isntall: Allow to not override the simpletest results on a new test run
- #2661200 by jhodgdon, Wim Leers, Cottser, Mile23, vijaycs85, larowlan, andypost, tim.plunkett, dawehner: Make admin/help page more flexible, and list tours on it
- #2658412 by leolando.tan, lokapujya, rakesh.gectcr, harsha012, thisisit, zweishar, miteshmap: Config API topic makes no mention of getEditable()
- #2248223 by olli, Lendude, peterg.griffin, finne, mikeker, pjonckiere, b0unty, ohthehugemanatee, zniki.ru, dawehner, jhodgdon, effulgentsia, xjm, droplet, metzlerd: Adding a new Views filter and making it exposed returns user back to list of filters
- #2679953 by malavya, subharanjan, AjitS, aditya_anurag, mikebell_, jhodgdon: Replace mentions of url() in docs
- #2684319 by TravisCarden, jhodgdon: ConfigFormBaseTrait::config() @return doxygen is inaccurate
- #2684095 by dawehner, amateescu: Convert field kernel tests to KernelTestBaseTNG
- #2676026 by dimaro, subharanjan, Girish-jerk, zaurav, jhodgdon: Correct documentation of ThemeNegotiatorInterface
- #2680307 by metzlerd, jhodgdon: Direct people to Services and Elements pages on API sites in a clearer way
- #2237231 by clemens.tolboom, kim.pepper, dawehner, Wim Leers, Crell: Support OPTIONS request
- #2628132 by joshi.rohit100, id.medion, jordanpagewhite, anil280988: Replace setter inject and internal methods on LocaleConfigManager with constructor injection
- #2683263 by claudiu.cristea, alexpott: Update text for views_post_update_image_style_dependencies() wrong
- #2225477 by quietone: Add migrate sources and destinations for D6 i18n variables
- #2683763 by amateescu: Referenceable bundles should be sorted by Label, not by their machine name
- #2675066 by alexpott, xjm: Restrict migrate upgrade permission to user1
- #2177335 by drintios, idebr, czigor, oo0shiny, bdimaggio, samiullah, alexpott: Selecting 'Disabled' does not move the block to the disabled region when there are no disabled blocks
- #2670978 by dawehner, isntall, jibran, alexpott: Allow to run just specific types when running all tests
- #2616220 by webflo, quietone: Obey field cardinality in vocabulary migration
- #2673726 by Jaesin, dawehner: Allow modules to proxy permissions for other modules
- #2609680 by alexpott, jhedstrom: Add an AssertMailTrait to allow mail testing in Kernel tests and fix odd stdout not found in test output
- #2572545 by pguillard, snehi, peezy, lokapujya, mahavir003, miteshmap, harsha012, hosttor, Manjit.Singh, HezzieB, jhodgdon: Update the UI texts for the Custom Block module
- #2676816 by xjm: Consolidate miscellaneous docs from class @file docblocks into the class docblocks
- #2608692 by snehi, r_sharma08, anil280988, marvin_B8, rakesh.gectcr, ashhishhh, malavya, heykarthikwithu, kaushalkishorejaiswal, jhodgdon: Revise docblock for BookManager methods
- #2626106 by Wim Leers, gceja, thpoul: The image button does not work unless width+height attributes are allowed, even though those are optional
- #2681845 by thpoul: Use CKEditorPluginCssInterface to add the CKEditor language plugin css
- #2682367 by leolando.tan: Wrong comment in AdminRouteSubscriber::getSubscribedEvents
- #664722 by amateescu: Make insert queries Countable
- #2471689 by klopez, shashikant_chauhan, harings_rob, snehi, jhodgdon: Entity API documentation should consistently refer to handlers rather than controllers
- #2676472 by micaelamenara, jhodgdon: docs for t() and related functions don't explain how context works
- #2644818 by Anishnirmal, nupur.lohokare: Inline Form Errors Module Description
- #2682339 by chx: EntityFieldRenderer breaks embedding in forms
- #2679903 by thpoul, Dave Reid, Wim Leers: CKEditor uses separate cache-busting query string from Drupal's
- #2572125 by rodrigoaguilera, vijaycs85, swentel, Berdir, Wim Leers, tstoeckler: Content translation local tasks are not getting displayed due to caching
- #2641682 by gnuget: permalink breaks in comment
- #2670444 by Wim Leers: Embedded AJAX responses aren't application/json, but application/vnd.drupal-ajax
- #2581407 by davidhernandez, LewisNyman, emma.maria, Saphyel: Remove the obsoletely named Classy library attached to Bartik's comment.html.twig as Bartik uses its own styles.
- #2681753 by lluvigne, subharanjan, cilefen: "Permissions page" link in Admin > Appearance is hardcoded and breaks on subdirectory setup
- #1836384 by Lendude, pguillard, dawehner, damiankloip, hynnot, tadityar, anil280988, jain_deepak, gaurav_varshney: The views UI should display "All Displays" option only when there are more 1 displays
- #2679867 by Wim Leers, mr.baileys: BigPipe causes PHP notices with JavaScript disabled on error pages
- #2680737 by thpoul: Remove unrelated CKEditor repository structure files from build-config.js
- #2604974 by Chi, tstoeckler, dcrocks, Edit Olah: Hide "Powered by Drupal" block title by default
- #2680105 by Berdir: Convert database kernel tests to phpunit
- #2679096 by Berdir, dawehner, tim.plunkett: Convert Kernel Tests in Drupal\system\Tests\Entity to phpunit
- #2666160 by Berdir, tduong: contact_mail() casts rendered markup to string
- #2672512 by Birk, kurund: CKEditorPluginConfigurableInterface::settingsForm() docs don't match API usage
- #2664150 by dawehner: Expand BrowserTestBase with error handling support
- #2665738 by droplet, zviryatko: jQuery Autocomplete applies "_renderItem" option only for first element on the page
- #2678628 by Wim Leers: Consider removing the BigPipe no-JS cookie when JS is enabled again in a browser
- #2681505 by benjy: Arbitrary files are created when migrating users with an empty picture
- #2663566 by thpoul: Update CKEditor library to 4.5.7
- #2179537 by jweowu, alexpott: Drupal 8 has a broken UUID generator
- #2626570 by Wim Leers, thpoul, DuaelFr: Drupal 8's custom Image and Link plugins do not include a HiDPI icon
- #2678574 by dawehner: Symfony 2.8 requirements change: required PHP "iconv" extension is nowhere documented
- #2412569 by claudiu.cristea, amateescu, yched, jibran, epari.siva: Allow setting the auto-create bundle on entity reference fields with multiple target bundles
- #2666798 by dawehner: Add an entity revision parameter converter & route enhancer
- #2678550 by imrancluster: Need full stop (.) for description field's help text in Add comment type' section
- #2679006 by blazey: 'incloming' in SourcePluginBase::$trackChanges comment
- #2580177 by DuaelFr, GoZ: Language list is not correctly ordered when it's localized
- #2668008 by dimaro, kannan@kiluvai.com, rakesh.gectcr, felribeiro, jhodgdon, eojthebrave, xjm, mobaid: Internationalization topic refers to format_plural() function that does not exist
- #2666808 by dawehner, amateescu: Add a revision log interface
- #2614764 by snehi, priya.chat, rakesh.gectcr, anil280988, amit.drupal, jhodgdon: Wrong @param doc in class Composer
- #2677672 by fago: Improve docs of getDataDefinition for lists and complex data
- #2678620 by stBorchert: HandlerBase::breakString does not work with decimal values
- #2623940 by alexpott, Berdir: ConfigInstaller tries to install optional config with missing dependencies
- #2528498 by Wim Leers, Jacine, mortendk: Only emit Quick Edit data- attributes when actually necessary
- #2672600 by borisson_, arunkumark, Mile23: Replace deprecated usage of entity_create('node') with a direct call to Node::create() in comment,datetime,editor,field,hal,system,taxonomy,views
- #2664290 by tstoeckler: Remove array typehints from batch callbacks
- #2302259 by quietone: Test coverage for user profile link type from D6
- #2502917 by dimaro, rakesh.gectcr, DuaelFr, suhel.rangnekar: Replace deprecated usage of entity_create used with variable entity types with a direct call to EntityManager::getStorage()->create()
- #2674780 by esclapes, catch, penyaskito, dawehner: Unexpected API change in UrlGenerator::generate()