- iterates using binary tree
- parameter checking
- fixed behaviour of negative numbers (rfc2445)
   14h and -15min was: 13:45 = subtract 15 minutes
                  now: 14:45 = last 15 minutes of hour
- removed parameter 'year_type'
- 'duration' argument is obsolete
- added 'interval' parameter
- moved local parameters to a hash
- moved unit-specific subs to hash
- added year_type => 'weekly' to yearly (internal)
  default is year_type => 'monthly'.

0.02
- tests month-day overflow for positive day offsets, if 'month'
  argument is specified. Skips a datetime if it is invalid.
- setup structure to allow other overflow tests.
- returns empty set for 'impossible' recurrences.
- many docs and code tweaks.  by Dave Rolsky

0.01
- CPAN upload
- no longer inherits DateTime::Set

0.00_11

- added 'set' tests
- docs correction. Dave Rolsky

0.00_10

- ISA DateTime::Set
- removed as_set
- moved all accessors to DateTime::Set
- requires DT::Set 0.02

0.00_09

- new syntax
    $r = DT::E::R->monthly (
                       days => [ 4, 15, 18 ],
                       hours => [ 10, 20 ] );

0.00_08

- both previous and next work; all tests pass; more docs

0.00_07

- works with 2-D durations; looks up table in linear time (in worst case).
  That is, a 4x4 table gives 4^4 combinations but is looked up in 4*4 time.
  But it could be done in 4log4 time...

0.00_06

- works with multiple durations like
    $r = DT::E::R->monthly (
                       duration => \@durations );
- durations _must_ be pre-sorted.

0.00_05

- refactored constructor subs
- added a very rough multiple-duration structure 
  (doesn't work with mixed negative/positive durations)

0.00_03

- "duration" argument in constructors

0.00_02

- previous, closest, weekly