Sign in Join
Wiki copytemporary

Lazarus 1.0 release notes

Sent here from Lazarus 0.99.0 release notes.

Statistics:

  1. commits: 7872
  2. resolved bug tracker issues: 487

LCL Interfaces Changes

LCL Changes

Known Issues

LazUtils Changes

IDE Changes

Components

Codetools

TAChart

SQLDB

ChmHelpPkg

Changes affecting compatibility

Installer / Upgrading from 0.9.26 or older on MS Windows

As of 0.9.28 the Windows IDE no longer saves options in the exe/installation directory. Installers for 0.9.28 and 0.9.30 asked before overwriting config in the installation directory, allowing the IDE to find such old config files and copy them to the new location.

As of 1.0 the installer will always overwrite such files without asking.

If you upgrade from 0.9.26 or before you are required to backup your old config, and restore it after installation. (The IDE will still copy it to the new location)

Background: As of 0.9.28 for any new installation (non update) the installer wrote a template config to the same location used by 0.9.26. The 1.0 installer now assumes that if the file exists, it is the template. Therefore it does not ask.

TCustomForm.Create raises an exception if resource is not found

See also

LM_DEACTIVATE message is removed

TCompileReason or TLazCompilerOptions not found

Two packages which share their unit output directory give "unit not found", because the IDE deletes the ppu files

SourceEditorIntf

SrcEditorIntf.SourceEditorWindow
removed, see 0.9.30 release notes, use SrcEditorIntf.SourceEditorManagerIntf

SynEdit

SynEdit: Changes to WantTabs

The default for WantTabs changed from False to True. If set to "False" Tab and Shift-Tab are now ignored.

The old behaviour was that SynEdit would always take the Tab key, if it was configured in the KeyStrokes (which by default it is). Only if WantTabs was False, and Tab removed from the Keystrokes, then the Tab was passed on to the Form (change Focus)

The new behaviour is, that if WantTabs is False then SynEdit will not take the Tab key, even if in KeyStrokes. If WantTabs is True SynEdit will always handle the Tab key (do nothing, if not in KeyStrokes)

SynEdit: Changes to Options, MouseOptions

All mouse related flags from the property Options were moved to MouseOptions. These are:

text
 eoAltSetsColumnMode, eoDragDropEditing, eoRightMouseMovesCursor, eoDoubleClickSelectsLine, eoShowCtrlMouseLinks

The new flags start with "em".

The old flags still exists (but should be considered deprecated).

Old code should work as before, no changes needed. As soon as MouseOptions is used (write access), code may need to be adapted.

SynEdit: Changes to MouseActions

A new flag was introduced: emUseMouseActions im SynEdit.MouseActions

Custom MouseActions are now only used, if this is set.

Changes required: If you use MouseActions different from the flags in MouseOptions (was Options), them enable this flag.

SynEdit: BeginUpdate adds UndoBlock

Calling SynEdit.BeginUpdate, now includes creating an undo-block. This means all changes made during the update will be one entry in the undo list.

Changes required: If the old behaviour is required, call SynEdit.BeginUpdate(False); the EndUpdate does not require any change, it adapts automatically.

SynEdit: Several deprecated methods were removed

SynEdit.SetSelWord
removed, use SynEdit.SelectWord

SynEdit.CtrlMouseActive
removed, the property was a dummy property for some time with no value. Information can be retrieved via TSynEditMarkupCtrlMouseLink(SynEdit.MarkupByClass[TSynEditMarkupCtrlMouseLink]).IsMouseOverLink

SynEdit.GutterWidth
removed, use SynEdit.Gutter.Width

SynEdit.CFDividerDrawLevel
removed, only worked with SynPasSyn. See TSynPasSyn for configuration

SynEditHighlighter.DividerDrawLevel
removed

SynEditLines(SynEdit.Lines).DosFileFormat
removed, use FileLineEndType and FileWriteLineEndType

TSynEditMarkList (Bookmarks)
First / Last / Place / Insert have been removed, use Items[] / Add. Insert has no replacements, as bookmarks are now always sorted, and inserts at arbitrary positions no longer possible

TSynEditMarkList (Bookmarks)
GetMarksForLine, removed, use Line[n] property

SynEdit: MouseLinkColor and the underline

SynEdit no longer automatically underlines a link with MouseLinkColor.Foreground.

Instead MouseLinkColor.Foreground is only used for the text foreground-color. To get the underline the following should be added/configured:

pascal
   MouseLinkColor.FrameColor := MouseLinkColor.Foreground;
   MouseLinkColor.FrameStyle := slsSolid;
   MouseLinkColor.FrameEdges := sfeBottom;
   MouseLinkColor.FramePriority := 9999;  // make sure it is on top of all other frames

SynEdit: TSynCustomFoldHighlighter

This may affect users who wrote their own highlighter fold support (inherited from TSynCustomFoldHighlighter)

This may affect users, who access such a highlighter from their code, to retrieve fold specific info.

FoldNodeInfo and FoldNodeInfoCount

Now available via Highlighter.FoldNodeInfo[LineIdx].CountEx([]) and Highlighter.FoldNodeInfo[LineIdx].NodeInfo(Index, [])

The following methods where removed:

function MinimumFoldLevel(Index: Integer): integer; virtual; abstract;

function EndFoldLevel(Index: Integer): integer; virtual; abstract;

The following methods where deprecated:

function FoldOpenCount(ALineIndex: Integer; AType: Integer = 0): integer; deprecated;

function FoldCloseCount(ALineIndex: Integer; AType: Integer = 0): integer; deprecated;

function FoldNestCount(ALineIndex: Integer; AType: Integer = 0): integer; deprecated;

They are also no longer "virtual". Inherited classes must be updated

All functionality is now available through:

function FoldBlockOpeningCount(ALineIndex: TLineIdx; const AFilter: TSynFoldBlockFilter): integer; virtual;

function FoldBlockClosingCount(ALineIndex: TLineIdx; const AFilter: TSynFoldBlockFilter): integer; virtual; overload;

function FoldBlockEndLevel(ALineIndex: TLineIdx; const AFilter: TSynFoldBlockFilter): integer; virtual; overload;

function FoldBlockMinLevel(ALineIndex: TLineIdx; const AFilter: TSynFoldBlockFilter): integer; virtual; overload;

Please see notes in unit SynEditHighlighterFoldBase

SynEdit: TSynCompletion, TSynAutoCompletion and TSynEditAutoComplete

Changed base class to be TSynPlugin.

This means TSynCompletion/TSynAutoCompletion/TSynEditAutoComplete is now freed, if it has no owner ("create(nil)") and the last added editor is destroyed. (Removing the Editor, does not free the plugin)

In other words: An owner-less plugin, assumes ownership by it's editor.

Solution: - Either create the completion with an Owner (or use the designer and drop one on your form) - or keep at least one editor added - or remove the editor, before destroying it

TCustomNotebook was moved from ExtCtrls to ComCtrls

TCustomNotebook was renamed to TCustomTabControl

TCustomPageControl/TPageControl.OnPageChanged were removed

Support for the shift states ssCaps, ssNum and ssScroll was removed from OnMouseWheel.

pascal
uses LCLIntf;

begin
  CapsLock := LCLIntf.GetKeyState(VK_CAPITAL);
  NumLock := LCLIntf.GetKeyState(VK_NUMLOCK);
  ScrollLock := LCLIntf.GetKeyState(VK_SCROLL);

TDBEdit use EditMask property of the linked Field.

ENTER Key behavior on String Editor

The String Editor Dialog (e.g. TMemo.Lines OI's editor) now closes itself when the user hit <ENTER> and adds a new line when user hit <SHIFT> + <ENTER>. That regression is already fixed in fixes branch but the patch did not make it to release.

Other release notes


From the Free Pascal wiki, page "Lazarus 1.0 release notes", as it stood on 2020-02-18 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Edited on wiki.freepascal.org by 16 people, 2011–2020

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
Paul IsheninNew page: {{Lazarus 0.99.0 release notes}} '''Lazarus 0.99.0 is not yet released. This page is under construction!''' Statistics: # commits: xxx # log: svn log -r xxxx:xxxx # resolved bug tracker ...
Paul Ishenin
SekelsenmatLCL Interfaces major changes
Paul Ishenin
Paul Isheninadd info from 0.9.32 notes
Mattias2Codetools
Mattias2TCustomForm.Create raises an exception if resource is not found
Mattias2Codetools
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2TCustomForm.Create raises an exception if resource is not found
Paul IsheninIDE Changes
Mattias2IDE Changes
MartinChanges affecting compatibility
MartinSynEdit: Several deprecated methods were removed
MartinIDE Changes
MartinIDE Changes
DirkSIDE Changes (minor)
MartinIDE Changes
MartinIDE Changes
Mattias2IDE Changes
Mattias2SourceEditorIntf
Mattias2IDE Changes
MartinIDE Changes
Mattias2IDE Changes
Mattias2Codetools
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Codetools
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
MartinIDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Paul IsheninIDE Changes
HowardPCTCustomForm.Create raises an exception if resource is not found (minor)
JuhaManninenIDE Changes
JuhaManninenIDE Changes
SekelsenmatChanges affecting compatibility
Mattias2TCustomNotebook was moved from ExtCtrls to ComCtrls
Mattias2TCustomNotebook was moved from ExtCtrls to ComCtrls
AskTAChart
AskTAChart
AskTAChart
Mattias2IDE Changes
AskTAChart
AskComponents
AskTAChart
AskTAChart
SekelsenmatTCustomNotebook was moved from ExtCtrls to ComCtrls
SekelsenmatThe old implementations of TCustomTabControl and TTabControl were removed
SekelsenmatLCL Changes
AskTAChart
SekelsenmatLCL Changes
SekelsenmatTCustomNotebook was renamed to TCustomTabControl
AskTAChart
AskTAChart
AskTAChart
MartinIDE Changes
Mattias2LCL Changes
SekelsenmatTCustomNotebook was renamed to TCustomTabControl
AskTAChart
AskTAChart
MartinIDE Changes
MartinIDE Changes
MartinIDE Changes
SekelsenmatTCustomPageControl/TPageControl.OnPageChanged were removed
SekelsenmatSupport for the shift states ssCaps, ssNum and ssScroll was removed. TLMMouseEvent.State was removed.
SekelsenmatSupport for the shift states ssCaps, ssNum and ssScroll was removed. TLMMouseEvent.State was removed.
SekelsenmatSupport for the shift states ssCaps, ssNum and ssScroll was removed. TLMMouseEvent.State was removed.
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Changes affecting compatibility
Mattias2Support for the shift states ssCaps, ssNum and ssScroll was removed from OnMouseWhell.
SekelsenmatSupport for the shift states ssCaps, ssNum and ssScroll was removed from OnMouseWheel.
SekelsenmatLCL Changes
SekelsenmatLCL Changes
Sekelsenmat
SekelsenmatLCL Changes
SekelsenmatLCL Interfaces Changes
SekelsenmatLCL Changes
SekelsenmatLCL Changes
Mattias2IDE Changes
MartinSynEdit: Several deprecated methods were removed
MartinIDE Changes
MartinSynEdit: Changes to MouseActions
MartinSynEdit: BeginUpdate adds UndoBlock
SekelsenmatLCL Interfaces Changes
Mattias2Codetools
PktfagTCustomForm.Create raises an exception if resource is not found
SekelsenmatLCL Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Codetools
Mattias2Codetools
Mattias2IDE Changes
Mattias2IDE Changes
AskTAChart
MartinChanges affecting compatibility
MartinSynEdit: MouseLinkColor and the underline
Mattias2IDE Changes
Mattias2IDE Changes
SekelsenmatLCL Changes
MartinSynEdit: MouseLinkColor and the underline
MartinSynEdit
SekelsenmatLCL Changes
MartinSynEdit: TSynCustomFoldHighlighter
MartinIDE Changes
SekelsenmatLCL Changes
MartinIDE Changes
MartinSynEdit: TSynCustomFoldHighlighter
MartinSynEdit: TSynCompletion
MartinSynEdit: TSynCompletion
SekelsenmatLCL Changes
SekelsenmatLazUtils Changes
MartinSynEdit: TSynCompletion
Paul IsheninChanges affecting compatibility
MartinSynEdit: TSynCompletion and TSynAutoCompletion
Mattias2IDE Changes
Mattias2Two unrelated packages sharing their unit output directory give "unit not found", because the IDE deletes the ppu files
SekelsenmatLCL Changes
MartinIDE Changes
VincentText replace - "delphi>" to "syntaxhighlight>" (minor)
LuizmedSupport for the shift states ssCaps, ssNum and ssScroll was removed from OnMouseWheel.
Zeljan
Zeljan
MartinIDE Changes
MartinSynEdit
BigChimpLCL Changes: typo (minor)
AskTAChart
Martin
Martinmoved Lazarus 0.99.0 release notes to Lazarus 1.0 release notes (minor)
Mattias2LCL Changes
BigChimpLCL Changes: Typo (minor)
MartinLCL Changes
Mattias2IDE Changes
Mattias2TAChart
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2SQLDB
Mattias2IDE Changes
Mattias2SQLDB
Mattias2Codetools
BigChimpIndicate Sybase support also added
BigChimpCategory:Release Notes (minor)
JuhaManninenIDE Changes
JuhaManninenIDE Changes
JuhaManninenIDE Changes
JuhaManninenIDE Changes
Mattias2SQLDB
MartinChanges affecting compatibility
Mattias2
Mattias2IDE Changes
Mattias2Installer / Upgrading from 0.9.26 or older
MaximInstaller / Upgrading from 0.9.26 or older on MS Windows: - typo (minor)
Vincent
Mattias2TDBEdit use EditMask property of the linked Field.
Mattias2
VincentRemoved non-existing template
Mattias2LCL Interfaces Changes
Mattias2LCL Interfaces Changes
Mattias2LCL Interfaces Changes
Mattias2LCL Interfaces Changes
Mattias2LCL Changes
Mattias2LazUtils Changes
Mattias2LazUtils Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
BigChimpPLEASE STOP REMOVING THESE CATEGORIES!!!
SockeOther release notes: Use template Template:Navbar Lazarus Release Notes instead of release list
TrevFixed syntax highlighting (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.