The IoTivity Open Source Project will release the code as per the IoTivity release plan. The entire process of release is managed by the Release Management Function.
To make a new release, a release candidate branch is created to stabilize the code, bugs and defects will be fixed in the release candidate branch. When the Release branch is ready, QA will be started in order to ensure quality of the release.
Specific testing plan will be changed to match the type of release. OCF compliance check, full integration/performance test and sample application/document verification are conducted for major release during QA. In case of minor or revision version, some of the tests can be conducted or skipped by the discretion of the release management function. The QA will be finished when there are no critical/major defects. Once all the release-critical bugs are fixed, the release candidate will be produced.
When the release candidate is produced, the release management function lead will make a release package and request the IoTivity chair's approval. The release package includes source code, test results document, sample application and document.
After the release package is approved, the package will posted on the IoTivity project web page, and announced to public.
|Feature Spec/API Freeze||-12W||No more breaking changes in API beyond this point. This is done so other developers who are building on top of APIs (e.g. samples, other high level language bindings etc.) can be confident of platform stability|
|Feature Freeze||-6W||Release branch cut and release testing starts at this point. Master branch is open for the next release feature work. Only bug fixes allowed beyond this point on the release branch. New feature requests beyond this point are punted to the next release or it is well understood that taking them for this release may impact dates for subsequent milestones.|
|P1 Bug Only||-2W||P1 bugs only at this point. Bug bar moves up steadily (generally weekly) culminating in recall class only by Code Freeze date.|
|Code Freeze||-1W||End of bug fixing and start of final test pass for the release. Only recall class fixes taken beyond this point.|
|QA Complete||-1D||Final test pass complete and product is approved ‘ready for release’|
|Release||D-Day||Release is tagged and final bits are released to the web|
For minor/revision version release, IoTivity Project Leads (Lead Architect, Deputy Lead Architect) and Function Leads (Planning, Release) are to sign off on the release. For major version release, Chair & Vice Chair are to approve sign off on the release when it is ready.
The Project Leads and Function Leads are responsible for the Release Plan, Release Status, and Release Review documents that are posted. They are the point of contact for release issues.
The QA Lead is responsible for the Test Plan and Test Results documents that are posted. The Developer Community & Events Mgmt is responsibility for Website activity for the release.