Change record status: 
Project: 
Introduced in branch: 
8.3.x
Introduced in version: 
8.3.0
Description: 

The "disabled" region in the Block UI has been removed. Instead of using a region to denote whether a block is enabled or disabled, blocks now have a dedicated flag.
In the UI they will remain in their set region, but have a "(disabled)" indicator.
In code, check for $block->status()

This will also break sites that have intentionally added a block, then disabled it and placed it via the theme layer using any number of methods, i.e. preprocess, twig function, etc. To have this working, you'll need to enable all the blocks and add visibility rules to not show them on certain pages.


This has the possibility of breaking contributed module tests.
Before:
$block->setRegion(-1)->save();
After:
$block->disable()->save();

Additionally, the theme the block is placed in needs to be installed. Previously in a test, a block could be placed for an uninstalled theme. This will no longer work. The test should install the themes used:
$this->container->get('theme_installer')->install(['bartik']);

Impacts: 
Site builders, administrators, editors
Module developers