Skip to content

Commit c89d936

Browse files
author
Amanda Butler
authored
Create release_process.md
Create file in relevant repo.
1 parent 7e1a5b1 commit c89d936

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

docs/introduction/release_process.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
## How We Release Arm Mbed OS
2+
3+
The three types of Arm Mbed OS releases are major, feature and patch.
4+
5+
### Major release
6+
7+
Major releases happen infrequently and indicate a possible change in the structure of the OS. In major releases, the first number after "Mbed OS" changes. For example, Arm Mbed OS 5.0 was a major release.
8+
9+
They can include:
10+
11+
- Incompatible functionality changes (including redesign, removal and new additions).
12+
- Removal of deprecated functionality.
13+
14+
### Feature release
15+
16+
Feature releases occur once a quarter. As their name suggests, feature releases introduce new features to the code base. Unlike major releases, feature releases are backward compatible (source compatible). The second digit in the release number indicates the feature release. For example, Mbed OS 5.1.0 indicates major version 5, feature version 1.
17+
18+
They can include:
19+
20+
- New Mbed OS features.
21+
- New functionality (including the addition of functions, methods and classes).
22+
- Large refactors.
23+
- Deprecation of functionality (with an alternative functionality provided).
24+
- Configuration changes.
25+
26+
### Patch release
27+
28+
Patch releases occur every two weeks. They are also backward compatible (source compatible). The last digit in the release number indicates the patch release. In Mbed OS 5.2.3, `3` shows the patch release is the third release in Mbed 5.2.
29+
30+
They can include:
31+
32+
- Bug fixes.
33+
- Improvements to existing functionality (including target driver updates and implementation-specific improvements that don't change code flow or behavior).
34+
- New target support.
35+
- New tests.
36+
37+
Binary compatibility is not guaranteed with any release.
38+
39+
### The release process
40+
41+
Every release goes through a rigorous review and testing process. We stage changes to the `release-candidate` branch in the `mbed-os` repository.
42+
43+
Two weeks before each feature release, we implement a code freeze on the master branch while we produce the new release branch. Once the new branch is created, master is once again available. The release branch then goes into the release testing phase, in which we apply <a href="/docs/v5.7/tools/testing.html" target="_blank">our testing tools</a>. These tests include nightly runs through our continuous integration (CI) processes, as well as out-of-box QA. We also put our examples through this testing process. We apply no new code, except for critical bug fixes found during this period, to the release branch.
44+
45+
For patch releases, code freeze occurs the Thursday before the release. Patch releases also go through exporter tests and nightly CI tests.
46+
47+
After all tests return no errors, we release the latest updates. You can find the most recent release in the `mbed-os` repository with the `latest` tag. A release note accompanies each release. The release notes for major and feature releases are longer and give an overview of the new features. The release notes for the patch releases include only a list of changes and known issues, if applicable. You can find our release notes on [the releases page](https://os.mbed.com/releases/) and on [the blog](https://os.mbed.com/blog/).

0 commit comments

Comments
 (0)