You can view details of all ONOS Releases at:
- Release Schedule
- Release Notes
- Release Content
- Roadmap 2015 (Initial proposal- to be finalized with input from service providers, vendors, community i.e. you)
RELEASE CYCLE
Release Frequency
ONOS releases have a 3 month time-based release cycle.
A new ONOS release will be available on the last day of the following four months:
- February
- May
- August
- November
Development items and bugs for each release are tracked through JIRA. If you are new to JIRA, you can learn more about using JIRA for ONOS on the ONOS JIRA wiki page.
Release Stages
Planning
At the beginning of each ONOS release cycle, proposed content for the release is discussed and prioritized. The proposed content i.e. the backlog (in Agile terminology) is tracked in JIRA.
Development
Developers submit code to Gerrit for review, and this code gets merged upon acceptance. Learn more about the development process here.
Pre-release (Tagging release candidates)
Once all the development milestones are met and release-critical bugs are fixed, the first candidate for that release (RC1) is tagged. This RC1 build will be used as the final release, unless new release-critical issues are found in which case these are fixed and a new RC tag is applied to the subsequent build.
Code Freeze
Code freeze happens 15 days before the release date. This is subject to change.
Release
On release day (as described above in Release Frequency), the last tagged release candidate is re-versioned and published as the release on onosproject.org. You can find details on release versioning here.
Return to Releases section.
RELEASE NAMING
Release Versioning and Tags
Each ONOS release will have the following version format:
- Either the <major> or the <minor> version will be incremented for each release. The Technical Steering Team will decide whether to increment the major or minor number for the release. This decision will depend on a number of different factors such as incompatibility with existing APIs etc.
- <revision> is incremented for a fix (or set of fixes) on a maintenance branch that justifies a new maintenance "release". Note: the revision number is optional when it is zero.
- 1.0.0rc1 - release candidate for 1.0.0. rc1 is a temporary tag that gets cleaned up after 1.0.0 is tagged final.
- 1.0.0 - Open source ONOS release on Dec 5th, 2014
- 1.0.1 - First maintenance release for 1.0.0
....
Release Naming
During the development cycle and for easy identification post-release, each release is also identified by a "code" name in addition to the version. In keeping with the ONOS bird logo and the theme of openness and freedom, ONOS releases will be named after "Birds" in alphabetical order. Name of the first open source ONOS release is "Avocet" and is "Blackbird" for the next release in February, 2015.
For all releases after the February release, at the beginning of each release cycle, 3 names will be pre-selected by the Releases Steering team and provided to the ONOS Community via an online poll. The winning name will be used for the release. Only single word bird names with 10 characters or less are preferred for the release name but outside of these constraints, the Releases Steering Team and the Community have free rein.
Next release in August, 2015 will have the name of a bird starting with "d". Please email your suggestions for the August release name to onos-release-team@onosproject.org.
List of Release Names
Release Name | Release Number | About the name | Release Date |
---|---|---|---|
Avocet | 1.0.0 | About the bird | Dec 5th, 2014 |
Blackbird | 1.1.0 | Feb 28th, 2015 | |
Cardinal | 1.2.0 | (Stanford "Cardinal" refers to the color, NOT the bird) | May 31st, 2015 |
Return to Releases section.
SUBMITTING A NEW FEATURE PROPOSAL
Types of proposals:
- The proposal is related to Core ONOS modules
- The proposal is for an external module or application or product unrelated to ONOS core.
You can find details on submitting a new feature proposal here.
Return to Releases section.
BRANCHING MODEL
Branches
- Master branch (master): Main development will happen on the master branch. This is the latest and greatest branch, but is always "stable" and "deployable". All tests always pass on this branch.
- Maintenance branch (support): This is the long-term maintenance branch per release.
- Development branch (dev): This is a branch created for lengthy and/or involved feature development that could destabilize master. The development branches need to be proposed to and signed off by the Technical Steering Team.
You can find details on versioning and naming of releases here.
Return to Releases section.
RELEASE SCHEDULE
Release | Version | Release Date | Status |
---|---|---|---|
Avocet | 1.0.0 | December 5th, 2014 | Released |
Blackbird | 1.1.0 | February 28th, 2015 | Released |
Cardinal | 1.2.0 | May 31st, 2015 | Under Development |
Status
The status field can have one of the following values:
- Under Development
- Proposed
- Released
Return to Releases section.