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$ids. - 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$schemasays, 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.