export force.drag instance so user can access it by calling force.drag() with no arguments; the drag events have been namespaced as <event>.force, similar to the other force events: mouseover.force and mouseout.force.
force layout: properly UNSET the .fixed bits: user may be using further bits and those should be kept intact.
Add area-weighted geographic polygon centroids.

This generalises the centre of mass formula given in:

  J. E. Brock, The Inertia Tensor for a Spherical Triangle,
  J. Applied Mechanics 42, 239 (1975)
Add some more polygon tests for d3.geo.centroid.
Move tick class to the g element. Fixes #1016.
Support clipping against a line segment.
Add d3.geo.clip.
Enter domain path prior to update transition.

The update transition must be created after the domain path is entered, or else
the entering domain path will not be part of the update transition, and thus
will not have the "d" attribute computed correctly. Fixes #1022. This bug was
introduced by 8ee6c126bcdc3f9965457b411794e9ae7c5972ec to squash a warning!
Simplify d3.random.logNormal. Fixes #787.
Add projection.clipGeometry.

Eventually, this will allow clipping against arbitrary GeoJSON
geometries:

 * [Multi]Point: infinitesimally small polygon(s).
 * [Multi]LineString: infinitesimally thin line(s).
 * [Multi]Polygon: polygon(s).
 * GeometryCollection: a collection of geometries, potentially of
   different types.

For now, only a single great arc is supported i.e. a LineString with two
coordinates.
Return ambiguous, rather than undefined, centroid.

This is a fix for #1039, and related to #1037 #1011.
reverted part of the axis fix - was a stupid edit; regenerated the d3 bundle files.
Optimise d3.geo.area.

This incorporates two enhancements:

1. A simpler formulation for the area of a spherical triangle with one
   vertex at the south pole.
2. Instead of calling atan2 for every point, we use the identity:
     ∑ arg(z) = arg(∏ z),
   where z is a complex number, and only call atan2 once for each
   polygon, instead opting for a cheaper complex number multiplication
   for each point.

This is around 3x faster than the old implementation as measured by the
included benchmark.
Use captured references for document and window.

This avoids an inconsistency (discussed in #1044) when using D3 inside Node.js,
where D3 internally creates a JSDOM document during initialization, but then
subsequently depends on the current global document, which is not exposed. D3
now always refers to the global document at the time of initialization, and
does not depend on the current global document or window.
Fix rounded format specifier; fixes #1042.
Fix a couple of edge cases.
Fix wheel events; fixes #1048 #1047.

Some time ago the hidden div scroll trick stopped working. But, this went nearly
unnoticed because most browsers are fairly well behaved since WebKit fixed bug
https://bugs.webkit.org/show_bug.cgi?id=40441 back in June 2010. All that
remained broken was Firefox, who adopted the newer W3C "wheel" event standard.
This commit removes the old div hack, and does better support detection to
determine the most standards-based approach to listening for wheel events.
Use µ rather than μ.

That is, MICRO SIGN (\xb5) rather than GREEK SMALL LETTER MU (\u03bc).
Avoid Prototype’s broken array.filter.

While I abhor Prototype’s practice of replacing native methods with broken non-
native ones, this is a painless fix that allows us to use d3.geom.voronoi on
nytimes.com, which shamefully continues to use Prototype.
Bump up line-to-pixel multiplier to 120.