User Tools

Site Tools



The Versioning Scheme (as of Evergreen 2.1.0)

The Evergreen project uses a double-decimal format, such as "2.0.1", for both Evergreen and OpenSRF releases.

Major, minor, and patch releases

The first number (in our example, the number "2") is a "Major" version number. This number is incremented when the release includes major feature updates.

The second number (in our example, the number "0") is a "Minor" version number. This number is incremented when the release includes minor feature updates.

The third number (in our example, the number "1") indicates the "Patch" number. This number is incremented for new releases that contain no new features: only bug fixes and updated translations are eligible for these releases.

Alpha, beta, and release candidate releases

During the process of finalizing a new major or minor release, the release manager will normally create a series of alpha, beta, and release candidate releases for the purposes of testing, providing feature previews, and supporting documentation and translation efforts. The progression from alpha through release candidate represents the development team's increasing confidence in the stability and production-readiness of the code, until the Golden Master (final release) is published.

The first alpha release for a given major or minor increment will be labelled alpha1, the second alpha release will be labelled alpha2, etc. Once the progression from alpha to beta has been made, no further alpha releases will be published.

  • alpha: features are mostly complete, release is intended for testing, feedback, and documentation
  • pre-beta: a brief period (generally a few days) between alpha and beta intended primarily for developer verification of feature merges
    • the pre-beta period begins with a hard cutoff for merging in feature branches
    • a release is prepared, but no external announcement is made, and no download link is published
    • developers have two days to check for obvious problems caused by incorrect or missing commits; problems are corrected as needed
  • beta: features are complete, database schema is frozen for anything other than bug fixes, strings are frozen for translation
  • release candidate: no critical bugs; integration of new and updated translations; testing all functionality and upgrades from prior releases
  • Golden Master: no critical or high bugs; release notes, installation and upgrade instructions are ready

The Versioning Scheme (prior to Evergreen 2.0.0)

Prior to the Evergreen 2.0.0 release, we used a triple-decimal format for Evergreen releases and a double-decimal format for OpenSRF releases.

Samples of the Versioning Scheme in use

0.90.1: The very very first usable version. "Quick and dirty". Basically, a "proof of concept".

1.0.0: The very first version considered "final" and ready for deployment

1.1.12: The 12th patch release of the 1st minor revision of the 1st major version.

2.2.95: The 95th patch release for the 2nd minor revision of the 2nd major version.

Checking the installed version of Evergreen

You can issue an OpenSRF call against any Perl service to retrieve the installed version of Evergreen. For example, issue the following command in srfsh:

srfsh# request

Received Data: "1-2-2-1"

Request Completed Successfully
Request Time in seconds: 0.012489

Version Compatibility

Different versions of Evergreen require different versions of OpenSRF.

Evergreen OpenSRF PostgresSQL Dojo* XULrunner
2.0 1.6 8.4 1.3.3 1.9.2 / 3.6
2.1 2.0 9.0 / 9.1 1.3.3 1.9.2 / 3.6
2.2 2.1 9.1 1.3.3 1.9.2 / 3.6
2.3 2.1 9.1 1.3.3 3.6+ (14.0 recommended)
master master 9.1 / 9.2 1.3.3 3.6+ (14.0 recommended)

* note: if you are installing from a tarball, the appropriate version of Dojo is included

Evergreen Dokuwiki Home

versioning.txt · Last modified: 2013/01/07 08:55 by dyrcona

© 2008-2016 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a member of Software Freedom Conservancy.