Lazarus 0.9.28 release notes

From Lazarus wiki
Revision as of 19:40, 20 August 2009 by Sekelsenmat (talk | contribs)

English (en) Español (es)

Lazarus 0.9.28 is not yet released. This page is under construction!


  1. commits: xxx
  2. log: svn log -r xxxx:xxxx
  3. resolved bug tracker issues: xxx

LCL Interfaces major changes

  • Gtk2 is now default widgetset on linux
  • Windows CE: Implemented TCalendar, TFloatSpinEdit, TOpenDialog and TSaveDialog.
  • Windows Vista, Window 7: reimplemented TBitBtn, TPopupMenu, TMainMenu drawing, fixed problems with auro snap feature.

LCL major changes

  • TFrame was added
  • TPen: cosmetic/geometric, Join Style, End Cap Style. For more information, see blog.
  • Most of component properties now have default values => smaller .lfm files.
  • TMonitor class: multi-monitor support.
  • Refactoring of LCL-Interface interface interoperability => size of empty form application was reduced by 17-18% (qt, win32)and 15-16% for Gtk applications.
  • TreeView component got editing support and misc visual enhancements.
  • new properties: TBitBtn.GlyphShowMode, TApplication.ShowButtonGlyphs which turn visibility of glyphs on buttons for every single button or for whole application. For more information, see blog.
  • New components: TShellTreeView - A TreeView that shows drives and directories and/or files, TShellListView - A ListView to show directories and/or files and TFilterComboBox - A ComboBox specialized in file name filters. Easy to use properties are provided to connect these components together.

LCL minor changes

  • TColorBox, TColorListBox has been rewritten. Now they are more delphi compatible.
  • TColorDialog.CustomColors has been added.
  • Added support for os/2 bitmap format
  • TCanvas.LineTo and TCanvas.MoveTo are no longer virtual. Override DoLineTo and DoMoveTo instead.
  • TMouseButtons added mbExtra1, mbExtra2. Support for 5 Button Mouse (Windows only)

IDE changes

  • New IDE options dialog combines environments, editor, codetools, code explorer, debugger and help options. A new api is introduced to add custom IDE settings into IDE options dialog.
  • The deprecated jitform were removed. They used a dirty trick to create methods at design time. This trick is no longer needed.
  • Project enhancements:
    • Application icon has been added to the Project Options.
    • Application icon, Version information and XP manifest are merged into one .rc file which has the same name as project main file (.lpi)
    • .lrs files can now be saved/auto created in the project output directory (disable in Project / Project Options / Miscellaneous / save .lrs file in the output directory). This way you no longer need to store the .lrs files in the svn/cvs repository.
    • more compiler options can be tuned using compiler options dialog:
      • warnings and hints to be shown by compiler
      • use external debug symbols file (-Xg)
      • generate dwarf debug information (-gw)
  • Editor enhancements:
    • Display of "double width" fonts (Eastern, Japanese, Chinese, Arabic, ...)
    • adjustable gutter
    • showing line changes on gutter
    • customizable colors for more elements
    • code folding:
      • support for $region
      • more structures can be folded
      • Copy and Paste folded text
      • Saving fold info to session
    • Configurable Mouse behaviour
    • Highlighting of Begin/End pairs and "all occurrences of word under caret"
    • code-templates have $param() macro. Allow editing several inputs for a template. See here
    • Syncro-Edit mode: Edit several occurrences of the same word simultaneously. See here
    • Persistent Blocks
    • Option to Hide Mouse-Cursor, when typing
  • Object inspector enhancements:
    • customizable colors for more elements
    • non-default values can be shown bold, better detection of default/non-default values
    • gutter
    • information box
    • show events for nested properties
  • Form designer enhancements:
    • non-visual components can be drawn with captions
    • copy/paste component now includes events
  • Jedi code formatter has been integrated (without an ability to customize settings at moment): use Ctrl+D to format your source code
  • Codetools enhancements:
    • empty published methods (event handlers) can be removed automatically on unit save
    • renaming of some unit will update references in other project units
    • remove unused units tool
    • new code macro ofall. See the demo here.
    • automatic block completion. For example adding end; after typing begin
  • Code explorer enhancements:
    • Code Observer section (misc notes about code), turn on in code explorer options
  • Debugging:
    • Assembler window
    • Call stack dialog improvements: icons for entries, сlicking on valid source line can be used to toggle breakpoint for that line, for those stack entries which have no source line an address is shown.
    • Lines which are present in executable are shown as dots in the source editor gutter.
    • New debugger exception notification dialog with ability to turn off notification for this exception and continue execution is shown instead of old exception dialog
    • EAbort exception is added to the default list of exceptions to skip (all new projects skips this exception by default)
    • Breakpoint properties dialog
  • IDEIntf:
    • TNewIDEItemCategory is no longer abstract. RegisterNewItemCategory now expects a real category class, which is needed for localization. You can use instead: RegisterNewItemCategory(TNewIDEItemCategory.Create('Name of your category'));
  • Misc:
    • Most of dialogs were reviewed to support multi-monitor systems
    • Glyphs are not visibile by default on all command buttons in Windows (can be changed in IDE options -> Desktop)
    • new macros ProjOutDir and Env, see IDE Macros in paths and filenames


  • TAChart
    • Design-time series editor
    • Marks for all types of series
    • Function series
    • Many minor improvements and bugfixes
  • TDBGrid
    • Images in column titles