Docs: Elaborates on version number changes for minor, release, and patch values.

This commit is contained in:
dsiders 2023-06-27 17:22:19 +01:00
parent d578ea7a4c
commit 5666585722
2 changed files with 48 additions and 29 deletions

View File

@ -18,19 +18,36 @@ numbers in the <file>lclversion.pas</file> unit.
</p>
<p>
<b>Please note that version numbers used for Lazarus, and the LCL and LazUtils
libraries were changed starting with version 3.0.</b> The release part of the
version number is no longer used. Only the major and minor values are
significant. The release number will always be 0 (zero) starting with version
3.0.
libraries were changed starting with version 3.0.</b> They continue to use a
four-part version numbering scheme, like 3.0.0.1, where the component values
are:
</p>
<ul>
<li>Major version number</li>
<li>Minor version number</li>
<li>Release number</li>
<li>Patch level</li>
</ul>
<p>
Starting in version 3.0, the release part of the full version number is no
longer maintained. While still included in the full version value, the release
number will always be 0 (zero) starting with version 3.0. Major and minor
version numbers are used to identify a release or a fixes branch.
</p>
<p>
In addition, an odd minor version number no longer indicates that it is a
development (or trunk) version. Instead, odd minor version numbers like 3.1 or
3.3 represent fixes releases. For example: 3.1 would contain bug fixes for the
3.0 release and would be used as the basis for the 3.2 release. Development
(or trunk) versions are always represented as minor version number 99; i.e.
3.99 is the development branch for future releases such as fixes in the 3.X
family and the future 4.0 release.
An even minor version number, like 3.0 or 3.2, represents a general
availability release. An odd minor version number no longer indicates that it
is a development (or trunk) version. Instead, an odd minor version number
like 3.1 or 3.3 represents a fixes release. For example: 3.1 would contain bug
fixes for the 3.0 release and would be used as the basis for the 3.2
release. Development (or trunk) versions are always represented as minor
version number 99; i.e. 3.99 is the development branch for future releases
such as fixes in the 3.X family and the future 4.0 release.
</p>
<p>
Patch numbers identify a release candidate or a general availability release.
For example: 3.0.0 RC1 has the the full version value of 3.0.0.1. RC2 has the
value 3.0.0.2, and the released product could be 3.0.0.3.
</p>
<p>
<file>lazversion.pas</file> is part of the <file>lazutils</file> package.
@ -76,13 +93,14 @@ For the Lazarus version number 2.3.0.42, the value in laz_minor is 3.
<p>
<b>Please note:</b> Starting with Lazarus version 3.0, laz_minor is
incremented by 1 for each new release or fixes branch. For example: 3.0, 3.1,
3.2, etc. In addition, an odd minor version number no longer
indicates that it is a development (or trunk) version. Instead, odd minor
version numbers like 3.1 or 3.3 are fixes releases. For example: 3.1
would contain bug fixes for the 3.0 release and would be used as the basis for
the 3.2 release. Development (or trunk) versions are always represented as
minor version number 99; i.e. 3.99 is the development branch for future
releases such as fixes in the 3.X family and the future 4.0 release.
3.2, etc. An even minor version number, like 3.0 or 3.2, represents a general
availability release. An odd minor version number no longer indicates that it
is a development (or trunk) version. Instead, an odd minor version number
like 3.1 or 3.3 represents a fixes release. For example: 3.1 would contain bug
fixes for the 3.0 release and would be used as the basis for the 3.2 release.
Development (or trunk) versions are always represented as minor version number
99; i.e. 3.99 is the development branch for future releases such as fixes in
the 3.X family and the future 4.0 release.
</p>
</descr>
<seealso/>
@ -104,8 +122,8 @@ For the Lazarus version number 2.3.0.42, the value in laz_release is 0.
</p>
<p>
<b>Please note:</b> Starting with Lazarus 3.0, the release number is no longer
used and will always contain 0 (zero). Releases are represented using the
major and minor version numbers: 3.0, 3.1, 3.2, etc.
maintained and will always contain 0 (zero). Releases are represented using
the major and minor version numbers: 3.0, 3.1, 3.2, etc.
</p>
</descr>
<seealso/>

View File

@ -27,8 +27,8 @@ expressions are supported in <i>{$mode delphi}</i> and <i>{$mode objfpc}</i>.
<short>LCL full version.</short>
<descr>
<p>
The lcl_fullversion constant contains all version numbers, formatted with 2
digits and concatenated (leading zeros are omitted).
The lcl_fullversion constant contains all of the component version number
values, formatted with 2 digits and concatenated (leading zeros are omitted).
</p>
<p>
For example, if the LCL version is 2.2.4.1, lcl_fullversion will be 2020401.
@ -57,11 +57,12 @@ contains the second number (2).
</p>
<p>
<b>Please note:</b> Starting with LCL version 3.0, lcl_minor is incremented by
1 for each new release or fixes branch. For example: 3.0, 3.1, 3.2, etc. In
addition, an odd minor version number no longer indicates that it is a
development (or trunk) version. Instead, odd minor version numbers like 3.1 or
3.3 represent a fixes release. For example: 3.1 would contain bug fixes for
the 3.0 release and would be used as the basis for the 3.2 release.
1 for each new release or fixes branch. For example: 3.0, 3.1, 3.2, etc. An
even minor version number, like 3.0 or 3.2, represents a general availability
release. An odd minor version number no longer indicates that it is a
development (or trunk) version. Instead, an odd minor version number like 3.1
or 3.3 represents a fixes release. For example: 3.1 would contain bug fixes
for the 3.0 release and would be used as the basis for the 3.2 release.
Development (or trunk) versions are always represented as minor version number
99; i.e. 3.99 is the development branch for future releases such as fixes in
the 3.X family and the future 4.0 release.
@ -79,8 +80,8 @@ contains the third number (4).
</p>
<p>
<b>Please note:</b> Starting with LCL 3.0, the release number is no longer
used and will always contain 0 (zero). Releases are represented using the
major and minor version numbers: 3.0, 3.1, 3.2, etc.
maintained and will always contain 0 (zero). Releases are represented using
the major and minor version numbers: 3.0, 3.1, 3.2, etc.
</p>
</descr>
<seealso>lcl_version</seealso>