aboutsummaryrefslogtreecommitdiffstats
path: root/libical/NEWS
blob: 16a79246456858a2087cc81ffccb5144ca31dd01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
Version 0.23, 26 Mar 01 ( cvs tag libical-0-23 )
------------------------------------------------

**** Incompatibilities with previous versions ****

icalparameter_new_rsvp
icalparameter_get_rsvp
icalparameter_set_rsvp

    These routines now take and return ICAL_RSVP_TRUE and
    ICAL_RSVP_FALSE instead of 0 and 1
    
icalenum_*_to_*

    These routines have been moved to icalproperty, icalparameter
    or icalvalue



Python interface: An alpha level python interface is available in
src/python.

Perl interface: A pre-alpha level interface is available in
src/Net-ICal-Libical

Code Autogeneration: Converted all of the important files in
design-data/ to .csv files and improved the code that is generated
from them. Now all of the enumerations for property, parameters and
values are generated from thes files, as are the string
representations for the enumerations. You can add a new property or
parameter to the system simply by adding a line to the appropriate
file in design-data/

Recurrences: Improved the recurrence code by fixing bugs in MONTHLY
recurrences and completely re-implementing expand_year_days() for
YEARLY recurrences. Hubert V's aided in testing. 

Build system: JP Rosevear made several improvements to the build
system. Now checking out the code from cvs should give to a complete
but minimal distribution, without any of the autognerated files.

Interface changes: Nearly all of the icalenum routines for converting
between strings and enumerations have been moved out of icalenum into
icalproperty, icalparameter and icalvalue. This means that their names
have changed, although #defines have been added to icalenum.h to map
back to the old names.
 
Added src/libical/icllangbind.c that has some functions to make it
easier to bind libical to other languages.


Version 0.22, 15 Jan 01 ( cvs tag libical-0-22)
----------------------------------------------

Many improvements to the time routines in icaltime.c. I think that
they actually make sense now. Note that there is an interface change
with icaltime_from_timet() -- I removed the is_utc parameter, since
all timet values are in UTC. Use icaltime_from_int() if you really
want the old interface

Major improvements to icalfileset. icalfileset_select now works and so
does file locking.

Minor revision to the documentation, but it does include a new section
on file storage ( icalfileset ) and time ( icaltime.c)

Lots of bug fixes and small patches. 

I improved the regression test in src/test/regression.c. It now have
command line switches to select specific tests ( undocumentated, of
course ) and more of the tests include asserts, so you can just run it
without looking at the output. If the test runs without crashing, it
is mostly OK.



Version 0.21, 20 Nov 00 ( cvs tag libical-0-21)
----------------------------------------------

        * icalmessage.c Many routines to create new ical messages. 

    * icalspanlist.c Code to generate a list of the busy time f the
    VEVENTS in a set. Also includes routiens to generate free and busy
    lists from the spanlist, and to find the next free time after a
    given time.

    * icalvalue.c The STATUS property now has its own value type,
    STATUS, which holds the enumeration icalproperty_status.

    * icalrestriction.c Added more restrictions. Now handles mutual
    and exclusive consitions, and checks for the reight values in
    STATUS properties
    
    * icaltypes.c Added routine to create durationtype from string:
    icaldurationtype_from_string


    * icalcomponet.c Add sever get/set convienience routines to access
    and manipulate common component propoerties from the component
    interface. This eliminates the need to create a lot of temporary
    variables if you just want to change the start time of and event.


    * icalcomponent.c Added new routines to icalcomponent:
    _get_span -- returns the start and end times of the event in UTC
    _get_first_real_component -- return ref to VTODO, VEVENT or VJOURNAL

    * icalspanlist.c Added new class, icalspanlist, that generates a
    list of alternating busy and free times from an icalset. The class
    includes routines to gnerate rfc2445 busy and free lists, and to
    get the next avaliable busy or free time after a given time.


Version 0.20D 3 Nov 00
-----------------------

Many miscelaneous tweaks to the build system

More work to icalclassify.

Aded routines to icaltime.c to convert to and from specific timezones
in Olsen format ("America/Los_Angeles")


Version 0.20 7 Sept 00 (cvs tag libical-0-20 )
----------------------------------------------

Addedd icalclassify() which looks at a message and determine how to
process it.

Misc bug fixes and tweaks. 

Version 0.19 6 August 00 (cvs tag libical-0-19)
-----------------------------------------------

Created a MIME parser in icalmime.c. This will take any complex MIME
encapsulated message and return an icalcomponent with the same
structure. Each MIME part is represented by a component of type
X-LIC-MIMEPART.

Added MIME partsing to stow.c

Added external iterators to icalcomponent. See test_iterators() in
test/regression.c

Refactored icalcluster and icalstore into icalset, icalfileset and
icaldirset, which have a pseudo inheritance relationship between them.

Fixed more memory leaks. 

Version 0.18a 10 June 00 ( cvs tag libical-0-18a )
-----------------------------------------------

Did the final tweaks to stow.c, a program to recieve and store iMIP
messages.


Version 0.18 10 June 00 ( cvs tag libical-0-18 )
-----------------------------------------------

Added libicalvcal, which includes the Versit code for parsing vCal
files and a routine (icalvcal_convert() ) that converts a vCal object
to an iCal object. The test program is src/test/testvcal.

Added marginally functional recurrence code. The curent code does not
handle all of the examples in rfc2445 ( which are extracted in
test-data/recur.txt ) but it can do all of the obvious cases. See the
test program in src/test/recur.c for an example. In particular, the
code cannot handle the integer values in BYDAY, nor negative integers
in BYMONTH or BYMONTHDAY. It also cannot handle BYSETPOS.

Moved some code to the examples directory and improved the comments. 

Did a little more work on the documentation in the doc directory. The
documentation is in LyX source, but there is a text version in
UsingLibical.txt


Version 0.17 15 May 00  (cvs tag libical-0-17 ) 
---------------------------------------------

Fixed two bugs that added extraneous '/' to test values

Fixed type in internal string for the COUNTER method

Eliminated a memory leak in icalparser.c


Version 0.16a 29 April 00
----------------------------------------------

Fixed bug in icalvalue_new_from_string that caused METHOD value to
choke on non standard input.

Fixed a memory leak in icalparser_add_line -- failed to free 'line'


Version 0.16 5 April 00 ( cvs tag libical-0-16)
----------------------------------------------

Now using automake. 

Substantial changes to the parser. New interfaces let you parser
multiple components from a single stream by feading the parser object
one line at a time.

Added a STRING value type. this type is like TEXT, but does not
backslash magic characters. It is used in PRODID and REQUEST-STATUS,
where the '/' and ';' are literal.

Added several convience functions for REQUEST-STATUS to icalenums.c

Addedd a routine to icalcomponent to convert X-LIC errors to
REQUEST-STATUS return values.

Version 0.15a  5 Mar 00 (cvs tag libical-0-15a)
---------------------

Experimented with CVS

Fixed icalvalue_set_text to convert escaped characters into the proper
values.

Other minor code tweaks. 


Version 0.15 7 Feb 00
---------------------

Split the storage classess ( icalstore, icalcluster, icalcalendar )
into a seperate library, libicalss

Implemented restriction checking in file icalrestrictions.c. The
checking is not complete, but can handle the bulk of the restrictions
described in RFC 2446.

Created a new value type, METHOD. Changed METHOD property to use the
new value. The METHOD value uses an enumeration.


Version 0.14b 
-------------

Implemented parsing of RECUR values, although it does not handle BYDAY
specs with numbers.

Fixed error in icalparser_next_line that mangled lines longer than the
temp buffer (1024 chars.) The temp buffer is now 80 chars, and it can
handle (apparently) arbitrary length lines

Fixed severe brokenness in a value, but I forgot which one. 

Cleaned cruft out of the distribution, so the tarfile is smaller. 


Version 0.14a 14 Jan 00
-----------------------

Fixed bug in ROLE parameter -- missing '-' in the text of allowed values

Fixed bug in X-parameters

Version 0.14 11 Jan 00
----------------------

Fixed wrong value type for TRIGGER property

Added Calendar object. Calendar is an aggregate of two stores and two
clusters, and can store all of the inforamation associated with a
calendar.

icalcomponent_add_property and icalcomponent_add_component will
complain if you try to add a component or property that is already
part of an other component. The *_free routines wil complain if you try
to free a linked component or property.

More improvements to error handling. 

Parser is much more robust. 

Minor memory enhancements. 

Regression test runs without memory leaks. 

Version 0.13d 21Dec99
---------------------

Seperated perl interface and library

Added autoconf support

Scripts that generate derived properties, values and parameters now
change source and header files inline.

Changed icalstore to cluster all components with DTSTART in a month
into a single file. This should reduce number of file accesses by a
factor of 60.

Ran code through Purify and fixed memory leaks. 


Version 0.13 16Nov99
---------------------

Yet more bug fixes! Yeah!

Added better error handling. The Parser inserts X-LIC-*ERROR
properties to warn of parsing errors.

The imip source/sink programs in /src/imip is demonstrably functional. 

Version 0.12b 17Oct99
---------------------

More bug fixes, particularily in parse from string routines

ICal::Store is mostly functional

This is version is a checkpoint, not a release. 

Version 0.12a 10Oct99
---------------------

Expanded perl interface: 
    Added 1/2 of Store module
    Fixed bugs
    Implemeted get_{first,next}_property

Extended C interface
    Made get_{first,next}_property work properly
    Fixed bugs


This is version is a checkpoint, not a release. 

Version 0.12 27Aug99
--------------------

Added a rudimentatry perl interface

This is version is a checkpoint, not a release. 


Version 0.11 11Aug99
--------------------

Eliminated most use of flex/bison -- all parsing, except for the
values, is done in C.

Cleaned up memory leaks. Purify claims that I got them all. 

Moved all derived component/prop/param/value code ( in .inc / .h
files) into main files ( icalcomponent.{c,h}, icalproperty.{c,h}, etc/
) 

Implemented *_clone routines. 

Fixed a lot of bugs. 

Implemented more value types. Still unimplemeneted are BINARY and RECUR

Included MacOS/Code Warior files from Graham Davison


Version 0.10 8Jul99
-------------------

Eliminated shift/reduce and reduce/reduce conflicts in the parser.
This version is almost feature complete -- it has the basic structure
for all of the library's functionality, and it will only require
implementing procedure shells and fixing bugs. I think that all of the
hard work is done...

Version 0.09a,b 3,7 Jul99
-------------------------

Various improvements to the parser, added some functionality. The parser code
is mostly complete, and should be fully functional, except for a horde of
bugs. Also added support for X-Properties. 

Version 0.09 25Jun99
--------------------

Added a parser in files src/comp/icalitip.{y,l} The lexer is mostly 
functional, but the parser is not. 


Version 0.08 2Jun99
--------------------

All files now have MPL licensing

Implement enough of the code to perform some rudimentary testing


Version 0.07 14May99
--------------------

Remove all interfaces that construct object from a string

Moved most code back into comp directory

Implemented C files for most headers -- usecases.c now links. 

Many improvements to generation scripts. 



Version 0.06 25Apr99
--------------------

Expanded distribution to include:
    Directory structure that can accomodate future expansion
    Several levels of Makefiles
    This CHANGES file

Added headers for irip and parse modules

Added several files with design information

Added scripts that I had used to generate much of the ical header code. 

Split C headers from CC headers

Added data for iTIP and iCAL component restrictions in restrictions.csv

Version 0.05 11Apr99
----------------------

Changes to ical headers

       Added derived Property classes.

       Improved the interface to the derived property and parameter classes

        Added derived component classes. 

        Created usecases.c and ccusecases.cc to demonstrate use

        C++ interface compile 


Version 0.04 5Apr99
-------------------

Version 0.02 30Mar99
--------------------