new d3.hierarchy API for working with hierarchical data!
instead of *treemap*.value and *treemap*.sort, use *node*.sum and *node*.sort.
instead of *treemap*.links, use *node*.links.
new accessor methods *node*.ancestors, *node*.descendants, *node*.leaves, *node*.path (replaces d3.layout.bundle; see d3.curveBundle in d3-shape for hierarchical edge bundling).
new iteration methods *node*.each, *node*.eachAfter, *node*.eachBefore.
new copy method *node*.copy, useful for isolating layout changes.
new *treemap*.tile - the treemap tiling algorithms are now extensible.
reimplemented squarified treemaps, fixing bugs with padding and rounding.
new d3.treemapBinary for binary treemaps.
*treemap*.sticky ↦ d3.treemapResquarify.
new treemap padding parameters, distinguishing parent and sibling padding.
new nested, cascading treemap example.
new treemap + d3.nest example
space-filling layouts (d3.treemap, d3.partition) now output *x0*, *x1*, *y0*, *y1* instead of *x0*, *dx*, *y0*, *dy*; better accuracy
new partition padding parameter.
reimplemented circle-packing layout, fixing major bugs and improving results.
show before & after picture.
*pack*.padding can now be a function.
new d3.packSiblings for circle-packing (non-hierarchical circles).
new d3.packEnclose uses Welzl’s algorithm to compute the exact enclosing circle.