Lazarus Changelog

New in version 1.4.2

July 30th, 2015
  • r48777 Qt: unset taskbar button only when showintaskbar=stNever.
  • r48782, r48812, r48819, r48834, r48838, r48883, r48901, r48945, r49035, r49144 Translations: updated French translation by Gilles Vasseur
  • r48784 IDEIntf: regenerated translations
  • r48785 IDEIntf: deleted file, which was committed by accident
  • r48786 SynEdit: regenerated translations
  • r48787, r49272 Translations: Hungarian translation updates by Péter Gábor
  • r48796 IDE: In BuildMode config dialog, prevent hiding Name in the grid when InSession is not shown. Issue #27881.
  • r48809 IDE: Update project inspector after renaming a unit. Issue #27909.
  • r48795, r48811 translations: German: updates from Swen Heinig
  • r48824 TAChart: Fix ParentColor not being stored in lfm file. Patch by Balázs Székely (Issue #0027787).
  • r48840 Qt: do not report stalled focus changes if widget is invisible. Issue #27960
  • r48842 Qt: cleanup unused local variables, removed one warning. Issue #27951
  • r48843 Gtk2: fixed menu item separator. Issue #27905
  • r48847 EditorToolBar: regenerated translations
  • r48848 LazReport, AddFunction addon: regenerated translations
  • r48849 SynEdit: regenerated translations
  • r48850 LCL: regenerated translations
  • r48851, r48866, r48877, r48881, r48896, r48897 Translations: Spanish translation update by José Martínez with some help of Jesus Reyes, bug 27803
  • r48854 LazUtils: TFileSearcher.Search: if SearchPath is empty, search current directory.
  • r48858 LazUtils: TFileSearcher.Search: do not remove directories that are subdirectories of another directory from ASearchPath, when ASearchSubDirs is False. Issue #0027965.
  • r48885 LHelp: i18n-ed Open Dialog (bug 27977) and updated Russian translation
  • r48892 lazbuild: save lpk list after compiling an lpk, bug 27991
  • r48868 IDE: fix alt-modifier in dutch translation for main menu. Issue #0027967.
  • r48870 Dialogs: Add another overloaded version of MessageDlg (Delphi compatibility). Issue #0027964
  • r48874 Packager: Don't hide selection in the ListView of Open Installed Package dialog.
  • r48875 Qt: fixed regression with focus of controls on mdichild forms. Issue #0027982
  • r48878 Packager: When adding a new component, update palette page only if there is one. Issue #27985
  • r48879 Qt: do not assume that parent of TQtPage is TQtTabWidget.
  • r48768 IDE, fieldsEditor: show a message if a field cannot be created, Issue #26867.
  • r48871, 48872 LCL, grids: make sure the grid is notified about text is changed on pressing the first char, Issue #27955.
  • r48887 Printers, win: check for PDev.DevModeSize that prevents error 204, from DaLiv, Issue #27970.
  • r48888 LazReport, fix image exporter filename, from willians cleyton, Issue #27986.
  • r48889 IDEIntf, dbpropedits: check when retrieving fields definitions, Issue #27962.
  • r48899 IDEIntf: fixed typo
  • r48900 IDEIntf: regenerated translations and updated Russian translation
  • r48941 Win32: fixed range check error.Patch by Petr-K. Issue #28039.
  • r48956 Packager: improved i18n, bug 28021
  • r48957 IDE: regenerated translations and updated Russian translation
  • r48963 IDE: improved layout and i18n by replacing separate buttons with ButtonPanel, bug 27966
  • r48964 IDE: improved wording in several dialogs ('Where' -> 'Search scope' etc.), bug 27966
  • r48965 IDE: Improved layout and i18n of Conditional Defines dialog, bug 27966
  • r48966 Packager: improved Package Links dialog i18n, bug 27652
  • r48967 IDE: regenerated translations and updated Russian translation
  • r48988 Qt: implemented TMemo.Caret.Y position.
  • r49001 IDE: improved external tool editor dialog layout, bug 28067
  • r49002 IDEIntf: improved i18n, regenerated translations and updated Russian translation, bug 28067
  • r49003 IDE: improved component palette pages list i18n, bug 28061
  • r49004 IDE: regenerated translations and updated Russian translation
  • r49007 LCL: Fix a ChangeBoundLoop-Detected-Error with TControlBar. Issue #27855
  • r49019 TAChart: Fix crash of IDE if TPieSeries is linked to a TUserDefinedChartSource
  • r49020 TAChart: Fix crash of IDE if TFitSeries is linked to a TUserDefinedChartSource
  • r49026 Qt: change kind of focuspolicy when controlstyle contains csNoFocus. Issue #28090
  • r49091 SynEdit: Highlight colon in lfm. Issue 0028112
  • r49069 MaskEdit: fix RestoreMask.
  • r49081 Qt: create properly sized device context in GetDC(). Issue #28106
  • r49121 LazReport, when formatting numbers check that value is really numeric Issue #28114
  • r49154 LazReport, fix loading of old binary reports (older than version 28), modified patch from Tsvetoslav, Issue #27179
  • r49165 EditButton: fix responding to Shift-Tab (Issue #0028161).
  • r49167 MaskEdit: implement FormatMaskText function (Issue #0028167).
  • r49170 LCL-Win: Prevent flicker in TListbox. Issue #28146
  • r49171 IDE: Ask 'Continue search from the beginning?' only when not already in beginning. Issue #28177.
  • r49172 Menueditor: Fix error when moving menu items. Issue #27849.
  • r49187 Win32: handle ofDontAddToRecent option in TOpen/SaveDialog (Issue #0027682).
  • r49192 SynEdit: Fixed Option for MouseLink (when not using MouseActions)
  • r49197 MaskEdit: fix FormatMaskText.
  • r49217 IDE: improved Code Browser i18n, bug 28204
  • r49218 IDE: regenerated translations and updated Russian translation
  • r49211 Qt: better check if variant is really valid handle.
  • r49214 LCL: fix TDBRadioGroup value not set when not in editmode, from Erwin van den Bosch, Issue #25754.
  • r49222, r49210 SynEdit: Fixed Option for MouseLink (when not using MouseActions) / ssMeta on MAc
  • r49283 SynEdit: Fixed overflow error
  • r49289 IDE: Don't select the first component in ComponentList at startup. Issue #28260
  • r49295 IDE: fixed Version Info dialog stringgrid title i18n and made some fixes/improvements to Russian translation, Issue #28251
  • r49299 Qt: more safe delete of viewport. Issue #28264
  • r49302 IDE: improved 'Show files to be deleted' dialog i18n, bug 28251
  • r49303 IDE: regenerated translations and updated Russian translation
  • r49312 Debugger, CallStack window: localized initial 'Max 10' button caption, shortened 'Goto' button caption and changed source column caption ('Source' -> 'Location')
  • r49313 IDE: regenerated translations and updated Russian translation
  • r49310 TabOrder dialog: Prevent an extra item under EditButton. Issue #28191
  • r49317 IDE: Respond to Enter in SearchResultsView when focus on FilterEdit. Issue #28277
  • r49361 Qt: proper clear of message in QStatusBar. Patch by David Jenkins. Issue #28307
  • r49362 Qt: fixed items sizing in TListView.Also, added center alignment of text for vsIcon viewstyle.Patch by David Jenkins, modified by me. Issue #28212
  • r49368 MaskEdit: Fix loading text. Issue #0028328.
  • r48606, r49401 Prevent "Abstract method called" with FPC 3.0. Issue #27754.
  • r49420 Gtk2: fixed show/hide of TListBox. Issue #28341
  • r49398 LazDataDesktop: improved 'Connect to database' form layout
  • r49399 LazDataDesktop: cleanup
  • r49400 LazDataDesktop: only show submenu for 'New connection' menu item, do not show dialog with rougly the same content, bug 28337
  • r49413 LazDataDesktop: fixed 'New connection' main menu item i18n, also made sure that 'New connection' dialog is accesible with Ctrl+Alt+N shortcut, bug 28337
  • r49422 LazDataDesktop: disabled 'New connection' dialog also in context menu, bug 28337
  • r49476 Debugger, GDBMI: leave idle, if dbg is stopped, errored or destroyed. Issue #0028335
  • r49301 LCL: TCustomMaskEdit, do not set selection if control isn't focused. Issue #17942
  • r49512 LCL: fixed TMaskEdit left arrow does not move cursor. Issue #28385
  • r49513 TAChart: Fix incorrect usage of infinity values, patch by Vít Ondruch Issue #0028386

New in version 1.4.0 (April 27th, 2015)

  • LCL Changes:
  • Added methods and utilities to load objects from FPC resources: TGraphic.LoadFromResourceName(), TPicture.LoadFromResourceName(), TCustomImageList.AddResourceName(), LoadGlyphFromResourceName().
  • Changed all LCL resources from LRS to RES. As a result they can be edited in executables using resource editors on Windows platform.
  • DBImage changes versus 1.2: DbImage implements loading stream directly if it doesn't have a known header, WriteHeader property. This makes writing image header optional improving compatibility with Delphi controls - see revision 43779.
  • Translations unit: SetFuzzy (boolean with default value false) parameter was added to TPOFile.Add method. It allows to mark PO entry as fuzzy (when true). As this parameter has default value (false), the current code which uses this method is not affected.
  • TDateTimePicker and TDBDateTimePicker components were added. They are Delphi compatible and are installed by default, but have their own package instead of being part of LCL.
  • TComboBoxEx and TCheckComboBox components were added. They are Delphi compatible and are part of LCL.
  • IDE Interfaces Changes:
  • Easier hint windows in IdeIntf
  • Unit IdeHelpIntf has a new THintWindowManager class. It was collected from similar code from many places and refactored into a class. It is also used by Object Inspector which already is part of IdeIntf. The class uses THintWindow (Forms unit) internally and support the traditional text hints and also external hint renderers.
  • In Lazarus IDE, the external renderer now is the TurboPowerIProDsgn package. This refactoring was related to fixing a long time nasty crash bug which prevented including TurboPowerIProDsgn by default in BigIde. Now it is included.
  • IDE CHANGES:
  • Resources:
  • All IDE resources are stored in RES files now.
  • Component images can be loaded from resources stored in RES files now.
  • LazRes and LrsToLfm have been improved to assist in resource migration process.
  • Project options has a 'Resource' section which allows to add any user resources which are stored in the project .RES file together with project icon, manifest and version information.
  • Project version information was extended to allow saving build-related attribute information.
  • Editor:
  • Auto-Indent now supports "tab only". If a new line is started, the indent of the previous line is recreated using tabs. And then either spaces or cut off.
  • Keyword-pair/triplet highlight (matching begin,end) can be turned on/off for each pair/triplet
  • Keyword-pair/triplet supports if/then/else
  • Compiler message marks. Each compiler message shows an icon in the left gutter, a wavy underline in the text and a mark on the right gutter. You can right click on the left icon to get context actions, e.g. Quick Fixes.
  • Refactoring tool Show Abstract Methods now supports class interfaces.
  • Identifier completion box (Ctrl+Space) has now options to disable sorting for scope and to disable putting the recently used identifiers top. If you disable both the list is sorted alphabetically.
  • Debugger:
  • Attach: List available processes (Windows/Linux/OSX only)
  • Debug-Inspector: Select member values (class/record/(dyn)array/pointer-deref) by double click on row
  • Allow single step from exception to except/finally block (includes stepping through implicit except blocks, at then end of some methods).
  • Also fix single step now works, if it steps over an ignored exception.
  • BETA: Alternative debugger fpdebug [blog]
  • Designer:
  • New Undo feature supports component moving, resizing and deleting. Also property changed by Object Inspector can be undone.
  • Component palette:
  • Palette is fully configurable. Pages can be added, pages and components can be reordered and components can be moved between pages freely. The difference between default layout and user layout is stored in environment options. Layouts can be exported/imported, too.
  • Help:
  • The Help/Help menu starts the lhelp help viewer and shows all CHM files (if present and configured, as done by e.g. the Windows installer)
  • lhelp supports diagnostic output to a log file (using e.g. --debug-log=)
  • Project:
  • The target processor option (don't confuse this with the target CPU) now uses the -Cp option instead of the -Op option. This is required by ARM processors.
  • The compiler in the project's compiler options is used to setup codetools. Formerly the IDE asked the default compiler from the Tools / Options using the project's target OS and CPU. That means you can now use build modes to switch between different compiler versions and code navigation will use the right settings.
  • When target OS/CPU are not given (aka empty or default) the IDE/lazbuild now queries the compiler for its default target platform. In other words: For cross compiling it is now enough to select the compiler. Formerly the defaults were taken from the IDE's OS/CPU.
  • The IDE now parses the -Xp and -V options in the custom compiler options to find the right compiler.
  • Project Option "Main unit has uses section containing all units of project": Formerly the main source was only updated when it was enabled. Now: Only additions are affected by this option. Renames and removes always updates the main source if it is Pascal.
  • Under Unix/Linux the IDE now opens always a project (lpi) in its physical path (i.e. all symlinks are resolved). This is compatible with FPC, which always uses the physical directory as working directory.
  • Project Inspector:
  • The Inspector now supports multi selection. For example delete multiple files or set properties.
  • You can drag files from other applications and drop them on Inspector to add files to the project.
  • You can drag files to other directories (drag the files onto a file or directory in the package editor).
  • New menu item: Move/copy selected files to a directory. This makes it easy to split a big package into several sub directories.
  • Packages:
  • Packages now use by default the project compiler. This comes from a change to the macro $(CompPath), which now resolves to the project compiler.
  • The target processor option now uses the -Cp option instead of the -Op option. This is required by ARM processors.
  • Under Unix the IDE now opens always a package (lpk) in its physical path (i.e. all symlinks resolved). This is compatible with fpc, which always uses the physical directory as working directory.
  • Package Editor:
  • The package editor now supports multi selection. For example delete multiple files or set properties.
  • You can now copy or move files via drag and drop between package editors and to/from project inspector.
  • You can drag files from other applications and drop them on package editors to add files to the package.
  • You can drag files to other directories (drag the files onto a file or directory in the package editor).
  • New menu item: Move/copy selected files to a directory. This makes it easy to split a big package into several sub directories.
  • Packages are now compiled in parallel.
  • Messages:
  • This window was completely rewritten. Every tool output is now clearly separated by a header line.
  • Each external tool (e.g. the compiler) now runs in a thread. The same for the biggest part of the parser.
  • The IDE now passes -vbq (message ids and full file names) to the compiler.
  • The window can handle much bigger outputs, so you can compile with more verbosity
  • The IDE now knows where each message came from and what tool has created them. For example you can see the reason why a package was compiled and the parameters via the "About" menu item.
  • Switch between English and translation at any time
  • The fpc message parser uses the message ids, the errore.msg file and the translated error*.msg file. The -Fr compiler option (pass custom fpc message file) on Project/Package Options / Compiler Options / Messages was removed.
  • Search in Messages window
  • Filter for message types and urgency (hint, note, warn ...)
  • Choose file names styles (short, relative, full)
  • Change the colors in Tools / Options / Messages
  • when you insert/delete text in the source editor the messages are now updated in line *and* column number.
  • The Compile Info window was removed because it had no maintainer. This includes the options "Show compile dialog" and "Autoclose compile dialog".
  • Quick fix for fpc message "No implementation for interface method found", shows abstract methods dialog
  • Miscellaneous:
  • new IDE macros $(LazVer) and $(FPC_FULLVERSION), see here
  • Compiling for x86-64 Linux, *BSD and Solaris now passes -Cg (Generate PIC) code to the compiler. Use -Cg- if you don't want that.
  • Plugins:
  • Leakview now supports GDB stack traces without source file names and only mangled identifiers.
  • TurboPowerIProDsgn is installed by default (is part of BigIde). It means all hints and info panels have a nice HTML formatting with colors and links for sources. The package could be installed also earlier for the same effect but there was a crash bug which prevented it from being included by default.
  • EditorToolbar is installed by default (is part of BigIde). It can be hidden from View menu, thus uninstall is not necessarily needed for anyone. Lots of bugs in EditorToolbar were fixed.
  • CHANGES AFFECTING COMPATIBILITY:
  • TEditButton was rewritten:
  • TEditButton has been redesigned as a "grouped control". It now inherits from a different ancestor (it is no longer derived from TCustomMaskEdit). The new design now properly aligns and anchors.
  • Effects:
  • Derived components can no longer override (or use) all of the (protected) methods of TCustomMaskEdit. Most of the commonly used methods have been propagated with new names reflecting the new design e.g.:
  • Change -> EditChange
  • DblClick-> EditDblClick
  • When the component has focus, then checking if (ActiveControl is TButtonEdit) will be False, since ActiveControl in this case is the internal edit control (of type TEbEdit). (Code that checks for (ActiveControl is TCustom(Mask)Edit) will still evaluate to True.)
  • Remedy:
  • Use EditChange, EditDblClick etc. in derived controls.
  • Use (ActiveControl.Parent is TEditButton), or alternatively (ActiveControl is TEbEdit)
  • TControl.GetChildsRect renamed to TControl.GetChildrenRect:
  • Effect: compile error: There is no method in an ancestor class to be overridden: "TYourControl.GetChildsRect(Boolean):;"
  • Reason: Incorrect English
  • Remedy: use GetChildrenRect instead.
  • DateEdit.DialogTitle prop
  • TControlScrollBar.AutoCalcRange was removed:
  • Effect: compiler error: There is no method in an ancestor class to be overridden: "TYourControlScrollBar.AutoCalcRange;"
  • Reason: Code for calculating the AutoScroll ranges was moved from the two scrollbars to the new proteced method TScrollingWinControl.CalculateAutoRanges. This prevents an endless loop when the two scrollbars depend on each other, it simplifies the code and reduces some overhead.
  • Remedy: Override TYourControl.CalculateAutoRanges instead.
  • TDateEdit.DialogTitle property was removed:
  • Effect: Compile error if the property was set in code. LFM loader removes it from form files.
  • Reason: Unused and thus misleading and confusing.
  • Remedy: Remove it from your code.
  • TMemo, TTextStrings and TCustomStringGrid: changed behaviour of LoadFromFile/SaveToFile:
  • Effect: LoadFromFile/SaveToFile respectively LoadFromCSVFile/SaveToCSVFile now take strings in UTF8-encoding (was: system encoding) as their parameter.
  • Reason: LCL uses UTF8 internally; consistency with e.g. TSynEdit.
  • Remedy: do not use Utf8ToSys() anymore in the calls to these procedures.
  • IDE INCOMPATIBILITIES:
  • Changed parameters:
  • LazarusIDE.DoJumpToCompilerMessage: changed Line integer to TMessageLine
  • CompilerOptions.ShowAllProcsOnError: was removed, option -vb is now always passed
  • CompilerOptions.ShowNothing: was removed, not needed
  • LazarusHelp.ShowHelpForMessage: removed parameter Line. The IDE now always shows help for the currently selected line.
  • IDE Macro CompPath:
  • Effect: IDE uses the project compiler instead of the default compiler set in the IDE options.
  • Reason: The macro $(CompPath) now resolves to the project compiler. Packages are now compiled with the project compiler.
  • Remedy: Use $CompPath(IDE)
  • Old IDE does not reopen first file when opening a project:
  • Effect: When a project saved with a new IDE (1.3+) is opened with an old IDE (e.g. 1.2), the first file in the source editor is not reopened automatically.
  • Reason: The default value for Editor position is now "0", which is not stored in the lpi, creating smaller lpi files.
  • Remedy: Open the file manually.
  • IDE does not show Compile Dialog:
  • Effect: Compile Info window does not appear when compiling. Options Show compile dialog and Autoclose compile dialog are missing.
  • Reason: The code that runs the compiler was completely rewritten. The dialog needed a big rewrite too, but it had no maintainer.
  • Remedy: You can abort a compile via Run / Abort Build or its shortcut Ctrl+Alt+Shift+G. You can change the shortcut in Tools / Options / Editor / Key Mappings. The number of errors, warnings and hints are shown in the Messages window.
  • IDE/lazbuild cross compiles for different target OS/CPU:
  • Effect: When the target OS/CPU are not set (i.e. empty or default) the 1.4 IDE/lazbuild compile for a different target than Lazarus 1.2.
  • Reason: Formerly the IDE took as default its own OS/CPU. Now it queries the project's compiler and uses its default target OS/CPU.
  • Remedy: Specify target OS/CPU in Project options / Compiler options or for compiling the IDE set Tools / Configure build Lazarus.

New in version 1.4 RC 2 (March 4th, 2015)

  • r47793 LCL: TShellCtrl: fixed slow checking for duplicates, bug 27473
  • r47782 TDateEdit: fix GetDate when DateOrder is doNone and Text has literal day- or monthnames. Issue Issue #0027454.
  • r47794 TDateEdit: Remove method DateFormatChanged: it exposes a private field that is only meant for internal use, and should not be changed by user.
  • r47790 Qt: fixed segfault when setting image list on TListView with OwnerData:=True. part of (Issue #0027469)
  • r47804 Qt: dramatically improved OnData event of TListView. (Issue #0027475)
  • r47805 Gtk2: fixed drawing images when TListView.OwnerData := true. (Issue #0027469)
  • r47812, r47817, r47818 IDE: append -dWIN9XPLATFORM when building IDE on win9x for win32
  • r47814 LCL: added a listener for CM_CURSORCHANGED in TGraphicControl (Issue #0014257)
  • r47841 LCL: fix to *r47814 for the control being in a scrolled window.
  • r47815 TShellTreeView: if Selected is a file then set the associated ShellListView.Root to the parentfolder (instead of to the file itself).
  • r47820 Qt: fixed regression with design time forms from r47674.
  • r47827 Converter: Fix converting DFM form files. Last char was left out. Issue #27446.
  • r47839 LCL: regenerated Russian translation
  • r47840 LCL: French translation update by Gilles Vasseur, bug 27478
  • r47842 LCL, ShellTreeView: improved i18n, patch by Péter Gábor with some changes, bug 27474; regenerated translations and updated Russian translationLCL: regenerated Russian translation
  • r47850 IdeIntf: Show Meta- menuitem shortcuts in Object Inspector only for Mac. Issue #27456
  • r47861 IDE: compare compiled file: ignore spaces between options
  • r47863 IDE: checking Makefile.compiled: ignore -Cg on Linux
  • r47866 TAChart: Less compilation hints and notes Issue #274884
  • r47869 LCL: gtk2: GetPreferredSize: subtract client area
  • r47871 IDE: project options: version: disable unneeded AutoSize
  • r47873 LCL: TScrollingWincontrol: GetLogicalClientRect: independent of AutoScroll to avoid cycle, GetPreferredSize: independent of AutoScroll, added extra checks if LCL clientrect is not in sync with widgetset, improved debugging preferredsize
  • r47875 LCL: TCustomGrid: disable default preferred size, because grid moves controls and change scrollbars, bug 27095
  • r47879 lazutils: fixed compilation on win64
  • r47877 IDE: Workaround for a missing DirectoryEdit event in Carbon. Issue #23063
  • r47886 LCL: win32: do not start timer when application terminated
  • r47887 IDE: editor color option: fixed layout, bug 27434
  • r47890 lazutf8: GetFormatSettingsUTF8: map common multibyte chars to ASCII
  • r47895 LCL: TTreeView: mousedown: fixed select on click on state icon
  • r47897 LCL: gtk2: GetGTKDefaultWidgetSize: ignore client area with child controls
  • r47898 IDE: designer: initialize FIsNonVisualComponent, bug 27502
  • r47900 IDE: designer: resize multiple controls: round mathematically instead of always down, needed for increase size by 1
  • r47905 IDE: Change default mouse settings for left gutter clicks
  • r47908 lcl: TCustomListView: show editor on dblclick via QueueAsyncCalls, bug 27505
  • r47913 LCL: carbon: do not use GetBestControlRect if there are child controls
  • r47920 IDE: auto create application bundle for IDE on darwin for all widgetsets
  • r47922 IDE: build laz: when clean option is on, clean up fallback directories too
  • r47924 LCL: MessageBox: default parameter Flags = MB_OK, bug 27510
  • r47928 Package editor: Prevent collapsing all tree nodes when changing file type. Issue #26188
  • r47930 codetools: fixed directive WriteableConst, bug 27512
  • r47932 codetools: identifier completion: updated list of directives
  • r47950 IDE: messages: fixed showing commandline
  • r47952 IDE: messages: about: use wordwrap
  • r47954 IDE: messages: linker errors: fixed finding them even without info message (9015) Linking
  • r47956 IDE: external tools: added TAbstractExternalTool.ReadStdOutBeforeErr, changed default to read stderr before out, needed by FPC linker errors
  • r47958 IDE: always pass -vi to FPC, needed to resolve file names without path
  • r47960 IDE: compiler options: verbosity: one column
  • r47964 IDE: compiler options: verbosity: removed -ve, IDE needs this to jump to errors
  • r47965 IDE: compiler options: removed obsolete option show summary, summary are now always shown in header
  • r47973 IDE: added TargetCPU a64
  • r47990 codetools: method jumping, class completion: support having an overload that differ only in class keyword, issue 25130
  • r47881 TShellTreeView: SetPath: take value of ObjectTypes into account.
  • r47889 Gtk2: new function Gtk2_PixBufFromBitmap(), simplified usage. patch by theo. Issue #27477
  • r47906 Qt: fixed TListView.OnData when we use TQtListWidget (vsList).
  • r47907 Qt: fixed selection behaviour of TListView.vsList when OwnerData = true.
  • r47923 Qt: fixed getting displaysize of TListView.Item drIcon. part of Issue #27509
  • r47939 Qt: do not send resize event on restore of minimized mdichild form. Issue #27518
  • r47941 LCL: TCustomListView: use drLabel instead of drBounds for listview editor bounds. Issue #27509
  • r47942 Qt: fixed TListItem DisplayRect for drLabel & drIcon. part of Issue #27509
  • r47944 Gtk2: fixed TListView displayRect for drLabel.Issue #27509
  • r47946 Qt: return correct displayrect(drLabel, drIcon) for TListView.vsList. Issue #27509
  • r47959 LHelp: Speedup communication between Lazarus and LHelp and speedup the chm search. LHelp is rebuilt if BeginUpdate is not supported.
  • r47970 IDE: Fix "All Options" parser for FPC 3.x output.
  • r47975 LHelp: Lazarus tries to save the old LHelp executable if compilation fails.
  • r47979 IDE: Take care of component palette page names that differ only by character case. Issue #27516.
  • r47982 LCL: Horizontal and Vertical Spacing for TCoolBar. Issue #27523
  • r47987 Help/LHelp: Don't scan directories in search path recursively to look for chm files
  • r47992 TCheckListBox: when user presses spacebar: if ItemIndex = -1: set it to 0 and fire OnClick; fire OnClickCheck. Issue #0024695.
  • r47993 TCheckListBox: fix possible crash introduced in r47992.
  • r47983, r47994 TI Grid: Fix and publish CheckboxForBoolean. Issue #27521.
  • r47971, r47995 IDE: Improve ComponentList window. Issues #27527, #27539
  • r48017 lcl: TWinControl: apply framewidth/height only to preferred clientarea, not to widget, bug 27538
  • r48024 LazReport: Polish translation update by Paweł Dmitruk, bug 27548. While at this, regenerated all other translations.
  • r48025 IDE: French translation update by Gilles Vasseur, bug 27546
  • r48013 Fixed Finnish translation.
  • r48014 IdeIntf: Use CheckBox as boolean editor also for Set elements.
  • r48022 Add Balazs Szekely to contributors list.
  • r48023 IdeIntf: Support restoring default value in Object Inspector for Set types. Issue #18734.
  • r48039 IDE: fpc msg parser, use console or system codepage depending on compiler version, bug 26623

New in version 1.4 RC 1 (February 18th, 2015)

  • LCL INTERFACES CHANGES:
  • LCL CHANGES:
  • Added methods and utilities to load objects from FPC resources: TGraphic.LoadFromResourceName(), TPicture.LoadFromResourceName(), TCustomImageList.AddResourceName(), LoadGlyphFromResourceName()
  • Changed all LCL resources from LRS to RES. As a result they can be edited in executables using resource editors on Windows platform
  • DBImage changes versues 1.2: DbImage implements loading stream directly if it doesn't have a known header, WriteHeader property. This makes writing image header optional improving compatibility with Delphi controls - see revision 43779
  • Translations unit: SetFuzzy (boolean with default value false) parameter was added to TPOFile.Add method. It allows to mark PO entry as fuzzy (when true). As this parameter has default value (false), the current code which uses this method is not affected
  • TDateTimePicker and TDBDateTimePicker components were added. They are Delphi compatible and are installed by default, but have their own package instead of being part of LCL
  • TComboBoxEx and TCheckComboBox components were added. They are Delphi compatible and are part of LCL
  • IDE INTERFACES CHANGES:
  • Easier hint windows in IdeIntf
  • Unit IdeHelpIntf has a new THintWindowManager class. It was collected from similar code from many places and refactored into a class. It is also used by Object Inspector which already is part of IdeIntf. The class uses THintWindow (Forms unit) internally and support the traditional text hints and also external hint renderers.
  • In Lazarus IDE, the external renderer now is the TurboPowerIProDsgn package. This refactoring was related to fixing a long time nasty crash bug which prevented including TurboPowerIProDsgn by default in BigIde. Now it is included.
  • IDE CHANGES:
  • Resources:
  • All IDE resources are stored in RES files now.
  • Component images can be loaded from resources stored in RES files now.
  • LazRes and LrsToLfm have been improved to assist in resource migration process.
  • Project options has a 'Resource' section which allows to add any user resources which are stored in the project .RES file together with project icon, manifest and version information.
  • Project version information was extended to allow saving build-related attribute information.
  • Editor:
  • Auto-Indent now supports "tab only". If a new line is started, the indent of the previous line is recreated using tabs. And then either spaces or cut off.
  • Keyword-pair/triplet highlight (matching begin,end) can be turned on/off for each pair/triplet
  • Keyword-pair/triplet supports if/then/else
  • Compiler message marks. Each compiler message shows an icon in the left gutter, a wavy underline in the text and a mark on the right gutter. You can right click on the left icon to get context actions, e.g. Quick Fixes.
  • Refactoring tool Show Abstract Methods now supports class interfaces.
  • Identifier completion box (Ctrl+Space) has now options to disable sorting for scope and to disable putting the recently used identifiers top. If you disable both the list is sorted alphabetically.
  • Debugger:
  • Attach: List available processes (Windows/Linux/OSX only)
  • Debug-Inspector: Select member values (class/record/(dyn)array/pointer-deref) by double click on row
  • Allow single step from exception to except/finally block (includes stepping through implicit except blocks, at then end of some methods).
  • Also fix single step now works, if it steps over an ignored exception.
  • BETA: Alternative debugger fpdebug [blog]
  • Designer:
  • New Undo feature supports component moving, resizing and deleting. Also property changed by Object Inspector can be undone.
  • Component palette:
  • Palette is fully configurable. Pages can be added, pages and components can be reordered and components can be moved between pages freely. The difference between default layout and user layout is stored in environment options. Layouts can be exported/imported, too.
  • Help:
  • The Help/Help menu starts the lhelp help viewer and shows all CHM files (if present and configured, as done by e.g. the Windows installer)
  • lhelp supports diagnostic output to a log file (using e.g. --debug-log=)
  • Project:
  • The target processor option now uses the -Cp option instead of the -Op option. This is required by ARM processors.
  • The compiler in the project's compiler options is used to setup codetools. Formerly the IDE asked the default compiler from the Tools / Options using the project's target OS and CPU. That means you can now use build modes to switch between different compiler versions and code navigation will use the right settings.
  • The IDE now parses the -Xp and -V options in the custom compiler options to find the right compiler.
  • Project Option "Main unit has uses section containing all units of project": Formerly the main source was only updated when it was enabled. Now: Only additions are affected by this option. Renames and removes always updates the main source if it is Pascal.
  • Under Unix/Linux the IDE now opens always a project (lpi) in its physical path (i.e. all symlinks are resolved). This is compatible with FPC, which always uses the physical directory as working directory.
  • Project Inspector:
  • The Inspector now supports multi selection. For example delete multiple files or set properties.
  • You can drag files from other applications and drop them on Inspector to add files to the project.
  • You can drag files to other directories (drag the files onto a file or directory in the package editor).
  • New menu item: Move/copy selected files to a directory. This makes it easy to split a big package into several sub directories.
  • Packages:
  • Packages now use by default the project compiler. This comes from a change to the macro $(CompPath), which now resolves to the project compiler.
  • The target processor option now uses the -Cp option instead of the -Op option. This is required by ARM processors.
  • Under Unix the IDE now opens always a package (lpk) in its physical path (i.e. all symlinks resolved). This is compatible with fpc, which always uses the physical directory as working directory.
  • Package Editor:
  • The package editor now supports multi selection. For example delete multiple files or set properties.
  • You can now copy or move files via drag and drop between package editors and to/from project inspector.
  • You can drag files from other applications and drop them on package editors to add files to the package.
  • You can drag files to other directories (drag the files onto a file or directory in the package editor).
  • New menu item: Move/copy selected files to a directory. This makes it easy to split a big package into several sub directories.
  • Packages are now compiled in parallel.
  • Messages:
  • This window was completely rewritten. Every tool output is now clearly separated by a header line.
  • Each external tool (e.g. the compiler) now runs in a thread. The same for the biggest part of the parser.
  • The IDE now passes -vbq (message ids and full file names) to the compiler.
  • The window can handle much bigger outputs, so you can compile with more verbosity
  • The IDE now knows where each message came from and what tool has created them. For example you can see the reason why a package was compiled and the parameters via the "About" menu item.
  • Switch between English and translation at any time
  • The fpc message parser uses the message ids, the errore.msg file and the translated error*.msg file. The -Fr compiler option (pass custom fpc message file) on Project/Package Options / Compiler Options / Messages was removed.
  • Search in Messages window
  • Filter for message types and urgency (hint, note, warn ...)
  • Choose file names styles (short, relative, full)
  • Change the colors in Tools / Options / Messages
  • when you insert/delete text in the source editor the messages are now updated in line *and* column number.
  • The Compile Info window was removed because it had no maintainer. This includes the options "Show compile dialog" and "Autoclose compile dialog".
  • Quick fix for fpc message "No implementation for interface method found", shows abstract methods dialog
  • Miscellaneous:
  • new IDE macros $(LazVer) and $(FPC_FULLVERSION), see here
  • Compiling for x86-64 Linux, *BSD and Solaris now passes -Cg (Generate PIC) code to the compiler. Use -Cg- if you don't want that.
  • Plugins:
  • Leakview now supports GDB stack traces without source file names and only mangled identifiers.
  • TurboPowerIProDsgn is installed by default (is part of BigIde). It means all hints and info panels have a nice HTML formatting with colors and links for sources. The package could be installed also earlier for the same effect but there was a crash bug which prevented it from being included by default.
  • EditorToolbar is installed by default (is part of BigIde). It can be hidden from View menu, thus uninstall is not necessarily needed for anyone. Lots of bugs in EditorToolbar were fixed.
  • COMPONENTS:
  • TOpenGLControl: works now under Linux/QT/X
  • CHANGES AFFECTING COMPATIBILITY:
  • LCL incompatibilities:
  • TEditButton was rewritten:
  • TEditButton has been redesigned as a "grouped control". It now inherits from a different ancestor (it is no longer derived from TCustomMaskEdit). The new design now properly aligns and anchors. Effects:
  • Derived components can no longer override (or use) all of the (protected) methods of TCustomMaskEdit. Most of the commonly used methods have been propagated with new names reflecting the new design e.g.:
  • Change -> EditChange
  • DblClick-> EditDblClick
  • When the component has focus, then checking if (ActiveControl is TButtonEdit) will be False, since ActiveControl in this case is the internal edit control (of type TEbEdit). (Code that checks for (ActiveControl is TCustom(Mask)Edit) will still evaluate to True.)
  • Remedy:
  • Use EditChange, EditDblClick etc. in derived controls.
  • Use (ActiveControl.Parent is TEditButton), or alternatively (ActiveControl is TEbEdit)
  • TControl.GetChildsRect renamed to TControl.GetChildrenRect:
  • Effect: compile error: There is no method in an ancestor class to be overridden: "TYourControl.GetChildsRect(Boolean):;"
  • Reason: Incorrect English
  • Remedy: use GetChildrenRect instead
  • TControlScrollBar.AutoCalcRange was removed:
  • Effect: compiler error: There is no method in an ancestor class to be overridden: "TYourControlScrollBar.AutoCalcRange;"
  • Reason: Code for calculating the AutoScroll ranges was moved from the two scrollbars to the new proteced method TScrollingWinControl.CalculateAutoRanges. This prevents an endless loop when the two scrollbars depend on each other, it simplifies the code and reduces some overhead.
  • Remedy: Override TYourControl.CalculateAutoRanges instead.
  • TDateEdit.DialogTitle property was removed:
  • Effect: Compile error if the property was set in code. LFM loader removes it from form files.
  • Reason: Unused and thus misleading and confusing.
  • Remedy: Remove it from your code.
  • TMemo, TTextStrings and TCustomStringGrid: changed behaviour of LoadFromFile/SaveToFile:
  • Effect: LoadFromFile/SaveToFile respectively LoadFromCSVFile/SaveToCSVFile now take strings in UTF8-encoding (was: system encoding) as their parameter.
  • Reason: LCL uses UTF8 internally; consistency with e.g. TSynEdit.
  • Remedy: do not use Utf8ToSys() anymore in the calls to these procedures.
  • IDE INCOMPATIBILITIES:
  • Changed parameters:
  • LazarusIDE.DoJumpToCompilerMessage: changed Line integer to TMessageLine
  • CompilerOptions.ShowAllProcsOnError: was removed, option -vb is now always passed
  • CompilerOptions.ShowNothing: was removed, not needed
  • LazarusHelp.ShowHelpForMessage: removed parameter Line. The IDE now always shows help for the currently selected line.
  • IDE Macro CompPath:
  • Effect: IDE uses the project compiler instead of the default compiler set in the IDE options.
  • Reason: The macro $(CompPath) now resolves to the project compiler. Packages are now compiled with the project compiler.
  • Remedy: Use $CompPath(IDE)
  • Old IDE does not reopen first file when opening a project:
  • Effect: When a project saved with a new IDE (1.3+) is opened with an old IDE (e.g. 1.2), the first file in the source editor is not reopened automatically.
  • Reason: The default value for Editor position is now "0", which is not stored in the lpi, creating smaller lpi files.
  • Remedy: Open the file manually.
  • IDE does not show Compile Dialog:
  • Effect: Compile Info window does not appear when compiling. Options Show compile dialog and Autoclose compile dialog are missing.
  • Reason: The code that runs the compiler was completely rewritten. The dialog needed a big rewrite too, but it had no maintainer.
  • Remedy: You can abort a compile via Run / Abort Build or its shortcut Ctrl+Alt+Shift+G. You can change the shortcut in Tools / Options / Editor / Key Mappings. The number of errors, warnings and hints are shown in the Messages window.

New in version 1.2.6 (October 15th, 2014)

  • IDE:
  • prevent crash when pressing F5 while source editor is closed. CONFLICT !
  • fixed enclose block starting with empty lines
  • Gtk2:
  • fixed form resizing at design time (by mouse).
  • fixed returning font height from TGtk2WidgetSet.GetObject().
  • implemented OnMouseMove() for TTrayIcon. Patch by AlexL.
  • include scrollbars offset in TGtk2WSCustomListView.getItemAt().
  • LCL:
  • Prevent IniPropStorage wiping configuration if collection is used
  • TControlScrollBar - fixed range check
  • gtk2 - fixed QuestionDlg showing custom buttons
  • Fix range check error in SetCaretPos in Memo. Issue #26396
  • TFloatSpinEdit - fix updating control in SetValue
  • Implement optional parameter TopForm: Boolean, for GetParentForm (Delphi compatibility)
  • Implement ValidParentForm function (Delphi compatibility)
  • minor string correction
  • TPairSplitterSide - published Constraints property.
  • TCheckListBox - dissallow check state change by keyboard VK_SPACE if item is disabled
  • fixed bug where OnSelectionChanged() isn't called in some circumstances.
  • TCustomMemo should not trigger OnEditingDone when return is pressed and WantReturns=True.Patch by wp.
  • Fix AutoAddRow when deleting the last row
  • fixed PolyBezierArcPoints in graphmath for negative values
  • added qtsystemtrayicon unit into LCL.lpk (related to r46229 which is blocked in trunk).
  • LazLogger:
  • Support setting *_debuglog environment variable I
  • Masks:
  • fix TMask.Matches() when converting the case alters UTF8Length.
  • PoChecker:
  • make CompareFormatArgs a little smarter, so it does not give false errors for strings like e.g. "Hide message at %s by inserting IDE directive {%H-}"
  • Qt:
  • unset clip only when transform of QPaintEngine is dirty.
  • use QPixmap instead of QImage for QBrush constructor.
  • fixed crash of dangling qt pointer from viewportWidget mouse event.
  • fixed crash when handle is recreated inside mouse release event (drag and drop control operation). Issue #26466
  • fixed transparency for controls without csOpaque in control style.
  • fixed color changing of TCustomPanel.
  • do not trigger shortcuts if menu item is disabled.
  • implemented TQtWSComboBox getItemHeight() and setItemHeight().
  • fixed crash with popup window when form is maximized.
  • do not trigger OnDropDown if combobox is disabled.
  • do not trigger OnItemClick when enabled state is changed.
  • fixed extracting stock icon for dialog icons.
  • fixed windowstate mismatch between LCL and Qt when QTSCROLLABLEFORMS define is on.
  • enclose BeginEventProcessing & EndEventProcessing pairs with try finally block.
  • fixed wrong states of themed checkboxes.Patch by Gabor Boros.
  • implemented OnMouseMove and OnPaint for TTrayIcon under X11.
  • fixed CopyRect() regression.
  • implemented TTrackBar.LineSize
  • implemented TQtWSListView.SetImageList. Issue #0026770
  • better patch for imageList changes in TQtListWidget.
  • fixed build under haiku.patch by olivier, modified by me.
  • SynEdit:
  • Make IsBackwardSel public
  • fixed wrong const in syneditkeycmds
  • fixed highlighting 1.02E-5 and similar.
  • fixed compilation, bug 26371
  • TAChart:
  • add properties "Font" and "UseFont" to TChartStyle
  • initial implementation of BiDiMode
  • introduce TChartArrow.Inverted for correct R2L drawing
  • publish TChart.ParentBiDiMode
  • Fix package compilation error due to missing tagraph.lrs
  • Add property SuppressPrevUnit to TDateTimeIntervalChartSource. Respect FormatSettings.DecimalSeparator for milliseconds display.
  • Publish TChartArrow.Inverted. Respect Arrow.Inverted when painting a TConstantLine series.
  • source code for chart background tutorial
  • Add Notification method to TChartListbox
  • extend TOHLCSeries for display as candlesticks. Add demo "financial" with OHLCSeries in OHLC and candlestick mode.
  • Add event OnHintLocation to TDataPointHintTool which knows the size of the hint window. Update "financial" demo to show hint window above data points.
  • Fix wmf drawer ignoring size of destination rectangle
  • Implement a windows-only solution to copying a chart to the clipboard as windows metafile. Update wmf demo.
  • Introduce class helper for saving charts as metafiles and for copying them as metafiles to the clipboard.
  • Modify candlestick plot to allow for same color of body and tails
  • TCustomEdit:
  • Dont set Modified to True in TextChanged when text is set by code
  • TControl.ChangeScale :
  • do not adjust Top and Left if Control is (topmost) ParentForm.
  • Take caption of an autosized GroupBox into account when calculating width, 3 widgetsets
  • Win32:
  • fix Edit SelStart/SelLength for MBC charsets
  • fix Win32MemoStrings Insert/Delete/SelStart/LineStart/LineLength for MBC charsets
  • fixed too many OnChange() events.
  • lazutils:
  • fixed empty result
  • regenerated translations; updated Russian translation

New in version 1.2.4 (June 16th, 2014)

  • LCL:
  • TCustomGrid: fixed range check error when scrolling editor control
  • Grids, redraw grid on changing TitleFont where there are no Custom Columns,
  • fix (grid's) cell hot-tracking regression
  • implementation of TCoolBar Issue #25026
  • fixed TTextStrings.Exchange
  • ShellTreeView: fix SetPath (Issue #0026088)
  • QuestionDlg: fix wrong ModalResult if dialog has buttons with both mrCancel and mrAbort as ModalResult (Issue #0026094)
  • patch for align controls on TCoolBar Issue #26096
  • TCustomComboBox: call inherited (Utf8)KeyPress before changing the case (when CharCase ecNormal)
  • ensure that reset is Modified in TFieldDataLink.UpdateData even if an exception occurs (Issue #26081)
  • TToolButton: fix using AccelleratorChars (Issue #0024817).
  • LclStrConst Fix rsFixedColsTooBig and rsFixedRowsTooBig so they match current behaviour (Issue #0018590)
  • TCustomComboBox: remove redundant KeyPress method. All this is already done in Utf8KeyPress.
  • fixed TCustomListView.GetNextItem.Patch by errno.Issue #26033
  • fixed typos in comments ("extention" -> "extension"), patch by Reinier, Issue #26154
  • TControlScrollBar.ClientSizeWith(out)Bar: include space between bar and client area
  • grids, fix range check error on some GTK2 (fix also editor appearing regression introduced in r44870)
  • Translations:
  • Hungarian translation update by Péter Gábor, Issue #26144
  • Czech translation update by Vaclav Valicek, Issue #26151
  • add parameter Full: Boolean (default True) to constructor. When setting this to False it allows method ReadPOText to work correctly when reading from an internal resource (Issue ##0026021)
  • IDE:
  • component palette: no scrollbars on Carbon, layout buttons with floating layout
  • Hide CodeContext hint on tab-change, minimize and app-deactivate
  • fixed TPropertyEditorHook compiling with -CR
  • In ComponentList, set ReadOnly flag in the first TreeView showing a list of components.
  • fixed typo in Code Observer options page, Issue #26101
  • Improvements for Components dialog
  • Do not move source editor, on tab changes, codetool completion or similar actions.Issue #26051
  • Fixed ShowForm, broken in rev 44801
  • component palette: disabled scrollbars for LCL carbon widgetset
  • Debugger:
  • add option to disable loading library symbols (auto-solib-add = off)
  • Fixed crash in Asm dialog (dialog closed, while running (F9) from dlg)
  • TAChart:
  • add sources of bar series tutorial
  • fix wmf drawer crashing due to missing canvas in TADrawerWMF
  • Add event OnDrawLegend to TChart
  • add code to legenddemo to demonstrate the ownerdrawn legend, fix some layout issues.
  • Fix TFitSeries not working correctly in demo/distance/distancedemo.lpi
  • fix divide-by-zero error in demos/distance/distancedemo project, minor layout changes.
  • initial implementation of Calculate(x) for TBSplineSeries
  • fix rare arithmetic overflow in logarithmic axis labeling
  • LazReport:
  • Patch for lr_desgn.diff attached to bug report Issue #25896MISSING REVISION NUMBER !
  • Report does not respect Orientation (poLandscape) when printed, Issue #25802
  • codetools:
  • findunusedunits: check generic types, Issue #26085
  • fixed parsing nested directives in plain sources
  • ipro:
  • fixed buffer overflow
  • FpcUnit, GuiTestRunner:
  • show green balls for ignored tests (Issue #25921)
  • SynEdit:
  • publish OnUtf8KeyPress for TSynEdit and TSynMemo.
  • remove double calling of iherited in TCustomSynEdit.WMKillFocus.
  • Fixed double width chars $3000-$303E which were not detected correctly.
  • leakview:
  • fixed typo
  • LeakView:
  • updated Russian translation
  • jsonviewer:
  • fixed string formatting argument
  • PoChecker:
  • fix crash caused by passing not enough parameters to Format() Issue #0026167
  • LazReport:
  • check variable existence before trying to show it's composition (variables editor form), from Michel Tournay, Issue #0026281)
  • implements Zoom in/out using CTRL+MouseWheel, from Michel Tournay, Issue #0026280)
  • Carbon:
  • added TStatusBar.Color to the issues.xml.Issue #21302
  • Gtk2:
  • fixed linespacing in DrawText().Patch by Boris.Issue #26090
  • fixed wrong events if key is changed in UTF8KeyPress.Issue #26103
  • Qt:
  • fixed wrong resize event from lineedit of combobox.Issue #26040
  • remove a useless test for AWinControl.HandleAllocated in TQtWSWinControl.GetPreferredSize.
  • one more minor optimization for TQtBitBtn.preferredSize.
  • cancel application hint when app is minimized or when virtual desktop is switched via pager.
  • allow build qt on arm machines (disable QTOPIA define). Issue #22456
  • return correct size of QScrollBar when widget isn't mapped yet.Issue #26084
  • do not call unnecessary invalidate in TQtScrollingWinControl.ScrollBy()
  • win32 correctly set default button in TWin32WidgetSet.AskUser().
  • fixed crash and wrong events if key is changed in UTF8KeyPress.Issue #26103
  • TQtWidgetSet.GetClientRect: added check for handle.
  • return correct clientRect from TQtWSCustomTabControl.GetDefaultClientRect
  • fixed tabwidget calculation when it's not mapped yet.
  • added QTCOCOA define for qt 64bit cocoa build, also fixes crashes with forms when using QTCOCOA.
  • fixed precendence of focus when csNoFocus and TabStop=true.Issue #0024735
  • fixed order of kill/set focus messages sent to LCL.Issue #0026106
  • reduced number of paint events in case of TCustomForm, now only FCentralWidget process paint events.
  • apply FormStyle and BorderIcons to the fsMDIChild form.Available only during handle creation.Issue #0023821
  • fixed crash if stylesheet is used.
  • fix not triggering OnKeyDown/On(Utf8)KeyPress when typing diacritics using "dead keys" in several controls. Issue #0026115
  • disable focus ability on mdiarea handle.
  • set color to mdiArea if we are fsMDIForm in case when color clDefault.
  • Allow color change on TQtStatusBar.part of Issue #0021302
  • stop assertions from Qt lib if lcl proposed minimum widget size < 0.
  • refactored TQtCustomControl and TQtTabWidget size messages.Issue #26120
  • let TQtTabWidget send delayed resize event, instead of waiting QStackWidget resize event.
  • send delayed resize event from TQtPage too.
  • reduce resize events in case of TCustomForm with menu (return correct clientRect when form with assigned Menu isn't mapped yet).
  • fixed compilation with -dVerboseQtResize
  • removed TBitBtn.Layout and TForm.AutoScroll from issues.xml,since they're implemented.
  • more debug info for -dVerboseQtResize over TQtGroupBox.
  • fixed groupbox preferredSize and added workaround for scrollbar policy change in TQtCustomControl.Issue #26174
  • fixed wrong clientRect & clientOffset result when TQtWidget have assigned FOwner.Issue #26175
  • fixed StretchMaskBlt bug when dstRect position is not inside clipRegion.Issue #26004
  • simplified and corrected clientrect handling of TQtAbstractScrollArea, especially in case of TScrollBox.
  • implemented SM_CXDRAG,SM_CYDRAG.
  • implemented SM_SWSCROLLBARSPACING
  • removed workarounds for TScrollingWinControl after introducing SM_SWSCROLLBARSPACING.
  • fixed result of TQtAbstractScrollArea.getClientBounds when widget isn't mapped yet.
  • simplified scrolled widgets resize code since controlscrollbar now respects scrollview extent.
  • proper setBounds of controls when parent is scrollable TCustomForm and scrollars have values > 0.
  • set offset for embedded form into scrollable form too.
  • do not destroy QWidget of ScrollArea, it will be destroyed by it's parent later (problem on MacOSX).
  • use QWidget_geometry() when calculating default clientrect of TCustomForm while it's not mapped.
  • fixed crash with QTSCROLLABLEFORMS define under MacOSX.
  • fixed problem with casts under 64bit.
  • another fix for StretchMaskBlt.related to Issue #26004
  • do not allow negative client rect.
  • fixed behaviour of clientRect when we are scrollable form. Issue #26200
  • paint event should go to the viewport of TQtWindowArea on scrollable form. Issue #26207
  • fix for wrong widget passed to painter constructor in SlotPaintBg(). Issue #26207
  • send repaint to the proper widget under X11 when we are splash form, so no more grey splash form.
  • process noninput events after calling repaint of splash form.Needed on slower machines to avoid gray splashscreen.

New in version 1.2.2 (April 29th, 2014)

  • Carbon fixed crash with overrided InsertItem() with fpc > 2.6.2
  • Carbon fixed duplicate strings in TListBox with fpc 2.7.1
  • Codetools fixed typo
  • Codetools Prevent a wrong error message about ancestor having same name
  • Debugger GDBMIDebugger: fix watchpoints
  • Debugger GDBMI, fix range check
  • Debugger Allow to add RunError to ignored exceptions
  • Debugger Ask to add RunError to ignored exceptions
  • Docs added Peter Gabor to contributors list
  • Gtk2 sync scrollbars positions of form when using mouse wheel
  • Gtk2 fixed returning correct result from TGtk2WSCustomTabControl.GetTabRect
  • Gtk2 fixed TScrollingWinControl positions update
  • Gtk2 do not report syskey for AltGr+Shift+Key for TCustomControl
  • Gtk2 fixed crash because of uninitialized object
  • Gtk2 fixed scim-bridge doubled chars input
  • Gtk2 fixed setting imageindex in gtkcolumn in runtime, when there's no images in column during design time
  • Gtk2 fixed mess with form sizes while being designed under compositing manager
  • IDE code explorer: catch codetool exception when fetching params
  • IDE EditorOptions, user colors fixed frame init
  • IDEIntf set free notification for TPropertyEditorHook.LookupRoot, changed TPropertyEditorHook to TComponent, set freenotification for TCustomPropertiesGrid.TIObject
  • IDE designer: fixed change parent for TControl
  • IDE, Setup search debugger (gdb) according to path in gdbmidebugger class "ExePath()"
  • IDE designer: snap to nearest grid, instead of form grid
  • Installer, Win French translation update
  • Installer, Win Display name for add on installer
  • LCL fix stringgrid autoedit on pressing RETURN key
  • LCL TCustomListView.OnDeletion must trigger even when destroying component since we might have assigned objects in data property of item
  • LCL, grids fix cbsEllipsis editor not allowing focus change
  • LCL make TCustomButton.Click public.
  • LCL Fix Sigsegv when assigning images to Tlistview columns
  • LCL PageControl, set tab index to widgetset. This was skipped if handle-creation was forced (by other controls) during csLoading.
  • LCL Reset TFieldDataLink when a key field changes
  • LCL, ValEdit Fix InsertRow
  • LCL Prevent an out of bounds error in ValueListEditor when adding rows automatically in Value-column
  • LCL TCustomComboBox: fixed AddHistoryItem and case sensitivity
  • LazReport fix preview's find button always visible
  • LazReport at lazarus design time fix datafields not available if report is not on same form
  • LazReport DefaultCopies should be set to 1 by default
  • LazReport fix compilation with FPC 2.6.5
  • LazUtils fixed TrimFilename
  • Qt fixed crash with fpc-2.6.4
  • Qt fixed wrong scaling result in drawImage()
  • Qt fixed bad behaviour of Linux Mint 16 window manager called Mutter
  • Qt fixed visibility of TQtTreeWidget.ItemDelegatePaint
  • Qt Scrollable forms enabled by default.Registered TScrollingWinControl in wsfactory
  • Qt do not scroll scrollable form if scrollbars aren't visible
  • Qt set proper text palette when control is disabled and regular font.color clDefault
  • Qt fixed extra mousewheel events on TQtAbstractControl based widgets
  • Qt cleanup
  • Qt fixed clipping in stretchDraw.issue
  • Qt, Gtk2 fixed showing of popup window over fsStayOnTop form.issue
  • Qt set focus policy to QtNoFocus if ControlStyle contains csNoFocus for TQtMainWindow class too
  • SynEdit Markup-IfDef; fix crash
  • SynEdit Fixed current line highlight, for use of synedit outside the IDE
  • SynEdit publish MouseTextActions
  • SynEdit fix designer (correct inherited)
  • SynEdit, IDE Fixed crash in "Class/Proc Hint"
  • SynEdit, IDE Fix phys/logic char pos in autocomplete
  • TabControl Set FTab's internal NoteBook.TabStop to False, otherwise TTabControl can always be tabbed into
  • Translations, IDE Code changes for Hungarian translation of Lazarus IDE
  • Translations Regenerated translations; updated Russian translation
  • Translations Components, compilers: added Russian translation
  • Translations Components, LeakInfo: translations cleanup
  • Translations Hungarian translation update
  • Translations improved Russian translation
  • Translations improved Russian translation
  • Translations Improvements for Finnish translation
  • win32 fixed pixelated TCheckListBox at 120 ppi

New in version 1.2.0 (March 7th, 2014)

  • ActiveX: localized, improved dialog layout and added Russian translation
  • CHMHelp: added Russian translation
  • Codetools: read var postfix modifiers without first semicolon
  • Converter: Convert also function SameStr. For some reason SysUtils does not have it.
  • Debugger:
  • improved localization, updated Russian translation
  • Add timeout on kill
  • Fixed and improved: Stop/Kill GDB when debugger stops
  • resourcestring typos and minor improvements
  • regenerated translations; updated Russian translation
  • Fixed potential crash with writing (system.move) to empty string
  • fixed wrong timeout detection on Mac during startup
  • fix updating watches, after changing a variable in the target
  • Examples:
  • translation fix compilation on Linux, comment out old BiDi workaround, patch by wp, Issue #25541
  • Grid Columneditors, added Option goTabs for convenience.
  • Grids:
  • correct shorctut keys for Copy/Paste/Cut. Issue #0025708.
  • Gtk2:
  • Fixed TGtk2WidgetSet.Polygon overwriting points array. Issue #25507
  • fixed regression in TGtk2WidgetSet.InvalidateRect() for GtkFixed widgets (TGroupBox, TTabSheet).issue Issue #25572
  • IDE:
  • In compiler options -> Other -> Defines, catch an exception when parsing an invalid option.
  • Prevent AV with typing a non-existent file name for Convert Delphi Unit. Issue #25538
  • In all compiler options, allow one char options combined like -Criot.
  • All compiler options, remember and synchronize with original user options when generating options from GUI.
  • In All Compiler Options, improve the order of generated options when original data was on the same line.
  • Fixed crash due to fpc optimizer issue Issue #0020827 / Lazarus issue Issue #0025588
  • disable optimization stackframe for units with for..in
  • EditorMacros: Fix saving macro, after editing in source-editor
  • package links: show missing lpk as invalid
  • install pkg dialog: fixed updating available list if lpk cache already valid on start and update on idle
  • In All compiler options parser, add a 'NO'-variation for options that support it.
  • TProjectIcon: do not set icon twice when loading
  • check if project icon on disk needs update
  • check if project needs build: check if file is in unit/include path
  • reading environment options: omit window layouts with invalid names
  • allow adding to inherited form and to child-controls on inherited forms (but not frames)
  • IDEIntf:
  • TOIPropertyGrid: distinguish calling property Edit and changing the value
  • Installer, Win:
  • do not append lazarus do user chosen install dir. issue Issue #0025796
  • LCL, DbGrids:
  • fixed compilation with FPC 2.7.1, bug Issue #25647
  • LCL, grids:
  • check for changes in ClientRect, issue Issue #24724, Issue #25489
  • LCL, gtk2:
  • fixed parameter type, bug Issue #25670
  • LazBuild: read pcp from lazarus.cfg file
  • LazUtils: fix DebuglnEnter with list of 1 argument
  • LazReport: removed PowerPDF and Cairo export requirements from editor sample
  • LazLogger: fixed logfile with relative path
  • MacroScript:
  • improved resourcestrings
  • enabled i18n; added Russian translation
  • improved layout; now using default cursor
  • MaskEdit:
  • fix possible crash in PasteFromClipBoard.
  • PascalScript: fix crash when compiled for 64 bit
  • PoChecker:
  • Textual fixes.
  • do not increment WarningCount in CheckStatistics.
  • Qt:
  • fixed conversion of QImage::RGB32 without mask. issue Issue #25590
  • fixed copy-paste between TSynEdits in different applications. issue Issue #0025692
  • draw rotated text on buttons via Themes. Second part of issue Issue #25253.
  • fixed triggering contextmenu event when widget is hidden and shown on mousedown under mswindows.issue Issue #22943
  • SynEdit: clean up ifdef debug code
  • TAChart:
  • make TChart GetChartHeight return height and GetChartWidth return width, note vice versa
  • don't crash when making legend for PolarSeries visible, patch from wp, Issue #25456
  • don't eat OnMouseMove event when AllowZoom = false, patch from wp, Issue #25439
  • fix checkboxes drawing in TChartListbox on Linux and Mac OS X, patch from wp, Issue #25452
  • Fixed crash due to fpc optimizer issue Issue #0020827 / Lazarus issue Issue #0025681
  • Translations:
  • German: updates from Swen Heinig; removed invalid listemplateeditparamcellhelp translation from lazaruside.de.po (last POChecker error in this file)
  • German: updates from Swen Heinig
  • Improvements for Finnish translation. Patch from delfion.
  • New Finnish translation for ActiveX. Patch from ocean.
  • LazReport: German: bug Issue #25699
  • Win32:
  • update combobox dropdownlist (nr. of items displayed) when using AddStrings. Issue #0025556.
  • lazchmhelp creating po files
  • lazchmhelp added po files
  • lazbuild: fixed listing build modes

New in version 1.0.14 (November 20th, 2013)

  • Debugger:
  • Set LANG env, to prevent localisation of gdb
  • force exit, on destroy.
  • Ensure queue lock during gdb communications (possible race condition)
  • Filenames (for line-info) must be case-sensitive
  • Do not crash IDE, if gdb.exe is invalid
  • fixed getting callstack (could go into an endless loop)
  • fixed crash in callstack (when stop debugging while waiting for stack info)
  • callstack, fix goto source, if viewing bottom of large stack (viewing from startindex > 1)
  • lock queue while handling breakpoint
  • Fix Debugger locking in SourceEdit (protect SynEdit during Paintlock). Calls were unbalanced if method was recursively invoked.
  • Options, disable add/remove buttons on signal opts. Not implemented
  • Options, mark project as modified, when exceptions are enabled/disabled. Issue #25074
  • Spelling
  • fix disassembler, check if offset can be used
  • Fix handling of single quote in strings returned by gdb
  • Fix handling of backslash in strings returned by gdb (used for classname resolving)
  • Try filename in app bundle for newer gdb
  • parse version / mac file encoding depends on version
  • fix adding watch via dialog. Open watch view window
  • Fix mem leak in disassembler
  • prevent messing up the environment on windows, due to gdb bug (gdb not setting debuggee environment) / introduced in rev 42419
  • IDE:
  • clean up build files: omit packages that are compiled "manually"
  • package editor: enable compile button: check if there are commands
  • initial setup dialog: translate captions and lcl
  • LCL, dbgrid :
  • fix backspace on editing number fields, from Aleksey Lagunov, issue 21584
  • workaround for datasets(?).filtered wrong behaviour, from Luiz Americo, issue 22304
  • LCL:
  • EditBtn, Change name of parameter Action into Accept in TAcceptValueEvent. Resolves issue 0024906.
  • r42548,r42550,r42557,r42558,r42568 LCL Attempt to fix TabControl extra spacing (w32) issue 0023069
  • fix TabControl TabPosition and MultiLine issue
  • fix TabControl invalidation
  • TabControl forward style
  • TabControl fix borderwidth initialization
  • TabControl fix paint border
  • fix TabControl spacing / qt
  • fixed OpenURL if URL is invalid, bug 24958
  • TWinControl.ChildSizing with controlstyle csAutoSize0x0, bug 24986
  • fixed GetDesignerForm outside IDE
  • Qt:
  • fixed focus policy of TQtTabWidget. issue 23238
  • do not crash in TQtPage if parent is TTabControl
  • return clBackground as default color for TPanel. issue 24946
  • show icons on menus if menuitem.bitmap is assigned and there's no imagelist.issue 24770
  • PageControl: check if page or tab control
  • fixed TPageControl ActivePageIndex.issue 24972
  • use new SlotAboutToShow() to send LM_ACTIVATE to TMenu, instead of using QEventShowToParent. issue 24979
  • TQtComboBox fix for call IntfGetItems when we are non-editable combobox.
  • call OnDropDown imediatelly after IntfGetItems, so our events are in expected order and there's no disturbing of QListWidget while showing.issue 25032
  • fixed TQtCheckListBox double click event duplication.Issue #25089
  • change current row of TQtCheckListBox for Qt >= 4.8 since it does not change ItemIndex when checkbox is clicked.
  • SourceSynEdit: top-info hint and scrolling, calculate the correct amount of top lines
  • StartLazarus: Fix finding PCP, if it contains spaces.
  • SynEdit:
  • do not crash the IDE, when failing to read config
  • AutoComplete, fix GetPreviousToken use Logical pos
  • Pas HighLighter, recognize new &keyword for identifier style
  • Win-Installer:
  • Changed image

New in version 1.0.12 (August 27th, 2013)

  • codetools - on variable only valid in the on block, bug 24494
  • Debugger - Fix IDE does not end debugger state (processdebugger / dbg=none), if exe can not be started. issue 0024809
  • IDE - environment option single taskbar button apply after change, bug 24623
  • IDE - ctrl+enter: stop at spaces only if no quotes in front, bug 24042
  • IDE - save session, changin folding in editor marks session as changed
  • Gtk2 - fixed itemheight with lbOwnerDrawFixed style of listbox. issue 24629
  • LCL - TTextStrings: fixed TTextStrings.Insert, bug 24718
  • LCL - reset hintwindow region after color change
  • LCL - TSpeedButton: do not eat DialogChar when disabled, bug 24742
  • LCL - fixed AV on TCheckListBox when key space is pressed to check/uncheck item, and itemindex=-1. issue 24627
  • LCL - getmousecapture: check if handleallocated, reducing overhead and fixing crash on carbon
  • LCL - added capfHasScrollOffset into ControlAtPos in WMContextMenu so offset is ok when control is inside scrolled control. issue 23584
  • LCL - dbctrls.pp: Publish BorderStyle and CharCase for TDBComboBox. Issue 22295, patch from LacaK
  • LCL, docs - build_lcl_docs: add --css-file parameter for setting chm css files (Issue 0024823)
  • LCL - made codepage conversion 852,874,1250,1251,1252,1253,1255,1257,1258 to UTF8 and back lossless
  • LCL - TMaskList: Don't split masks on space (Issue 0024771).
  • ShellTreeView - Publish draw events of ShellTreeView (Issue 0024732)
  • SourceSynEdit - fix scrolling with top-info hint. Issue 0024505
  • SynEdit - pas highlighter: fixed "packed class"
  • SynEdit - Mouse Selection and scroll-by-wheel. Issue 0022072, 22090
  • TAChart - Do not fill polylines in SVG export. Fixes 23982
  • TSelectDirectoryDialog - also show editbox for directory selection. Issue 23521
  • TCustomTreeView - use Utf8CompareStr for default sorting instead of AnsiCompareStr (Issue 0024740).
  • ValEdit - use Strings.NameValueSeparator instead of hardcoded '=' (Issue 0024779)
  • ValEdit - fix crash in TValueListEditor.AdjustColumnWidths (Issue 0024779)
  • ValEdit - fix crash in TValueListEditor.AdjustColumnWidths when resizing a parent form. (Issue 24827)
  • SqlDb - Allow compiling SQLite3 components on Win64 version of Lazarus. Issue 22951
  • Qt - fixed LCLIntf.Frame3D. When FillBrush isn't filled then draw shaded box without brush (applies painter brush).issue 24445
  • Qt - fixed problem with TCustomPanel.Color, when panel is painted via Frame3d.Problem raised with r41291 while fixing 24445
  • Qt - return correct lfHeight inside TQtWidgetSet.GetObject. issue 24613

New in version 1.0.10 (June 15th, 2013)

  • fpc source scores: unit fileinfo on target non wince, bug [24070]
  • removed old fpc 1.0 defines, biting 2.7.1 sources
  • fix crash in PrepareCellHints when DataLink is not Active (issue [0024028]).
  • utf8 content for event-log (warnings/OutputDebugString). Issue [24353]
  • Improved shortstring detection. strings with utf8 content in locals and some in watches
  • more utf8 for strings in watches
  • itmEditUndo\itmEditRedo is almost always Enabled, even when it is impossible to Undo\Redo in source Editor, issue [22633]
  • Autocheck radiobutton when you enter a value in the HeightEdit / WidthEdit, issue [23398]
  • test compiler settings: show message when busy
  • fixed showing broken dependencies
  • help for fpc messages: fixed crash when no help found, search for message file in compiler directories
  • project resource file version: do not set modifie is the same and initialize it after read
  • package editor: extend unit/include path: shorten paths that are not sub directories, bug [24272]
  • remove & from key map resourcestrings
  • fixed caption Free Pascal in highlighter
  • add example projects to recent menu only once
  • register TBoolPropertyEditor for WordBool, LongBool and QWordBool, needed since fpc 2.6.0
  • TCollectionPropertyEditor: fixed unselecting if owner is freed
  • add French translation. Patch by ChrisF. Issue [24171]
  • cleaned up OldInOtherFolder1 string as per ChrisF's comment in bug [24171]
  • gtk, fix LazReport designer sometimes presented as a thin vertical or horizontal band that runs from center of screen under gtk2/64-bit, related to issue [21634]
  • navFocusableButtons doesn't work in TDBNavigator, modified patch from Éderson Cássio, issue [24191]
  • use UTF8Length instead of Length on calc dbgrid column field width, from Rumen Gyurov, issue [24491]
  • fixed conditionals for default LCLWidgetType
  • TreeView: clear cache when adding node
  • prevent change in dbcombobox when autoedit is false. Issue [24207]
  • TFilterComboBox: freenotification for ShellListView, bug [24512]
  • gtk2 fixed AskUser,QuestionDlg escape key result
  • MaskEdit: respect AutoSelect if control is masked. Issue [0024311]
  • do not trigger scroll events while calling SetScrollInfo, fix issue 23815
  • fixed default text color of QTabBar. issue [23985]
  • fixed determination of string content (RightToLeft vs. LeftToRight). issue #24340
  • fixes for buggy xfwm4 window manager under X11 formatting
  • fixed visibility of THintWindow class when virtual desktop is switched or application minimized.issue #24363
  • fixed bad behaviour of popup windows under metacity window manager.
  • fixed problems with modal and popup windows over modal windows with Mint's Marco window manager (Mate desktop)
  • fixed bug with AltGr key handling under windows.We are using winapi directly as workaround for bug in Qt library. issue [23808]
  • implemented getKeyState for caps lock and numlock under x11 and win32 targets
  • rework fixes for metacity like wm's. Now marco and gnome shell are mapped as metacity.
  • use QPolygonH to draw poly regions in FillRgn()
  • workaround for Qt lib bug (QStyle) where disabled button doesn't have activated disabled colors palette. issue [24413]
  • declare property ViewStyle of TShellListView as "default vsReport" (issue [0024226]).
  • Trim spaces - position only: Do not mark buffer as modified, if pressing space at EOL. Follow up revision 40680
  • Fixed gutter resizing. Issue [0023990]
  • fixed trim-space (mode "position only") would corrupt text on certain undo. Issue [24101]
  • Fixed folding in "library" code. Issue [0024370]
  • Pas Highlighter: recognize {$IFOPT}
  • Pas Highlighter: Completed the list of Ifdef, ifopt, elseif directives
  • Fixed folding in "label" code. Issue [0024417]
  • reverted Arabic translation. Reason is poor quality/machine translation, which makes hard to use translated IDE.

New in version 1.0.8 (March 28th, 2013)

  • Fix coordinate calculation in Pixels and Colors properties of TAggFPImage
  • Fix TLazIntfImage descriptor for 32-bit pixel format
  • codetools fixed parsing #0, bug [23906]
  • Debugger Fixed range-check on linux. Issue [23993] Patch by C Western
  • Designer Use a record of signed SmallInts to prevent range check errors. Still about issue [22760]
  • Gtk2 Gtk2WSCustomPanel respect TCustomPanel.Visible property when creating handle. issue [23940]
  • IDE prevent debugger from entering invalid state, if started again before completely stopped. For info see issue [0023800]
  • IDE fixed restoring designed form when HideIDEWindowsOnRun = true. issue [22535]
  • IDE register HTML help for LCL
  • IDE: SourceEdit fixed word (word from text, not identifier) completion
  • Installer, Win strip lhelp.exe
  • Installer, Win fixed typo
  • LazReport Band.name patch from Giuliano Colla
  • LCL, dbgrids checks for keydown while dataset is inactive, issue [23598]
  • LCL, grids+gtk2 when pressing somekeys like shift introduces '?' in cell, relaed to issue [22056] (fixes issue [23924])
  • LCL, Utils Don't HTML-escape spaces in OpenURL, it breaks OpenDocument()
  • LCL Prevent an error with Pg Up/Down in DbGrid on empty Dataset. Issue [22474], patch from Stefano
  • LCL Revert Changes from 31132 (and partly 31577) which replaced TGraphicControl.Update by Invalidate
  • LCL: gtk2 fixed registering callback LM_CONTEXTMENU for TCustomControl
  • Qt keep state of forms hidden from taskbar under X11. Fixes issue [23825].
  • Qt fixed item caption in TListView vsIcon style. patch by DCelso. issue [23879]
  • Qt show images when with TListView.vsIcon style when we have more > 1 column. issue [23923]
  • SynEdit Separator-Gutter, fixed painting
  • TAChart Call inherited constructor from TBGRABitmapDrawer.Create
  • TAChart Call inherited constructor from TSVGDrawer.Create
  • TAChart Fix chart margins calculation for axises with ZPosition > 0
  • TAChart Fix SIGFPE while drawing very narrow slices in 3D pie chart
  • TAChart Workaround for range check when using TFitSeries with more than 20000 points. See also issue [23816].
  • ValEdit add ItemProps to ValueListEditor
  • ValEdit implement method TValueListEditor.InsertRow
  • ValEdit Make button and picklist cell editors work in TValueListEditor
  • Valedit Fix a bug in ValueListEditor when reading / writing value by key (Values['Key'])
  • ValEdit free TValueListStrings.FItemProps in TValueListStrings.Destroy (issue [0023841])
  • Valedit delete also ItemProps when deleting strings
  • Valedit also release the memory of the TValueListStrings.FItemProps array itself, not only the items
  • ValEdit fix not updating active cell contents when changing Strings property
  • ValEdit Fix FItemProps getting out of sync with Strings (issue [0023851])
  • ValEdit Remove unnecessary calls to Changing and Changed in overridden methods
  • ValEdit Fix bug in SetOptions
  • ValEdit remove unused redeclared OnEditButtonClick property
  • ValEdit Publish On(Edit)ButtonClick
  • ValEdit don't hide/show editor inside TValueListStrings.Put
  • ValEdit Fix not updating cell in TValueListStrings.Put when goAlwaysShowEditor in Options (issue [0023875])
  • ValEdit Refactoring. Store ItemProps in TFPObjectList
  • ValEdit Implement CustomSort so it keeps ItemProps in sync
  • ValEdit Update Modified when Strings are changed
  • ValEdit do not store '=' in Strings if "key" and "value" cell is empty
  • ValEdit Ignore epmty cells when validating
  • ValEdit Remove unneeded overridden SetTextStr
  • ValEdit Fix not updating cell in TValueListStrings.Exchange when goAlwaysShowEditor in Options
  • ValEdit Rename some private fields to improve readability and avoid ugly constructs like FOwner.FOwner
  • ValEdit fix strange focus swapping
  • ValEdit: Refactoring remove SelectValueEditor and override SelectEditor instead
  • ValEdit: TValueListStrings.Assign Assign also ItemProps if Source is TValueListStrings
  • ValEdit: TValueListStrings.GetItemProp return nil when strings are updating

New in version 1.0.6 (February 5th, 2013)

  • reapply brush and pen after the DC restore
  • fixed TEventsCodeTool.FindMethodTypeInfo when type is an alias
  • Fixed eval of watches with class-typecase and dyn-array (stabs only)
  • fixed changing of font color on GtkCheckBox.
  • fixed keeping of SelStart() and SelLength().issue
  • Invalidate, if top-info-hint changes
  • Keymap: missing entries for select+cursor-keys
  • extract proc: stop if identifier is invalid
  • find prompt: shorten texts
  • check Project1 in UpdateHighlighters
  • IDE prevent a crash in designer "Change Class" if new name does not exist / designer: change class dlg: disable ok button
  • Display info while installing
  • published property KeepAspect and Centered for Picture Object
  • published WordBreak property on Memo object plus some refactoring
  • avoid duplicated export filters
  • two additional export filters - TfrImageExportFilter, TfrHtmlDivExportFilte
  • clip image when it's bigger than picture object and not stretched
  • fix off by one error in calculation of PictureView size. This avoids unnecessary stretch whew pictureview size = image size
  • apply scale when drawing not stretched image. This fixes the size of image in printed report
  • cleanup. remove unused code in TfrPictureView.Draw
  • fix moving/resizing objects when using keyboard under QT (and carbon)
  • fix PreviousClipRgn on image drawing, was not valid and it worked fine by coincidence
  • fix export filters registering multiple filter extensions are listed only once, issue
  • renamed argument to really check for matching classref
  • xmlreader: handle non existing property list
  • Don't publish FixedRows in ValueListEditor, allow only 0 or 1
  • make ValueListEditor work also when ColumnTitles are not shown
  • add WM_ACTIVATE to messages.pp
  • scroll before updatedata in DBLookup
  • Use PopupMenu getter instead of cached FPopupMenu, so GetPopupMenu can be overrided
  • make ValueListEditor work also when ColumnTitles are not shown
  • override TValueListStrings.SetTextStr: Don't show editor while changing values. Edited cell would not be changed
  • Start implementing validating: don't accept duplicate Key names
  • Fix crash in TValueListEditor.ShowColumnTitles when TitleCaptions.Count = 1
  • Only allow FixedCols := 0 or 1
  • Do not use Columns.Add, it interferes with setting FixedCols := 1 (by adding an extra column in front)
  • Implement TValueListEditor.AdjustColumnWidths and override OnDoResize.
  • fixed range check errors under 64bit
  • fixed events when month and year are changed in TCalendar
  • fixed getClientBounds for TQtPage and TQtGroupBox. It should use QWidget_contentsRect() of underlaying widget or parent
  • reverted TQtPage.getClientBounds to use TQtWidget.getClientBounds, it wasn't good solution since it produces a mess in eg. in build lazarus form.
  • fixed topmargin of groupbox when caption text is empty
  • make LCL happy when changing caption of groupbox from empty to some string or viceversa.part of
  • fixed SetCapture() and GetCapture() for TQtCustomControl on qtwin32 targets
  • fixed preffered size of autosized groupboxes
  • trial to fix Qt bug when dialog is shown with QtTool as parent
  • Fixed , make TAction regard ReadOnly state
  • LineOverviewGutter, do not cause overflow error on 64 bit
  • fix highlighting "i6"
  • Fix problems with resizing GutterParts. (Noticeable in right gutter)
  • Fixed Matching bracket, for very long lines
  • FoldHighlighter (Html, XML): fix invalid fold node on last line.
  • LineNumber-Gutter: update digit-count when setting to visible (Digits where cut off)
  • Add TChart.IsZoomed property
  • Hide legend if exception happened while attempting to fill it
  • Copy HorizSize and VertSize in TSeriesPointer.Assign
  • Fix SIGFPE while drawing mark labels for series with NaNs
  • Fix exception on destroying clones series
  • Set TChartTool.Chart = nil after calling OnAfterXXX event, not before
  • Fix SIGFPE in TChartSeries.Add when the last data item is NaN
  • Force recalculation of the full extent for linked charts
  • Fix TBoxAndWhiskerSeries.Assign to correctly assign class properties
  • Make TChartDataItem advanced record instead of object to reduce memory footprint
  • Fix drawing of line series with number of points above 1000000
  • Call inherited constructor from TCanvasDrawer.Create

New in version 1.0.4 - FPC 2.6.0 (December 4th, 2012)

  • make timer related functions 64-bit safe (fixes similar to r39164), patch from bug [23052]
  • Inspect-Dialog, prevent crash, due to nested updates
  • Do not treat "&" as accel-char when displaying exceptions. Issue [0023321]
  • Fix updating Inspect dialog, if triggered via source-editor (pop-up menu)
  • Fix range check in disassembler (64 bit debuggee). Issue [0023355]
  • Disable "run to cursor" when debugger is stopped. This command is limited to the current frame (function). It can not be used to start a project. (also disable dcJumpTo, dcStepOut)
  • fixed an endless loop in watch eval (eval typecast pointer to record)
  • fixed TGtk2WSCustomListView.GetDisplayRect, also fixed cell renderer which sent wrong item id to owner drawn list view.issue [23094]
  • do not render listbox item by default if we are customdrawn. issue [23093]
  • fixed crash with TListView introduced with r39032.
  • LineTo and MoveToEx must take hdc offset into account.issue [23057]
  • fixed assertion from gtk2 library. issue [23099]
  • do not apply devctx offset into penPos, regression of r39034.issue [23057]
  • completely fixed LineTo() and MoveToEx() regressions from r39034
  • fixed clientRect of GtkTreeView, new routine GetWidgetClientRect() in gtk2proc to simplify gtk2winapi, fixed offset for custom drawn listview.
  • use better approach for RecreateWnd in TGtk2WSCustomListView, fix rendering of icon view. issue [23171]
  • added TGtk2DeviceContext class as deprecated. part of issue [23168]
  • fixed cursor position behaviour on GtkEntry focus/unfocus. issues [21897], [23182].
  • remember selection when edit looses focus.Also preselect test when AutoSelect is true
  • check if scrollbar handle is allocated when setting params.
  • trial to fix freezing of TFloatSpinEdit when we don't use clocale unit since gtk2 takes info from $LANG and our DecimalSeparator could be different. issue [23190]
  • register TGtk2WSScrollBar to TCustomScrollBar instead of TScrollBar. Fixes [23200]
  • fixed offset in Gtk2 polygon drawer. issue [23359]
  • correct fix for issue [23359]
  • fixed font color changing on TCheckBox when caption is empty. issue [23373]
  • Hint: Fix malformated hints, if text has ampersand. or

New in version 1.0 - FPC 2.6.0 (August 30th, 2012)

  • LCL Interfaces Changes:
  • Gtk2: Implemented LCLIntf.CreateEllipticRgn and CreateRoundRectRgn and implemented SetWindowRgn for TForm (previously it worked only for child controls)
  • WinCE: Implemented TSelectDirectoryDialog
  • A new interface was added called LCL-CustomDrawn which implements all native controls via the Lazarus Custom Drawn Controls. This interface has a minimal amount of native elements and implements TCanvas drawing through the non-native TLazCanvas, TBitmap through TLazIntfImage, etc. This is the first Lazarus interface to support Android. It also supports Windows, Mac OS X (Cocoa) and X11.
  • Qt: implemented full MDI support.
  • LCL Changes:
  • The LCL is now a normal package. It is now automatically recompiled if needed. For example when switching the target platform and you have not yet compiled for this platform. This has no impact on existing projects.
  • The platform independent parts of the LCL are now in the package LCLBase. This has no impact on existing projects.
  • The linker options needed by the LCL are now only added to projects that use the package LCL. Formerly all projects got them. See here.
  • TCustomForm.Create raises an exception if form resource is not found.
  • TNotebook and TPage: The new implementations of these classes have been added.
  • TDBNavigator: It is now possible to have focusable buttons by setting Options = [navFocusableButtons] and TabStop = True. This is useful for accessibility and for devices without a mouse nor touch screen.
  • TControlBorderSpacing.GetSideSpace and GetSpace were swapped and are now consistent. GetSideSpace = Around + GetSpace.
  • TForm.WindowState=wsFullscreen was added
  • TCanvas.TextFitInfo was added to calculate how many characters will fit into a specified Width. Useful for word-wrapping calculations.
  • TControl.GetColorResolvingParent and TControl.GetRGBColorResolvingParent were added. They simplify the work of obtaining the final color of the control while resolving clDefault and the ParentColor.
  • LCLIntf.GetTextExtentExPoint now has a good default implementation which can work in any platform which does not have a specific implementation for it. The specific implementations are still better, if they can be supported by the widgetset.
  • TTabControl was reorganized. Now it has the correct class hierarchy and inherits from TCustomTabControl like it is supposed to.
  • New unit in the LCL: lazdialogs.pas. This unit has non-native versions of various native dialogs, for example TLazOpenDialog, TLazSaveDialog, TLazSelectDirectoryDialog. It is utilized by widgetsets which either do not have a native dialog, or do not wish to use it because it is limited. These dialogs can also be utilized by user applications directly.
  • New unit in the LCL: lazdeviceapis.pas. This unit offers an interface to more hardware devices such as the accelerometer, GPS, etc. See LazDeviceAPIs
  • New unit in the LCL: lazcanvas.pas. LazCanvas is a TFPImageCanvas descendent which implements drawing in a LCL compatible way but 100% in Pascal, doing all the drawing itself.
  • New unit in the LCL: lazregions.pas. LazRegions is a purely Pascal implementation of regions for canvas clipping, event clipping, finding in which control of a region tree one an event should reach, for drawing polygons, etc.
  • New LCL units: customdrawncontrols.pas, customdrawndrawers.pas, customdrawn_common.pas, customdrawn_android.pas and customdrawn_winxp.pas. These are the Lazarus Custom Drawn Controls, which are controls which imitate the standard LCL ones, but with the difference that they are non-native and skinnable.
  • New APIs were added to the LCL to improve our support for accessibility software such as screen readers
  • IDE Changes:
  • The old warnings at IDE start for Lazarus directory, compiler and FPC sources were replaced with one dialog. The dialog can be forced to show with the command line parameter --setup.
  • A new project now saves the session information (open files, caret positions, etc) as separate lps file in the project directory. You can change this in Project / Project Options / Session.
  • The IDE no longer asks to save changes, if only the session data has changed (i.e. cursor positions) and the session is saved in the separate lps file. You can enable the confirmation in Tools / Options / Desktop / Auto Save. See [here].
  • Compiler options: You can now use the project build macros in the search paths, linker and custom options of the project and all packages of the project. See the examples.
  • The package editor and project inspector were improved to better support big packages/projects with hundreds of files: You can now sort, filter and show the directory structure.
  • Packages compiled via Makefile created by the IDE are now recognized by the IDE and only recompiled if something changed.
  • Package general and package compiler options are now using generic IDE options interface.
  • New dialog to clean up build files, including all packages of the project
  • Cleaner clean up when compiling packages: The IDE now deletes all files in the unit output directory of a package unless the directory contains sources or is shared with another package (See packages).
  • Open File: filter list is now configurable in Tools / Options / Environment / File Filters
  • Export to html
  • Editor:
  • Codefolding: Folded code remains folded, even if it temporarily becomes part of a comment (due to an open "(*" or "{"). Note: Such folds are not saved in the session, they are once they returned to there normal state, after the closing "*)"/"}" was typed.
  • Codefolding: Ability to hide (fold) the currently selected text. These folds are not saved to the session
  • Improved Mouse wheel support: Allows to zoom the editor (ctrl wheel) and slower/faster scrolling (shift/alt). Keys can be reconfigured.
  • Basic Macro-Recorder. (Only one Editor can record at a time, Macro can then be played to any editor)
  • Info-Hint, showing the current class/procedure on top of the editor, if it would otherwise be scrolled out
  • Debugger
  • Added display format for CPU-Register
  • Added Pascal Source to Disassembler
  • Added breakpoints, (display and toggle) to Disassembler
  • Added Thread dialog
  • Added Watchpoints (data breakpoints)
  • History of Watches and Locals [see blog]
  • Added logging of most of events (Event Log)
  • Added ability for a breakpoint (breaking or none-breaking) to enable/disable other breakpoints
  • Watch/Inspect the an object as the instantiated class.
  • Main menu structure got revamped. Source menu and its Refactor sub-menu are new.
  • New menu item to insert MIT license text
  • Filters were added for many ListBoxes and TreeViews in the IDE, including IDE Options, Project Options (visible pages filtered by option name), Package and Project Inspector, Install / Uninstall packages, and many others. Next version will have a filter even in Object Inspector.
  • "Use Unit" (Alt-F11) dialog allows selecting from all available units, not only project units.
  • Parameter Hints now have a button to paste the missing parameter names.
  • Code Explorer: Filter now deletes nodes, instead of marking.
  • Code Explorer: New category "Surrounding" allows to quickly jump to interface, implementation and nested procedures.
  • Help for keywords: The chmhelp package can now show help for keywords.
  • New window: Tools -> "Example Projects"
  • Window: View -> Components was improved and it can be opened from Component palette's local menu
  • Configure Build Lazarus window was changed. LCL, other packages and IDE don't need their own selections any more. Examples were moved to a new window.
  • startlazarus now supports the --pcp parameter allowing multiple installations of Lazarus.
  • lazbuild
  • can now create/update the Makefile of a package with the new option --create-makefile.
  • build-ide= now builds under Windows lazarus.exe, not lazarus.new.exe
  • build-ide= now appends the options instead of replacing.
  • build-mode= can now be used together with --build-ide to select the build profile of the IDE.
  • Design time only packages are no longer compiled into projects, unless enabled. See here.
  • New package type Runtime only, can not be installed in IDE. Use this to for package incompatible with the LCL or the IDE. See here.
  • When creating a new package the option to Add to the uses section of the project is now disabled by default.
  • New menu item to quickly create a new component: Package / New component.
  • New macros: PrimaryConfigPath, SecondaryConfigPath, FallbackOutputRoot, PkgName. See IDE Macros
  • The IDE interface unit projectintf was split into projectintf and compoptsintf. The unit compoptsintf contains the access to the various compiler options of the IDE. The unit packageintf now grants access to the compiler options of packages.
  • New projects can now be created with your own set of build modes, for example "debug" and "release". For this a feature was extended: Project / Project Options / Use these options as default for new projects.
  • The compiler option -Wpunitname, specifying the controller unit for embedded systems, is now used when doing a "find declaration". You can give this option under compiler options / other.
  • Project title can now contain macros
  • Packages have no longer compiler setting for TargetOS, TargetCPU, LCLWidgetType. They use the project settings. Or when compiling the IDE they use the IDE settings. Or when compiled via lazbuild they use the command line parameters.
  • Building the IDE with the IDE or lazbuild: The backup of the old Lazarus executable now works the same on all platforms. Before building the old Lazarus executable is now renamed to lazarus.old.exe. If there is already a lazarus.old.exe it will be deleted. If it can not be deleted it is renamed to lazarus.old2.exe. If even this fails a lazarus.new.exe is created. If building fails the lazarus.old.exe is renamed back to lazarus.exe,
  • When putting a new frame on a form the IDE now allows to select from frames in packages.
  • A dialog was added to see which package/project needs rebuilding and why: View / IDE Internals / What needs Building
  • Pasting multiple components on a designer form now keeps references between them
  • Codetools:
  • Parsing, searching and code completion of class operators and advanced records.
  • Parsing objcclass external syntax.
  • Parsing and class completion of nested classes. Searching is not yet fully implemented.
  • Parsing of class sections type, const, var, class var. Searching is not yet fully implemented.
  • Parsing delphi style generics. Searching in spezialized types is not yet fully implemented.
  • Parsing jvm syntax.
  • ctnClassType, ctnClassConst, ctnClassVar were removed and replaced with ctnTypeSection, ctnConstSection, ctnVarSection.
  • The class sub sections ctnTypeSection, ctnConstSection, ctnVarSection are now children of the visibility sections.
  • New IDE package for advanced Codetools: Cody.
  • Find declaration: "inherited;"
  • Identifier completion:
  • for compiler directives: keywords and FPC macros.
  • IDE option to replace only the prefix instead of the whole identifier (Tools / Options / Codetools / Identifier Completion / Replace whole identifier).
  • more keywords for programs, libraries and properties
  • Code completion:
  • now creates variables from pointer parameters, e.g. CreateIconIndirect(@IconInfo) will create var IconInfo:TIconInfo;. See here.
  • now creates procedures/methods from parameters, e.g. List.Sort(@MySortFunction) will create the new function MySortFunction(Item1, Item2: Pointer): Integer. See here.
  • TAChart
  • Wiki documentation
  • On{Before|After}Draw{BackWall|Background}, OnExtentChanged events for TChart
  • Antialiasing
  • TChartAxis:
  • MarkPositions to implement labels-inside bars and pies
  • Minor axis ticks and grid
  • AxisPen and Range properties
  • Intervals property to control interval size
  • Margin property
  • TChartAxisMarks:
  • Stripes property to create "striped" chart background
  • YIndex property to implement labels for stacked series
  • Range property
  • TFuncSeries now correctly work with rotation and axis transformation
  • 5 new series:
  • Open-High-Low-Close, B-spline, Cubic spline, Polar, Fit
  • 3D pie series, TPieSeries.EdgePen property
  • Multi-line mark labels, title and footer rotation
  • 6 new tools:
  • TDataPointClickTool, TDataPointHintTool, TDataPointCrosshairTool, TZoomMouseWheelTool, TPanMouseWheelTool, TUserDefinedTool
  • TBasicPanTool.LimitToExtent property
  • Drag-zoom and crosshair (former reticule) now should work on Qt and MacOS
  • KeyDown/KeyUp/MouseWheel events for chart tools
  • New transformations: TCumulNormDistrAxisTransform, TUserDefinedAxisTransform
  • New data source: TIntervalChartSource
  • TCalculatedChartSource: derivative and smooth derivative, AccumulationDirection
  • Series can now skip NaN values
  • New IChartDrawer API with various drawing back-ends:
  • AggPas (separate package)
  • Printer, for printing charts with appropriate scaling (separate package)
  • OpenGL
  • FPCanvas/NoGUI, for using in web servers
  • SVG
  • BGRABitmap (separate package)
  • Windows Metafile (separate package)
  • FPVectorial (separate package)
  • Navigation components: TChartNavScrollBar, TChartNavPanel
  • Legend:
  • Item format
  • Multiple columns, fill direction
  • Ordering and grouping
  • SymbolFrame property
  • OnCreate event
  • New components: TChartListbox, TChartExtentLink, TChartImageList
  • Enumerators
  • Arrow property for TConstantLine and TChartAxis
  • TChart.MarginsExternal and ExtentSizeLimit properties
  • Design-time editor for TListChartSource.DataPoints
  • 17 new demo projects, many updates to existing demos
  • Backwards-incompatible changes:
  • Adding Pie series does not automatically hide axises any longer
  • TZoomDragTool.Proportional property is replaced by RatioLimit, allowing single-axis zooming
  • TReticuleTool, TChart.ReticuleMode, TChart.ReticulePos and TChart.OnDrawReticule are deprecated and will be removed, use TDataPointCrosshairTool instead
  • SQLDB:
  • Added mssql connectors (supports Microsoft SQL Server), requires fpc 2.6.1+
  • Added sybase connectors (supports Sybase ASE), requires fpc 2.6.1+
  • Added mysql 5.5 connector, requires fpc 2.6.1+
  • ChmHelpPkg:
  • HelpFilesPath can now contain macros and multiple directories separated by semicolon

New in version 0.9.30.4 - FPC 2.6.0 (March 15th, 2012)

  • Platforms:
  • iPhoneSimulator target
  • Compiler:
  • Many new language features:
  • Objective-Pascal dialect, supported on all Mac OS X and iOS targets
  • constref parameter modifier for "const by reference"
  • Pascal boolean types with multiple sizes (boolean16/32/64)
  • ISO 7185 language mode (except for I/O). Features amongst others:
  • nested procedure variables
  • non-local goto's
  • Mac Pascal mode improvements
  • nested procedure variables
  • univ modifier
  • Intrinsics
  • sar (shift arithmetic right)
  • bsf/bsr (bitscan forward/reverse)
  • Delphi compatibility mode improvements
  • Nested types, class variables and class local constants
  • Advanced records syntax (no constructors yet)
  • (for..in) Enumerators in records
  • Class and record helpers
  • Generic records, arrays and procedural types
  • Delphi-compatibility of generics improved
  • Scoped enumerations
  • Custom messages for "deprecated" directive
  • Ability to use "&" for escaping keywords
  • New ARM code generator features
  • ARM VFPv2 and VFPv3 floating point unit support
  • Thumb-2 support
  • Packages:
  • Many improvements to the rtl
  • Many improvements to the database units (fcl-db)
  • Objective-Pascal interfaces to Foundation, AppKit, CoreData and WebCore
  • OpenGL headers updated to OpenGL 4.0

New in version 0.9.30 (May 20th, 2011)

  • Windows CE: support for clipboard and keypad devices
  • GTK2 and GTK1 interfaces are now separated.
  • GTK1 is no longer maintained by the Lazarus team,
  • but patches are still welcome.
  • fpGUI: the LCL interface to fpGUI now supports all components
  • on the standard page.
  • QT: support for Haiku
  • Layout and autosizing is now more consistent across widgetsets,
  • overhead was reduced, improved cross platform layouts and complex forms.
  • Added gif reader
  • TLazIntfImage - New function AlphaBlend, which can alpha blend
  • an intfimage into another, using a separate intfimage as the
  • alpha channel.
  • Unit chart and its component TBarChar are deprecated.
  • See the new package TAChartLazarusPkg.
  • IDE:
  • Support for FPC resources:
  • You can now use {$R *.lfm} instead of {$i unit1.lrs}.
  • The Delphi converter has improved a lot.
  • Build modes, build macros and conditionals now allows
  • different sets of compiler options for projects and packages.
  • Editor
  • Hiding (Folding) of comments in Pascal source.
  • Allow Multiple Source-Editor Windows
  • Allow several Views of the same Source
  • User-defined color-schemes.
  • Identifier-completion pop-up is now resizeable
  • Project compiler options can now be saved as default for new projects.
  • When opening a project only those forms are opened
  • that were open when project was closed.
  • Various designer usability improvements:
  • arrow and tab keys switching between components
  • resize/move cancellation using ESC key
  • save/restore of the form window state in the project session
  • skip snapping when Alt key is pressed
  • When creating a new project the default unit output directory
  • is now lib/$(TargetCPU)-$(TargetOS). Target file name is project1.
  • This has no impact on old projects.
  • IDE now preserves the line endings of source files (it uses
  • the line ending of the first line, it does not preserve mixed
  • line endings).
  • You can now quickly switch between several versions / branches of
  • packages by defining the preferred package file name for each dependency.
  • You can now use the IDE directive %H- to hide individual hints,
  • notes and warnings.
  • The IDE can be made dockable. Install either the package
  • AnchorDockingDsgn or EasyDockMgrDsgn.
  • The ToDo list was moved to a separate package: todolistlaz.lpk.
  • Czech translation added
  • Debugger / Editor
  • Inserted/Deleted lines during a debug session are now tracked.
  • Breakpoints and Execution-line are adjusted.
  • Step out command implementation (by Flavio)
  • Show execution point command
  • Single Instruction step (over/into)
  • UI Improvements: Toolbars for Watches, Breakpoints, Disassembler
  • Watches: Enabled display formats (mem-dump, Hex, Default, ..)
  • Disassembler added navigation: jump to address / return to execution point
  • Improved reaction speed: It is possible to continue stepping
  • without having to wait for all watches, locals, ... to be evaluated
  • Components:
  • The IDE got some options to become easier for students and pupils
  • and there is a new package EducationLaz adding options to hide
  • complex parts of the IDE
  • New AggPas (Anti Grain Geometry for Object Pascal) package,
  • now supporting FPImage and LCL. AggPas highlights: Subpixel rendering,
  • 8-bit alpha channel, paths, platform independent rendering using
  • pure pascal
  • TAChart update, including: stacked and rotated series, 3 new types
  • of series, axis transformations, interactive tools, 6 new demos and
  • other improvements