Announcing ri_cal version 0.8.8
a new implementation of RFC2445 in Ruby

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
repeating events.

This is a clean-slate implementation of RFC2445.

A Google group for discussion of this library has been set up
http://groups.google.com/group/rical_gem


Changes:

=== v0.8.8 2011-02-13
   Regenerate gemspec for version 0.8.8
   Version bump to 0.8.8
   fix x property access
   change rakefile to use ad_agency
=== v0.8.7 2010-04-16
   Regenerated gemspec for version 0.8.7
   update history
   Version bump to 0.8.7
   fix tickets #29-supress x-rical-tzsource when not relevant
=== v0.8.6 2010-04-15
   Regenerated gemspec for version 0.8.6
   update history prior to release
   Version bump to 0.8.6
   fix tzinfo timezone export
   force change managment datetimes to zulu time
   added ZuluDateTime property for use by change management properties
   parked a spec
   Convert to jeweler
   Version bump to 0.8.5
   remove unneeeded Date#to_time and DateTime#to_time methods
   remove inf loop spec temporarily
   Working on a bug where a recurrence rule with simple by-parts
caused an infinite loop   See spec/ri_cal/inf_loop_spec

     Although the reported bug is fixed there is still work to do
because giving an event a dtstart
     not within the recurrence rule produces incorrect output.

     1) 'an event with unneeded by parts with a dtstart outside the
recurrence rule should enumerate 10 events first July 12, 1940, July
13, 1940, July 13, 1941 when count is 3' FAILED
     expected: ["1940-07-12", "1940-07-13", "1941-07-13"],
          got: ["1940-07-12", "1940-07-13", "1941-07-12"] (using ==)

      I'm going to push this to github, but not release a new gem
version until I can fix this latter bug.

   fixed infinite loop bug for reported case
   website and gemspec
   Fixed Ticket #26, failing with date values for event dtstart and dtend
   updated website
=== v0.8.4 2009-09-18
   fixed gemspec problem
=== v0.8.3 2009-09-18
   prepared to publish
   refactored occurrence incrementers
   checkpoint
   changed ri_cal.rb to autoload
   changed ri_cal.rb to autoload
=== v0.8.2 2009-09-05
   another attempt to trigger github to rebuild
   fixed gem version so github should now build
   Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/23
        initialization_methodsrb-syntax   Fixes
http://rick_denatale.lighthouseapp.com/projects/30941/tickets/24
  need-to-handle-empty-property-values
   fixed ticket #23
   adopted patch from ebigart
   Support properties with no value (e.g. 'LOCATION;LANGUAGE=en-US:'
gets generated using Outlook)
=== v0.8.1 2009-08-18
   Fixes http://rick_denatale.lighthouseapp.com/projects/30941/tickets/21
        exception-when-count-option-used-to-enumerate-non-recurring-event
=== v0.8.0 2009-08-11
   Minor Version Bump - There is a small potentially breaking change
see section on treatment of X-properties below   * Unknown Components

     Starting with version 0.8.0 RiCal will parse calendars and
components which contain nonstandard components.

     For example, there was a short-lived proposal to extend RFC2445
with a new VVENUE component which would hold structured information
about the location of an event.  This proposal was never accepted and
was withdrawn, but there is icalendar data in the wild which contains
VVENUE components.

     Prior to version 0.8.0, RiCal would raise an exception if unknown
component types were encountered.  Starting with version 0.8.0 RiCal
will 'parse' such components and create instances of NonStandard
component to represent them.  Since the actual format of unknown
components is not known by RiCal, the NonStandard component will
simply save the data lines between the BEGIN:xxx and END:xxx lines,
(where xxx is the non-standard component name, e.g. VVENUE).  If the
calendar is re-exported the original lines will be replayed.

     * Change to treatment of X-properties

     RFC2445 allows 'non-standard' or experimental properties which
property-names beginning with X.  RiCal always supported parsing
these.

     The standard properties are specified as to how many times they
can occur within a particular component.  For singly occurring
properties RiCal returns a single property object, while for
properties which can occur multiple times RiCal returns an array of
property objects.

     While implementing NonStandard properties, I realized that
X-properties were being assumed to be singly occurring. But this isn't
necessarily true.  So starting with 0.8.0 the X-properties are
represented by an array of property objects.

     THIS MAY BREAK SOME APPLICATIONS, but the adaptation should be easy.

   - 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.



-- 
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Github: http://github.com/rubyredrick
Twitter: @RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale