Difference between revisions of "Lazarus 2.0 fixes branch"

From Free Pascal wiki
(Merged revisions for 2.0.0RC3)
Line 5: Line 5:
Release notes can be found [[Lazarus 2.0.0 release notes|here]]
Release notes can be found [[Lazarus 2.0.0 release notes|here]]
== Fixes for 2.0.0RC3 ==
== Fixes for 2.0.0RC4 ==
=== Merge requests ===
=== Merge requests ===
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====
==== Submitted by developer / committer and waiting for testing (do not commit yet) ====
Line 15: Line 15:
==== Submitted by developer / committer, tested, waiting to be merged ====
==== Submitted by developer / committer, tested, waiting to be merged ====
=== Merged revisions for ===
=== Merged revisions for 2.0.0RC4 ===
=== Merged revisions for 2.0.0RC3 ===
== Fixes for 2.0.0RC3 (merged) ==
*r59374 IDE: Update unit path for all build modes also when creating a new unit. {{MantisLink|34413}}
*r59374 IDE: Update unit path for all build modes also when creating a new unit. {{MantisLink|34413}}
*r59378 IDE: Add high-dpi icons for images and images/codeexplorer (provided by Roland Hahn)
*r59378 IDE: Add high-dpi icons for images and images/codeexplorer (provided by Roland Hahn)

Revision as of 13:26, 20 December 2018

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

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

Release notes can be found here

Fixes for 2.0.0RC4

Merge requests

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

  • r59647 LCL: fixed TreeItem text is centered instead of left justified. Issue #0034461

Merge conflicts

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

Merged revisions for 2.0.0RC4

Fixes for 2.0.0RC3 (merged)

  • r59374 IDE: Update unit path for all build modes also when creating a new unit. Issue #34413
  • r59378 IDE: Add high-dpi icons for images and images/codeexplorer (provided by Roland Hahn)
  • r59376 debugger: fix pseudo terminal, only memo needs monospace. Issue #0034192
  • r59382 Installer, Win: Allow adjusting install dir, in case of 2ndary/multiple installs.
  • r59384 Installer, Win: Prevent a crash, if installing 2ndary into same path, as previous (removed) primary installation. / Added logging.
  • r59386, r59385 EditorOpts: Add warning, if outline has no colors set
  • r59375, r59377 IDE: Remove unused resource strings.
  • r59379, r59388 IDE: regenerated translations and updated Russian translation
  • r59450 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 34492
  • r59402 Ensure bookmark menu is updated if files are opened/closed. Those files may have bookmarks in the session, that will be set for the editor. Part of Issue #0034194
  • r59395 IDE: Try to switch path delimiters only for filenames when reading TCompilationToolOptions.Command. Issue #34476
  • r59396 IDE: Switch path delimiters only for filenames better for TCompilationToolOptions.Command. Issue #34476
  • r59431 IDE: New high-dpi images for folder images/componenttreeview (by Roland Hahn)
  • r59432 IDE: Add high-dpi images for folder images/codetoolsdefines (by Roland Hahn)
  • r59434 IDE: Update copyright.txt (authorship of images used by IDE). Issue #0034487
  • r59447 IDE: New high-dpi images for folder images/states (by Roland Hahn)
  • r59416 LazUtils: Raise exception in UTF8To... functions, controlled by a global boolean. Issue #33686
  • r59436 LazUtils: Add LazUTF8SysUtils with "deprecated" warnings. The unit was renamed earlier.
  • r59439 Debugger, asm dialog: fix mouse wheel scrolling
  • r59443 Lldb/Gdb - FpDebug: fix crash in pretty printer when called from lldb/gdb mixed debugger (MemManager not set)
  • r59445 lldb debugger: Fixed "stop" => now works while running. Implemented "pause"
  • r59440 IDEIntf: Allow to add sliced images to the image list editor of the multi-res imagelist (see https://forum.lazarus.freepascal.org/index.php/topic,43088.msg301126.html)
  • r59441 IDEIntf: Use resourcestrings for button "Add sliced" in ImageListEditor
  • r59442 IDEIntf: Clean up of unused variables in r59440
  • r59448 IdeIntf: fixed ellipsis inconsistency, regenerated translations and updated Russian translation
  • r59453 IDE: open package link check if directory
  • r59455 IDE: packagelink: do not expand empty package link filename
  • r59457 codetools: do not automatically pass -Fr to pas2js
  • r59468 lcl: fixed TComboBox.ReadOnly deprecated text
  • r59462 IDE: Additional high-dpi icons for folder images/designer (by Roland Hahn)
  • r59466 IDE: Updated high-dpi z order icons (by Roland Hahn)
  • r59470 IDE: Add missing images from images/designer (issue #34514).
  • r59463 IDEIntf: Update German translation, fixed ellipsis inconsistency
  • r59469 IDE: Improved German translation of z-order menu captions.
  • r59471 Translations: regenerated German translation
  • r59476 rpm: workaround for fpc putting libpas2jslib.so in wrong directory on arch64
  • r59477 rpm: libpas2jslib.so
  • r59478 LCL: Set TPopupNotifier's Color to clInfoBk instead of $DCFFFF (see https://forum.lazarus.freepascal.org/index.php/topic,43125.msg301479/).
  • r59481,59482 (ONLY for win64): Debugger-Gdbmi: fix setting internal breakpoints by address only. // Add "step to except" for win64 (SEH). No "step to finally" yet
  • r59483 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 34519
  • r59490 SynEdit: fix showing caret, after getting focus. Issue #0034527, Issue #0034506
  • r59491 lldb debuggers: added license info / fp-lldb now beta
  • r59493 Opkman: Add high-dpi icon for the IDE (by Roland Hahn)
  • r59494 lldb-fp debug: Makefiles
  • r59495 fp debug: Makefiles
  • r59496 fix Makefiles
  • r59497 Added lldb, lldb-fp to BigIde
  • r59498 Remove the pure lldb debugger from pre-installed debuggers
  • r59499 IDE: Small update of German translation
  • r59500 IDE: fixed save file as dlg rename pascal file lowercase
  • r59504 macos dmg: default debugger TFpLldbDebugger
  • r59506 IDE: New high-dpi Windows file type icons (by Roland Hahn)
  • r59510 Fix compilation with debug define
  • r59511 LazDebuggerFp: fix mem leaks in logging code.
  • r59521 LazDebuggerFp: Fix/Implement "Reset Debugger" / Refactor: Use LockRelease from base class.
  • r59525 FpDebug: fixed a memory leak, when the debugged process forked child processes.
  • r59526 VTV: Prevent building failure on the following architectures: arm64, armel and armhf(issue #34329).
  • r59528 TAChart: Fix panning error of TAreaSeries (caused by r58562, see https://forum.lazarus.freepascal.org/index.php/topic,43182.0.html).
  • r59538 FpDebug: temporary workaround to display widestrings (actually pwidechar^)
  • r59539 FpDebug: temporary workaround to display widechar
  • r59540, r59564 Translations: Czech translation update by chronos, bug 34549
  • r59543 Packager: Add BorderSpacing values for controls in IDE package graph dialog (Issue #34553).
  • r59544 IDE: Improve layout of Publish Project dialog. Issue #34547
  • r59547 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 34555
  • r59548 Translations: Ukrainian translation update by Olexandr Pylypchuk, bug 34554
  • r59552 FpDebug: Windows, fix leaking filehandles / more (temp) fixes for not processing forked children
  • r59556 LazDebuggerFp: added auto-typecast for objects (watches, inspect / not working for hints)
  • r59557 FpDebug: format structured values (class) as one line per field
  • r59558 LazDebuggerFp: return typeinfo for watches
  • r59559 codetools: added TCodeCache.ClearAllModified
  • r59560 IDE: fixed clear modified files on close project
  • r59563 FpDebug: fix memleak if no loader for file format is found
  • r59566 Qt5 cbindings:added static QPrinterInfo_availablePrinterNames() which returs QStringList. part of Issue #34558
  • r59568 LazDebuggerFp: fix missing result for dcPause
  • r59581 IDE: ask new componentname dialog: fixed uninitialized result
  • r59590 Qt/Qt5: fixed LCLIntf.CreateCaret() and LCLIntf.ShowCaret() result. Issue #34653
  • r59592 Qt5: added QPrinterInfo_availablePrinterNames().part of Issue #34558
  • r59593: Qt5: use QPrinterInfo_avaliablePrinterNames() instead of old QPrinterInfo_availablePrinters(). Issue #34558
  • r59594: Qt5: fixed crash when caching papers. part of Issue #34558
  • r59595 Qt/Qt5: implemented WP_SMALLCAPTION. Issue #34459
  • r59597 LazDebuggerFp: Fix accessing property of nil object / CurrentThread may be nil.
  • r59617 Translations: Chinese translation update by robsean, bug 34579
  • r59584 SynEdit: fix caret blinking during code-completion drop down, if persistent-caret-is-none-blinking
  • r59596 SynEdit: (Win10 issue only) fix for "ghost" images of text-caret on Windows 10, in certain conditions where part of the editor is outside the physical screen.
  • r59586 LCL: Read a streamed WideString CollectionItem property correctly. Issue #34561
  • r59621 LCL: Win32: Fixed PageControl corrupts display when TabPosition is tpLeft or tpRight. Issue #34577
  • r59607 LazDebuggerFp: Fix crash, if string read from debugged app is nil / debugged app exception info
  • r59608 LazDebuggerFp: more nil handling safety
  • r59625 Debugger: fixed breakpoint actions (take snapshot) for address and data breakpoints
  • r59614 LazLogger: fixed crash in assign
  • r59636 IDE: fpc msg parser: check for Warning too, bug 34582
  • r59683 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 34610
  • r59698 Translations: French translation update by Gilles Vasseur, bug 34616
  • r59637 Qt,Qt5: fixed ScrollWindowEx() when contains SW_SCROLLCHILDREN flag. Issue #34589
  • r59652 Qt,Qt5: removed old workaround in DrawText() - MacOS. Issue #34587
  • r59653 Qt5: fixed crash when printing image under MacOS. Issue #34598
  • r59654 Qt5: fixed BringToFront() for TCustomForms under MacOS. Issue #34599
  • r59667 Qt: fixed drawText() background painting when BkMode = OPAQUE - MacOS only. Issue #34587
  • r59642 TAChart: Fix typo in German translation.
  • r59661 TAChart: regenerated German translation
  • r59648 Gtk3: removed workaround in GetTextExtentPoint() so it returns correct width of text.
  • r59651 LCL: Support autocompletion in TComboBox for single-letter text, too. Issue #34566
  • r59666 LCL: Fix unbound dblookupcombobox autocomplete, based on fix from melwinek Issue #34298
  • r59668 LCL, missing change from r59666
  • r59655 LazDebuggerFp: handle "ignored exceptions" list
  • r59656 LazDebuggerFp: deal with fpc info for nested procs variable scopes.
  • r59678 LazDebugger(Fp)LLDB: fix, check for ignored exceptions
  • r59679 LazDebugger(Fp)LLDB: fix getting class-name for exceptions
  • r59680 LazDebugger(Fp)LLDB: fix memory leak
  • r59692 FpDebug: print type-name for structured types
  • r59693 Debugger: Fix wrong class for threads.
  • r59665 fpvectorial: Reduce default border width of table cells from 1mm to 0.5pt (see https://forum.lazarus.freepascal.org/index.php/topic,43322.msg302997).
  • r59708 Qt,Qt5: fixed wrong PPI calculation (MacOS only). Issue #34625
  • r59709 Qt5: fixed Font.Height value inside TQtWidgetSet.InitStockFont() (MacOS only). Issue #34625
  • r59711 Qt: fixed Font.Height value inside TQtWidgetSet.InitStockFont() (MacOS only). Issue #34625
  • r59714 Qt5: Fixed showing of popup window over modal form. eg TDateTimePicker calendar. (MacOS only)
  • r59756 cocoa: making sure that TEdit and TComboBox (editable) are trully single line
  • r59755 cocoa: additional code to handle unassigning of trayicon menu
  • r59754 cocoa: menus - fix cocoa app mem leak for allocated TcocoaMenuItems
  • r59753 cocoa: update menus to be able to remove separator items
  • r59752 cocoa: update removal of menuItems. Removing an item from parent menu rather than from parentItem's menu. #34602
  • r59751 cocoa: update printing component to use LCLObjCBoolean type
  • r59750 cocoa: update type cocoawsmenu type switching from boolean to LCLObjCBoolean. #34609
  • r59749 cocoa: registering cocoadatepicker unit with lcl.lpk
  • r59748 cocoa: cleanup in calendar (datepicker) component - removing unused units. #34609
  • r59747 cocoa: cleanup in calendar (datepicker) component. #34609
  • r59746 cocoa: move NSResponderHotKeys to cocoawindows.pas unit. #34609
  • r59726 cocoa: update OpenGL component to use LCLObjCBoolean type (rel #34609)
  • r59725 cocoa: updating LCL overrides to recognize different boolean types used in FPC headers. #34609
  • r59674 cocoa: fix the issue with using enclosing scrollView for mouse position check. #34516
  • r59646 cocoa: any font can utf8 (unicode)... even if it doesn't. #34594
  • r59645 cocoa: using additional storage for keeping checked state of a checklist items. #34590
  • r59628 cocoa: reporting extended UTF8 character as a question mark for ansi char
  • r59627 cocoa: Fixes TTabControl, it previously was placing controls inside it with Left=0 as if they had Left=-20, because NSTabView is not meant to receive views inside it like that, we need a different handle for TTabControl and TPageControl
  • r59620 cocoa: restoring the code to identify VK code based on the character (support for Dvorak keyboards). Any national characters would still be determined based on keyCode. Suggested by Zoë Peterson
  • r59492 Printers: Support for Cocoa printing, updated examples.
  • r59397 cocoa: patch by David Jenkins - forcefully invalidate the content document for manual scroll. Should help with redrawing customcontrols for 10.14. #34478
  • r59380 cocoa: preventing spinedit value from being change while destroying the handle. #34468
  • r59363 cocoa: update the behaviour of GetFocus function to use HandleView stored with callback object. #34450
  • r59362 cocoa: using Device colorspace, instead of Calibrated colorspace for GDI objects. #34427
  • r59331 cocoa: additional methods (nsview, nscontrol, nsbuttons, nstextfield) for handling fpc issue #34411
  • r59330 cocoa: additional methods for handling fpc issue #34411
  • r59329 cocoa: workaround for a problem with 64-bit boolean parameter passing (see fpc issue #34411 for details)
  • r59273 cocoa: prevent listview premature handle allocation. Fixes the issue of IDE not being able to add list view onto a designer form
  • r59252 cocoa: fix combobox onchange which fixes also lazreport designer on second opening and also fixes issue #33800
  • r59251 cocoa: preventing too high values on measuring text with soft-line breaks. #34382
  • r59250 cocoa: fix compiler warning
  • r59249 cocoa: update deallocation of read-only combobox
  • r59247 cocoa: fix the combobox itemindex when the new text is not the list
  • r59238 cocoa: fix drawing overlays - resing overlay designer view to the form
  • r59237 cocoa: dereferncing tracked control earlier
  • r59236 cocoa: improve mouse handling of spinedit
  • r59235 cocoa: fix controls leaking spinedit
  • r59234 cocoa: memory management - removing unneeded autorelease pools. There's one global and one per each event
  • r59233 cocoa: fix for a memory leak in overlay (designer) form
  • r59232 cocoa: memory management - removing unneeded autorelease pools. There's one global and one per each event
  • r59231 cocoa: memory management - removing unneeded autorelease pools. There's one global and one per each event
  • r59206 cocoa: update insertion and removal of rows in cocoa table (fix implementation from #34319)
  • r59205 cocoa: fix the conversion between WS to LCL tab index #34361
  • r59196 cocoa: adding a check for TCocoaTextLayout.Draw procedure. Do nothing if string is empty or invalid. Prevents SynEdit crashes for unicode characters
  • r59195 cocoa: update key processing, adding more exception for non-printable keys
  • r59189 cocoa: updating drawing of ownerdrawn statusbar
  • r59188 cocoa: removed redundant key emulation events (introduced with #32829). With the latest changes in key handling events those are no longer needed
  • r59187 cocoa: implementing owner drawn for status bar panels. #34338
  • r59185 cocoa: additional control over cocoa window levels
  • r59183 cocoa: adding exception for processing key equivalents and return key, if a first responder is capable of processing the return key. #34354
  • r59179 cocoa: update key event handling. Not all characters from macOS are suitable for LCL KeyPress
  • r59178 cocoa: using a single place to process keyDown event related to LCL callbacks
  • r59164 cocoa: the first oddity of modal sessions. Context Menu would not call an action to indicate the menu item selected #34325
  • r59163 cocoa: propagating LM_CONTEXTMENU to parents
  • r59141 cocoa: restore key processing, to let hot keys to triggers... odd
  • r59140 cocoa: minimze table view invalidation on add / delete items. #34319. Patch by David Jenkins
  • r59135 cocoa: adding support for focus rect of TMemo
  • r59134 cocoa: restoring keyboard processing events for NSWindow. #34301
  • r59132 cocoa: update menus switch in modal. The proper menu history save for modal windows without a menu
  • r59131 cocoa: improve tracking of menu changes when modal dialogs are switching. Merged menu routines from coocaojbect.inc into cocoaint.pas
  • r59130 cocoa: removed the previously added hack for modal window on activation. Doesn't work on every macOS, as well as causing some issues
  • r59129 cocoa: update modality using modalitySessions (to keep event processing in place)
  • r59107 cocoa: making sure that window with popup_parent would stay above when attaching to the parent (and remain a keywindow). #34301
  • r59106 cocoa: update attachmenu process, so NSMenu can be added into NSMenuItem as a subitem. #34293
  • r59105 cocoa: adding the support for TDisplayCode to determine a rectangle in ListView. Based on patch by David Jenkins. #34312
  • r59104 cocoa: proper selection of an image index for a sub-item in listview. #34313. Patch by David Jenkins
  • r59103 cocoa: allow autosized columns to be user sized as well. #34311. Patch by David Jenkins
  • r59102 cocoa: restore radio-menues functionality. #34310
  • r59088 cocoa: support for Services menu
  • r59087 cocoa: an attempt to resolve the issue during crashes, if a (cocoa) modal window is called during Activation of a window
  • r59086 cocoa: fix the compiler warning
  • r59065 cocoa: reverting an attemtped workaround (r59060) to fix the problem with a modality during windows activate
  • r59063 cocoa: remove debugging output
  • r59062 cocoa: update keyDown handling for custom controls
  • r59061 cocoa: simplify and more robust mac to LCL virtual key codes conversion
  • r59060 cocoa: working around macOS problem with transactions during making a keyWindow
  • r59058 cocoa: removing tabControl workaround
  • r59057 cocoa: replacing default keyDown handling routine, with a cusomized one. The reason: unable to fully predict the event processing within Cocoa, causing some keys to be lost
  • r59039 cocoa: reduce the amount of focus (responders) related code. Process the focus handling in NSWindow only (rather than each control individually). Update tab switch notification to report tab change prior to focus switch
  • r59036 cocoa: fix in TListBox.setItemIndex to replace the selection, rather than extend it. #34290
  • r59035 cocoa: added code, but not enforcing it for change in border style of TComboBox
  • r59034 cocoa: update combobox (NSComboBox) to retain the selection after reopenning the popup window
  • r59033 cocoa: preventing NSTabView to appear in chain of responders. That should prevent key event loss. (a very odd cocoa feature)
  • r59029 cocoa: update mainmenu implementaiton. Added support for Hide Others and Show All menu items
  • r59028 cocoa: resolve mem leak in listbox custom draw
  • r59027 cocoa: extend support of CGContextRef (for macOS 10.10 and later). Adding init of context for custom drawn dropdownlist
  • r59026 cocoa: adding cocoawschecklst.pas to the list of units in lcl.lpk file
  • r59025 cocoa: adding support for borderstyle of a customchecklist box
  • r59024 cocoa: support of BorderStyle property for the common rectangular controls
  • r59023 cocoa: restore filtering of ampersands in menu titles
  • r59022 cocoa: fix compilation issue made by the prev commit
  • r59021 cocoa: initial support for enabling/disabling menus on ShowModal
  • r59020 cocoa: remove the direct reference between TCocoaWindow and LCLForm
  • r59019 cocoa: switch paintstruct back from dynamic (originally changed back in 2012) to static. Saving on heap change call
  • r59017 cocoa: prevent MainMenu from being set on a designed form
  • r59015 cocoa: remove lclIsHandle method completetly. Handle use is defined on WS level and stored with the callback object
  • r59014 cocoa: rename frame view to handleview. HandleView would be used as HWND for any composed control
  • r59727 FpDebug: Disable assert, until fixed
  • r59728 FpDebug (incl lldb/gdb): Fix crash due to wrong cache removed from list. List could have 2 caches with same address, if a smaller cache was replaced by a bigger. Remove could destroy one and remove the other
  • r59729 FpDebug: (Linux/Mac) Do not keep files open longer than needed. Systems may limit max files open. (Mac opens many files)
  • r59740 FpDebug: Windows, Check dwDebugEventCode before accessing case dependent data
  • r59741 FpDebug: Windows, fix leaking filehandles (again), see r59552 / needed until forked processes are handled.
  • r59742 LazDebuggerFp: fix getting exception class/msg for 64bit targets
  • r59743 Debugger: Limit size of exception message/window
  • r59745 FpDebug: fix accessing nil fileloader. Introduced in rev 59729 / Issue 0034657
  • r59737 Qt: fixed TListView Style=vsReport + TListView.Checkable=True - no mouse move events. Issue #0034656. Fixed TListView with Style vsReport + visible columns - it is possible to move columns without LCL interaction.Issue #0034655
  • r59738 Qt5: TListView with Style vsReport + visible columns - it is possible to move columns without LCL interaction. Issue #0034655
  • r59739 Qt5: TListView Style=vsReport + TListView.Checkable=True - no mouse move events. Issue #0034656
  • r59758 Qt5: added missing consts for QFontDialog options.
  • r59760 LCL: Rename function NewLineMI back to NewLine for Delphi-compatibility. Issue #34667.
  • r59783 Opkman: do not try to download package list on IDE startup if update interval is set to 'never', patch from Balázs
  • r59761,59762,59764,59770,59772 Qt5: implemented native TCustomEdit.TextHint property. Issue #0034670
  • r59771 Qt,Qt5: do not touch MDI stack order if we are hidden mdichild by minimizing application, or minimizing via pager under X11.
  • r59773 Qt,Qt5: show text when TComboBox is csOwnerDrawEditableFixed or csOwnerDrawEditableVariable during design time. Issue #0033295
  • r59774 Opkman: Set "Check for package updates" to never by default.
  • r59775 lazres: using LazLogger instead of LCLProc to get debugln, turned off warnings 6058, issue 34676
  • r59776 FpDebug: Fix Dwarf3 on 64bit. The The 32/64bit signature in the dwarf header should only affect references within the dwarf info. But by accident it affected constant addresses. This lead to truncation of some addresses, when dwarf-3 was used with 64 bit targets.
  • r59777 FpDebug: properly encode strings for display (unprintable chars as #$nn)
  • r59779 FpDebug: nil check, in case of corrupted debug info
  • r59787 LazDebuggerFp: Prevent crash, if debugger instance is destroyed before logging is handled.
  • r59807 LCL: Paint a cross mark also in TColorListbox for clNone. Issue #34632
  • r59821 LCL: AnchorDocking: Fixed Tab position setting is not saved and restored. Issue #33061
  • r59823 Printers, Fix printing regression under linux Issue #34680
  • r59829 paradox: Fix typo in Paradox blob file extension (.bm --> .mb), Issue #33884, patch by Bart Broersma
  • r59830 IDE: Don't enlarge IDE if MessagesView or CodeExplorerView is shown. Issue #34447
  • r59778 FpDebug: handle PWideChar (and WideString, if represented as PWideChar)
  • r59780 FpDebug: detect ShortString under dwarf-2
  • r59794 FpDebug: started/partly detect strings in dwarf-3
  • r59802 LazDebuggerFpLLDB: Fix potential dangling pointer in Locals eval.
  • r59805 LazDebugger(Fp)Gdbmi: Fix potential dangling pointer in Locals eval.
  • r59806 LazDebuggerFpLLDB: Fix locals, need registers first
  • r59811 LazDebuggerFpLLDB: Enable capturing debug history (snapshots) on idle or break-action
  • r59812 LazDebuggerFpLLDB: load dwarf info in thread / process simultaneous with lldb
  • r59813 LazDebuggerFpLLDB: load dwarf info in thread / fix memleak
  • r59824 LazDebuggerFpLLDB: load dwarf info in thread / simplify clean up
  • r59696 LazDebuggerFp: linux, fix running process-access in debug-thread (needed when accessing outer vars for nested procs, for which stack has not yet been evaluated)
  • r59814 LazDebuggerFp: Implement conditional breakpoints
  • r59815 LazDebuggerFp: Implement conditional breakpoints / fix nil access
  • r59846 LazDebugger(Fp)LLDB: Show message on unexpected stop
  • r59848 LazDebuggerFpLLDB: fix mem leak in locals
  • r59850 LazDebuggerFpLLDB: fix mem leak in cache
  • r59851 Fix TCustomIcon.AssignImage / Add / UnshareImage. New images must be created according to FSharedImage.GetImagesClass. Otherwise "ci := TCursorImage.Create; ci.Assign(Some_TBitMap);" will crash.
  • r59861 FpDebug: Implemented watch for "SomeString[index]"
  • r59862 LazDebuggerFp: Fix, showing pchar and string version for index access of string/pchar
  • r59864 IDE/FlowPanel: Publish property BorderSpacing (Issue #34729, patch by Pavol S).
  • r59865 LCL: TWinControl: Fixed TGraphicControl.Cursor not working properly with TScrollBox. Issue #34714
  • r59866 LCL: Missed removing of capfHasScrollOffset in LCL. Needed for revision 59865.
  • r59825 FpDebug: Implement correct length for open-array params
  • r59872 FpDebug: Fixed Array of String for dwarf-3
  • r59870 FpDebug: Fixed Array of ShortString for dwarf2

Fixes for 2.0.0RC2 (merged)

  • r59016 LCL-GTK2: Do not truncate Groupbox caption. Issue #32621
  • r59018 LCL-GTK2: Fix TStaticText Width with Autosize. Issue #21877
  • r59030 TValueListEditor: fix DeleteRow Issue #0034208.
  • r59031 TFindDialog: fix setting Top/Left. Issue #0033528.
  • r59032 TCommondialog: do not publish Widht/Height properties. Issue #0033480. Patch by AlexeyT.
  • r59048 TFindDialog: slight improvement on r59031.
  • r59049 TFindDialog: use Position := poMainFormCenter in CalcPosition instead of trying to calculate that by ourselves. Patch by Serge Anvarov.
  • r59050 TFindDialog: save FFindForm position upon close.
  • r59064 Opkman: Bug fix: remove package compiling restriction.
  • r59066 IDE: clean up
  • r59077 IDE: fixed abstract method
  • r59079 IDE: less hints
  • r59041 IDE: Use safe typecast for TProjectCompilationToolOptions when building project.
  • r59042 Revert r59006 "IdeIntf: Add API for ExecuteCommand in CompOptsIntf." Must be done better.
  • r59043 IdeIntf: A new interface class TLazCompilationToolOptions with a Command and CompileReasons. Issue #34283.
  • r59044 IdeIntf: Improve the CompilationTool stuff. Remove and clean code. Issue #34283.
  • r59046 LCL-GTK2: Do not truncate Groupbox caption (fix for previous). Issue #32621.
  • r59047 LCL-GTK2: Fix TListView column widths. Issue #34044.
  • r59081 IDE: Add package name to hints for component palette icons.
  • r59083 TFindDialog/TReplaceDialog: show dialog poScreenCenter in IDE; fix erratic behaviour of TReplaceDialog in IDE (wrong parent). Issue #34297.
  • r59085 LCL: Improved layout of TFindDialog and TReplaceDialog, fix TabOrder.
  • r59094 LCL: Fix TCustomListbox not releasing Canvas handle in DestroyWnd Issue #34249.
  • r59095 Translations: Turkish translation update by Hakan KIZILHAN, Issue #34296
  • r59096 Translations: Spanish translation update by Alonso Cárdenas Márquez, Issue #34304
  • r59110 Opkman: Fix memory leak.
  • r59141 lazutils: removed duplicate code, Issue #34320
  • r59089 IDE: Bug fix: Deleting newly added CoolBar leads to error. Issue #34302.
  • r59091 IDE: Check package name validity correctly.
  • r59147 IDE: Improve logic for updating Application.Title statement. Now it gets removed, too. Issue #34318.
  • r59156 IDE: Add new Application.Title and .Scale statements after Application.Create line. Issue #34318.
  • r59170 IDE: Support 3 icons with different resolutions in "New Component" dialog. Improve the GUI.
  • r59172 IDE: cleaned up unused resource string
  • r59173 IDE: regenerated translations and updated Russian translation
  • r59176 IDE: In "New Component" dialog resize the buttons based on icon image size. Improve initial dir for selecting icon.
  • r59092 MainInspector: Fix a typo.
  • r59111 LCL-GTK2: Prevent flickering in TOpenGLControl. Turn DoubleBuffered off. Issue #33864
  • r59190 LCL-GTK3: Add typecasts for Color types. The code may still be wrong but can be tested with Range checks on.
  • r59191 LCL-GTK3: Fix menu radio group. Issue #34350.
  • r59118 Docs: Fix short description for function StringToColor.
  • r59125 LazUtf8: leftpad escaped characters in Utf8EscapeControlChars if EscapeMode = emPascal. Prevents ambiguity when reading the result.
  • r59169 LazUtils: Move ExtractFileNameWithoutExt to LazFileUtils. Rhymes with ExtractFileNameOnly.
  • r59175 Delete old deprecated methods.
  • r59177 LazUtils: Move more functions from FileUtils to LazFileUtilities, deprecate the old ones.
  • r59149 LCL: Add support for custom font of TSpeedButton (see https://forum.lazarus.freepascal.org/index.php/topic,42635.msg297800.html#msg297800, patch by Ondrej)
  • r59167 LCL: Fix incorrect checked state after deleting an item of a TCheckGroup. Issue #34327.
  • r59168 Split command line parameters also when "Run without Debugging".
  • r59197 TAChart: deprecate all reticule-related methods and properties (was incomplete). Less hints and warnings.
  • r59208 debuggerintf: less hints
  • r59210 fpdebug: less hints
  • r59212 ideintf: less hints
  • r59214 lazdebuggers: less hints
  • r59216 lazutils: less hints
  • r59218 turbopower_ipro: less hints
  • r59220 lcl: gtk2: less hints
  • r59222 Translations: Ukrainian translation update by Olexandr Pylypchuk, bug 34367
  • r59223 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 34368
  • r59225 LazControls: Improve and optimize the filter controls. Issue #34057
  • r59226 LazControls: Call DoFilterItem instead of DoDefaultFilterItem in TTreeFilterBranch.SortAndFilter.
  • r59227 IdeIntf: Delete old deprecated methods and properties.
  • r59268 IdeIntf: Improve timestamp updates of TLazCompilationToolOptions + inherited classes. Issue #34283
  • r59228 AnchorDocking: Prevent crash on drag-and-dock tab page. Issue #34371
  • r59229 LazReport: Delete old deprecated UTF8 functions.
  • r59230 TAChart: Remove old deprecated code.
  • r59239 TAChart: Check and fix all demos and tutorial projects (mostly layout issues)
  • r59241 TAChart: Fix TChartImageList demo.
  • r59243 TAChart: Extend dragdrop demo to show horizontal dragging of bars.
  • r59240 Packager: Allow overwriting existing unit files in New Component dialog. Error was shown AFTER a file was overwritten. Issue #26928
  • r59244 IDE: Always create project's main icon file when saving it. Keeps its size down. Issue #27287
  • r59245 IDE: Add initial directory for loading project icon in App options. Use IconImage.Picture.Icon everywhere.
  • r59246 IDE: Remove resource generation from DoBuildProject. They have been generated earlier. Issue #15915
  • r59248 IDE: Support running external tool with parsers, needed when used through IDE interface.
  • r59263 IDE: Reduce DebugLn() calls in Publish Module code. It seems to work.
  • r59266 IDE: New High-DPI images in folders images/items and images/packages. Kindly provided by Roland Hahn.
  • r59267 IDE: Use scaled images in trees of "Install/Uninstall packages" form.
  • r59272 IDE: Center icon and text vertically for each item in ViewUnit dialog. Issue #34402
  • r59254 LCL-Gtk2: Don't mix resizing a column with drag-and-drop. Issue #34393
  • r59262 LCL-GTK3: Fix TRadioGroup. It did not work at all. Issue #34396
  • r59270 LCL: Fix TBitBtn ignoring the Margin property on Windows. Issue #34379
  • r59259 TurboPower_iPro: Implement css function rgb().
  • r59271 TurboPower_iPro: Implement css function hsl().
  • r59275 Translations: Hungarian translation update by Péter Gábor, bug 34397
  • r59276 Translations: French translation update by Gilles Vasseur, bug 34403
  • r59287 LCL: Avoid SegFault of freshly created TCustomListview with owner-data (issue #34407, patch by Charles Grunwald).
  • r59289 chmhelp: Fix memory leak in TLHelpConnector (see forum https://forum.lazarus.freepascal.org/index.php/topic,42832.msg299208.html).
  • r59290 ideintf: Add high-DPI icons (provided by Roland Hahn)
  • r59291 IDE: Add missing high-dpi icons to folder images/menu (kindly provided by Roland Hahn)
  • r59292 IDE: Minor revisions of existing high-DPI icons (by Roland Hahn)
  • r59295 IDE: Add new (debugger) and revised High-DPI icons by Roland Hahn
  • r59296 IDE: Add forgotten icons from previous commits
  • r59301 IDE: Better alignment of Run icon to dropdown btn on toolbar (by Roland Hahn)
  • r59302 IDE: New High-DPI icons for Delphi-to-Lazarus conversion (by Roland Hahn).
  • r59297 SynEdit: Pas HL, fix folding/markup for code containing "case", if "case" is not enabled for fold/markup. Part 1 of Issue #0034410
  • r59298 SynEdit: Pas HL, fix markup if "procedure" is outlined, but top level "begin" is not. Part 2 of Issue #0034410
  • r59299 SynEdit: Pas HL, fixes for outline, if only some elements are outlined
  • r59300 SynEdit: Pas HL, fixes for fold, detecting "else" in "case", when previous if is nested in other commands
  • r59253,59285,59286,59293: Qt, Qt5: fixed OpenGL issues. Issue #32498 and Issue #34401
  • r59288 Qt5: must return to lcl event loop for X11 targets. Issue #34369
  • r59307 IDE: Add mssing High-DPI icons to images/actions (by Roland Hahn)
  • r59308 IDE: Replace icon "actions/preferences" (by Roland Hahn)
  • r59309 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 34426
  • r59310 Translations: French translation update by Gilles Vasseur, bug 34428
  • r59314 IDE/LCL: Modify some high-DPI icons for more consistent style (Roland Hahn)
  • r59319 IDE: Add high-DPI images for propertygrid and widgetset issues (by Roland Hahn).
  • r59321 IDE: Improve visibility of high-dpi issue_carbon icons on dark background (by Roland Hahn).
  • r59322 IDE/Restriction Browser: Fix visibility of icon on customdrawn button.
  • r59323 IDE/ObjectInspector: Fix size of widgetset icons on high-dpi screens.
  • r59328 IDE: Add high-dpi icons to images/lazdoc (by Roland Hahn)
  • r59318 lhelp: some formatting changes
  • r59320 TAChart: Fix numlib issue of returning 0 for exp() function (https://forum.lazarus.freepascal.org/index.php/topic,42913.msg299793)
  • r59324 Finnish translation.
  • r59342 IDE: regenerated/fixed Finnish translation
  • r59325 LCL-GTK2: Fix icon scaling in menuitems.
  • r59327 LCL: Do not store anchoring properties of TLabeledEdit.editLabel. It is controlled by property LabelPosition. Issue #34431
  • r59332 TFloatSpinEditEx: fix setting DecimalPlaces Issue #0034370
  • r59334,r59335,r59336 LCL-WinCE: Fix maximize, minimize and help buttons showing in window title bar
  • r59337 LCL-WinCE: Fix form centering for Position=poScreenCenter, poDesktopCenter
  • r59339,r59341 LCL-GTK3: Fix Splitter and its related code. Issue #34106
  • r59340 IDE: Don't let FindReplace dialog outside the monitor area. Issue #34436
  • r59350 Debugger: Fix DebugInspector stopped working after window was open with empty input. Issue #0034452
  • r59351 Debugger (gdb): Fix Debug-Inspector for dwarf3. Match fieldnames case insensitive. Depending on gdb, try to find the MixedCase version of any name. Issue #0034453
  • r59352 lazutils: fixed ExpandFileNameUTF8 for \\?\
  • r59353 debian: renamed debian package name from fpc to fpc-laz to avoid nameclash with ubuntu repos
  • r59357 IDE: Add unit/include file's path correctly to search path of a single build mode, too. Issue #34462
  • r59359 IDE: Show only the supported .ico format when opening project icon. Issue #34464

Roadmap to 2.0.0

The release process will consist of the following steps.

  • Creation of the SVN 2.0 fixes branch. (Done 15 Sep 2018)

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

  • Release of 2.0.0 RC 1 (Done 16 Sep 2018)

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

  • Release of 2.0.0 RC 2 (Done 29 Oct 2018)

The testing period is scheduled to last 2 weeks.

  • Release of 2.0.0 RC 3 (ToDo)

The testing period is scheduled to last 2 weeks.

  • Release of Lazarus 2.0 (ToDo)

Users can download the new stable version.


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

Tagging release

  • SVN merge requests of this page
  • Set version in fixes_2_0 branch
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog for RC1, for RC2, for RC3, for final
    • lazarus/ide/version.inc 2.0.0RC1 for RC1, no spaces! (2.0.0 for final release)
    • lazarus/components/lazutils/lazversion.pas for RC1, for RC2, ... for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/debian/changelog 2.0.0-1 for RC1, 2.0.0-2 for RC2, ... 2.0.0-4 for final
    • lazarus/lazarus.app/Contents/Info.plist
      • CFBundleShortVersionString "2.0.0"
      • CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release
    • tools/install/linux/environmentoptions.xml same as version.inc
    • tools/install/win/environmentoptions.xml same as version.inc
    • tools/install/macos/environmentoptions.xml same as version.inc
    • check lpl files by running "./tools/lplupdate -c" and do the svn mv commands
    • Update makefiles: Make sure Additions and Overrides are empty and run
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles
  • svn commit
  • Tag fixes_2.0 branch to tags/release_2_0_0_RC1 (or tags/lazarus_2_0_0 for final release)
svn copy svn+ssh://svn.freepascal.org/FPC/svn/lazarus/branches/fixes_2_0 svn+ssh://svn.freepascal.org/FPC/svn/lazarus/tags/lazarus_2_0_0_RC1 -m 'tagged 2.0.0RC1 as tags/lazarus_2_0_0_RC1'
  • Set version to next version in svn
  • Create new section on this page and move waiting merge requests to the new section

How to merge

See Lazarus_1.0_fixes_branch#How_to_merge

Other branches