Difference between revisions of "Lazarus 1.0 release notes"

From Lazarus wiki
Jump to navigationJump to search
Line 55: Line 55:
 
*'''Reason''': The unit projectintf was split. The declarations for the IDE compiler options are now in the unit compoptsintf. The unit packageintf needed access to the compiler options.
 
*'''Reason''': The unit projectintf was split. The declarations for the IDE compiler options are now in the unit compoptsintf. The unit packageintf needed access to the compiler options.
 
*'''Remedy''': Add unit '''compoptsintf''' to the uses section.
 
*'''Remedy''': Add unit '''compoptsintf''' to the uses section.
 +
 +
=== 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

Revision as of 00:38, 2 April 2011

Template:Lazarus 0.99.0 release notes

Lazarus 0.99.0 is not yet released. This page is under construction!

Statistics:

  1. commits: xxx
  2. log: svn log -r xxxx:xxxx
  3. resolved bug tracker issues: xxx

LCL Interfaces major changes

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.

IDE Changes

  • Design time only packages are no longer compiled into projects, unless enabled. See here.
  • 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.
  • Packages compiled via Makefile created by the IDE are now recognized by the IDE and only recompiled if something changed.
  • New macros: PrimaryConfigPath, SecondaryConfigPath, FallbackOutputRoot. See IDE Macros
  • The package editor was improved to better support big packages with hundreds of files: You can now sort, filter and show the directory structure of the package.
  • lazbuild can now create/update the Makefile of a package with the new option --create-makefile.
  • Package general and package compiler options are now using generic IDE options interface.
  • The old warnings at IDE start for Lazarus directory, compiler and FPC sources were replaced with one dialog. The dialog can be forced to shown with the command line parameter --setup.

Components

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.
  • 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.

Changes affecting compatibility

TCustomForm.Create raises an exception if resource is not found

  • Reason: Each form created by IDE should have a resource so if resource is not found it is something wrong with either a resource or unit which contains this form. Therefore application should inform the developer that form can't function correctly without the resource. This change is also delphi compatible and compatible with TFrame and TDataModule components.
  • Remedy: If you need resource less form you have 3 options:
    • Create a TForm class (not a descendant)
    • Construct your form using CreateNew() constructor.
    • It is also possible to disable the exception by setting the global variable RequireDerivedFormResource to False.

TCompileReason or TLazCompilerOptions not found

  • Reason: The unit projectintf was split. The declarations for the IDE compiler options are now in the unit compoptsintf. The unit packageintf needed access to the compiler options.
  • Remedy: Add unit compoptsintf to the uses section.

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