-
Notifications
You must be signed in to change notification settings - Fork 8
Schema changes across versions
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
becomesfontColor : 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
- Minor change: new
SliderNode
variant
🎉 No schema changes.
- Minor change: new
Device
variant, get rid of unusedDeviceModel
one (issue #48) - Minor change: add new
ImageData
width
,height
andmimeType
fields