Change record status: 
Project: 
Introduced in branch: 
8.0.x
Description: 

The new breadcrumb system is designed to go through a block. However, the page template still has a hard-coded $breadcrumb variable. That is vestigial and hard to remove and defeats the whole purpose of making the breadcrumb a block instead.

The $breadcrumb variable has been removed from the page template entirely in template_preprocess_page() function and page.html.twig template. Now, a default block places the breadcrumb block in the same place.

A default 'breadcrumb' region has been added. All themes will inherit it unless it specifies different regions in its .info.yml file.

Changes to tests

This change impacts any tests that examine the breadcrumb, since it is no longer displayed in the theme used when running tests. In particular, tests using FieldUiTestTrait need the breadcrumb restoring.

This can be done in a test class's setUp() method thus:

    $this->drupalPlaceBlock('system_breadcrumb_block');
Impacts: 
Site builders, administrators, editors
Module developers
Themers