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