Drupal 8.3: BigPipe experimental → stable!

published on April 5, 2017

Almost a year ago, BigPipe was the first experimental module added to Drupal 8. It was still experimental in Drupal 8.2 (October 2016), but it was upgraded from alpha to beta stability. Later today, Drupal 8.3.0 is going to be released, and BigPipe is now stable!

Install it!

BigPipe is a zero-risk module. So … why not install it right now? You can uninstall it at any time. It won’t cause problems in any browser, on any web server, or with any proxy. Because:

There is zero risk of data loss. And when the environment — i.e. web server or (reverse) proxy — doesn’t support streaming, then BigPipe-delivered responses behave as if BigPipe was not installed. Nothing breaks, you just go back to the same perceived performance as before.

If you’re still on Drupal 8.2 for a while — also install it! There are no functional changes for BigPipe between 8.3 and 8.2.

Stability

In hindsight, we could have made BigPipe stable from day one, or at least in Drupal 8.2.

There have been only 4 bug reports since then, 3 of which were trivial forgotten edge cases, and the other one was a bug in the Render system which happened to also affect BigPipe1. Still, it is important to very thoroughly validate such a module before marking it stable, because:

This is the sort of module that needs wider testing because it changes how pages are delivered, so before it can be considered stable, it must be tested in as many circumstances as possible, including the most exotic ones.

Given that in the past year only a handful of (non-critical) bugs have been reported … that gave Drupal core committers the confidence to mark it “stable”.

Sessionless BigPipe contrib module

There’s only one thing that is new in BigPipe in Drupal 8.3: some internal refactoring, which makes it possible for the Sessionless BigPipe contrib module to exist.
This contributed module accelerates Page Cache misses using the BigPipe technique.

Future

  1. Only one feature is still planned for the future: interface previews — see Callum Hart’s excellent blog post about it for an introduction.
  2. I hope to enable BigPipe by default in the Standard install profile in 8.4.0 :)

I hope you enjoy faster personalized & authenticated page loads thanks to BigPipe! :)

I want to thank my employer Acquia for giving me the time to make this happen!


  1. See BigPipeRegressionTest — it has an explicit regression test for each of the four bugs: #2698811, #2678662, #2712935 and #2802923↩︎