On this page... (hide)
- 1. Stable versions
- 2. Patches
- 3. Pre-releases
- 4. SVN builds
- 5. Summing up
- 6. Example
Description of LyX version numbers and the principles behind them.
Most users want to get the latest stable release of LyX.
1. Stable versions
Version numbers increment numerically. Version 1.x.0 is usually the result of at least one year of development and can be expected to have both exciting new features and bugs. Versions 1.x.y with y>0 are maintenance releases, in which we try to fix bugs and avoid new functionality, although some new things always slip through the cracks.
For example, the current stable version could be 1.5.2, and the ones before that were 1.5.1 and 1.5.0. Those versions are all part of the 1.5.x stable series, and it can be expected that upgrading to a version with higher minor version number is safe.
The LyX file format is never changed by a maintenance release.
2. Patches
Patches are not made available between initial stable releases (e.g. between 1.5.0 and 1.6.0) because they would be too large. There are nevertheless patches available for maintenance releases (which often seem to be large, but the bulk of their content is documentation of interface l10n updates). Those patches should be applied incrementally (one after the other).
3. Pre-releases
Pre-releases introduce additional functionality over preceding stable releases. Consequently, lyx-1.5.0alpha/beta/rc1 indicates the pre-release of version 1.5.0. However, pre-releases should be considered as test releases of the next release, and treated with suitable caution. There are no pre-releases of maintenance releases, since we try to keep the burden of producing these to a minimum
3.1 Alpha release
An alpha release (e.g. lyx-1.5.0alpha1.tar.bz2) is a release of the LyX software from the development source code at a point when only a few, if any, new major features are expected to be added before the first stable release.
3.2 Beta release
A beta release (e.g. lyx-1.5.0beta1.tar.bz2) is a release of the LyX software from the development source code at a point when very few (and minor) new features are expected to be added before the first stable release.
3.3 Release candidate (prerelease)
After the release candidate (lyx-1.5.0rc1.tar.bz2) is released only bug fixes are allowed. The criteria to change from beta to rc is the inexistence of data loss bugs.
4. SVN builds
After a major release (e.g. LyX 1.6.0 etc), work typically continues in two separate branches of source code. The "trunk" is the main development branch, this is where new major features are introduced. This branch eventually becomes the next major release (e.g. LyX 1.7 after LyX 1.6). For each major release, the source code is forked off into a separate stable branch (BRANCH_1_6_X for LyX 1.6) where bug fixes are implemented. This branch eventually results in minor releases such as LyX 1.6.1, LyX 1.6.2 and so on. The intention is that this branch will always be stable.
Versions of LyX build from the Subversion repository will have the `svn' suffix (e.g. 1.7.0svn or 1.6.1svn). These versions are never packaged on the ftp site.
Instructions for SVN builds can be found here
5. Summing up
So, there are four possible file name formats:
lyx-1.5.0.tar.gz | an initial stable release. |
lyx-1.5.2.tar.gz | the second maintenance release to LyX 1.5.0. |
patch-1.5.2.gz | the patch to update the source code of LyX 1.5.1 to 1.5.2. |
lyx-1.6.0alpha/beta/rc1.tar.gz | a potentially unstable test release of the next release. |
Stable versions and patches will be found in the "stable" directory of LyX ftp site.
Pre-releases are made available in the "devel" directory of the ftp site.
And for the curious, there is always the Subversion repository!
6. Example
A standard user, or one using LyX for an important business project, say, would download 1.5.2, and update it later to 1.5.3 if this is released. An experienced user might download the latest 1.6.0rc1 version, to get a new neat feature. A developer would continue development through Subversion.