You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by Apache Wiki <wi...@apache.org> on 2013/08/30 04:37:13 UTC
[Cordova Wiki] Update of "VersioningAndReleaseStrategy" by AndrewGrieve
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Cordova Wiki" for change notification.
The "VersioningAndReleaseStrategy" page has been changed by AndrewGrieve:
https://wiki.apache.org/cordova/VersioningAndReleaseStrategy
New page:
= Versioning and Release Strategy =
== Versioning Strategies ==
1. "''SemVer''" ([[http://www.semver.org|Semantic Version]])
* Used by platforms, plugman, cli, core plugins
* Is important when describing dependencies in a sane way (e.g. within plugin.xml files)
* Referenced sparingly by docs / blogs (e.g. only by release notes)
2. "''CadVer''" (Cadence Version)
* Used by CLI, mobile-spec, cordova-js
* Also referred to as the "''Cordova Version''".
* Referenced by our website, blogs & docs
* Used by JIRA for the "''Fix Version''" field
* Each ''CadVer'' maps to a set of repo ''SemVer''s.
* E.g. 3.0.0 uses `cordova-blackberry@3.0.0, cordova-ios@3.0.0, cordova-android@3.0.0`
* E.g. 3.1.0 uses `cordova-blackberry@3.1.0, cordova-ios@3.0.1, cordova-android@4.0.0`
* E.g. 3.2.0 uses `cordova-blackberry@3.1.1, cordova-ios@3.1.0, cordova-android@4.0.1`
* E.g. 3.2.1 uses `cordova-blackberry@3.1.2, cordova-ios@3.1.0, cordova-android@4.0.1`
CLI exists in both lists because its version has the format: ''CadVer-SemVer''
* E.g.: `3.0.0-0.5.1`
== Release Strategies ==
1. '''On-Demand Releases'''
* Any repository can do an on-demand release at any time.
* These happen only when the team decides that a release cannot wait for the next regular release to happen
* These releases contain critical bug fixes that can't wait for the next scheduled release.
2. '''Weekly Releases'''
* These occur at most once a week.
* Rationale: Reduces the number of releases to at most one per week so that users are not annoyed by having to update too frequently.
* Rationale: Reduces the number of blog posts and release notes to write
* `CLI`, `Plugman`: Releases happen on Tuesdays
* `Core Plugins`: Releases happen on Wednesdays
* These releases contain non-critical bug fixes as well as new features.
3. '''Cadence Releases'''
* These follow the 10 releases per year, as enumerated on RoadmapProjects
* The `CadVer` is increased (either MAJOR or MINOR) on each release.
* These releases include: platform repos, cordova-js, mobile-spec, cordova-docs, cordova-cli, cordova-plugman
How version numbers are stored is described by StoringRepoVersionsDesign
How version releases are done is described by CuttingReleases
How to commit code is described by CommitterWorkflow