1 2005-09-21 Helge Hess <helge.hess@skyrix.com>
5 * iCalRecurrenceRule.m: temporarily expose byDayOccurence1 until the
8 * iCalMonthlyRecurrenceCalculator.m: prepared for byday/bymonthday
13 * iCalMonthlyRecurrenceCalculator.m: fixed calculation of 'count' field
15 * iCalRecurrenceCalculator.m: minor code cleanups
17 * iCalRecurrenceRule.m: improved rrule parser
19 2005-09-20 Helge Hess <helge.hess@opengroupware.org>
21 * iCalMonthlyRecurrenceCalculator.m: stop calculation if a byday part
22 was detected in the rule (v4.5.64)
24 * iCalRecurrenceCalculator.m: moved cluster subclasses to own source
27 * iCalRecurrenceRule.m: added some parsing/gen support for BYDAY
30 2005-09-19 Helge Hess <helge.hess@opengroupware.org>
32 * iCalRecurrenceRule.m: minor code improvements, more tolerant on
33 invalid iCal rrule input (v4.5.61)
35 2005-08-16 Helge Hess <helge.hess@opengroupware.org>
37 * GNUmakefile, GNUmakefile.preamble: added OSX framework compilation
40 2005-08-06 Helge Hess <helge.hess@opengroupware.org>
42 * iCalCalendar.m, NGVCardName.m: fixed gcc 4.0 warnings (v4.5.59)
44 2005-08-05 Helge Hess <helge.hess@opengroupware.org>
46 * NGVCardSaxHandler.h: fixed a gcc 4.0 warning (v4.5.58)
48 2005-07-18 Helge Hess <helge.hess@opengroupware.org>
50 * iCalPerson.m: added -partStatWithDefault method to retrieve the
51 partstat and return NEEDS-ACTION in case none is set (v4.5.57)
53 2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
55 * iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
56 iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
57 iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
58 fixed NSCopying (v4.5.56)
60 2005-07-15 Helge Hess <helge.hess@opengroupware.org>
62 * added fragile base class version checks (v4.5.55)
64 2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
66 * iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
67 iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
68 iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
69 added NSCopying (v4.5.54)
71 2005-07-15 Helge Hess <helge.hess@opengroupware.org>
75 * iCalCalendar.m: added +parseCalendarFromSource: convenience method
77 * NGVCard.m: properly reset sax driver after parsing
79 2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
81 * iCalEntityObject.[hm]: added -increaseSequence (v4.5.52)
83 * iCalPerson.m: fixed -hasSameEmailAddress: to lowercase email
84 addresses before attempting comparison (v4.5.51)
86 2005-07-15 Helge Hess <helge.hess@opengroupware.org>
90 * NGiCal.xmap: fixed mapping of 'method' property (is an attribute of
93 * iCalCalendar.m: use ASSIGNCOPY in accessors, added 'method' to
96 2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
100 * iCalCalendar.[hm]: added 'method'
102 * iCalEntityObject.[hm]: added 'userComment', changed all email
103 related comparisons to lowercase all strings before comparison
105 * iCalEvent.h: pretty printed iVars
107 * NGiCal.xmap: added mapping for 'comment' -> 'userComment' and
110 2005-07-13 Helge Hess <helge.hess@opengroupware.org>
114 * NGVCard.m: added some convenience methods to access the preferred
117 * NGVCardOrg.m: added a convenience method to access the first orgunit
119 2005-07-05 Marcus Mueller <znek@mulle-kybernetik.com>
121 * NSCalendarDate+ICal.m: fixed 'gmtcalfmt' which removed seconds from
122 format for no obvious reason (v4.5.47)
124 2005-05-31 Helge Hess <helge.hess@skyrix.com>
126 * NGVCardSaxHandler.m: ensure that types are always uppercase, improved
127 check for DUPs (v4.5.46)
129 2005-05-16 Marcus Mueller <znek@mulle-kybernetik.com>
131 * NGiCal.xcode: reorganized ordering of headers/classes
133 2005-05-15 Marcus Mueller <znek@mulle-kybernetik.com>
135 * NGiCal.xcode: added vCard related stuff
137 2005-05-10 Helge Hess <helge.hess@opengroupware.org>
139 * NGVCard.m: added support for profile, source, name (v4.5.45)
141 2005-05-09 Helge Hess <helge.hess@opengroupware.org>
143 * first version of working vCard SAX handler (v4.5.54)
145 2005-05-08 Helge Hess <helge.hess@opengroupware.org>
147 * more work on vCard parsing (v4.5.53)
149 * work on vCard objects (incomplete) (v4.5.52)
151 2005-04-25 Helge Hess <helge.hess@opengroupware.org>
153 * iCalDateHolder.m, iCalDataSource.m: fixed gcc 4.0 warnings (v4.5.51)
155 2005-03-23 Marcus Mueller <znek@mulle-kybernetik.com>
159 * iCalRenderer.h: added missing paranthesis for iVar declarations
161 * iCalTrigger.m, iCalEntityObject.m, iCalToDo.m,
162 iCalRecurrenceCalculator.m, iCalDateHolder.m, iCalDataSource.m,
163 iCalPerson.m, iCalCalendar.m: numerous dealloc bugs/leaks fixed
165 2005-03-02 Marcus Mueller <znek@mulle-kybernetik.com>
167 * iCalRecurrenceCalculator.m: bugfix for monthly and yearly recurrences
170 * iCalRecurrenceCalculator.m: optimized exception date handling in
171 complex calculation method quite a bit. Fixed bugs in all calculation
172 methods by introducing checks on the desired range. (v4.5.48)
174 2005-02-28 Marcus Mueller <znek@mulle-kybernetik.com>
178 * iCalRepeatableEntityObject.m: shifted code to
179 iCalRecurrenceCalculator
181 * iCalRecurrenceCalculator.[hm]: new class method to calculate
182 complex recurrences. In SOGo this information is stored in quick
183 fields to reduce the complexity of lookups, hence we need to offer
184 a proper API to calculate date ranges from this information.
185 Fixed all calculations to explicitly set timeZone for all newly
186 created startDates - it seems the timeZone information is not
187 properly retained by the hour:minute:second: method from NGExtensions
188 which lead to improper DST related shifts.
190 * iCalDateHolder.h: exposed the API
192 * NSCalendarDate+ICal.[hm]: new convenience constructor for calendar
193 dates from iCal representations (uses iCalDateHolder internally)
195 * iCalRecurrenceRule.m: changed setUntil: to utilize new public
196 NSCalendarDate+ICal category
198 * NGiCal.h: added NSCalendarDate+ICal.h to the public headers
200 * GNUmakefile: NSCalendarDate+ICal.h is public now
202 2005-02-20 Helge Hess <helge.hess@opengroupware.org>
204 * NGiCal.xmap: fixed a missing semicolon (did not load on MacOSX)
207 2005-02-17 Helge Hess <helge.hess@skyrix.com>
209 * GNUmakefile.preamble: fixed linking locations for dependencies
212 2005-02-17 Marcus Mueller <znek@mulle-kybernetik.com>
216 * iCalEntityObject.[hm]: added convenience API
218 * iCalRepeatableEntityObject.[hm]: added convenience API
220 * iCalRecurrenceRule.m: bugfixes in -byDayList and
221 -iCalRepresentationForWeekDay:
223 * iCalRecurrenceCalculator.m: implemented 'BYDAY' calculations for
224 weekly frequency. Note that 'COUNT' is still broken for this case.
226 * iCalRenderer.m: updated rendering, now can render recurrence rules
227 and accompanied stuff properly.
229 2005-02-15 Marcus Mueller <znek@mulle-kybernetik.com>
233 * iCalRecurrenceRule.[hm]: exposed some more of the API
235 * iCalRecurrenceCalculator.m: some bugfixes. Split the code and gave
236 iCalWeeklyRecurrenceCalculator its own calculation - there are a
237 number of foreseeable differences to daily calculation that make
238 this necessary in the near future anyways.
242 * iCalRepeatableEntityObject.[hm]: added ability to properly calculate
243 the recurrence ranges within a specific calendar date range, taking
244 all possible exceptions into account.
246 * iCalEvent.[hm]: convenience wrapper for the new method found in
247 iCalRepeatableEntityObject.
249 2005-02-14 Helge Hess <helge.hess@opengroupware.org>
253 * GNUmakefile.preamble: added missing dependency on libNGExtensions
254 (which also adds the dependency on libDOM)
256 * iCalRecurrenceCalculator.h: fixed missing forward declaration in
259 2005-02-12 Marcus Mueller <znek@mulle-kybernetik.com>
263 * iCalRecurrenceCalculator.[hm]: implemented all required (and simple)
264 calculations. Added some convenience API to query some of the more
265 obvious ranges suitable as limits for fetching/comparison.
267 * iCalRepeatableEntityObject.[hm]: new method for calculating the
268 last possible recurrence start date. This can be used for fetches
271 * iCalEvent.[hm]: more convenient wrapper for the new method found in
272 iCalRepeatableEntityObject.
274 * NSCalendarDate+ICal.[hm]: convenience methods for calculating
275 "distances" between dates.
279 2005-02-11 Marcus Mueller <znek@mulle-kybernetik.com>
285 * iCalRepeatableEntityObject.[hm]: new base class for all other
286 repeatable entity objects. Offers a convenience API for generating
287 recurrence ranges and tests, taking all exceptions into account.
289 * iCalRecurrenceRule.[hm]: an iCal recurrence rule, modeled as closely
290 as possible to RFC2445. Please note that this is work in progress
291 and far from being complete, yet.
293 * iCalRecurrenceCalculator.[hm]: a controller implementing RFC2445
294 to properly generate recurrence ranges and accompanied functionality.
296 * iCalEvent.[hm], iCalToDo.[hm]: now subclasses from
297 iCalRepeatableEntityObject, thus removed code dealing with
300 * NGiCal.h: added new headers
302 * NGiCal.xmap: changed recurrenceRule mappings due to model change
304 * tests/*: contains unit tests for stuff dealing with recurrences. See
305 accompanied README for details
307 2004-12-17 Marcus Mueller <znek@mulle-kybernetik.com>
309 * iCalPerson.[hm]: formalized participationStatus according to RFC2445.
310 Provided convenience API to set status without concrete knowledge
311 of string values involved. (v4.5.38)
313 2004-12-16 Marcus Mueller <znek@mulle-kybernetik.com>
317 * iCalEvent.[hm]: Added transparency 'TRANSP'. Also multiple
318 convenience methods provided.
320 * NGiCal.xmap: added proper mapping for 'transp'.
322 2004-12-14 Marcus Mueller <znek@mulle-kybernetik.com>
324 * NGiCal.xcode: minor changes and updated
326 2004-12-13 Marcus Mueller <znek@mulle-kybernetik.com>
328 * iCalPerson.[hm]: added -cnWithoutQuotes and -rfc822Email convenience
329 methods to simplify client code dealing with these properties
332 2004-11-07 Marcus Mueller <znek@mulle-kybernetik.com>
334 * NGiCal.xcode: provide SOPE_{MAJOR,MINOR}_VERSION to the build
336 2004-11-06 Helge Hess <helge.hess@opengroupware.org>
338 * iCalRenderer.m: use SOPE version defines for iCalendar product id
341 2004-11-04 Helge Hess <helge.hess@skyrix.com>
343 * use Version file for install directory location of sax mapping
345 2004-10-31 Marcus Mueller <znek@mulle-kybernetik.com>
347 * iCalAlarm.[hm], iCalEvent.[hm], iCalToDo.[hm],
348 NGiCal.xmap: added recurrenceRule (v4.3.34)
350 2004-10-20 Marcus Mueller <znek@mulle-kybernetik.com>
352 * NGiCal.xcode: added iCalRenderer.[hm], bumped framework version
354 2004-10-20 Helge Hess <helge.hess@opengroupware.org>
356 * iCalRenderer.m: fixed some issue with Cocoa Foundation (v4.3.33)
360 * iCalEvent.m: added -vEvent method to produce an iCalendar
361 representation of an event
363 * added iCalRenderer class based on the SOGo render by ZNeK
365 2004-10-14 Marcus Mueller <znek@mulle-kybernetik.com>
367 * NGiCal.xmap: added "categories" mapping (v4.3.31)
369 2004-10-05 Marcus Mueller <znek@mulle-kybernetik.com>
371 * iCalEntityObject.[hm]: added categories property (v4.3.30)
373 2004-09-22 Marcus Mueller <znek@mulle-kybernetik.com>
375 * NGiCal.xcode: fixed several build parameters
377 2004-09-01 Marcus Mueller <znek@mulle-kybernetik.com>
381 * iCalEventChanges.[hm]: new class for tracking changes between
384 * iCalEvent.[hm]: new API to generate iCalEventChanges objects.
386 * common.h: inline function and macro for "safe" comparison of
389 2004-09-01 Helge Hess <helge.hess@opengroupware.org>
391 * GNUmakefile.postamble: copy sax-model to FHS_INSTALL_ROOT +
392 /share/sope-4.3/saxmappings/ when compiling for FHS (v4.3.28)
394 2004-08-29 Helge Hess <helge.hess@opengroupware.org>
396 * added hack to install the project in FHS locations - the library,
397 its headers, the tools and the resources will be installed in
398 FHS_INSTALL_ROOT if specified (eg make FHS_INSTALL_ROOT=/usr/local)
401 2004-08-26 Marcus Mueller <znek@mulle-kybernetik.com>
403 * NGiCal.xcode: new Xcode project
405 2004-08-20 Helge Hess <helge.hess@opengroupware.org>
407 * fixed for SOPE 3.3 directory layout (v4.3.26)
411 * moved to SOPE 4.3 (v4.3.25)
413 2004-08-14 Helge Hess <helge.hess@opengroupware.org>
415 * iCalEntityObject.m: changed "sequence" attribute from NSString to
416 NSNumber (this might break some code, though some care was taken to
417 accept NSString parameters) (v4.2.24)
419 2004-07-14 Helge Hess <helge.hess@opengroupware.org>
421 * iCalEvent.h: moved 'status' field to iCalEntityObject, because it is
422 also available in todo objects (v4.2.23)
424 2004-06-30 Marcus Mueller <znek@mulle-kybernetik.com>
426 * iCalEntityObject.m: added -removeAllAttendees and -removeAllAlarms.
427 These are necessary in case you want to remake the contents of these
428 collections, but keep all other attributes otherwise. (v4.2.22)
430 2004-06-09 Helge Hess <helge.hess@opengroupware.org>
434 * GNUmakefile.preamble: added prebinding
436 * GNUmakefile: create GNUmakefile.preamble, GNUmakefile.postamble
438 2004-05-05 Marcus Mueller <znek@mulle-kybernetik.com>
440 * GNUmakefile: added support for building with
441 GNUSTEP_BUILD_DIR environment variable set for recent
442 gnustep-make package. (v4.2.20)
444 2004-01-23 Helge Hess <helge.hess@opengroupware.org>
446 * iCalDataSource.m: added some sanity checks, improved to work better
447 with Mozilla generated iCal files (v4.2.19)
449 2003-12-22 Helge Hess <helge.hess@skyrix.com>
451 * iCalDateHolder.m: small fix not to print a warning for "YYYYMMDD"
452 style dates (which are supported) (v4.2.18)
454 2003-12-21 Helge Hess <helge.hess@opengroupware.org>
458 * iCalEvent.m: added parsing of duration values and calculation of
459 end-dates based on that (eg required for Panther iCal.app)
461 * iCalEvent.m: added support for 'status' and 'duration' fields
463 Thu Nov 20 16:31:15 2003 Martin Hoerning <martin@opengroupware.org>
465 * iCalDateHolder.m: added timeless date format: YYYYMMDD
466 (solves ogo bug 424) (v4.2.16)
468 Wed Oct 29 22:04:32 2003 Martin Hoerning <martin@opengroupware.org>
470 * iCalDateHolder.m, iCalObject.[m|h]: added iCalDefaultTimeZone to
471 create date from iCalDates without timeZone. (solves OGoo bug 257)
474 2003-10-12 Helge Hess <helge@opengroupware.org>
476 * GNUmakefile (libNGiCal_LIBRARIES_DEPEND_UPON): link against
477 libSaxObjC on MacOSX (v4.2.14)
479 Fri Jul 18 17:04:55 2003 Martin Hoerning <mh@skyrix.com>
481 * iCalToDo.h, iCalPerson.h, iCalEvent.h, iCalEntityObject.h: added
482 accessor-methods to interface (v4.2.13)
484 2003-07-18 Helge Hess <helge.hess@skyrix.com>
486 * iCalDateHolder.m: replaces and indexOfString with rangeOfString,
487 thanks to Filip Van Raemdonck for pointing that out (v4.2.12)
489 2003-03-21 Helge Hess <helge.hess@skyrix.com>
491 * added some method prototypes
493 2003-03-13 Helge Hess <helge.hess@skyrix.com>
495 * moved iCalEntityObject to a separate file (v4.2.11)
497 Mon Mar 10 18:41:10 2003 Bjoern Stierand <bjoern@skyrix.com>
499 * NGiCal.xmap: added missing attendee attributes (as dictated by
502 2003-03-10 Helge Hess <helge.hess@skyrix.com>
504 * iCalPerson.h: added some method prototypes
506 2003-02-24 Helge Hess <helge.hess@skyrix.com>
508 * iCalObject.h: added some accessors (v4.2.10)
510 2003-02-12 Helge Hess <helge.hess@skyrix.com>
512 * moved to skyrix-core (v4.2.9)
514 2003-01-13 Helge Hess <helge.hess@skyrix.com>
516 * added some support for timezones to be able to parse Evolution
517 apt creation requests (v4.2.7)
519 2002-10-14 Helge Hess <helge.hess@skyrix.com>
521 * added iCalDateHolder for decoding xCal date values with timezone
522 attributes to a NSCalendarDate
524 * iCalObject.m: ignore X- keys
526 * removed all the old stuff (v4.2.4)
528 * ICalVEvent.m: renamed -class to -eventClass since -class conflicts
529 with the NSObject method
531 * started XML based iCal (v4.2.3)
533 2002-10-10 Helge Hess <helge.hess@skyrix.com>
535 * ICalParser.m: small cleanups (v4.2.2)
537 2002-10-04 Helge Hess <helge.hess@skyrix.com>
539 * created ChangeLog, created NGiCal library into SkyCore