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