Skip to content

D27.SYDNEY.10.4.0.0

Darian Miller edited this page Jan 29, 2021 · 96 revisions

Delphi 10.4 Sydney

Embarcadero RAD Studio 10.4 Sydney

Related: Delphi Master Release List, D27.SYDNEY.10.4.1.0

RAD Studio 10.4 introduces a wealth of new features and improvements across three main products (RAD Studio, Delphi, and C++Builder), expanding on VCL for best-in-class Windows 10 applications, FireMonkey for multi-device development for Delphi, developer productivity enhancements to the IDE, and more!

10.4 Now Available!

RAD Studio 10.4 Platform Support summary

Version Detail

Product Version Studio Version Compiler Version IFDEF Package ProjectVersion Registry Build Number
27 21.0 34.0 VER340 270 19.0 \Software\Embarcadero\BDS 27.0.37889.9797

Shipped With

Windows SDK Android Java
10.0.18362.1 SDK Tools 25.2.5 AdoptOpenJDK 8.0.242.08-hotspot

New Features

  • IDE Enhancements Code Insight with Language Server Protocol
    • Code insight driven by the compiler
    • The largest and best improvement to Delphi's code tooling in many years
  • IDE Enhancements New TTitlebar control within IDE and key dialogs for search and settings
  • IDE Enhancements Code editor includes syntax highlighter, encoding type, and font size in status bar
  • Language Enhancements Custom Managed Records
    • Initialize, Finalize, Assign methods added
  • Windows Platform enhancements VCL per-control styling
  • Windows Platform enhancements VCL Styles updated for High DPI and 4K Monitors
  • Windows Platform enhancements New VCL Component: TEdgeBrowser (Chromium based browser)
    • TWebBrowser updated to use either Internet Explorer or Edge Browser based on system capabilities
  • MacOS and iOS platform enhancements Metal driver GPU support
  • iOS platform enhancements Launch screen storyboard support

Child Pages

Links

  • 2020-09-20 YouTube By BTG (Bilgi ve Teknoloji Grubu) DataSnap JsonReflect Webainar

    • Turkish language
  • 2020-08-19 Blog Post By Atanas Popov August 2020 GM Blog

    • Big releases have many dependencies, and despite robust testing, 10.4 has had its share of quality issues. We have released several patches that fix the major issues. Version 10.4.1, coming in September, will provide additional quality improvements and minor enhancements.
    • Upgrade program now back, temporarily
    • Waving penalties on Late Renewals due to Covid
    • Standalone FireDAC maintenance plans removed - sku merged with Enterprise Edition.
  • 2020-07-29 Blog Post By Marco Cantu Changes to FireDAC Transaction Isolation Configuration in RAD Studio 10.4

    • TFDConnection.TxOptions.Isolation previous default was xiReadCommitted and is now xiUnspecified
  • 2020-07-28 Blog Post By David Millington RAD Studio 10.4 Patch 3 is out: VCL Grids, C++ Win64 Debugging, and C++ Android Exception Handling and Resources

  • 2020-07-22 Blog Post By Ideas Awakened RAD Studio 10.4.1 CodeName Foraker hopefully coming soon

    • Covers some issues with 10.4 Patch #2
  • 2020-07-21 Blog Post By David Millington 10.4 Patch 2 Installation Guide

    • Unlike normal patches, it requires some manual installation steps -- installing the patch from GetIt only downloads, it does not install.
  • 2020-07-21 Blog Post By David Millington 10.4 Patch #2: Delphi code completion and IDE fixes

    • Code completion errors addressed:
      • An issue where completion "lagged", and so what you typed got replaced by something coming from the completion list (RSP-29262 and RSP-29855). Now, it should let you type whatever you want to.
      • Pressing Space did not enter the currently selected completion, but instead the completion dropdown would remain active (RSP-28887). Now, pressing space accepts the currently selected items
      • Changing a method that already existed in code via code completion added unnecessary braces "()" (RSP-29271 and RSP-28959). Now, a method can be replaced by invoking code completion and the existing parameter braces are used
      • Viewing a form as text caused an access violation (RSP-100869) For this issue, the patch resolves the AV, but code completion will not function in that unit until you close and reopen the form. A full fix should be in 10.4.1.
      • The Structure pane, which lists Error Insight issues, lagged behind the error insight 'red squigglies' shown in the editor by one keystroke (RSP-28476). Now, the Structure pane will always match what's shown in the editor
    • Other issues addressed:
      • An issue that manifested various ways to do with VCL styles: a VCL form did not display its Color in the form designer; when using multiple styles in a VCL app, the form designer did not preview them all correctly; VCL controls with a per-control style set drew darker once they were selected; and possibly other issues including issues in custom components that use styles. These are now resolved. (Internal bug reports, plus RSP-29603, RSP-28943, RSP-28477.)
      • Adding a .c file to a C++ project caused it to be added to the Deployment list (RSP-18241)
      • The IDE could freeze while scrolling the Messages pane (internal bug report)
      • The IDE did not save your choice of style (Light or Dark) when you set it in the Options dialog (RSP-29222 and RSP-29382)
      • Using Visual LiveBindings with a TDBGrid could freeze the IDE (RSP-28701, RSP-29174, RSP-29196, RSP-29216, RSP-29272, RSP-29289, RSP-29580, RSP-29658, RSP-29683, RSP-29998)
  • 2020-07-21 Blog Post By David Millington Fixed in 10.4 Patch #2: Instability debugging in RAD Studio 10.4

    • 10.4 Patch #2 fixes the issue where debugging could be unstable and show an unexpected dialog.
  • 2020-07-20 YouTube Video By Embarcadero Top Tips for Migrating Projects to RAD Studio 10.4 Sydney

    • Stephen Ball is joined by upgrade experts Al Mannarino and Mary Kelly as they discuss their top tips to help you migrate your projects to the new RAD Studio 10.4 Sydney.
  • 2020-07-17 Blog Post By Marco Cantu 10.4 Patch 2 released

    • A blog post comment from Bart LVD noted that the dialog is still popping up during debugging (I haven't been able to reproduce yet)
  • 2020-07-04 YouTube Video by LearnDelphiTV / Alister Christie Creating Per-Form VCL Styles

  • 2020-06-24 YouTube Video by Embarcadero RAD Studio Fireside Chat with Stephen, Marco, and David

  • 2020-06-23 Blog Post by Code Partners CodeInsight for the Uses Clause in RAD Studio 10.4 Sydney

  • 2020-06-22 YouTube Video by Jim McKeeth The GetIt Package Manager - RAD Studio 10.4 Sydney

  • 2020-06-19 Blog Post by Jim McKeeth What's New in the GetIt Package Manager - June 2020

  • 2020-06-15 Blog Post by David Millington Bookmarks and Navigator now available for RAD Studio 10.4!

    • Note: KSVC 6.2.3 (Konopka Signature VCL Controls 6) is also now available in GetIt.
  • 2020-06-10 Blog Post by David Millington Unexpected popup window when debugging in RAD Studio 10.4: Workaround

    • Until a patch arrives, if you get a popup error during debugging, disable the Welcome Screen.
  • 2020-05-29 YouTube Video by Alister Christie Delphi Movie #150 - Language Server Protocol

  • 2020-05-29 YouTube Video from Embarcadero iOS and macOS Improvements - What's New in RAD Studio 10.4

    • RAD Studio 10.4 now offers iOS Storyboard support and support for the new macOS and iOS Metal AP
  • 2020-05-29 YouTube Video from Embarcadero New TTitleBar Component - What's New in RAD Studio 10.4

    • Place Windows VCL controls on the titlebar, add new custom system buttons, or even custom paint the title bar entirely
  • 2020-05-28 YouTube Video from Embarcadero VCL Controls for High DPI Monitors - What's New in RAD Studio 10.4

    • VCL styles architecture significantly extended to support High DPI and 4k monitors
    • Large number of built-in and premium VCL styles upgraded for improved High DPI style mode support
  • 2020-05-28 YouTube Video from Embarcadero LLDB Debugger for Win64 C++ - What's New in RAD Studio 10.4

    • New debugger for Win64 C++ based on a recent version of LLDB.
  • 2020-05-28 YouTube Video from Embarcadero IDE Enhancements - What's New in RAD Studio 10.4

    • New TTitlebar control in IDE and key dialogs for search and settings
    • Code editor includes syntax highlighter, encoding type, and font size in status bar
    • Can now set a new default encoding for new units in Options (defaults to ANSI for backwards compatibility)
  • 2020-05-28 YouTube Video from Embarcadero New TEdgeBrowser Component - What's New in RAD Studio 10.4

    • New VCL Component: TEdgeBrowser that uses new Chromium based browser
    • TWebBrowser updated to use old Internet Explorer or Edge Browser for display based on system capabilities
  • 2020-05-28 Blog Post from Marco Cantu Updating RAD Studio 10.4 Sample to Fix LF Issue

    • Refresh the samples repo to fix a linefeed problem
  • 2020-05-28 YouTube Video from Embarcadero Per Control VCL Styles - What's New in RAD Studio 10.4

    • RAD Studio 10.4 lets you take control of your projects by allowing you to select and apply VCL styles at a granular level for unparalleled flexibility and personalization.
  • 2020-05-27 Blog Post from Marco Cantu Delphi 10.4 Sydney is Available

    • Top Three Features listed
    • Includes 10 noteworthy links to 10.4 information
  • 2020-05-27 YouTube Video from Embarcadero What's New in RAD Studio 10.4 - Language Server Protocol (LSP)

    • The largest and best improvement to Delphi's code tooling in many years
    • Delphi implementation of LSP, IDE never blocks and can now be used while debugging
    • New, expanded filtering logic
  • 2020-05-27 YouTube Video from Embarcadero What's New in RAD Studio 10.4 - Custom Managed Records

    • Delphi language extended for records: Initialize, Finalize, Assign methods added.
    • Records offer better efficiency compared to classes
  • 2020-05-27 Webinar from Product Management at Embarcadero: See what's new in Delphi and RADStudio

    • Watch it again: Webinar Replay
    • German webinar
    • Attend the webinar to see all the great new features coming in 10.4. Key features include:

      • New Delphi CodeInsight based on LSP server
      • Custom Managed Records in the Delphi Language
      • New VCL Components, including TEdgeBrowser, and expanded High DPI support for VCL styled applications
      • Enhanced Delphi multi-device platform support integrating newer Apple APIs and supporting the latest Android
      • New LLDB-based debugger for Windows 64-bit for C++
      • Unified installer for online & offline installations, along with new GetIt Package Manager features
    • see child page: 10.4 Webinar info from 2020.05.27
  • 2020-05-27 Blog Post by David Millington RAD Studio 10.4 Patch 1: Missing Files and C++ Debugging - and a new way to install patches!

    • Patch available and can be detected and installed automatically in the IDE
  • 2020-05-26 Press Release from Embarcadero RAD Studio 10.4 Accelerates Native Windows Development, Adds Powerful Code Insights for Delphi Developers

    • the most significant update we’ve made to RAD Studio in years

    • We are committed to making RAD Studio the most productive and high-performance native app development tool.

  • 2020-05-26 Blog Post from Sarina DuPont RAD Studio 10.4 Now Available, Learn More

  • 2020-05-26 Product Info Page from Embarcadero What's new in RAD Studio 10.4

  • 2020-05-26 YouTube Video from Embarcadero Introducing RAD Studio 10.4 Sydney

    • 8 minute video covering new features
      • Code Insight with Language Server Protocol
      • Custom Managed Records
      • VCL per-control styling
      • New VCL component: TEdgeBrowser
      • VCL style changes for High DPI and 4K monitors
        • Updated large number of built-in and premium styles
        • Style API revised to support High DPI styles with each user interface element supporting multiple scaled versions
      • IDE numerous enhancements
      • New LLDB debugger for C++ Win 64
      • iOS launch screen storyboard support
      • Metal driver GPU support for macOS and iOS

External Info Snapshots

Pre-release links

  • 2020-05-24 Blog Post by Ideas Awakened Delphi 10.4 Sydney is the best tool for creating Windows Applications

  • 2020-05-25 Blog Post by Erik van Bilsen Boost Mac performance with Metal and Delphi 10.4

    • Latest changes in 10.4 help to address the slow native GUI render performance on macOS
    • Delphi still defaults to using CoreGraphics, CoreText and OpenGL for backwards compatibility reasons
    • To activate, set GlobalUseMetal := True; in your DPR, before forms are created. (Ensure FMX.Types is also added to DPR)
    • Be aware that using Metal will disable the use of CoreText for text layout, and use TGPUTextLayout instead but that currently doesn't support advanced layout features, bi-directional text, nor language-specific line breaking.
  • 2020-05-24 Blog Post by FlixEngineering Delphi 10.4: Code completion with new language features (e.g. inline var)

  • 2020-05-24 (Czech) Blog Post by Radek ČervinkaMay Delphi 10.4 - expected news - RTL, updates

    • Discusses the new changes made to FreeAndNil and the new IDE update notification feature for new patches.
  • 2020-05-24 (French) Blog Post by Patrick Prémartin Managed records in Pascal

    • Discusses the new Initialization and Finalization operations on records
      • Initialize triggered when declaring a variable
      • Finalize triggered when variables falls out of scope (even after exceptions)
  • 2020-05-22 Blog Post by Marco Cantu Coming Delphi 10.4 Runtime Library Enhancements

    • New bit counting standard functions
      • Count leading zeros
      • Count trailing zeros
      • Count population
    • TCustomIniFile has new methods: WriteInt64, ReadInt64
    • TGUID has a new IsEmpty method
    • The Items property of JSONArray is now a default property simplifying code (myJArray[2] instead of myJArray.Items[2])
    • Multiple performance improvements in the RTL were listed
    • The signature for FreeAndNil was updated to generate a compiler error for unsupported types, helping to prevent hard to find bugs. This is a very nice improvement with no obvious downside.
    • Specific changes listed to focus on for potential change in behavior:
      • The CopyFrom function of TStream has a larger default buffer (was 60KB and is now 1MB) and the method now exposes a new parameter so you can override this default buffer size
        • function CopyFrom(const Source: TStream; Count: Int64 = 0; BufferSize: Integer = $100000): Int64;
      • TStringHelper.GetHashCode has been updated to no longer uppercase the string before hashing it
  • 2020-05-22 Blog Post by Danny Wind iOS storyboard support in Delphi 10.4

    • Apple requiring iOS storyboard support by June 30th, which is supported by Delphi in the upcoming 10.4 release
    • Use Project Options->Icons to reconfigure your launch images
  • 2020-05-22 Blog Post by FlixEngineering Delphi 10.4: Code completion matches anywhere…

    • Code Insight returns items that contain search text, greatly improving usability
  • 2020-05-21 Blog Post by Atanas Popov Open for Business with 10.4! - May 2020 GM Update

    • Next week we will officially launch 10.4 (Sydney)

    • 10.4 contains over 1,000 quality improvements and features
    • Based on recent survey, 40% of users use FireMonkey to develop mobile applications
  • 2020-05-21 (French) Blog Post by Patrick Prémartin Delphi 10.4 Sydney is coming soon. Are you ready ?

    • Hundreds of fixes, optimizations, improvements and changes coming in 10.4
    • High DPI improvements in the IDE
  • 2020-05-21 Blog Post by Marco Cantu May 27 Webinar: See What's Coming in RAD Studio 10.4

    • I'll help presenting slides and demoing some of the new Delphi features and also be available for the questions and answers session at the end. Expect this to go well over one hour, as we have a lot to show!

  • 2020-05-19 Blog Post by Marco Cantu GetIt Package Manager Enhancements Coming in RAD Studio 10.4

    • GetIt Package Manager major updates in 10.4
      • Each entry now has a release date/timestamp allowing sorting by date and detecting if an update is available
      • Can now filter list by items with updates available
      • GetIt is now used to distribute patches for RAD Studio with the Welcome Page including a new section to display when a patch is available
  • 2020-05-15 Blog Post by Dalija Prasnikar Delphi Nullable with Custom Managed Records

    • Provides an easy TNullable implementation with new automatic initialization of custom managed records
type
  TNullable<T> = record
  private
    FHasValue: boolean;
    FValue: T;
    function GetValue: T;
    procedure SetValue(AValue: T);
  public

    class operator Initialize(out Dest: TNull<T>);
    
    property HasValue: boolean read FHasValue;
    property Value: T read GetValue write SetValue;
  end;

class operator TNullable<T>.Initialize(out Dest: TNullable<T>);
begin
  Dest.FHasValue := False;
end;
  • 2020-05-15 Blog Post by Uwe Raabe Delphi 10.4 leverages VCL Styles

    • VCL Styles: support added for High DPI styles leveraging TVirtualImagelist connected to a TImageCollection
  • 2020-05-15 Blog Post By Marco Cantu VCL Per-Control Styles Coming in RAD Studio 10.4

    • To start, you need to add multiple styles to an application, and one needs to be active
    • This feature is controlled by a new StyleName property for the TControl class.
    • By default, TControl.StyleName is empty and control uses a default style.
    • You can define a specific style also for common dialogs. Use the property TStyleManager.DialogsStyleName By default, it is empty and common dialogs use the default style of the application.
    • When you set the TStyleManager.UseSystemStyleAsDefault to true: if some control or form has an empty StyleName property, then it will always use 'Windows' style and VCL Style will be always disabled on it. (Helps with third party controls styling)
  • 2020-05-13 Blog Post by Delphi Worlds API enhancements and fixes coming

    • No more dependence on QTKit (no more annoying warnings when uploading to the macOS App Store)
    • TWebBrowser on macOS + iOS has been migrated to use WKWebView. (Again no more warnings when uploading to app store + it now supports playing MP4 files from web pages that are navigated to)
    • 3 new properties added to TLocationSensor for iOS: ActivityType, UsageAuthorization, OnLocationUpdatesPausedChanged event
    • Location updates now occur when the app is in the background, or even when the app is not running if UIBackgroundModes included in the Project Options.
  • 2020-05-12 Blog Post by Marco Cantu New VCL TEdgeBrowser Component Coming RAD Studio 10.4

    • VCL TWebBrowser has a new property SelectedEngine which can be used to ask it to use the newer Edge (Chromium) WebView2 browser control if available on the target machine (versus Internet Explorer)
  • 2020-05-12 (Czech) Blog Post by Radek ČervinkaMay Delphi 10.4 - expected news - LSP

    • Summary: accuracy, speed, asychrony, no memory limits - this is the LSP in Delphi 10.4

  • 2020-05-11 Blog Post by TatukGIS RAD Studio 10.4 Coming Soon

  • 2020-05-11 Blog Post by Frank Lauter #Delphi104 - ComingSoon

  • 2020-05-08 Blog Post by Marco Cantu Custom Managed Records Coming to Delphi 10.4

  • 2020-05-07 Pre-Release sales offers now available, use the discount code 10.4EARLYBIRD for Delphi and 10.4EARLYBIRD-C++ for C++ Builder. Upgrade and you’ll get 10.4 as soon as it releases, plus every new release for a full year. (Current offer is a 30% discount.)

  • 2020-05-06 Blog Post by David Millington New in Delphi 10.4: Redesigned Code Insight

    • Code Insight returns items that contain search text, greatly expanding results
    • With new LSP-based Code Insight, you should never see incorrect errors in the editor or the Structure pane. (Error Insight will always be correct!)
    • Search through code completion options dynamically
    • Sort order option that defaults to 10.3 behavior but can be changed to sort by scope instead (similar to Visual Studio)
    • Can now use Code Insight while debugging
  • 2020-04-28 Invitations to Update Subscription customers to join the Denali beta are being sent out. Invitations include a digital signature process which requires 1-2 business days for processing the NDA request before beta access is granted.

  • 2020-04-14 The second phase of Beta testing begins as invitations to request access are now being sent to Update Subscription customers who have until 2020-04-21 to sign up.

  • 2020-03-26 New multi-phased beta process announced.

    • After MVPs and Technical Partners, all Update Subscription customers will have the opportunity for early access to the private beta under NDA.

10.4 Images

New Feature: Code Insight returns all items that contain text

Code Insight returns all items that contain text


New Feature: Search Code Insight results

Search Code Insight results


New Feature: Code Insight sort option

Code Insight sort option


New Feature: Code Insight active while debugging

Code Insight active while debugging


New Feature: Multi-processor architecture supporting LSP based Code Insight

Multi-processor architecture supporting LSP based Code Insight


New VCL Titlebar component

New VCL Titlebar component


New Feature: Microsoft Edge Browser support

Microsoft Edge Browser support


VCL New Feature: Per Control Styling

Per Control Styling Example


GetIt Updated, enhanced entry details

Enhanced Entry Details


GetIt Updated, update option available

Update Option Available


GetIt Updated, patch check on startup

GetIt IDE Patch Check On Startup


GetIt Updated, patch notification if available

GetIt IDE patch notification if available


10.4 Overview

RAD Studio 10.4 Overview


Crisp High DPI

Crisp High DPI


Improved Windows platform support

Improved Windows platform support


Improved cross platform support

Improved cross platform support


Performance enhanced RTL

Performance enhanced RTL


Delphi language enhancements

Delphi language enhancements


C++ Builder enhancements

C++ Builder enhancements


IDE enhancements

IDE enhancements

Clone this wiki locally