Wiki copymirror

This is a mirror of the wiki at pascal.chat. Editing, history and sign-in are there.

Lazarus 0.9.30 release notes

Statistics:

  1. commits: 7500+
  2. log: svn log -r 21920:29689
  3. resolved bug tracker issues: 354

LCL Interfaces major changes

LCL Changes

IDE Changes

Codetools

Components

TAChart

Debugging

Changes affecting compatibility

overriding TControl.SetBounds

Any control overriding SetBounds and checking there if the bounds have changed since the last call will not notify all bounds changes. SetBounds is no longer called before a control is resized by the LCL layouter. SetBounds is called after the bounds were changed by the LCL autosize algorithm.

TControl.Align order

TControl.Align order of controls is now stable (resizing no longer reorders). There is one incompatibility. See Order of Align

SourceEditorIntf

SourceEditorIntf is for extensions to the IDE.

SrcEditorIntf.SourceEditorWindow
This has been deprecated. (it will be entirely removed)

SrcEditorIntf.SourceEditorManagerIntf
This has been introduced as replacement.

CGI

The CGI package which was installed by default was now removed from the Lazarus source base. The package was obsolete and users are recommended to install and use the package fpWeb located at lazarus/components/fpweb/ instead.

Upon upgrading the IDE may complain about the missing package. This can be corrected by going to the menu "Package"->"Install/Uninstall Packages". In the next dialog, select and remove the CGI packages. There should be no need to rebuild the IDE.

(Note, to build CGI/FCGI/Apache module web server applications using fpweb(fcl-web), install the "weblaz" package. For additional fpweb extensions like ExtJS support, install the "lazwebextra" package too)

TNotebook and TPage

The components TNotebook and TPage as currently implemented are deprecated and no longer installed in the IDE. The release 0.9.30 will offer some time for users to remove these components from their projects. We recommend that users use TPageControl instead. In 0.9.31 these components will be completely removed and a new implementation for them will be activated, which implements TNotebook as it should be: A custom-drawn untabbed container with multiple pages.

SynEdit.BeginUpdate / EndUpdate

SynEdit does no longer attempt to paint while in a Begin/EndUpdate block. Older versions did attempt this, but would have occasionally crashed.

The purpose of BeginUpdate is to speed-up applying changes, by telling SynEdit not to calculate internal structures in between those changes. Without those structures SynEdit can not paint reliable.

Code like

pascal
 SynEdit.BeginUpdate
 SynEdit.Text := s;
 Application.ProcessMessages; // attempt to repaint SynEdit
 ...

does no longer work.

Remedy: remove the Begin/EndUpdate statements / or put the EndUpdate before the ProcessMessages

Other release notes


From the Free Pascal wiki, page "Lazarus 0.9.30 release notes", as it stood on 2015-07-20 after a change by FTurtle, 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 .