Versions & channels
Publishing a package makes a version: a snapshot of its name, summary and content at that moment, with its date, the platforms it runs on and an optional changelog. A published version never changes; editing the package prepares the next one.
Two channels
Section titled “Two channels”| Channel | Number | Example | For |
|---|---|---|---|
| Stable | MAJOR.MINOR.PATCH |
1.2.0 |
Every platform: the update they are offered. |
| Development | MAJOR.MINOR.PATCH-dev.N |
1.3.0-dev.2 |
Tests: a pre-release of the next stable version. |
Development versions are always marked apart: an orange badge, their own In development card and Download the development version button on the package page.
Choosing the number
Section titled “Choosing the number”You never type a version number: you choose a step, and the dialog shows the number it gives (Publishes version 1.1.0.).
Stable: the step applies to the highest stable version.
| Step | When | From 1.2.3 |
|---|---|---|
| Patch | Fixes: a typo in a description, a corrected script line | 1.2.4 |
| Minor | Additions: new models, a new profile | 1.3.0 |
| Major | Breaking changes: items removed or reorganised | 2.0.0 |
The very first stable version is Major 1.0.0, or Initial development 0.1.0 if the
package is not ready for production yet.
Development: the step names the stable version you are working towards, and the number is that
target followed by -dev.N, N counting up for that target.
Example sequence
Section titled “Example sequence”| Action | Version |
|---|---|
| First publication, Stable, Major | 1.0.0 |
| New model added, Development, Minor | 1.1.0-dev.1 |
| Script fixed, Development, Minor | 1.1.0-dev.2 |
| Ready for everyone, Stable, Minor | 1.1.0 |
| Typo fixed, Stable, Patch | 1.1.1 |
| Profiles reorganised, Development, Major | 2.0.0-dev.1 |
Versions are ordered as in Semantic Versioning: a development version comes before the stable version
it leads to, 1.0.0 < 1.1.0-dev.1 < 1.1.0-dev.2 < 1.1.0.
Latest and development versions
Section titled “Latest and development versions”- The latest version of a package (Latest badge) is its highest stable version.
- Its development version is its highest development version, when it is above the latest one.
Once you publish
1.1.0,1.1.0-dev.2is no longer shown as the development version.
The head of the editor shows both, and Unpublished changes when the content differs from them.
When a channel can be published
Section titled “When a channel can be published”- Stable can be published when the name, summary or content changed since the highest stable version (even if a development version already carries the same content).
- Development can be published when something changed since the last version of any channel.
A channel with nothing to publish cannot be chosen (Nothing changed for this channel since its last version.). When neither can, the Versions page says Nothing changed since the last version.
What platforms do with versions
Section titled “What platforms do with versions”- A platform installs a package and keeps it up to date with its stable versions.
- Development versions are for test platforms: install them on purpose, by downloading the development file or choosing it on a connected platform. See Versions & the dev channel in the platform guide.
- Each item of the content keeps its identity from one version to the next, so an update changes the items the platform already has instead of duplicating them, and removes the items you removed.
- Installing a version lower than the one installed is a downgrade: the platform asks before going back.