https://wiki.freepascal.org/api.php?action=feedcontributions&user=JuhaManninen&feedformat=atomFree Pascal wiki - User contributions [en]2024-03-28T09:25:45ZUser contributionsMediaWiki 1.35.6https://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=159071Lazarus 3.0 fixes branch2024-03-24T10:19:38Z<p>JuhaManninen: /* Processed Merge requests */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}.<br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* 36c308d1 TCustomTabControl: fix not firing OnChange after commit e5a63799. <br />
* db41ce26 TCustomTabControl: only call MaybeSelectFirstControlOnPage if APage is not nil. Remove duplicate checks.<br />
* 7446930e TFilenameEdit: don't force the TOpenDialog.InitialDir to current directory if InitialDir is empty string. {{LazIssue|40845}}.<br />
* db6ed214 Fix several occurrences of raise exception('some string'), in effect casting a string into an exception, instead of raise exception.create(). {{LazIssue|40860}}. Patch by n7800 (slightly modified).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* e11e1d3921 TAChart: Fix inconsistent usage of brush styles in series OnCustomDrawPointer (https://forum.lazarus.freepascal.org/index.php/topic,66664.msg511859.html#msg511859).<br />
<br />
=== Processed Merge requests ===<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
* a6a98c4327 IdeIntf: In TCompPaletteUserOrder.SortPagesAndCompsUserOrder turn a for loop into a while loop. Items can be deleted.<br />
* 0b7f1f3c0c LCL/TTrackbar: Avoid flickering in Windows 7 and older. {{LazIssue|40836}}.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* deb0488a Docs: Updates default content for locallclfooter.xml.<br />
* 59523ced Docs: Updates Linux build scripts for CHM and HTML.<br />
* 1dad391af7 Docs: LazUtils/translations. Adds missing topics and content for: GetLanguageIDFromLocaleName, UpdatePOFile.<br />
* ead3135f3c Docs: LCL/clipbrd. Updates content in the TClipboard.GetComponentAsText topic.<br />
* 60813b02c5 Docs: LazUtils/lazutf8. Removes unneeded TODO entries.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, {{LazIssue|40823}}, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). {{LazIssue|40793}}, patch by Iluha Companets.<br />
* 3aaae1a6 LCL: Fix ChildSizing ignoring adjusted client rectangle. {{LazIssue|40838}}, patch by Henner Drewes.<br />
* 5621ec7a IDE/LCL: Prevent using the TListItems component editor when the associated listview is in virtual mode. https://forum.lazarus.freepascal.org/index.php/topic,66660.0.html, patch by dsiders.<br />
* 2fb5d41799 Docs: LCL.controls. Adds version admonitions to topics for changes in 3aaae1a6. {{LazIssue|40838}}.<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
* 1024edcb4d IDE: examples/helphtml. Updates the demo application with additional BaseURL values. Updates metadata.<br />
* b2dd59fad5 Docs: LCL/lazhelphtml. Adds, updates content in THTMLHelpDatabase and THTMLBrowserHelpViewer topics.<br />
<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158667Lazarus 3.0 fixes branch2024-03-16T07:23:12Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}.<br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* 36c308d1 TCustomTabControl: fix not firing OnChange after commit e5a63799. <br />
* db41ce26 TCustomTabControl: only call MaybeSelectFirstControlOnPage if APage is not nil. Remove duplicate checks.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, {{LazIssue|40823}}, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). {{LazIssue|40793}}, patch by Iluha Companets.<br />
* 7446930e TFilenameEdit: don't force the TOpenDialog.InitialDir to current directory if InitialDir is empty string. {{LazIssue|40845}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 3aaae1a6 LCL: Fix ChildSizing ignoring adjusted client rectangle. {{LazIssue|40838}}, patch by Henner Drewes.<br />
<br />
=== Processed Merge requests ===<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
* a6a98c4327 IdeIntf: In TCompPaletteUserOrder.SortPagesAndCompsUserOrder turn a for loop into a while loop. Items can be deleted.<br />
* 0b7f1f3c0c LCL/TTrackbar: Avoid flickering in Windows 7 and older. {{LazIssue|40836}}.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* deb0488a Docs: Updates default content for locallclfooter.xml.<br />
* 59523ced Docs: Updates Linux build scripts for CHM and HTML.<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
* 1024edcb4d IDE: examples/helphtml. Updates the demo application with additional BaseURL values. Updates metadata.<br />
* b2dd59fad5 Docs: LCL/lazhelphtml. Adds, updates content in THTMLHelpDatabase and THTMLBrowserHelpViewer topics.<br />
<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158662Lazarus 3.0 fixes branch2024-03-15T20:54:41Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}.<br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* 36c308d1 TCustomTabControl: fix not firing OnChange after commit e5a63799. <br />
* db41ce26 TCustomTabControl: only call MaybeSelectFirstControlOnPage if APage is not nil. Remove duplicate checks.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, {{LazIssue|40823}}, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). {{LazIssue|40793}}, patch by Iluha Companets.<br />
* 7446930e TFilenameEdit: don't force the TOpenDialog.InitialDir to current directory if InitialDir is empty string. {{LazIssue|40845}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 3aaae1a6 LCL: Fix ChildSizing ignoring adjusted client rectangle. {{LazIssue|40838}}, patch by Henner Drewes.<br />
* ec9335ef59 IDE: Don't concatenate 'CompletionLongLineHintType' twice in EditorOptions. {{LazIssue|40821}}.<br />
<br />
=== Processed Merge requests ===<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
* a6a98c4327 IdeIntf: In TCompPaletteUserOrder.SortPagesAndCompsUserOrder turn a for loop into a while loop. Items can be deleted.<br />
* 0b7f1f3c0c LCL/TTrackbar: Avoid flickering in Windows 7 and older. {{LazIssue|40836}}.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* deb0488a Docs: Updates default content for locallclfooter.xml.<br />
* 59523ced Docs: Updates Linux build scripts for CHM and HTML.<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
* 1024edcb4d IDE: examples/helphtml. Updates the demo application with additional BaseURL values. Updates metadata.<br />
* b2dd59fad5 Docs: LCL/lazhelphtml. Adds, updates content in THTMLHelpDatabase and THTMLBrowserHelpViewer topics.<br />
<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158425Lazarus 3.0 fixes branch2024-03-12T09:46:58Z<p>JuhaManninen: /* Submitted by developer / committer and waiting for testing (do not commit yet) */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}.<br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* 36c308d1 TCustomTabControl: fix not firing OnChange after commit e5a63799. <br />
* db41ce26 TCustomTabControl: only call MaybeSelectFirstControlOnPage if APage is not nil. Remove duplicate checks.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, {{LazIssue|40823}}, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). {{LazIssue|40793}}, patch by Iluha Companets.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
* a6a98c4327 IdeIntf: In TCompPaletteUserOrder.SortPagesAndCompsUserOrder turn a for loop into a while loop. Items can be deleted.<br />
* 0b7f1f3c0c LCL/TTrackbar: Avoid flickering in Windows 7 and older. {{LazIssue|40836}}.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* deb0488a Docs: Updates default content for locallclfooter.xml.<br />
* 59523ced Docs: Updates Linux build scripts for CHM and HTML.<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
* 1024edcb4d IDE: examples/helphtml. Updates the demo application with additional BaseURL values. Updates metadata.<br />
* b2dd59fad5 Docs: LCL/lazhelphtml. Adds, updates content in THTMLHelpDatabase and THTMLBrowserHelpViewer topics.<br />
<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158424Lazarus 3.0 fixes branch2024-03-12T09:43:04Z<p>JuhaManninen: /* Internal Merge requests for 3.4 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}.<br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* 36c308d1 TCustomTabControl: fix not firing OnChange after commit e5a63799. <br />
* db41ce26 TCustomTabControl: only call MaybeSelectFirstControlOnPage if APage is not nil. Remove duplicate checks.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, issue #40823, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). Issue #40793, patch by Iluha Companets.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
* a6a98c4327 IdeIntf: In TCompPaletteUserOrder.SortPagesAndCompsUserOrder turn a for loop into a while loop. Items can be deleted.<br />
* 0b7f1f3c0c LCL/TTrackbar: Avoid flickering in Windows 7 and older. {{LazIssue|40836}}.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* deb0488a Docs: Updates default content for locallclfooter.xml.<br />
* 59523ced Docs: Updates Linux build scripts for CHM and HTML.<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
* 1024edcb4d IDE: examples/helphtml. Updates the demo application with additional BaseURL values. Updates metadata.<br />
* b2dd59fad5 Docs: LCL/lazhelphtml. Adds, updates content in THTMLHelpDatabase and THTMLBrowserHelpViewer topics.<br />
<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158384Lazarus 3.0 fixes branch2024-03-09T08:22:08Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, issue #40823, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). Issue #40793, patch by Iluha Companets.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
* a6a98c4327 IdeIntf: In TCompPaletteUserOrder.SortPagesAndCompsUserOrder turn a for loop into a while loop. Items can be deleted.<br />
<br />
=== Processed Merge requests ===<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158382Lazarus 3.0 fixes branch2024-03-08T20:50:50Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.4 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
* b70f3fdb LCL-Gtk2: make FillRect (winapi emulation) work even when current DC's brush is null, issue #40823, patch by Artem Izmaylov<br />
* dcaf7e6b LCL-GTK2: Prevent a SIGSEGV in function DeliverMouseUpMessage(). Issue #40793, patch by Iluha Companets.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
* a7b6815a8c IDE: Rename "ShoLineNum" to "ShowLineNum" in project settings. {{LazIssue|40827}}.<br />
<br />
=== Processed Merge requests ===<br />
<br />
== Fixes for 3.2 (merged) ==<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
* 51a6c3d25c Docs: LCL/maskedit. Adds and updates topics for changes in 0cbb6646, a09b37af<br />
* d0869438b5 Docs: LCL/maskedit. Updates FormatMaskText topic to clarify content.<br />
.<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158357Lazarus 3.0 fixes branch2024-03-07T10:48:18Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
* 79a6aff5c9 Codetools: Prevent an eternal loop in procedure ImproveStringConstantEnd.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158356Lazarus 3.0 fixes branch2024-03-06T08:14:40Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
* 12e9db2f31 TAChart: Avoid drawing no candlestick box when open and close prices in a TOpenHighLowCloseSeries are equal.<br />
* d0c036aa81 Codetools: Complete also a virtual/overridden method body with empty brackets. {{LazIssue|40799}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158346Lazarus 3.0 fixes branch2024-03-05T06:54:53Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}, {{LazIssue|40662}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158345Lazarus 3.0 fixes branch2024-03-05T06:53:20Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 7b596989e8 Turbopower_ipro: Fix anchor position calculation, {{LazIssue|40480}}.<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158344Lazarus 3.0 fixes branch2024-03-04T13:47:10Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
* 1ee8c6edb1 TAChart/RadialSeries: Fix crash due to empty AngleCache (see https://forum.lazarus.freepascal.org/index.php/topic,66470.msg509501.html)<br />
* cb087dd6e5 IDE: Prevent a list index out of bounds error in Messages window. {{LazIssue|40798}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158341Lazarus 3.0 fixes branch2024-03-03T14:05:06Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
* 57bb5a13 Win32: make ListView columns not-clickable if ColumnClick is False. {{LazIssue|40787}}.<br />
* e5a63799 TCustomTabControl: activate first control on page after page changed. {{LazIssue|40775}}. <br />
* f3aa0586 TCustomTabControl: don't steal foucus in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}. <br />
* 5e54b2f9 TCustomTabControl: don't check for parent in call to FindNextControl in ActivateFirstControlOnPage. Part of issue {{LazIssue|40775}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
* 8279463be3 Docs: Updates default content for locallclfooter.xml.<br />
* 997dff1022 Docs: Updates Linux build scripts for CHM and HTML.<br />
* e253e8cfb4 IDE: Support uppercase '.LPI' and '.LPR' files better. {{LazIssue|40708}}.<br />
* 5e2a753239 LazUtils: Make sure CompareText comes from SysUtils. {{LazIssue|40814}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_4.0_release_notes&diff=158316Lazarus 4.0 release notes2024-02-28T09:30:17Z<p>JuhaManninen: /* IDE Changes */</p>
<hr />
<div>'''Lazarus 4.0 is not yet released. This page is under construction!'''<br />
<br />
== LCL Interfaces Changes ==<br />
<br />
== LCL Changes ==<br />
=== TTaskDialog ===<br />
==== Support for Queries ====<br />
* Because the unit LCLTaskDialog has been deprecated, the query capabilities of LCLTaskDialog.TTaskDialog have been added to Dialogs.TTaskDialog, albeit with a slightly different implementation.<br />
** New flag tfQuery: adds a query (in the form of a combobox) to the dialog.<br />
*** New property QueryChoices (TStrings): sets the predefined answers.<br />
*** New property QueryItemIndex: sets the ItemIndex of the combobox and holds said ItemIndex when the dialog is closed.<br />
*** New flag tfQueryFixedChoices: control whether or not the user can add his/hers own text to the combobox.<br />
*** New property QueryResult: holds the text of the choice made when the dialog closes.<br />
** New flag tfSimpleQuery: adds a single line Edit to the dialog. Note: this flag is mutually exclusive with the tfQuery flag.<br />
*** New property SimpleQuery: sets the initial text of the Edit. <br />
*** New property SimpleQueryPassWordChar: sets PassWordChar of the single line query editor.<br />
*** Property QueryResult holds the text of the Edit when the dialog closes.<br />
<br />
==== New events ====<br />
The following (most of them Delphi compatible) events were implemented:<br />
* OnDialogConstructed<br />
* OnDialogCreated<br />
* OnDialogDestroyed<br />
* OnVerificationClicked. This also updates the Flags property to reflect the current state of the verification checkbox.<br />
* OnExpanded. The associated new property Expanded only has meaning in the context of this event.<br />
* OnTimer<br />
* OnRadioButtonClicked<br />
* OnHyperlinkClicked (Windows Vista+ native dialog only). The associated new property URL only has meaning in the context of this event.<br />
* OnNavigated (Windows Vista+ native dialog only). This event only fires if the dialog has pages (see: [https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.taskdialogpage.navigate?view=windowsdesktop-7.0 MS docs]). Pages are not implemented in TTaskDialog, but they might be implemented in a derived class. The event handler must however be in the base class for Delphi compatibility.<br />
* OnHelp. Does not exist in Delphi (even though Delphi does have a protected method DoOnHelp). Triggers when user presses F1 when the dialog is open.<br />
<br />
==== New properties ====<br />
* CollapseButtonCaption: controls the caption of the Expand/Collapse button when the dialog is in expanded state.<br />
* CustomMainIcon and CustomFooterIcon: icons to be displayed in the dialog (instead of the standard icons) when the flags tfUseHIconMain and tfUseHIconFooter are used.<br />
* ProgressBar: the progressbar on the dialog. You can set it's properties Position, Min, Max, MarqueeSpeed (native Vista+ only) and State (native Vista+ only). When the dialog is shown, you can send messages (e.g. in OnDialogXXX events) to alter these properties.<br />
<br />
==== Support for messages ====<br />
* Support for sending messages (via SendMessage) to the dialog has been added to the emulated dialog. This allows a.o. to enable/disable (radio)buttons, click (radio)buttons and update captions (Title, Text, FooterText and ExpandedText)<br />
<br />
=== TCalendarDialog ===<br />
* Added <tt>FirstDayOfWeek</tt> as a new publishced property since it has been present in <tt>TCalendar</tt> but could not be accessed easily.<br />
<br />
=== TShape ===<br />
* New public method <tt>function PtInShape(const P: TPoint): Boolean</tt> to determine whether the specified point P lies within the shape boundaries.<br />
* New event <tt>OnShapeClick</tt> firing when a click on the control occurs within the shape boundaries<br />
* The control can be selected in the form designer only by clicking somewhere within the shape. Clicking on controls covered by the TShape can still be selected when the click is outside the shape boundary.<br />
* New event <tt>OnShapePoints</tt>, together with the new <tt>TShapeType</tt> element <tt>tsPolygon</tt>, gives the user the opportunity to define an arbitrary polygon for the component.<br />
<br />
=== TLabeledEdit ===<br />
* The published <tt>EditLabel.Layout</tt> property could not be changed due to anchoring. The anchor was removed, and <tt>EditLabel.Layout</tt> now can be adjusted when the label is at the left or right side of the edit.<br />
* New property <tt>EditLabel.Alignment</tt> to adjust horizontal position of the label when it is above or below the edit.<br />
<br />
=== TTimeEdit ===<br />
* New properties <tt>TimeFormat</tt> and <tt>TimeSeparator</tt> for more flexible formatting of the time output.<br />
<br />
== IDE Changes ==<br />
<br />
=== Compiler Options ===<br />
<br />
* Added project compiler option for [[FPC_Subtarget_Support|SubTarget]].<br />
* Added compiler option '''Write config instead of command line parameters (@)'''. [[IDE_Window:_Compiler_Options#Config_and_Target|See here]]. Useful for passing large amount of paths to the compiler or an easier way to use the Lazarus options in your build scripts.<br />
* Added predefined variable '''Laz_FullVersion''' to conditionals. [[Macros_and_Conditionals#Adding_a_define_depending_on_Lazarus_version|See here]]. Useful to define Lazarus version dependent command line parameters.<br />
* Wildcards * and ** in search paths. [[IDE_Window:_Project_Options#Paths|See here]].<br />
<br />
=== Editor ===<br />
<br />
* Added elastic tabs<br />
* Pas-Highlighter: added color for Proc/Var modifiers<br />
<br />
=== Debugger ===<br />
<br />
* Alt + Left-Mouse Gutter click / Ctrl-Alt-F5: Add breakpoint (if not yet set) and ,pen properties of breakpoint.<br />
* Color config for assembler window<br />
* Breakpoint window can group breakpoints by "group". Change group by drag and drop<br />
* Run Param (Windows only): Allow to specify the default pos/size for console/gui window. https://wiki.freepascal.org/IDE_Window:_Run_parameters#Default_Window.2FConsole_position_and_size<br />
* "Debug visualizers" / Value-Formatter<br />
<br />
=== Sample EditMask files in property editor for TMaskEdit.EditMask ===<br />
<br />
* If you load a sample EditMask file in the property editor, the IDE now reloads this file when you invoke the property editor again<br />
* You can unload a sample file if you don't want to have it loaded anymore.<br />
* The property editor supports Delphi sample files (*.dem) as well as Lazarus sample files (*.lem), the latter having a more relaxed syntax.<br />
* Lines in a sample file which do not properly represent a sample editmask are ignored.<br />
* For the time being, Lazarus does '''not''' distribute sample editmask files, mostly because of possible copyrigth issues.<br />
<br />
=== Templates ===<br />
These are the templates you get by a default shortcut Ctrl-J in the editor.<br />
* File containing default templates "lazarus_dci_file.dci" was renamed to "codetemplates.dci".<br />
* The class TSynAutoComplete (actually TCustomSynAutoComplete) interface was changed to support ordering the list of templates properly. This class is probably used only for the Ctrl-J templates and not for any user code. If it is used somewhere, then the code must be adjusted.<br />
<br />
== IDE Interface Changes ==<br />
<br />
== Components ==<br />
===TAChart===<br />
* '''TBubbleSeries''': New <tt>BubbleSizeUnits</tt> options <tt>bruPercentageRadius</tt> and <tt>bruPercentageArea</tt> - the bubble size values are interpreted as bubble radius or bubble area. The bubble radius then is drawn as a percentage of the plot area size where the largest bubble corresponds to <tt>BubbleRadiusPercentage</tt>.<br />
* '''TChartSeries''': New event '''OnGetMarkText''', similar to '''OnGetMark''', but with additional parameters (series, y index and x index of the data point) for specifying individual data point labels in multi-values series. '''OnGetMark''' has been deprecated and will be removed when v5.0 is released<br />
* '''TLineSeries''': New <tt>LineType</tt>s <tt>ltStepCenterXY</tt> and <tt>ltStepCenterYX</tt>, available in LibreOffice Calc.<br />
* '''TPieSeries''', '''TBubbleSeries, '''TBarSeries''' allow controlling all brush and pen parameters of individual data points by means of the '''Styles''' property.<br />
* Chart sources can provide '''multi-level data-point labels''' separated by the '''LabelSeparator'''.<br />
<br />
== Changes affecting compatibility ==<br />
<br />
===LCL incompatibility===<br />
==== TTaskDialog ====<br />
* The implementation of TTaskDialog has been refactored.<br />
** Widgetset specific implementation has been moved to the widgetset.<br />
** The emulated taskdialog has been moved to a new unit: TaskDlgEmulation.<br />
** The unit LCLTaskDialog has been deprecated.<br />
** Remedy: if you use TTaskDialog from (now deprecated) unit LCLTaskDialog, use TTaskDialog from Dialogs unit instead.<br />
* Execute() now passes the handle of the active form instead of 0.<br />
** Reason: it makes Execute() honour the tfRelativeToWindow flag.<br />
** Remedy: if your code relied on passing 0 as the ParentWind parameter use Execute(0) instead.<br />
* The occurrence of '\n' in e.g. captions is no longer converted to a LineFeed.<br />
** Reasons: <br />
*** Wrong results if the capion of a (radio)button is set to e.g. 'Save in "c:\new_folder\new.work"'<br />
*** You can have a LineFeed (#10) inside a Pascal string.<br />
** See also {{LazIssue|38676}}.<br />
** Remedy: use LineFeed character in captions where applicable.<br />
<br />
==== TShellTreeView, TShellListView ====<br />
* The <tt>ReadOnly</tt> property of these controls has been changed to be <tt>true</tt> by default.<br />
** Reason: These controls, by default, do not propagate changes of their item/node captions to the file system. The old behaviour was confusing because the user was able to rename an item/node but had to notice that the change was not persistent without additional code.<br />
** Remedy: Applications using the shell controls only for selecting files and folders are not affected. In "file-manager" application types, however, the <tt>ReadOnly</tt> property must be changed explicitely to <tt>false</tt> so that the user can edit items/nodes again.<br />
<br />
===Components incompatibility===<br />
====TAChart====<br />
* Utility functions '''PointDist''' and '''PointLineDist''' have been marked as being '''deprecated''' and replaced by '''PointDistSq''' and '''PointLineDistSq''' since they return the square of the distance rather than the distance itself.<br />
<br />
== Other release notes ==<br />
<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Release Notes]]<br />
[[Category:Lazarus]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158276Lazarus 3.0 fixes branch2024-02-26T09:06:44Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
* 8e1fc0cf60 IDE: Fix component palette configuration when a component is installed or uninstalled after the user configuration.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158269Lazarus 3.0 fixes branch2024-02-23T23:14:33Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 88827aa9 Win32: fix TListView losing focus after EndUpdate. {{LazIssue|40786}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
* 6c9fa22be3 IDE: Inform a user earlier that renaming a unit is not possible through "Rename identifier" feature. {{LazIssue|40744}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158267Lazarus 3.0 fixes branch2024-02-22T21:55:27Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
* 280ada98b2 Codetools: Prevent a crash in FindIdentififerReference on name of a program. {{LazIssue|40753}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158266Lazarus 3.0 fixes branch2024-02-22T21:08:34Z<p>JuhaManninen: /* Internal Merge requests for 3.2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 9ad00fb5a7 IDE: Fix saving a program with a dotted name. {{LazIssue|40760}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
* a3ba11e5 T(Float)SpinEditEx: In InitializeWnd set Text to represent FValue, otherwise NullValueBehaviour will be applied in call to UpdateControl.<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158253Lazarus 3.0 fixes branch2024-02-21T15:37:16Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 310abc69 MaskEdit property editor: adapt for EnableSets.<br />
* 30bf64e0 IDEIntf: improved Input Mask Editor dialog i18n<br />
* 554ea7eb MaskEdit property editor: refactor loading EditMask Sample files and displaying them in he listbox.<br />
* 7cc9a03e IDEIntf: improved Input Mask Sample open dialog dialog i18n<br />
* daacf0bf MaskEdit property editor: fix taborder after commit 310abc69. Patch by Don Siders (slightly modified).<br />
* c819e0ed MaskEdit property editor: fix issue {{LazIssue|40696}}.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 5168d97f T(Float)SpinEditEx: fix setting (initial) value if NullValueBehaviour = nvbShowTextHint.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
* 7b6e360bce aggpas: Prevent potential overflow error. {{LazIssue|40765}}.<br />
* 9e3e23a440 TAChart: Fix axis click tool sometimes detecting wrong axis part.<br />
* 0642c65d04 TAChart: Add demo for AxisClickTool<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158232Lazarus 3.0 fixes branch2024-02-12T18:19:49Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 310abc69 MaskEdit property editor: adapt for EnableSets.<br />
* 30bf64e0 IDEIntf: improved Input Mask Editor dialog i18n<br />
* 554ea7eb MaskEdit property editor: refactor loading EditMask Sample files and displaying them in he listbox.<br />
* 7cc9a03e IDEIntf: improved Input Mask Sample open dialog dialog i18n<br />
* daacf0bf MaskEdit property editor: fix taborder after commit 310abc69. Patch by Don Siders (slightly modified).<br />
* c819e0ed MaskEdit property editor: fix issue {{LazIssue|40696}}.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* aecb1d9473 LHelp: Remove UTF8CompareLatinTextFast calls.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
* 08c0f4865d SynEdit, FpDebug, LazUtils, IdeIntf: Remove UTF8CompareLatinTextFast calls.<br />
* c285b58aa3 LCL: Remove UTF8CompareLatinTextFast calls.<br />
* 99de97a21c IDE: Remove UTF8CompareLatinTextFast calls.<br />
* 890f92e33e LazUtils: Deprecate UTF8CompareLatinTextFast. Implement TStringListUTF8Fast differently.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158223Lazarus 3.0 fixes branch2024-02-09T19:31:10Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* d538fbd4 LCL-Gtk2: fixed window move/resize issues with Fly/Openbox window managers, patch by Artem Izmaylov, issue #40752<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 310abc69 MaskEdit property editor: adapt for EnableSets.<br />
* 30bf64e0 IDEIntf: improved Input Mask Editor dialog i18n<br />
* 554ea7eb MaskEdit property editor: refactor loading EditMask Sample files and displaying them in he listbox.<br />
* 7cc9a03e IDEIntf: improved Input Mask Sample open dialog dialog i18n<br />
* daacf0bf MaskEdit property editor: fix taborder after commit 310abc69. Patch by Don Siders (slightly modified).<br />
* c819e0ed MaskEdit property editor: fix issue {{LazIssue|40696}}.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
* 366c2feca3 Docs: LCL/controls. Adds the TControlBorderSpacing.GetOwner topic for changes in 1e544fb5. Issue #40746.<br />
* eb80a21f08 Docs: LCL/forms. Updates TScreen.Fonts topic for changes in db95c28d.<br />
* cd3f347249 Docs: LCL/grids. Updates TCustomStringGrid.DoCompareCells topic for changes in c285b58a.<br />
* ae8d65596e Docs: LCL/valedit. Updates external references for changes in c285b58a.<br />
* 334ee8144b Docs: LCL/lazhelpintf. Updates external references and adds missing topics for changes in c285b58a.<br />
* 59d8129fc5 Docs: LazUtils/lazfileutils. Updates CompareFileExt topic for changes in 08c0f486.<br />
* bcabdb039c Docs: LazUtils/lazutf8. Deprecates UTF8CompareLatinTextFast and UTF8CompareStrCollated topics for changes in 890f92e33e.<br />
// The following 4 optimize and speed up LHelp :<br />
* db95c28df7 LCL: Optimize getting a list of font names and eliminating duplicates in TScreen.<br />
* 4a639e70c5 TurboPower_ipro: Remove useless code from TIpHtmlParser.ParseHead.<br />
* c9e4a59c62 TurboPower_ipro: Optimize function FindFontName. Remember previous values.<br />
* bc201de1ed TurboPower_ipro: Optimize 'px' in TIpHtmlNodeCore.GetFontSizeFromCSS. Fix possibly missing Result in function CssMarginToProps.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158200Lazarus 3.0 fixes branch2024-02-04T12:03:12Z<p>JuhaManninen: /* Internal Merge requests for 3.2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
* b48d102c MaskEdit: publish properties EnableSets, ValidationErrorMode and OnValidationError.<br />
* a1f45d10 IDEIntf: property-editor for TMaskEdit: set minimal width for samples listbox.<br />
* a09b37af MaskEdit: adapt FormatMaskText for EnableSets.<br />
* 310abc69 MaskEdit property editor: adapt for EnableSets.<br />
* 30bf64e0 IDEIntf: improved Input Mask Editor dialog i18n<br />
* 554ea7eb MaskEdit property editor: refactor loading EditMask Sample files and displaying them in he listbox.<br />
* 7cc9a03e IDEIntf: improved Input Mask Sample open dialog dialog i18n<br />
* daacf0bf MaskEdit property editor: fix taborder after commit 310abc69. Patch by Don Siders (slightly modified).<br />
* c819e0ed MaskEdit property editor: fix issue {{LazIssue|40696}}.<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158180Lazarus 3.0 fixes branch2024-02-03T09:51:07Z<p>JuhaManninen: /* Submitted by developer / committer and waiting for testing (do not commit yet) */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 1e544fb5 Designer: Repaint after changing "BorderSpacing" in AnchorEditor or in OI. {{LazIssue|40746}}<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
* 59aff202 TAChart: Fix function IncQuarter calculation error for negative NumberOfQuarters.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158175Lazarus 3.0 fixes branch2024-01-31T08:22:21Z<p>JuhaManninen: /* Internal Merge requests for 3.2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
* eb5db964 LCL/ShellCtrls: Improve TShellTreeView.UpdateView when a folder has been created in an empty folder.<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158159Lazarus 3.0 fixes branch2024-01-28T18:17:57Z<p>JuhaManninen: /* Submitted by developer / committer and waiting for testing (do not commit yet) */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158158Lazarus 3.0 fixes branch2024-01-28T18:17:39Z<p>JuhaManninen: /* Submitted by developer / committer and waiting for testing (do not commit yet) */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}}).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158157Lazarus 3.0 fixes branch2024-01-28T18:16:58Z<p>JuhaManninen: /* Open Merge requests */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
* 55a3ce52 Issues.xml: TListView.OnChanging not supported (cocoa,gtk2,gtk3,qt,qt4,qt5,qt6. the other WS don't have an issue.xml, or are deprecated).<br />
* e8132d72 Cocoa: Fix {{LazIssue|19169}}, TCustomListView.OnChanging()<br />
* a4ab5f4a Cocoa: adapt issues.xml after commit e8132d72 ({{LazIssue|19169}}).<br />
* 68a45955 IDE: Remove an extra (F9) from the hint of a Run-button. Remove a wrong hint from ProjInspector's Options button. {{LazIssue|40732}).<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158051Lazarus 3.0 fixes branch2024-01-13T15:26:04Z<p>JuhaManninen: /* Internal Merge requests for 3.2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e916d8bc LCL-GTK2: Fix tooltip positioning for auto-completion droplist. Issue #40659, patch by Alexander Bagel.<br />
* 76bbc6e2 Implement TListView.OnChanging (Win32). Part of {{LazIssue|19169}}<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 148b2d23f4 LazUtils: Resolve '/somedir/..' correctly in ResolveDots. Add tests. {{LazIssue|40678}}<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158007Lazarus 3.0 fixes branch2024-01-03T16:23:32Z<p>JuhaManninen: /* Internal Merge requests for 3.2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=158001Lazarus 3.0 fixes branch2024-01-01T17:23:24Z<p>JuhaManninen: /* Processed Merge requests */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
* e2c8facc LCL-Gtk2: Ignore temporary windows (like dragging image) when selecting a target during Drag'n'Drop action. Patch by Alexander (Rouse_) Bagel, issue #40637.<br />
* 4f7e9aee LCL-Gtk2: fixed cursor changing when performing a dragging action, patch from Alexander (Rouse_) Bagel, issue #40651<br />
* 1783ee35 LCL-Gtk2: fixed handling of dragging image coordinates when it is dragged to non-client widget area, patch by Alexander (Rouse_) Bagel, issue #40658<br />
* 75d9f32660 IDE: Show "Find in Files" dialog also from the package editor. {{LazIssue|40673}}<br />
<br />
== Fixes for 3.0 (merged) ==<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 68acca089e Docs: LCL/shellctrls. Adds TCustomShellTreeView.GetFilesInDir topic and updates references to renamed helper routine for changes in ef8b5603be.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (N/A)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (Done 21 December 2023)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157825Lazarus 3.0 fixes branch2023-12-03T16:05:05Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
* 425372ee74 LCL-GTK2: Make TrayIcon more configurable based on libraries and features provided by a distro. {{LazIssue|40629}}<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157821Lazarus 3.0 fixes branch2023-12-02T13:03:07Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* ef8b5603be LCL: Restore a class procedure TCustomShellTreeView.GetFilesInDir. Rename a helper procedure to avoid name clash.<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157807Lazarus 3.0 fixes branch2023-11-26T18:08:33Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC3 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 764415b6a0 LCL, LazControls: FilterEdit cleanup. {{LazIssue|40601}}.<br />
* 3692c658ae LCL, LazControls: Fix order of calling OnKeyDown in FilterEdit controls. {{LazIssue|40601}}.<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157751Lazarus 3.0 fixes branch2023-11-24T11:24:51Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* ca7c0d686b,db64a6240d IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157750Lazarus 3.0 fixes branch2023-11-24T10:54:07Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC3 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* ca7c0d686b IDE: Save the size of Run / "Compile many modes" dialog. {{LazIssue|35245}}.<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157735Lazarus 3.0 fixes branch2023-11-21T05:03:39Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 97c3ff8515 DateTimeCtrlsDsgn: Move uses sections from implementation to interface.<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157724Lazarus 3.0 fixes branch2023-11-18T09:22:21Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. {{LazIssue|40600}}.<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157723Lazarus 3.0 fixes branch2023-11-18T09:21:43Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC3 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
* b64bba34 LCL-Win32: Do not change window Z-order when minimizing and then restoring IDE with opened form designers. Patch by Red_prig (Pavel), issue #40576.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 048f337a LResources: remove support for the DisableWindowsUnicodeSupport define (as we've done before in LCL).<br />
* 5b65498e LResources: deprecate TUtf8Parser class. It's not needed anymore.<br />
* e50ab381b1 IDE: Allow configuring Toolbars in IDE CoolBar also when "Coolbar is visible" is unchecked. Issue #40600<br />
<br />
=== Processed Merge requests ===<br />
* 54e9cc91 TCustomAbstractGroupedEdit: assign PopupMenu also to FBuddy (if this does not have a separate PopupMenu by itself). Resolves part of {{LazIssue|38098}}.<br />
<br />
== Fixes for 3.0RC2 (merged) ==<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
* f26bc899 Win32: TListBoxOnSelectionChange is fired whenever the user clicks the item, regardless of it's previous state. {{LazIssue|33618}}.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0RC1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC2 (Done 16 October 2023)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0RC3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* set version in fixes_3_0 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/packages/ideconfig/version.inc 3.0RC2 for RC2, no spaces! (3.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 3.0.0.1 for RC2, 3.0.0.2 for RC2, ... 3.0.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "3.0.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 3.0RC2'<br />
* git push origin<br />
* Tag fixes_3_0 branch in gitlab to lazarus_3_0_RC2 (or lazarus_3_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_3_0<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157305Lazarus 3.0 fixes branch2023-09-12T07:31:31Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
*c609605cfa, debaca4729 In Install/Uninstall package dlg, do not enable "Save and rebuild" and "Save and exit" buttons when filtering.<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_release_notes&diff=157233Lazarus 3.0 release notes2023-09-03T07:49:37Z<p>JuhaManninen: /* IDE Options */</p>
<hr />
<div><br />
== LCL Interfaces Changes ==<br />
<br />
=== Cocoa ===<br />
* IME fully supported, such as Chinese/Japanese/Korean, DeadKeys, Emoji & Symbols.<br />
* Cursor has been completely refactored, compatible with MacOS Ventura.<br />
* Docking fully supported, including the IDE.<br />
<br />
=== Qt5 ===<br />
* Qt5 uses native event loop on all platforms. C bindings are updated. Minimum C bindings version for lazarus 3.0 is 1.2.15.<br />
* Note that most Linux Distributions will not have an appropriate libqt5pas library until their next release after the formal release of Lazarus 3.0. Build your own from the Lazarus source tree or download from https://github.com/davidbannon/libqt5pas/releases/latest<br />
<br />
=== Qt6 ===<br />
* Qt6 widgetset implemented. C bindings are based on Qt6 6.2.0 LTS. Minimum C bindings version for lazarus 3.0 is 6.2.7.<br />
* Note that most Linux Distributions will not have an appropriate libqt6pas library until their next release after the formal release of Lazarus 3.0. Build your own from the Lazarus source tree or download from https://github.com/davidbannon/libqt6pas/releases/latest<br />
<br />
=== Gtk3 ===<br />
* Gtk3 pascal bindings are completely reworked.<br />
* A number of stability improvements.<br />
<br />
== LCL Changes ==<br />
=== TCustomImageList ===<br />
TCustomImageList made more extensible:<br />
# Protected MarkAsChanged method is added, which sets FChanged to true (this allows to make custom triggers for OnChange event).<br />
# Virtual protected DoAfterUpdateStarted and DoBeforeUpdateEnded methods are added. They are called in first BeginUpdate and last EndUpdate respectively.<br />
<br />
=== TTaskDialog ===<br />
*Old behaviour Win32: A placeholder icon was used for FooterIcon = tdiNone and MainIcon = tdiNone.<br />
*New behaviour Win32: No icon is used for FooterIcon = tdiNone and MainIcon = tdiNone.<br />
*Reason: Removing drawing glitch. The text move over to allow more content and better alignment. See {{MantisLink|39172}}<br />
<br />
=== TSpeedButton ===<br />
*Old behaviour: Multi-line captions could only be entered by code. And multi-line captions were always left-aligned.<br />
*New behaviour: Multi-line captions can also be entered in the object inspector. New property Alignment to specify whether the caption should be left-/right-aligned or centered. Default: centered, like in Delphi.<br />
*Reason: Better usability.<br />
<br />
=== TLabel.Transparent, .Color and .ParentColor changes ===<br />
*Old behaviour: Transparent property was bound to Color=clNone<br />
*New behaviour: Transparent is a standalone property<br />
*Reason: Delphi compatibility and to fix ParentColor issues.<br />
*Remedy: If you are setting the Color property, Transparent is not automatically switched from True to False now, you have to do it yourself. This is in compliance with Delphi and also solves problems with Color/ParentColor changes.<br />
<br />
=== TPanel.VerticalAlignment ===<br />
*Old behaviour: The panel caption was always centered vertically.<br />
*New behaviour: The new property VerticalAlignment (taAlignTop, taAlignBottom, taVerticalCenter) allows to place the caption also at the top or bottom of the panel interior.<br />
*Reason: Delphi compatibility and better usability<br />
<br />
=== TCalendar ===<br />
* Properties MinDate and MaxDate are implemented. These limits are only imposed if MaxDate > MinDate. Unfortunately GTK2/3 widgetsets do not support this, so selecting a date outside the MinDate/MaxDate range will still be possible there.<br />
<br />
=== TCheckbox, TRadioButton ===<br />
*Different calculation of checkbox/radiobutton size in order to correctly take care of Win-10 "ease of access" feature. See {{MantisLink|39398}}<br />
*Consequence: lfm files will contain different sizes of these controls (if auto-sized) compared with earlier versions.<br />
<br />
=== Grids ===<br />
* You can now set the cell editors properties ParentColor and ParentFont by including goEditorParentColor resp. goEditorParentFont in the grid's Options2 property.<br />
<br />
=== TShellTreeView ===<br />
* New property <tt>ExpandCollapseMode</tt> defining options whether a collapsing node should clear its child nodes.<br />
* Implements custom sorting of the treeview items by setting <tt>FileSortType</tt> to <tt>fstCustom</tt> and providing a custom compare function in the event <tt>OnSortCompare</tt>.<br />
<br />
=== TShellListView ===<br />
* TShellListView now subclasses TListItem, so it can store file info in it. <br />
* If you use OnCreateItemClass to create your own descendant of TListItem, it may be advisable to base your own class on TShellListItem instead of on TListItem. This way you will also have access to the TShellListItem's FileInfo property.<br />
<br />
=== TTreeView ===<br />
* Adds ShowSeparators as a published property like ShowLines and ShowRoot.<br />
<br />
== IDE Changes ==<br />
=== Character map ===<br />
* Resizable characters to improve readability.<br />
* The character map was split off from the IDE and moved to separate packages. The designtime package is installed by default so that there is no difference in the IDE. Now users can access it in their own applications after adding the runtime package "charactermappkg.lpk" to the project requirements.<br />
<br />
=== Debugger ===<br />
<br />
==== Project Options ====<br />
<br />
* "Run(F9)" can either be "Debug" or "Run without debug".<br />
: In newly created Debug/Release modes, the Release mode will no longer invoke the debugger by default.<br />
: Existing Debug/Release modes must be edited, to enable this.<br />
* Per project "Debugger backend" settings. In addition to choosing a specific backend from the global IDE settings, a backend can be configured just for the project (i.e. special gdb-server settings)<br />
<br />
==== IDE Dialogs ====<br />
<br />
* Improved <u>Watches window</u><br />
** Expand/Unfold for classes, records, etc<br />
** Expand/Unfold with paged browser for arrays<br />
** Drag and Drop to reorder watches<br />
** Drag and Drop to create new "top level" watches from nested entries (in expand/unfolded lists)<br />
** Address column for types with internal pointer (classes, long-string, dyn-array, (real) pointer)<br />
* Improved <u>Locals window</u><br />
** Expand/Unfold for classes, records, etc<br />
** Expand/Unfold with paged browser for arrays<br />
** Address column for types with internal pointer (classes, long-string, dyn-array, (real) pointer)<br />
** Power button<br />
* Improved <u>Inspect window</u><br />
** Fixed: Updating value when context changes<br />
** Added options for Function calling / and "Converter" (See FpDebug: SysVarToLstr)<br />
** Added filter to search for text in name or value.<br />
** Added ctrl-Up/Down/Page-Up/Page-Down to navigate the grid.<br/>Alt-Left/Right for history. And ctrl-Enter to select.<br />
* Improved <u>Evaluate/Modify window</u><br />
** New Layout<br />
** Added DisplayFormat<br />
** Added options for Function calling / and "Converter" (See FpDebug: SysVarToLstr)<br />
* Improved <u>Assembler window</u><br />
** Added history navigation (forward/backward)<br />
** For FpDebug: added annotations to jump/call targets, and allow to ctrl-click to disassemble target address<br />
<br />
==== FpDebug / LazDebuggerFp ====<br />
<br />
* Improved "function calling" in watch eval. See [[FpDebug-Watches-FunctionEval]]<br />
* %RAX Accessing cpu registers in watch expression (only full registers, not yet AH or AL or EAX on 64bit) <br />
* Intrinsic functions: [[FpDebug-Watches-Intrinsic-Functions]]<br />
* Intrinsic/extended operators: MyArray[1..3] array slice with operator mapping. [[FpDebug-Watches-Intrinsic-Functions#Intrinsic_Operators]]<br />
* Option to detect "variant" and call "SysVarToLStr" in the target app.<br />
* Suspend/Resume individual threads (must be done while app is paused, and will be applied for subsequent step/run)<br />
* Partial improvements to debug in DLL: https://wiki.freepascal.org/Debugger_Status#Other<br />
* Disassembler now annotates lines for call/jmp/jne/... with info on the target address (function name, file, line)<br />
* F7/F8 Step-Into/Over can now be used to start the debugger and run to the first line of the main program begin/end.<br />
<br />
==== LazDebuggerFpLldb (default on MacOS) ====<br />
<br />
* Added Mem-Limits (and String,Pchar,Array) to the debugger config<br />
: See https://wiki.freepascal.org/LazDebuggerFp (MaxMemReadSize, MaxStringLen, MaxArrayLen, MaxNullStringSearchLen)<br />
: Limiting the default results for watches/locals/stack-params,... can prevent slow evaluation.<br />
: Arrays can then be browsed in the watches window, using the new "paged browser for arrays" (expand via [+])<br />
<br />
=== Floating point properties in the Object Inspector ===<br />
* The Object Inspector now explicitely disallows to set a floating point property's value to +/-Inf or NaN.<br />
* Reason: whilst +/-Inf and NaN are valid values for a floating point property, they cannot be streamed (so, the form could not be loaded) and setting it to NaN caused havoc in the IDE.<br />
* Remedy: set the value at runtime (in code)<br />
<br />
=== Reading unit names in lfm ===<br />
<br />
FPC 3.3.1 component writer supports optionally writing types with their unit names as ''unitname/type''. Lazarus can now read this.<br />
<br />
=== Ambiguous Classtypes ===<br />
<br />
You can now register two component classes with the same name, e.g. ''fresnel.TButton'' and ''StdCtrls.TButton''. You can even put both on the same form.<br />
<br />
=== Editor ===<br />
<br />
- Highlight for PasDoc<br />
<br />
=== IDE Options ===<br />
<br />
In Tools -> Options -> Environment -> Window page these three settings are now <b>ON</b> by default :<br />
* IDE title starts with project name<br />
* IDE title shows project directory<br />
* IDE title shows selected build mode<br />
It has been requested by many users. If the IDE's title bar has no info about the active project, a user must open Project Inspector or Project Options to see it, which is inconvenient.<br />
<br />
== IDE Interface Changes ==<br />
<br />
== Components ==<br />
=== TAChart ===<br />
* The '''TLegendClickTools''' now is able to detect clicks on series legend items and reports the clicked series in the new '''OnSeriesClick''' event.<br />
* New '''TDatapointMarksClickTool''' which becomes active when the user clicked on the marks of a series.<br />
* New property '''TickWidth''' for the chart axes.<br />
* New property '''FullWidth''' for the chart title and footer to run their background across the entire chart width.<br />
* New property '''RandomColors''' for <tt>TRandomChartSource</tt>.<br />
* New properties '''YIndexWhiskerMin''', '''YIndexBarMin''', '''YIndexCenter''', '''YIndexBarMax''', '''YIndexWhiskerMax''', and '''YDataLayout''' in TBoxAndWhiskerSeries for more flexible assignment of y values to the parts of the box/whisher shape.<br />
* New option '''aipInteger''' in the set TAxisIntervalParamOptions which sets axis labels only at integer values and thus supresses the unwanted intermediate labels in bar charts and helps to enforce labels in logarithmic plots at the powers of the logarithmic base (usually 10).<br />
* New event '''OnAddStyleToLegend''' for TChartStyles. It has a boolean parameter <tt>AddToLegend</tt> with which you can determine whether the series level using this style is displayed in the legend.<br />
<br />
=== TDateTimePicker ===<br />
* New properties MonthDisplay and CustomMonthNames. They are meant to replace the MonthNames property, which has been deprecated.<br />
* New property DecimalSeparator. Allows a user-specified value to be used instead of a hard-coded Colon character.<br />
<br />
=== TDBDateTimePicker ===<br />
* Adds Options as a published property.<br />
* Publishes the DecimalSeparator property.<br />
* Publishes the missing Alignment property. Consistent with TDateTimePicker,<br />
<br />
=== T(Float)SpinEditEx ===<br />
* New property '''Orientation''' which allows to arrange the spin buttons horizontally.<br />
<br />
=== TCheckListBox ===<br />
* Adds HeaderColor and HeaderBackgroundColor properties. Used on list items where the Header property is enabled. Implemented for the Win32 widget set.<br />
<br />
=== Pas2js ===<br />
* lazbuild now can compile pas2js projects by passing the environment variable PAS2JS with the path of the pas2js executable.<br />
* Project groups with pas2js projects now can compile without being opened.<br />
* New project type [[lazarus_pas2js_integration#Progressive_Web_Application|Progressive Web Application]]<br />
* New project type [[lazarus_pas2js_integration#Electron_Web_Application|Electron Web Application]]<br />
* pas2jsdsgn now uses the SimpleWebServerGUI package, replacing its own http server controller.<br />
* F9, Run now builds, starts a HTTP server and a browser<br />
<br />
=== Lazarus Icon Collection ===<br />
* Not a component, but the Lazarus installation now contains a folder with general-purpose icons for usage in toolbars, menus, buttons etc. of any GUI applications (folder ''images/general_purpose'').<br />
* The images come in various sizes and thus are compatible with the scaled image list of Lazarus v2.0+.<br />
* Author: Roland Hahn (https://www.rhsoft.de/).<br />
* License: Creative Commons CC0 (no restrictions in usage).<br />
<br />
=== gir2pascal ===<br />
<br />
* Sources of [[gir2pascal]] (a tool to convert [https://gi.readthedocs.io/ GObject Introspection] descriptions to Pascal files) are now included in Lazarus source tree ([https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/tools/gir2pascal tools/gir2pascal] directory) and maintained there.<br />
<br />
=== lazdelphi ===<br />
<br />
An IDE addon adding a parser for the Delphi compiler errors and hints. You can run dcc32.exe as external tool or '''execute before''' command in the compiler options and use the ''Delphi Compiler'' parser for the output, so that the errors/hints in the Messages window can open the source. See [[Lazarus Delphi Compiler Tool]]<br />
<br />
=== Jedi Code Format ===<br />
* Some improvements in code formatting.<br />
* The jcf command line tool is now a text-mode application and no longer requires XWindow on linux to run. <br />
<br />
== Changes affecting compatibility ==<br />
<br />
===IDE Settings===<br />
<br />
====Run > Run Parameters====<br />
The Working-Dir and the Launch-/Host-App can now be specified relative to the Project-Dir.<br />
As a result of this, and due to inconsistencies between "Run in debugger" and "Run without debug" some details of how those fields are resolved changed.<br />
<br />
In some cases you may therefore have to adjust your settings.<br />
<br />
;The Working-dir is now determined as follows:<br />
<br />
# BuildMode.RunParams "working directory" set by user (New, this can now be relative to project dir)<br />
# Project Dir, if not virtual<br />
# Directory from Host-App (RunParams), or if (and only if) Host-App is empty from Project.exe (If host app is in %PATH, then there is no "working directory")<br />
<br />
The first 2 steps are the same as before the change.<br />
The 3rd step was previously only used for "debugging", but "run without debug" did use: "Launch-App", "Host-App", Project.exe<br />
<br />
;Change: The path of the "Launch App" is no longer considered<br />
<br />
; The Launch-/Host-App location are now determined as follows:<br />
# An app with absolute path is used as given<br />
# A relative path (including no path at all) is resolved as relative to the Project-dir.<br />
# An app without any path at all (if not found in step 2) is searched in the %PATH environment.<br />
<br />
;Change: Search in %PATH was only done by "run without debug", but not by debug. It is now done by both.<br />
;Change: Checking for an exe relative to the project-dir was added.<br />
<br />
<br />
===LCL incompatibility===<br />
====TLabel: autosized and right-aligned====<br />
*Old behaviour: Autosized label with Alignment=taRightJustify but Anchors=[akLeft,...] grew to left.<br />
*New behaviour: The label grows to right now.<br />
*Reason: It wasn't possible to implement the behavior also for hidden labels without significant extensions in the LCL. The LCL has a different and more generic feature of control-based anchoring that delivers the same effect (see Remedy down), so it is not needed and wanted to double this feature and make the LCL code more complex and prone to bugs.<br />
*Remedy: Use the LCL anchoring to a secondary control. Anchor the right side of the label to another control. Then the autosized label will grow to the left but won't move to the right when the parent is resized like it is done with a simple akRight anchor without a reference control.<br />
<br />
====TDateEdit/TTimeEdit====<br />
The value of NullDate has changed.<br><br />
Reason:<br />
* It was impossible to actually select the date corresponding to NullDate (30 dec 1899 by default) in the control.<br />
* Remedy (1): if your code depended on NullDate actually being 0.0, you have to adjust your code.<br />
* Remedy (2): if your code used NullDate for a TTimeEdit, change that to the new constant NullTime instead.<br />
* Note: NullDate is actually a writeable constant. This was kept for compatibility reasons. It is however a bad idea to change it's value to anything that is an actual date that is within the range of the control.<br />
<br />
===LazUtils===<br />
<br />
==== Masks unit ====<br />
The masks unit has been completely rewritten.<br><br />
Reasons:<br />
* speed: the old Matches() method had O(n^2) or even O(n^3) characteristics.<br />
* improved control over how the mask is interpreted.<br />
New types (for parameters) and a dedicated TMaskWindows class have been added.<br><br />
TMask.MatchesWindowsMask and the old TMaskOptions type have been deprecated and will be removed in the next release.<br><br />
===== Ranges and Sets =====<br />
* The old masks implementation supported sets, but not ranges. The new implementation supports both sets ([abc]) and ranges ([a-c]). As a consequence a '-' inside such a construct is now interpreted as part of the range definition, not as a literal '-'.<br />
* Reason: ranges are a good thing to have by default (the old implementation simply lacked this). We decided it's a small price to pay.<br />
* Remedy: either escape the '-' with EscapeChar (which defaults to '\') or exclude mocRange from the TMaskOpcodes parameter.<br />
<br />
===== Constructors do not fail anymore on an invalid mask =====<br />
* When providing an invalid mask to the old T(Windows)Mask(List) constructors an exception was raised.<br />
* The new constructors do not raise an exception in this case. Instead an exception is raised in when Matches() is called.<br />
* Reason: it's not very nice to have a constructor fail.<br />
<br />
==== Translations unit ====<br />
Added GetLanguageID function. It returns a record with language code (in ISO 639-1 or ISO 639-2) and country code (in ISO 3166) for current system locale.<br><br />
Added GetLanguageIDFromLocaleName function. It parses Unix locale name and returns a record with language code and country code. It is useful to parse language identifiers passed e. g. via command-line parameters.<br />
<br />
Implementation is based on GetLanguageIDs procedure from GetText unit, but is rewritten to have the following properties:<br />
* Language and country codes are always returned in ISO formats on Windows.<br />
* Unix locale identifier is properly parsed and language/country codes are properly extracted.<br />
* Don't assume that language code is always two-letter (ISO 639-1), it can have bigger length (e. g. three letters, like in ISO 639-2).<br />
* Locale ID is returned in a record type. This will allow to return additional fields in backwards-compatible manner in future. Currently it contains language code, country code and language ID (combination of language code and country code).<br />
<br />
These functions are used now throughout the Lazarus codebase. This greatly improves automatic language detection and loading of correct translations by Lazarus:<br />
* Three-letter (ISO 639-2) language identifiers are no more truncated to two letters. Thus, translations for such languages will be correctly loaded when available.<br />
* Previously on Windows some language and country codes were obtained in non-ISO format, which prevented correct loading of some translations, e. g. Chinese (zh_CN).<br />
* On Unix translations with country codes, like Brazilian Portuguese (pt_BR) or Chinese (zh_CN) are correctly loaded now.<br />
* macOS is now handled as any other Unix. This removes dependency on language list in Lazarus bundle (which had to be maintained manually) and thus fixes loading of Czech, Hungarian, Brazilian Portuguese, Ukrainian translations.<br />
<br />
==== LazUTF8 unit ====<br />
* Deprecated LazGetLanguageIDs (returns combination of language and country codes) and LazGetShortLanguageID (returns only language code) procedures.<br />
* Reason: this functionality belongs to Translations unit (calls of these procedures are almost always followed by calls to procedures from Translations unit), and these procedures are now thin wrappers of GetLanguageID function from Translations unit.<br />
* Remedy: use GetLanguageID function from Translations unit.<br />
<br />
==== LazUTF8Classes and LazUTF8SysUtils units ====<br />
Everything in these units was deprecated for a long time and now they were removed.<br />
LazUTF8SysUtils was earlier renamed to LazSysUtils and this deprecated version was left for a transit period.<br />
* Class TStringListUTF8 can be replaced with TStringList.<br />
* Class TMemoryStreamUTF8 can be replaced with TMemoryStream.<br />
* Global procedure LoadStringsFromFileUTF8 can be replaced with TStrings.LoadFromFile.<br />
* Global procedure SaveStringsToFileUTF8 can be replaced with TStrings.SaveToFile.<br />
* Functions NowUTC and GetTickCount64 can be found in LazSysUtils.<br />
<br />
===Components incompatibility===<br />
====LazControls====<br />
======TSpinEditExBase derived classes======<br />
* All derived classes form TSpinEditExBase must implement a SameValue method. This method is defined as an <b>abstract</b> method in TSpinEditExBase. <br />
* Reason: All derived classes used Math.SameValue. This is wrong for comparing integer types (even if is is safe when comparing relative small values).<br />
* Remedy: unfortunately you'll have to adjust your code.<br />
======TFloatSpinEditEx======<br />
* The property NumbersOnly is no longer published.<br />
* Reason: the property makes no sense for this control and only confuses users.<br />
* Remedy: if you really need NumbersOnly to be True, you must set it in code.<br />
====FpVectorial====<br />
* The <tt>Size</tt> element in the FPVectorial <tt>TvFont</tt> record is a floating point value now (type <tt>double</tt>).<br />
* Reason: Avoid rounding errors because the drawing coordinates are <tt>double</tt> already.<br />
* Remedy: There is rarely a chance that this change will have an effect on user code. Only when the font size is stored in a variable it must be declared as <tt>double</tt> rather than as <tt>integer</tt>.<br />
====TurboPower_ipro====<br />
* Type declarations and the html nodes were moved from unit IpHtml to separate units, IpHtmlTypes, IpHtmlClasses and IpHtmlNodes. This may break compilation of existing projects.<br />
* Reason: Improve maintainability of the extremely long unit IpHtml<br />
* Remedy: Add IpHtmlTypes, IpHtmlClasses and/or IpHtmlNodes to the uses clause of the project unit(s) when an "identifier not found" error referring to this package is reported by the compiler.<br />
<br />
== Other release notes ==<br />
<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Release Notes]]<br />
[[Category:Lazarus]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_release_notes&diff=157232Lazarus 3.0 release notes2023-09-03T07:48:53Z<p>JuhaManninen: /* IDE Options */</p>
<hr />
<div><br />
== LCL Interfaces Changes ==<br />
<br />
=== Cocoa ===<br />
* IME fully supported, such as Chinese/Japanese/Korean, DeadKeys, Emoji & Symbols.<br />
* Cursor has been completely refactored, compatible with MacOS Ventura.<br />
* Docking fully supported, including the IDE.<br />
<br />
=== Qt5 ===<br />
* Qt5 uses native event loop on all platforms. C bindings are updated. Minimum C bindings version for lazarus 3.0 is 1.2.15.<br />
* Note that most Linux Distributions will not have an appropriate libqt5pas library until their next release after the formal release of Lazarus 3.0. Build your own from the Lazarus source tree or download from https://github.com/davidbannon/libqt5pas/releases/latest<br />
<br />
=== Qt6 ===<br />
* Qt6 widgetset implemented. C bindings are based on Qt6 6.2.0 LTS. Minimum C bindings version for lazarus 3.0 is 6.2.7.<br />
* Note that most Linux Distributions will not have an appropriate libqt6pas library until their next release after the formal release of Lazarus 3.0. Build your own from the Lazarus source tree or download from https://github.com/davidbannon/libqt6pas/releases/latest<br />
<br />
=== Gtk3 ===<br />
* Gtk3 pascal bindings are completely reworked.<br />
* A number of stability improvements.<br />
<br />
== LCL Changes ==<br />
=== TCustomImageList ===<br />
TCustomImageList made more extensible:<br />
# Protected MarkAsChanged method is added, which sets FChanged to true (this allows to make custom triggers for OnChange event).<br />
# Virtual protected DoAfterUpdateStarted and DoBeforeUpdateEnded methods are added. They are called in first BeginUpdate and last EndUpdate respectively.<br />
<br />
=== TTaskDialog ===<br />
*Old behaviour Win32: A placeholder icon was used for FooterIcon = tdiNone and MainIcon = tdiNone.<br />
*New behaviour Win32: No icon is used for FooterIcon = tdiNone and MainIcon = tdiNone.<br />
*Reason: Removing drawing glitch. The text move over to allow more content and better alignment. See {{MantisLink|39172}}<br />
<br />
=== TSpeedButton ===<br />
*Old behaviour: Multi-line captions could only be entered by code. And multi-line captions were always left-aligned.<br />
*New behaviour: Multi-line captions can also be entered in the object inspector. New property Alignment to specify whether the caption should be left-/right-aligned or centered. Default: centered, like in Delphi.<br />
*Reason: Better usability.<br />
<br />
=== TLabel.Transparent, .Color and .ParentColor changes ===<br />
*Old behaviour: Transparent property was bound to Color=clNone<br />
*New behaviour: Transparent is a standalone property<br />
*Reason: Delphi compatibility and to fix ParentColor issues.<br />
*Remedy: If you are setting the Color property, Transparent is not automatically switched from True to False now, you have to do it yourself. This is in compliance with Delphi and also solves problems with Color/ParentColor changes.<br />
<br />
=== TPanel.VerticalAlignment ===<br />
*Old behaviour: The panel caption was always centered vertically.<br />
*New behaviour: The new property VerticalAlignment (taAlignTop, taAlignBottom, taVerticalCenter) allows to place the caption also at the top or bottom of the panel interior.<br />
*Reason: Delphi compatibility and better usability<br />
<br />
=== TCalendar ===<br />
* Properties MinDate and MaxDate are implemented. These limits are only imposed if MaxDate > MinDate. Unfortunately GTK2/3 widgetsets do not support this, so selecting a date outside the MinDate/MaxDate range will still be possible there.<br />
<br />
=== TCheckbox, TRadioButton ===<br />
*Different calculation of checkbox/radiobutton size in order to correctly take care of Win-10 "ease of access" feature. See {{MantisLink|39398}}<br />
*Consequence: lfm files will contain different sizes of these controls (if auto-sized) compared with earlier versions.<br />
<br />
=== Grids ===<br />
* You can now set the cell editors properties ParentColor and ParentFont by including goEditorParentColor resp. goEditorParentFont in the grid's Options2 property.<br />
<br />
=== TShellTreeView ===<br />
* New property <tt>ExpandCollapseMode</tt> defining options whether a collapsing node should clear its child nodes.<br />
* Implements custom sorting of the treeview items by setting <tt>FileSortType</tt> to <tt>fstCustom</tt> and providing a custom compare function in the event <tt>OnSortCompare</tt>.<br />
<br />
=== TShellListView ===<br />
* TShellListView now subclasses TListItem, so it can store file info in it. <br />
* If you use OnCreateItemClass to create your own descendant of TListItem, it may be advisable to base your own class on TShellListItem instead of on TListItem. This way you will also have access to the TShellListItem's FileInfo property.<br />
<br />
=== TTreeView ===<br />
* Adds ShowSeparators as a published property like ShowLines and ShowRoot.<br />
<br />
== IDE Changes ==<br />
=== Character map ===<br />
* Resizable characters to improve readability.<br />
* The character map was split off from the IDE and moved to separate packages. The designtime package is installed by default so that there is no difference in the IDE. Now users can access it in their own applications after adding the runtime package "charactermappkg.lpk" to the project requirements.<br />
<br />
=== Debugger ===<br />
<br />
==== Project Options ====<br />
<br />
* "Run(F9)" can either be "Debug" or "Run without debug".<br />
: In newly created Debug/Release modes, the Release mode will no longer invoke the debugger by default.<br />
: Existing Debug/Release modes must be edited, to enable this.<br />
* Per project "Debugger backend" settings. In addition to choosing a specific backend from the global IDE settings, a backend can be configured just for the project (i.e. special gdb-server settings)<br />
<br />
==== IDE Dialogs ====<br />
<br />
* Improved <u>Watches window</u><br />
** Expand/Unfold for classes, records, etc<br />
** Expand/Unfold with paged browser for arrays<br />
** Drag and Drop to reorder watches<br />
** Drag and Drop to create new "top level" watches from nested entries (in expand/unfolded lists)<br />
** Address column for types with internal pointer (classes, long-string, dyn-array, (real) pointer)<br />
* Improved <u>Locals window</u><br />
** Expand/Unfold for classes, records, etc<br />
** Expand/Unfold with paged browser for arrays<br />
** Address column for types with internal pointer (classes, long-string, dyn-array, (real) pointer)<br />
** Power button<br />
* Improved <u>Inspect window</u><br />
** Fixed: Updating value when context changes<br />
** Added options for Function calling / and "Converter" (See FpDebug: SysVarToLstr)<br />
** Added filter to search for text in name or value.<br />
** Added ctrl-Up/Down/Page-Up/Page-Down to navigate the grid.<br/>Alt-Left/Right for history. And ctrl-Enter to select.<br />
* Improved <u>Evaluate/Modify window</u><br />
** New Layout<br />
** Added DisplayFormat<br />
** Added options for Function calling / and "Converter" (See FpDebug: SysVarToLstr)<br />
* Improved <u>Assembler window</u><br />
** Added history navigation (forward/backward)<br />
** For FpDebug: added annotations to jump/call targets, and allow to ctrl-click to disassemble target address<br />
<br />
==== FpDebug / LazDebuggerFp ====<br />
<br />
* Improved "function calling" in watch eval. See [[FpDebug-Watches-FunctionEval]]<br />
* %RAX Accessing cpu registers in watch expression (only full registers, not yet AH or AL or EAX on 64bit) <br />
* Intrinsic functions: [[FpDebug-Watches-Intrinsic-Functions]]<br />
* Intrinsic/extended operators: MyArray[1..3] array slice with operator mapping. [[FpDebug-Watches-Intrinsic-Functions#Intrinsic_Operators]]<br />
* Option to detect "variant" and call "SysVarToLStr" in the target app.<br />
* Suspend/Resume individual threads (must be done while app is paused, and will be applied for subsequent step/run)<br />
* Partial improvements to debug in DLL: https://wiki.freepascal.org/Debugger_Status#Other<br />
* Disassembler now annotates lines for call/jmp/jne/... with info on the target address (function name, file, line)<br />
* F7/F8 Step-Into/Over can now be used to start the debugger and run to the first line of the main program begin/end.<br />
<br />
==== LazDebuggerFpLldb (default on MacOS) ====<br />
<br />
* Added Mem-Limits (and String,Pchar,Array) to the debugger config<br />
: See https://wiki.freepascal.org/LazDebuggerFp (MaxMemReadSize, MaxStringLen, MaxArrayLen, MaxNullStringSearchLen)<br />
: Limiting the default results for watches/locals/stack-params,... can prevent slow evaluation.<br />
: Arrays can then be browsed in the watches window, using the new "paged browser for arrays" (expand via [+])<br />
<br />
=== Floating point properties in the Object Inspector ===<br />
* The Object Inspector now explicitely disallows to set a floating point property's value to +/-Inf or NaN.<br />
* Reason: whilst +/-Inf and NaN are valid values for a floating point property, they cannot be streamed (so, the form could not be loaded) and setting it to NaN caused havoc in the IDE.<br />
* Remedy: set the value at runtime (in code)<br />
<br />
=== Reading unit names in lfm ===<br />
<br />
FPC 3.3.1 component writer supports optionally writing types with their unit names as ''unitname/type''. Lazarus can now read this.<br />
<br />
=== Ambiguous Classtypes ===<br />
<br />
You can now register two component classes with the same name, e.g. ''fresnel.TButton'' and ''StdCtrls.TButton''. You can even put both on the same form.<br />
<br />
=== Editor ===<br />
<br />
- Highlight for PasDoc<br />
<br />
=== IDE Options ===<br />
<br />
In Tools -> Options -> Environment -> Window page these three settings are now <b>on</b> be default :<br />
* IDE title starts with project name<br />
* IDE title shows project directory<br />
* IDE title shows selected build mode<br />
It has been requested by many users. If the IDE's title bar has no info about the active project, a user must open Project Inspector or Project Options to see it, which is inconvenient.<br />
<br />
== IDE Interface Changes ==<br />
<br />
== Components ==<br />
=== TAChart ===<br />
* The '''TLegendClickTools''' now is able to detect clicks on series legend items and reports the clicked series in the new '''OnSeriesClick''' event.<br />
* New '''TDatapointMarksClickTool''' which becomes active when the user clicked on the marks of a series.<br />
* New property '''TickWidth''' for the chart axes.<br />
* New property '''FullWidth''' for the chart title and footer to run their background across the entire chart width.<br />
* New property '''RandomColors''' for <tt>TRandomChartSource</tt>.<br />
* New properties '''YIndexWhiskerMin''', '''YIndexBarMin''', '''YIndexCenter''', '''YIndexBarMax''', '''YIndexWhiskerMax''', and '''YDataLayout''' in TBoxAndWhiskerSeries for more flexible assignment of y values to the parts of the box/whisher shape.<br />
* New option '''aipInteger''' in the set TAxisIntervalParamOptions which sets axis labels only at integer values and thus supresses the unwanted intermediate labels in bar charts and helps to enforce labels in logarithmic plots at the powers of the logarithmic base (usually 10).<br />
* New event '''OnAddStyleToLegend''' for TChartStyles. It has a boolean parameter <tt>AddToLegend</tt> with which you can determine whether the series level using this style is displayed in the legend.<br />
<br />
=== TDateTimePicker ===<br />
* New properties MonthDisplay and CustomMonthNames. They are meant to replace the MonthNames property, which has been deprecated.<br />
* New property DecimalSeparator. Allows a user-specified value to be used instead of a hard-coded Colon character.<br />
<br />
=== TDBDateTimePicker ===<br />
* Adds Options as a published property.<br />
* Publishes the DecimalSeparator property.<br />
* Publishes the missing Alignment property. Consistent with TDateTimePicker,<br />
<br />
=== T(Float)SpinEditEx ===<br />
* New property '''Orientation''' which allows to arrange the spin buttons horizontally.<br />
<br />
=== TCheckListBox ===<br />
* Adds HeaderColor and HeaderBackgroundColor properties. Used on list items where the Header property is enabled. Implemented for the Win32 widget set.<br />
<br />
=== Pas2js ===<br />
* lazbuild now can compile pas2js projects by passing the environment variable PAS2JS with the path of the pas2js executable.<br />
* Project groups with pas2js projects now can compile without being opened.<br />
* New project type [[lazarus_pas2js_integration#Progressive_Web_Application|Progressive Web Application]]<br />
* New project type [[lazarus_pas2js_integration#Electron_Web_Application|Electron Web Application]]<br />
* pas2jsdsgn now uses the SimpleWebServerGUI package, replacing its own http server controller.<br />
* F9, Run now builds, starts a HTTP server and a browser<br />
<br />
=== Lazarus Icon Collection ===<br />
* Not a component, but the Lazarus installation now contains a folder with general-purpose icons for usage in toolbars, menus, buttons etc. of any GUI applications (folder ''images/general_purpose'').<br />
* The images come in various sizes and thus are compatible with the scaled image list of Lazarus v2.0+.<br />
* Author: Roland Hahn (https://www.rhsoft.de/).<br />
* License: Creative Commons CC0 (no restrictions in usage).<br />
<br />
=== gir2pascal ===<br />
<br />
* Sources of [[gir2pascal]] (a tool to convert [https://gi.readthedocs.io/ GObject Introspection] descriptions to Pascal files) are now included in Lazarus source tree ([https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/tools/gir2pascal tools/gir2pascal] directory) and maintained there.<br />
<br />
=== lazdelphi ===<br />
<br />
An IDE addon adding a parser for the Delphi compiler errors and hints. You can run dcc32.exe as external tool or '''execute before''' command in the compiler options and use the ''Delphi Compiler'' parser for the output, so that the errors/hints in the Messages window can open the source. See [[Lazarus Delphi Compiler Tool]]<br />
<br />
=== Jedi Code Format ===<br />
* Some improvements in code formatting.<br />
* The jcf command line tool is now a text-mode application and no longer requires XWindow on linux to run. <br />
<br />
== Changes affecting compatibility ==<br />
<br />
===IDE Settings===<br />
<br />
====Run > Run Parameters====<br />
The Working-Dir and the Launch-/Host-App can now be specified relative to the Project-Dir.<br />
As a result of this, and due to inconsistencies between "Run in debugger" and "Run without debug" some details of how those fields are resolved changed.<br />
<br />
In some cases you may therefore have to adjust your settings.<br />
<br />
;The Working-dir is now determined as follows:<br />
<br />
# BuildMode.RunParams "working directory" set by user (New, this can now be relative to project dir)<br />
# Project Dir, if not virtual<br />
# Directory from Host-App (RunParams), or if (and only if) Host-App is empty from Project.exe (If host app is in %PATH, then there is no "working directory")<br />
<br />
The first 2 steps are the same as before the change.<br />
The 3rd step was previously only used for "debugging", but "run without debug" did use: "Launch-App", "Host-App", Project.exe<br />
<br />
;Change: The path of the "Launch App" is no longer considered<br />
<br />
; The Launch-/Host-App location are now determined as follows:<br />
# An app with absolute path is used as given<br />
# A relative path (including no path at all) is resolved as relative to the Project-dir.<br />
# An app without any path at all (if not found in step 2) is searched in the %PATH environment.<br />
<br />
;Change: Search in %PATH was only done by "run without debug", but not by debug. It is now done by both.<br />
;Change: Checking for an exe relative to the project-dir was added.<br />
<br />
<br />
===LCL incompatibility===<br />
====TLabel: autosized and right-aligned====<br />
*Old behaviour: Autosized label with Alignment=taRightJustify but Anchors=[akLeft,...] grew to left.<br />
*New behaviour: The label grows to right now.<br />
*Reason: It wasn't possible to implement the behavior also for hidden labels without significant extensions in the LCL. The LCL has a different and more generic feature of control-based anchoring that delivers the same effect (see Remedy down), so it is not needed and wanted to double this feature and make the LCL code more complex and prone to bugs.<br />
*Remedy: Use the LCL anchoring to a secondary control. Anchor the right side of the label to another control. Then the autosized label will grow to the left but won't move to the right when the parent is resized like it is done with a simple akRight anchor without a reference control.<br />
<br />
====TDateEdit/TTimeEdit====<br />
The value of NullDate has changed.<br><br />
Reason:<br />
* It was impossible to actually select the date corresponding to NullDate (30 dec 1899 by default) in the control.<br />
* Remedy (1): if your code depended on NullDate actually being 0.0, you have to adjust your code.<br />
* Remedy (2): if your code used NullDate for a TTimeEdit, change that to the new constant NullTime instead.<br />
* Note: NullDate is actually a writeable constant. This was kept for compatibility reasons. It is however a bad idea to change it's value to anything that is an actual date that is within the range of the control.<br />
<br />
===LazUtils===<br />
<br />
==== Masks unit ====<br />
The masks unit has been completely rewritten.<br><br />
Reasons:<br />
* speed: the old Matches() method had O(n^2) or even O(n^3) characteristics.<br />
* improved control over how the mask is interpreted.<br />
New types (for parameters) and a dedicated TMaskWindows class have been added.<br><br />
TMask.MatchesWindowsMask and the old TMaskOptions type have been deprecated and will be removed in the next release.<br><br />
===== Ranges and Sets =====<br />
* The old masks implementation supported sets, but not ranges. The new implementation supports both sets ([abc]) and ranges ([a-c]). As a consequence a '-' inside such a construct is now interpreted as part of the range definition, not as a literal '-'.<br />
* Reason: ranges are a good thing to have by default (the old implementation simply lacked this). We decided it's a small price to pay.<br />
* Remedy: either escape the '-' with EscapeChar (which defaults to '\') or exclude mocRange from the TMaskOpcodes parameter.<br />
<br />
===== Constructors do not fail anymore on an invalid mask =====<br />
* When providing an invalid mask to the old T(Windows)Mask(List) constructors an exception was raised.<br />
* The new constructors do not raise an exception in this case. Instead an exception is raised in when Matches() is called.<br />
* Reason: it's not very nice to have a constructor fail.<br />
<br />
==== Translations unit ====<br />
Added GetLanguageID function. It returns a record with language code (in ISO 639-1 or ISO 639-2) and country code (in ISO 3166) for current system locale.<br><br />
Added GetLanguageIDFromLocaleName function. It parses Unix locale name and returns a record with language code and country code. It is useful to parse language identifiers passed e. g. via command-line parameters.<br />
<br />
Implementation is based on GetLanguageIDs procedure from GetText unit, but is rewritten to have the following properties:<br />
* Language and country codes are always returned in ISO formats on Windows.<br />
* Unix locale identifier is properly parsed and language/country codes are properly extracted.<br />
* Don't assume that language code is always two-letter (ISO 639-1), it can have bigger length (e. g. three letters, like in ISO 639-2).<br />
* Locale ID is returned in a record type. This will allow to return additional fields in backwards-compatible manner in future. Currently it contains language code, country code and language ID (combination of language code and country code).<br />
<br />
These functions are used now throughout the Lazarus codebase. This greatly improves automatic language detection and loading of correct translations by Lazarus:<br />
* Three-letter (ISO 639-2) language identifiers are no more truncated to two letters. Thus, translations for such languages will be correctly loaded when available.<br />
* Previously on Windows some language and country codes were obtained in non-ISO format, which prevented correct loading of some translations, e. g. Chinese (zh_CN).<br />
* On Unix translations with country codes, like Brazilian Portuguese (pt_BR) or Chinese (zh_CN) are correctly loaded now.<br />
* macOS is now handled as any other Unix. This removes dependency on language list in Lazarus bundle (which had to be maintained manually) and thus fixes loading of Czech, Hungarian, Brazilian Portuguese, Ukrainian translations.<br />
<br />
==== LazUTF8 unit ====<br />
* Deprecated LazGetLanguageIDs (returns combination of language and country codes) and LazGetShortLanguageID (returns only language code) procedures.<br />
* Reason: this functionality belongs to Translations unit (calls of these procedures are almost always followed by calls to procedures from Translations unit), and these procedures are now thin wrappers of GetLanguageID function from Translations unit.<br />
* Remedy: use GetLanguageID function from Translations unit.<br />
<br />
==== LazUTF8Classes and LazUTF8SysUtils units ====<br />
Everything in these units was deprecated for a long time and now they were removed.<br />
LazUTF8SysUtils was earlier renamed to LazSysUtils and this deprecated version was left for a transit period.<br />
* Class TStringListUTF8 can be replaced with TStringList.<br />
* Class TMemoryStreamUTF8 can be replaced with TMemoryStream.<br />
* Global procedure LoadStringsFromFileUTF8 can be replaced with TStrings.LoadFromFile.<br />
* Global procedure SaveStringsToFileUTF8 can be replaced with TStrings.SaveToFile.<br />
* Functions NowUTC and GetTickCount64 can be found in LazSysUtils.<br />
<br />
===Components incompatibility===<br />
====LazControls====<br />
======TSpinEditExBase derived classes======<br />
* All derived classes form TSpinEditExBase must implement a SameValue method. This method is defined as an <b>abstract</b> method in TSpinEditExBase. <br />
* Reason: All derived classes used Math.SameValue. This is wrong for comparing integer types (even if is is safe when comparing relative small values).<br />
* Remedy: unfortunately you'll have to adjust your code.<br />
======TFloatSpinEditEx======<br />
* The property NumbersOnly is no longer published.<br />
* Reason: the property makes no sense for this control and only confuses users.<br />
* Remedy: if you really need NumbersOnly to be True, you must set it in code.<br />
====FpVectorial====<br />
* The <tt>Size</tt> element in the FPVectorial <tt>TvFont</tt> record is a floating point value now (type <tt>double</tt>).<br />
* Reason: Avoid rounding errors because the drawing coordinates are <tt>double</tt> already.<br />
* Remedy: There is rarely a chance that this change will have an effect on user code. Only when the font size is stored in a variable it must be declared as <tt>double</tt> rather than as <tt>integer</tt>.<br />
====TurboPower_ipro====<br />
* Type declarations and the html nodes were moved from unit IpHtml to separate units, IpHtmlTypes, IpHtmlClasses and IpHtmlNodes. This may break compilation of existing projects.<br />
* Reason: Improve maintainability of the extremely long unit IpHtml<br />
* Remedy: Add IpHtmlTypes, IpHtmlClasses and/or IpHtmlNodes to the uses clause of the project unit(s) when an "identifier not found" error referring to this package is reported by the compiler.<br />
<br />
== Other release notes ==<br />
<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Release Notes]]<br />
[[Category:Lazarus]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_release_notes&diff=157231Lazarus 3.0 release notes2023-09-03T07:47:44Z<p>JuhaManninen: /* IDE Changes */</p>
<hr />
<div><br />
== LCL Interfaces Changes ==<br />
<br />
=== Cocoa ===<br />
* IME fully supported, such as Chinese/Japanese/Korean, DeadKeys, Emoji & Symbols.<br />
* Cursor has been completely refactored, compatible with MacOS Ventura.<br />
* Docking fully supported, including the IDE.<br />
<br />
=== Qt5 ===<br />
* Qt5 uses native event loop on all platforms. C bindings are updated. Minimum C bindings version for lazarus 3.0 is 1.2.15.<br />
* Note that most Linux Distributions will not have an appropriate libqt5pas library until their next release after the formal release of Lazarus 3.0. Build your own from the Lazarus source tree or download from https://github.com/davidbannon/libqt5pas/releases/latest<br />
<br />
=== Qt6 ===<br />
* Qt6 widgetset implemented. C bindings are based on Qt6 6.2.0 LTS. Minimum C bindings version for lazarus 3.0 is 6.2.7.<br />
* Note that most Linux Distributions will not have an appropriate libqt6pas library until their next release after the formal release of Lazarus 3.0. Build your own from the Lazarus source tree or download from https://github.com/davidbannon/libqt6pas/releases/latest<br />
<br />
=== Gtk3 ===<br />
* Gtk3 pascal bindings are completely reworked.<br />
* A number of stability improvements.<br />
<br />
== LCL Changes ==<br />
=== TCustomImageList ===<br />
TCustomImageList made more extensible:<br />
# Protected MarkAsChanged method is added, which sets FChanged to true (this allows to make custom triggers for OnChange event).<br />
# Virtual protected DoAfterUpdateStarted and DoBeforeUpdateEnded methods are added. They are called in first BeginUpdate and last EndUpdate respectively.<br />
<br />
=== TTaskDialog ===<br />
*Old behaviour Win32: A placeholder icon was used for FooterIcon = tdiNone and MainIcon = tdiNone.<br />
*New behaviour Win32: No icon is used for FooterIcon = tdiNone and MainIcon = tdiNone.<br />
*Reason: Removing drawing glitch. The text move over to allow more content and better alignment. See {{MantisLink|39172}}<br />
<br />
=== TSpeedButton ===<br />
*Old behaviour: Multi-line captions could only be entered by code. And multi-line captions were always left-aligned.<br />
*New behaviour: Multi-line captions can also be entered in the object inspector. New property Alignment to specify whether the caption should be left-/right-aligned or centered. Default: centered, like in Delphi.<br />
*Reason: Better usability.<br />
<br />
=== TLabel.Transparent, .Color and .ParentColor changes ===<br />
*Old behaviour: Transparent property was bound to Color=clNone<br />
*New behaviour: Transparent is a standalone property<br />
*Reason: Delphi compatibility and to fix ParentColor issues.<br />
*Remedy: If you are setting the Color property, Transparent is not automatically switched from True to False now, you have to do it yourself. This is in compliance with Delphi and also solves problems with Color/ParentColor changes.<br />
<br />
=== TPanel.VerticalAlignment ===<br />
*Old behaviour: The panel caption was always centered vertically.<br />
*New behaviour: The new property VerticalAlignment (taAlignTop, taAlignBottom, taVerticalCenter) allows to place the caption also at the top or bottom of the panel interior.<br />
*Reason: Delphi compatibility and better usability<br />
<br />
=== TCalendar ===<br />
* Properties MinDate and MaxDate are implemented. These limits are only imposed if MaxDate > MinDate. Unfortunately GTK2/3 widgetsets do not support this, so selecting a date outside the MinDate/MaxDate range will still be possible there.<br />
<br />
=== TCheckbox, TRadioButton ===<br />
*Different calculation of checkbox/radiobutton size in order to correctly take care of Win-10 "ease of access" feature. See {{MantisLink|39398}}<br />
*Consequence: lfm files will contain different sizes of these controls (if auto-sized) compared with earlier versions.<br />
<br />
=== Grids ===<br />
* You can now set the cell editors properties ParentColor and ParentFont by including goEditorParentColor resp. goEditorParentFont in the grid's Options2 property.<br />
<br />
=== TShellTreeView ===<br />
* New property <tt>ExpandCollapseMode</tt> defining options whether a collapsing node should clear its child nodes.<br />
* Implements custom sorting of the treeview items by setting <tt>FileSortType</tt> to <tt>fstCustom</tt> and providing a custom compare function in the event <tt>OnSortCompare</tt>.<br />
<br />
=== TShellListView ===<br />
* TShellListView now subclasses TListItem, so it can store file info in it. <br />
* If you use OnCreateItemClass to create your own descendant of TListItem, it may be advisable to base your own class on TShellListItem instead of on TListItem. This way you will also have access to the TShellListItem's FileInfo property.<br />
<br />
=== TTreeView ===<br />
* Adds ShowSeparators as a published property like ShowLines and ShowRoot.<br />
<br />
== IDE Changes ==<br />
=== Character map ===<br />
* Resizable characters to improve readability.<br />
* The character map was split off from the IDE and moved to separate packages. The designtime package is installed by default so that there is no difference in the IDE. Now users can access it in their own applications after adding the runtime package "charactermappkg.lpk" to the project requirements.<br />
<br />
=== Debugger ===<br />
<br />
==== Project Options ====<br />
<br />
* "Run(F9)" can either be "Debug" or "Run without debug".<br />
: In newly created Debug/Release modes, the Release mode will no longer invoke the debugger by default.<br />
: Existing Debug/Release modes must be edited, to enable this.<br />
* Per project "Debugger backend" settings. In addition to choosing a specific backend from the global IDE settings, a backend can be configured just for the project (i.e. special gdb-server settings)<br />
<br />
==== IDE Dialogs ====<br />
<br />
* Improved <u>Watches window</u><br />
** Expand/Unfold for classes, records, etc<br />
** Expand/Unfold with paged browser for arrays<br />
** Drag and Drop to reorder watches<br />
** Drag and Drop to create new "top level" watches from nested entries (in expand/unfolded lists)<br />
** Address column for types with internal pointer (classes, long-string, dyn-array, (real) pointer)<br />
* Improved <u>Locals window</u><br />
** Expand/Unfold for classes, records, etc<br />
** Expand/Unfold with paged browser for arrays<br />
** Address column for types with internal pointer (classes, long-string, dyn-array, (real) pointer)<br />
** Power button<br />
* Improved <u>Inspect window</u><br />
** Fixed: Updating value when context changes<br />
** Added options for Function calling / and "Converter" (See FpDebug: SysVarToLstr)<br />
** Added filter to search for text in name or value.<br />
** Added ctrl-Up/Down/Page-Up/Page-Down to navigate the grid.<br/>Alt-Left/Right for history. And ctrl-Enter to select.<br />
* Improved <u>Evaluate/Modify window</u><br />
** New Layout<br />
** Added DisplayFormat<br />
** Added options for Function calling / and "Converter" (See FpDebug: SysVarToLstr)<br />
* Improved <u>Assembler window</u><br />
** Added history navigation (forward/backward)<br />
** For FpDebug: added annotations to jump/call targets, and allow to ctrl-click to disassemble target address<br />
<br />
==== FpDebug / LazDebuggerFp ====<br />
<br />
* Improved "function calling" in watch eval. See [[FpDebug-Watches-FunctionEval]]<br />
* %RAX Accessing cpu registers in watch expression (only full registers, not yet AH or AL or EAX on 64bit) <br />
* Intrinsic functions: [[FpDebug-Watches-Intrinsic-Functions]]<br />
* Intrinsic/extended operators: MyArray[1..3] array slice with operator mapping. [[FpDebug-Watches-Intrinsic-Functions#Intrinsic_Operators]]<br />
* Option to detect "variant" and call "SysVarToLStr" in the target app.<br />
* Suspend/Resume individual threads (must be done while app is paused, and will be applied for subsequent step/run)<br />
* Partial improvements to debug in DLL: https://wiki.freepascal.org/Debugger_Status#Other<br />
* Disassembler now annotates lines for call/jmp/jne/... with info on the target address (function name, file, line)<br />
* F7/F8 Step-Into/Over can now be used to start the debugger and run to the first line of the main program begin/end.<br />
<br />
==== LazDebuggerFpLldb (default on MacOS) ====<br />
<br />
* Added Mem-Limits (and String,Pchar,Array) to the debugger config<br />
: See https://wiki.freepascal.org/LazDebuggerFp (MaxMemReadSize, MaxStringLen, MaxArrayLen, MaxNullStringSearchLen)<br />
: Limiting the default results for watches/locals/stack-params,... can prevent slow evaluation.<br />
: Arrays can then be browsed in the watches window, using the new "paged browser for arrays" (expand via [+])<br />
<br />
=== Floating point properties in the Object Inspector ===<br />
* The Object Inspector now explicitely disallows to set a floating point property's value to +/-Inf or NaN.<br />
* Reason: whilst +/-Inf and NaN are valid values for a floating point property, they cannot be streamed (so, the form could not be loaded) and setting it to NaN caused havoc in the IDE.<br />
* Remedy: set the value at runtime (in code)<br />
<br />
=== Reading unit names in lfm ===<br />
<br />
FPC 3.3.1 component writer supports optionally writing types with their unit names as ''unitname/type''. Lazarus can now read this.<br />
<br />
=== Ambiguous Classtypes ===<br />
<br />
You can now register two component classes with the same name, e.g. ''fresnel.TButton'' and ''StdCtrls.TButton''. You can even put both on the same form.<br />
<br />
=== Editor ===<br />
<br />
- Highlight for PasDoc<br />
<br />
=== IDE Options ===<br />
<br />
In Tools -> Options -> Environment -> Window page these three settings are now _on_ be default :<br />
* IDE title starts with project name<br />
* IDE title shows project directory<br />
* IDE title shows selected build mode<br />
It has been requested by many users. If the IDE's title bar has no info about the active project, a user must open Project Inspector or Project Options to see it, which is inconvenient.<br />
<br />
== IDE Interface Changes ==<br />
<br />
== Components ==<br />
=== TAChart ===<br />
* The '''TLegendClickTools''' now is able to detect clicks on series legend items and reports the clicked series in the new '''OnSeriesClick''' event.<br />
* New '''TDatapointMarksClickTool''' which becomes active when the user clicked on the marks of a series.<br />
* New property '''TickWidth''' for the chart axes.<br />
* New property '''FullWidth''' for the chart title and footer to run their background across the entire chart width.<br />
* New property '''RandomColors''' for <tt>TRandomChartSource</tt>.<br />
* New properties '''YIndexWhiskerMin''', '''YIndexBarMin''', '''YIndexCenter''', '''YIndexBarMax''', '''YIndexWhiskerMax''', and '''YDataLayout''' in TBoxAndWhiskerSeries for more flexible assignment of y values to the parts of the box/whisher shape.<br />
* New option '''aipInteger''' in the set TAxisIntervalParamOptions which sets axis labels only at integer values and thus supresses the unwanted intermediate labels in bar charts and helps to enforce labels in logarithmic plots at the powers of the logarithmic base (usually 10).<br />
* New event '''OnAddStyleToLegend''' for TChartStyles. It has a boolean parameter <tt>AddToLegend</tt> with which you can determine whether the series level using this style is displayed in the legend.<br />
<br />
=== TDateTimePicker ===<br />
* New properties MonthDisplay and CustomMonthNames. They are meant to replace the MonthNames property, which has been deprecated.<br />
* New property DecimalSeparator. Allows a user-specified value to be used instead of a hard-coded Colon character.<br />
<br />
=== TDBDateTimePicker ===<br />
* Adds Options as a published property.<br />
* Publishes the DecimalSeparator property.<br />
* Publishes the missing Alignment property. Consistent with TDateTimePicker,<br />
<br />
=== T(Float)SpinEditEx ===<br />
* New property '''Orientation''' which allows to arrange the spin buttons horizontally.<br />
<br />
=== TCheckListBox ===<br />
* Adds HeaderColor and HeaderBackgroundColor properties. Used on list items where the Header property is enabled. Implemented for the Win32 widget set.<br />
<br />
=== Pas2js ===<br />
* lazbuild now can compile pas2js projects by passing the environment variable PAS2JS with the path of the pas2js executable.<br />
* Project groups with pas2js projects now can compile without being opened.<br />
* New project type [[lazarus_pas2js_integration#Progressive_Web_Application|Progressive Web Application]]<br />
* New project type [[lazarus_pas2js_integration#Electron_Web_Application|Electron Web Application]]<br />
* pas2jsdsgn now uses the SimpleWebServerGUI package, replacing its own http server controller.<br />
* F9, Run now builds, starts a HTTP server and a browser<br />
<br />
=== Lazarus Icon Collection ===<br />
* Not a component, but the Lazarus installation now contains a folder with general-purpose icons for usage in toolbars, menus, buttons etc. of any GUI applications (folder ''images/general_purpose'').<br />
* The images come in various sizes and thus are compatible with the scaled image list of Lazarus v2.0+.<br />
* Author: Roland Hahn (https://www.rhsoft.de/).<br />
* License: Creative Commons CC0 (no restrictions in usage).<br />
<br />
=== gir2pascal ===<br />
<br />
* Sources of [[gir2pascal]] (a tool to convert [https://gi.readthedocs.io/ GObject Introspection] descriptions to Pascal files) are now included in Lazarus source tree ([https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/main/tools/gir2pascal tools/gir2pascal] directory) and maintained there.<br />
<br />
=== lazdelphi ===<br />
<br />
An IDE addon adding a parser for the Delphi compiler errors and hints. You can run dcc32.exe as external tool or '''execute before''' command in the compiler options and use the ''Delphi Compiler'' parser for the output, so that the errors/hints in the Messages window can open the source. See [[Lazarus Delphi Compiler Tool]]<br />
<br />
=== Jedi Code Format ===<br />
* Some improvements in code formatting.<br />
* The jcf command line tool is now a text-mode application and no longer requires XWindow on linux to run. <br />
<br />
== Changes affecting compatibility ==<br />
<br />
===IDE Settings===<br />
<br />
====Run > Run Parameters====<br />
The Working-Dir and the Launch-/Host-App can now be specified relative to the Project-Dir.<br />
As a result of this, and due to inconsistencies between "Run in debugger" and "Run without debug" some details of how those fields are resolved changed.<br />
<br />
In some cases you may therefore have to adjust your settings.<br />
<br />
;The Working-dir is now determined as follows:<br />
<br />
# BuildMode.RunParams "working directory" set by user (New, this can now be relative to project dir)<br />
# Project Dir, if not virtual<br />
# Directory from Host-App (RunParams), or if (and only if) Host-App is empty from Project.exe (If host app is in %PATH, then there is no "working directory")<br />
<br />
The first 2 steps are the same as before the change.<br />
The 3rd step was previously only used for "debugging", but "run without debug" did use: "Launch-App", "Host-App", Project.exe<br />
<br />
;Change: The path of the "Launch App" is no longer considered<br />
<br />
; The Launch-/Host-App location are now determined as follows:<br />
# An app with absolute path is used as given<br />
# A relative path (including no path at all) is resolved as relative to the Project-dir.<br />
# An app without any path at all (if not found in step 2) is searched in the %PATH environment.<br />
<br />
;Change: Search in %PATH was only done by "run without debug", but not by debug. It is now done by both.<br />
;Change: Checking for an exe relative to the project-dir was added.<br />
<br />
<br />
===LCL incompatibility===<br />
====TLabel: autosized and right-aligned====<br />
*Old behaviour: Autosized label with Alignment=taRightJustify but Anchors=[akLeft,...] grew to left.<br />
*New behaviour: The label grows to right now.<br />
*Reason: It wasn't possible to implement the behavior also for hidden labels without significant extensions in the LCL. The LCL has a different and more generic feature of control-based anchoring that delivers the same effect (see Remedy down), so it is not needed and wanted to double this feature and make the LCL code more complex and prone to bugs.<br />
*Remedy: Use the LCL anchoring to a secondary control. Anchor the right side of the label to another control. Then the autosized label will grow to the left but won't move to the right when the parent is resized like it is done with a simple akRight anchor without a reference control.<br />
<br />
====TDateEdit/TTimeEdit====<br />
The value of NullDate has changed.<br><br />
Reason:<br />
* It was impossible to actually select the date corresponding to NullDate (30 dec 1899 by default) in the control.<br />
* Remedy (1): if your code depended on NullDate actually being 0.0, you have to adjust your code.<br />
* Remedy (2): if your code used NullDate for a TTimeEdit, change that to the new constant NullTime instead.<br />
* Note: NullDate is actually a writeable constant. This was kept for compatibility reasons. It is however a bad idea to change it's value to anything that is an actual date that is within the range of the control.<br />
<br />
===LazUtils===<br />
<br />
==== Masks unit ====<br />
The masks unit has been completely rewritten.<br><br />
Reasons:<br />
* speed: the old Matches() method had O(n^2) or even O(n^3) characteristics.<br />
* improved control over how the mask is interpreted.<br />
New types (for parameters) and a dedicated TMaskWindows class have been added.<br><br />
TMask.MatchesWindowsMask and the old TMaskOptions type have been deprecated and will be removed in the next release.<br><br />
===== Ranges and Sets =====<br />
* The old masks implementation supported sets, but not ranges. The new implementation supports both sets ([abc]) and ranges ([a-c]). As a consequence a '-' inside such a construct is now interpreted as part of the range definition, not as a literal '-'.<br />
* Reason: ranges are a good thing to have by default (the old implementation simply lacked this). We decided it's a small price to pay.<br />
* Remedy: either escape the '-' with EscapeChar (which defaults to '\') or exclude mocRange from the TMaskOpcodes parameter.<br />
<br />
===== Constructors do not fail anymore on an invalid mask =====<br />
* When providing an invalid mask to the old T(Windows)Mask(List) constructors an exception was raised.<br />
* The new constructors do not raise an exception in this case. Instead an exception is raised in when Matches() is called.<br />
* Reason: it's not very nice to have a constructor fail.<br />
<br />
==== Translations unit ====<br />
Added GetLanguageID function. It returns a record with language code (in ISO 639-1 or ISO 639-2) and country code (in ISO 3166) for current system locale.<br><br />
Added GetLanguageIDFromLocaleName function. It parses Unix locale name and returns a record with language code and country code. It is useful to parse language identifiers passed e. g. via command-line parameters.<br />
<br />
Implementation is based on GetLanguageIDs procedure from GetText unit, but is rewritten to have the following properties:<br />
* Language and country codes are always returned in ISO formats on Windows.<br />
* Unix locale identifier is properly parsed and language/country codes are properly extracted.<br />
* Don't assume that language code is always two-letter (ISO 639-1), it can have bigger length (e. g. three letters, like in ISO 639-2).<br />
* Locale ID is returned in a record type. This will allow to return additional fields in backwards-compatible manner in future. Currently it contains language code, country code and language ID (combination of language code and country code).<br />
<br />
These functions are used now throughout the Lazarus codebase. This greatly improves automatic language detection and loading of correct translations by Lazarus:<br />
* Three-letter (ISO 639-2) language identifiers are no more truncated to two letters. Thus, translations for such languages will be correctly loaded when available.<br />
* Previously on Windows some language and country codes were obtained in non-ISO format, which prevented correct loading of some translations, e. g. Chinese (zh_CN).<br />
* On Unix translations with country codes, like Brazilian Portuguese (pt_BR) or Chinese (zh_CN) are correctly loaded now.<br />
* macOS is now handled as any other Unix. This removes dependency on language list in Lazarus bundle (which had to be maintained manually) and thus fixes loading of Czech, Hungarian, Brazilian Portuguese, Ukrainian translations.<br />
<br />
==== LazUTF8 unit ====<br />
* Deprecated LazGetLanguageIDs (returns combination of language and country codes) and LazGetShortLanguageID (returns only language code) procedures.<br />
* Reason: this functionality belongs to Translations unit (calls of these procedures are almost always followed by calls to procedures from Translations unit), and these procedures are now thin wrappers of GetLanguageID function from Translations unit.<br />
* Remedy: use GetLanguageID function from Translations unit.<br />
<br />
==== LazUTF8Classes and LazUTF8SysUtils units ====<br />
Everything in these units was deprecated for a long time and now they were removed.<br />
LazUTF8SysUtils was earlier renamed to LazSysUtils and this deprecated version was left for a transit period.<br />
* Class TStringListUTF8 can be replaced with TStringList.<br />
* Class TMemoryStreamUTF8 can be replaced with TMemoryStream.<br />
* Global procedure LoadStringsFromFileUTF8 can be replaced with TStrings.LoadFromFile.<br />
* Global procedure SaveStringsToFileUTF8 can be replaced with TStrings.SaveToFile.<br />
* Functions NowUTC and GetTickCount64 can be found in LazSysUtils.<br />
<br />
===Components incompatibility===<br />
====LazControls====<br />
======TSpinEditExBase derived classes======<br />
* All derived classes form TSpinEditExBase must implement a SameValue method. This method is defined as an <b>abstract</b> method in TSpinEditExBase. <br />
* Reason: All derived classes used Math.SameValue. This is wrong for comparing integer types (even if is is safe when comparing relative small values).<br />
* Remedy: unfortunately you'll have to adjust your code.<br />
======TFloatSpinEditEx======<br />
* The property NumbersOnly is no longer published.<br />
* Reason: the property makes no sense for this control and only confuses users.<br />
* Remedy: if you really need NumbersOnly to be True, you must set it in code.<br />
====FpVectorial====<br />
* The <tt>Size</tt> element in the FPVectorial <tt>TvFont</tt> record is a floating point value now (type <tt>double</tt>).<br />
* Reason: Avoid rounding errors because the drawing coordinates are <tt>double</tt> already.<br />
* Remedy: There is rarely a chance that this change will have an effect on user code. Only when the font size is stored in a variable it must be declared as <tt>double</tt> rather than as <tt>integer</tt>.<br />
====TurboPower_ipro====<br />
* Type declarations and the html nodes were moved from unit IpHtml to separate units, IpHtmlTypes, IpHtmlClasses and IpHtmlNodes. This may break compilation of existing projects.<br />
* Reason: Improve maintainability of the extremely long unit IpHtml<br />
* Remedy: Add IpHtmlTypes, IpHtmlClasses and/or IpHtmlNodes to the uses clause of the project unit(s) when an "identifier not found" error referring to this package is reported by the compiler.<br />
<br />
== Other release notes ==<br />
<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Release Notes]]<br />
[[Category:Lazarus]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=157227Lazarus 3.0 fixes branch2023-09-02T19:02:58Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
*8c1e7bc4b0 IDE: Show the project name and build mode by default in the IDE title. Name variables and properties consistently.<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
* 4179f1b4 New Fixed removing of incorrect component properties in LFM with installed DockedFormEditor. {{LazIssue|40377}}.<br />
* bef70c1810 Docs: LCL/controls. Updates topics for changes in 53cd3db19c.<br />
* ba985a533e Docs: LCL/forms. Adds TApplication.GetControlAtPos topic for changes in 53cd3db19c.<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* b101a75d VirtualTreeView: fix building with Qt4 widgetset on non-x86 platforms (unify with Qt5 and Qt6 widgetsets), issue #40431<br />
* 57fe53bd VirtualTreeView: adjust IFDEFS for Qt4, Qt5, Qt6 widgetsets to enable asm code for both 32 bit and 64 bit x86 CPUs, issue #40431<br />
* 2a339f8c Qt,Qt5,Qt6: fixed borderless popup over parent form with FormStyle = fsStayOnTop. {{LazIssue|40440}}<br />
* 853461fe LCL: fixed TWinControl.SetChildZPosition, WS must be informed about change of order in any case. {{LazIssue|40450}}<br />
* 2885935b Qt,Qt5,Qt6: do not create dummy widget if wm name is empty or we are running under wayland. {{LazIssue|40413}}<br />
* e2f0b349 Gtk2: do not create dummy widget if WM name is empty, also reduce looping on slow systems. {{LazIssue|40413}}<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156963Lazarus 3.0 fixes branch2023-07-26T10:51:10Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* a4aa3e0a56 OpkMan: Update version list.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
*318fa86019 IDE: Remove the "Ignore" option for uninstalling dependent packages. Fix the "Cancel" option.<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156941Lazarus 3.0 fixes branch2023-07-22T07:53:37Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
*4ed8ff9b1c IDE: Prevent an error "Unable to find the component class ..." with an .lfm file open in editor. Part of issue {{LazIssue|40377}}<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
* b9cdb23eed Docs: LCL/forms. Clarifies content in NewFormWasCreated and AddHandlerNewFormCreated topics in TScreen. Depends on 3844d008, 5a647cd4.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156938Lazarus 3.0 fixes branch2023-07-21T12:27:30Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. {{LazIssue|39288}}<br />
* fd2593f05b IDE: Improve removing unknown component properties. {{LazIssue|40377}}<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. {{LazIssue|39288}}<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156937Lazarus 3.0 fixes branch2023-07-21T12:22:48Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 5a647cd4e1 DockedFormEditor: Solve the unrecoverable loop differently. Add a new handler for it. Issue #39288.<br />
* 3844d00814 Docs: LCL/forms. Adds TScreen, TScreenNotification topics for changes in 5a647cd4. Issue #39288.<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156928Lazarus 3.0 fixes branch2023-07-18T10:09:38Z<p>JuhaManninen: /* Internal Merge requests for 3.0RC2 */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156925Lazarus 3.0 fixes branch2023-07-17T22:47:51Z<p>JuhaManninen: /* Submitted by developer / committer, tested, waiting to be merged */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
* ed7945efe2 IDE: Load and save AutoSaveActiveDesktop value. It was left out in EnvironmentOptions refactoring.<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninenhttps://wiki.freepascal.org/index.php?title=Lazarus_3.0_fixes_branch&diff=156924Lazarus 3.0 fixes branch2023-07-17T19:58:39Z<p>JuhaManninen: /* Submitted by developer / committer and waiting for testing (do not commit yet) */</p>
<hr />
<div><div style="font-size: 120%"><br />
{{Note| This page is used internally by the Lazarus team. <br/>The data in this page does not represent the full extent of what is included in the fixes branch/versions }}<br />
</div><br />
<br />
&nbsp;<br />
<br />
<div style="font-size: 150%"><br />
For a list of what was merged to the '''Fixes''' branch please visit:<br />
<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0 List of fixes merged to the fixes branch]]<br />
::<br />
* [[https://gitlab.com/freepascal.org/lazarus/lazarus/-/milestones/1 List of issues fixed in Version 3.0]]<br />
</div><br />
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.<br />
<br />
&nbsp;<br />
<br />
&nbsp;<br />
<br />
__TOC__<br />
<br />
<br />
This page contains the revisions to be merged from main branch to the [https://gitlab.com/freepascal.org/lazarus/lazarus/-/commits/fixes_3_0/ Lazarus 3.0 fixes] branch.<br />
<br />
These are only fixes made after the branch was created. For other fixes made since the previous release (2.2) see Git and [[Lazarus_2.2_fixes_branch|Lazarus 2.2 fixes branch]].<br />
<br />
Release notes can be found [[Lazarus 3.0 release notes|here]].<br />
<br />
== Internal Merge requests for 3.0RC2 ==<br />
<br />
=== Open Merge requests ===<br />
<br />
==== Submitted by others / waiting for sign off by team member ====<br />
<br />
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====<br />
* e95cadd0 Win32: fix MDIChild form not updating Top/Left. {{LazIssue|40232}}.<br />
* 48b1419e TTaskDialog: make the flag tfNoDefaultRadioButton actually work.<br />
* 69614e3959 Docs: LCL/lcltaskdialog. Updates TTaskDialog.Execute for changes in 48b1419e.<br />
* a4c9080f TListBox: fix SelCount in case HandleAllocated = False. {{LazIssue|40361}}.<br />
* a0e4b5d35a Docs: LCL/stdctrls. Updates TCustomListBox.SelCount for changes in a4c9080f. Issue #40361.<br />
* 0c056fc0d2,d9608a3489,27f6e20118 IDE: Remove unknown component properties using the same GUI already used in other situations. {{LazIssue|40377}}<br />
* ebad154bc6 DockedFormEditor: Prevent an eternal loop when an invalid LFM file causes a read error. {{LazIssue|39288}}<br />
* a236313f5f DockedFormEditor: Fix a missing Result value of TDesignForms.Add().<br />
<br />
==== Merge conflicts ====<br />
<br />
==== Submitted by developer / committer, tested, waiting to be merged ====<br />
<br />
=== Processed Merge requests ===<br />
*95da84ff94, bf0878f8f9 IDE: Fix saving PathMode in SearchResultsView always. {{LazIssue|40352}}.<br />
*f0a8e22c EditBtn: publish property Alignment for some TCustomEditButton descendants.<br />
*c3891ad820 Reduce compiler warnings.<br />
*4db3bb880c Svn2RevisionInc: Do not warn about missing SVN client. {{LazIssue|40359}}.<br />
*d8405a9db8 AnchorDocking: Reduce compiler warnings.<br />
*a448e619 TTrackBar.ScalePos: not supported on Win32, Cocoa, QT, QT4, QT6.<br />
*606ef3eac7 IdeConfig: Improve recursive macro cycle detection in TransferMacros. Prevents a frozen IDE. {{LazIssue|33151}}.<br />
*3ea8fbcca2 Docs: LazUtils/lazutilities. Updates content for topics added in e3691f68.<br />
*6717565e9b GTK3: Fixes missing end tags in gtk3/issues.xml. https://forum.lazarus.freepascal.org/index.php/topic,63867.msg484990.html#msg484990<br />
*479ff9635e Codetools: Support more modifiers in class method. {{LazIssue|40368}}.<br />
*bb83fdd273 simplewebservergui: fixed run on older windows, loading GetTcpTable2 via GetProcAddress<br />
*e4494cf4cd LCL-GTK2: Allow right-to-left selection of long text in TEdit with mouse. {{LazIssue|40379}}<br />
<br />
== Roadmap to 3.0 ==<br />
<br />
The release process will consist of the following steps.<br />
* Creation of 3.0 fixes branch. (Done 25 June 2023)<br />
This is the start of the stabilization process before a new Lazarus release.<br />
<br />
* Release of 3.0 RC 1 (Done 03 July 2023)<br />
This will be the first Release Candidate. We would like to urge all users to test this version.<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 2 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of 3.0 RC 3 (TBD)<br />
The testing period is scheduled to last 2 weeks.<br />
<br />
* Release of Lazarus 3.0 (TBD)<br />
Users can download the new stable version.<br />
<br />
<br />
=== Tests ===<br />
*Menu item exists<br />
*Clear pcp directory and start IDE, a new project application with a form should be visible<br />
*Double click on form - a FormCreate event should be created<br />
*Check View / IDE internals / What needs building - no package should need building, only the project<br />
*Restart the IDE - there should be no warning about upgrading<br />
*Install the package cody, after restart the component palette should show the component TCodyTreeView<br />
*Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.<br />
=== Tagging release ===<br />
* GIT merge requests of this page<br />
* For a RC tag in gitlab before increasing the version in the sources 'tagged 2.2.0RC2 as lazarus_2_2_0_RC2'<br />
* set version in fixes_2_2 branch:<br />
** open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog 2.2.0.1 for RC1, 2.2.0.2 for RC2, 2.2.0.3 for RC3, 2.2.0.4 for final<br />
** lazarus/ide/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)<br />
** lazarus/components/lazutils/lazversion.pas 2.2.0.1 for RC1, 2.2.0.2 for RC2, ... 2.2.0.4 for final<br />
** lclbase.lpk<br />
** lcl.lpk<br />
** lazarus/lazarus.app/Contents/Info.plist<br />
*** CFBundleShortVersionString "2.2.0"<br />
*** CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release<br />
** tools/install/linux/environmentoptions.xml same as version.inc<br />
** tools/install/win/environmentoptions.xml same as version.inc<br />
** tools/install/macos/environmentoptions.xml same as version.inc<br />
** check lpl files by running "./tools/lplupdate -c" and do the git mv commands<br />
** Update makefiles: Make sure '''Additions and Overrides''' are empty and run <br />
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles<br />
* check that ide/lazarus.lpi and ide/lazarus.res have changed:<br />
git status<br />
* git add .<br />
* git commit -m 'set fixes version to 2.2.0RC1'<br />
* git push origin<br />
* Tag fixes_2_2 branch in gitlab to lazarus_2_2_0_RC1 (or lazarus_2_2_0 for final release)<br />
** https://gitlab.com/freepascal.org/lazarus/lazarus/-/tags<br />
** Use "create from" fixes_2_2<br />
* For a non RC release:<br />
** Set version to next version in git main<br />
* Create new section on this page and move waiting merge requests to the new section<br />
* upload packages<br />
* update checksums: https://gitlab.com/freepascal.org/lazarus/website site/pages/checksums.html<br />
* every 5min a preview can be viewed here: https://test.lazarus-ide.org/index.php?page=checksums<br />
* Mail to Marc to update website from svn<br />
<br />
== Other branches ==<br />
{{Navbar Lazarus Release Notes}}<br />
<br />
[[Category:Lazarus]]<br />
[[Category:Branches]]</div>JuhaManninen