Sign in Join
Wiki copytemporary

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 .

Edited on wiki.freepascal.org by 17 people, 2009–2015

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
Mattias2New page: =IDE Changes= *Support for objcclass syntax. See http://wiki.freepascal.org/FPC_PasCocoa.
Swen (minor)
Paul IsheninIDE Changes
Paul IsheninIDE Changes
Paul Ishenin
Paul IsheninIDE Changes
Mattias2IDE Changes
Paul Ishenin
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Components
Paul Isheninobject inspector changes
Sekelsenmat
Paul IsheninIDE Changes
Mattias2Components
Mattias2IDE Changes
SekelsenmatLCL Changes
MartinIDE Changes
MartinIDE Changes
Mattias2IDE Changes
Mattias2LCL Interfaces major changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Components
Mattias2IDE Changes
Mattias2IDE Changes
SekelsenmatLCL Interfaces major changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Components
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2Codetools
Mattias2Codetools
Mattias2IDE Changes
AskIDE Changes
LuizmedIDE Changes
LuizmedIDE Changes
LuizmedIDE Changes
Mattias2Codetools
Paul IsheninLCL Changes
Mattias2LCL Changes
Paul IsheninLCL Changes
Mattias2LCL Interfaces major changes
Mattias2LCL Interfaces major changes
MartinIDE Changes
Mattias2IDE Changes
Mattias2LCL Changes
Mattias2LCL Changes
Mattias2Codetools
Paul Ishenin
Paul IsheninDebugging
MartinIDE Changes
MartinIDE Changes
MartinIDE Changes
MartinIDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
SekelsenmatLCL Changes
Mattias2IDE Changes
Mattias2IDE Changes
MartinDebugging
MartinSourceEditorIntf
MartinSourceEditorIntf
ZeljanLCL Interfaces major changes
ZeljanLCL Changes
MartinIDE Changes
Mattias2LCL Interfaces major changes
GgeldenhuysLCL Interfaces major changes
Mattias2LCL Interfaces major changes
Mattias2LCL Changes
Mattias2IDE Changes
Mattias2IDE Changes
Sekelsenmat
DelphiFreakCodetools
GgeldenhuysIDE Changes: fixed spelling mistakes (minor)
GgeldenhuysLCL Changes: spelling mistakes (minor)
GgeldenhuysLCL Interfaces major changes: grammar (minor)
Mattias2LCL Changes
Mattias2Codetools
Mattias2IDE Changes
Mattias2Components
Mattias2Components
Mattias2IDE Changes
MsmatIDE Changes (minor)
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
Paul IsheninLCL Changes
Paul IsheninLCL Changes
SekelsenmatLCL Changes
Mattias2Components
MartinIDE Changes
Paul IsheninIDE Changes
Paul IsheninIDE Changes
SekelsenmatLCL Interfaces major changes
AndrewHIDE Changes: added editor tab history blurb
Mattias2IDE Changes
Mattias2IDE Changes
Mattias2IDE Changes
SekelsenmatChanges affecting compatibility
SekelsenmatLCL Interfaces major changes
Mattias2IDE Changes
Mattias2IDE Changes
MartinIDE Changes
ZeljanLCL Changes
MartinChanges affecting compatibility
MartinDebugging
MartinDebugging
MartinDebugging
AskComponents: TAChart
Mattias2IDE Changes
Mattias2IDE Changes
MartinIDE Changes
MartinDebugging
AskMove TAChart changes to a sub-section
Mattias2Changes affecting compatibility
Mattias2overriding TControl.SetBounds
Mattias2overriding TControl.SetBounds
SekelsenmatLCL Interfaces major changes
SekelsenmatLCL Interfaces major changes
JuhaManninenIDE Changes
Paul Ishenin
Paul Ishenin
Mattias2Codetools
Mattias2overriding TControl.SetBounds
Mattias2IDE Changes
Mattias2overriding TControl.SetBounds
Mattias2TControl.Align ordering
AskRemoved "not released yet" notice
AskReplaced exact, but slightly incorrect commit count with the rough appriximation
Mattias2IDE Changes
BoboCGI
Mattias2IDE Changes
Chronoscategory
SockeUse template Template:Navbar Lazarus Release Notes
FTurtle

Talk about this page

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