Skip to content
mbostock edited this page Mar 23, 2013 · 33 revisions

WikiRelease Notes3.1

Geo

  • Major and minor step to graticule. Default graticule step is now 10°.
  • Add d3.geo.distance; deprecate d3.geo.greatArc.
  • Add d3.geo.length.
  • Add d3.geo.albersUsa invert.
  • Add d3.geo.rotation.
  • Add d3.geo.projection clipExtent for viewport clipping.
  • Add d3.geo.transverseMercator. Useful for state plane projections, for example.
  • Add d3.geo.conicConformal, conicEquidistant, conicEqualArea.
  • Mercator projection now uses viewport clipping rather than clamping latitudes.
  • Fixed scale of d3.geo.mercator; divide your previous scale by 2π when you upgrade to 3.1.

Selections

  • Add selection.on("mouseenter") and selection.on("mouseleave") polyfill.
  • Add selection.on(".name", null).
  • Add selection.insert(name, function)
  • Fix for selection.classed in Safari 5.

Scales and Data

  • Allow row conversion for d3_dsv.parse.
  • Add d3_dsv.format.
  • Add d3.set.
  • Allow d3.map to be used with d3.nest.
  • Add d3.scale.log base.
  • Add d3.scale.linear tickPrecision.

Geometry

  • Add accessors for d3.geom.{voronoi,quadtree,hull}.
  • Add d3.geom.voronoi links, triangles; deprecate d3.geom.delaunay.

And one more thing…

Thanks to SMASH, you can now build a minimal version of D3 that has just the parts you need, reducing the size of your JavaScript assets. For example, if you need d3.geo.mercator and d3.geo.path to render some stuff to Canvas, you could build a minimal bundle that’s only 24K:

smash src/start.js src/geo/path.js src/geo/mercator.js src/end.js > lib.js

See the SMASH wiki for a more detailed example including an example Makefile.

Clone this wiki locally