Change record status: 
Project: 
Introduced in branch: 
9.0.x
Introduced in version: 
9.0.0
Description: 

Drupal 9 has updated Popper.js to 2.0.6. Code currently depending on Drupal core Popper.js, should be upgraded to Popper.js 2.0.6 following the migration guide.

Drupal 8 and Drupal 9 run different versions of Popper.js
These are the errors that will occur if Popper.js implementation is for the incorrect version:

  • If Popper 2.x is installed but code is written for Popper 1.x:
    Uncaught TypeError: Popper is not a constructor
  • If Popper 1.x is installed but code is written for Popper 2.x:
    Uncaught TypeError: Popper.createPopper is not a function

Modules and themes that want to use Popper.js without the need for separate 8.x and 9.x versions can do so by adding implementations for both Popper.js 1 and 2. It is possible to determine if Popper 1 or 2 is in use with a conditional checking if Popper.createPopper exists. This condition is only true for Popper.js 2.

Impacts: 
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