Now you can say d3.time.seconds(start, stop, step), which will return every step'th second after start (inclusive) and before stop (exclusive). In addition, you can now pass a range method to the time scale's ticks method, which makes it easier to generate ticks. For example, x.ticks(d3.time.seconds, 15) will return 15-second ticks, rather than using the automatic default.
Previously, negative or zero sizes were short-circuiting the worst() function by always returning Infinity, instead of being ignored for the score computation. Fixes #233.
The logic was inverted. Oops! But now there are tests. Yay!
Also fix a bug in d3.time.hour in regards to daylight savings. Also fix a number of tests that weren't testing the desired functionality.
Also, optimise internal scale() function slightly.
The new "padding" property is an array of [top, right, bottom, left], or a function that returns such an array for a given node.