Migration guide
This guide covers what to change in your code when you upgrade Kerniq Server across a release with breaking changes. For the full list of changes in every release, see CHANGELOG.md.
#Versioning
Kerniq follows Semantic Versioning. While the version
is 0.x, Cargo treats the minor version as the breaking one:
| Upgrade | Breaking changes? | Example |
|---|---|---|
0.1.x → 0.1.y |
No. Update with cargo update -p kerniq-server. |
0.1.0 → 0.1.3 |
0.x → 0.(x+1) |
Possibly. Read this guide's section for that release. | 0.1.4 → 0.2.0 |
1.x → 2.0 |
Possibly. Read this guide's section for that release. |
Depend on kerniq-server rather than the internal kerniq-* crates. The
internal crates are versioned together with it, but their APIs are not
covered by this guide.
#Upgrading
- Read the section below for every release between your version and the target version, oldest first.
- Bump the version in your
Cargo.tomland runcargo update -p kerniq-server. - Run
cargo check --all-targets. Deprecated items warn for at least one minor release before they are removed, and each warning names the replacement. - Run your tests. Behavior changes (status codes, error codes, defaults) are listed under Behavior changes in each section, because the compiler cannot catch them.
#Releases
#0.1.0
First release. There is nothing to migrate from.