Evolution policy

Extensions and versioning

Forma v1 defines a stable baseline for interoperability. This section defines how the spec evolves and how implementations may add extensions without breaking compatibility.

Versioning

  • Forma uses semantic versioning.
  • Patch versions fix editorial or validation issues without changing meaning.
  • Minor versions may add optional fields or enums in backward-compatible ways.
  • Major versions may introduce breaking changes.

Extension model

  • Extensions must not redefine the meaning of base fields.
  • Extensions should live under an extensions object or vendor-prefixed keys.
  • Consumers must ignore unknown extensions safely.
A Forma v1 consumer must continue to accept all valid Forma 1.x documents even when optional fields are added, provided the core semantics remain unchanged.