Skip to content

Dataset Versions and Change Logs: Make Every Export Explainable

A release label is useful only when a reviewer can identify the exact export, compare it with the prior release, and see what remains unresolved. Keep version lineage, byte evidence, and rights questions distinct.

A dataset version is useful only when a reader can identify the exact release, locate the previous release, and understand what changed. Give each release a stable version identifier, preserve its file manifest, and append a change-log entry that distinguishes content changes from schema, meaning, rights, and packaging changes. The cited catalog vocabulary provides terms for a version identifier, a previous version, a current version, and version notes. Those terms are a useful model. They do not prescribe a numbering scheme for a private export, and they do not decide whether a change is acceptable for a particular license.

Updated

On this page

Separate the identities

The source dates in this guide identify documentation checks on 22 October 2026, not original publication dates. Follow each citation for the standard or documentation edition being discussed.

Teams often call three different things a “version”: the continuing collection, one frozen release, and an export package. The cited vocabulary’s version relationships are useful context for keeping those identities connected without pretending that a standard dictates your local names World Wide Web Consortium, (opens in a new tab).

Separate the identities (table)
IdentityWhat it representsExample value to choose locally
Dataset identityThe continuing collection or product being describedarchive-family
Release versionOne frozen state of that collection[version-id]
Export packageA delivery containing one or more files from that release[package-id]

The bracketed values are placeholders, not prescribed names. Use a stable internal convention and document it. A package can be rebuilt from the same release without becoming a new dataset version if the bytes and declared scope are unchanged. Conversely, a new release may be required when records, schema, interpretation, rights scope, or exclusions change, even if the folder name looks similar.

Keep a file manifest beside each release. The manifest identifies bytes, while the change log explains the relationship between releases. If either one is overwritten, a later reviewer loses part of the evidence chain.

Record one release in a durable shape

At minimum, a release record should contain the fields below. An internal evidence reference can point to the controlled record without copying the record into a public example.

Record one release in a durable shape (table)
FieldWhat to recordWhy it matters
dataset_idStable local identityConnects releases without changing the release identifier.
version_idExact release labelGives the release a reference that can be cited.
previous_version_idPrior release, or not applicable for the firstMakes the lineage explicit.
released_atRelease time with an offset or UTC formSeparates release timing from event-time coverage.
source_coveragePeriod, geography, and source scopePrevents a release label from hiding a scope change.
schema_versionStructure expected by consumersLets readers distinguish field changes from row changes.
manifest_refInternal reference to the exact file manifestConnects the explanation to byte-level evidence.
change_typeContent, schema, semantic, provenance, rights, or packagingMakes review questions visible.
change_summaryPlain-language descriptionTells a reviewer what to compare.
compatibilityCompatible, review required, or not assessedKeeps uncertainty explicit instead of implying compatibility.

Do not put a personal name, customer record, secret, or private storage URL into a public example. Keep the raw dataset and private evidence in controlled storage, and point to them with a reference that the intended reviewer can resolve.

Classify and log each change

“Updated data” is too vague for a handoff. Use a change category and a concrete comparison. A single release may have several entries. For example, a new field can be a schema change and a semantic change, while a corrected timestamp can be content and provenance. Record both when both affect a reader’s decision.

  • Content: records were added, removed, corrected, or retracted.
  • Schema: a field, type, nullability rule, delimiter, encoding, or relationship changed.
  • Semantic: a field keeps its name but its definition, unit, code list, or interpretation changed.
  • Provenance: the source, extraction rule, transformation, or exclusion policy changed.
  • Rights and privacy: authority, terms, consent or notice evidence, retention, redaction, or intended use changed.
  • Packaging: files were split, renamed, compressed, re-encoded, or rearranged without a claimed content change.

The categories are an editorial method. They do not establish that a release is safe or licensed. Link each entry to the comparison and review evidence that supports its description.

Append-only record shape

Classify and log each change code example, JSON
{
  "dataset_id": "[stable dataset identity]",
  "version_id": "[new release]",
  "previous_version_id": "[previous release]",
  "released_at": "[RFC 3339 timestamp]",
  "manifest_ref": "[controlled evidence reference]",
  "changes": [
    {
      "type": "[content|schema|semantic|provenance|rights|packaging]",
      "scope": "[file, field, or defined collection scope]",
      "summary": "[what changed in plain language]",
      "evidence_ref": "[comparison or review reference]",
      "compatibility": "[compatible|review required|not assessed]"
    }
  ],
  "known_limits": [
    "[unverified field, source gap, or out-of-scope question]"
  ]
}

Append a new release record instead of editing the previous record in place. If a record must be corrected, preserve the correction reason and the evidence reference. A change log is not a marketing summary and should not turn a missing comparison into a claim that nothing changed.

Compare before you publish the next release

  1. Freeze the outgoing release reference and its manifest.
  2. Create the candidate release in separate controlled storage.
  3. Compare file paths, byte digests, schema fields, data types, code lists, time coverage, and exclusions.
  4. Classify each difference and link its evidence.
  5. Recheck rights, privacy, contractual, and intended-use boundaries where the change affects them.
  6. Write the new change-log entry and name unresolved questions.
  7. Publish or share the release only under the owner’s existing approval process.

The cited provenance model describes entities, activities, agents, and relationships for how an entity was generated World Wide Web Consortium, (opens in a new tab). You do not need to implement that model to keep a useful log, but it is a reminder to record the activity and source context behind a release, not just its final label.

Keep release history separate from legal conclusions

A version chain can show that a file, schema, or scope changed. It cannot prove that the owner had authority to make the change, that every contributor agreed, or that the new release is suitable for a model. Preserve title, authority, terms, privacy, exclusions, and intended use as separate evidence. If a rights boundary is unresolved, write review required or an equivalent explicit state; do not hide it in a vague change note.

The data provenance log organizes source, rights, processing, and exclusion evidence. The data handoff guide covers custody and continuity questions. The broader export guidance covers tool-specific export quality; this guide owns release lineage and change explanation.

After a release history and evidence references are organized, an eligible owner can use the Rightmark appraisal path as a qualified preparation reference. It does not register versions, compare manifests, approve a release, or create a licensing offer. Keep the raw dataset and private evidence out of the public worksheet.

Sources

  1. World Wide Web Consortium: Data Catalog Vocabulary, Version 3 (opens in a new tab)
  2. World Wide Web Consortium: PROV-O: The PROV Ontology (opens in a new tab)

Use the appraisal path after release history and evidence references are organized.

It does not register versions, compare manifests, approve a release, or create a licensing offer.