Difference between revisions of "Lazarus 1.10.0 release notes"

From Free Pascal wiki
Jump to navigationJump to search
Line 17: Line 17:
 
** -dDisableLCLPNM
 
** -dDisableLCLPNM
 
** -dDisableLCLTIFF
 
** -dDisableLCLTIFF
 
=== [[TControl]].ScaleFontsPPI, .DoScaleFontPPI parameter change ===
 
 
* Old behavior: No AToPPI parameter
 
* New behavior: AToPPI parameter was added
 
* Reason: font scaling problem {{MantisLink|32882}}. This change will be merged to 1.8.1
 
* Remedy: fix parameters
 
 
=== MouseEntered deprecated/missing ===
 
 
* Old behavior: No warning on using MouseEntered
 
* New behavior: Warning: Symbol "MouseEntered" is deprecated: "use MouseInClient instead"
 
* Reason: Delphi compatibility
 
* Remedy: use property MouseInClient instead
 
 
=== TCustomImageList.Add method ===
 
* Old behavior: the image got sliced if too big or extended if too small.
 
* New behavior: the image is scaled to all resolutions in the image list.
 
* Reason: Image List now supports multiple resolutions.
 
* Remedy: use AddSliced (if the image consists of several icons to be added) or AddSlice (if one image from a custom rect has to be added - also rect outside the image is supported).
 
  
 
= IDE Changes =
 
= IDE Changes =
Line 75: Line 55:
 
* Reason: Delphi compatibility
 
* Reason: Delphi compatibility
 
* Remedy: remove from .lfm manually
 
* Remedy: remove from .lfm manually
 +
 +
=== [[TControl]].ScaleFontsPPI, .DoScaleFontPPI parameter change ===
 +
 +
* Old behavior: No AToPPI parameter
 +
* New behavior: AToPPI parameter was added
 +
* Reason: font scaling problem {{MantisLink|32882}}. This change will be merged to 1.8.1
 +
* Remedy: fix parameters
 +
 +
=== MouseEntered deprecated/missing ===
 +
 +
* Old behavior: No warning on using MouseEntered
 +
* New behavior: Warning: Symbol "MouseEntered" is deprecated: "use MouseInClient instead"
 +
* Reason: Delphi compatibility
 +
* Remedy: use property MouseInClient instead
 +
 +
=== TCustomImageList.Add method ===
 +
* Old behavior: the image got sliced if too big or extended if too small.
 +
* New behavior: the image is scaled to all resolutions in the image list.
 +
* Reason: Image List now supports multiple resolutions.
 +
* Remedy: use AddSliced (if the image consists of several icons to be added) or AddSlice (if one image from a custom rect has to be added - also rect outside the image is supported).
  
 
==Components incompatibilities==
 
==Components incompatibilities==

Revision as of 12:45, 3 February 2018

Lazarus 1.10.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 Changes

LCL Changes

  • TScrollingWinControl (TForm, TScrollBox, TFrame)
    • ScreenToClient and ClientToScreen are now calculated without scrollbar offset. Done for Delphi compatibility.
  • Added flags to exclude some graphics format to create smaller applications:
    • -dDisableLCLGIF
    • -dDisableLCLJPEG
    • -dDisableLCLPNM
    • -dDisableLCLTIFF

IDE Changes

  • Delphi Attributes: Find declaration, parameter hints, $modeswitch prefixedattributes.

IDE Interfaces Changes

Components

TOpenGLControl

  • New property Options of type set, currently with ocoMacRetinaMode as the only member. If set, ocoMacRetinaMode determines that the OpenGL controls will use retina support (high resolution mode).

TAChart

  • The new TExpressionSeries and TExpressionColorMapSeries plot mathematical functions at design-time.

Changes affecting compatibility

LazUtils

LCL incompatibilities

TCustomComboBox.ReadOnly was deprecated

  • Old behavior: When True, only items from the list are accepted, by direct selection from the list or AutoComplete.
  • New behavior: it does nothing and will be removed.
  • Reason: Delphi-compatibility, confusing naming, WS compatibility (different behavior on Win32/Qt/Gtk)
  • Remedy: Use extended styles for the same feature.

Predefined clipboard format pcfDelphiBitmap was removed

  • Old behavior: The enumeration TPredefineClipboardFormat contained an element pcfDelphiBitmap which once had to be introduced due to streaming differences of bitmaps between Delphi and LCL.
  • New behavior: pcfDelphiBitmap has been removed. (Rare) code relying on exact count and position of the elements of this enumeration will fail.
  • Reason: No longer needed and causing trouble in clipboard access.
  • Remedy: None - revisit your code.

TEdit.Action visibility lowered to public

  • Old behavior: TEdit.Action was published
  • New behavior: TEdit.Action is now public
  • Reason: Delphi compatibility
  • Remedy: remove from .lfm manually

TControl.ScaleFontsPPI, .DoScaleFontPPI parameter change

  • Old behavior: No AToPPI parameter
  • New behavior: AToPPI parameter was added
  • Reason: font scaling problem Issue #32882. This change will be merged to 1.8.1
  • Remedy: fix parameters

MouseEntered deprecated/missing

  • Old behavior: No warning on using MouseEntered
  • New behavior: Warning: Symbol "MouseEntered" is deprecated: "use MouseInClient instead"
  • Reason: Delphi compatibility
  • Remedy: use property MouseInClient instead

TCustomImageList.Add method

  • Old behavior: the image got sliced if too big or extended if too small.
  • New behavior: the image is scaled to all resolutions in the image list.
  • Reason: Image List now supports multiple resolutions.
  • Remedy: use AddSliced (if the image consists of several icons to be added) or AddSlice (if one image from a custom rect has to be added - also rect outside the image is supported).

Components incompatibilities

LazControls: TSpinEditEx no longer inherits from TCustomFloatSpinEditEx

  • Old behavior: TSpinEditEx inherited from TFloatSpinEditEx.
  • New behavior: Both TSpinEditEx and TFloatSpinEditEx now inherit from a common (generic) base class: TSpinEditExBase. As a result testing for "is TCustomFloatSpinEdit" now returns False.
  • Reason: support for Int64 values in TSpinEdit (Double does not have enough precision to cover the Int64 range). Also makes for cleaner code.
  • Remedy: test for the appropriate (base) class instead.


IDE incompatibilities

Previous release notes