gedcom4j Changelog

What's new in gedcom4j 4.0.1

Nov 3, 2017
  • It includes a new class, KinshipNameCalculator, that determines a name for the relationship between two individuals, and largely makes the RelationshipCalculator class obsolete (but that class still remains).

New in gedcom4j 4.0.0 (Oct 11, 2016)

  • A greatly improved Validation framework:
  • Validation findings are now less reliant on textual descriptions and allow calling code to review and process the findings from code.
  • Automatic repairs made by the framework are be logged with before/after copies of the objects, and callers are be able to control which repairs are made.
  • Developers are be able to write their own validators and register them into the validation framework.
  • Reworked support for Custom Tags:
  • Custom (i.e., user-defined) tags are now handled as first-order classes in the object model and parsed as CustomFact objects, which can have fully parsed notes, citations, change dates, and more.
  • The StringWithCustomTags class is now a StringWithCustomFacts class.
  • Setting the StringWithCustomFacts properties is now much easier, with overloaded setters that accept either StringWithCustomTags objects or regular String objects for the value.
  • Built-in support for custom tags defined by third-party software packages:
  • Adapters make it easy to access and manipulate the CustomFacts in files from popular third-party products.
  • Support for Family Tree Maker 3, Legacy Family Tree 8, and Family Historian are included.
  • The framework is extensible with potential for other adapters for other products in the future.

New in gedcom4j 2.2.8 (Jun 22, 2016)

  • This release fixes an issue where two-digit level numbers were not supported like the spec requires.

New in gedcom4j 2.2.7 (Jun 22, 2016)

  • This was a performance improvement release. The GedcomParser class now loads files about 20 times faster than release v2.2.6.

New in gedcom4j 2.2.6 (Jun 22, 2016)

  • Two changes involve line breaks embedded within the text value of a tag. The GEDCOM spec directs implementations to split lines using CONT or CONC tags and not to have embedded line-breaks within text strings. This release brings gedcom4j into adherence to the spec on this matter, and allows more flexibility when parsing files that do not strictly conform to the spec. Issues around loading Unicode files with byte order marks and in trying to get an individual's descendants are also fixed. Details are available on the downloads page.

New in gedcom4j 2.2.5 (Jun 22, 2016)

  • This release addresses two bugs:
  • The first was a bug where custom tags were being emitted twice by the GedcomWriter class.
  • The other was a bug where the GedcomParser class would throw an exception when a root-level NOTE line in the GEDCOM had an XREF definition and text that looked like a cross-reference to another NOTE. The fixed code treats the text as literal text now, and adds a warning to the GedcomParser.warnings collection (since it's most likely a mistake, and not really what the specs call for).

New in gedcom4j 2.2.4 (Jun 22, 2016)

  • This release addresses two bugs:
  • The first is an issue in the default String representation of an individual, where it would not show the death date correctly if the individual also had a birth date.
  • The second is an issue where custom tags in the data structure were not being emitted by the GedcomWriter.

New in gedcom4j 2.1.8 (Jun 27, 2014)

  • This release fixes an issue where an individual would not be loaded properly if a refererence to that individual's ID appeared earlier in the file (such as in a family record) than the actual individual. Thanks to PeWu for reporting the defect.

New in gedcom4j 2.1.7 (Jun 27, 2014)

  • This release improves compatibility with GEDCOM files that have description text following event tags. These descriptions are strictly non-standard, but many common software packages (including Family Tree Maker) write these descriptions in files, and prior to this change, these values were being ignored on input. Event descriptions are now parsed and loaded into the object model, but must be moved (perhaps to a Note) or removed in order to pass validation as part of writing ... or validation can be suppressed.

New in gedcom4j 1.2.5 (Oct 23, 2013)

  • This release fixes an issue in parsing files that have leading whitespace on lines. The spec says to ignore leading whitespaces on lines when reading, even though the spec also says not to put leading whitespace on lines when writing.
  • The upshot of this is that gedcom4j is now more compliant to the spec and is more forgiving when working with files from tools that don't strictly adhere to the spec.