Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is D3js version support policy?

I'm new to D3js and before getting started I want to understand how versions for the core and plugins are managed so I don't find myself stuck with an old unsupported versions or using something that's too experimental.

If I look at the release history I see that v4 was introduced back in Jun 2016 (https://github.com/d3/d3/releases?after=v4.1.0) and v5 in Jan 2018 (https://github.com/d3/d3/releases?after=v5.0.1).

Yet, when I look at D3js code on the gallery (https://github.com/d3/d3/wiki/Gallery), I see that most of it is based on v3 which is 2 major releases behind.

For instance if I take a Sankey example updated in May 2018 it's still based on v3, and if I try to replace it with v5 it breaks.

Another example: someone had an issue with v4 back in Feb 2017, and the answer at the time and in April 2017 it was still not working (despite it was already v4.8 at the time, nearly 1 year after the release of v4) :

enter image description here

So it seems that v4/v5 are completely different branches from v3 and are not even backwards compatible.

Hence my questions:

  • To what extent is v5 backward compatible with v3?
  • How long will v3 still be supported?
like image 564
Max Avatar asked Jul 23 '18 11:07

Max


1 Answers

Consolidating comments as 1 comprehensive answer:

General philosophy
It seems, and it's understandable given the fact that D3 creator is creating/maintaining the library mostly by himself, that there isn't enough resources to design with backwards-compatibility nor maintain old code.

Which version to choose
Given the above, when starting fresh, it seems picking the latest version is the most sensible choice.

Backward compatibility
There have been backward incompatible changes going from v3 to to v5 (v5 removed d3-queue, d3-request, schemeCategory20...). So it wouldn't be a shocker if in the future other backward incompatible changes are introduced.

Legacy support
It seems the moment a new version is released, support for the older version is abandoned and all efforts are focused on the new version:
https://twitter.com/mbostock/status/764274097995907072

enter image description here

like image 69
Max Avatar answered Sep 28 '22 00:09

Max