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.
The four identifiers
Section titled “The four identifiers”| Axis | Current value | Where it appears | Changes when |
|---|---|---|---|
| Specification | 2.3.0-draft | spec_version on every artifact; the UMP-Spec-Version response header | The 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.json | Only on a breaking schema change. A new draft of the prose does not by itself move it. |
| Registries | for example est-registry/1.2.0 | The field that cites the registry, such as the estimand’s schema_version | That registry changes: estimands, codes, gates, event types, domain tags, the threshold set or the benchmark parameters. Each has its own version. |
| Conformance suite | not yet published | The conformance claim and the suite report | Its 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.
Changelog
Section titled “Changelog”Earlier drafts were not published with dates, so only Draft 2.3 has one.
Draft 2.3 (snapshot of 2026-10-25)
Section titled “Draft 2.3 (snapshot of 2026-10-25)”- 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).
Draft 2.2 (date not recorded)
Section titled “Draft 2.2 (date not recorded)”- Adds the cross-brand benchmark store, built on the same evidence rows, which pools only numbers that answer the same registered question (section 25).
Draft 2.1 (date not recorded)
Section titled “Draft 2.1 (date not recorded)”- 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).
Draft 2 (date not recorded)
Section titled “Draft 2 (date not recorded)”- 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.
Latest
Section titled “Latest”The latest address always points at the newest draft. To cite a fixed text, link to the draft by number.