Skip to content
VERASPEC
Repository
Versioning policystable

§8 Quick reference

I want to…LevelMoves ver_version?Allowed?
Fix a typo in published prosepatch (annex)noyes — as an annex item, never by editing the published file
Make a schema enforce what the prose already requiredpatchnoyes
Correct a self-inconsistent digest in the golden examplepatchnoyes
Resolve an ambiguity where two readings gave different Canonical Bufferspatch (annex)noyes — but say which reading is selected and that the others' pixel_hash values are withdrawn (§2.1)
Relax a constraint to resolve a contradiction in the published textpatch (annex)noyes — the named-exception carve-out in §2.1
Add an optional fieldminoryesyes
Add an enum memberminoryesyes
Relax a pattern that rejected legal valuesminoryesyes
Make an optional field required for records declaring the new versionminoryesyes — the record's declared ver_version is the gate; in a version-pinned schema a flat required entry is that gate (§2.2)
Encode in the schema a requirement the previous release stated only in proseminoryesyes — the declared ver_version is the gate. The release MUST publish the enumerated migration and its failure pointers (§2.2)
Rename a field and change the preimage of the value it carriesminoryesyes for records declaring the new version, and only with the old spelling left untouched in the old release (§2.2; 1.1's salted_sha256commitment_sha256)
Publish a release with no second implementation, no decoder corpus, or no governance processno — §3.4's publication bar, from 1.1 onward
Make an optional field required for all recordsmajoryesno, not before 2.0
Change anything in CPNP-1majoryes (and cpnp_version)no, not before 2.0
Remove a fieldmajoryesno, not before 2.0
Narrow a value space producers populatemajoryesno, not before 2.0
Close an object left open by oversight, no producer relying on itminoryesyes — by named ratification vote only, under §2.3's evident-intent carve-out
Edit a file under standards/ver/1.0.0/never