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

We want Drupal 8 to be fast by default, but we don't want to annoy/slow down developers or themers.

Drupal 8 should be fast by default. Fast by default implies things like page caching and CSS aggregation being enabled out of the box. Which is annoying for developers and themers. So it must be easy to make Drupal developer/themer-friendly. Hence: change default settings to have fast/safe production values, and make it easy to override them for development/theming.

The fast defaults that Drupal 8 has so far:

  1. Error logging disabled.
  2. CSS + JS aggregation enabled.
  3. Page Cache enabled.
  4. Dynamic page Cache enabled.
  5. No JavaScript for anonymous users by default.
  6. JavaScript in the footer by default.

For site builders

It's no longer necessary to go click around Drupal to find the right settings to change to make Drupal faster.

For module developers and themers

Open sites/example.settings.local.php and follow the instructions at the top of the file to override the default settings without having to go change things in the UI. Lots of examples in example.settings.local.php, that you can modify to your liking by simply commenting/uncommenting to get just the overrides you need for your workflow.
(Disable render & page caching, disable CSS aggregation but keep JS aggregation … And load a custom services.yml file to disable the Twig cache, enable debugging cacheability headers…)

Advanced usage

By default, sites/example.settings.local.php will also load sites/development.services.yml — which contains services to be loaded only while settings.local.php is used, i.e. only while developing. Currently that only includes the memory and "null" cache back-ends. But you can add your own sites/mysite.com/mysite-dev.services.yml file to the list of service container YAML files to be loaded.

Impacts: 
Site builders, administrators, editors
Module developers
Themers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done