]> err.no Git - sope/blob - sope-ical/NGiCal/ChangeLog
yet another bugfix for recurrence calculation
[sope] / sope-ical / NGiCal / ChangeLog
1 2005-03-02  Marcus Mueller  <znek@mulle-kybernetik.com>
2
3         * iCalRecurrenceCalculator.m: bugfix for monthly and yearly recurrences
4           (v4.5.49)
5
6         * iCalRecurrenceCalculator.m: optimized exception date handling in
7           complex calculation method quite a bit. Fixed bugs in all calculation
8           methods by introducing checks on the desired range. (v4.5.48)
9
10 2005-02-28  Marcus Mueller  <znek@mulle-kybernetik.com>
11
12         * v4.5.47
13
14         * iCalRepeatableEntityObject.m:  shifted code to
15           iCalRecurrenceCalculator
16
17         * iCalRecurrenceCalculator.[hm]: new class method to calculate
18           complex recurrences. In SOGo this information is stored in quick
19           fields to reduce the complexity of lookups, hence we need to offer
20           a proper API to calculate date ranges from this information.
21           Fixed all calculations to explicitly set timeZone for all newly
22           created startDates - it seems the timeZone information is not
23           properly retained by the hour:minute:second: method from NGExtensions
24           which lead to improper DST related shifts.
25
26         * iCalDateHolder.h: exposed the API
27
28         * NSCalendarDate+ICal.[hm]: new convenience constructor for calendar
29           dates from iCal representations (uses iCalDateHolder internally)
30
31         * iCalRecurrenceRule.m: changed setUntil: to utilize new public
32           NSCalendarDate+ICal category
33
34         * NGiCal.h: added NSCalendarDate+ICal.h to the public headers
35
36         * GNUmakefile: NSCalendarDate+ICal.h is public now
37
38 2005-02-20  Helge Hess  <helge.hess@opengroupware.org>
39
40         * NGiCal.xmap: fixed a missing semicolon (did not load on MacOSX)
41           (v.4.5.46)
42
43 2005-02-17  Helge Hess  <helge.hess@skyrix.com>
44
45         * GNUmakefile.preamble: fixed linking locations for dependencies
46           (v4.5.45)
47
48 2005-02-17  Marcus Mueller  <znek@mulle-kybernetik.com>
49
50         * v4.5.44
51
52         * iCalEntityObject.[hm]: added convenience API
53
54         * iCalRepeatableEntityObject.[hm]: added convenience API
55
56         * iCalRecurrenceRule.m: bugfixes in -byDayList and
57           -iCalRepresentationForWeekDay:
58
59         * iCalRecurrenceCalculator.m: implemented 'BYDAY' calculations for
60           weekly frequency. Note that 'COUNT' is still broken for this case.
61
62         * iCalRenderer.m: updated rendering, now can render recurrence rules
63           and accompanied stuff properly.
64
65 2005-02-15  Marcus Mueller  <znek@mulle-kybernetik.com>
66
67         * v4.5.43
68
69         * iCalRecurrenceRule.[hm]: exposed some more of the API
70
71         * iCalRecurrenceCalculator.m: some bugfixes. Split the code and gave
72           iCalWeeklyRecurrenceCalculator its own calculation - there are a
73           number of foreseeable differences to daily calculation that make
74           this necessary in the near future anyways.
75
76         * v4.5.42
77
78         * iCalRepeatableEntityObject.[hm]: added ability to properly calculate
79           the recurrence ranges within a specific calendar date range, taking
80           all possible exceptions into account.
81
82         * iCalEvent.[hm]: convenience wrapper for the new method found in
83           iCalRepeatableEntityObject.
84
85 2005-02-14  Helge Hess  <helge.hess@opengroupware.org>
86
87         * v4.5.41
88
89         * GNUmakefile.preamble: added missing dependency on libNGExtensions
90           (which also adds the dependency on libDOM)
91
92         * iCalRecurrenceCalculator.h: fixed missing forward declaration in
93           header
94
95 2005-02-12  Marcus Mueller  <znek@mulle-kybernetik.com>
96
97         * v4.5.40
98
99         * iCalRecurrenceCalculator.[hm]: implemented all required (and simple)
100           calculations. Added some convenience API to query some of the more
101           obvious ranges suitable as limits for fetching/comparison. 
102
103         * iCalRepeatableEntityObject.[hm]: new method for calculating the
104           last possible recurrence start date. This can be used for fetches
105           as well.
106
107         * iCalEvent.[hm]: more convenient wrapper for the new method found in
108           iCalRepeatableEntityObject.
109
110         * NSCalendarDate+ICal.[hm]: convenience methods for calculating
111           "distances" between dates.
112
113         * tests/*: updated
114
115 2005-02-11  Marcus Mueller  <znek@mulle-kybernetik.com>
116
117         * v4.5.39
118
119         * README: updated
120
121         * iCalRepeatableEntityObject.[hm]: new base class for all other
122           repeatable entity objects. Offers a convenience API for generating
123           recurrence ranges and tests, taking all exceptions into account.
124
125         * iCalRecurrenceRule.[hm]: an iCal recurrence rule, modeled as closely
126           as possible to RFC2445. Please note that this is work in progress
127           and far from being complete, yet.
128
129         * iCalRecurrenceCalculator.[hm]: a controller implementing RFC2445
130           to properly generate recurrence ranges and accompanied functionality.
131
132         * iCalEvent.[hm], iCalToDo.[hm]: now subclasses from
133           iCalRepeatableEntityObject, thus removed code dealing with
134           recurrences
135
136         * NGiCal.h: added new headers
137
138         * NGiCal.xmap: changed recurrenceRule mappings due to model change
139
140         * tests/*: contains unit tests for stuff dealing with recurrences. See
141           accompanied README for details
142
143 2004-12-17  Marcus Mueller  <znek@mulle-kybernetik.com>
144
145         * iCalPerson.[hm]: formalized participationStatus according to RFC2445.
146           Provided convenience API to set status without concrete knowledge
147           of string values involved. (v4.5.38)
148
149 2004-12-16  Marcus Mueller  <znek@mulle-kybernetik.com>
150
151         * v4.5.37
152
153         * iCalEvent.[hm]: Added transparency 'TRANSP'. Also multiple
154           convenience methods provided.
155
156         * NGiCal.xmap: added proper mapping for 'transp'.
157
158 2004-12-14  Marcus Mueller  <znek@mulle-kybernetik.com>
159
160         * NGiCal.xcode: minor changes and updated
161
162 2004-12-13  Marcus Mueller  <znek@mulle-kybernetik.com>
163
164         * iCalPerson.[hm]: added -cnWithoutQuotes and -rfc822Email convenience
165           methods to simplify client code dealing with these properties
166           (v4.5.36)
167
168 2004-11-07  Marcus Mueller  <znek@mulle-kybernetik.com>
169
170         * NGiCal.xcode: provide SOPE_{MAJOR,MINOR}_VERSION to the build
171
172 2004-11-06  Helge Hess  <helge.hess@opengroupware.org>
173
174         * iCalRenderer.m: use SOPE version defines for iCalendar product id
175           (v4.5.35)
176
177 2004-11-04  Helge Hess  <helge.hess@skyrix.com>
178
179         * use Version file for install directory location of sax mapping
180
181 2004-10-31  Marcus Mueller  <znek@mulle-kybernetik.com>
182
183         * iCalAlarm.[hm], iCalEvent.[hm], iCalToDo.[hm],
184           NGiCal.xmap: added recurrenceRule (v4.3.34)
185
186 2004-10-20  Marcus Mueller  <znek@mulle-kybernetik.com>
187
188         * NGiCal.xcode: added iCalRenderer.[hm], bumped framework version
189
190 2004-10-20  Helge Hess  <helge.hess@opengroupware.org>
191
192         * iCalRenderer.m: fixed some issue with Cocoa Foundation (v4.3.33)
193
194         * v4.3.32
195
196         * iCalEvent.m: added -vEvent method to produce an iCalendar
197           representation of an event
198
199         * added iCalRenderer class based on the SOGo render by ZNeK
200
201 2004-10-14  Marcus Mueller  <znek@mulle-kybernetik.com>
202
203         * NGiCal.xmap: added "categories" mapping (v4.3.31)
204
205 2004-10-05  Marcus Mueller  <znek@mulle-kybernetik.com>
206
207         * iCalEntityObject.[hm]: added categories property (v4.3.30)
208
209 2004-09-22  Marcus Mueller  <znek@mulle-kybernetik.com>
210
211         * NGiCal.xcode: fixed several build parameters
212
213 2004-09-01  Marcus Mueller  <znek@mulle-kybernetik.com>
214
215         * v4.3.29
216
217         * iCalEventChanges.[hm]: new class for tracking changes between
218           two given events
219
220         * iCalEvent.[hm]: new API to generate iCalEventChanges objects.
221
222         * common.h: inline function and macro for "safe" comparison of
223           object values
224
225 2004-09-01  Helge Hess  <helge.hess@opengroupware.org>
226
227         * GNUmakefile.postamble: copy sax-model to FHS_INSTALL_ROOT + 
228           /share/sope-4.3/saxmappings/ when compiling for FHS (v4.3.28)
229
230 2004-08-29  Helge Hess  <helge.hess@opengroupware.org>
231
232         * added hack to install the project in FHS locations - the library,
233           its headers, the tools and the resources will be installed in
234           FHS_INSTALL_ROOT if specified (eg make FHS_INSTALL_ROOT=/usr/local)
235           (v4.3.27)
236
237 2004-08-26  Marcus Mueller  <znek@mulle-kybernetik.com>
238
239         * NGiCal.xcode: new Xcode project
240
241 2004-08-20  Helge Hess  <helge.hess@opengroupware.org>
242
243         * fixed for SOPE 3.3 directory layout (v4.3.26)
244
245         * moved to sope-ical
246
247         * moved to SOPE 4.3 (v4.3.25)
248
249 2004-08-14  Helge Hess  <helge.hess@opengroupware.org>
250
251         * iCalEntityObject.m: changed "sequence" attribute from NSString to
252           NSNumber (this might break some code, though some care was taken to
253           accept NSString parameters) (v4.2.24)
254
255 2004-07-14  Helge Hess  <helge.hess@opengroupware.org>
256
257         * iCalEvent.h: moved 'status' field to iCalEntityObject, because it is
258           also available in todo objects (v4.2.23)
259
260 2004-06-30  Marcus Mueller  <znek@mulle-kybernetik.com>
261
262         * iCalEntityObject.m: added -removeAllAttendees and -removeAllAlarms.
263           These are necessary in case you want to remake the contents of these
264           collections, but keep all other attributes otherwise. (v4.2.22)
265
266 2004-06-09  Helge Hess  <helge.hess@opengroupware.org>
267
268         * v4.2.21
269
270         * GNUmakefile.preamble: added prebinding
271
272         * GNUmakefile: create GNUmakefile.preamble, GNUmakefile.postamble
273
274 2004-05-05  Marcus Mueller  <znek@mulle-kybernetik.com>
275
276         * GNUmakefile: added support for building with
277           GNUSTEP_BUILD_DIR environment variable set for recent
278           gnustep-make package. (v4.2.20)
279
280 2004-01-23  Helge Hess  <helge.hess@opengroupware.org>
281
282         * iCalDataSource.m: added some sanity checks, improved to work better
283           with Mozilla generated iCal files (v4.2.19)
284
285 2003-12-22  Helge Hess  <helge.hess@skyrix.com>
286
287         * iCalDateHolder.m: small fix not to print a warning for "YYYYMMDD"
288           style dates (which are supported) (v4.2.18)
289
290 2003-12-21  Helge Hess  <helge.hess@opengroupware.org>
291
292         * v4.2.17
293
294         * iCalEvent.m: added parsing of duration values and calculation of 
295           end-dates based on that (eg required for Panther iCal.app)
296         
297         * iCalEvent.m: added support for 'status' and 'duration' fields 
298
299 Thu Nov 20 16:31:15 2003  Martin Hoerning  <martin@opengroupware.org>
300
301         * iCalDateHolder.m: added timeless date format: YYYYMMDD
302           (solves ogo bug 424) (v4.2.16)
303
304 Wed Oct 29 22:04:32 2003  Martin Hoerning  <martin@opengroupware.org>
305
306         * iCalDateHolder.m, iCalObject.[m|h]: added iCalDefaultTimeZone to 
307           create date from iCalDates without timeZone. (solves OGoo bug 257) 
308           (v4.2.15)
309
310 2003-10-12  Helge Hess  <helge@opengroupware.org>
311
312         * GNUmakefile (libNGiCal_LIBRARIES_DEPEND_UPON): link against
313           libSaxObjC on MacOSX (v4.2.14)
314
315 Fri Jul 18 17:04:55 2003  Martin Hoerning  <mh@skyrix.com>
316
317         * iCalToDo.h, iCalPerson.h, iCalEvent.h, iCalEntityObject.h: added 
318           accessor-methods to interface (v4.2.13)
319
320 2003-07-18  Helge Hess  <helge.hess@skyrix.com>
321
322         * iCalDateHolder.m: replaces and indexOfString with rangeOfString,
323           thanks to Filip Van Raemdonck for pointing that out (v4.2.12)
324
325 2003-03-21  Helge Hess  <helge.hess@skyrix.com>
326
327         * added some method prototypes
328
329 2003-03-13  Helge Hess  <helge.hess@skyrix.com>
330
331         * moved iCalEntityObject to a separate file (v4.2.11)
332
333 Mon Mar 10 18:41:10 2003  Bjoern Stierand  <bjoern@skyrix.com>
334
335         * NGiCal.xmap: added missing attendee attributes (as dictated by
336           mh on the phone)
337
338 2003-03-10  Helge Hess  <helge.hess@skyrix.com>
339
340         * iCalPerson.h: added some method prototypes
341
342 2003-02-24  Helge Hess  <helge.hess@skyrix.com>
343
344         * iCalObject.h: added some accessors (v4.2.10)
345
346 2003-02-12  Helge Hess  <helge.hess@skyrix.com>
347
348         * moved to skyrix-core (v4.2.9)
349
350 2003-01-13  Helge Hess  <helge.hess@skyrix.com>
351
352         * added some support for timezones to be able to parse Evolution
353           apt creation requests (v4.2.7)
354
355 2002-10-14  Helge Hess  <helge.hess@skyrix.com>
356
357         * added iCalDateHolder for decoding xCal date values with timezone
358           attributes to a NSCalendarDate
359
360         * iCalObject.m: ignore X- keys
361
362         * removed all the old stuff (v4.2.4)
363
364         * ICalVEvent.m: renamed -class to -eventClass since -class conflicts
365           with the NSObject method
366
367         * started XML based iCal (v4.2.3)
368
369 2002-10-10  Helge Hess  <helge.hess@skyrix.com>
370
371         * ICalParser.m: small cleanups (v4.2.2)
372
373 2002-10-04  Helge Hess  <helge.hess@skyrix.com>
374
375         * created ChangeLog, created NGiCal library into SkyCore
376
377