O time do D3 anunciou no fim de janeiro a versão 5.0, que traz inúmeros padrões assíncronos mais recentes como promises e fetch, além de atualizações nas APIs-chave de visualização.
O D3.js é uma biblioteca javascript para produzir visualizações de dados dinâmicas e interativas em browsers. Como informado na descrição das notas de versão 5.0:
Com a adoção de promises, o D3 passa a usar a Fetch API ao invés do XMLHttpRequest: o módulo d3-request foi substituído pelo d3-fetch. O Fetch suporta muitas novas features potentes, como as respostas de streaming.
Essa versão tem um foco significativo em estabilidade, algo comentado pelo próprio fundador do D3, Mike Bostick, em seu Twitter:
A API tem se mostrado muito estável desde a versão 4.0. A única quebra significativa foi a adoção de padrões assíncronos modernos, como o promises e o Fetch.
A versão 5.0 do D3 altera sua abordagem para esquemas de cores categorizados. A abordagem anterior d3.schemeCategory20* era imprecisa porque o design agrupado poderia implicar falsamente em dados relacionados, como no caso do compartilhamento de matizes ‒ que poderia inferir que os dados fazem parte de um grupo sem de fato serem. Os esquemas de cores categorizados foram substituídos nessa nova versão pelo d3-scale-chromatic, implementando os esquemas de cores a partir do ColorBrewer.
O novo pacote d3-contour disponibiliza implementações de marching squares e estimativa de densidade, permitindo novos tipos de visualização de dados baseados em dados de contorno. Um exemplo mostra os tempos ociosos e de erupção do gêiser Old Faithful.
O D3 também melhora uma parte dos métodos do d3-selection; selection.clone para a inserção de clones de uma seleção, e d3.create para criar elementos destacados. A API de projeções geográficas do D3 suporta agora o projection.angle, com o resultado sendo as novas projeções poliedrais.
Assim, a versão 5.0 do D3 disponibiliza muitas melhorias para formas adicionais de visualização de dados, aprimora a abordagem em várias APIs comuns e alinha a API com avanços e padrões recentes em JavaScript.
O D3 está disponível sob a licença BSD revisada. Saiba mais no site da D3. Contribuições são bem-vindas através do projeto D3 no GitHub.