Lazarus 0.9.28 release notes

From Lazarus wiki
Jump to navigationJump to search

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