Better handling of PAF double dates.
[gedcom-parse.git] / NEWS
diff --git a/NEWS b/NEWS
index 44ca7de0936813841b36f7a437a48c8a90bee73b..e55f7115d6f0059aac94830c27e594fd805097ec 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,168 @@
+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$