The outputs of a release are the polkadot and polkadot-parachain node binaries, the runtimes for Westend & Rococo
and their system parachains, and new crate versions published to crates.io.
Setup
We have two branches: master and stable. master is the main development branch where normal Pull Requests are
opened. Developers need to mostly only care about this branch.
The stable branch contains a version of the code that is ready to be released. Its contents are always audited.
Merging to it is restricted to Backports.
Versioning
We are releasing multiple different things from this repository in one release, but we don't want to use the same
version for everything. Thus, in the following we explain the versioning story for the crates, node and Westend &
Rococo. To easily refer to a release, it shall be named by its date in the form stableYYMMDD.
Crate
We try to follow SemVer 2.0.0 as best as possible for versioning our crates. The definitions of
major, minor and patch version for Rust crates are slightly altered from their standard for pre 1.0.0 versions.
Quoting rust-lang.org:
Initial development releases starting with “0.y.z” can treat changes in “y” as a major release, and “z” as a minor
release. “0.0.z” releases are always major changes. This is because Cargo uses the convention that only changes in the
left-most non-zero component are considered incompatible.
SemVer requires a piece of software to first declare a public API. The public API of the Polkadot SDK
is hereby declared as the sum of all crates' public APIs.
Inductively, the public API of our library crates is declared as all public items that are neither:
Inside a __private module
Documented as "unstable" or "experimental" in the first line of docs
Bear unstable or experimental in their absolute path
Node
The versioning of the Polkadot node is done most of the time by only incrementing the minor version. The major
version is only bumped for special releases and the patch can be used for an out of band release that fixes some
critical bug. The node version is not following SemVer. This means that the version doesn't express if there are any
breaking changes in the CLI interface or similar. The node version is declared in the
NODE_VERSION
variable.
Westend & Rococo
For these networks, in addition to incrementing the Cargo.toml version we also increment the spec_version and
sometimes the transaction_version. The spec version is also following the node version. Its schema is: M_mmm_ppp and
for example 1_002_000 is the node release 1.2.0. This versioning has no further meaning, and is only done to map
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps frame-system from polkadot-v1.14.0 to polkadot-v1.15.0.
Changelog
Sourced from frame-system's changelog.
... (truncated)
Commits
743dc63
Move prdoc to release foldered3657a
grandpa: handle error from SelectChain::finality_target (#5153) (#5172)740b3ac
[stable2407 backport] runtime: make the candidate relay parent progression ch...bc2680e
Backport #5103 (#5123)cd464b5
Update Cargo.lockd979272
Edit and apply planf23fb28
Adjust and apply planab7f3d7
Edit pland8a9686
Apply plan8d7e819
Add planDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show