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