Lazarus 0.9.24 release notes

From Lazarus wiki
Jump to navigationJump to search

English (en)


  1. commits: 1942
  2. log: svn log -r 10808:12750
  3. resolved bug tracker issues: 385 (according to mantis)

LCL Interfaces Major changes:

  1. The win32 widgetset interface can be used on win64 too and has been relabeled win32/win64.
  2. First stable release of the Windows CE version
  3. huge improvements in Carbon (by Tombo):
    • Improved TGraphicControl and TCustomControl descendants, scrolling, TSpeedButton and TSplitter.
    • Implemented TMainMenu, TPopupMenu, TStatusBar, TNotebook, T(Float)SpinEdit, TArrow, TPairSplitter.
    • Implemented regions and TClipboard.
    • Implemented TabOrder, TabStop and focusing.
    • Added TOpenDialog, TSaveDialog and TSelectDirectoryDialog from Philip J. Hess, TFontDialog.
    • Added TListBox, TCheckListBox from Giulio Bernardi.
  4. huge improvements in Qt (by Zeljko (Zeljan), Felipe, Den and Paul)
    • Improved TCustomControl descendants, TCustomEdit, TCustomComboBox, TRadioButton, TCheckBox, TTrackBar, TFontDialog, TSaveDialog, TOpenDialog ...
    • Implemented TScrollBar, TSpinEdit,TCustomListView, TCalendar, MDIForms, TCustomCheckGroup, TCustomRadioGroup, TColorDialog, TArrow, TCheckListBox, TToggleBox, THintWindow ...
    • Implemented winapi functions: clipboard, caret, capture
    • Implemented drag and drop.
    • Lazarus Qt IDE can be compiled & used :)
    • A lot of various improvements & bugfixes.
  5. huge improvements in Gtk2
    • the GTK2 IDE works pretty good and the overall stability is comparable to the gtk1. Some things work better in gtk2, some work better in gtk1. For compatibility reasons the gtk1 is still better and therefore still the default.
    • event handling of OnClick, OnChange, ... is now more compatible
  6. Bitmap rework: rawimage changed into object and reimplemeted to better handling of mask and alpha channel
  7. Imagelist rework. Using win32 native imagelist (with returning valid win32 handle).
  8. Removed gnome widgetset. The gnome specials are used in the gtk2 widgetsets anyway.
  9. Much improved unicode support with the win32/win64 widgetset

LCL Major changes

  1. New class TThemesServices (unit Themes) to support theming (Theme library).
  2. New component THeaderControl
  3. TMaskEdit contained copyrighted code. This code was removed and a bare minimum had been implemented to keep things compilable.

LCL Minor changes:

  1. Drag/Drop fixes
  2. Cursor fixes
  3. Various WinXp themes improvements (new speedbutton and splitter look, fixes)
  4. DBGrid improvements
  5. Various improvements and fixes in file dialogs (save/open file dialog, select directory dialog)
  6. New application and form event OnDropFiles (Drop files event)
  7. TBitBtn: implemented NumGlyphs from Giuliano Colla
  8. removed TRTLCtriticalSection, it is provided by the RTL now
  9. made TMenuItem.Caption and Hint translatable (TTranslateString)
  10. Moved the minimum necessary types and constants from commctrl to lcltype to allow compilation of gtk, gtk2, carbon and qt. Removed the commctrl unit as it is no longer needed.
  11. masks: added TParseStringList for parsing mask lists
  12. enabled loading of standard windows status icons instead of LCL
  13. Published Colorbox selection property
  14. grids: added gdSelected in addition to gdfocused
  15. FindNextControl returns first control, if the current control is not in the taborder list (fixes 9390) from Gerard Visent
  16. removed dummy function SetTextAlign, SetMapMode, GetMapMode
  17. translations: default charset is now UTF-8, gtk1 and win32 will disable this if needed
  18. removed TLeftRight, is now part of the classes unit
  19. moved TButton from buttons unit to stdctrls
  20. added procedure CloseDebugOutput to LCLProc unit
  21. derived T(Float)SpinEdit from TCustomEdit to remove redundant code
  22. added TColorBox.GetColor, TColorListBox.GetColor from Michael Van Canneyt
  23. published TFileListBox.Directory
  24. published Font and ParentFont for Radiobutton and Checkbox
  25. removed endian conversion functions, they are part of the fpc 2.0.4 RTL now
  26. removed HKEY_xxx constants from lcltype unit, fpc supplies them in the registry unit
  27. published TEditButton.CharCase and OnEditingDone for several TCustomEditButton descendants
  28. published TRadioGroup.AutoSize
  29. keep selected item list of a treeview ordered from Gerard Visent
  30. Forced graphic to be transparent when TImage is transparent
  31. TTrayIcon is now a standard component instead of an optional package
  32. autosizing parent control now work with childs anchored to parent
  33. added example how to load current .po file with the gettext uni
  34. changed TApplication.AddOnIdleHandler to use TIdleEvent instead of TNotifyEvent
  35. added TCustomSpeedButton.OnMouseEnter/Exit from Graeme


  1. Under linux the link /usr/bin/lazarus was renamed to /usr/bin/lazarus-ide. This means the IDE can no longer be started by typing 'lazarus'. Start the IDE with 'startlazarus' or 'lazarus-ide'. This solves a conflict with the tct package which already contains a program named 'lazarus'.
  2. debugging under mac osx
  3. Added Lazarus IDE Application Bundle for Mac OS X from Phil J. Hess
  4. added insert todo dialog from wile64
  5. identifier completion: adding := (can be disabled in environment / codetools options)
  6. new IDE package - editor toolbar (details will come from Graeme)
  7. modern icons in ide menu and some dialogs
  8. new build lazarus dialog look
  9. Ability to add xp manifest into windows executables (project options)
  10. improved and enabled creation of .lrt files and combining all .rst/.lrt files into one .po files per project from Luis Rodrigues
  11. added package option Provides (Package Editor / Options / Provides) - needed by KOL
  12. using sysutils.GetTempDir to find the temporary directory on windows
  13. added menu item Help -> Reporting a bug from Tom
  14. implemented auto invoking code templates on space
  15. code explorer: added directives page
  16. designer: implemented menu item: Change parent
  17. added various tests to Project / Compiler Options / Test to find common misconfigurations
  18. added workaround for the fact that windres (called by fpc 2.2.0) cannot find the preprocessor, if it is not on the path
  19. added Lithuanian to the list of translations
  20. added new project type: console application - a program using TCustomApplication
  21. added fpc component TEventLog
  22. codetools: now parses fpc 2.3.1 generics, simple find declaration for generics, added directives parser and optimizer, added tools to fix alias types and functions


  1. added LazReport

Other release notes