NOTE: NO BACKWARD COMPATIBILITY IS GUARANTEED FOR 0.x RELEASES !! release 0.91.0 (NOT RELEASED YET): - If a date is parsed fine, but cannot be successfully converted to an SDN, the parsed values are now kept in the returned date_value. This means that a date of DV_PHRASE type can have meaningful values in the string and number values (the sdn value will still be -1). release 0.90.0 (2 February 2003): - The interface of libgedcom and libgedcom_gom should now be functionally complete. The library can now be regarded as beta. - New features (see documentation): - C object model interface: - functions to add and remove records - functions to update timestamps in records - functions for setting, adding, removing and moving xref values - functions for setting, adding, removing and moving substructs - function to set options for compatibility handling - programs: - gedcom-check (checks standards compliancy of GEDCOM files) - gedcom-sanitize (converts to standard GEDCOM) - INTERFACE CHANGE: The two functions gedcom_write_set_encoding and gedcom_write_set_line_terminator now take an extra first argument, which can indicate whether the setting should be taken from the file, from the system or be manually set. An easy fix for your program is to add as first argument ENC_MANUAL. See documentation for details. - INTERFACE CHANGE: The signatures of gedcom_write_... and the date and age functions have been updated for const correctness. This should be especially useful for programs using C++. - Some compatibility added (not necessarily complete): - PAF (Personal Ancestral File), version 2, 4 and 5 - Family Origins - EasyTree - Lots of bug fixes. release 0.20.0 (30 December 2002): - The release numbering scheme is changed to a three-part version number. Patches will just update the last digit. - The library should now be portable, i.e it should work on any POSIX system. On systems lacking glibc, libiconv is needed (see README). - A lot of new features (see documentation): - callback interface: - functions to manipulate cross-references (add, delete, link and unlink) - functions to manipulate dates (strings to numbers and vice versa, conversion between calendars, ...) - support for writing Gedcom files - complete concatenated text (e.g. for notes) is now passed in the end callback - C object model interface: - functions for string retrieval and modification - support for writing Gedcom files - development support: - m4 macro that can be used in configure.in - gedcom-config script for linking and compilation flags - The library now comes with an extra shared library (libutf8tools), which needs to be linked in in any programs that use the gedcom parser library (you can use the script 'gedcom-config' to generate link and include flags). You can use utf8tools in totally unrelated programs too. - INTERFACE CHANGE: the end record callback function now takes an extra argument (similar to the end element callback): a Gedcom_val, which contains in the case of a REC_NOTE the complete concatenated string. - INTERFACE CHANGE: the return value of gedcom_init() has changed from void to int to be able to return a status. - Various bugfixes. release 0.17 (12 September 2002): - New features (see documentation): - new function gedcom_get_by_xref - age values are parsed - gedcom object model in C - INTERFACE CHANGE: the callback functions now take an extra argument: the record/element identifier (that is also used as first argument in the *_subscribe_* functions). The extra argument is the first argument. - INTERFACE CHANGE: Age values are now parsed: an extra type is added to the types possible in a Gedcom_val: an age_value (see documentation for details). So, instead of GEDCOM_STRING, you now need to use GEDCOM_AGE for age values. As a quick change, you can use the raw_value instead of the parsed_value until you make the real change of using the struct age_value. - INTERFACE CHANGE: The type of an xref_value can also be XREF_ANY, if the actual type is not known yet. This is e.g. used in the case of an association (ASSO): the cross-reference can be any object type, the actual type is given by the TYPE subtag. release 0.16 (16 August 2002): - Another bugfixing release. - Some compatibility with Lifelines 3.0.2 is added (not necessarily complete). release 0.15 (27 March 2002): - Again mainly a bugfixing release - Compatibility with ftree is added, all GEDCOM files written by ftree should load fine now. - Note for developers: you now have to call the function gedcom_init() as soon as possible in your program (before any character set handling is done, see documentation for details). If the function has not been called, gedcom_parse_file() will return an error. release 0.14 (20 January 2002): - This is mainly a bugfixing release, no extra features have been added. - Some example code is available on how to convert from UTF-8 to the locale system, and how to check the library version via configure.in (see the documentation for details). release 0.13 (5 January 2002): - Cross-references are now parsed and checked. For this, an extra type is added to the types possible in a Gedcom_val: an xref pointer. This means that GEDCOM_XREF_PTR has to be used now in some places instead of GEDCOM_STRING. A quick change is to replace GEDCOM_STRING(val) by GEDCOM_XREF_PTR(val)->string where applicable. But you can also store an object in the 'object' member of the struct returned by GEDCOM_XREF_PTR (see documentation). - Other interface changes in the callbacks: - parsed tag value (integer) is passed next to the string value - the start record callbacks now also contain a Gedcom_val (the NOTE can have a value) - Further, various bugfixes have been made. release 0.12 (31 December 2001): - The calling of callbacks is now completed. - Some initial documentation is available. - The parsed value that is returned in callbacks can now be: - a null value - a string - a date (struct date_value) See the documentation for more info. Parsing and checking of cross- references will be added next. release 0.11 (15 December 2001): - Initial release from Sourceforge.net (developers only !) # $Id$ # $Name$