sogo/SOPE/NGCards/ChangeLog

1518 lines
51 KiB
Plaintext

2012-08-31 Francis Lachapelle <flachapelle@inverse.ca>
* iCalWeeklyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): the week counter must
start at 0 when there's no day mask.
2012-08-22 Francis Lachapelle <flachapelle@inverse.ca>
* iCalWeeklyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): fixed validation of
the interval when a day mask is used on multiple days.
2012-08-21 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRepeatableEntityObject.m (-exceptionDatesWithTimeZone:): we
now consider the timezone of the EXDATE, if defined.
2012-07-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZonePeriod.m (-recurrenceRule): new accessor for the
"rrule" element.
(-startDate): made method public.
(-compare:): new method that compare two periods based on their
startDate, for timezone definitions which have a "standard" or
"daylight" period for more that one year.
2012-05-30 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRepeatableEntityObject.m (-exceptionDatesWithTimeZone:)
(-rules:withTimeZone:): exception dates and exception rules must
also be adjusted for floating all-day repeating events.
2012-05-29 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRecurrenceCalculator.m
(_removeExceptionDatesFromRanges:withDates:withinRange:startingWithDate:):
when removing exception dates, avoid removing dates matching the
end date of the occurrence. This fixes an issue with all-day
daily events.
2012-04-23 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalMonthlyRecurrenceCalculator.m (NGMonthDaySet_clear): make
use of memset, which is expected to be faster.
(-recurrenceRangesWithinCalendarDateRange:): added handling of
"BYSETPOS" for "BYDAY" sets.
2012-04-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTrigger.m (-nextAlarmDate): new method including most of
the old code from -[iCalAlarm nextAlarmDate]. Added support for
DATE-TIME values.
* iCalAlarm.m (-nextAlarmDate): now a proxy method for
-[iCalTrigger nextAlarmDate].
2012-04-18 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m (-orderOfValueKeys): overrriden method.
* NSDictionary+NGCards.m
(-versitRenderInString:withKeyOrdering:asAttributes:): now takes
an "ordering" parameter resulting from the methods below and
reorder the dictionary keys as specified.
* CardElement.m (-orderOfAttributeKeys, -orderOfValueKeys): new
methods that return an ordered array of value keys, used for
rendering data in a way that is acceptable to certain picky
clients.
2012-04-11 Francis Lachapelle <flachapelle@inverse.ca>
* iCalWeeklyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange): we now return
occurrences that intersects with the period (not only occurrences
within the period). We no longer rely on NSCalendarDate to compute
the number of days since the master event start date (it is bugged).
2012-03-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m (_setDateTime:forAllDayEntity:): set or unset the
"VALUE" parameter to the date instance, depending on its the
all-dayness.
2012-03-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEvent.m (-hasDuration): returns NO when the value is present
but empty.
2012-02-03 Francis Lachapelle <flachapelle@inverse.ca>
* iCalDailyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange): handle the case
where the occurrence start date doesn't cover the reference period
but the end date does.
2012-01-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NSString+NGCards.m (-asCardAttributeValues): fixed a leak by
freeing "characters" at the end of the method.
2012-01-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NSString+NGCards.m (-vCardSubvalues): fixed allocation of
parsing buffer to avoid a buffer overflow.
2011-12-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCard.m (-initWithUid:): initialize "CLASS" and "PROFILE".
* CardGroup.m (-isVoid): overriden method.
(-cleanupEmptyChildren): make use of "isVoid" to detect and remove
empty children.
2011-11-21 Francis Lachapelle <flachapelle@inverse.ca>
* iCalTimeZone.m (+knownTimeZoneNames): ignore files that don't
have a .ics extension.
2011-11-13 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTrigger.m (-setValue:, value): removed useless accessors.
* iCalAttachment.m (-setValue:, value): removed useless accessors.
* iCalRecurrenceRule.m (-setRrule): now makes use of the existing
parsing algorithm and get the values from the parsed element.
* iCalEntityObject.m (-setCategories:): now take an array as
parameter.
* NSString+NGCards.m (-vCardSubvalues): new method adapted to the
new CardElement data structure, replaces
"vCardSubvaluesWithSeparator:", since we now know how to properly
separate or escape elements.
* CardElement.m (-init): "values" in now an NSMutableDictionary.
(-setValues:, -values): new primitive accessors;
(-setValues:atIndex:forKey:, -setSingleValue:atIndex:forKey:)
(setSingleValue:forKey:): new helper setters.
(-flattenedValueAtIndex:forKey:, -flattenedValues:forKey:): new
"flattened" helper getters. "Flattening" meaning here that the
first and/or second level array are merged with "," and ";", to
support clients that badly escape(d) their output for fields
taking only one value or a specific set of values.
(-valuesForKey:,-valuesAtIndex:forKey:): new helper getters
2011-11-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NSString+NGCards.m (-escapedForCards): restored the escaping of
commas, since they might be used in fields such as
COMMENT/DESCRIPTION (iCalendar) or NOTE (vCards)
2011-09-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalToDo.m (-setCompleted:): (hack) when invoked with a nil
argument, we set the status "back" to "IN-PROCESS" as we otherwise
may end up with a "COMPLETED" task without a completion date.
2011-07-12 Francis Lachapelle <flachapelle@inverse.ca>
* iCalCalendar.m (-addTimeZone:): now returns true if the timezone
was already defined in the calendar.
2011-07-11 Francis Lachapelle <flachapelle@inverse.ca>
* iCalDailyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): we must return all
ranges that intersect with the lookup period.
* iCalRepeatableEntityObject.m (-addToExceptionDates:): drop the
time part when dealing with an all-day event.
2011-03-29 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRepeatableEntityObject.m (-rules:withEventTimeZone:): new
method that returns a new set of rules with their "untill dates"
adjusted to the specified timezone.
(-recurrenceRulesWithTimeZone:): new method that returns the
recurrence rules adjusted to the specified timezone.
(-exceptionRulesWithTimeZone:): new method that returns the
exception rules adjusted to the specified timezone.
2011-03-23 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRepeatableEntityObject.m (-removeAllExceptionDates): don't
use the method "exceptionDates" since it returns an array of
strings and not CardElement instances.
* iCalTimeZone.m (+knownTimeZoneNames): new class method to
retrieve the timezone names. Used in replacement of the same
method in NSTimeZone.
2011-03-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEvent.m (-firstRecurrenceStartDate): new method that makes
use of the new one below.
* iCalRepeatableEntityObject.m
(-firstRecurrenceStartDateWithEndDate:): new method that returns
the first occurrence of a recurring entity.
* iCalByDayMask.m (-occursOnDay:withWeekOccurrence:): fixed method
to return true only when it is valid to do so...
(-weekDayOccurrences): new method that returns a reference to the
days ivar.
2011-03-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m (-removeChild:, -removeChildren:): new
self-explanatory methods.
2011-03-15 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NSString+NGCards.m (-asCardAttributeValues): rewritten method
properly in order to parse the values string by properly taking
quoted, escaping and special characters into account.
2011-01-14 Francis Lachapelle <flachapelle@inverse.ca>
* iCalTimeZone.m (-computedDateForString:): new method that
returns a date adjusted with respect to this vTimeZone.
(-computedDatesForStrings:): idem but for multiple dates.
* iCalRepeatableEntityObject.m
(-exceptionDatesWithEventTimeZone:): new method that returns the
exception dates for the event, but adjusted to the event's timezone.
2011-01-13 Francis Lachapelle <flachapelle@inverse.ca>
* iCalTimeZone.m (-computedDateForDate:): Was
_computedDateTimeForDate. Adjusts a date with respect to this
vTimeZone.
* iCalDateTime.m (-dateTimes): when there's no timezone defined
(which is the case when parsing a vTimeZone!), don't fallback to
the system timezone.
2010-11-18 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCard.m (-setVName, vName): removed useless and non-standard
methods.
2010-11-08 Francis Lachapelle <flachapelle@inverse.ca>
* NSString+NGCards.m (-vCardSubvaluesWithSeparator:): now returns
an empty array when the string is empty, instead of an array with
an empty string.
2010-10-28 Francis Lachapelle <flachapelle@inverse.ca>
* iCalRecurrenceRule.m (-isInfinite): a repeat count set to 0 is
no longer consider a limit (ie, isInfinite will be true).
2010-10-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCard.m (-setCategories): make use of the new method below.
(-categories): make use of value 0 and of the
vCardSubvaluesWithSeparator: category method.
* CardElement.m (-setCommaSeparatedValues): temporary helper for
versit fields that are using the comma as value separator.
2010-10-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCard.m (-setCategories, -categories): new accessors for the
"CATEGORIES" vcard property.
* NGVCardPhoto.m (-type): fixed the returning of the default type.
* CardElement.m (-setValues:): new method. Actual renamed version
of prior setValuesAsCopy:.
2010-10-18 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZone.m (-dateForDateTimeString:): adjust dates since
they are passed as UTC and may not match the timezone's DST
switches. A bit dirty but good for now...
* iCalTimeZonePeriod.m (_occurenceForDate:byRRule:): we don't need
to deduct the offset from UTC from the resulting date since
"tzStart" is already relative to UTC.
2010-10-13 Francis Lachapelle <flachapelle@inverse.ca>
* NSString+NGCards.m (-vCardSubvaluesWithSeparator): properly
initialized the "escaped" bool.
2010-10-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEvent.m (-setAllDayWithStartDate:duration:): added a
work-around for bug 866, by adding one hour in addition to the
offset in days from the start date.
* NSString+NGCards.m (-unescapedFromCard): removed obsolete
method.
(-componentsWithSafeSeparator:): renamed to
"vCardSubvaluesWithSeparator:" with proper unescaping of versit
values by scanning each character one after another.
2010-09-28 Francis Lachapelle <flachapelle@inverse.ca>
* NSString+NGCards.m (-asCalendarDate): added handling of date that
includes dashes (YYYY-MM-DD).
* iCalDateTime.m (-dateTimes): new method that handles EXDATE with
multiple values.
* iCalRepeatableEntityObject.m (-exceptionDates): add all values
from each EXDATE attribute.
* iCalRepeatableEntityObject.m (-exceptionDates): idem.
2010-08-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalPerson.m, iCalWeeklyRecurrenceCalculator.m: adapted classes
to use "NSInteger" and "NSUInteger" instead of "int" and "unsigned
int" for compatibility with versions of GNUstep base >= 1.20.
2010-08-24 Francis Lachapelle <flachapelle@inverse.ca>
* CardElement.m (-setNamedValue:to:): don't add the value if nil
and not already defined.
2010-08-19 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalAlarm.m (-setComment, -setSummary, -setAction)
(-setAttendees): new accessors.
2010-08-13 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalAlarm.m (-nextAlarmDate): new utility method split from the
SOGo quick table extractor for events.
2010-08-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCardPhoto.m (-type): returns @"JPEG" if the type is
unspecified.
2010-07-21 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalXMLRenderer.m (_appendPaddingValues:withTag:intoString:):
fixed a typo causing a crash.
2010-07-16 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCardPhoto.[hm]: new class module that implement facilities
for handling "PHOTO" tags in vcards.
2010-06-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalXMLRenderer.m (-[CardGroup xmlRender]): don't append empty
rendering from child elements to avoid an exception.
2010-06-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalXMLRenderer.m: new class module for exporting iCalCalendar
objects as XML files.
* iCalUTCOffset.m: new class module for handling of the
"tzoffsetfrom" and "tzoffsetto" elements.
2010-05-05 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalPerson.m (-setParticipationStatus:, -participationStatus):
added handling of the new partstat value
"iCalPersonPartStatUndefined".
* iCalEntityObject.m (-resources): removed useless method.
(-nonParticipants): new method returning ATTENDEE objects having
their ROLE attribute set to "NON-PARTICIPANT".
(-isAttendee:): new method.
(-findAttendeeWithEmail): new method replacing
"findParticipantWithEmail:".
2010-04-28 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m (-iCalRepresentationForWeekDay:): made
method "public" in the header file.
2010-04-22 Francis Lachapelle <flachapelle@inverse.ca>
* iCalYearlyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): the rule interval
must be reset to 1 when using the monthly calculator since the
interval is related to the yearly frequency. Also fixed the month
counter with respect to the recurrence interval.
* iCalWeeklyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): fixed the computation
of the week number which results in a bad verification of the interval.
2010-04-19 Francis Lachapelle <flachapelle@inverse.ca>
* iCalByDayMask.[h|m]: new class that computes complex BYDAY constraints.
* iCalRecurrenceRule.m (-byDayMask): new method that returns an
instance of iCalByDayMask.
(-byMonth): new method that returns an array with the values of
the BYMONTH constraint.
(-hasByMask): new method that returns true if the rule has at
least one BYxxx mask defined.
* iCalDailyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): make use of the new
iCalByDayMask class.
(-lastInstanceStartDate): make use of the previous method when a
BYxxx mask is defined in the rule.
* iCalWeeklyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): make use of the new
iCalByDayMask class.
(-lastInstanceStartDate): make use of the previous method when a
BYxxx mask is defined in the rule.
* iCalMonthlyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): added support for
BYMONTH, negative BYMONTHDAY, and BYDAY.
(-lastInstanceStartDate): make use of the previous method when a
BYxxx mask is defined in the rule.
* iCalYearlyRecurrenceCalculator.m
(-recurrenceRangesWithinCalendarDateRange:): added support for
BYxxx constraints using the iCalMonthlyRecurrenceCalculator class.
(-lastInstanceStartDate): make use of the previous method when a
BYxxx mask is defined in the rule.
* iCalTimeZonePeriod.m (-_occurenceForDate:byRRule:): make use of
the new iCalByDayMask class.
2010-04-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEvent.m (-propertyValue:): new method that accept a
key-based method invocation.
2010-03-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZonePeriod.m (_occurenceForDate:byRRule:): fixed
computing of timezone switch dates for periods starting at a
"negative" day of the month.
2010-03-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZone.m (-periodForDate:): the order in which daylight
and standard occur is not the same in the northern and southern
hemisphere. We were thus choosing the wrong period for southern
areas.
* iCalTimeZonePeriod.m (_occurenceForDate:byRRule:): fixed
computing of timezone switch dates, which were offset by one week
too early.
2010-01-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m (-setTimeZone:): don't modify the date in case of
an all-day value, otherwise the resulting date will be recomputed.
2009-10-19 Francis Lachapelle <flachapelle@inverse.ca>
* iCalDateTime.m (-setTimeZone:): don't add the time in case of an
all-day component.
2009-10-10 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardElement.m (-copyWithZone:): we release the "tag" and the
"group" copy to avoid a leak.
(-mutableCopyWithZone): same as above.
2009-09-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NSArray+NGCards.m (-renderedForCards): insert the non-blank
values at their correct positions by inserting empty strings.
2009-09-10 Francis Lachapelle <flachapelle@inverse.ca>
* iCalPerson.m ([iCalPerson -_valueOfMailtoAttribute:]): fixed the
string range that was removing valid characters from a quoted string.
* NSString+NGCards.m ([NSString -rfc822Email]): new method that
returns the string without the "mailto:" prefix.
2009-09-09 Cyril Robert <crobert@inverse.ca>
* NGVCard.m: Made use of NSDictionary+Utilities' userRecordAsLDIFEntry.
* NGVList.m: Made use of NSDictionary+Utilities' userRecordAsLDIFEntry.
* NGVCard.m (ldifString): Moved to a category in SOGo
* NGVList.m (ldifString): Moved to a category in SOGo
2009-09-02 Cyril Robert <crobert@inverse.ca>
* NGVCard.m (ldifString): Added, to support exporting
* NGVList.m (ldifString): Added, to support exporting
2009-08-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalPerson.m (-setDelegatedTo:, -setDelegatedFrom:)
(-setSentBy:): new helper methods to set the corresponding
attributes, properly formatted. The getters were added too.
* iCalEntityObject.m (-removeFromAttendees:): new helper method to
remove a specific attendee from the list.
* NSArray+NGCards.m (-renderedForCards): empty values are not
returned, so as to avoid rendering attributes that do not have a
value.
* CardVersitRenderer.m (-renderElement:): we avoid outputting
attribute keys if no non-empty value has been returned.
2009-07-17 Cyril Robert <crobert@inverse.ca>
* iCalPerson.m: Lowercased MAILTO to make it work with iCal.
2009-04-21 Francis Lachapelle <flachapelle@inverse.ca>
* iCalTrigger.m ([iCalTrigger -setRelationType:]): new method to
set the "related" attribute of an alarm trigger.
* NSString+NGCards.m ([NSString -durationAsTimeInterval]): added
support of negative durations.
2009-03-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalWeeklyRecurrenceCalculator.m
([iCalWeeklyRecurrenceCalculator
-recurrenceRangesWithinCalendarDateRange:_r]): same as below.
* iCalDailyRecurrenceCalculator.m ([iCalDailyRecurrenceCalculator
-recurrenceRangesWithinCalendarDateRange:_r]): autorelease
currentStartDate when instantiated from a copy of firDate, to
avoid a leak.
2009-03-18 Francis Lachapelle <flachapelle@inverse.ca>
* iCalDateTime.m ([iCalDateTime -dateTime]): when not defined, the
timezone is now guessed from the date of the current object.
2009-02-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardElement.m ([CardElement -setParent:aParent]): no longer
retain the parent passed as parameter.
2008-12-10 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalYearlyRecurrenceCalculator.m
([iCalYearlyRecurrenceCalculator -lastInstanceStartDate]): same as
below.
* iCalMonthlyRecurrenceCalculator.m
([iCalMonthlyRecurrenceCalculator -lastInstanceStartDate]): same
as below.
* iCalWeeklyRecurrenceCalculator.m
([iCalWeeklyRecurrenceCalculator -lastInstanceStartDate]): same as
below.
* iCalDailyRecurrenceCalculator.m ([iCalDailyRecurrenceCalculator
-lastInstanceStartDate]): return a date based on the start date,
instead of julian calculations, to avoid losing the original date
timezone.
2008-08-18 Ludovic Marcotte <lmarcotte@inverse.ca>
* NSString+NGCards.m ([NSString -unescapedFromCard]): added code
to correctly escape carriage returns from Outlook clients.
2008-08-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m ([CardGroup -elementWithClass:groupClass]): replaces
"groupWithClass:".
* CardElement.m ([CardElement
-deepCopyOfArray:oldArraywithZone:aZone]): new self-explaining
method.
([CardElement -deepCopyOfDictionary:oldDictionarywithZone:aZone]):
new self-explaining method.
([CardElement -copyWithZone:aZone])
([CardElement -mutableCopyWithZone:aZone]): make a deep copy of
the children elements.
2008-07-17 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRepeatableEntityObject.m ([iCalRepeatableEntityObject
-addToExceptionDates:_rdate]): the iCalDateTime argument was
replaced with NSCalendarDate.
* iCalEntityObject.m ([iCalEntityObject
-setOrganizer:_organizer]): now accepts a nil argument.
* CardGroup.m ([CardGroup -children]): now returns an NSMutableArray.
([CardGroup -copyWithZone:aZone])
([CardGroup -mutableCopyWithZone:aZone]): the children were not
properlty cloned, we thus clone them explicitly.
2008-07-16 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m ([iCalDateTime -setDate:dateTime]): don't set
date in utc.
2008-07-14 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* ICalDateHolder.m: removed class module.
* NSCalendarDate+ICal.m ([NSCalendarDate
+calendarDateWithICalRepresentation:]): removed method.
* iCalRecurrenceCalculator.m: no longer use the
calendarDateWithICalRepresentation: category method (removed), use
NSString's asCalendarDate category method instead.
* iCalRepeatableEntityObject.m ([iCalRepeatableEntityObject
-classForTag:classTag]): instances of EXDATE are of iCalDateTime
class.
([iCalRepeatableEntityObject -exceptionDates]): return the dates
as utc-based date strings.
2008-07-11 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEntityObject.m ([iCalEntityObject -setRecurrenceId:newRecId])
([iCalEntityObject -recurrenceId]): new accessors to handle the
"RECURRENCE-ID" fields in recurrence exceptions.
2008-07-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardElement.m ([CardElement -addValue:aValue])
([CardElement -addAttribute:anAttributevalue:aValue])
([CardElement -removeValue:aValuefromAttribute:anAttribute])
([CardElement -setValue:anIntto:aValue])
([CardElement -setNamedValue:aValueNameto:aValue])
([CardElement -setValue:anIntofAttribute:anAttributeto:aValue]):
if aValue is nil, set it to an empty string.
2008-07-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m ([CardGroup +parseFromSource:source]): directly
return the result from [sax cards] instead of creating a new array.
2008-07-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEvent.m ([iCalEvent -endDate]): if no DTEND is specified,
returns the end date based on the start date and take the duration
into account if it is specified.
2008-06-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalFreeBusy.m ([iCalFreeBusy
-fillStartDate:startDateandEndDate:endDate]): new method created
to avoid enlarging the code.
2008-04-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceCalculator.m ([iCalRecurrenceCalculator
+recurrenceRangesWithinCalendarDateRange:_rfirstInstanceCalendarDateRange:_firrecurrenceRules:_rRulesexceptionRules:_exRulesexceptionDates:_exDates]):
when removing dates, the decremental count of dates to remove was
actually incremental, which caused an out of bound reference
exception.
2008-03-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m ([iCalRecurrenceRule -byMonthDay]): check
whether the "bymonthday" value is empty and returns an array only if
not, otherwise returns nil.
* iCalRecurrenceCalculator.m ([iCalRecurrenceCalculator
+recurrenceRangesWithinCalendarDateRange:_rfirstInstanceCalendarDateRange:_firrecurrenceRules:_rRulesexceptionRules:_exRulesexceptionDates:_exDates]):
split method in many submethods for clarity.
2008-03-10 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZonePeriod.m ([iCalTimeZonePeriod
-dayOfWeekFromRruleDay:day]): the algorithm would never work if
the day was monday. After it was changed for sunday (see below),
it would return 1 instead of 0.
* iCalRecurrenceRule.m ([iCalRecurrenceRule -setByDayMask:_mask]):
the first day of the week is always sunday, following Apple's
documentation.
2008-03-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCardReference.[hm]: new class module that implements the base
data type contained in a VLIST element.
* NGVList.[hm]: new class module that implements Thunderbird-style
personal mailing lists. Base mime-type is "text/x-vlist".
2008-02-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m ([iCalRecurrenceRule -wkst]): if no wkst
parameter is specified, we supply "MO" as default value.
([iCalRecurrenceRule -weekDayFromICalRepresentation:_day]): the
second letter of sunday if "u", fixed typo.
* CardElement.m ([CardElement
-setNamedValue:aValueNameto:aValue]): if the value is empty, we
removed the named value.
2008-01-28 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m ([iCalRecurrenceRule
-weekDayFromICalRepresentation:_day]): issue an error whenever the
day cannot be deduced. Accept days notated with a prefix.
([iCalRecurrenceRule -byDayMask]): don't strip the represented
day, feed it directly to weekDayFromICalRepresentation: since it
will do the correct syntax validation.
* iCalDailyRecurrenceCalculator.m ([iCalDailyRecurrenceCalculator
-recurrenceRangesWithinCalendarDateRange:]): make use of <<
instead of exp2 to compute the mask.
2008-01-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m ([iCalRecurrenceRule -repeatInterval]):
return 1 if the parsed value is < 1.
2007-12-20 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NSString+NGCards.m ([NSString
-componentsWithSafeSeparator:separator]): new method that
separated the elements of a string into an array while avoiding
escaped instances of the separator passed as parameter.
2007-12-12 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZone.m ([iCalTimeZone -periodForDate:date]): at least
one timezone period is needed so we might need to fallback on the
only one present if the other does not exist.
2007-11-29 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m ([iCalDateTime -timeZone]): log a message if the
corresponding timezone isn't found.
2007-11-26 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalCalendar.m ([iCalCalendar -versitString]): same as below,
with "2.0" as value.
* NGVCard.m ([NGVCard -versitString]): overriden method by forcing
version to "3.0" since it's the format we comply with.
2007-11-22 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEntityObject.m ([iCalEntityObject -compare:otherObject]):
safely compare between objects which may be nil.
2007-11-18 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalPerson.m ([-rsvp]): return lowercase string.
* iCalCalendar.m ([iCalCalendar -setMethod:_value]): convert
method to uppercase before setting value.
* CardGroup.m ([CardGroup -addChild:aChild]): don't process nil
values for aChild.
([CardGroup -setUniqueChild:aChild]): same as above.
([CardGroup -setChildrenAsCopy:someChildren]): reparent the copied
children.
([CardGroup -mutableCopyWithZone:aZone]): implemented
NSMutableCopying protocol.
* CardElement.m ([CardElement -mutableCopyWithZone:aZone]):
implemented NSMutableCopying protocol.
2007-11-12 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalTimeZonePeriod.m ([iCalTimeZonePeriod
-occurenceForDate:refDate]): added support for timezone periods
which do not contain a recurrence rule, such as the one provided
by iCal.
2007-11-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateHolder.m ([iCalDateHolder -awakeAfterUsingSaxDecoder:]):
make use of cStringUsingEncoding: instead of getString:length: to
retrieve the buffer content to work-around a bug in gnustep-base.
2007-11-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m ([CardGroup +parseFromSource:source]): make sure the
given source is not nil, otherwise the parser will raise an
exception, which we don't want.
2007-10-29 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardElement.m ([CardElement -value:anInt]): added handling for
quoted-printable, base64 and 8bit encoding attributes.
2007-08-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m ([iCalRecurrenceRule
-valueForFrequency:value]): returns NSNotFound whenever the
frequency text has a length of 0.
([iCalRecurrenceRule -byDayMask]): return an empty mask whenever
the "byday" value has a length of 0.
2007-02-12 Helge Hess <helge.hess@opengroupware.org>
* iCalMonthlyRecurrenceCalculator.m: fixed byday calculation for days
which overflow the number of days in a month. Should fix OGo bug
#1829. (v4.7.79)
2007-07-10 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalToDo.m ([iCalToDo -setDue:newDueDate]): use setDateTime:
instead of setDate: because the latter sets an "all day"
timestamp.
2007-07-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalRecurrenceRule.m ([iCalRecurrenceRule
+recurrenceRuleWithICalRepresentation:_iCalRep]): the
representation is generally a series of values separated by a ";".
Therefore we need to split those values and feed them one by one.
([iCalRecurrenceRule -weekDayFromICalRepresentation:_day]): return
-1 instead of raising an exception if the week day could not be
recognized.
* CardElement.m ([CardElement -versitString]): remove the ending
"\r\n".
2007-06-12 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m ([iCalDateTime
-_setDateTime:dateTimeforAllDayEntity:forAllDayEntity]): take the
forAllDayEntity parameter into account when the date entity has a
timezone.
* iCalTimeZone.m ([iCalTimeZone -dateStringForDate:date]): new
method that returns dates formatted for all day events.
2007-06-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalDateTime.m ([iCalDateTime
-_setDateTime:dateTimeforAllDayEntity:forAllDayEntity]):
inverted the all day logic because all day dates where generated
for regular dates and the other way around...
* iCalEvent.m ([iCalEvent
-setAllDayWithStartDate:newStartDateduration:days]): new method
that sets the start and end dates in an all day fashion.
([iCalEvent -setEndDate:newEndDate]): no longer use the methods
provided by the removed module CardGroup+iCal.
([-isAllDay]): reimplemented method by testing if the start day
component is an all day date.
* iCalEntityObject.m ([iCalEntityObject -setCreated:newCreated])
([iCalEntityObject -created], [-setLastModified:_value])
([iCalEntityObject -lastModified])
([iCalEntityObject -setTimeStampAsDate:newTimeStamp])
([iCalEntityObject -timeStampAsDate], [-setStartDate:_value])
([iCalEntityObject -startDate]): no longer use the methods
provided by the removed module CardGroup+iCal.
* iCalDateTime.m ([iCalDateTime -setDate:dateTime]): take the date
passed as parameter as an all day date.
([iCalDateTime -isAllDay]): new method determining whether the
current value is an all day value.
* NSString+NGCards.m ([NSString -isAllDayDate]): new method that
determines whether the date represented in "self" is an all day
date (date only) or not (date + time).
* CardElement.h: moved IS_EQUAL macro from removed module
"common.h".
* CardGroup+iCal.[hm]: removed category module.
2007-04-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCard.m ([NGVCard -n]): simplified method by returning the
values of the element returned by uniqueChildWithTag:.
2007-03-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEntityObject.m ([iCalEntityObject -symbolicAccessClass]):
new method that parses the "CLASS" element of the card and returns
an enum value.
* NSString+NGCards.m ([NSString -foldedForVersitCards]):
simplified method by initializing and returning folderString
unconditionnally. If length < 76, the original string is appended
to it.
* CardGroup.m ([CardGroup +groupWithTag:aTag]): simply invoke
[self elementWithTag:].
([CardGroup +groupWithTag:aTagchildren:someChildren]): same as
above.
2007-03-05 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* iCalEntityObject.h (enum): added an enum with iCalAccessPublic,
iCalAccessPrivate and iCalAccessConfidential values.
2007-02-15 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m ([CardGroup -firstChildWithTag:aTag]): new method.
2007-02-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardGroup.m ([CardGroup +cardParser]): find the correct parser
by requesting a parser by name instead of by mime-type. This way,
any parser which would declare the same types would not
enter in conflict.
2007-02-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* CardElement.m ([CardElement -namedValue:aValueName]): use
NSString's rangeOfString instead of indexOfString for
compatibility with GNUstep.
2007-02-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* NGVCard.m ([NGVCard -classForTag:classTag]): declare an entry
for "FBURL".
2006-08-03 Helge Hess <helge.hess@opengroupware.org>
* NGVCardSaxHandler.m: fixed a bug with returning parsing results.
Properly make a copy of the vCard array so that -clear doesn't
destroy references. Thanks go to Wolfgang Sourdeau for documenting
the issue! (v4.5.76)
2006-07-04 Helge Hess <helge.hess@opengroupware.org>
* use %p for pointer formats, fixed gcc 4.1 warnings (v4.5.75)
2006-05-16 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalDataSource.h, common.h: changed EOControl related includes into
imports to enable compilation against MulleEOF (v4.5.74)
2006-04-07 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalEntityObject.h: added missing forward declaration for
gstep-base compile (v4.5.73)
2006-04-06 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.72
* iCalEntityObject.[hm]: added "url" property - unfortunately
this was missing before. Increased class version to "1".
* iCalRepeatableEntityObject.m, iCalEvent.m, iCalToDo.m: adjusted
super class version check.
2006-01-16 Helge Hess <helge.hess@opengroupware.org>
* iCalRecurrenceRule.m: properly include NSString+Ext.h to avoid a
warning during Cocoa compilation (v4.5.71)
2005-11-17 Helge Hess <helge.hess@opengroupware.org>
* include string.h where required (v4.5.70)
2005-10-05 Helge Hess <helge.hess@opengroupware.org>
* iCalMonthlyRecurrenceCalculator.m: implemented calculation of
negative byday occurrences (eg -1TH) (v4.5.69)
2005-09-22 Helge Hess <helge.hess@skyrix.com>
* iCalRecurrenceRule.m: added direct parser support for 'interval',
allow 'until' values w/o Z marker for date-only values (v4.5.68)
2005-09-22 Helge Hess <helge.hess@opengroupware.org>
* v4.5.67
* iCalMonthlyRecurrenceCalculator.m: finished 'byday' calculation
* iCalRecurrenceRule.m: added support for 'bymonthday', fixed handling
of occurrence1
2005-09-21 Helge Hess <helge.hess@skyrix.com>
* v4.5.66
* iCalRecurrenceRule.m: temporarily expose byDayOccurence1 until the
API is fixed
* iCalMonthlyRecurrenceCalculator.m: prepared for byday/bymonthday
rule specs
* v4.5.65
* iCalMonthlyRecurrenceCalculator.m: fixed calculation of 'count' field
* iCalRecurrenceCalculator.m: minor code cleanups
* iCalRecurrenceRule.m: improved rrule parser
2005-09-20 Helge Hess <helge.hess@opengroupware.org>
* iCalMonthlyRecurrenceCalculator.m: stop calculation if a byday part
was detected in the rule (v4.5.64)
* iCalRecurrenceCalculator.m: moved cluster subclasses to own source
files (v4.5.63)
* iCalRecurrenceRule.m: added some parsing/gen support for BYDAY
(v4.5.62)
2005-09-19 Helge Hess <helge.hess@opengroupware.org>
* iCalRecurrenceRule.m: minor code improvements, more tolerant on
invalid iCal rrule input (v4.5.61)
2005-08-16 Helge Hess <helge.hess@opengroupware.org>
* GNUmakefile, GNUmakefile.preamble: added OSX framework compilation
(v4.5.60)
2005-08-06 Helge Hess <helge.hess@opengroupware.org>
* iCalCalendar.m, NGVCardName.m: fixed gcc 4.0 warnings (v4.5.59)
2005-08-05 Helge Hess <helge.hess@opengroupware.org>
* NGVCardSaxHandler.h: fixed a gcc 4.0 warning (v4.5.58)
2005-07-18 Helge Hess <helge.hess@opengroupware.org>
* iCalPerson.m: added -partStatWithDefault method to retrieve the
partstat and return NEEDS-ACTION in case none is set (v4.5.57)
2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
fixed NSCopying (v4.5.56)
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* added fragile base class version checks (v4.5.55)
2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
added NSCopying (v4.5.54)
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* v4.5.53
* iCalCalendar.m: added +parseCalendarFromSource: convenience method
* NGVCard.m: properly reset sax driver after parsing
2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalEntityObject.[hm]: added -increaseSequence (v4.5.52)
* iCalPerson.m: fixed -hasSameEmailAddress: to lowercase email
addresses before attempting comparison (v4.5.51)
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* v4.5.50
* NGiCal.xmap: fixed mapping of 'method' property (is an attribute of
the calendar)
* iCalCalendar.m: use ASSIGNCOPY in accessors, added 'method' to
-description
2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.49
* iCalCalendar.[hm]: added 'method'
* iCalEntityObject.[hm]: added 'userComment', changed all email
related comparisons to lowercase all strings before comparison
* iCalEvent.h: pretty printed iVars
* NGiCal.xmap: added mapping for 'comment' -> 'userComment' and
'method' -> 'method'
2005-07-13 Helge Hess <helge.hess@opengroupware.org>
* v4.5.48
* NGVCard.m: added some convenience methods to access the preferred
email, tel and adr
* NGVCardOrg.m: added a convenience method to access the first orgunit
2005-07-05 Marcus Mueller <znek@mulle-kybernetik.com>
* NSCalendarDate+ICal.m: fixed 'gmtcalfmt' which removed seconds from
format for no obvious reason (v4.5.47)
2005-05-31 Helge Hess <helge.hess@skyrix.com>
* NGVCardSaxHandler.m: ensure that types are always uppercase, improved
check for DUPs (v4.5.46)
2005-05-16 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: reorganized ordering of headers/classes
2005-05-15 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: added vCard related stuff
2005-05-10 Helge Hess <helge.hess@opengroupware.org>
* NGVCard.m: added support for profile, source, name (v4.5.45)
2005-05-09 Helge Hess <helge.hess@opengroupware.org>
* first version of working vCard SAX handler (v4.5.54)
2005-05-08 Helge Hess <helge.hess@opengroupware.org>
* more work on vCard parsing (v4.5.53)
* work on vCard objects (incomplete) (v4.5.52)
2005-04-25 Helge Hess <helge.hess@opengroupware.org>
* iCalDateHolder.m, iCalDataSource.m: fixed gcc 4.0 warnings (v4.5.51)
2005-03-23 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.50
* iCalRenderer.h: added missing paranthesis for iVar declarations
* iCalTrigger.m, iCalEntityObject.m, iCalToDo.m,
iCalRecurrenceCalculator.m, iCalDateHolder.m, iCalDataSource.m,
iCalPerson.m, iCalCalendar.m: numerous dealloc bugs/leaks fixed
2005-03-02 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalRecurrenceCalculator.m: bugfix for monthly and yearly recurrences
(v4.5.49)
* iCalRecurrenceCalculator.m: optimized exception date handling in
complex calculation method quite a bit. Fixed bugs in all calculation
methods by introducing checks on the desired range. (v4.5.48)
2005-02-28 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.47
* iCalRepeatableEntityObject.m: shifted code to
iCalRecurrenceCalculator
* iCalRecurrenceCalculator.[hm]: new class method to calculate
complex recurrences. In SOGo this information is stored in quick
fields to reduce the complexity of lookups, hence we need to offer
a proper API to calculate date ranges from this information.
Fixed all calculations to explicitly set timeZone for all newly
created startDates - it seems the timeZone information is not
properly retained by the hour:minute:second: method from NGExtensions
which lead to improper DST related shifts.
* iCalDateHolder.h: exposed the API
* NSCalendarDate+ICal.[hm]: new convenience constructor for calendar
dates from iCal representations (uses iCalDateHolder internally)
* iCalRecurrenceRule.m: changed setUntil: to utilize new public
NSCalendarDate+ICal category
* NGiCal.h: added NSCalendarDate+ICal.h to the public headers
* GNUmakefile: NSCalendarDate+ICal.h is public now
2005-02-20 Helge Hess <helge.hess@opengroupware.org>
* NGiCal.xmap: fixed a missing semicolon (did not load on MacOSX)
(v.4.5.46)
2005-02-17 Helge Hess <helge.hess@skyrix.com>
* GNUmakefile.preamble: fixed linking locations for dependencies
(v4.5.45)
2005-02-17 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.44
* iCalEntityObject.[hm]: added convenience API
* iCalRepeatableEntityObject.[hm]: added convenience API
* iCalRecurrenceRule.m: bugfixes in -byDayList and
-iCalRepresentationForWeekDay:
* iCalRecurrenceCalculator.m: implemented 'BYDAY' calculations for
weekly frequency. Note that 'COUNT' is still broken for this case.
* iCalRenderer.m: updated rendering, now can render recurrence rules
and accompanied stuff properly.
2005-02-15 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.43
* iCalRecurrenceRule.[hm]: exposed some more of the API
* iCalRecurrenceCalculator.m: some bugfixes. Split the code and gave
iCalWeeklyRecurrenceCalculator its own calculation - there are a
number of foreseeable differences to daily calculation that make
this necessary in the near future anyways.
* v4.5.42
* iCalRepeatableEntityObject.[hm]: added ability to properly calculate
the recurrence ranges within a specific calendar date range, taking
all possible exceptions into account.
* iCalEvent.[hm]: convenience wrapper for the new method found in
iCalRepeatableEntityObject.
2005-02-14 Helge Hess <helge.hess@opengroupware.org>
* v4.5.41
* GNUmakefile.preamble: added missing dependency on libNGExtensions
(which also adds the dependency on libDOM)
* iCalRecurrenceCalculator.h: fixed missing forward declaration in
header
2005-02-12 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.40
* iCalRecurrenceCalculator.[hm]: implemented all required (and simple)
calculations. Added some convenience API to query some of the more
obvious ranges suitable as limits for fetching/comparison.
* iCalRepeatableEntityObject.[hm]: new method for calculating the
last possible recurrence start date. This can be used for fetches
as well.
* iCalEvent.[hm]: more convenient wrapper for the new method found in
iCalRepeatableEntityObject.
* NSCalendarDate+ICal.[hm]: convenience methods for calculating
"distances" between dates.
* tests/*: updated
2005-02-11 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.39
* README: updated
* iCalRepeatableEntityObject.[hm]: new base class for all other
repeatable entity objects. Offers a convenience API for generating
recurrence ranges and tests, taking all exceptions into account.
* iCalRecurrenceRule.[hm]: an iCal recurrence rule, modeled as closely
as possible to RFC2445. Please note that this is work in progress
and far from being complete, yet.
* iCalRecurrenceCalculator.[hm]: a controller implementing RFC2445
to properly generate recurrence ranges and accompanied functionality.
* iCalEvent.[hm], iCalToDo.[hm]: now subclasses from
iCalRepeatableEntityObject, thus removed code dealing with
recurrences
* NGiCal.h: added new headers
* NGiCal.xmap: changed recurrenceRule mappings due to model change
* tests/*: contains unit tests for stuff dealing with recurrences. See
accompanied README for details
2004-12-17 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalPerson.[hm]: formalized participationStatus according to RFC2445.
Provided convenience API to set status without concrete knowledge
of string values involved. (v4.5.38)
2004-12-16 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.5.37
* iCalEvent.[hm]: Added transparency 'TRANSP'. Also multiple
convenience methods provided.
* NGiCal.xmap: added proper mapping for 'transp'.
2004-12-14 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: minor changes and updated
2004-12-13 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalPerson.[hm]: added -cnWithoutQuotes and -rfc822Email convenience
methods to simplify client code dealing with these properties
(v4.5.36)
2004-11-07 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: provide SOPE_{MAJOR,MINOR}_VERSION to the build
2004-11-06 Helge Hess <helge.hess@opengroupware.org>
* iCalRenderer.m: use SOPE version defines for iCalendar product id
(v4.5.35)
2004-11-04 Helge Hess <helge.hess@skyrix.com>
* use Version file for install directory location of sax mapping
2004-10-31 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalAlarm.[hm], iCalEvent.[hm], iCalToDo.[hm],
NGiCal.xmap: added recurrenceRule (v4.3.34)
2004-10-20 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: added iCalRenderer.[hm], bumped framework version
2004-10-20 Helge Hess <helge.hess@opengroupware.org>
* iCalRenderer.m: fixed some issue with Cocoa Foundation (v4.3.33)
* v4.3.32
* iCalEvent.m: added -vEvent method to produce an iCalendar
representation of an event
* added iCalRenderer class based on the SOGo render by ZNeK
2004-10-14 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xmap: added "categories" mapping (v4.3.31)
2004-10-05 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalEntityObject.[hm]: added categories property (v4.3.30)
2004-09-22 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: fixed several build parameters
2004-09-01 Marcus Mueller <znek@mulle-kybernetik.com>
* v4.3.29
* iCalEventChanges.[hm]: new class for tracking changes between
two given events
* iCalEvent.[hm]: new API to generate iCalEventChanges objects.
* common.h: inline function and macro for "safe" comparison of
object values
2004-09-01 Helge Hess <helge.hess@opengroupware.org>
* GNUmakefile.postamble: copy sax-model to FHS_INSTALL_ROOT +
/share/sope-4.3/saxmappings/ when compiling for FHS (v4.3.28)
2004-08-29 Helge Hess <helge.hess@opengroupware.org>
* added hack to install the project in FHS locations - the library,
its headers, the tools and the resources will be installed in
FHS_INSTALL_ROOT if specified (eg make FHS_INSTALL_ROOT=/usr/local)
(v4.3.27)
2004-08-26 Marcus Mueller <znek@mulle-kybernetik.com>
* NGiCal.xcode: new Xcode project
2004-08-20 Helge Hess <helge.hess@opengroupware.org>
* fixed for SOPE 3.3 directory layout (v4.3.26)
* moved to sope-ical
* moved to SOPE 4.3 (v4.3.25)
2004-08-14 Helge Hess <helge.hess@opengroupware.org>
* iCalEntityObject.m: changed "sequence" attribute from NSString to
NSNumber (this might break some code, though some care was taken to
accept NSString parameters) (v4.2.24)
2004-07-14 Helge Hess <helge.hess@opengroupware.org>
* iCalEvent.h: moved 'status' field to iCalEntityObject, because it is
also available in todo objects (v4.2.23)
2004-06-30 Marcus Mueller <znek@mulle-kybernetik.com>
* iCalEntityObject.m: added -removeAllAttendees and -removeAllAlarms.
These are necessary in case you want to remake the contents of these
collections, but keep all other attributes otherwise. (v4.2.22)
2004-06-09 Helge Hess <helge.hess@opengroupware.org>
* v4.2.21
* GNUmakefile.preamble: added prebinding
* GNUmakefile: create GNUmakefile.preamble, GNUmakefile.postamble
2004-05-05 Marcus Mueller <znek@mulle-kybernetik.com>
* GNUmakefile: added support for building with
GNUSTEP_BUILD_DIR environment variable set for recent
gnustep-make package. (v4.2.20)
2004-01-23 Helge Hess <helge.hess@opengroupware.org>
* iCalDataSource.m: added some sanity checks, improved to work better
with Mozilla generated iCal files (v4.2.19)
2003-12-22 Helge Hess <helge.hess@skyrix.com>
* iCalDateHolder.m: small fix not to print a warning for "YYYYMMDD"
style dates (which are supported) (v4.2.18)
2003-12-21 Helge Hess <helge.hess@opengroupware.org>
* v4.2.17
* iCalEvent.m: added parsing of duration values and calculation of
end-dates based on that (eg required for Panther iCal.app)
* iCalEvent.m: added support for 'status' and 'duration' fields
Thu Nov 20 16:31:15 2003 Martin Hoerning <martin@opengroupware.org>
* iCalDateHolder.m: added timeless date format: YYYYMMDD
(solves ogo bug 424) (v4.2.16)
Wed Oct 29 22:04:32 2003 Martin Hoerning <martin@opengroupware.org>
* iCalDateHolder.m, iCalObject.[m|h]: added iCalDefaultTimeZone to
create date from iCalDates without timeZone. (solves OGoo bug 257)
(v4.2.15)
2003-10-12 Helge Hess <helge@opengroupware.org>
* GNUmakefile (libNGiCal_LIBRARIES_DEPEND_UPON): link against
libSaxObjC on MacOSX (v4.2.14)
Fri Jul 18 17:04:55 2003 Martin Hoerning <mh@skyrix.com>
* iCalToDo.h, iCalPerson.h, iCalEvent.h, iCalEntityObject.h: added
accessor-methods to interface (v4.2.13)
2003-07-18 Helge Hess <helge.hess@skyrix.com>
* iCalDateHolder.m: replaces and indexOfString with rangeOfString,
thanks to Filip Van Raemdonck for pointing that out (v4.2.12)
2003-03-21 Helge Hess <helge.hess@skyrix.com>
* added some method prototypes
2003-03-13 Helge Hess <helge.hess@skyrix.com>
* moved iCalEntityObject to a separate file (v4.2.11)
Mon Mar 10 18:41:10 2003 Bjoern Stierand <bjoern@skyrix.com>
* NGiCal.xmap: added missing attendee attributes (as dictated by
mh on the phone)
2003-03-10 Helge Hess <helge.hess@skyrix.com>
* iCalPerson.h: added some method prototypes
2003-02-24 Helge Hess <helge.hess@skyrix.com>
* iCalObject.h: added some accessors (v4.2.10)
2003-02-12 Helge Hess <helge.hess@skyrix.com>
* moved to skyrix-core (v4.2.9)
2003-01-13 Helge Hess <helge.hess@skyrix.com>
* added some support for timezones to be able to parse Evolution
apt creation requests (v4.2.7)
2002-10-14 Helge Hess <helge.hess@skyrix.com>
* added iCalDateHolder for decoding xCal date values with timezone
attributes to a NSCalendarDate
* iCalObject.m: ignore X- keys
* removed all the old stuff (v4.2.4)
* ICalVEvent.m: renamed -class to -eventClass since -class conflicts
with the NSObject method
* started XML based iCal (v4.2.3)
2002-10-10 Helge Hess <helge.hess@skyrix.com>
* ICalParser.m: small cleanups (v4.2.2)
2002-10-04 Helge Hess <helge.hess@skyrix.com>
* created ChangeLog, created NGiCal library into SkyCore