ri_cal version 0.7.7 has been released!
NOTE: This is identical to 0.7.6 other than the version number. For
some reason github failed to publish a gem for that version.
A new Ruby implementation of RFC2445 iCalendar.
The existing Ruby iCalendar libraries (e.g. icalendar, vpim) provide
for parsing and generating icalendar files,
but do not support important things like enumerating occurrences of
This is a clean-slate implementation of RFC2445.
A Google group for discussion of this library has been set up
0.7.7 - 6 August 2009
- No changes other than a version number bump. github seems to
have failed to notice the commit of v0.7.6
and didn’t build the gem. Hopefully it will notice this one.
0.7.6 - 6 August 2009
RiCal::PropertyValue::Period was returning a nil ruby value.
0.7.5 - 3 August 2009
Microsoft ical exports double quote tzid values in parameters,
which caused a failure to find VTIMEZONES
This exposed an issue with parameter parsing. Did the simplest
thing which could work which was to
strip the quotes. Need to BOLO for other pathological cases
showing up in future, which may require
smarter parameter parsing.
0.7.4 - 21 July 2009
Problem with Alarm trigger property value
Problem with exporting components with sub-components
0.7.3 - 13 July 2009
Added pointers to rdoc in README
0.7.2 - 6 July 2009
updated to use newest versions of newgem and hoe, in order to make
run-code-run work again
0.7.1 - 6 July 2009
duration validation issues
event finish_time loses timezone info when event has a dtstart
0.7.0 - 29 June 2009
component without recurrence properties should enumerate just
itself only if it is within the period between starting and before
- added the :overlapping option to OccurrenceEnumerator#occurrences
- Allows the enumeration of occurrences which are either partiall or
completely within a timespan given by a pair of Dates/Times/DateTimes
- Fixes some Ruby 1.9 incompatibilities
- Added some new rake tasks to run specs under multi-ruby
0.6.3 - 14 June 2009
0.6.2 - 11 June 2009
0.6.1 - 6 June 2009
- Fixes problem with file which loads activesupport for the rake
spec:with_activesupport task, it now
requires >=2.2 instead of <=2.2 - Thanks to Paul Scott-Murphy for
0.6.0 - 5 June 2009
Time for a minor version bump.
- Improved overall enumeration performance bypassing most of the
effects of the poor performance of Ruby’s DateTime class.
- Added a framework for performance monitoring during development.
- New performance directory with subdirs for code to be monitored
for performance (subjects)
- New script files:
script/benchmark_subject runs a ruby benchmark on one
script/profile_subject runs ruby-prof for a subject and puts a
kcachegrind compatible calltree in the performance_data directory.
- New rake tasks:
performance:benchmark runs benchmarks against all subjects in
the performance directory and produces a consolidated output file in
performance:profile runs script/profile_subject against all
subjects in the performance directory.
0.5.3 - 1 June, 2009
- Improved performance of time zone enumeration, TimeZonePeriod now
- Added a profiling directory which contains ruby programs which
benchmark and/or profile performance
Export folding is not UTF-8 Safe
- Fixes README to acknowledge release on RubyForge
0.5.0 rubyforge release candidate Tue May 26 10:26:43 2009 -0400
- Added OccurrenceEnumerator#zulu_occurrence_range
0.0.11 Sat May 23 18:24:57 2009 -0400
Missing comparison methods in PropertyValue::Date
Type of dtstart and dtend (DATE or DATETIME) now preserved on
EXDATE and RDATE now pick up the timezone from DateTime, Time, and
Missing arithmetic methods in PropertyValue::Date
Components with no recurrence rules or rdate properties failed
on enumeration, they now
will enumerate a single occurrence
- Fixes a bug relating to properly recognizing
- DATETIME propertyvalues will now return an instance of
TimeWithZone instead of DateTime when
activesupport is present, and it is appropriate. See the README for
- Added rake tasks to run specs with either the tzinfo gem or
- Default rake task now runs both of these
- Fixes a bug in occurrence enumeration reported by paulsm on github
- Fixes a bug in imported timezones reported by paulsm on github
- Added tzid method to Ruby Time and DateTime instances, and to
ActiveRecord::TimeWithZone if it is defined this method is used to
determine the desired
timezone when an instance of one of these classes is given as the
value of a datetime property. If the tzid is nil then the default
tzid is used,
if it is set to :floating then the property will be a floating time.
- Removed the ability to pass an array with a tzid string and a
date-time since the above made it unnecessary
- The ruby datetime property returned from the ruby_value method on
the DateTime property will return an instance of ::DateTime with:
– The proper utc offset
– The tzid set to the right tzid
- Made exdate/rdate building possible
- Added a default_tzid attribute to the Calendar component, if this
attribute is not set for a particular calendar it will delegate to the
for the DateTime property class.
- Added fix patches from