lazarus/docs/xml/lazutils/lazversion.xml

246 lines
7.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Documentation for LCL (Lazarus Component Library) and LazUtils (Lazarus
Utilities) are published under the Creative Commons Attribution-ShareAlike 4.0
International public license.
https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
https://gitlab.com/freepascal.org/lazarus/lazarus/-/blob/main/docs/cc-by-sa-4-0.txt
Copyright (c) 1997-2025, by the Lazarus Development Team.
-->
<fpdoc-descriptions>
<package name="lazutils">
<!--
======================================================================
LazVersion
======================================================================
-->
<module name="LazVersion">
<short>
Contains constants which identify the version numbers for the Lazarus IDE
installed on the local system.
</short>
<descr>
<p>
Values in the unit are used as the basis for corresponding LCL version
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> 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>
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 branch. 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 the future 4.0
release. Also, selected commits from this branch are cherry picked to the 3.X
family.
</p>
<p>
Patch numbers identify a release candidate or a general availability release.
For example: 3.0.0 RC1 has 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.
</p>
</descr>
<element name="TLCLWidgetTypeNameEvent">
<short>
Type used for the OnLCLWidgetTypeName function variable.
</short>
<descr>
<p>
Used in the GetLCLWidgetTypeName routine to get the name for the widgetset on
the current platform.
</p>
</descr>
<seealso>
<link id="OnLCLWidgetTypeName"/>
<link id="GetLCLWidgetTypeName"/>
</seealso>
</element>
<element name="laz_major">
<short>Major version number for the Lazarus IDE.</short>
<descr>
<p>
For the Lazarus version number 2.3.0.42, the value in laz_major is 2.
</p>
</descr>
<seealso/>
<version>
Added in revision 57504, and available since Lazarus 1.8.4.
</version>
</element>
<element name="laz_minor">
<short>Minor version number for the Lazarus IDE.</short>
<descr>
<p>
For the Lazarus version number 2.3.0.42, the value in laz_minor is 3.
</p>
<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. 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 branch. 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 the future 4.0 release. Also,
selected commits from this branch are cherry picked to the 3.X family.
</p>
</descr>
<seealso/>
<version>
<p>
Added in revision 57504, and available since Lazarus 1.8.4.
</p>
<p>
Usage context modified in Lazarus version 3.0.
</p>
</version>
</element>
<element name="laz_release">
<short>Release number for the Lazarus IDE.</short>
<descr>
<p>
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
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/>
<version>
<p>
Added in revision 57504, and available since Lazarus 1.8.4.
</p>
<p>
No longer maintained starting with Lazarus 3.0.
</p>
</version>
</element>
<element name="laz_patch">
<short>Patch level for the Lazarus IDE.</short>
<descr>
<p>
For the Lazarus version number 2.3.0.42, the value in laz_patch is 42.
</p>
</descr>
<seealso/>
<version>
<p>
Added in revision 57504, and available since Lazarus 1.8.4.
</p>
</version>
</element>
<element name="laz_fullversion">
<short>Numeric version number for the Lazarus IDE.</short>
<descr>
<p>
For the Lazarus version number 2.3.0.42, the value in laz_fullversion is
2030042.
</p>
</descr>
<seealso/>
<version>
Added in revision 57504, and available since Lazarus 1.8.4.
</version>
</element>
<element name="laz_version">
<short>String with the full version number for the Lazarus IDE.</short>
<descr>
<p>
For the Lazarus version number 3.0.0.3, the value in laz_version is
'3.0.0.3'.
</p>
</descr>
<seealso/>
<version>
Added in revision 57504, and available since Lazarus 1.8.4.
</version>
</element>
<element name="OnLCLWidgetTypeName">
<short>
Variable which contains the handler routine signalled to get the name for the
current LCL widgetset.
</short>
<descr>
<p>
The value for the variable is assigned in the initialization section for the
<file>interfacebase.pp</file> unit. It is set to the GetLCLWidgetTypeName
routine in that unit. Please note that the GetLCLWidgetTypeName routine exists
in both units; this one calls the other.
</p>
</descr>
<seealso>
<link id="TLCLWidgetTypeNameEvent"/>
</seealso>
</element>
<element name="GetLCLWidgetTypeName">
<short>
Routine called to get the type name for the widgetset class used on the
platform.
</short>
<descr>
<p>
<var>GetLCLWidgetTypeName</var> signals the <var>OnLCLWidgetTypeName</var>
event handler (when assigned) to get the type name for the widgetset. The
return value contains the String from LCLPlatformDirNames that represents the
TLCLPlatform for the widgetset. If OnLCLWidgetTypeName has not been assigned,
the return value is an empty string ('').
</p>
</descr>
<seealso>
<link id="TLCLWidgetTypeNameEvent"/>
<link id="#lcl.interfacebase.GetLCLWidgetTypeName">InterfaceBase.GetLCLWidgetTypeName</link>
<link id="#lcl.lclplatformdef.LCLPlatformDirNames">LCLPlatformDirNames</link>
<link id="#lcl.lclplatformdef.TLCLPlatform">TLCLPlatform</link>
</seealso>
</element>
<element name="GetLCLWidgetTypeName.Result">
<short>
String representation for the widgetset class used for the platform.
</short>
</element>
</module>
<!-- LazVersion -->
</package>
</fpdoc-descriptions>