Delphi Enterprise 10.4.1 Sydney

Improves compiler performance, optimizing unit names lookup and other internal searches.
September 04, 2020 - 11:30
New Version

Features

Supported Platforms

  • Added support for deploying apps on Microsoft Windows Server 2019.

IDE

  • Projects
    • Package AUTO libsuffix: packages can now have an automatic version suffix, instead of manually updating and specifying the right version suffix with each new release.
    • The Projects pane context menu items that were no longer available after 10.3 are now available via a drop-down in the Projects pane toolbar.
  • Layouts
    • Improved support for multi-monitor desktop layouts.
    • Improved support for form designers.
    • Improved layout switching: if the same layout is specified for both when opening or closing a project, the layout won’t be applied, avoiding the unnecessary switching of layouts.
    • Desktop layouts which cannot be applied, e.g. they are floating layouts or are no longer supported, will be listed in gray in the Desktop Layout combo box in the title bar.
    • Improved support for 4K monitors.
    • If the IDE expects a project’s .dsk file but it does not find it, it opens using the default layout.
  • UI
    • The Project Options, IDE Options, GetIt, and New Items dialogs now have scrollbar tracking.
    • The Options dialog (environment options) used to always open to show settings for the Win64 target platform; now it opens according to the currently active platform.
    • The guided tour has been removed from the Welcome page.
    • Improved the selection of items on the Structure pane, including where you would click on an item and another item was selected.
  • General
    • The names of the 64-bit Microsoft Windows debuggers (visible in the Attach To Process dialog) have been clarified to explain which is for Delphi and which for C++. This should help you choose which debugger to use when attaching to a process.

Delphi LSP/ Code Completion Changes

  • Improved memory usage, with DelphiLSP processes now using much less memory.
  • Improved speed: code completion results should appear much more quickly.
  • Inside Code completion, go to definition and hover, all provide better results.
  • Added new options for controlling code completion, allowing you to tweak the functionality to behave much more similarly to classic completion.
  • Class completion settings have been moved to the Code Insight settings page.
  • When filtering code completion as you type, the matching characters are now optionally drawn underlined.
  • Files changed outside the IDE (e.g. by an external editor or source control) will be recognized by the LSP server and re-scanned.
  • Improved code completion in packages.
  • Code Insight for Large Projects
    • Improved the notifications to the server when there are IDE-side changes. This reduces churn and improves completion accuracy.

RTL Improvements

  • Added new TLightweightMREW Record - Embarcadero have introduced a new reader-writer lock implementation, working across all supported platforms and which is faster and more lightweight than the old TMultiReadExclusiveWriteSynchronizer (a.k.a. TMREWSync). TLightweightMREW wraps a native implementation of a reader-writer lock on each platform.
  • SOAP and XML - SOAP WSDL Importer: Improved the WSDL importing logic and SOAP clients invocation.
  • Web Clients
    • Winapi.Winsock2 now includes inet_ntop to better support IPv6 addresses.
    • TRESTResponseDataSetAdapter imports JSON strings with appropriate length.
    • Improved support for enums in TJSONSerializer.
    • Creating a TIPAddress from a URL now works on Microsoft Windows.
    • Added support for the new NSURLSession API on both Apple Mac OS X 10.11 and Apple iOS 9 platforms.
  • Database
    • Improved FireDAC support for Microsoft SQL Server Function Parameters.
    • Improved TFDQuery with Calculated- and BLOB-Fields.
    • Improved TFDTable PostgreSQL multicolumn index field order.
    • Improved FireDAC-PostgreSQL parsing of QuoteTag inside strings.
  • Other RTL Improvements
    • Improved performance of TStrings with custom LineBreak.
    • Optimized TObject methods returning or checking strings.
    • Optimized LoadResString.

VCL Improvements

  • Improved TGridPanel’s handling of percentage-based spacing.
  • Improved scaling and moved TBitBtn's inbuilt glyphs to HighDPI.
  • Added support for high DPI scaling in the custom title bar.
  • Improved TUpDown component Position property and OnChangingEx event.
  • The StatusBar component has added support for DoubleBuffered drawing.
  • Improved the TLabel word wrap by replacing the font height calculation logic.
  • Improved the caption widths of owner drawn top-level menu items, and styled menus and their scaling.

Embarcadero FireMonkey

  • Improved FMX TMemo - Added improvements to the Microsoft Windows implementation and adding support for Apple macOS to the new FMX TMemo component architecture.

Delphi Language

  • This release improves the Delphi compiler in several areas. In particular the focus was on supporting the LSP code completion, and in improving the managed records quality.
  • Improved package references and C++ HPP files generation.
  • Improved compiler performance in a few areas, optimizing unit names lookup and other internal searches, benefiting large projects.
  • Improved code generation.
  • Improved the quality of Managed Records, including:
    • Optimized return values.
    • Cleanup of a few compiler errors.
    • Improved operator Assign.
    • Changes to Default(T) for managed records.
Delphi Enterprise

Delphi Enterprise

Create cross-platform, natively compiled apps.

Got a Question?

Live Chat with our Embarcadero licensing specialists now.