For OE-lite.org metadata projects, the releases must be versioned
according to the scheme described in this section.

OE-lite.org metadata releases must follow the Semantic Versioning
specification (see http://semver.org). Briefly described, this means
that version numbers are formatted as X.Y.X, with X being major number,
Y being minor number, and Z being patch number.

For releases that only contains backwards compatible bugfixes (a bugfix
release) should be versioned with an increment to the patch number. A
bugfix release based on X.Y.Z would thus be X.Y.Z+1.

For release that contains new, backwards compatible functionality
(feature releases) should be versioned with an increment to the minor
number. A feature release based on X.Y.Z would thus be X.Y+1.0.

For releases that contains any backwards incompatile changes (major
releases) should be versioned with an increment to the major number. A
major release based on X.Y.Z would thus be X+1.0.0.

OE-lite.org metadata releases should be done from a release branch named
X.Y (for release version X.Y.Z).

When creating a new major release, a new release branch must be created.
This new X.0 branch should branch off of either the previous latest
release branch (ie. X-1.Y) or the master branch.

When creating a new feature release, a new release branch must be
created. This new X.Y branch should branch off of the previous release
branch (X.Y-1).

When creating a new bugfix release, the X.Y release branch should
already exist. It should have been created when the X.Y.0 feature
release (or major release if Y=0) was made.

Release branchs must be pushed to the official OE-lite.org upstream
repository (ie. git://oe-lite.org/oe-lite/core.git for OE-lite/core).
Release branches are considered permanent branches, and should not be
deleted, as they must be available for doing bugfix releases from.

Important

Public release branches must not be rebased, or the commit history
in any other way be rewritten.

After the release is done, the VERSION file should be removed, so
that only the actual release version carries it.

git rm VERSION
git commit -m "Unrelease"

The release branch (including both the release and unrelease commit) and
the release tag must of-course be pushed to the official OE-lite.org
upstream repository (ie. git://oe-lite.org/oe-lite/core.git for
OE-lite/core).

When the OE-lite.org metadata project release is ready (ie. tarballs are
on oe-lite.org, and the release has been pushed to the official
oe-lite.org repository, the release must be announced to the OE-lite.org
community.

For OE-lite.org BSP projects, the releases must be versioned according
to the scheme described in this section.

An OE-lite.org BSP is specified by a version number, and an optional
release name. Notice that the version number is mandatory and must by
itself specify the release. The release name is optional and only meant
as a possibility of adding a short description (or perhaps for adding a
funny name…).

Currently, there is no rules or guidelines for the numbering scheme.
Suggestions and discussion related to this are welcome at
dev@oe-lite.org :-)