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, so for example, a LyX file created by LyX 1.5.3 will always be readable by LyX 1.5.1 and vice versa.

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 releases

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 new features were added without being fully tested. Alpha versions are therefore often unstable and should only be used by testers and developers. Announcements are released to limited audience only.

3.2  Beta releases

A beta release (e.g. lyx-1.5.0beta1.tar.bz2) is similar to an alpha release, with the difference that only small changes will be made until the stable version. This version therefore contains all major new functions of the next stable release and is used to test them out intensively.
Beta versions are not stable enough to edit important documents!

3.3  Release candidates

After the first release candidate (rc) is released (e.g. lyx-1.5.0rc1.tar.bz2), only bugs will be fixed. The criteria to publish the first release candidate is that there are no known data loss bugs.

4.  Git builds

After a major release (e.g. LyX 1.5.0 etc), work typically continues in two separate branches of source code - "trunk" (or "master") and "branch". The "trunk" is the main development branch, this is where new major features are introduced. This branch usually becomes the next major release (e.g. LyX 2.1 after LyX 2.0). The "branch" (e.g. "2.0.x" for LyX 2.0) is the stable development branch where bugs are fixed. Maintenance releases like LyX 2.0.1, LyX 2.0.2 and so on will be built out of this branch. The intention is that this branch will always be stable.

Versions of LyX build from the Git repository have the suffix 'svn' (e.g. 1.6.0svn or 1.5.1svn). These versions are never packaged on LyX's FTP site.

Instructions how to use GIT can be found here.

5.  Summing up

So, there are four possible file name formats:

lyx-1.5.0.tar.gzan initial stable release.
lyx-1.5.2.tar.gzthe second maintenance release to LyX 1.5.0.
patch-1.5.2.gzthe patch to update the source code of LyX 1.5.1 to 1.5.2.
lyx-1.6.0alpha/beta/rc1.tar.gza potentially unstable test release of the next release.

Stable versions and patches will be found in the "stable" directory of the LyX FTP site.
Pre-releases are made available in the "devel" directory of the FTP site.
And for the curious, there is always the Git 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 Git.