Add padding to d3.layout.pack.

The previous method of subtracting slightly from the radius introduces
distortion where smaller circles are disproportionately reduced. For example,
subtracting 1px from the radius scales a circle of radius 5px by 0.64x, while a
circle of radius 50px is only reduced by 0.96x.

By incorporating padding into the layout algorithm, the leaf circles’ area is
still proportional to the associated value. Due to the scale-independent nature
of the layout, the specified padding value is only approximate.
Add d3.tsv for tab-separated values.

This makes the previous d3.csv code a bit more generic via a d3_dsv (delimiter-
separated values) module generator. Fixes #501. (Thanks, @vlandham!)
Add support for outer padding on rangeBands.

Sometimes you want additional padding between the outer bands and the range
extent. Now you can.
Custom d3.svg.{area,line} interpolators.

You can now specify a function as the interpolate property of a line or area,
allowing you to define custom interpolation behavior.
Faster linear interpolation.
Add linear-closed interpolation. Fixes #610.
Don't interpret double-pan as double-tap.

Firstly, the last-touched-time was being set on touchend, even if a pan
gesture had occurred. This caused a pan quickly followed by a single tap
to be interpreted as a double-tap. In this fix, the time is only set on
touchstart.

Secondly, the time is cleared on touchmove, so that a pan gesture
cancels double-tap detection.
Convert 2-digit years according to POSIX.

This is also the convention used by Python 1.5.2+. Values 69-99 are
mapped to 1969-1999, and values 0–68 are mapped to 2000–2068.
Fix node-canvas example.
Add generated file.
Fix #711 for years in the first century.

Alas, the JavaScript Date constructor is Y2K-centric.
Merge branch 'date-2d' of git://github.com/jasondavies/d3 into fix-time-full-year
Add generated file.
Beautify d3.v2.js.

The main advantage of beautification is that we can add abundant source comments
to the original files without increasing the size of d3.v2.js.
pass group index (and any potential other arguments in future) on to event handler
Minor optimisation and Chrome bug workaround.

There appears to be a bug in Chrome causing the whole tab to crash when
setting svgNode.className.baseVal = "" for a newly-created element
without a non-empty class name:

  https://code.google.com/p/chromium/issues/detail?id=138552

This fix is a minor optimisation: if the current class is empty then
removing a class should be a no-op.  It also conveniently works around
the Chrome bug.
Fix #720: d3.time.dayOfYear floating-point error.
Interpolate "same type" transforms in isolation.

For consistency with CSS3's 2D transforms, two transforms with the same
number of transform functions and corresponding functions of the same
type are treated differently: each transform function is interpolated in
isolation.

This allows us to interpolate many transforms that contain constant
functions in a more useful way, e.g.

  "rotate(<variable>)translate(<constant>)"

The variable rotation angle would now be linearly interpolated on its
own, keeping the constant translation vector constant.
Amend previous commit to use private methods.
Retain d3.transform's public API.

That is, d3.transform is for decomposing a matrix.