1 min read

Yesterday, the team behind D3.js rolled out D3.js 5.8.0. Data-Driven Documents or D3 is a JavaScript library using which you can create dynamic, interactive data visualizations in web browsers.

Updates are introduced in the following modules:


  • The iterations argument is added to simulation.tick.
  • A bug is fixed when initializing nodes with fixed positions.


The following new features are added:

  • The domain and range convenience constructors for all scale types
  • Default constructors for sequential and diverging scales
  • The d3.tickFormatReturns function, a number format function for displaying a tick value
  • The d3.scaleSymlog function, which constructs a new continuous scale with the specified domain and range
  • Transformed sequential scales, for example, d3.scaleSquentialLog
  • Transformed diverging scales, for example, d3.scaleDivergingLog
  • d3.scaleSequentialQuantile for p-quantiles
  • scale.unknown for all scale types
  • Unlimited band.paddingOuter and point.padding


  • The selection.join method is added, a convenient alternative to the more explicit selection.enter, selection.exit, selection.append, and selection.remove.
  • selection.order is updated to enforce relative position, rather than exact siblings.
  • Vendor fallback for element.matches in selection.filter and d3.matcher is removed.


  • The transition.end is added, which returns a promise that resolves when every selected element finishes transitioning.
  • A cancel event is added to transition.on.
  • Performance of transition.style and transition.attr is improved

To read the full list of updates on the GitHub repository of D3.js.

Read Next

Introducing Cycle.js, a functional and reactive JavaScript framework

Introducing Howler.js, a Javascript audio library with full cross-browser support

16 JavaScript frameworks developers should learn in 2019

Subscribe to the weekly Packt Hub newsletter. We'll send you the results of our AI Now Survey, featuring data and insights from across the tech landscape.