= Runt Changelog

== Version 0.7.0

* Addded tutorial_sugar.rdoc for new builder and shortcut stuff

* Added ExpressionBuilder class for creating expressions using more human-friendly syntax

* Fixed bug #20723: using modified patch contributed by Justin Cunningham. This partially reverted changes made by bug fix #5749, REDay by default now returns true for less precise arguments but accepts an optional constructor parameter which will override this behavior

* Removed deprecated "autorequire" property configuration from Rakefile
 
* Added properly spelled constant Runt::Eighth to the Runt module

* Added month constants defined in Date class to runt.rb for use by shortcuts

* Added optional Runt module extension which provides some syntactic sugar for creating common expressions

* Added tests and fixed broken to_s method in AfterTE and BeforeTE

* Applied patch contributed by Justin Cunningham for optimizing performance of the TExprUtils#max_day_of_month method - source is taken verbatim from ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods module days_in_month method

* Changed runttest.rb to use local Time so test doesn't fail when run from another time zone

* Fixed usage of deprecated methods in Date when accessing them from PDate subclass 

* Applied patches providing week precision and expanded RFC2445 compliance tests contributed by Larry Karnowski

* Fixed bug #19982: REYear will match day in any month if @same_month_dates_provided with patch submitted by Riley Lynch

== Version 0.6.0

* Refactored and improved temporal expression tests, moving them to separate files per class

* Fixed bug #5741: REYear incorrect handling of default args

* Fixed bug #5749: Fixed spans midnight for REDay (Revision 156), changed semantics when dealing with lower precision arguments

* Fixed bug #10640: incorrect tutorial section for tutorial_te.rdoc

* Fixed bug #10605: DateRange.empty? should be true for min == max

* Finished Schedule API tutorial

* Fixed bug #16143: Typo in Schedule RDoc

* Added README (and related files) in the generated rdoc

== Version 0.5.0

* Refactored Schedule implementation which greatly simplifies customization but does potentially break existing clients who relied on the ability to call add mulitple times (SEE BELOW)

* Added update method to Schedule allowing clients to update existing expressions

* Added select method to Schedule allowing clients to query Events using arbitrary criteria   

* Added events method to Schedule which returns an Array of the currrently held Events   

* Added time-related shortcuts to Runt module contributed by Ara T. Howard

* Added ability to work with Time class contributed by Paul Wright

* Implemented meaningful to_s methods for TExpr classes

* Added include? method to Standard Library Date class allowing Spec class better interaction with other expressions

* Applied patch to fix PDate serialization bug contributed by Jodi Showers

* Added BeforeTE, AfterTE, enhanced TExpr#dates method, RFC2445 (iCalendar) compliance unit test, contributed by Larry Karnowski

* Applied patch by Gordon Thiesfeld which fixes broken Time class compatibility

* Applied patch by Gordon Thiesfeld which allows REWeek expressions to span across two weeks

* Removed unused context.rb and contexttest.rb

* Removed unnecessary test suite alltests.rb

== Version 0.4.0

* Added DayIntervalTE contributed by Ira Burton which matches every n days past a given date

* Added YearTE requested by Pat Maddox

== Version 0.3.0

* TExpr (finally!) becomes a Module instead of a superclass 

* Added overlap? method for all temporal expressions and DateRange

* Added REMonth expression which matches a range of dates each month
 
* Contributed by Emmett Shear: TExpr#dates method which returns an array of dates occurring within the supplied DateRange

* Rakefile fixes:
  - test path allow gem to be installed with -t switch
  - usage of gzip which will break on Win32

* Removed and then subsequently restored SpecTE

* General clean-up, including:
  - renamed several methods on PDate
  - renamed 'dateprecisiontest.rb' to 'dprecisiontest.rb'

* Fixed Object.id deprecation warning


== Version 0.2.0

* Fixed Schedule class
* Renamed Schedule#is_occurring? to Schedule#include?
* RAA deployment
* GEM deployment
* Renamed file dateprecisiontest.rb to dprecisiontest.rb
* Renamed several methods on PDate:
  - second -> sec
  - minute -> min  
  - hour_of_day -> hour
  - day_of_month -> day

== Version 0.1.0

* Inspired by suggestions[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/95465] on c.l.r., did massive renaming and refactoring to make source more Ruby-esque:

  - TemporalExpression class => TExpr
  - DatePrecision module => DPrecision (file name changed also)
  - TimePoint class => PDate (file name changed also)
  - Added transparent use of bitwise set operators ( & , | ) for building composite expressions
  - Added transparent use of - operator for diff expressions

* Updated TE Tutorial to reflect new and improved syntax usage
* Skipped several version numbers to celebrate

== Version 0.0.6

* TE Tutorial
* Website beautification
* Credits

== Version 0.0.4

* Improved Rake[http://rake.rubyforge.org] support
* Better documentation: README, TODO, CHANGES, etc.
* More Ruby-like source code layout and code organization inspired by Rake[http://rake.rubyforge.org] distribution
* Dropped the obviously superfluous 'alpha' from versioning

== Version 0.0.1

* Learned Ruby (or began trying, at any rate...)
* RubyForge project setup
* Basic implementation of the Java-based chronicJ[http://chronicJ.org] functionality in Ruby


