Release 0.90.0.
[gedcom-parse.git] / NEWS
1 NOTE: NO BACKWARD COMPATIBILITY IS GUARANTEED FOR 0.x RELEASES !!
2
3 release 0.90.0 (2 February 2003):
4
5  - The interface of libgedcom and libgedcom_gom should now be functionally
6    complete.  The library can now be regarded as beta.
7
8  - New features (see documentation):
9      - C object model interface:
10         - functions to add and remove records
11         - functions to update timestamps in records
12         - functions for setting, adding, removing and moving xref values
13         - functions for setting, adding, removing and moving substructs
14         - function to set options for compatibility handling
15      - programs:
16         - gedcom-check (checks standards compliancy of GEDCOM files)
17         - gedcom-sanitize (converts to standard GEDCOM)
18
19  - INTERFACE CHANGE: The two functions gedcom_write_set_encoding and
20    gedcom_write_set_line_terminator now take an extra first argument, which
21    can indicate whether the setting should be taken from the file, from the
22    system or be manually set.  An easy fix for your program is to add as first
23    argument ENC_MANUAL.  See documentation for details.
24
25  - INTERFACE CHANGE: The signatures of gedcom_write_... and the date and age
26    functions have been updated for const correctness.  This should be
27    especially useful for programs using C++.
28
29  - Some compatibility added (not necessarily complete):
30     - PAF (Personal Ancestral File), version 2, 4 and 5
31     - Family Origins
32     - EasyTree
33
34  - Lots of bug fixes.
35
36 release 0.20.0 (30 December 2002):
37
38  - The release numbering scheme is changed to a three-part version number.
39    Patches will just update the last digit.
40
41  - The library should now be portable, i.e it should work on any POSIX system.
42    On systems lacking glibc, libiconv is needed (see README).
43
44  - A lot of new features (see documentation):
45      - callback interface:
46         - functions to manipulate cross-references (add, delete, link and
47           unlink)
48         - functions to manipulate dates (strings to numbers and vice versa,
49           conversion between calendars, ...)
50         - support for writing Gedcom files
51         - complete concatenated text (e.g. for notes) is now passed in the
52           end callback
53      - C object model interface:
54         - functions for string retrieval and modification
55         - support for writing Gedcom files
56      - development support:
57         - m4 macro that can be used in configure.in
58         - gedcom-config script for linking and compilation flags
59
60  - The library now comes with an extra shared library (libutf8tools),
61    which needs to be linked in in any programs that use the gedcom parser
62    library (you can use the script 'gedcom-config' to generate link and
63    include flags).  You can use utf8tools in totally unrelated programs too.
64
65  - INTERFACE CHANGE: the end record callback function now takes an extra
66    argument (similar to the end element callback): a Gedcom_val, which
67    contains in the case of a REC_NOTE the complete concatenated string.
68
69  - INTERFACE CHANGE: the return value of gedcom_init() has changed from
70    void to int to be able to return a status.
71
72  - Various bugfixes.
73
74 release 0.17 (12 September 2002):
75
76  - New features (see documentation):
77      - new function gedcom_get_by_xref
78      - age values are parsed
79      - gedcom object model in C
80
81  - INTERFACE CHANGE: the callback functions now take an extra argument: the
82    record/element identifier (that is also used as first argument in the
83    *_subscribe_* functions).  The extra argument is the first argument.
84
85  - INTERFACE CHANGE: Age values are now parsed: an extra type is added to
86    the types possible in a Gedcom_val: an age_value (see documentation for
87    details).  So, instead of GEDCOM_STRING, you now need to use GEDCOM_AGE
88    for age values.
89    As a quick change, you can use the raw_value instead of the parsed_value
90    until you make the real change of using the struct age_value.
91
92  - INTERFACE CHANGE: The type of an xref_value can also be XREF_ANY, if
93    the actual type is not known yet.  This is e.g. used in the case of an
94    association (ASSO): the cross-reference can be any object type, the
95    actual type is given by the TYPE subtag.
96
97 release 0.16 (16 August 2002):
98
99  - Another bugfixing release.
100
101  - Some compatibility with Lifelines 3.0.2 is added (not necessarily complete).
102
103 release 0.15 (27 March 2002):
104
105  - Again mainly a bugfixing release
106
107  - Compatibility with ftree is added, all GEDCOM files written by ftree
108    should load fine now.
109
110  - Note for developers: you now have to call the function gedcom_init()
111    as soon as possible in your program (before any character set handling
112    is done, see documentation for details).  If the function has not been
113    called, gedcom_parse_file() will return an error.
114
115 release 0.14 (20 January 2002):
116
117  - This is mainly a bugfixing release, no extra features have been added.
118
119  - Some example code is available on how to convert from UTF-8 to the locale
120    system, and how to check the library version via configure.in (see the
121    documentation for details).
122
123 release 0.13 (5 January 2002):
124
125  - Cross-references are now parsed and checked.  For this, an extra type is
126    added to the types possible in a Gedcom_val: an xref pointer. This means
127    that GEDCOM_XREF_PTR has to be used now in some places instead of
128    GEDCOM_STRING.
129    A quick change is to replace
130      GEDCOM_STRING(val)
131    by
132      GEDCOM_XREF_PTR(val)->string
133    where applicable.  But you can also store an object in the 'object' member
134    of the struct returned by GEDCOM_XREF_PTR (see documentation).
135
136  - Other interface changes in the callbacks:
137     - parsed tag value (integer) is passed next to the string value
138     - the start record callbacks now also contain a Gedcom_val (the NOTE can
139       have a value)
140
141  - Further, various bugfixes have been made.
142
143 release 0.12 (31 December 2001):
144
145  - The calling of callbacks is now completed.
146
147  - Some initial documentation is available.
148
149  - The parsed value that is returned in callbacks can now be:
150      - a null value
151      - a string
152      - a date (struct date_value)
153    See the documentation for more info.  Parsing and checking of cross-
154    references will be added next.
155
156 release 0.11 (15 December 2001):
157
158  - Initial release from Sourceforge.net (developers only !)
159   
160 # $Id$
161 # $Name$