1 2007-02-15 Wolfgang Sourdeau <wsourdeau@inverse.ca>
3 * CardGroup.m ([CardGroup -firstChildWithTag:aTag]): new method.
5 2007-02-09 Wolfgang Sourdeau <wsourdeau@inverse.ca>
7 * CardGroup.m ([CardGroup +cardParser]): find the correct parser
8 by requesting a parser by name instead of by mime-type. This way,
9 any parser which would declare the same types would not
12 2007-02-08 Wolfgang Sourdeau <wsourdeau@inverse.ca>
14 * CardElement.m ([CardElement -namedValue:aValueName]): use
15 NSString's rangeOfString instead of indexOfString for
16 compatibility with GNUstep.
18 2007-02-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
20 * NGVCard.m ([NGVCard -classForTag:classTag]): declare an entry
23 2006-08-03 Helge Hess <helge.hess@opengroupware.org>
25 * NGVCardSaxHandler.m: fixed a bug with returning parsing results.
26 Properly make a copy of the vCard array so that -clear doesn't
27 destroy references. Thanks go to Wolfgang Sourdeau for documenting
30 2006-07-04 Helge Hess <helge.hess@opengroupware.org>
32 * use %p for pointer formats, fixed gcc 4.1 warnings (v4.5.75)
34 2006-05-16 Marcus Mueller <znek@mulle-kybernetik.com>
36 * iCalDataSource.h, common.h: changed EOControl related includes into
37 imports to enable compilation against MulleEOF (v4.5.74)
39 2006-04-07 Marcus Mueller <znek@mulle-kybernetik.com>
41 * iCalEntityObject.h: added missing forward declaration for
42 gstep-base compile (v4.5.73)
44 2006-04-06 Marcus Mueller <znek@mulle-kybernetik.com>
48 * iCalEntityObject.[hm]: added "url" property - unfortunately
49 this was missing before. Increased class version to "1".
51 * iCalRepeatableEntityObject.m, iCalEvent.m, iCalToDo.m: adjusted
52 super class version check.
54 2006-01-16 Helge Hess <helge.hess@opengroupware.org>
56 * iCalRecurrenceRule.m: properly include NSString+Ext.h to avoid a
57 warning during Cocoa compilation (v4.5.71)
59 2005-11-17 Helge Hess <helge.hess@opengroupware.org>
61 * include string.h where required (v4.5.70)
63 2005-10-05 Helge Hess <helge.hess@opengroupware.org>
65 * iCalMonthlyRecurrenceCalculator.m: implemented calculation of
66 negative byday occurrences (eg -1TH) (v4.5.69)
68 2005-09-22 Helge Hess <helge.hess@skyrix.com>
70 * iCalRecurrenceRule.m: added direct parser support for 'interval',
71 allow 'until' values w/o Z marker for date-only values (v4.5.68)
73 2005-09-22 Helge Hess <helge.hess@opengroupware.org>
77 * iCalMonthlyRecurrenceCalculator.m: finished 'byday' calculation
79 * iCalRecurrenceRule.m: added support for 'bymonthday', fixed handling
82 2005-09-21 Helge Hess <helge.hess@skyrix.com>
86 * iCalRecurrenceRule.m: temporarily expose byDayOccurence1 until the
89 * iCalMonthlyRecurrenceCalculator.m: prepared for byday/bymonthday
94 * iCalMonthlyRecurrenceCalculator.m: fixed calculation of 'count' field
96 * iCalRecurrenceCalculator.m: minor code cleanups
98 * iCalRecurrenceRule.m: improved rrule parser
100 2005-09-20 Helge Hess <helge.hess@opengroupware.org>
102 * iCalMonthlyRecurrenceCalculator.m: stop calculation if a byday part
103 was detected in the rule (v4.5.64)
105 * iCalRecurrenceCalculator.m: moved cluster subclasses to own source
108 * iCalRecurrenceRule.m: added some parsing/gen support for BYDAY
111 2005-09-19 Helge Hess <helge.hess@opengroupware.org>
113 * iCalRecurrenceRule.m: minor code improvements, more tolerant on
114 invalid iCal rrule input (v4.5.61)
116 2005-08-16 Helge Hess <helge.hess@opengroupware.org>
118 * GNUmakefile, GNUmakefile.preamble: added OSX framework compilation
121 2005-08-06 Helge Hess <helge.hess@opengroupware.org>
123 * iCalCalendar.m, NGVCardName.m: fixed gcc 4.0 warnings (v4.5.59)
125 2005-08-05 Helge Hess <helge.hess@opengroupware.org>
127 * NGVCardSaxHandler.h: fixed a gcc 4.0 warning (v4.5.58)
129 2005-07-18 Helge Hess <helge.hess@opengroupware.org>
131 * iCalPerson.m: added -partStatWithDefault method to retrieve the
132 partstat and return NEEDS-ACTION in case none is set (v4.5.57)
134 2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
136 * iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
137 iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
138 iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
139 fixed NSCopying (v4.5.56)
141 2005-07-15 Helge Hess <helge.hess@opengroupware.org>
143 * added fragile base class version checks (v4.5.55)
145 2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
147 * iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
148 iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
149 iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
150 added NSCopying (v4.5.54)
152 2005-07-15 Helge Hess <helge.hess@opengroupware.org>
156 * iCalCalendar.m: added +parseCalendarFromSource: convenience method
158 * NGVCard.m: properly reset sax driver after parsing
160 2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
162 * iCalEntityObject.[hm]: added -increaseSequence (v4.5.52)
164 * iCalPerson.m: fixed -hasSameEmailAddress: to lowercase email
165 addresses before attempting comparison (v4.5.51)
167 2005-07-15 Helge Hess <helge.hess@opengroupware.org>
171 * NGiCal.xmap: fixed mapping of 'method' property (is an attribute of
174 * iCalCalendar.m: use ASSIGNCOPY in accessors, added 'method' to
177 2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
181 * iCalCalendar.[hm]: added 'method'
183 * iCalEntityObject.[hm]: added 'userComment', changed all email
184 related comparisons to lowercase all strings before comparison
186 * iCalEvent.h: pretty printed iVars
188 * NGiCal.xmap: added mapping for 'comment' -> 'userComment' and
191 2005-07-13 Helge Hess <helge.hess@opengroupware.org>
195 * NGVCard.m: added some convenience methods to access the preferred
198 * NGVCardOrg.m: added a convenience method to access the first orgunit
200 2005-07-05 Marcus Mueller <znek@mulle-kybernetik.com>
202 * NSCalendarDate+ICal.m: fixed 'gmtcalfmt' which removed seconds from
203 format for no obvious reason (v4.5.47)
205 2005-05-31 Helge Hess <helge.hess@skyrix.com>
207 * NGVCardSaxHandler.m: ensure that types are always uppercase, improved
208 check for DUPs (v4.5.46)
210 2005-05-16 Marcus Mueller <znek@mulle-kybernetik.com>
212 * NGiCal.xcode: reorganized ordering of headers/classes
214 2005-05-15 Marcus Mueller <znek@mulle-kybernetik.com>
216 * NGiCal.xcode: added vCard related stuff
218 2005-05-10 Helge Hess <helge.hess@opengroupware.org>
220 * NGVCard.m: added support for profile, source, name (v4.5.45)
222 2005-05-09 Helge Hess <helge.hess@opengroupware.org>
224 * first version of working vCard SAX handler (v4.5.54)
226 2005-05-08 Helge Hess <helge.hess@opengroupware.org>
228 * more work on vCard parsing (v4.5.53)
230 * work on vCard objects (incomplete) (v4.5.52)
232 2005-04-25 Helge Hess <helge.hess@opengroupware.org>
234 * iCalDateHolder.m, iCalDataSource.m: fixed gcc 4.0 warnings (v4.5.51)
236 2005-03-23 Marcus Mueller <znek@mulle-kybernetik.com>
240 * iCalRenderer.h: added missing paranthesis for iVar declarations
242 * iCalTrigger.m, iCalEntityObject.m, iCalToDo.m,
243 iCalRecurrenceCalculator.m, iCalDateHolder.m, iCalDataSource.m,
244 iCalPerson.m, iCalCalendar.m: numerous dealloc bugs/leaks fixed
246 2005-03-02 Marcus Mueller <znek@mulle-kybernetik.com>
248 * iCalRecurrenceCalculator.m: bugfix for monthly and yearly recurrences
251 * iCalRecurrenceCalculator.m: optimized exception date handling in
252 complex calculation method quite a bit. Fixed bugs in all calculation
253 methods by introducing checks on the desired range. (v4.5.48)
255 2005-02-28 Marcus Mueller <znek@mulle-kybernetik.com>
259 * iCalRepeatableEntityObject.m: shifted code to
260 iCalRecurrenceCalculator
262 * iCalRecurrenceCalculator.[hm]: new class method to calculate
263 complex recurrences. In SOGo this information is stored in quick
264 fields to reduce the complexity of lookups, hence we need to offer
265 a proper API to calculate date ranges from this information.
266 Fixed all calculations to explicitly set timeZone for all newly
267 created startDates - it seems the timeZone information is not
268 properly retained by the hour:minute:second: method from NGExtensions
269 which lead to improper DST related shifts.
271 * iCalDateHolder.h: exposed the API
273 * NSCalendarDate+ICal.[hm]: new convenience constructor for calendar
274 dates from iCal representations (uses iCalDateHolder internally)
276 * iCalRecurrenceRule.m: changed setUntil: to utilize new public
277 NSCalendarDate+ICal category
279 * NGiCal.h: added NSCalendarDate+ICal.h to the public headers
281 * GNUmakefile: NSCalendarDate+ICal.h is public now
283 2005-02-20 Helge Hess <helge.hess@opengroupware.org>
285 * NGiCal.xmap: fixed a missing semicolon (did not load on MacOSX)
288 2005-02-17 Helge Hess <helge.hess@skyrix.com>
290 * GNUmakefile.preamble: fixed linking locations for dependencies
293 2005-02-17 Marcus Mueller <znek@mulle-kybernetik.com>
297 * iCalEntityObject.[hm]: added convenience API
299 * iCalRepeatableEntityObject.[hm]: added convenience API
301 * iCalRecurrenceRule.m: bugfixes in -byDayList and
302 -iCalRepresentationForWeekDay:
304 * iCalRecurrenceCalculator.m: implemented 'BYDAY' calculations for
305 weekly frequency. Note that 'COUNT' is still broken for this case.
307 * iCalRenderer.m: updated rendering, now can render recurrence rules
308 and accompanied stuff properly.
310 2005-02-15 Marcus Mueller <znek@mulle-kybernetik.com>
314 * iCalRecurrenceRule.[hm]: exposed some more of the API
316 * iCalRecurrenceCalculator.m: some bugfixes. Split the code and gave
317 iCalWeeklyRecurrenceCalculator its own calculation - there are a
318 number of foreseeable differences to daily calculation that make
319 this necessary in the near future anyways.
323 * iCalRepeatableEntityObject.[hm]: added ability to properly calculate
324 the recurrence ranges within a specific calendar date range, taking
325 all possible exceptions into account.
327 * iCalEvent.[hm]: convenience wrapper for the new method found in
328 iCalRepeatableEntityObject.
330 2005-02-14 Helge Hess <helge.hess@opengroupware.org>
334 * GNUmakefile.preamble: added missing dependency on libNGExtensions
335 (which also adds the dependency on libDOM)
337 * iCalRecurrenceCalculator.h: fixed missing forward declaration in
340 2005-02-12 Marcus Mueller <znek@mulle-kybernetik.com>
344 * iCalRecurrenceCalculator.[hm]: implemented all required (and simple)
345 calculations. Added some convenience API to query some of the more
346 obvious ranges suitable as limits for fetching/comparison.
348 * iCalRepeatableEntityObject.[hm]: new method for calculating the
349 last possible recurrence start date. This can be used for fetches
352 * iCalEvent.[hm]: more convenient wrapper for the new method found in
353 iCalRepeatableEntityObject.
355 * NSCalendarDate+ICal.[hm]: convenience methods for calculating
356 "distances" between dates.
360 2005-02-11 Marcus Mueller <znek@mulle-kybernetik.com>
366 * iCalRepeatableEntityObject.[hm]: new base class for all other
367 repeatable entity objects. Offers a convenience API for generating
368 recurrence ranges and tests, taking all exceptions into account.
370 * iCalRecurrenceRule.[hm]: an iCal recurrence rule, modeled as closely
371 as possible to RFC2445. Please note that this is work in progress
372 and far from being complete, yet.
374 * iCalRecurrenceCalculator.[hm]: a controller implementing RFC2445
375 to properly generate recurrence ranges and accompanied functionality.
377 * iCalEvent.[hm], iCalToDo.[hm]: now subclasses from
378 iCalRepeatableEntityObject, thus removed code dealing with
381 * NGiCal.h: added new headers
383 * NGiCal.xmap: changed recurrenceRule mappings due to model change
385 * tests/*: contains unit tests for stuff dealing with recurrences. See
386 accompanied README for details
388 2004-12-17 Marcus Mueller <znek@mulle-kybernetik.com>
390 * iCalPerson.[hm]: formalized participationStatus according to RFC2445.
391 Provided convenience API to set status without concrete knowledge
392 of string values involved. (v4.5.38)
394 2004-12-16 Marcus Mueller <znek@mulle-kybernetik.com>
398 * iCalEvent.[hm]: Added transparency 'TRANSP'. Also multiple
399 convenience methods provided.
401 * NGiCal.xmap: added proper mapping for 'transp'.
403 2004-12-14 Marcus Mueller <znek@mulle-kybernetik.com>
405 * NGiCal.xcode: minor changes and updated
407 2004-12-13 Marcus Mueller <znek@mulle-kybernetik.com>
409 * iCalPerson.[hm]: added -cnWithoutQuotes and -rfc822Email convenience
410 methods to simplify client code dealing with these properties
413 2004-11-07 Marcus Mueller <znek@mulle-kybernetik.com>
415 * NGiCal.xcode: provide SOPE_{MAJOR,MINOR}_VERSION to the build
417 2004-11-06 Helge Hess <helge.hess@opengroupware.org>
419 * iCalRenderer.m: use SOPE version defines for iCalendar product id
422 2004-11-04 Helge Hess <helge.hess@skyrix.com>
424 * use Version file for install directory location of sax mapping
426 2004-10-31 Marcus Mueller <znek@mulle-kybernetik.com>
428 * iCalAlarm.[hm], iCalEvent.[hm], iCalToDo.[hm],
429 NGiCal.xmap: added recurrenceRule (v4.3.34)
431 2004-10-20 Marcus Mueller <znek@mulle-kybernetik.com>
433 * NGiCal.xcode: added iCalRenderer.[hm], bumped framework version
435 2004-10-20 Helge Hess <helge.hess@opengroupware.org>
437 * iCalRenderer.m: fixed some issue with Cocoa Foundation (v4.3.33)
441 * iCalEvent.m: added -vEvent method to produce an iCalendar
442 representation of an event
444 * added iCalRenderer class based on the SOGo render by ZNeK
446 2004-10-14 Marcus Mueller <znek@mulle-kybernetik.com>
448 * NGiCal.xmap: added "categories" mapping (v4.3.31)
450 2004-10-05 Marcus Mueller <znek@mulle-kybernetik.com>
452 * iCalEntityObject.[hm]: added categories property (v4.3.30)
454 2004-09-22 Marcus Mueller <znek@mulle-kybernetik.com>
456 * NGiCal.xcode: fixed several build parameters
458 2004-09-01 Marcus Mueller <znek@mulle-kybernetik.com>
462 * iCalEventChanges.[hm]: new class for tracking changes between
465 * iCalEvent.[hm]: new API to generate iCalEventChanges objects.
467 * common.h: inline function and macro for "safe" comparison of
470 2004-09-01 Helge Hess <helge.hess@opengroupware.org>
472 * GNUmakefile.postamble: copy sax-model to FHS_INSTALL_ROOT +
473 /share/sope-4.3/saxmappings/ when compiling for FHS (v4.3.28)
475 2004-08-29 Helge Hess <helge.hess@opengroupware.org>
477 * added hack to install the project in FHS locations - the library,
478 its headers, the tools and the resources will be installed in
479 FHS_INSTALL_ROOT if specified (eg make FHS_INSTALL_ROOT=/usr/local)
482 2004-08-26 Marcus Mueller <znek@mulle-kybernetik.com>
484 * NGiCal.xcode: new Xcode project
486 2004-08-20 Helge Hess <helge.hess@opengroupware.org>
488 * fixed for SOPE 3.3 directory layout (v4.3.26)
492 * moved to SOPE 4.3 (v4.3.25)
494 2004-08-14 Helge Hess <helge.hess@opengroupware.org>
496 * iCalEntityObject.m: changed "sequence" attribute from NSString to
497 NSNumber (this might break some code, though some care was taken to
498 accept NSString parameters) (v4.2.24)
500 2004-07-14 Helge Hess <helge.hess@opengroupware.org>
502 * iCalEvent.h: moved 'status' field to iCalEntityObject, because it is
503 also available in todo objects (v4.2.23)
505 2004-06-30 Marcus Mueller <znek@mulle-kybernetik.com>
507 * iCalEntityObject.m: added -removeAllAttendees and -removeAllAlarms.
508 These are necessary in case you want to remake the contents of these
509 collections, but keep all other attributes otherwise. (v4.2.22)
511 2004-06-09 Helge Hess <helge.hess@opengroupware.org>
515 * GNUmakefile.preamble: added prebinding
517 * GNUmakefile: create GNUmakefile.preamble, GNUmakefile.postamble
519 2004-05-05 Marcus Mueller <znek@mulle-kybernetik.com>
521 * GNUmakefile: added support for building with
522 GNUSTEP_BUILD_DIR environment variable set for recent
523 gnustep-make package. (v4.2.20)
525 2004-01-23 Helge Hess <helge.hess@opengroupware.org>
527 * iCalDataSource.m: added some sanity checks, improved to work better
528 with Mozilla generated iCal files (v4.2.19)
530 2003-12-22 Helge Hess <helge.hess@skyrix.com>
532 * iCalDateHolder.m: small fix not to print a warning for "YYYYMMDD"
533 style dates (which are supported) (v4.2.18)
535 2003-12-21 Helge Hess <helge.hess@opengroupware.org>
539 * iCalEvent.m: added parsing of duration values and calculation of
540 end-dates based on that (eg required for Panther iCal.app)
542 * iCalEvent.m: added support for 'status' and 'duration' fields
544 Thu Nov 20 16:31:15 2003 Martin Hoerning <martin@opengroupware.org>
546 * iCalDateHolder.m: added timeless date format: YYYYMMDD
547 (solves ogo bug 424) (v4.2.16)
549 Wed Oct 29 22:04:32 2003 Martin Hoerning <martin@opengroupware.org>
551 * iCalDateHolder.m, iCalObject.[m|h]: added iCalDefaultTimeZone to
552 create date from iCalDates without timeZone. (solves OGoo bug 257)
555 2003-10-12 Helge Hess <helge@opengroupware.org>
557 * GNUmakefile (libNGiCal_LIBRARIES_DEPEND_UPON): link against
558 libSaxObjC on MacOSX (v4.2.14)
560 Fri Jul 18 17:04:55 2003 Martin Hoerning <mh@skyrix.com>
562 * iCalToDo.h, iCalPerson.h, iCalEvent.h, iCalEntityObject.h: added
563 accessor-methods to interface (v4.2.13)
565 2003-07-18 Helge Hess <helge.hess@skyrix.com>
567 * iCalDateHolder.m: replaces and indexOfString with rangeOfString,
568 thanks to Filip Van Raemdonck for pointing that out (v4.2.12)
570 2003-03-21 Helge Hess <helge.hess@skyrix.com>
572 * added some method prototypes
574 2003-03-13 Helge Hess <helge.hess@skyrix.com>
576 * moved iCalEntityObject to a separate file (v4.2.11)
578 Mon Mar 10 18:41:10 2003 Bjoern Stierand <bjoern@skyrix.com>
580 * NGiCal.xmap: added missing attendee attributes (as dictated by
583 2003-03-10 Helge Hess <helge.hess@skyrix.com>
585 * iCalPerson.h: added some method prototypes
587 2003-02-24 Helge Hess <helge.hess@skyrix.com>
589 * iCalObject.h: added some accessors (v4.2.10)
591 2003-02-12 Helge Hess <helge.hess@skyrix.com>
593 * moved to skyrix-core (v4.2.9)
595 2003-01-13 Helge Hess <helge.hess@skyrix.com>
597 * added some support for timezones to be able to parse Evolution
598 apt creation requests (v4.2.7)
600 2002-10-14 Helge Hess <helge.hess@skyrix.com>
602 * added iCalDateHolder for decoding xCal date values with timezone
603 attributes to a NSCalendarDate
605 * iCalObject.m: ignore X- keys
607 * removed all the old stuff (v4.2.4)
609 * ICalVEvent.m: renamed -class to -eventClass since -class conflicts
610 with the NSObject method
612 * started XML based iCal (v4.2.3)
614 2002-10-10 Helge Hess <helge.hess@skyrix.com>
616 * ICalParser.m: small cleanups (v4.2.2)
618 2002-10-04 Helge Hess <helge.hess@skyrix.com>
620 * created ChangeLog, created NGiCal library into SkyCore