# D64. Schemas have a patch version: additive changes are published as 0.1.1 (26 Oct 2026)

The schemas published at `https://elabora.studio/schemas/0.1/` were frozen at core 8eabde6 (17 Oct 2026). The site publishes exact bytes and never changes a published version. Since then, the charts (D60), the dialogues (D61) and the starter blocks (D63) added blocks and props. None of them breaks a course: every course valid under 0.1 is valid under the new schemas. Those courses carry `$schema` URLs into 0.1, so editors that fetch them do not know the new blocks.

Weighed:
- **Republish 0.1 in place.** It goes against the rule that a published version never changes, which caches and editors rely on. Rejected.
- **A format 0.2.** It would say the format broke when it did not, and call for a migration step (`elabora migrate`) that would change nothing. Rejected.
- **A patch version of the schemas, 0.1.1, with the format identifier left as it is.** Chosen.

What it means:
- **Two versions.** `FORMAT_VERSION` (0.1) is what a course declares: `format: "elabora/0.1"`, the major and minor version, which only a breaking change moves (with a migration step, D39). `SCHEMA_VERSION` (0.1.1) is the schemas' folder (`packages/format/schemas/0.1.1/`) and their `$id`s.
- **Additive changes.** When the schemas change after a version is published, the next patch is published: 0.1.2, and so on. The site's schemas snapshot keeps every version it published.
- **Existing courses.** Files Elabora writes point to the current schemas (`$schema` … `/0.1.1/…`). Files pointing to 0.1 stay valid: Elabora validates with its own schemas, whatever `$schema` says, and the URL is only a hint for editors.

*Revisit if:* a change removes or narrows something, or changes what a field means. That is a new format version, 0.2, with its migration.
