]> err.no Git - sope/blob - sope-ical/NGiCal/ChangeLog
improved rrule parser
[sope] / sope-ical / NGiCal / ChangeLog
1 2005-09-21  Helge Hess  <helge.hess@skyrix.com>
2
3         * v4.5.65
4
5         * iCalMonthlyRecurrenceCalculator.m: fixed calculation of 'count' field
6
7         * iCalRecurrenceCalculator.m: minor code cleanups
8
9         * iCalRecurrenceRule.m: improved rrule parser
10
11 2005-09-20  Helge Hess  <helge.hess@opengroupware.org>
12
13         * iCalMonthlyRecurrenceCalculator.m: stop calculation if a byday part
14           was detected in the rule (v4.5.64)
15
16         * iCalRecurrenceCalculator.m: moved cluster subclasses to own source
17           files (v4.5.63)
18
19         * iCalRecurrenceRule.m: added some parsing/gen support for BYDAY
20           (v4.5.62)
21
22 2005-09-19  Helge Hess  <helge.hess@opengroupware.org>
23
24         * iCalRecurrenceRule.m: minor code improvements, more tolerant on
25           invalid iCal rrule input (v4.5.61)
26
27 2005-08-16  Helge Hess  <helge.hess@opengroupware.org>
28
29         * GNUmakefile, GNUmakefile.preamble: added OSX framework compilation
30           (v4.5.60)
31
32 2005-08-06  Helge Hess  <helge.hess@opengroupware.org>
33
34         * iCalCalendar.m, NGVCardName.m: fixed gcc 4.0 warnings (v4.5.59)
35
36 2005-08-05  Helge Hess  <helge.hess@opengroupware.org>
37
38         * NGVCardSaxHandler.h: fixed a gcc 4.0 warning (v4.5.58)
39
40 2005-07-18  Helge Hess  <helge.hess@opengroupware.org>
41
42         * iCalPerson.m: added -partStatWithDefault method to retrieve the
43           partstat and return NEEDS-ACTION in case none is set (v4.5.57)
44
45 2005-07-15  Marcus Mueller  <znek@mulle-kybernetik.com>
46
47         * iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
48           iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
49           iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
50           fixed NSCopying (v4.5.56)
51
52 2005-07-15  Helge Hess  <helge.hess@opengroupware.org>
53
54         * added fragile base class version checks (v4.5.55)
55
56 2005-07-15  Marcus Mueller  <znek@mulle-kybernetik.com>
57
58         * iCalObject.[hm], iCalEntityObject.m, iCalToDo.m, iCalAlarm.m,
59           iCalPerson.m, iCalCalendar.m, iCalEvent.m, iCalTrigger.m,
60           iCalObject.m, iCalFreeBusy.m, iCalRepeatableEntityObject.m:
61           added NSCopying (v4.5.54)
62
63 2005-07-15  Helge Hess  <helge.hess@opengroupware.org>
64
65         * v4.5.53
66
67         * iCalCalendar.m: added +parseCalendarFromSource: convenience method
68
69         * NGVCard.m: properly reset sax driver after parsing
70
71 2005-07-15  Marcus Mueller  <znek@mulle-kybernetik.com>
72
73         * iCalEntityObject.[hm]: added -increaseSequence (v4.5.52)
74
75         * iCalPerson.m: fixed -hasSameEmailAddress: to lowercase email
76           addresses before attempting comparison (v4.5.51)
77
78 2005-07-15  Helge Hess  <helge.hess@opengroupware.org>
79
80         * v4.5.50
81         
82         * NGiCal.xmap: fixed mapping of 'method' property (is an attribute of
83           the calendar)
84           
85         * iCalCalendar.m: use ASSIGNCOPY in accessors, added 'method' to
86           -description
87           
88 2005-07-14  Marcus Mueller  <znek@mulle-kybernetik.com>
89
90         * v4.5.49
91
92         * iCalCalendar.[hm]: added 'method'
93
94         * iCalEntityObject.[hm]: added 'userComment', changed all email
95           related comparisons to lowercase all strings before comparison
96
97         * iCalEvent.h: pretty printed iVars
98
99         * NGiCal.xmap: added mapping for 'comment' -> 'userComment' and
100           'method' -> 'method'
101
102 2005-07-13  Helge Hess  <helge.hess@opengroupware.org>
103
104         * v4.5.48
105
106         * NGVCard.m: added some convenience methods to access the preferred
107           email, tel and adr
108
109         * NGVCardOrg.m: added a convenience method to access the first orgunit
110
111 2005-07-05  Marcus Mueller  <znek@mulle-kybernetik.com>
112
113         * NSCalendarDate+ICal.m: fixed 'gmtcalfmt' which removed seconds from
114           format for no obvious reason (v4.5.47)
115
116 2005-05-31  Helge Hess  <helge.hess@skyrix.com>
117
118         * NGVCardSaxHandler.m: ensure that types are always uppercase, improved
119           check for DUPs (v4.5.46)
120
121 2005-05-16  Marcus Mueller  <znek@mulle-kybernetik.com>
122
123         * NGiCal.xcode: reorganized ordering of headers/classes
124
125 2005-05-15  Marcus Mueller  <znek@mulle-kybernetik.com>
126
127         * NGiCal.xcode: added vCard related stuff
128
129 2005-05-10  Helge Hess  <helge.hess@opengroupware.org>
130
131         * NGVCard.m: added support for profile, source, name (v4.5.45)
132
133 2005-05-09  Helge Hess  <helge.hess@opengroupware.org>
134
135         * first version of working vCard SAX handler (v4.5.54)
136
137 2005-05-08  Helge Hess  <helge.hess@opengroupware.org>
138
139         * more work on vCard parsing (v4.5.53)
140
141         * work on vCard objects (incomplete) (v4.5.52)
142
143 2005-04-25  Helge Hess  <helge.hess@opengroupware.org>
144
145         * iCalDateHolder.m, iCalDataSource.m: fixed gcc 4.0 warnings (v4.5.51)
146
147 2005-03-23  Marcus Mueller  <znek@mulle-kybernetik.com>
148
149         * v4.5.50
150
151         * iCalRenderer.h: added missing paranthesis for iVar declarations
152
153         * iCalTrigger.m, iCalEntityObject.m, iCalToDo.m,
154           iCalRecurrenceCalculator.m, iCalDateHolder.m, iCalDataSource.m,
155           iCalPerson.m, iCalCalendar.m: numerous dealloc bugs/leaks fixed
156
157 2005-03-02  Marcus Mueller  <znek@mulle-kybernetik.com>
158
159         * iCalRecurrenceCalculator.m: bugfix for monthly and yearly recurrences
160           (v4.5.49)
161
162         * iCalRecurrenceCalculator.m: optimized exception date handling in
163           complex calculation method quite a bit. Fixed bugs in all calculation
164           methods by introducing checks on the desired range. (v4.5.48)
165
166 2005-02-28  Marcus Mueller  <znek@mulle-kybernetik.com>
167
168         * v4.5.47
169
170         * iCalRepeatableEntityObject.m:  shifted code to
171           iCalRecurrenceCalculator
172
173         * iCalRecurrenceCalculator.[hm]: new class method to calculate
174           complex recurrences. In SOGo this information is stored in quick
175           fields to reduce the complexity of lookups, hence we need to offer
176           a proper API to calculate date ranges from this information.
177           Fixed all calculations to explicitly set timeZone for all newly
178           created startDates - it seems the timeZone information is not
179           properly retained by the hour:minute:second: method from NGExtensions
180           which lead to improper DST related shifts.
181
182         * iCalDateHolder.h: exposed the API
183
184         * NSCalendarDate+ICal.[hm]: new convenience constructor for calendar
185           dates from iCal representations (uses iCalDateHolder internally)
186
187         * iCalRecurrenceRule.m: changed setUntil: to utilize new public
188           NSCalendarDate+ICal category
189
190         * NGiCal.h: added NSCalendarDate+ICal.h to the public headers
191
192         * GNUmakefile: NSCalendarDate+ICal.h is public now
193
194 2005-02-20  Helge Hess  <helge.hess@opengroupware.org>
195
196         * NGiCal.xmap: fixed a missing semicolon (did not load on MacOSX)
197           (v.4.5.46)
198
199 2005-02-17  Helge Hess  <helge.hess@skyrix.com>
200
201         * GNUmakefile.preamble: fixed linking locations for dependencies
202           (v4.5.45)
203
204 2005-02-17  Marcus Mueller  <znek@mulle-kybernetik.com>
205
206         * v4.5.44
207
208         * iCalEntityObject.[hm]: added convenience API
209
210         * iCalRepeatableEntityObject.[hm]: added convenience API
211
212         * iCalRecurrenceRule.m: bugfixes in -byDayList and
213           -iCalRepresentationForWeekDay:
214
215         * iCalRecurrenceCalculator.m: implemented 'BYDAY' calculations for
216           weekly frequency. Note that 'COUNT' is still broken for this case.
217
218         * iCalRenderer.m: updated rendering, now can render recurrence rules
219           and accompanied stuff properly.
220
221 2005-02-15  Marcus Mueller  <znek@mulle-kybernetik.com>
222
223         * v4.5.43
224
225         * iCalRecurrenceRule.[hm]: exposed some more of the API
226
227         * iCalRecurrenceCalculator.m: some bugfixes. Split the code and gave
228           iCalWeeklyRecurrenceCalculator its own calculation - there are a
229           number of foreseeable differences to daily calculation that make
230           this necessary in the near future anyways.
231
232         * v4.5.42
233
234         * iCalRepeatableEntityObject.[hm]: added ability to properly calculate
235           the recurrence ranges within a specific calendar date range, taking
236           all possible exceptions into account.
237
238         * iCalEvent.[hm]: convenience wrapper for the new method found in
239           iCalRepeatableEntityObject.
240
241 2005-02-14  Helge Hess  <helge.hess@opengroupware.org>
242
243         * v4.5.41
244
245         * GNUmakefile.preamble: added missing dependency on libNGExtensions
246           (which also adds the dependency on libDOM)
247
248         * iCalRecurrenceCalculator.h: fixed missing forward declaration in
249           header
250
251 2005-02-12  Marcus Mueller  <znek@mulle-kybernetik.com>
252
253         * v4.5.40
254
255         * iCalRecurrenceCalculator.[hm]: implemented all required (and simple)
256           calculations. Added some convenience API to query some of the more
257           obvious ranges suitable as limits for fetching/comparison. 
258
259         * iCalRepeatableEntityObject.[hm]: new method for calculating the
260           last possible recurrence start date. This can be used for fetches
261           as well.
262
263         * iCalEvent.[hm]: more convenient wrapper for the new method found in
264           iCalRepeatableEntityObject.
265
266         * NSCalendarDate+ICal.[hm]: convenience methods for calculating
267           "distances" between dates.
268
269         * tests/*: updated
270
271 2005-02-11  Marcus Mueller  <znek@mulle-kybernetik.com>
272
273         * v4.5.39
274
275         * README: updated
276
277         * iCalRepeatableEntityObject.[hm]: new base class for all other
278           repeatable entity objects. Offers a convenience API for generating
279           recurrence ranges and tests, taking all exceptions into account.
280
281         * iCalRecurrenceRule.[hm]: an iCal recurrence rule, modeled as closely
282           as possible to RFC2445. Please note that this is work in progress
283           and far from being complete, yet.
284
285         * iCalRecurrenceCalculator.[hm]: a controller implementing RFC2445
286           to properly generate recurrence ranges and accompanied functionality.
287
288         * iCalEvent.[hm], iCalToDo.[hm]: now subclasses from
289           iCalRepeatableEntityObject, thus removed code dealing with
290           recurrences
291
292         * NGiCal.h: added new headers
293
294         * NGiCal.xmap: changed recurrenceRule mappings due to model change
295
296         * tests/*: contains unit tests for stuff dealing with recurrences. See
297           accompanied README for details
298
299 2004-12-17  Marcus Mueller  <znek@mulle-kybernetik.com>
300
301         * iCalPerson.[hm]: formalized participationStatus according to RFC2445.
302           Provided convenience API to set status without concrete knowledge
303           of string values involved. (v4.5.38)
304
305 2004-12-16  Marcus Mueller  <znek@mulle-kybernetik.com>
306
307         * v4.5.37
308
309         * iCalEvent.[hm]: Added transparency 'TRANSP'. Also multiple
310           convenience methods provided.
311
312         * NGiCal.xmap: added proper mapping for 'transp'.
313
314 2004-12-14  Marcus Mueller  <znek@mulle-kybernetik.com>
315
316         * NGiCal.xcode: minor changes and updated
317
318 2004-12-13  Marcus Mueller  <znek@mulle-kybernetik.com>
319
320         * iCalPerson.[hm]: added -cnWithoutQuotes and -rfc822Email convenience
321           methods to simplify client code dealing with these properties
322           (v4.5.36)
323
324 2004-11-07  Marcus Mueller  <znek@mulle-kybernetik.com>
325
326         * NGiCal.xcode: provide SOPE_{MAJOR,MINOR}_VERSION to the build
327
328 2004-11-06  Helge Hess  <helge.hess@opengroupware.org>
329
330         * iCalRenderer.m: use SOPE version defines for iCalendar product id
331           (v4.5.35)
332
333 2004-11-04  Helge Hess  <helge.hess@skyrix.com>
334
335         * use Version file for install directory location of sax mapping
336
337 2004-10-31  Marcus Mueller  <znek@mulle-kybernetik.com>
338
339         * iCalAlarm.[hm], iCalEvent.[hm], iCalToDo.[hm],
340           NGiCal.xmap: added recurrenceRule (v4.3.34)
341
342 2004-10-20  Marcus Mueller  <znek@mulle-kybernetik.com>
343
344         * NGiCal.xcode: added iCalRenderer.[hm], bumped framework version
345
346 2004-10-20  Helge Hess  <helge.hess@opengroupware.org>
347
348         * iCalRenderer.m: fixed some issue with Cocoa Foundation (v4.3.33)
349
350         * v4.3.32
351
352         * iCalEvent.m: added -vEvent method to produce an iCalendar
353           representation of an event
354
355         * added iCalRenderer class based on the SOGo render by ZNeK
356
357 2004-10-14  Marcus Mueller  <znek@mulle-kybernetik.com>
358
359         * NGiCal.xmap: added "categories" mapping (v4.3.31)
360
361 2004-10-05  Marcus Mueller  <znek@mulle-kybernetik.com>
362
363         * iCalEntityObject.[hm]: added categories property (v4.3.30)
364
365 2004-09-22  Marcus Mueller  <znek@mulle-kybernetik.com>
366
367         * NGiCal.xcode: fixed several build parameters
368
369 2004-09-01  Marcus Mueller  <znek@mulle-kybernetik.com>
370
371         * v4.3.29
372
373         * iCalEventChanges.[hm]: new class for tracking changes between
374           two given events
375
376         * iCalEvent.[hm]: new API to generate iCalEventChanges objects.
377
378         * common.h: inline function and macro for "safe" comparison of
379           object values
380
381 2004-09-01  Helge Hess  <helge.hess@opengroupware.org>
382
383         * GNUmakefile.postamble: copy sax-model to FHS_INSTALL_ROOT + 
384           /share/sope-4.3/saxmappings/ when compiling for FHS (v4.3.28)
385
386 2004-08-29  Helge Hess  <helge.hess@opengroupware.org>
387
388         * added hack to install the project in FHS locations - the library,
389           its headers, the tools and the resources will be installed in
390           FHS_INSTALL_ROOT if specified (eg make FHS_INSTALL_ROOT=/usr/local)
391           (v4.3.27)
392
393 2004-08-26  Marcus Mueller  <znek@mulle-kybernetik.com>
394
395         * NGiCal.xcode: new Xcode project
396
397 2004-08-20  Helge Hess  <helge.hess@opengroupware.org>
398
399         * fixed for SOPE 3.3 directory layout (v4.3.26)
400
401         * moved to sope-ical
402
403         * moved to SOPE 4.3 (v4.3.25)
404
405 2004-08-14  Helge Hess  <helge.hess@opengroupware.org>
406
407         * iCalEntityObject.m: changed "sequence" attribute from NSString to
408           NSNumber (this might break some code, though some care was taken to
409           accept NSString parameters) (v4.2.24)
410
411 2004-07-14  Helge Hess  <helge.hess@opengroupware.org>
412
413         * iCalEvent.h: moved 'status' field to iCalEntityObject, because it is
414           also available in todo objects (v4.2.23)
415
416 2004-06-30  Marcus Mueller  <znek@mulle-kybernetik.com>
417
418         * iCalEntityObject.m: added -removeAllAttendees and -removeAllAlarms.
419           These are necessary in case you want to remake the contents of these
420           collections, but keep all other attributes otherwise. (v4.2.22)
421
422 2004-06-09  Helge Hess  <helge.hess@opengroupware.org>
423
424         * v4.2.21
425
426         * GNUmakefile.preamble: added prebinding
427
428         * GNUmakefile: create GNUmakefile.preamble, GNUmakefile.postamble
429
430 2004-05-05  Marcus Mueller  <znek@mulle-kybernetik.com>
431
432         * GNUmakefile: added support for building with
433           GNUSTEP_BUILD_DIR environment variable set for recent
434           gnustep-make package. (v4.2.20)
435
436 2004-01-23  Helge Hess  <helge.hess@opengroupware.org>
437
438         * iCalDataSource.m: added some sanity checks, improved to work better
439           with Mozilla generated iCal files (v4.2.19)
440
441 2003-12-22  Helge Hess  <helge.hess@skyrix.com>
442
443         * iCalDateHolder.m: small fix not to print a warning for "YYYYMMDD"
444           style dates (which are supported) (v4.2.18)
445
446 2003-12-21  Helge Hess  <helge.hess@opengroupware.org>
447
448         * v4.2.17
449
450         * iCalEvent.m: added parsing of duration values and calculation of 
451           end-dates based on that (eg required for Panther iCal.app)
452         
453         * iCalEvent.m: added support for 'status' and 'duration' fields 
454
455 Thu Nov 20 16:31:15 2003  Martin Hoerning  <martin@opengroupware.org>
456
457         * iCalDateHolder.m: added timeless date format: YYYYMMDD
458           (solves ogo bug 424) (v4.2.16)
459
460 Wed Oct 29 22:04:32 2003  Martin Hoerning  <martin@opengroupware.org>
461
462         * iCalDateHolder.m, iCalObject.[m|h]: added iCalDefaultTimeZone to 
463           create date from iCalDates without timeZone. (solves OGoo bug 257) 
464           (v4.2.15)
465
466 2003-10-12  Helge Hess  <helge@opengroupware.org>
467
468         * GNUmakefile (libNGiCal_LIBRARIES_DEPEND_UPON): link against
469           libSaxObjC on MacOSX (v4.2.14)
470
471 Fri Jul 18 17:04:55 2003  Martin Hoerning  <mh@skyrix.com>
472
473         * iCalToDo.h, iCalPerson.h, iCalEvent.h, iCalEntityObject.h: added 
474           accessor-methods to interface (v4.2.13)
475
476 2003-07-18  Helge Hess  <helge.hess@skyrix.com>
477
478         * iCalDateHolder.m: replaces and indexOfString with rangeOfString,
479           thanks to Filip Van Raemdonck for pointing that out (v4.2.12)
480
481 2003-03-21  Helge Hess  <helge.hess@skyrix.com>
482
483         * added some method prototypes
484
485 2003-03-13  Helge Hess  <helge.hess@skyrix.com>
486
487         * moved iCalEntityObject to a separate file (v4.2.11)
488
489 Mon Mar 10 18:41:10 2003  Bjoern Stierand  <bjoern@skyrix.com>
490
491         * NGiCal.xmap: added missing attendee attributes (as dictated by
492           mh on the phone)
493
494 2003-03-10  Helge Hess  <helge.hess@skyrix.com>
495
496         * iCalPerson.h: added some method prototypes
497
498 2003-02-24  Helge Hess  <helge.hess@skyrix.com>
499
500         * iCalObject.h: added some accessors (v4.2.10)
501
502 2003-02-12  Helge Hess  <helge.hess@skyrix.com>
503
504         * moved to skyrix-core (v4.2.9)
505
506 2003-01-13  Helge Hess  <helge.hess@skyrix.com>
507
508         * added some support for timezones to be able to parse Evolution
509           apt creation requests (v4.2.7)
510
511 2002-10-14  Helge Hess  <helge.hess@skyrix.com>
512
513         * added iCalDateHolder for decoding xCal date values with timezone
514           attributes to a NSCalendarDate
515
516         * iCalObject.m: ignore X- keys
517
518         * removed all the old stuff (v4.2.4)
519
520         * ICalVEvent.m: renamed -class to -eventClass since -class conflicts
521           with the NSObject method
522
523         * started XML based iCal (v4.2.3)
524
525 2002-10-10  Helge Hess  <helge.hess@skyrix.com>
526
527         * ICalParser.m: small cleanups (v4.2.2)
528
529 2002-10-04  Helge Hess  <helge.hess@skyrix.com>
530
531         * created ChangeLog, created NGiCal library into SkyCore
532
533