Lazarus 0.9.28 release notes
From Free Pascal wiki
Jump to navigationJump to search
│
English (en) │
español (es) │
Lazarus 0.9.28 was released on 12th October 2009.
Statistics:
- commits: 4420 in trunk + 29 in the fixes branch
- log: svn log -r r16725:21342 (+ log of http://svn.freepascal.org/svn/lazarus/tags/lazarus_0_9_28 r21343:r21921)
- 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