Skip to content

Versions and changelog

UMP versions four things separately, because they change at different speeds. A typo fix in the prose should not force every tool to re-validate, and a new estimand converter should not wait for a new draft. Section 21 is the normative text; this page is a reader’s map.

AxisCurrent valueWhere it appearsChanges when
Specification2.3.0-draftspec_version on every artifact; the UMP-Spec-Version response headerThe prose changes. While the spec is a draft the value carries a pre-release tag, and no compatibility is assumed across pre-release values.
Schemas/v1/The path of each schema’s $id, for example https://schemas.ump.dev/v1/estimand.jsonOnly on a breaking schema change. A new draft of the prose does not by itself move it.
Registriesfor example est-registry/1.2.0The field that cites the registry, such as the estimand’s schema_versionThat registry changes: estimands, codes, gates, event types, domain tags, the threshold set or the benchmark parameters. Each has its own version.
Conformance suitenot yet publishedThe conformance claim and the suite reportIts major and minor follow the spec version it tests, so suite 2.3.x tests spec 2.3.

Gate policies also carry a policy version, recorded with each validation (section 15).

The schema files are mirrored on this site under /schemas/v1/. Their $id values are identifiers, not download addresses; where they will resolve is an open question in section 24.

The reference Python package reports its own build string, which can differ from 2.3.0-draft. The package is an informative reference implementation; where it and the spec disagree, the spec wins.

Earlier drafts were not published with dates, so only Draft 2.3 has one.

  • Adds metric families beyond sales return, such as brand lift and delivery quality.
  • Adds third-party measurement with its licences and costs (section 25.10).
  • Adds the cross-brand benchmark store, built on the same evidence rows, which pools only numbers that answer the same registered question (section 25).
  • Changes how gates fail. Only eight gates stop work outright; every other gate falls back to the best evidence available, widens the range to cover what it assumed and labels the assumption (section 15).
  • Merges the earlier project documents into one specification.
  • Puts a seven-field estimand on every exchanged number and has the gate engine compare estimands before any combination.
  • Adds identification tests on simulated endogenous spend to the acceptance bar, PSIS diagnostics and multiplicity control to calibration, and an evaluation harness and tool separation for decision agents.
  • Moves the decision log from a linear hash chain to a Merkle log with external anchors.
  • Keeps platform A/B tests out of incrementality calibration.

The latest address always points at the newest draft. To cite a fixed text, link to the draft by number.