Bump the model version
Updated
Every change to a model object — a dictionary, a document, a register, a field,
a script, a menu item, an EDT, a number sequence, a form, a data package, a
test — bumps modelVersion in that model's model.json, in the same
change.
Note
The tenant compares
MetaPackages.PackageVersionto this number. Equal versions skip the model as a whole. The same version applied twice does nothing.
How to#
Semver:
| Bump | When |
|---|---|
| patch | A code fix |
| minor | A new field, object, or package |
| major | A breaking change |
You extend somebody else's object from your model — bump yours, not theirs.
If the objects already shipped without a bump, do not rewind them and do not
touch metaId. Raise modelVersion now and commit that. At start the tenant
sees a different number and re-applies the model with updateExisting.
On a dev stand, live sync applies the file in a few seconds regardless of version. Tenants are the ones that skip.
Tip
Do not "save the bump for the release". Without a new version there is no apply.
dependencies in model.json is also authoritative: an edge you remove from
the file is removed from the database. Leaving a stale edge makes RMS 409 on
the model the tree already dropped.
What's not there yet#
There is no automatic bump. Forgetting it is silent on the stand and invisible on tenants until somebody raises the number.