-
Notifications
You must be signed in to change notification settings - Fork 3
Feature freeze towards launching Polkadot
Owners: Ben (@gnunicorn), Martin (@s3krit)
Alpha: Accepted blockers past freeze in #4961 During stabilization: only release-critical PRs may change the public API or add new features (check with your lead-tech whether your PR falls under that)
While this previously was focusing on creating an API-stability release, the goal is now to stabilize towards a launch of Polkadot.
having any stability guarantees beyond our commitment to adhere to semver: an update from any minor within 2.x will not break your build. HOWEVER, it still might change internals and thus storage data without automatic migrations yet. A 2.x minor upgrade might still mean you have incompatible chains or networks between releases. Release notes will inform you whether that would be the case.
- Get everything ready for a 2.0 release. In particular:
- crates.io release procedure
- automatic tooling for releases
- getting documentation, API docs and DevHub up to date
- make an effort to stabilize on the way towards the launch
- Communicate externally, as well as internally, that we are on the way to stabilize for the launch
Alpha -> Stabilization -> Release
.
We feature-freeze substrate master
at noon Feb 21st 2020 (Berlin time). After that time only bug- and documentation-fixes, CI/Automatizing-Tooling-PRs and the already known blockers will be merged. Only PRs that fix security issues and PRs of extreme high severity may change the externally exposed API or rename crates from this point forward.
There might be multiple alpha releases on a rolling bases until all known blockers are merged and the automatic tooling is in place and expected to work. Alpha releases have the proposed version number for each create and the suffix -alpha.
with a steadily increasing number, starting with alpha.1
. All crates are released with the same suffix, even if there were no changes between releases for it.
As of Friday, April 24th 2020 (23:59 Berlin Time), we will enter the stabilization-phase. After this point, only bug-, automation-, documentation-fixing- and launch-critical PRs are to be merged. The goal of this phase is to stabilize the system, run the network, report and fix last minute bugs.
- All PRs should therefore limit changes to what is absolutely necessary to achieve the goal,
- generic refactors and non-release-essential enhancements will be rejected (and should be put into
draft
mode). - Only launch-critical PRs are allowed to change public APIs from this point.
- PRs need to have two positive reviews, pass the CI (incl. the companion) and have a positive review on the polkadot companion (if any), before they can be merged.
Further alpha releases are expected to take place, once we are sure to have reached API stability, we might switch over to releasing them as -beta.
and the release count, starting at 1
. All crates are released with the same prefix, even if there are no changes in between. There might be multiple beta releases on a rolling bases.
Once we have all release critical features in, have that running smoothly and are confident it is stable enough, we might launch it as polkadot. We might also release the creates as 2.0
(or their respective release number, sometimes 0.8.0
) to crates.io, however we might delay this further to include fixes that we recognize post-launch. The feature freeze ends.
If you have a polkadot-release-critical change (ask your team -lead if you are unsure yours is), cleanups (before stabilization, this includes not-too-involved refactors and API changes ), bug-, documentation-, CI- or hotfix, just raise the PR as usual and get it reviewed by at least two core devs–don't forget to put the appropriate B-
andF-
labels on it!
Once it is ready to merge please tag, has been reviewed by at at least two core developers and has a positive review on its polkadot companion, tag it with A8-mergeoncegreen
(and remove the A0-review
) and assign your/the responsible team lead. We might also change the tags accordingly, just switch it back to A8-mergeoncegreen
whenever you fixed it and we'll get on it.