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