Lazarus 2.2 fixes branch

From Lazarus wiki
Revision as of 09:49, 23 July 2021 by Wp (talk | contribs) (Submitted by developer / committer, tested, waiting to be merged)

This page contains the revisions to be merged from trunk to the Lazarus 2.2 fixes branch.

These are only fixes made after the branch was created. For other fixes made since the previous release (2.0) see SVN and Lazarus 2.0 fixes branch

Release notes can be found here

Fixes for 2.2.0

Merge requests

Submitted by others / waiting for sign off by team member

Submitted by developer / committer and waiting for testing (do not commit yet)

Merge conflicts

Submitted by developer / committer, tested, waiting to be merged

  • r65496 TAChart: Fix default value of TChartTitle.Brush.Color
  • r65499 TAChart: Add methods StoreAxisRange() and RestoreAxisRange() to LiveView component.
  • r65500 Documentation updates.

Merged revisions for 2.2.0RC2

  • r65383 LazUtils: Fix building when directory is a Windows mount point. Issue #39120.
  • r65388 IdeIntf: Allow multi-line property editors in Dialogs, TTaskDialog. Issue #39170.
  • r65392, 65424, 65438, 65444, 65450, 65462, 65472, 65477, 65481, 65495 Documentation updates.
  • r65395 TPageControl: QT5: Fixed PageControl.GetTabRect, see project Issue #39166
  • r65396 TPageControl: QT: Fixed PageControl.GetTabRect, see project Issue #39166
  • r65432 IDE: add unit DB to uses when TBufDataset or TCSVDataset are added. Issue #29733.
  • r65441 DockedFormEditor: Fixed wrong ShowHint value when switching from tab Code to tab Form. Issue #39217
  • r65442 DockedFormEditor: Disable CM_PARENTSHOWHINTCHANGED for all WidgetSets. Issue #39217
  • r65443 DockedFormEditor: Use correct WidgetSet Win32 instead of Windows
  • r65448 DockedFormEditor: Check for WidgetSet LCLWin32 and LCLWin64. Issue #39222
  • r65449 LazUtils: Restore function KOI8ToUTF8, earlier renamed as KOI8RUToUTF8, and deprecate it.
  • r65314 Examples/address_book: Fix compilation. Remove hard-coded MS font.
  • r65315 Examples/bidi: Fix layout issue due to overlapping controls.
  • r65316 Examples/dblookup: Fix compilation.
  • r65336 examples: Remove a writeln from checkbox demo.
  • r65337 examples: Fix typo in TestAll demo.
  • r65338 examples/mssql: Fix compilation
  • r65355 LCL/TPageControl: Add new method "Clear" to remove all pages.
  • r65362 docs/lcl: Add documentation for the new method TPageControl.Clear.
  • r65366 docs/lcl: Merge the two TPageControl.Clear doc versions from r65362 and 65358.
  • r65375 LCL/TColorDialog: Show Title property. Issue #39155, based on code submitted by jamie in,55236.msg410713.html#msg410713
  • r65454 LCL/ShellTreeView: Speed-up of populating a folder with many subfolders (example: c:\Windows\WinSxS)
  • r65455 LCL/ShellTreeView: Speed-up when opening a node with many subfolders a second time.
  • r65376 TAChart: Update xml help.
  • r65379 TAChart: Decode system colors in text elements.
  • r65384 TAChart: Add method GetAxisRange to determine the range of an axis covered by all series assigned to it.
  • r65385 TAChart: Use real axis limits in ChartEditor demo.
  • r65389 TAChart: Rename TChart.GetAxisRange to .GetAllSeriesAxisLimits (more precise).
  • r65391 TAChart/ChartEditor demo: Check that axis maximum is always greater than the minimum.
  • r65393 TAChart/ChartEditor demo: Fix bug in handling of axis.Inverted.
  • r65394 TAChart: Update xml doc.
  • r65420 TAChart/ChartEditor demo: Fix update of axis grid visibility.
  • r65421 TAChart/ChartEditor demo: Fix axis lines not being updated.
  • r65422 TAChart: Always draw axis arrows with solid pen.
  • r65423 TAChart: Fix usage of axistransformations in ChartLiveView having ExtentY = lveAuto.
  • r65425 TAChart: Fix initialization error in TChartLiveView when ExtentY is lveAuto.
  • r65427 TAChart: Fix axis scaling of TChartLiveView with coincident axis limits and ExtentY = lveAuto.
  • r65431 TAChart/ChartEditor demo: add forgotten lfm file.
  • r65440 TAChart/ChartLiveView: Fix autoscaling when multiple axes are used. Add new ExtentY mode, lveMultiAxisRange
  • r65453 TAChart/TChartLiveView: Add some comments. Add xml documentation.
  • r65456 TAChart/TChartLiveView: Simplify operation of ExtentY modes.
  • r65463 TAChart/TChartLiveView: Fix operation when axes have a predefined Range. Modified patch by forum user Muso (,55266.msg412075.html#msg412075)
  • r65468 LazReport: Fix compilation of ZeosDB
  • r65469 IDE: Fix compiling with FPC trunk. The removed code was only active in fpc trunk 3.1.1 [r36768-r38658)
  • r65470 TAChart/TChartLiveView: Simplification
  • r65471 TAChart/LiveView demo: fix typo.
  • r65473 LCL: Fix TListView selection on Windows with MultiSelect=True and OwnerData=True. Issue #34877.
  • r65474 LCL: Make ListView.Selected return the first selected item also when OwnerData=True.
  • r65475 FpDebug, Windows: Forward OutputDebugString to IDE.
  • r65479 GdbMiDebugger: fixed reporting OutputDebugString messages
  • r65488 FpDebug: remove double line break from formatted watches.
  • r65489 Debugger: Remove linefeeds for locals dialog. Issue #0039212
  • r65490 Add DbgS for FormStyle.
  • r65491 AnchorDocking: Don't set FormStyle to fsStayOnTop for modal shown windows to prevent showing it in front of other applications. E.G. in IDE Tools -> Desktops.

Fixes for 2.2.0RC1 (merged)

  • r65243, 65249, 65254-65256, 65261-65271, 65274, 65278-65279, 65281, 65290, 65293, 65297, 65300, 65305, 65317, 65325, 65328, 65335, 65339, 65358, 65367 Documentation updates
  • r65248 Qt: removed unsupported QString_toHtmlEscaped. Issue #38982.
  • r65275 CodeTools: Allow a "var" section inside a record with {$modeswitch advancedrecords}. Issue #38957.
  • r65303 LCL: Revert revision 63847, fixing FormShow call at wrong time. Issue #38922
  • r65304 IDE: Remove EnvironmentOptions.DesignerPaintLazy to prevent paintings outside OnPaint resulting in painting artefacts. Fixes issue #23741 and #33781
  • r65306 IDE: regenerated translations
  • r65311,r65312,r65318 IDE: Implement multi-line selection in Messages window. Issue #35493
  • r65319 IDE: Update DefineTemplates (package graph) after adding a component, in case its package was not used earlier.
  • r65320 Fix spelling errors in grids.pas. Patch by Don Siders. Issue #0039093.
  • r65329 Converter: Replace Mask with Masks, not MaskEdit.
  • r65330 IDE: Generate Dwarf3 for Debug build mode and for debug profile for the IDE itself.
  • r65341 IdeIntf: Disable copy/paste of TMenuItem in Object Inspector tree because it does not work for some reason. Issue #19530.
  • r65342 IDE: Use Dwarf3 debug format for our projects. Needed when debugging with FPDebug.
  • r65348 SQLdb: added pqteventmonitor.pas unit to LPK, bug 39097
  • r65354 IdeIntf: Disable copy/paste of TAction in Object Inspector tree because it does not work for some reason. Issue #19530.
  • r65372 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 39152
  • r65374 Fix spelling errors in lclproc.pas. Patch by Don Siders. Issue #0039161.
  • r65378 AnchorDocking DragNDrop of pages not working on GTK2. Issue #39166
  • r65412 win installer: EnvironmentOpt.xml: Fix gdb location for windows (new installation)
  • r65413 make component: compile freetype before lazcontrols
  • r65414 lcl: updated Makefile.compiled
  • r65415 lcl: updated Makefile.compiled
  • r65416 lcl: updated Makefile.compiled with freetype
  • r65417 lcl: fix makefile path for freetype
  • r65418 Installer, Win: fix cross build flags
  • r65419 Installer, Win: fix cross build, include package buildintf

Roadmap to 2.2

The release process will consist of the following steps.

  • Creation of the SVN 2.2 fixes branch. (Done 15 Jun 2021)

This is the start of the stabilization process before a new Lazarus release.

  • Release of 2.2.0 RC 1 (ToDo)

This will be the first Release Candidate. We would like to urge all users to test this version. The testing period is scheduled to last 2 weeks.

  • Release of 2.2.0 RC 2 (ToDo)

The testing period is scheduled to last 2 weeks.

  • Release of 2.2.0 RC 3 (ToDo)

The testing period is scheduled to last 2 weeks.

  • Release of Lazarus 2.2 (ToDo)

Users can download the new stable version.


  • Menu item exists
  • Clear pcp directory and start IDE, a new project application with a form should be visible
  • Double click on form - a FormCreate event should be created
  • Check View / IDE internals / What needs building - no package should need building, only the project
  • Restart the IDE - there should be no warning about upgrading
  • Install the package cody, after restart the component palette should show the component TCodyTreeView
  • Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.

Tagging release

  • SVN merge requests of this page
  • Set version in fixes_2_2 branch
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog for RC1, for RC2, for RC3, for final
    • lazarus/ide/ 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)
    • lazarus/components/lazutils/lazversion.pas for RC1, for RC2, ... for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/
      • CFBundleShortVersionString "2.2.0"
      • CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release
    • tools/install/linux/environmentoptions.xml same as
    • tools/install/win/environmentoptions.xml same as
    • tools/install/macos/environmentoptions.xml same as
    • check lpl files by running "./tools/lplupdate -c" and do the svn mv commands
    • Update makefiles: Make sure Additions and Overrides are empty and run
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles
  • check that ide/lazarus.lpi and ide/lazarus.res have changed:
svn diff | grep Index:
  • svn commit
  • Tag fixes_2.2 branch to tags/release_2_2_0_RC1 (or tags/lazarus_2_2_0 for final release)
svn copy svn+ssh:// svn+ssh:// -m 'tagged 2.2.0RC1 as tags/lazarus_2_2_0_RC1'

Other branches