Menu

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 $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.