Difference between revisions of "Lazarus 2.2 fixes branch"

From Lazarus wiki
Jump to navigationJump to search
Line 36: Line 36:
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====
*57f8a2e341 Docs: LCL/dbgrids. Removes topic TCustomDBGrid.ResetSizes for changes in 6402a449. ''— depends on not merged yet revision
*57f8a2e341 Docs: LCL/dbgrids. Removes topic TCustomDBGrid.ResetSizes for changes in 6402a449. ''— depends on not merged yet revision
* 11f92030 Qt5: fixed session management bug. {{LazIssue|39655}}. ''— reverted due to introduced incompatibilities in libQt5Pas
* b36000fc Qt5: increased libQt5Pas version. Related to {{LazIssue|39655}}. ''— reverted due to introduced incompatibilities in libQt5Pas
* db27890d Qt5: added QPixmapCache_clear(). Part of {{LazIssue|38844}} ''— reverted due to introduced incompatibilities in libQt5Pas
* f7087856 Qt5: added QPixmapCache_Clear() to pascal binding. Part of {{LazIssue|38844}} ''— reverted due to introduced incompatibilities in libQt5Pas
==== Merge conflicts ====
==== Merge conflicts ====
Line 117: Line 121:
*61f292751af QT5: fixed uninitialized Result when getting WheelScrollLines. Merge request !78.
*61f292751af QT5: fixed uninitialized Result when getting WheelScrollLines. Merge request !78.
*c805ff750d Move FreeType license file from LazUtils to FreeType directory. {{LazIssue|39657}}.
*c805ff750d Move FreeType license file from LazUtils to FreeType directory. {{LazIssue|39657}}.
* 11f92030 Qt5: fixed session management bug. {{LazIssue|39655}}.
* b36000fc Qt5: increased libQt5Pas version. Related to {{LazIssue|39655}}.
* db27890d Qt5: added QPixmapCache_clear(). Part of {{LazIssue|38844}}
* f7087856 Qt5: added QPixmapCache_Clear() to pascal binding. Part of {{LazIssue|38844}}
* 7f856147a1 Docs:  LazUtils. Comments platform-specific links that cause build warnings.
* 7f856147a1 Docs:  LazUtils. Comments platform-specific links that cause build warnings.
* 68d06aa93d Docs: LazUtils/integerlist. Updates topic content.
* 68d06aa93d Docs: LazUtils/integerlist. Updates topic content.

Revision as of 14:04, 3 March 2022

Light bulb  Note: This page is used internally by the Lazarus team.
The data in this page does not represent the full extent of what is included in the fixes branch/versions


For a list of what was merged to the Fixes branch please visit:

Open issues listed on the linked milestones are loosely targeted for the indicated version. Their final inclusion depends on the available man-power and/or contributions. Release may or may not be deferred for any non resolved issue.



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 Git and Lazarus 2.0 fixes branch

Release notes can be found here

Internal Merge requests for 2.2.2

Open Merge requests

Submitted by others / waiting for sign off by team member

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

  • 57f8a2e341 Docs: LCL/dbgrids. Removes topic TCustomDBGrid.ResetSizes for changes in 6402a449. — depends on not merged yet revision
  • 11f92030 Qt5: fixed session management bug. Issue #39655. — reverted due to introduced incompatibilities in libQt5Pas
  • b36000fc Qt5: increased libQt5Pas version. Related to Issue #39655. — reverted due to introduced incompatibilities in libQt5Pas
  • db27890d Qt5: added QPixmapCache_clear(). Part of Issue #38844 — reverted due to introduced incompatibilities in libQt5Pas
  • f7087856 Qt5: added QPixmapCache_Clear() to pascal binding. Part of Issue #38844 — reverted due to introduced incompatibilities in libQt5Pas

Merge conflicts

  • 5e0cc9032a Documentation updates. — depends on d5fe15d448b3b84183c0cf5c399e184ac6aa7091 (Docs: LCL. Updates topics in ShellCtrls.xml.)
  • 06a60b60b6 Documentation updates. — depends on 840389dad3b79d180297422d7c208950f4ecdc4e.
  • 1f1239bb7a Docs: LazUtils/lazmethodlist. Adds SameMethod and updates CompareMethods topics. Depends on 814e4ba4.
  • 370e42c4e4 Docs: LCL/lclproc. Removes topics deprecated since version 2.1. Depends on 814e4ba4.
  • fc0c7393bb Docs: LCL/interfacebase. Adds missing topic for MemSizeLessThan. Depends on 75aebbee.
  • bdd25fd5e7 Docs: LCL/ShellCtrls. Removes invalid See Also links.
  • 7c2368058c Docs: LazUtils/lazstringutils. Removes topic for deprecated routine in #9a816398. — #9a816398 is not (and should not be) merged to fixes_2_2.
  • 0bbdfcf556 Docs: LCL/buttons. Adds content for ActionChange and FindDownButton topics in TCustomBitBtn. Depends on 27d3cf84.
  • 70ee915771 Docs: LCL/shellctrls. Adds and removes topics.Depends on 06701d05a7.
  • 9d1e04d4e0 Docs: LCL/shellctrls. Updates content for TShellTreeNode topics. Depends on 93124666, Issue #39629.

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

Processed Merge requests for 2.2.2

  • 30ba61883f LCL-GTK2: Fix TPopupMenu on 2 monitors aligned vertically. Issue #39422.
  • 71d44be64af4ebc7de222d9107ad3843b9388c63 LazUtf8: use unsigned variables in Utf8LengthFast.
  • c87b73cadc Docs: LazUtils/lazutf8. Updates topic content in UTF8Length, UTF8LengthFast.
  • a57cf215d3 Codetools: Update target processor types for x86_64.
  • f48623e90c Docs: LCL/controls. Updates GetDefaultColor topics for TControl, TControlCanvas.
  • 59fae3d727 Docs: LCL/spin. Corrects content in TCustomFloatSpinEdit.GetLimitedValue.
  • 3b9e6859e7 TAChart: Fix occasional flicker of datapoint crosshair tool. Issue #39548, patch by kupferstecher.
  • b8f2e92f03 TAChart: Fix missing minor ticks when an axis is inverted by means of a linear axis transform. Issue #39546.
  • 5133009b Qt/Qt5/Win32: fixed page size and name (qt) and page orientation mismatch under win32. Patch by Joeny Ang. Issue #39449
  • 09a4c2fb Qt5: fixed slowness with TQtPrinter under MSWindows. Issue #39461
  • 53cda894 Qt/Qt5: fixed font changing of TComboBox editor. Issue #39549
  • 4fa1bfc4 TAChart: Fix TDateTimeIntervalChartSource formatting of dates in "quarter/year" format.
  • ad0cee4c TAChart: Fix position of quarter-year marks in TDateTimeIntervalChartSource
  • 8e85780b TAChart: Fix unit test of IsEquivalent().
  • c5b1c183 TAChart: Add StartOfTheQuarter and IncQuarter functions (date/time-related). Add related unit tests.
  • 334d1265 TAChart: Fix quarter-of-year label positioning in TDateTimeIntervalChartSource based on the new IncQuarter() and StartOfTheQuarter() functions.
  • 565be6fcc7 Docs: LCL/stdctrls. Updates topic content.
  • 3b0b5e67dd IDE: List different processors for i8086 target. Issue #39565.
  • 9eaf4e3531 IDE: Hide IDE windows on "Run without Debugging" when the setting says so. Issue #39567.
  • f7d2d0a690 IDE: Use '-W' parameter for MacOS bundle on "Run without Debugging". Simplify the code. Issue #39567.
  • 6f8172a61a Codetools: Allow keyword const in generic parameter list. Issue #38087.
  • 4ac1f026c2 IDE: Create new MenuItems for bookmarks. A MenuItem cannot be used for many parent menus. Issue #39540.
  • 6c639074fc Docs: LazUtils/lazutf8. Updates topic content in Utf8EscapeControlChars.
  • b2b3689434 Docs: LCL/controls. Updates topic content and links.
  • bcf2fdd549 Docs: LCL/graphics. Fixes awkward wording in the TPicture topic.
  • 05cf5afbc2 Docs: LCL/extctrls. Updates topic content and links.
  • 58f8d07925 IDE: Disable 'Abort Build' menu item when not building. Issue #39585.
  • dfa66431c4 Codetools: Complete code correctly for "procedure xxx; forward;". Issue #39510.
  • c875cc8f8e Docs: LCL/forms. Fixes error in GetParentForm topic from issue #39591.
  • c111b7caf5 Docs: LazUtils/utf8process. Updates topic content.
  • ed84fe08f1 Docs: LCL/comctrls. Updates content and links for topics.
  • 3ecdcf0320 IDE: Allow multi-selection with Shift in Project Inspector and Package Editor. Issue #39595.
  • c12011e450 Docs: LCL/grids. Removes an extraneous character in a See Also link.
  • 4d72245552 LCL: Solve most performance issues with virtual TListView (OwnerData=True). Issue #39324.
  • 81ac10f738 Images: Fix new ico files to be linux-compatible. Issue #39596.
  • fde1f53879 Images: Replace the default lazarus.ico used anywhere within the installation folder by the new version. Issue #39596.
  • 1c44ec9237 Images: Replace the macOS .icns files to be like the .ico files. Provided by Roland Hahn. Issue #39550.
  • 082d051466 LCL: Do not InvalidateSelected in MultiSelect virtual TListView. Part of Issue #39324.
  • ff3970a6b3 Docs: LCL/comctrls. Updates topics for changes in 4d72245552, 082d051466.
  • 0aada2da4c Images: Replace lazarus*.ico files by versions in which the small images (16x16, 20x20) are a bit more "crispy". Created by Roland Hahn.
  • b6222f0da8 TAChart: TBoxAndWhiskerSeries does not draw box if box image left=right or top=bottom. Issue #39615, merge request by Frank Freeman.
  • c4a17bf926 TAChart: TBoxAndWhiskerSeries cannot use different color on each point for box border, whiskers and median. Issue #39616, marge request by Frank Freeman.
  • 5bade4a47a Docs: LCL/grids. Updates content for TCustomGrid topics.
  • 55c4d7d5af Docs: LazUtils/lazutf8. Fixes spelling errors in topics.
  • 2d93d8f51b LCL: Fix mouse position in unhandled mouse-wheel event to be relative to parent, Issue #39621.
  • a54aa9c1bb Images: Replace icons in images/windows/ by versions adapted to the new style. Provided by Roland Hahn.
  • 1f695b9d3a Tools/chmmaker: Fix compilation with FPC 3.2.x
  • fcb70e903a TAChart: Fix TBoxAndWhiskerSeries crashing when MinYValue or MaxYValue is queried and the series is empty.
  • 89bd5e8943 LCL/SpeedButton: Draw centered multi-line caption Issue #39632.
  • ad41c897b7 LCL/TSpeedButton: Improve text alignment when there is no glyph Issue #39632.
  • 603fb729459c5ca1db91e5cc69397f3c02b19067: T(Float)SpinEdit: update the control in EditingDone so that text matches Value. Reported by Jamie in https://forum.lazarus.freepascal.org/index.php/topic,57722.msg429596.html#msg429596
  • 5c44c3b487 Docs: LCL/spin. Adds TCustomFloatSpinEdit.EditingDone topic. Depends on 603fb729.
  • 2b04018e69 LCL/SpeedButton: Fix misaligned icons in TFilenameEdit etc. Related to Issue #39632.
  • fe1125219b Docs: LCL/controls. Updates topic content and links.
  • 86f222952f Docs: LCL/controls. Updates topic content and links. Mostly in TWinControl.
  • 84a85843ed Docs: LCL/popupnotifier. Updates topic content and links.
  • d47c55d93d Docs: LCL/popupnotifier. Fixes spelling errors and typos.
  • 5e581ce962 Docs: build_lcl_docs. Removes use of default footer file name.
  • 2f59545512 Docs: build_lcl_docs. Fixes an incompatibility with FPDoc 3.3.x. Depends on 5e581ce962.
  • b0d263f11d Docs: build_lcl_docs. Sets an explicit title for CHM files used in the LHelp TOC navigation tree. Issue #28500. Depends on 5e581ce962, 2f59545512.
  • 7cf2b7390c Docs: build_lcl_docs. Fixes missing links from LazUtils to LCL topics in output formats. Depends on 5e581ce9, 2f595455, b0d263f1.
  • f47c1f2ea6 Docs: Fixes spelling, grammar, and file name errors in README.txt. Depends on 2f59545512.
  • 3e672ebe93e QT4: fixed uninitialized Result when getting WheelScrollLines. Merge request !78.
  • 61f292751af QT5: fixed uninitialized Result when getting WheelScrollLines. Merge request !78.
  • c805ff750d Move FreeType license file from LazUtils to FreeType directory. Issue #39657.
  • 7f856147a1 Docs: LazUtils. Comments platform-specific links that cause build warnings.
  • 68d06aa93d Docs: LazUtils/integerlist. Updates topic content.
  • 891501a228 Docs: Removes redundant text in remark tags.
  • 2843627279 Docs: LCL/printers. Updates topic content.

Fixes for 2.2.0 (merged)

  • 34d7072ca1 Docs: LazUtils/masks. Removes deprecation warnings after #896764a7.
  • b18bf9be0c Docs: LazUtils/lazstringutils. Updates ShortDotsLine topic for deprecated routine.
  • 937b6bdfef Codetools: Ignore empty () in function description. Generate function body correctly. Issue #39441
  • 46a1f547f0 IdeIntf: Rebuild the OI component tree after comp deletion. CollectionItems do not get deleted otherwise.
  • c8bfe6c6cd LazUtils/uitypes.. Comments see also links in the #rtl.system.uitypes namespace.
  • 0d20c53cd4 LCL-GTK3: Prevent crash when Open/SaveDialog is closed. Remove 'destroy' signal handler. Still no memory leaks.
  • da5bd4801c LCL-GTK3: Prevent crash in SaveDialog creation. For some reason virtual class functions confused it.
  • adafca05c0 lcl: fixed TSpeedButton with Action and changing Action.ImageIndex
  • 5aee9d5c07 lcl: fixed TBitButton with Action and changing Action.ImageIndex
  • 123fe0c949 Docs: LCL/buttons. Adds content for TCustomSpeedButton.ActionChange. Depends on adafca05.
  • d43d4618 Qt,Qt5: fixed OnCloseUp event for TDBCustomComboBox. Issue #39455
  • 79e6efe7eb LCL/controls. Updates Hint-related topics in TControl.
  • bbd1e41311 Docs: LCL/forms. Adds missing topics or content.
  • f642074957 LCL/grids. Fixes spelling error.
  • f506e095e4 Docs: LCL. Removes duplicated content and links to updated original.
  • c0540bb8b0 Docs: LazUtils/lazloggerbase. Comments see also links to unit properties flagged as build warnings.
  • 9cfc817173 Docs: LCL/controls. Adds or updates topic content.
  • 6bcaef208f Docs: LCL, LazUtils. Updates topics for changes in 53fe133e.
  • 805c9e3169 IDE: Open also projects and packages when their names are drag/dropped, or passed as cmd line for a running instance. Issue #39338.
  • 641c3a73f0 Designer: Name Menu separators as "SeparatorX" to make name clashes less likely. INCLUDES A BUG FIX. Issue #39471.
  • 4b12f85ede LCL: Publish TDBEdit.TextHint. Issue #39470.
  • dda96a3864 ProjectTemplates: Prevent wrongly replacing "project" in .lpi file. Issue #39467.
  • 6708a746c8 FontEnum example: Add a missing alphabet. Issue #39480.
  • 3abc423cba, 163a3a2018 Docs: LCL/dialogs. Updates content for the DefaultPromptDialog routine.
  • 229162c203 ProjectGroups: Call ActiveChanged() when compiling all. Updates an indicator in the GUI. Issue #32475.
  • cbc97e5a03 IDE: Update ComponentList after component visibility in Palette changed. Issue #23541.
  • b1e6affa83 Education package: Fix compilation after cbc97e5a03.
  • e17301cab0 IDE: Disable Build-buttons in Configure Build Lazarus dlg when the IDE already compiles. Issue #26884.
  • 182cc8b8e6 LazControls/TSpinEditExBase: Add virtual method SameValue() to fix compilation issue on Win/x64 for a currency descendant. Issue #39490
  • 7f45938388 LazControls/TSpinEditExBase: Fix compilation issue with FPC 3.2.0. Issue #39491.
  • 5523c58bc9 LazControls/TSpinEditExBase: IFDEF the previous commit (workaround for an already solved FPC bug). Issue #39490, Issue #39491.
  • 171f18dd75 LazControls/SpinEditExBase: Clearer defines for issue #39490 workaround. Issue #39490, Issue #39491
  • 0e5fdc884a Docs: LazControls/spinex. Adds new topic for TSpinEditExBase.SameValue. Depends on 182cc8b8.
  • c301731931 Docs: LCL/forms. Adds and updates topic content. Depends on d13c67e6, 89162e9c.
  • 05382f4ddf IDE: Show Frame's contents in designer also when its component package is installed in palette. Issue #39488.
  • 15e62fda4d Docs: LazControls/spinex. Adds topics for overloaded SameValue() methods in TCustomFloatSpinEditEx and TCustomSpinEditEx. Depends on 182cc8b8e6, 7f45938388, 5523c58bc9 0e5fdc884a, c301731931.
  • 28984a7cdf IDE: Revert experimental exceptions.
  • aaee8f2881 Docs: LCL/forms. Updates topic content for TCustomFrame and TFrame.
  • 2b2368cb83 IDE: Use radiobuttons in project buildmode menu (rather than checkboxes). Issue #39497, patch by Alexey Torgashin
  • 06d44e3815 Docs: LazControls. Updates topic content and See Also links.
  • 4020cb96fb IDE: Remove an assertion in TMessagesCtrl. Triggered rarely by timing issues. Issue #39503.
  • a821a43b5f IDE: In message header, move to last line of previous view with Up-key. Part of Issue #39506.
  • ab4e2af841 IDE: Move to actual message header when the header hint on top is clicked. Issue #39506.
  • 4eff151060 IDE: Improve the header hint clicked behavior. Issue #39506.
  • c96a14fd0d Docs: LCL/controls. Updates content for Align and Anchors topics in TControl.
  • 05765da982ab46e2486c6932648c71fd692a54d5 LazUtils: LConvEncoding: Fix not setting target codepage in various xxxToUtf8() functions. Issue #39348.
  • 5aa4ccaa470317595eec2e77927436c5a5e9a07a: LazUtils: LConvEncoding: remove all code that is disabled if FPC_HAS_CPSTRING is NOT defined,
  • 01e627e35da5030ccea4406cffbdf5b67b85b0b9 LazUtils: LConvEncoding: change signature of TConvertEncodingFunction analogue to all XXXToUtf8() functions. Part of Issue #39348.
  • 153a562187177282f98ffbb41f259525eac4ddb0 LazUtf8: fix rangecheck error due to not detecting invalid 4-byte Utf8-codepoint in ConvertUTF8ToUTF16. Issue #39501.
  • b12267c1e3 Docs: LazUtils/lconvencoding. Adds topic for SetTargetCodePage parameter in TConvertEncodingFunction. Depends on 01e627e3.
  • d116a8f5cc Docs: LCL/extctrls. Updates topics for TCustomTrayIcon, TTrayIcon.
  • 285ed6ea0d LCL/TColorButton: Add missing Notification method to prevent crash when assigned ColorDialog is deleted, Issue #39518.
  • 7114800c05 LCL/TCustomGrid, TCustomCheckBoxEx: Add missing Notification method to react on destruction of TitleImageList and Images, respectively.
  • cb9d685f79d5fd44f8e74d9075aaaa4143cb3242 LConvEncoding: reverts #05765da9 and #01e627e3 and resolves Issue #39348 in a different way (by always setting the target's codepage when converting to UTF8).
  • d674025f4f Docs: LCL/colorbox. Adds Notification topics in TCustomColorBox, TCustomColorListBox. Depends on 6efaae3d.
  • cbaf46012c Docs: LCL/comboex. Adds topic for TCustomComboBoxEx.Notification. Depends on 7114800c.
  • d93d5c3e08 Docs: LCL/grids. Adds topic for TCustomGrid.Notification. Depends on 7114800c.
  • 9278af1408 LCL: Allow external ColorDialog for custom operations in TColorBox and TColorListBox. Issue #39189, patch by jamie philbrook.
  • 6efaae3d24 LCL/TColorBox, TColorListbox: Add missing Notification procedure. Issue #39518.
  • 08ed2844 Project Templates: Improve configuration of ProjectFile and other variables. Issue #38244.
  • 734cf1a136 Project Templates: Disable OK button while necessary information is not given.
  • ce4661f5ec IdeIntf/graphpropedits: Scale images in TImageIndexPropertyEditor dropdown to line height. Issue #35807.
  • f5a0532427 Docs: LCL/dialogs. Adds, updates topics in TColorButton. Depends on 285ed6ea (already merged).
  • c71e7356c4 LazBuild: Default to Cocoa widgetset on 64-bit Darwin. Issue #39293.
  • 3e7c23c53c LazBuild: Default to Carbon widgetset on PowerPC. Issue #39293.
  • 8740a2f1ce Docs: LCL/lclplatformdefs. Updates BuildLCLWidgetType topic for MacOS widgetset usage. Depends on c71e7356c4, 3e7c23c53c.
  • 18bece2476 Docs: LazControls/listviewfilteredit. Removes topic for duplicate type in #e8b4862a.
  • c152361b72 Docs: LCL/controls. Updates topic content and links.
  • 70452d48d7 Docs: LCL/dialogs. Updates topics.
  • b4b11c6f2a Documentation updates.
  • 1b7848191e Docs: LCL/grids. Updates topic content.
  • 7a38231905 Docs: LazUtils/lconvencoding. Updates topics for changes in cb9d685f.
  • 05038a37b1 Docs: LazUtils/fileutil. Changes MacOSX to MacOS in topics.
  • 6719d7b54a Docs: LCL, LazUtils. Changes MacOS to macOS in topics.
  • 6226965c11 Docs: LCL/controls. Adds missing punctuation.
  • d1cd17f10d Docs: LazUtils/fileutil. Fixes capitalization for mac bundle post-fix.

Fixes for 2.2.0RC2 (merged)

  • r65294 LazReport: Allow entering more than one digit in font combobox editor. Issue #39026, patch by Soner.
  • r65295 LazReport: Change an event parameter name. "Width" clashed with TControl.Width. Issue #39025, patch by Soner.
  • 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, 65500 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 https://forum.lazarus.freepascal.org/index.php/topic,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 (https://forum.lazarus.freepascal.org/index.php/topic,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.
  • r65496 TAChart: Fix default value of TChartTitle.Brush.Color
  • r65499 TAChart: Add methods StoreAxisRange() and RestoreAxisRange() to LiveView component.
  • 3e9e3ecc6c, 4d4485f209, c7508cbbf3, 543b3ba2af, bb47f65547, 145bf90ea6, 9d48c0eff5, 862cedaca9, 03b41f9ef2, bc7d6df12a, 172b6d5464, ac39e408c7, 5db1922e37, 0467d7cf0f, fb27fcd12a Documentation updates.
  • 3313ccc17c Adds and updates grids, dbgrids topics for merges to fixes_2_2.
  • 10c474f730 Documentation updates.
  • ce63f619 Qt,Qt5: Fixed slowness with TListBox.Issue #39311
  • 5466d422 Qt,Qt5: Fixed checkboxes states after sorting in TListView. Issue #38137 Reverted since it cannot be compiled in fixes_2_2 !
  • fcf36153 Qt,Qt5: fixed changing TMenuItem.ImageIndex inside main menu. Issue #37608
  • 31c207d9ed, 59b2adcee3, f8fae99933, 510899de02 Documentation updates.
  • 5ae19e4e88, acf31c45b6, 4ff5c00578, 64fdfecf46 Documentation updates.
  • a84e602a Qt5: Additional theme drawing fix for issue Issue #38356
  • 63ca7a9a Qt5: Fixed AV when changing TListView.ViewStyle in design time. Issue #39353
  • 2473e77422 Documentation updates.
  • e1be3c5608ee03f5c IDE: Update DefineTemplates after switching build mode. Issue #39347
  • 655bd2ba0d, 6c8e9f0867, fc99cfa6ee, 19b127a2b1, 0f5ed91814 Documentation updates.
  • 515da224 Qt5: fixed doubled menu items in IDE. Issue #39364
  • fc685470 Qt5: implemented TCustomMemo.setCaretPos(). Patch by Joeny Ang. Issue #39373
  • a7ee5a544d, 3b9cfa9943, 34bef0cbf9, 6a29f96cec Documentation updates.
  • 6eca378f9d101199cc429c67420ee59739f72274 TListView: call OnDeletion also when destroying. Issue #39391.
  • 5a1abf733a7 LazUtils: Check for Pascal keywords in LazIsValidIdent. Must be prepended with '&'. Merge Request !11 by Abdullahi Usman.
  • f6b7ba26622 Designer: Prevent an illegal name for a component when "Ask name on create" is enabled. Issue #39292.
  • 92c69567 , 059c77a6 , 86a3ea83 Documentation updates.
  • 45a590ed0b9b6 Revert partly "Add HookGetCheckboxForBoolean handler in OI only once." Issue #39378
  • b7ab9549a64 IdeIntf: Improve recursion in TComponentTreeView.FindAndChange. Call RebuildCollection only once per deleted comp. Issue #39290.
  • 907f8248 IDE: When completing a label, add a colon (':') after it. Issue #38307.
  • a8a398e553 PascalScript: Fix event TPSOnProcessDirective signature. Active clashed with TForm.Active. Issue #39359.
  • 1d0d348cf6 Documentation updates.
  • de4f724924255 Revert checking for Pascal keywords in LazIsValidIdent which is used also for unit names etc. Prevent illegal name by other means.
  • 1c0f3e699c Docs: LazUtils/lazstringutils. Updates LazIsValidIdent for revert in de4f7249.
  • 824e696005 IDE: Remove Assert() that prevented adding source files with errors in them. Issue #22921.
  • 7cb38d7bc6 IDE: Check Filename<>UnitName mismatch only when Codetools was able to parse the source. Issue #22921.
  • ee4324bbe5 Documentation updates.
  • b379bae7 OpkMan: fix readability of hint window on dark themes, remove hardcoded colors...
  • 24ababf578 Docs: LCL. Updates topics to reflect code changes in 865013ee.
  • f120539d03 LCL-GTK3: Show applications better under KWin. Issue #39367.
  • 555a0bb5fc CodeTools: Support case-insensitive {$Align X} etc. directives. Issue #39339.
  • 736e71078e Docs: LCL/filectrl. Updates MinimizeName to specify that the width argument is pixels and not characters.
  • a669e084 TComboBox: update ItemIndex in RealSetText also if Text is empty string. Issue #39366.
  • 2e98d119 T(Float)SpinEditEx: set Modified to False if Value is set programmatically.
  • abd3cd5c T(Float)SpinEdit: set Modified to False if Value is set programmatically.
  • e868afe1 T(Float)SpinEditEx: set make sure Modified is correct in OnChange event as well.
  • 16c42cea T(Float)SpinEditEx: forgotten to commit file in e868afe1.
  • 2befd9dd T(Float)SpinEdit: make Modified have the correct value in OnChange as well.
  • f77ea526e4 Docs: LCL/stdctrls. Updates topics for issue #39413. Depends on a669e084.
  • 335ac8b724 Docs: LazControls/spinex. Updates topics for recent source code changes.
  • cc0c03af28 Docs: LCL/spin. Adds and updates topics for changes in abd3cd5c, 2befd9dd.
  • 0ca9443df0 Update create_lazarus_export_tgz.sh
  • d753efec99 Update create_fpc_rpm.sh
  • e8317fb5 Qt,Qt5: fixed problem with drawing primitives when antialiasing enabled. Issue #39416
  • 8c248da41d IDE: Disable Project Options command while compiling many build modes. Issue #39332.
  • b6a4282835 IDE: Execute a shortcut command only when it is enabled.
  • 29fa1e50 Qt,Qt5: fixed maximized window with borderstyle = bsnone. Issue #39158
  • 26930d85 Qt,Qt5: fixed antialias drawing of ellipse and polygon. Issue #35568, part of Issue #39416
  • e42dfcff Qt5: fixed typo.
  • e67c74ed7e IDE: Disable Project Options toolbuttons while compiling many build modes. Issue #39332.
  • 4204b2bd DockedFormEditor: Remove invalid widgetset LCLWin64
  • 6439e19d40 JEDI Code Formatter: Support a list of used registers at the end of "asm" block. Issue #35722.
  • e027061cb5 Docs: LCL/controls. Adds short descriptions for various topics.
  • c822e578 Qt,Qt5: fixed radialPie paint with antialiasing. Issue #39416
  • 52f2a8b8 Qt,Qt5: Fixed menu radio items. Issue #37741
  • 4076f4ef Qt,Qt5: fixed palette change at runtime. Issue #38589
  • a058e53864 Docs: LCL/menus. Adds missing topic content.
  • 7fa32a1e Qt5: optimized palette reload instead of calling recreateWnd(). Issue #38589
  • b83a9fd9 Qt5: implemented T(Float)SpinEdit.EditorEnabled. Issue #38736
  • 9233efad Qt: optimized palette reload instead of recreating handles. Issue #38589
  • e5ed5082d5 Docs: LazControls/checkboxthemed. Updates TCustomCheckBoxThemed.State to reflect actions in the property setter.
  • d21ebb1b Qt,Qt5: removed old workaround for Qt < 4.8.7, fixes TApplication activate/deactivate events. Issue #37868 Issue #29294
  • f1156f55 Qt,Qt5: ReleaseCapture when app is deactivated.
  • 5081a526 Qt,Qt5: restored the way how we send application activate/deactivate to LCL, removed calling of RestoreStayOnTop windows which cause confusion.
  • fea136a894 Docs: LazControls/listviewfilteredit. Removes extra short description in module topic.
  • 99e4bd2515 LCL-GTK2: Use a new SysTray API by default. The old one fails to work in new Ubuntu versions + derivatives.
  • 14304e8180 LCL: Fix typos in virtual key constants. Issue #39434
  • 622a7619d0 Docs: LCL/lcltype. Adds missing topics. Removes topics no longer in source. Updates topic content.
  • 9057aece Qt,Qt5: fixed system mouse lock when TCustomControl is double clicked. Issue #27384
  • 7f0e0cd0 Qt,Qt5: fixed broken TTrayIcon popup menu after recreating popup menu handle. Issue #38849
  • 64ccfb3fd2 Docs: Updates module topics for LCL and LazUtils to include both name and abbreviation.
  • e6e2178c LCL/Menus: Fix owner-drawn menu having zero item size if not specified by OnMeasureItem. Issue #35972, patch by dmz73.

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

  • GIT merge requests of this page
  • For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'
  • 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/version.inc 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/lazarus.app/Contents/Info.plist
      • 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 version.inc
    • tools/install/win/environmentoptions.xml same as version.inc
    • tools/install/macos/environmentoptions.xml same as version.inc
    • check lpl files by running "./tools/lplupdate -c" and do the git 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:
git status
  • git add .
  • git commit -m 'set fixes version to 2.2.0RC1'
  • git push origin
  • Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)
  • For a non RC release:
    • Set version to next version in git main
  • Create new section on this page and move waiting merge requests to the new section
  • upload packages
  • update checksums: https://svn.freepascal.org/svn/lazaruswebsite/trunk site/pages/checksums.html
  • every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums
  • Mail to Marc to update website from svn

Other branches