Sign in Join
Wiki copytemporary

Lazarus 1.6.0 release notes

Lazarus 1.6 was released at February 18, 2016.

Statistics:

  1. commits: 2683
  2. log: svn log -r 47337:50707

LCL Interfaces Changes

LCL Changes

IDE Interfaces Changes

IDE Changes

Components

LazControls

Codetools

Project Groups

Docked Form Editor

The package implementing a docked form editor can be found in components/sparta/dockedformeditor/sparta_dockedformeditor.lpk. It makes the most sense with Anchor Docking but can be used also without it.

IMPORTANT: the docked form editor is included in 1.6 but is not stable there and has known bugs that affect its usage. Please do not report issues based on your 1.6 experience but always check against the current trunk where the designer has been improved further. Docked editor bug fixes won't be merged into 1.6 since a lot of them were OS/WS dependent and the LCL code had to be changed as well.

If you want to use the docked form editor, you have to use complete Lazarus trunk. Copying the sparta packages from trunk into your 1.6 fixes won't work.

Package Tabs

Favorites

Debugger / win 32

The version of gdb shipped with the win32 installer was updated to 7.7.1

PRO:

REGRESSIONS

:* records may be displayed as class and vice versa

:* pointer to record may be dereferenced without warning (hiding the fact that a value is a pointer)

:* shortstrings may not display correct (they are internally encoded as record)

Changes affecting compatibility

LazUtils

SysToUTF8 does not convert

Similar: AnsiToUTF8

UTF8ToSys does not convert

Similar: UTF8ToAnsi

CopyFile behaviour changed

Wrappers for string functions are deprecated

Various units in LCL, LazUtils and Codetools have wrappers for string functions in LazUTF8 and LazFileUtils. They are now deprecated and the hint after "deprecated" tells where the actual function can be found. The wrappers can be completely disabled by defining "DisableWrapperFunctions".

LCL incompatibilities

QuestionDlg modal result on close by ESC key and system close button changed

Other Packages and Components

AnchorDocking improved

SynMemo is now Deprecated

Any code referring to SynMemo will now give a warning about this.

However SynMemo is still a registered component, and if you open any project already containing a SynMemo it will load correctly.

If you must have an IDE with SynMemo on the component palette, you can compile the IDE with WithSynMemo defined. This is temporary, and will be removed at some point after the release.

SynMemo was nearly identical to SynEdit (except it did publish less properties).

It only featured 2 extra method:

pascal
   function CharIndexToRowCol(Index: integer): TPoint;   
   function RowColToCharIndex(RowCol: TPoint): integer;

Those are now available in SynEdit. However with a strong warning

text
   experimental; deprecated 'SynMemo compatibility - very slow / SynEdit operates on x/y';

It is highly recommended not to use them. The calculation in those methods was always done without taking in account trailing spaces (if trim trailing spaces was active). This may have lead to wrong results.

A common use case for those methods was apparently:

- Get the caret position as CharIndex.

- Insert some text

- Add the text length to the CharIndex

- Set the caret position from the CharIndex

If setting the text changed trailing spaces (e.g. text was appended at the end of line, behind some trailing spaces, which then would not be trailing any more) then the calculation would not be correct.

Yet if the 2 methods would include trailing spaces, it could equally go wrong. If between getting the caret position, and restoring it any trailing spaces where trimmed, then the restore is wrong.

For this reason, and for the fact that they are extremely inefficient (slow) their use is not recommended.

To archive caret adjustment in SynEdit, use InsertTextAtCaret, TextBetweenPointsEx or SetTextBetweenPoints, which all have the option of adjusting the caret.

TSynEditExporterHtml behaviour has changed

Output is now controlled by the property Options

The property CreateHTMLFragment is deprecated and will be removed in a future release

ExportAsText now only affects how the exportbuffer is put on clipboard

More options than CreateHTMLFragment were needed

The comments in the parentclass (TSynEditExport) state that this property controls the way the export buffer is put onto the clipboard

Use Options property to control the output.

Remove references to CreateHTMLFragment

TSynCustomHighlighter.GetIdentChars implementation has changed

The new character array better suits most uses.

EasyDocking isn't supported in the IDE anymore

You cannot install easydockmgr and easydockmgrdsgn in the IDE anymore. Use AnchorDocking instead. easydockmgrdsgn package was removed from 1.7.

IDE incompatibilities

Previous release notes


From the Free Pascal wiki, page "Lazarus 1.6.0 release notes", as it stood on 2020-08-08 after a change by Arent, 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 12 people, 2015–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
Mattias2Created page
MartinIDE Interfaces Changes
MartinIDE Changes
MartinIDE Changes
Mattias2IDE Changes
MartinComponents
SockeUse Template:Translate instead of non-existing site specific translation template
SockePrevious release notes: User Template:Navbar Lazarus Release Notes instead of linking each version
Martin
BartLCL incompatibilities
Mattias2IDE Changes
BartComponents
Mattias2IDE Interfaces Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2fixed typo
Mattias2IDE Changes
Mattias2Components
Mattias2Changes affecting compatibility
OndrejLCL Changes
OndrejIDE Changes
OndrejCodetools
OndrejIDE Changes
OndrejComponents
OndrejComponents
Mattias2Project Groups
Mattias2Codetools
OndrejIDE Changes
OndrejComponents
JuhaManninenIDE Changes
JuhaManninenComponents
JuhaManninenLazUtils
JuhaManninenLCL Changes
JuhaManninenLCL Changes
JuhaManninenComponents
JuhaManninenIDE Changes
JuhaManninenIDE Changes
BartLCL Changes
Mattias2
Mattias2
Mattias2Link to lazbuild
Mattias2
Mattias2LazUtils
MartinComponents
JuhaManninen
JuhaManninenIDE Changes
OndrejComponents
OndrejIDE Changes
OndrejLCL Changes
OndrejLCL Changes
OndrejLCL incompatibilities
OndrejQuestionDlg modal result on close by ESC key ans system close button changed
OndrejQuestionDlg modal result on close by ESC key and system close button changed
BartLCL Changes
BartLCL Changes
OndrejComponents
JuhaManninenIDE Changes
JuhaManninen
BartLazControls
OndrejDocked Form Editor
OndrejLCL incompatibilities
JuhaManninenIDE Changes
JuhaManninenIDE Changes
Delphifreak
Jonastest (minor)
JonasReverted edits by Jonas (talk) to last revision by Delphifreak (minor)
VincentLazUtils: Added workarounds for conversion not working anymore from Mattias
JuhaManninen
JuhaManninen
JuhaManninen
Arent
FTurtle (minor)
ArentLazControls
TrevFixed template loop (minor)
ArentDocked Form Editor

Talk about this page

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