Lazarus 0.9.28 release notes

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English (en) español (es)

Lazarus 0.9.28 was released on 12th October 2009.

Statistics:

  1. commits: 4420 in trunk + 29 in the fixes branch
  2. log: svn log -r r16725:21342 (+ log of http://svn.freepascal.org/svn/lazarus/tags/lazarus_0_9_28 r21343:r21921)
  3. resolved bug tracker issues: 1031


LCL Interfaces major changes

  • Gtk2 is now default widgetset on linux
  • Windows CE: Implemented TCalendar, TFloatSpinEdit, TOpenDialog and TSaveDialog.

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)
  • Windows Vista, Window 7: reimplemented TBitBtn, TPopupMenu, TMainMenu drawing, fixed problems with auro snap feature.

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
    • Close editor tabs by Middle-Clicking
  • 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'));
  • i18n: Translations
    • updatepofiles script now uses translations unit
    • detect fuzzy entries
    • auto convert encoding of .po files
  • 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

Components

  • TAChart
    • Design-time series editor
    • Marks for all types of series
    • Function series
    • "Chart sources", allowing, among other things, DB-aware series
    • Initial implementation of 3D-look and multiple axises charts
    • Many minor improvements and bugfixes
  • LazReport
    • Implemented PDF export
    • dbfield selection, issue 12229
    • fix reports utf-8 encoding
    • fix designer options dialog, issue 12381
    • fix preview scrolling, issue 12390
    • patch to reduce some flicker by Luiz Americo, issue 12766
    • implemented template for printgrid
    • fix internal variable [TIME] returning an invalid date instead of current time
    • implemented memoview property HideDuplicates
    • add thumbnails report sample
    • fix preview MouseWheel scrolling
    • fix autosize text, issue 13152
    • fix record context on which bands are printed after a group change is detected, issue 13165
    • fix preview blocking bug, issue 13399
    • fix some designer dialogs checkboxes tri-state, issue 13400
    • remove 'LazReport:' from printjob title if report title was set, issue 13398
    • fix designer show grid problem: once enabled can't be disabled
    • check that we are under a KDE session before to handle KDE locale specifics
    • added internal variable REPORTTITLE
    • fix random boldness on preview, issue 13440
    • enabled flatdecode compression in pdf export, from Javier Villarroya (req powerpdf r791)
    • check for duplicate object names in designer, issue 13979
    • some properties on band's script should refer to parent band instead of current bandview, fix issue 14082
    • fix saving files using locale specific chars, issue 14109
    • fix inverted functionality for shadow width and curve in roundrect object, issue 14130
    • publish some frame porpeties in shape object, issue 14126
    • update function descriptions, part of issue 14133
    • workaround for TimeToStr returning empty string on some locales, issue 14095
    • fix designer freeze when using Help context button, issue 14262
    • udpdate object inspector when changing object properties, fix stretched property, fix issue 9555
    • made breakword code UTF-8 aware
    • added TfrPreview component, issue 14539
    • fix exporting frame's lines
    • added portuguese translation
    • updated translations
  • Printers and PostscriptCanvas
    • IDE: add option to print selected text from Michael van Canneyt (issue 12197)
    • added test for printing images to selectprinter sample
    • fix page orientation when user has not changed job options of cups printer
    • Updated dialogs example to add graphics output
    • fix PageWidth/PageHeight after orientation change on printer setup dialog (cups), issue 13357
    • added support to specify printing resolution, cups
    • cups: improved layout of dialogs, show default resolution in case list of available resolutions is empty
    • patch for hi-res postscript output from Anton Kavalenka with changes, issue 13356
    • cups: fix printer orientation problem (issue 13488)
    • cups: advanced options in printer properties dlg, started pagesetup dlg, etc.
    • set some dialog's postions to poScreenCenter
    • fix raw exception, issue 14013
    • fixed compilation with qt 4.5 from zeljan
    • added TPrinter.FileName property, based on patch from mtournay, issue 13718
    • Carbon, Remove useless ValidatePageFormat, from Dmitry, issue 14381
    • initial postscript unicode support, updated/fixed postscript sample
    • fix postscript arc and ellipse drawing (avoid double frame)
    • reset cached pen width between documents and pages, from Anton Kavalenka, issue 13356
    • implemented reverse variants of portrait and landscape, inverted landscape orientation
    • use ascii85 and image operator to encode images in postscript output
    • enable standalone use of postscriptcanvas and implements user defined resolution
    • postscript, better handling of images with transparency, alpha channel
    • fix starting page number
    • implemented per page orientation/boundingbox, fix issue 13626
    • removed LineTo, MoveTo, using DoLineTo and DoMoveTo instead
    • implements cliping rect in postscriptcanvas from Anton Kavalenka, issue 13826
    • fix TPostScriptCanvas.Polyline not flushing output buffer, from Anton Kavalenka issue 14535
  • TDbGrid, TDrawGrid and TStringGrid
    • grids, fix exception when trying to focus editor, issue 12326
    • grids, add images to grid columns by Alexander S. Klenin, issue 12419
    • drawgrids, don't draw focusrect if defaultdrawing=false, from Serggey Smirnov issue 12526
    • grids, fix ignoring columns with readonly=true from Michael V.C., issue 12617
    • grids, fix exeption after removing all rows and adding a new row, issue 12666
    • dbgrid, allow editing of lookup columns via picklist patch from Alexander Klenin, issue 12347
    • drawgrids, implements cbsColumnCheckbox in TDrawGrid/TStringGrid, issue 8682
    • drawgrids, implemented mousewheel scrolling grid, issue 12860
    • grids, fix app freeze (windows) when stringeditor is focused and grid handle is being destroyed
    • stringgrid, fix autosizecolumn crash, issue 12812
    • grids, fix editor position when mouse wheel scrolling, issues 13309,13360
    • grids, fix mouse cursor issue 13335
    • grids, implemented grid's BoxRect method
    • grids, reduced repaint cyles by affecting canvas.font if grid.font ismodified while painting
    • grids, fix grid handling F2 when it's not editable, from Daniel Simões de Almeida, issue 13591
    • grids, don't autosize string editor, fixes issue 13760
    • stringgrid, store cell widths also for autofilled grid
    • stringgrid, Fixed Exception when sorting grid with no free columns or no free rows.
    • stringgrid, take in count column title in autosizecolumn
    • dbgrid, implements dgAutoSizeColumns option
    • dbgrid, implements fixedcols, patch from funky beast (with changes), issue 13139
    • dbgrid, fixes indicator problems, issues 14139,14160
    • dbgrid, fix OnGetText
    • dbgrid, fix dgeAutoColumns option from Alexander S. Klenin
    • dbgrid, fix multiselect issue 12462
    • dbgrid, published UseXORFeatures property
    • dbgrid, fix picklist crash, issue 12797
    • dbgrid, Do not only check if a column is readonly, ... from Joost, issue 13177
    • dbgrid, heck if dataset empty when deleting a record, from Boguslaw Brandys, issue 13246
    • dbgrid, fix AV and visual problems related to column sizes
    • dbgrid, trim values when using dgAutoSizeColumns
    • dbgrid, fix indicator problems, issues 14139,14160
    • dbgrid, fix editor show on pressing RETURN, issue 14325
    • dbgrid, fix AV in AutoSizeColumns when dataset is inactive, issue 14239

Other release notes