Contains constants which identify the version numbers for the Lazarus IDE installed on the local system.

Values in the unit are used as the basis for corresponding LCL version numbers in the lclversion.pas unit.

Please note that version numbers used for Lazarus, and the LCL and LazUtils libraries were changed starting with version 3.0. They continue to use a four-part version numbering scheme, like 3.0.0.1, where the component values are:

  • Major version number
  • Minor version number
  • Release number
  • Patch level

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.

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.

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.

lazversion.pas is part of the lazutils package.

Type used for the OnLCLWidgetTypeName function variable.

Used in the GetLCLWidgetTypeName routine to get the name for the widgetset on the current platform.

Major version number for the Lazarus IDE.

For the Lazarus version number 2.3.0.42, the value in laz_major is 2.

Added in revision 57504, and available since Lazarus 1.8.4.
Minor version number for the Lazarus IDE.

For the Lazarus version number 2.3.0.42, the value in laz_minor is 3.

Please note: 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.

Added in revision 57504, and available since Lazarus 1.8.4.

Usage context modified in Lazarus version 3.0.

Release number for the Lazarus IDE.

For the Lazarus version number 2.3.0.42, the value in laz_release is 0.

Please note: 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.

Added in revision 57504, and available since Lazarus 1.8.4.

No longer maintained starting with Lazarus 3.0.

Patch level for the Lazarus IDE.

For the Lazarus version number 2.3.0.42, the value in laz_patch is 42.

Added in revision 57504, and available since Lazarus 1.8.4.

Numeric version number for the Lazarus IDE.

For the Lazarus version number 2.3.0.42, the value in laz_fullversion is 2030042.

Added in revision 57504, and available since Lazarus 1.8.4.
String with the full version number for the Lazarus IDE.

For the Lazarus version number 3.0.0.3, the value in laz_version is '3.0.0.3'.

Added in revision 57504, and available since Lazarus 1.8.4.
Variable which contains the handler routine signalled to get the name for the current LCL widgetset.

The value for the variable is assigned in the initialization section for the interfacebase.pp 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.

Routine called to get the type name for the widgetset class used on the platform.

GetLCLWidgetTypeName signals the OnLCLWidgetTypeName 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 ('').

InterfaceBase.GetLCLWidgetTypeName LCLPlatformDirNames TLCLPlatform
String representation for the widgetset class used for the platform.