Skip to content

Schema changes across versions

Andrea Peltrin edited this page Mar 22, 2023 · 11 revisions

Changes to the document serialization structure. Initial schema version is 4 (the numbering includes the old Electron releases). The goal is to support transparently schema changes (starting from version 4) within the web app, providing default values and ad-hoc JSON decoders.

With time we may drop support for older schemas, e.g.: we are at version 6 and we don't support loading documents with version 4.

A MAJOR change is considered as such when:

  • A record field is deleted or renamed
  • There's a fundamental type change, e.g.: fontColor : Local Color becomes fontColor : Animated (Local Color) or a previously used custom type variant is removed

A minor change is considered as such when:

  • A new record field is added
  • A new custom type variant is added or a unused custom type variant is removed

Every MAJOR schema change increase version number and requires to adjust decoders in a significant way, so we should try to minimise such changes or at least to group those into a major schema version bump.

Note: With elm-codec we can add new fields using Maybe's or withDefault: e.g. https://ellie-app.com/htX8jTy7nMta1

Version 0.4.3

  • Minor change: new SliderNode variant

Version 0.4.2

🎉 No schema changes.

Version 0.4.1

  • Minor change: new Device variant, get rid of unused DeviceModel one (issue #48)
  • Minor change: add new ImageData width, height and mimeType fields
Clone this wiki locally