Releases: FamilySearch/GEDCOM
Version 7.0.18
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
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
CHILandFAMSof the same person) is unlikely to be correct, but is permitted by GEDCOM. -
A self-referential
ALIAis (INDI.AILApointing to theINDI) is meaningless and prohibited. -
A
SOUR-OBJEcycle (the source of an image is the image itself) is meaningless and prohibited.
-
-
Clarify that extension media types for notes (such as
text/markdownthat several applications are known to employ) do not require extension tags, being covered by the existing standard. -
Clarify the wording of the
ELECTRONICenumerated value. -
Clarify the wording of the
AGEstructure generally andHUSB.AGEandWIFE.AGEin particular. -
Add example of
PHRASEused with a non-OTHERenumeration 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
FILEpayloads 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
ALIAis known to be used by existing applications and users. -
Various typo corrections.
Version 7.0.16
-
Recommend that
ASSOnot 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, orCHR. -
Clarify that
HEAD.SOUR.DATAmay 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.FORMstructures. -
Remove the ambiguous "month code" term from the spec, using the defined
stdTagterm instead. -
Change how
EXID.TYPEvalues 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
-
Clarified that
FORM.MEDIdescribe the original medium, not the derived medium, when used with derived files. -
Clarified the meaning of the
WWWstructure, which previously only mentioned its payload datatype. -
Clarified
PLACto both define "jurisdiction" and document its meaning in the absence of aPLAC.FORM. -
Clarified what the term "principal date" means in different contexts in the definition of
g7:DATE. -
Updated
NICKto 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
-
Recommend that
NO XYZonly be used whereXYZis permitted (its meaning is undefined elsewhere). -
Recommend that a given
INDIhave at most oneFAMCpointing to a givenFAM(having more than one has unclear meaning); and likewise that a givenFAMhave at most oneCHILpointing to a givenINDI(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 changeFILEpayloads, only how they are specified to better support automated tooling. -
Refactor the enumeration tags
CENS,EVEN,FACT,NCHI, andRESIto 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
stdTagin 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-STATare 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
-
Deprecated
ADR1,ADR2, andADR3which convey no information not already inADDR. -
Fix
ABNFforg7:type-Agedatatype to agree with standard text that said the payload is optional. -
Update the label of
BURIto "depositing remains" match its definition. -
Update the definition of
CREMto better describe cremation. -
Recommend that
MEDI.CALNdescribe the medium directly found at that call number rather than a medium from which it was derived. -
Add URIs for
CONT,HEAD, andTRLR. -
Note that
CONCis reserved because it was part of previous versions. -
Various typo corrections.
Version 7.0.12
-
Remove contradictory constraints on
BCEby removing it fromdateRestrict -
Clarify an ambiguity with the
TIMEsubstructure underDateValuesthat are not single dates, either because they are ranges or approximate. -
Clarify the meaning of the
PROVENvalue ofg7:enumset-FAMC-STATto 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
INILis the same as 5.3'sWAC -
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
-
Correct error in
g7:NOTE-TRANcardinality.Since 7.0.0,
g7:NOTE-TRANwas listed with{0:1}ing7:NOTEbut{0:M}ing7:record-SNOTEand defined in a way that assumed{0:M}. It has now been updated to{0:M}ing7:NOTE-TRANtoo. -
Correct error in
g7:type-Enumdefinition.Since 7.0.0,
g7:type-Enumwas listed as having the same payload asTag, butg7:QUAYused enumeration values that did not match that. The definition ofg7:type-Enumhas now been updated to permit integers, likeg7:QUAYuses. -
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#exactshould 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 ofX / ""to indicateXis optional. Both are legal ABNF, but some ABNF toolchains appear not to support theX / ""notation. -
Various typo corrections.
Version 7.0.10
-
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:NATIwas 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
-
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