Skip to content

Releases: FamilySearch/GEDCOM

Version 7.0.18

17 Feb 17:29
2f0b863

Choose a tag to compare

Fixed typo in the ABNF for the Longitude data type introduced in 7.0.17.

Because ABNF is machine-readable, this typo caused some applications using 7.0.17 to fail to parse valid data. 7.0.17 should not be used by applications utilizing the ABNF in the specification in their tooling.

Version 7.0.17

10 Feb 17:26
6e4b041

Choose a tag to compare

Warning

This release contains a typo in the ABNF for the longitude data type. Because ABNF is machine-readable, this typo could cause applications using 7.0.17 to fail to parse valid data. 7.0.17 should not be used by applications utilizing the ABNF in the specification in their tooling.

  • Add URI, Latitude, Longitude, and Tag definition data types.

    Previously the formats permitted for these were specified in plain text with the corresponding structure types.
    Those definitions have been moved to the data types section to better match how other data types are defined in the specification.

  • Clarify the deprecation of older extensions that use non-underscore tags.

    These violated the standard in both 7.0 and 5.5.1, but exist in the wild and there was unclear text "deprecating" them when they were never supported to begin with. That has been changed to be more clear about when it is an extension-defined substructure and when it violates the specification.

  • Clarify how file paths encode non-ASCII characters.

  • Clarify rules for pointer-based cycles:

    • A cycle asserting someone is their own ancestor (such as being both the CHIL and FAMS of the same person) is unlikely to be correct, but is permitted by GEDCOM.

    • A self-referential ALIA is (INDI.AILA pointing to the INDI) is meaningless and prohibited.

    • A SOUR-OBJE cycle (the source of an image is the image itself) is meaningless and prohibited.

  • Clarify that extension media types for notes (such as text/markdown that several applications are known to employ) do not require extension tags, being covered by the existing standard.

  • Clarify the wording of the ELECTRONIC enumerated value.

  • Clarify the wording of the AGE structure generally and HUSB.AGE and WIFE.AGE in particular.

  • Add example of PHRASE used with a non-OTHER enumeration value.

  • Update UUID defintion from RFC 4122 to RFC 9562

  • Remove redundant and confusing references to RFC 3986, which were subsumed by existing references to WHATWG URL.

  • Note that FILE payloads and GEDZIP file paths follow distinct standards, with the former using percent-escaping but the latter not.

  • Note that GEDZIP inherits from zip the ability to have multiple levels of compression, with some suggestions on performance implications of the chosen compression level.

  • Note that GEDZIP inherits from zip the ability to encrypt file contents, but not file names or sizes.

  • Note how ALIA is known to be used by existing applications and users.

  • Various typo corrections.

Version 7.0.16

18 Mar 17:07
482be22

Choose a tag to compare

  • Recommend that ASSO not be used to replicate other standard structures.

  • Recommend that sources and notes about the starting of parent-child relationships be put under a BIRT, ADOP, or CHR.

  • Clarify that HEAD.SOUR.DATA may be used for data sources that are not technically databases.

  • Clarify that unsupported HTML tags should be ignored, not entire elements.

  • Note that some applications have historically ignored PLAC.FORM structures.

  • Remove the ambiguous "month code" term from the spec, using the defined stdTag term instead.

  • Change how EXID.TYPE values are registered from a single JSON file in the GEDCOM repository to a separate YAML file for each value in the GEDCOM-registries repository.

  • Update scripts that extract YAML from the spec to be more consistent in where quotes are used and to extract more information from tables into YAML files.

Version 7.0.15

03 Sep 16:54
f17281b

Choose a tag to compare

  • Clarified that FORM.MEDI describe the original medium, not the derived medium, when used with derived files.

  • Clarified the meaning of the WWW structure, which previously only mentioned its payload datatype.

  • Clarified PLAC to both define "jurisdiction" and document its meaning in the absence of a PLAC.FORM.

  • Clarified what the term "principal date" means in different contexts in the definition of g7:DATE.

  • Updated NICK to no longer suggest that some names are "improper" and to document the diversity of views in what a "nickname" is.

  • Removed confusing reference to superstructures in the meaning of a documented extension tag.

  • Added ABNF for more datatypes and updated DIGIT's capitalization for compatibility with more ABNF toolchains.

  • Various typo corrections.

Version 7.0.14

08 Feb 20:55
86a279c

Choose a tag to compare

  • Recommend that NO XYZ only be used where XYZ is permitted (its meaning is undefined elsewhere).

  • Recommend that a given INDI have at most one FAMC pointing to a given FAM (having more than one has unclear meaning); and likewise that a given FAM have at most one CHIL pointing to a given INDI (having more than one indicates nonsensical birth order).

  • Refactor presentation of local files to better match related RFCs and only make implementable constraints, and to use its own <FilePath> datatype instead of <Special>. This does not change FILE payloads, only how they are specified to better support automated tooling.

  • Refactor the enumeration tags CENS, EVEN, FACT, NCHI, and RESI to have different URIs, removing a previous parsing ambiguity. This changes neither the set of tags permitted in any enumeration set nor those tags' meaning, only how they are specified to better support automated tooling.

  • Deprecate extension-defined substructures using stdTag in a way incompatible with any standard definition of that tag. The now-deprecated use was common in 5.5.1 and is permitted in 7.0, but can prevent extension structures from being adopted as-is as new standard structures in future versions of the specification.

  • Clarify that the "applies to" and "status" columns of g7:enumset-ord-STAT are recommendations, not restrictions.

  • Clarify that AGE values may be larger than any calendar supports. This was always permitted; that fact is now called out more clearly.

  • Clarify that records cannot be relocated standard structures. This was always incompatible with the definition of relocated standard structures; that fact is now called out more clearly.

  • Various typo corrections.

Version 7.0.13

03 Aug 20:10

Choose a tag to compare

  • Deprecated ADR1, ADR2, and ADR3 which convey no information not already in ADDR.

  • Fix ABNF for g7:type-Age datatype to agree with standard text that said the payload is optional.

  • Update the label of BURI to "depositing remains" match its definition.

  • Update the definition of CREM to better describe cremation.

  • Recommend that MEDI.CALN describe the medium directly found at that call number rather than a medium from which it was derived.

  • Add URIs for CONT, HEAD, and TRLR.

  • Note that CONC is reserved because it was part of previous versions.

  • Various typo corrections.

Version 7.0.12

23 Feb 23:02

Choose a tag to compare

  • Remove contradictory constraints on BCE by removing it from dateRestrict

  • Clarify an ambiguity with the TIME substructure under DateValues that are not single dates, either because they are ranges or approximate.

  • Clarify the meaning of the PROVEN value of g7:enumset-FAMC-STAT to more accurately match common usage and to document common differences in meaning.

  • Replace incomplete ABNF for MediaType with a reference to their definition in IETF standards and IANA registries

  • Document a common use case for UID

  • Document a known difference between the formal and expected meaning of an event with a DATE AFT ... substructure

  • Note that 7.0's INIL is the same as 5.3's WAC

  • Add Simon Orde to the contributors list; he participated in the development of 7.0.0 but was accidentally omitted from the contributors list when 7.0.0 was released.

  • Various typo corrections.

Version 7.0.11

01 Nov 14:22

Choose a tag to compare

  • Correct error in g7:NOTE-TRAN cardinality.

    Since 7.0.0, g7:NOTE-TRAN was listed with {0:1} in g7:NOTE but {0:M} in g7:record-SNOTE and defined in a way that assumed {0:M}. It has now been updated to {0:M} in g7:NOTE-TRAN too.

  • Correct error in g7:type-Enum definition.

    Since 7.0.0, g7:type-Enum was listed as having the same payload as Tag, but g7:QUAY used enumeration values that did not match that. The definition of g7:type-Enum has now been updated to permit integers, like g7:QUAY uses.

  • Clarify that the same tag can be used for multiple URIs in the schema provided the meanings are non-overlapping. Recommend tags only be reused for closely related concepts, similar to how standard tags are.

  • Recommend that g7:type-Date#exact should use UTC time because it is used in places where exact machine-generated timestamps are expected.

  • Split shared rows in date definition table and reorder rows to be more logically organized.

  • Update ABNF to use [ X ] instead of X / "" to indicate X is optional. Both are legal ABNF, but some ABNF toolchains appear not to support the X / "" notation.

  • Various typo corrections.

Version 7.0.10

30 Aug 22:10

Choose a tag to compare

  • Collect information about structure types and present it explicitly in the document, including how tags define structure types, the limitations structure types impose on their structures, and what extensions can change. This information was all present in the text before, but in a diffuse and not very accessible way.

  • Half of 5.5.1's description of g7:NATI was inadvertently lost in 7.0; it has now been restored.

  • Clarify that presentation order is not significant, and sort events and attributes alphabetically in the spec for easier reference.

  • Clarify that documented extension tag URIs needn't be URLs.

  • Clarifying text and recommendations about using g7:SDATE, g7:ord-STAT, g7:PHRASE,

  • Changes anticipating a coming extension registry:

    • Add URIs for sets of enumeration values. This has changes some fragment identifiers in the HTML version of the spec and could cause hotlinks to the specific sections discussing enumeration sets to change.

    • Many updates to the YAML format served at https://gedcom.io/terms/v7/record-INDI and at the other URIs in the specification.

  • Various typo corrections

Version 7.0.9

07 Jun 21:41

Choose a tag to compare

  • Undo 7.0.8's reversion of undocumented and unexplained use of {0:M} cardinality for name parts, as it has been used by some applications. Added note explaining that repeated name parts may have meaning to the user.

  • Improve text on name pieces being included in name payloads to use "recommended" instead of "should" for greater clarity, and note that not all substrings of the payload need to be included in a name piece

  • Permit removing structures that contain no data

  • Various typo corrections