<<

RAD Studio 10.4.2 “Hunter” Beta Build 3842, January 19th, 2021 Subscription Customers Beta Documentation

This document provides a detailed description of the current features and improvements in the RAD Studio 10.4.2 Hunter beta.

This is a confidential document, provided to you under NDA, and cannot be shared. The final release documentation will be published on the product docwiki once 10.4.2 has been released.

New features provided in the Hunter Beta are not committed until completed and GA released.

What’s new in this Beta (build 3842) 6

Beta Installation 8

Hardware Requirements 8

Operating System Requirements 8

Supported Target Platforms 9

Third Party Beta components 10

Known Issues In This Beta Build 10

How to log Beta bugs 12

Delphi LSP bugs 13

Exception stack trace reporting in the IDE 13

What’s New in Hunter 14

Copyright © 2020 , Inc. | Embarcadero Confidential/NDA Beta vs 10.4.1 & Patches 16

1. IDE Changes 16

In beta 3842 16

Normalizing File Line Endings 16

‘Preserve line endings’ setting 18

Source Breakpoint Properties 18

General 19

In beta 3588 20

Remote Desktop 20

Normalizing File Line Endings 20

‘Preserve line endings’ setting 21

Adding a Platform to an Upgraded Project 22

Changes to features introduced in a previous beta 22

Expanding Environment Variables 22

Design and Code for the same unit 22

Other 23

In previous beta versions 24

A new IDE style 24

Paths in the Options Dialogs 24

IDE Responsiveness In Lengthy Operations 26

General 26

Clearer Compile Dialog 27

Form Designing and Code Editable Together 28

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Desktop Layouts 28

The Palette and other windows now restore their desktop position when a desktop changes (such as when debugging ends) 29

F1 Help in Messages 29

C++ 29

Desktop and Layouts 29

Editor 29

Other 30

Enhancements 30

Notable quality items 30

2. LSP / Code Completion Changes 31

In beta 3842 31

DelphiLSP 31

In beta 3588 32

DelphiLSP 32

Error Insight UI Improvements 33

In previous beta versions 33

Ctrl+Click 33

Error Insight for Warnings and Hints 34

Error Insight 35

Overload Resolution 35

Uses Clause Completion 35

LSP Activity 36

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA XMLDoc 36

General improvements 36

3. ++ ToolChain Improvements 38

In beta 3842 38

Reducing Linker Strain through Split Dwarf 38

Code Completion 39

In beta 3588 40

Reducing Linker Strain through Split Dwarf 40

Win32 Instruction Set 41

Compiler 41

STL Fixes 41

Code Completion 41

In previous beta versions 42

Code completion and cquery 42

Errors After Installation 43

STL 43

Exception Handling 44

4. VCL and FMX Changes 44

General 45

New VCL TControlList control 45

The new TControlListButton component 49

A List of TControlList Component Properties 50

A List of TControlList Component Events 50

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA New VCL TNumberBox Control 51

A List of TNumberBox Component Properties 52

A List of TNumberBox Component Events 53

FireMonkey 54

TEdgeBrowser Extensions 54

5. Platforms Integration Improvements 55

Windows MSIX Support 55

Local MSIX Installation and Certificate Installation 56

MSIX and Store 57

Win SDK Requirements for MSIX 58

iOS 14 Support (Delphi and C++) 58

iOS Firebase Ads and Push Notifications Support 58

Firebase Cloud Messaging for iOS 59

Firebase Mobile Ads 59

Firebase SDK via GetIt 60

macOS 11 Big Sur (Delphi only) 60

Android Platform Support (App Bundle) (Delphi only) 61

Changes and Clarifications about Android App Bundle 61

Android 11 Debugging 62

Android Sensors Support 62

6. Silent Installer 63

Installer Command Line Parameters 63

Silent Install Limited UI 64

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Core Installable Features 65

Examples 66

Adding Features After Installation 66

7. Other Enhancements and Quality Focus Areas 68

Delphi Performance 68

RTL constant for 10.4.2 68

WSDL Import and SOAP Clients 69

Parallel Programming Library (PPL) 69

VCL Quality 69

FMX Quality 70

Debugging 70

In beta 3588 70

In previous beta 3253 70

Generic Collections Debug Visualizer 70

Additional Debugger Improvements 71

Data 71

Internet and Cloud 72

Migration Tool 72

Migration Tool Preset Configurations 72

Migration Tool Additional Configuration Files 73

8. List of Publicly Reported Bugs Fixed 75

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA What’s new in this Beta (build 3842)

● IDE Changes ● Delphi LSP ● Reducing Linker Strain through Split Dwarf In this build ● Code Completion ● iOS Firebase Ads and Push Notifications Support ● RTL constant

● Remote Desktop ● Normalizing File Line Endings (CRLF) ● Adding a Platform to an Upgraded Project ● Delphi LSP In beta build 3588 ● Split Dwarf ● Code Completion ● Changes and Clarifications about Android App Bundle ● Silent Installer ● Migration Tool Additional Configuration Files

● IDE Changes ● Delphi LSP / Code Completion Changes ● C++ ToolChain Improvements In beta build 3253 ● VCL and FMX Changes ● Platforms Integration Improvements ● Other Enhancements and Quality Focus Areas

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Beta Installation

This 10.4.2 beta version cannot coexist with any 10.4 version installation (10.4 or 10.4.1) on the same machine. We recommend installing a Beta on a separate VM.

Hardware Requirements

RAD Studio requires at least:

● 1.6 GHz or faster processor ● 2 GB of RAM (at least 4 GB recommended) ● Between 6 GB and 60 GB1 of available disk space. ● DirectX 11 capable video card that runs at 1024x768 or higher resolution.

Operating System Requirements

You can run RAD Studio on any version of 64-bit.

Tip: You can also install RAD Studio on a virtual machine running one of the supported versions of Windows in a non-Windows environment (e.g., macOS). To develop FireMonkey projects, your virtualization software must provide direct access to the host GPU.

Your Windows system must be configured as follows:

● The length of your PATH environment variable must be 1830 characters or less. ● The installation of RAD Studio adds up to 218 characters to your PATH environment variable. If the length of your PATH environment variable goes beyond 2048 characters, your system will misbehave.

1 Depends on your RAD Studio edition and the features selected during the installation. For more information, see Estimated Required Space.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Supported Target Platforms

RAD Studio 10.4.2 Hunter Beta supports the following target platforms:

Supported Supported UI Languages Frameworks OS Supported Versions Target Platform Delphi C++ FireMonkey VCL

Windows 10, .1, Windows 32-bit ✔ ✔ ✔ ✔ (SP1+), Windows Windows Server 2019, Windows Server 2016, and Windows Server Windows 64-bit ✔ ✔ ✔ ✔ 2012 R2

11 Big Sur, 10.15 Catalina, macOS 10.14 Mojave, and 10.13 High macOS 64-bit ✔ ✔ Sierra

iOS Device 64-bit ✔ ✔ ✔ iOS14, iOS13, iOS 12, and iOS iOS 11 iOS Simulator ✔ ✔ 32-bit (iOS 10)

Android 32-bit ✔ ✔ ✔ Android2 11, 10, 9, 8, 7, and 6 Android 64-bit ✔ ✔

Ubuntu 18.04 LTS, Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, Linux 64-bit ✔ ✔3 and RedHat Enterprise Linux (version 7)

2 RAD Studio only supports real devices (no Android emulator support) with ARM CPUs and NEON support. 3 Via FMX Linux, now available from Embarcadero as part of RAD Studio.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Third Party Beta components

Third party components from RAD Studio 10.4.x Sydney should be compatible with 10.4.2 Beta. Please report any incompatibility.

Known Issues In This Beta Build

IDE Crash with Accessibility Features in Windows 10 2020H2

New accessibility features introduced in the latest Windows 10 release (20H2, the October 2020 Update), which are off by default but can be enabled by the user, can cause an AV in the RAD Studio IDE. The specific setting is enabling one feature under "Ease of Access", called "Text Cursor".

As a workaround, we have disabled IDE accessibility MSAA support by default, to avoid the possible crash. You can enable IDE accessibility, if you are not using the latest version of Windows 10, by adding and setting the following new registry key:

[HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\xx.0\Globals] Name: EnableMSAA Type: REG_SZ

If value is (string) 0, the IDE does NOT use MSAA. If Data value is (string) 1, the IDE uses MSAA. If this entry doesn't exist (by default), the IDE does NOT use MSAA.

We plan addressing the underlying problem in a future release.

Promoted GetIt Packages Shows Hourglass

The Welcome page has a new category, ‘Promoted’, displayed. In this build no results will load for the category and the Welcome page will show an ongoing spinning activity indicator. This new feature should work as expected in future beta builds.

Debugger evaluation failures for Delphi iOS apps

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Evaluating function parameter values may fail and show either garbage data or simply fail to evaluate.

This is under investigation.

Error Tracing Into a C++ Win64 application

We have one internal report where once an application has stopped at a breakpoint, tracing into that statement will never return, resulting in the IDE waiting. This is under investigation. If you reproduce issues like this for Win64 C++ debugging, please file a detailed bug report (note debugger logging.)

Application Not Responding when debugging under Android

We have one internal report where, for a Delphi Android 32-bit and 64-bit application on a Samsung Galaxy device, that after a breakpoint is hit the application stops responding. If you see a similar issue, please file a detailed bug report (note debugger logging.)

HTTP Error 12175 during installation

Installation on Windows 7 might not work and show error 12175, unless TLS 1.2 has been specifically enabled at the operating system level. We are doing further investigations to see if the same happens on Windows 10 as well as finding a general solution. A workaround is to set the ServiceURL entry in the CatalogRepository registry section to refer to http rather than https.

HTML File Association Notification

While installing, you might get a notification that an app is causing a problem with default configuration for .html files, in case you have Edge installed. We are researching further to fully why this is being triggered in the current beta installation and how to avoid it.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA How to log Beta bugs

To log bugs found in the Beta, login to Embarcadero’s Quality Portal using your Embarcadero Developer Network (EDN) credentials.

Attention: Use your username to log in to EDN. Email address is not supported. If you are having trouble logging in, please contact [email protected].

Click Create issue on the top bar and select RAD Studio Beta from the Project dropdown list.

Note: If RAD Studio Beta is not in the Project dropdown list, please send an email to [email protected].

Before logging a bug, please verify that the bug does not already exist in the system. Duplicate bug reports waste time for both the person logging the bug, who has to provide many details, and the evaluator, who has to reproduce each one of the bugs to determine if it is similar to other bugs or not.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA This would help the team focus on solving as many of your issues as possible, instead of spending time on identifying and filtering duplicate bugs. For any additional information on how to log bugs on Quality Portal, please review the RAD Studio Quality Portal user guide.

Delphi LSP bugs

If you find bugs in code completion or other Code Insight features, please include LSP log files. You can find full info about turning on logs for DelphiLSP here.

Note that log files include when a unit is modified in the IDE. Logs also grow fast, so please turn it on only for the time it takes to reproduce the issue (i.e. turn logging on, start the IDE, reproduce the issue, close the IDE, turn logging off.)

Exception stack trace reporting in the IDE

The IDE exception dialog no longer attempts to automatically send crash reports to our bug reporting system. Instead, it allows you to save the crash diagnostic to a file and provides links to our reporting system. When an exception occurs, you will see the following exception dialog:

Click Save to collect information on the error and save it to a file. You will see a progress bar showing the information collection status. Then, the Save Report dialog opens and allows you to review and edit the information that was gathered, and save it to a file.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

Click Save Report to save the crash report. Follow the steps in “How to log Beta bugs” above, describing the steps that led to the error, and then attach the crash report file that you previously saved.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA What’s New in Hunter

All new features provided in the Hunter Beta are not committed until completed and GA released. The information obtained during the beta (including this document) is part of the NDA and should not be disclosed before release. This is just the list of features available in the current beta and it is not representative of the final product specification.

After a very feature-rich 10.4 release and a quality-focused 10.4.1 release, we’ve decided to balance the work for 10.4.2, which continues to focus on quality for LSP for both Delphi and C++, performance and stability.

RAD Studio 10.4.2 (codenamed ‘Hunter’) builds on the great 10.4.1 release, addresses key customer requests, and adds a handful of features. The plan for the release includes the following features, only some of which are available in the current beta version:

● Improve Windows 10 Store deployment, by supporting MSIX app packaging format.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● New VCL Native Windows Controls to provide a modern UI for your customers, focusing on a virtual listview and numeric input. ● Supported target platforms updated to deliver software where your users are, including full support for: ○ iOS 14 and iPadOS 14 (Delphi and C++). ○ macOS 11.0 Big Sur (Intel) (Delphi). ○ Android 11 (Delphi). ● Delphi Code Completion (LSP) enhancements add key productivity features to Code Insight. ● C++ Code Completion (LSP) enhancements to provide robust completion for all Clang projects. ● Migration Tool enhancements assist you in preserving your configuration when upgrading to the current version of the IDE. ● A new IDE style echoing classic IDE colors.

Beta vs 10.4.1 & Patches

Notice that the Hunter beta includes all items that have been hotfixed for 10.4.1:

● C++ compiler patch. ● Delphi compiler patch. ● Apple compatibility patches for Big Sur and iOS 14 (including the December update).

1. IDE Changes

In beta 3842

Normalizing File Line Endings In beta 3588, we introduced a feature to normalize line endings for all files opened in the editor to CRLF. Please see the ‘In beta 3588’ section below for more information.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA This beta, we have significantly revised the feature.

A quick recap: the main reason for the feature is that the IDE does not handle inconsistent text files, i.e., mixes of (say) LF and CRLF within the one file. This leads to breakpoints being located on the wrong lines, and problems inserting code (if you’ve ever seen the IDE create an event handler but there’s one character left of a previous line, most likely this is why.) Although the files are invalidly formatted, this behavior looks like an IDE issue to those experiencing it, and is genuinely annoying, and we want to resolve it.

However, there were concerns about changing the line endings of files that were not mixed, but simply validly non-CRLF (ie Unix-style text files with only LF endings.) While fixing an invalid text file on opening is valid, a LF-only file is a valid format, and should not be modified. LF-only files are common for files stored in git, where git is misconfigured: on Windows, git should be configured to use CRLF endings. Second, we can not modify read-only files, because they are read-only. Finally, there were concerns that the IDE might modify files that are, for example, third-party source files. Note that ‘modify’ is only in the editor; you need to save to apply the line ending changes, but any incorrect file including third party ones, once opened in the editor, would show a Save prompt when closing.

In this beta, the feature has been modified:

● Only files with inconsistent line endings will be modified to CRLF. LF-only files will be left untouched ● A message will be added to the Messages pane for all files with potential problems, including LF-only, plus what action if any was taken: ○ When a file has inconsistent line endings, and they were normalized to CRLF ○ When a file is LF only (no action) ○ When a file is read-only and could not be normalized ● Only files with a default set of file extensions (by default, Delphi and C++ extensions) will be modified

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● Files located in a set of excluded folder paths or subfolders will never be modified. By default, this is the BDS installation folder, but you can add any folder here where that folder or its subfolders contains source that should not be modified even if it has invalid line endings ● There is an overall setting for line ending behavior, allowing you to: ○ Preserve line endings (don’t even try to fix) ○ Convert all files to CRLF (this will ignore files in the specified folder paths) ○ Convert only known file extensions to CRLF (this follows the default extensions, and ignores all files in the specified folder paths) ■ This is the default ○ Ask each time

A lengthy explanation, but we hope this means that concerns about modifying files that should be modified are alleviated. It is important to note that inconsistent (mixed) line endings are invalid and even LF-only files are not supported by the IDE, and if a file is not consistently made CRLF, it will cause issues debugging or inserting code.

‘Preserve line endings’ setting The old editor setting to preserve line endings has been removed. The ToolsAPI support for it will always report it as on (true) and setting will have no effect.

Source Breakpoint Properties The dialog for adding or editing source breakpoints (breakpoints placed for a line of code, in contrast to data or address breakpoints) has been redesigned. The old design expanded vertically, not ideal for today’s wide screens, and had many controls placed close together, in one case overlapping.

The new design expands horizontally, which is better for modern screen layouts, and follows the IDE’s modern UX.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

In addition, when editing a breakpoint, meaning the filename cannot be edited, the filename is now displayed with ‘file path’ ellipsis shortening meaning the filename itself will always be displayed. A tooltip shows the full path.

General A large number of quality improvements, including:

● Further work for Remote Desktop, including resolving the IDE hanging after reconnecting to a RDP session ● Many Options dialog page layouts have been updated to avoid requiring scrollbars ● An issue where design-time packages could have a reference to the new IDE Wait dialog is resolved ● An issue where an ampersand (&) was displayed as an underline (_) in the Object Inspector has been resolved ● Several miscellaneous issues including for the editor gutter size and editor tabs have been resolved ● An issue where the IDE would show the source code editor as blank (containing no text) has been resolved

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● The Documentation page, which was briefly introduced in 10.2.2, was still shipped and some beta testers reported it was accessible within the IDE; it should no longer be available. ● A large number of high DPI support work in multiple areas of the IDE. Note that 10.4.2 does not support high DPI; that is currently scheduled for 10.5. However, this work should improve IDE behavior on high DPI screens even if the IDE itself is not yet scaled

In beta 3588

Remote Desktop Several issues affecting using the IDE over a remote desktop connection have been resolved. The most severe is when the IDE froze after connecting to the machine hosting it, or froze after a reconnection.

There have also been several performance improvements, and we also measure less network traffic required for RDP (not a huge amount, but still notable.)

The focus on remote desktop is to assist those using it to work from home.

Normalizing File Line Endings

Note: Please see the updated info for build 3842, above.

Two common issues we see are reports of blue dots not lining up with code in the code editor (or breakpoints not being placed correctly), and the IDE inserting code one character off where it should be, often creating incorrect code such as the first character of a keyword being left behind when new code is inserted. Both these issues are usually caused by mixed line endings in the code file being edited.

RAD Studio assumes the files it opens use carriage return & line feed (CRLF) characters to terminate a line. The issues above occur when a file has only LF, or

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA mixes CRLF and LF endings. This can occur when using other editors to edit code, or by some source controls systems, especially git.

In this beta, the code editor normalizes or canonicalizes file endings. It will always convert a file to use CRLF, and does this when the file is opened in the editor. If it consistently used LF, all lines will become CRLF; if it had mixed line endings, such as both LF and CRLF, again all lines will become CRLF. In this beta, this normalization always occurs when a file is opened.

Note: We are very interested in hearing about any negative side-effects this may have for you. For example, projects stored in git repositories without a proper configuration* may use LF line endings, and this may mean a file is modified for every line just because it is opened in the editor. Please send us your feedback on what effect this has on your code in real-world projects, especially those stored in remote source control.

We are considering changing the behavior, such as warning before the normalization occurs, making a file read-only if it is LF not CRLF, having settings to control normalization, or other approaches - if you have suggestions, please send them through.

* For git the recommended way is to use a .gitattributes file in the repo which then means everyone gets the correct line ending handling and not rely on the local settings every person can have set differently.

‘Preserve line endings’ setting The Editor options in the IDE Options dialog had a setting named ‘Preserve line endings’. This could be misunderstood to refer to line endings as above, LF/CRLF. In fact, it refers to preserving invisible whitespace at the end of a line after code/comments. The setting has been renamed.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Adding a Platform to an Upgraded Project Project files store the platforms they are able to support, as well as the platforms that are currently added. When upgrading a project last saved with an older version of the IDE (that is, opening a project; the IDE recognizes it was last saved with an old version and behind the scenes opening also performs a project upgrade process), the supported platforms list was updated based on the platforms installed in the IDE. This meant that if someone did not install all platforms, opened and saved a project, and then installed a new platform, that new platform could not be added to that project because it was not present when the project was upgraded. For example, if Delphi did not have iOS installed, then a FMX project opened and saved could not later have iOS added to it.

This is now resolved. You can always add a platform to a project if that platform is installed.

Changes to features introduced in a previous beta

Expanding Environment Variables A previous beta introduced the ability to convert to/from absolute paths to paths using environment variables in the Paths dialogs. Please see below for info and screenshots.

There was an issue where paths could be case sensitive, and so not convert correctly; this is now resolved.

Design and Code for the same unit A previous beta introduced having the same unit open in two windows, with one window displaying the code editor and another displaying the form designer. (This is great for multi-monitor, and also replaces a key use case for the old floating designer.) Please see below for full info and screenshots.

When both the designer and editor are open for the same unit, when creating an event in the Object Inspector or double-clicking an event handler, both of which

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA navigates to the event, the window with the code editor open for the unit is now used to navigate instead of switching the window with the form designer to code. That is, the designer window will stay showing the designer, and the code window will scroll to the event location.

Other ● Improvements to styling in several IDE forms ● Editor status bar panels show dropdown carets for all items that show a menu ● The debugger’s expandable evaluation view has improved styling support ● The Debug Inspector had a rendering artifact, which is fixed ● We do not support running the IDE without themes. However, multiple AVs when the IDE runs without a theme have been addressed. ● Sometimes the Palette would not show which item was selected; this is resolved ● The Android SDK wizard will now choose the latest set of build tools ● An error ‘list index out of bounds’ adding a new Android SDK has been resolved ● The Structure view has better icons for errors ● An issue where scrolling the code editor for C++ code could slow down the IDE (periodic freezing) has been resolved ● $(Platform) and $(Config) are supported in the Run > Parameters... > Parameter field

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA In previous beta versions

A new IDE style

This new style, called Mountain Mist, echoes classic IDE colors from roughly the 2010-XE8 era of IDEs.

Paths in the Options Dialogs There are a couple of useful changes to the path handling in the Options dialogs.

It’s common for the paths in the IDE Options, such as the Delphi Library path or C++ Include path to have fully-qualified directories specified, where those directories are inside common locations such as the IDE installation or your local Documents folder. This tends to happen through third party installers, or when adding paths by copy-pasting from Explorer.

The IDE now lets you convert those paths to use environment variables. It will always use a most specific environment variable over a more general one if

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA available (for example, if there are variables for Program Files (x86), and for Program Files (x86)\Embarcadero\Studio\21.0, it will choose the second if it can).

In addition, you can now delete duplicate paths (taking into account environment variables, i.e., two paths that resolve to the same location are regarded as duplicates).

In the past a directory list edit dialog had a button to remove invalid paths. This has been replaced by a Tasks button:

This shows a menu allowing you to update the selected or all items using environment variables. It also lets you expand the selected item, which does the reverse operation, converts from a path using an environment variable to a fully qualified path. We do not have a button to do this for all since it is generally better to use environment variables where possible.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA The menu also contains an item for deleting duplicate paths, and finally the existing functionality from older releases, to delete invalid paths.

There have also been improvements to detect when paths are genuinely invalid, and removing invalid paths should always be correct now. This is a long-standing request.

IDE Responsiveness In Lengthy Operations Lengthy items in the IDE, such as opening a project group with many projects, used to sometimes cause the IDE to ‘ghost’. Not only did this not look good but it could sometimes cause windows to reposition (or have z-order restored) incorrectly once the app began processing messages again.

There is now a progress dialog for these operations, and the IDE should never ghost.

There were some beta reports speculating this may result in a slowdown opening projects. We cannot reproduce this, but you can disable the dialog via the registry:

● HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\n.n\IDEWaitDlg ● Add a value ‘Enabled’, DWORD, which can be 0 (disabled) or 1 (enabled)

If you see slowdown, please test this. We’d appreciate knowing if you can reproduce both any slowdown and any effect the dialog has on performance.

General The New Items dialog (File > New > Other) has a button to access the template libraries and object repository.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA There are also miscellaneous fixes, such as more dialogs using the IDE style, UI alignment tweaks, and so forth.

There is a long-standing bug resulting in an error message, “Instance of Class TEditSource has dangling reference count of 1”, which we believe is now resolved.

Clearer Compile Dialog The Compile dialog should now communicate compile success or failure more clearly. The status message has a success/error icon next to it, here visible when a build fails:

When you compile successfully, instead of the large text saying ’Compiling…’ with smaller text ‘Done’, the large text will now say ‘Success’:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

The goal here is to easily see the results of your compile at a glance.

Form Designing and Code Editable Together In 10.4.1, we removed the floating form designer. We made sure to keep allowing multiple edit windows, which is great for multi-monitor work. However, it was not possible to have a form and that form’s code visible at the same time, such as in two edit windows. This was a key reason people used the old floating form designer.

In 10.4.2, you can now have a unit/form pair open in two edit windows at once, such as in the main IDE window and a second edit window on your second monitor. You can only design the form in one window at a time, which can be either window. When the designer is not shown in one, you can use the designer in the other; the Design tab will be disabled if the designer is shown in another tab or window. You can edit code in both at the same time. This means you can have both a form, and its code, visible and editing together.

Desktop Layouts There are many fixes to desktop layouts, especially for multi-monitor and different resolution screens.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA The Palette and other windows now restore their desktop position when a desktop changes (such as when debugging ends)

F1 Help in Messages A long-standing request to enable pressing F1 in the Messages pane (e.g., on a compile error) has been resolved. You can now press F1 and it will open the Help to the appropriate page.

C++ ● RSB-2862 The C++ static library dialog will now add libraries to the Clang , not just classic. ● You can now preprocess a file straight to saving on disk, rather than going to the code editor (which truncates lines at 1024 characters). ● Several features, such as the precompiled header wizard and C++ class explorer, function only with the classic compiler. Menu items for them are now disabled when using the Clang compilers.

Desktop and Layouts ● In the Options > Saving and Desktop page, the setting to control saving the project desktop when closing the IDE has been split into two options: ○ Save project desktop when closing: this controls if, when closing a project, the desktop (e.g., open files) are saved and will be restored. ○ Reopen last opened project when starting RAD Studio: if checked, when you close RAD Studio with a project open, it will be reopened when you restart.

Previously, these two behaviors were controlled by a single option.

Editor ● You can now change the Read Only status of a file from the editor status bar. Note this applies to an entire unit; that is, the group of code and form, and for C++ the .cpp, .h, and form.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Other

Enhancements ● The code editor now uses ‘UTF32’ to refer to the encoding previously referred to as ‘UCS-4’. ● The Editor Options setting ‘Preserve line endings’ was a misleading name. It preserves whitespace after code in a line, not a line ending in the CR/LF sense. It has been renamed. ● Miscellaneous bugs to do with style support in IDE windows or changing styles in the IDE. ● There have been tweaks to many forms to add styling and tweak the layout to look consistent with our UI style (e.g., the Run Parameters dialog, the Collection Editor, and several others).

Notable quality items ● A performance fix in the Messages dialog that made compiling large projects with many warnings or hints very slow has been resolved. ● RSP-20687 IOTAModuleInfo.ModuleType used to return omtForm for units, now resolved. ● ToolsAPI: IOTAComponent.SetPropByName always set an integer to zero ● $(Platform) and $(Config) are now supported macros for the ‘Host Application’ when attaching to or running a process. ● An AV when closing editor tabs. The AV occurred when clicking the Close (X) button on a tab, but moving the mouse slightly which also started a drag operation. This is now resolved. ● An error when invoking the context menu on C++ files in the Projects view with non-English languages is now resolved. ● An AV using the Todo list in a docked layout with C++Builder has been resolved. ● Many fixes for French and German localizations throughout the IDE.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● Many fixes for high DPI (which is not, and will not, be enabled in 10.4.2. High DPI is coming in 10.5. However, you may find that some window layouts behave better on high resolution screens).

2. Delphi LSP / Code Completion Changes

In beta 3842

DelphiLSP A number of quality issues have been resolved, including:

● Find Declaration should work with class constants and private types in the current scope ● Some diagnostics (error insight messages) were sent with a line number less than zero, which could cause them to display for all lines in the editor ● Ctrl-shift-up/down will work for classes with typed constants ● Resolved an issue with overload resolution (visible for parameter completion) where an anonymous method was present ● An issue where XML documentation was generated even if turned off has been resolved ● The editor status bar’s error/warning/hint list did not update correctly when switching tabs; this is now resolved ● An issue in the IDE Options dialog where the error insight level combo box did not display values has been resolved ● The LSP server was not notified of changes made in DPR files; it is now ● A crash when closing a FireMonkey master/detail project has been resolved ● Tooltip Help Insight no longer has a hyperlink in this version. This will be resolved in a future release, but in this beta the hyperlink (which was non- functional) has been removed ● Improvements to class completion. This feature will be fully resolved in a future version

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● (C++) An issue where errors would stay drawn in the editor when a file was modified to have no errors has been resolved

In beta 3588

DelphiLSP New features:

● You can now ctrl-click on the ‘inherited’ keyword, the same way you can for normal identifiers. This will navigate to the inherited method and is useful since the method name is not always specified when using ‘inherited’ ● Ctrl-shift-up/down arrow, to navigate between the declaration and implementation of a method, is now implemented using LSP ● Code completion inserts the type parameters for generic methods

A number of issues have been resolved:

● Using code completion with live templates no longer causes one character to be ‘eaten’ (go missing) when typed ● The code completion listbox drew method names one pixel too short, resulting in slight truncation ● The IDE’s old internal parser (‘Chill’) is now used in fewer circumstances, specifically not at all for error insight. ● Error insight diagnostics are no longer generated for include (.inc) files ● Code completion in the uses clause will show all unit stems, even if there is no unit with this name, which resolves a problem typing and inserting the wrong unit. (For example, the completion list will now include ‘Winapi’ even if there is no Winapi unit, allowing you to enter it, as well as to select Winapi.Windows.) ● Several internally reported issues that should improve server stability ● (Affecting C++) Error Insight severity (whether a message is an error, warning, hint etc.) was not being passed to the IDE correctly. Now errors, warnings and hints should display correctly

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Error Insight UI Improvements An Error Insight summary is now shown on the editor status bar. This new panel displays how many errors, warnings and hints there are in the current file.

This file has one warning and one hint

Error Insight (showing errors, warnings and hints) can now show icons in the editor gutter. This is a quick way to see where errors or warnings are located when scrolling. You can enable and disable this in the IDE Options.

When scanning the editor, you can quickly see there’s an error here

Error Insight colors have been tweaked. Please let us know if you do not find these clear and legible in both light and dark themes.

Mouseover hints for error insight errors (when you hover over a squiggly in the editor) now render better, including showing an error/warning/hint icon.

In previous beta versions

Delphi LSP has a lot of changes in Hunter beta. Notable are:

Ctrl+Click ● Ctrl+Click on method declaration name will go to implementation. ● Ctrl+Click on method implementation name will go to declaration. ● Ctrl+Click works with calls on instantiated methods. ● Ctrl+Click and hover work on identifiers that wouldn’t be offered by code completion. For example, in code snippet “var Count: Integer:= StringVar;” StringVar is not listed in code completion because its type doesn’t match the

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA assignment. In the previous version DelphiLSP wouldn’t be able to find its declaration in such cases. ● Ctrl+Click works on Exit() argument. ● Fixed issues regarding hover and Ctrl+Click with symbols defined in RTL units. ● Fixed Ctrl+Click on uses entries.

Error Insight for Warnings and Hints In the past, Error Insight (‘red squiggles’) showed only errors. As of Hunter beta, Error Insight can also display warnings and hints in the code editor.

Errors are still displayed with a red underline (note the color has been tweaked slightly, so feedback is appreciated.) Warnings have an orange underline, and hints have blue.

A hint and warning visible in the code editor

You can change what items Error Insight shows (of errors; errors and warnings; or errors, warnings and hints) in the Code Insight IDE Options page, ‘Error Insight Display’ combo box.

If you have issues with this feature, please note the following as a workaround:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● It may not be enabled by default for you (a bug): to solve this, go to the IDE Options > Code Insight page, find the ‘Error Insight Display’ combo at the bottom, and select what you want to see. ○ There is a known issue where this combo box displays as blank if the Options dialog is shown with no project open, or the code editor open in the editor. You can get the combo box to display correctly if you open the Options dialog with the form designer open ● If you still have issues, close the IDE, and then in the Registry Editor, navigate to the HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Editor\Source Options\.EditOptions.Pascal folder, and delete the ErrorInsightLevel key. Restart the IDE.

It looks like we can no longer refer to the feature as ‘red squiggles’, since they can now be red, orange or blue squiggles.

Error Insight ● Error Insight colors have been tweaked. We’d appreciate feedback if the squiggly underlines are clear and readable for you. ● There are new icons for hints, warnings and errors in the Structure pane.

Overload Resolution ● Overload resolution has been improved. This is visible a number of ways, such as going to the correct overload when ctrl-clicking. The version in this beta is not yet complete. ● Find Declaration should work for any overloaded method, and will also be visible for parameter completion when completing overloaded methods.

Uses Clause Completion ● Uses clause completion functions correctly when the cursor is at a comma or semicolon. ● Code completion in the uses clause now shows PAS files and DCUs in the project and search paths.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● Code completion in uses clauses lists units from search path and their shortened versions without the configured namespaces. ● Fix RSP-30632: LSP unit completion does not limit suggested units. ● Code completion in uses clause indicates when the selected unit is already used in the current unit.

LSP Activity ● The Projects view now has a small pane at the bottom showing what the LSP server is doing. This helps communicate when it is parsing.

XMLDoc ● If parameters have XMLDoc, that information will be shown during parameter completion.

General improvements ● Code completion shows methods with generic parameters. ● Improvements to Hover (tooltips), now working on units that are not yet linked into the project, and it should show the full definition location. ● Code completion for class operators will now show the method name as it is in code, instead of the internal name (e.g., ‘class operator Equal’ will show as Equal, not as _op_equality). ● Find Declaration should work correctly for fields and properties in generic types. ● Find Declaration should work correctly finding declarations of generic methods in another unit. ● DelphiLSP.exe should be smaller than in previous versions. It no longer uses unrequired packages. ● Code completion in methods of generic classes now lists strict private and strict protected members. ● Calls like “inherited Create;” can be resolved. ● Code completion after “inherited” only lists items from inherited class.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● DelphiLSP will lookup PAS files in the browsing paths when the compiler only knows the DCU. ● Ctrl+Click and hover work on attributes with the “Attribute” postfix removed, e.g., “[Test]” instead of “[TestAttribute]”. ● Code completion items in attributes don’t have “Attribute” postfix. ● Fix RSP-28346: LSP shows incomplete list of available methods (in class procedures). ● Fixed code completion and Ctrl+Click for property getters and setters. ● Code completion lists resourcestrings. ● Code completion works in Exit() statement. ● Fix RS-102605: Completion for a method prototype does not fill in parameters (unlike classic completion). ● Code completion in the uses clause will suggest DCUs. ○ There is now an option in the Project Options to disable this on a per- platform/target basis. ● Signature help has documentation per signature and per parameter. ● Help Insight works for generic classes. ● DelphiLSP works in active IFDEF blocks. (Predefined conditionals like {$IFDEF UNICODE} or {$IFDEF MSWINDOWS} were not recognized in the previous releases). ● Scoped enum values contain their type names in code completion (TScopedEnum.Val1 instead of Val1). ● Reduced size of code completion responses (which makes them faster to be propagated to the IDE). ● The tooltip (hover) response caption shows the symbol declaration string. ● Improved how completion items are represented: all variables that are references to functions show as events, and all native / inbuilt types are shown as a keyword. ● RSB-4416 An issue where the completion dialog would replace text you had typed has been resolved. ● Fixed hover and go to definition for references to readonly properties. (The issue affected only property references without dot, i.e. CTRL+Click didn't

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA work in IntToStr(ReadOnlyProperty) but it worked in IntToStr(Self.ReadOnlyProperty). ● Fixed hover and go to definition when the cursor is placed at the end of an identifier (as in: Form1|.Caption). ● Log files start with version number. ● Fixes around symbol lookup, read-only properties, the type name when the symbol is a member or is not defined in the current unit, and more. ● UI and layout fixes in the Source tab of the Code Insight options. ● Parameter completion will update when you cursor backwards. ● Managed records no longer cause Ctrl+Shift+C (class completion) to fail. Note that managed record operators can be generated, but the signature for Assign will be missing the [ref].

3. C++ ToolChain Improvements

Please also see the IDE Changes > C++ section, above.

In beta 3842

Reducing Linker Strain through Split Dwarf ‘Split Dwarf’ drastically reduces the amount of memory strain on the Win64 linker when linking a debug application. See beta 3588’s information below.

In this beta, full debug information is available, meaning the debugger should function identically with and without this feature enabled.

Note: Split Dwarf is on by default in this beta, because we are very interested in its impact on both your linking and resulting binary size. We’d appreciate your feedback on the feature in order to know if we should enable it by default in the final release. (Please note the known issue above, which will be resolved.) We would especially like to know:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● Does it work - can you build successfully and, when debugging, get line number information? ● Does it reduce the size of your , and by how much? ● Does it reduce the link time of your executable, and by how much? ● If you had a project that would not link under Win64 before, can you get it to link now?

Code Completion ● There are several more issues addressed for C++ code completion. Two known issues remain: one where in a large project, the LSP server was not getting the right configuration (via the compile_commands.json file); second, one where extra parameters passed to the compiler on the command line could prevent code completion from functioning ● An issue where errors would stay drawn in the editor when a file was modified to have no errors has been resolved ● The cquery LSP server will use no more than 50% of available cores for the number of indexing threads when opening a project, to increase IDE responsiveness ● When one file of a .cpp/.h pair (a unit) was modified, previously a changed notification was sent for both files. This now no longer occurs, meaning that indexes are invalidated much less frequently

In 10.4.2, we believe C++ code completion should work well for well-configured projects. Specifically, any unit must include the files it relies on, rather than relying on a precompiled header to ensure the unit compiles. This is known as ‘include what you use’. Projects that are well-configured, with all #include-s that are required in each unit, should have functioning code completion and error insight.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA In beta 3588

Reducing Linker Strain through Split Dwarf This is a really significant improvement addressing memory usage in the Win64 linker.

The C++ Win64 toolchain uses the ELF64 object file format, and Dwarf v4 debug file format. Debug information can often be very large, and is linked in to the resulting binary by the linker, often causing memory strain for ilink64. Reducing linker errors is a high priority for us.

This beta introduces a new technology to greatly reduce the amount of data the linker needs to process. It does this by splitting the debug information to separate files; the linker then only links executable code and a small amount of other information. This is known as ‘split Dwarf’. The debug information is placed in .dwo files (dwarf object.)

Note: the below issue is now resolved in beta 3842.

Attention: In this beta, with Split Dwarf turned on, the debugger will see line number information but not debug information for symbols. You should see blue dots in the editor and be able to place and hit a breakpoint, but you won’t be able to debug a symbol, which means inspecting or evaluating a symbol or expression will not function unless you disable this feature. This will be resolved in a future beta. You can disable it following the instructions below.

You can disable the feature in the Project Options > Building > C++ Compiler > Debugging page:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

Win32 Instruction Set Clang-based bcc32c/x now defaults to 'pentium2' instead of 'i386' as the default target CPU. This gives some better code optimizations, but the main benefit is reduced register spilling in debug mode.

Compiler Several issues when compiler optimizations are enabled have been resolved.

STL Fixes The previous beta had a number of regressions in the STL. This beta resolves over twenty STL issues.

Code Completion Code completion is worth testing in this beta and with the caveats noted below should function notably better than in 10.4.1.

You should expect issues with code completion when:

● Using it with a brand new unsaved project (save and reopen) ● Modifying project structure, such as renaming a file or adding or removing a file ● When a project relies on the precompiled header for includes, rather than including the headers it uses

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA However, for projects that are already saved on disk (including when code is modified in the editor), and which include what they use, in this beta code completion should function well - certainly significantly better than in 10.4.1.

Visible UI changes:

● Error Insight severity (whether a message is an error, warning, hint etc.) was not being passed to the IDE correctly. Now errors, warnings and hints should display correctly ● C++ also benefits from the editor status bar error insight display - please see the general Error Insight section above

In previous beta versions

Code completion and cquery 10.4.2 sees a complete overhaul of C++ code completion using the Clang compilers. We have resolved a large number of issues in the language server, especially around Unicode paths, indexing (which caused an error ‘cannot find file’), and others.

We have work remaining, mostly in the IDE side passing the correct messages and state to the LSP server.

In Hunter beta, you can expect to see:

● Code completion working. ● Tooltips working. ● Navigation (ctrl-click) working in the majority of cases (there are some known issues, such as clicking types in method parameters).

The above are for opening existing projects. You should wait for indexing to complete for navigation and tooltips to fully function. You can currently observe this by watching cquery CPU usage in Task Manager, but we plan for progress to be displayed in the Projects view in future similarly to Delphi LSP’s progress (for Delphi, new in this beta.)

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Known issues include:

● If you modify a project’s structure, such as renaming a unit or adding a new file, you can expect completion or other features to fail for that file or any file that depends on it. IDE messaging to the server is not yet complete.

We would greatly appreciate your feedback here, especially if you had issues with code completion in the past.

Errors After Installation We have a report where, after installing, if you create a new VCL project and add a component to the form you will get an access violation.

There is a similar report for changing the platform in the C++ ControlsDesktop demo.

Both these reports state they do not occur after restarting the IDE after installation.

We cannot reproduce either of these and would appreciate testing, if you can reproduce.

STL The Dinkumware STL has been updated, and includes a number of fixes:

● std::terminate does not have [[noreturn]] (RSP-31586) ● Issues to do with correct characters for locales ● Issues with string handling, such as to_upper ● std::optional corrupted a std::shared_ptr inside (RSP-27648) ● cmath assoc_laguerre functions were missing (RSP-27516) ● Could not construct std::optional via copy initialization forwarding (RSB-3005) ● std::enable_shared_from_this::weak_from_this was not implemented (RSP- 24524)

In this beta, we are aware of a number of STL regressions, which we plan to fix in an upcoming beta.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA We have done a very significant overhaul of exception handling using the Clang compilers, both Win32 and Win64, this release.

The scenarios we are looking at are:

● Within a single module (e.g., throw and catch in your EXE). ● Handling cross-module exceptions (e.g., thrown in a DLL and caught in the EXE - this is not best practice, but is common especially with packages, or with DLLs intended to be used only by one app). ● OS, C++, and SEH exceptions. ● When both the EXE and DLL are statically linked, or both are dynamically linked (dynamic RTL.) We are not resolving mixing different RTL linking within the one application. ● Both Win32 and Win64.

Before 10.4.2, many of the above scenarios could fail. We believe these are fully resolved now, for all combinations (e.g., SEH exception in Win64 thrown from a EXE and caught in a DLL, or C++ exception in Win32 thrown from a DLL and caught in a EXE, or…)

We would strongly appreciate your testing here.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA 4. VCL and FMX Changes

General

TImageList has had improvements in how it draws disabled icons. Previously, they were a flat monochrome grey. Now, the image is converted to shades of grey (desaturated.)

TImageList drawing a disabled image in 10.4.1 TImageList drawing a disabled image in 10.4.2

We recommend using the new TVirtualImageList control which has more control over how disabled images are drawn, as well as supporting high DPI.

New VCL TControlList control

We are introducing in the VCL library a new flexible and virtualized list control. The idea behind this control is to offer a new modern looking VCL control offering custom UI configuration and a high performance control, which can be used with very long lists. This list represents a single selection list and all items are visually of the same height and width.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

The new control allows the developer to define the content by designing one of the elements of the list using graphical controls (that is, TGraphicControl descendants) and provide data to the control to display individual elements, without creating all of the controls for all of the elements in the list, but only those needed to display the data. Being totally virtual, the list can handle thousands and even millions of items, offering extremely fast scrolling. Beside calculating and displaying only the items that fit on screen, the list caches the content of the items using in-memory bitmaps.

The new control resembles the classic TDBCtrlGrid control -- there is a panel for controls, you put controls on it and have virtual items created at run time. Unlike DBCtrlGrid we can put only TGraphicControl on it and all items are virtual. Below you can see the control at design time (with the surface of a single item available for editing) and at runtime (with the same content multiplied many times).

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

This list doesn’t include a collection of items with specific information. The data might be provided either via live bindings (including binding to a dataset or a collection of objects) or via an event to query for the data of an individual item (so that the direct storage and mapping would be completely up to the developer).

The control offers different events to set properties, enable and change visibility for hosted controls for each item. With special properties you can adjust the selection for different item states and additional properties allow you to automatically adjust the colors of the labels when an item is selected.

In this example the control has 10,000 items but has no delay in creation. For each item to display the control calls an event handler you can use to customize each item appearance, in this case just modifying the Caption of the label: procedure TForm2.ControlList1BeforeDrawItem(AIndex: Integer; ACanvas: TCanvas; ARect: TRect; AState: TOwnerDrawState); begin Label1.Caption := 'Label' + AIndex.ToString; end;

At design time, there is special dialog with a collection of preset configurations, which include adjustment for TControlList properties and control collections with specific properties. You use the arrows at the top to pick the core configuration and

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA you can fine tune it with some of the other checkbox options at the bottom. The wizard overrides the control list setting.

The item you design is replicated (virtually) for each of the items requested with the ItemCount property. The visible surface of the control generally allows for a number of items, all with the same width and height. The control has 3 different layouts:

● Single for a single columns of items, in which case the width of the item will match with the control width. ● Multi Top To Bottom allows for multiple columns and will use the available vertical space before moving to the next column, offering vertical scrolling. ● Multi Left To Right also allows for multiple columns but uses a different layout and horizontal scrolling mode (see image below).

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA If you configure the list in the earlier demo for multiple columns you can set the items width to a value other than zero and obtain the output in the following image (again at design time and runtime):

All items are virtual. The control has excellent performance and you can have over a million items without any problem. Special code defines visible items, and their positions in real time using scroll information. Only visible items are processed.

In general terms, you can use the OnClick event for any control on the control list. The control supports High-DPI options and VCL Styles and it is fully Live Bindings enabled.

The new TControlListButton component We can't use TSpeedButton directly on the panel, because the control doesn’t handle special interactions like button changed state. For controls, which can have different states, we added a special TControlListControl class (inherited from TGraphicControl). You can create new controls that inherit from TControlListControl class and can use mouse events for their items. This is the approach used by

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA TControlListButton - the analogue of a TSpeedButton that can be used with TControlList. This button has 3 styles - push button, tool button and link.

A List of TControlList Component Properties ● ItemCount: Integer Defines the number of items ● ItemColor: TColor Defines background color of an item ● ItemIndex: Integer Index of active item ● ItemWidth: Integer Defines width of the item (when set to 0, it uses the entire width of the control) ● ItemHeight: Integer Defines height of the item ● ItemMargins: TMargins Defines margins between items ● ColumnLayout: TControlListColumnLayout Defines column layout for items ● ItemSelectionOptions: TControlListItemSelectionOptions Defines selection and text colors for item states, using of the the following values: - cltSingle - cltMultiTopToBottom - cltMultiLeftToRight ● HotItemIndex: Integer Index of hot item ● MarkDisabledItem: Boolean Set MarkDisabledItem to True for automatically drawing disabled content of disabled item

A List of TControlList Component Events ● OnBeforeDrawItem Event to define property of controls and background drawing before drawing of item content ● OnAfterDrawItem Event to define property of controls and background drawing after drawing of item content ● OnBeforeDrawItems Event to define general background drawing before drawing of all items

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● OnAfterDrawItems Event to define general list drawing after drawing of all items (over all items) ● OnItemClick Item click event ● OnItemDblClick Item double click event ● OnEnableItem Event to define enabled and disabled items ● OnEnableControl Event to define enabled and disabled controls in specific item ● OnShowControl Event to show / hide controls in specific item

New VCL TNumberBox Control

The new VCL TNumberBox control is a modern looking numeric input control modeled after the Windows platform WinUI NumberBox control. The control supports the input of integer numbers, floating point numbers with a given set of decimal digits and proper formatting, and currency values.

The user can increase or decrease the value using arrow buttons or allows keys or mouse wheel, and also increase and decrease by a large value using Page Up and Page Down keys.

The component supports simple expression evaluation; if enabled a user can input an expression like 40 + 2 and the control will replace it with the result. The control supports computing inline calculations of equations such as multiplication,

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA division, addition, and subtraction (allowing the use of parentheses). Notice that you can use the symbols + and - both as binary and unary operations, so you can type -23 or + 23, you can write 55+23 and 55-23, and even combine them as in 53++23 or 53--23, which is evaluated as 53 - (-23). thus, adds the two values.

The component includes an optional spin button (configured with the SpingButtonOptions Placement property), which can be compact, inline, or disabled, as shows here respectively:

A List of TNumberBox Component Properties The control supports VCL styling, is HighDPI-enabled, and has many additional properties to adjust visual style and behavior. In the 3842 beta build, we added two new properties, NegativeValueColor and CurrencyFormat, the first allows you to change the color for negative value and the second to customize the formatting of currency values, beyond the use of a specific currency symbol (see CurrencyString).

This is a list of the control properties:

● Mode: TNumberBoxMode Defines in which mode control works and is based on the following enumeration: TNumberBoxMode = (nbmInteger, nbmFloat, nbmCurrency); ● Value: Extended Current Value ● ValueInt: Integer Current Value as Integer ● ValueFloat: Extended Current Value as Extended rounded using Decimal property ● ValueCurrency: Extended Current Value as Extended rounded with Decimal = 2

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● CurrencyString: string Defines string for currency mode, which will be added at the end of display text ● DisplayFormant: string Defines custom text format ● MinValue: Extended Defines minimum value ● MaxValue: Extended Defines maximum value ● Decimal: Byte Defines the number of decimal digits ● SmallStep: Extended Defines the amount by which the Value property will change with spin button, Up/Down keys and mouse wheel ● LargeStep: Extended Defines the amount by which the Value property will change with Page Up/ Page Down keys ● AcceptExpressions: Boolean Enables using expressions in control ● SpinButtonOptions: TNumberBoxSpinButtonOptions Defines options of spin button and is a data structure including sub-properties ButtonWidth, Placement, RepeatTimerInterval, ShowInlineDividers, and different arrow colors ● UseNaNValue: Boolean Uses NaN value with empty text ● UseMouseWheel: Boolean Enables changing Value with mouse wheel using SmallStep property ● UseUpDownKeys: Boolean Enables changing Value with Up/Down and Page Up/ Page Down keys ● Wrap: Boolean Enables incrementing from the max value to the minimum one and reverse

A List of TNumberBox Component Events The component has the following events:

● OnChangeValue: TNotifyEvent Occurs if Value property is changed

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● OnEvaluateExpression: TNotifyEvent Occurs when applying custom evaluation of expression using Text and Value properties ● OnValidateChar: TNumberBoxValidateCharEvent Custom validation of input char

FireMonkey

FireMonkey support for multiple monitors on Windows has been improved by refactoring the Windows implementation of IFMXMultiDisplayService. There were also improvements in TDisplay.WorkAreaRect to work on logical coordinates. At the same time, notice that Screen.WorkAreaRect cannot work with logical size, because it's a union of all displays (potentially with different screen scales). This is related to RSP-30864.

For TMemo, we made a few more improvements, in particular for the macOS platform. Notice that TMemo control has a special property AutoHide, which can be used to force the display of scrollbars.

TEdgeBrowser Extensions

With Microsoft official release of the WebView2 controls in November 2020, we are updating the TEdgeBrowser components with support for the latest release (and SDK) along with the addition of new features.

In the release version of the SDK, Microsoft has modified the loading code disabling the ability to initialize the WebView2 control in a background thread. In previous versions, the VCL EdgeBrowser component was doing background initialization after its creation. Now the initialization takes place (in the main UI thread) on the first call to Navigate.

Cache Management. The new public property UserDataFolder allows the developer to define the folder to be used for the cache. This property needs to be set before enabling the component by navigating to a URL.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Use a Custom WebView2 version. By default, the component uses the current version of the WebView2 control on the system. You can use a specific version by setting the new public property BrowserExecutableFolder to point to the location of the library.

5. Platforms Integration Improvements

Windows MSIX Support

The RAD Studio 10.4.2 release introduces support for MSIX packaging of Windows applications, for Microsoft Store and Enterprise deployment. You can read more about MSIX at https://docs.microsoft.com/en-us/windows/msix/overview.

The RAD Studio MSIX support replaces the APPX support and it is based on a very similar configuration in the project options, for Ad hoc and Store distribution types:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

Once everything is configured, you can use the Project Deploy command to create an MSIX file under the subfolder WinXX\Debug\projectname\bin folder of the project folder.

Local MSIX Installation and Certificate Installation If you activate the MSIX file, it will prompt you to install it locally, and unless you have enabled the certificate, you’ll see the following:

To install the MSIX package, you need to have a proper certificate or to grant permission to your self-signed developer certificate. To do so, you can locate the certificate file on your hard drive, use the Install PFX local file command in Explorer,

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA opening the Certificate Import Wizard, select Local Machine as Store Location, confirm the file to import, enter the certificate password, select "Place all certificates in the following store" and click the "Browse" button, select “Trusted Root Certification Authorities” and complete the process.

At this point, opening the MSIX file will allow you to install it:

Notice you also need to have app sideloading enabled in your Windows 10 configuration (if not, the MSIX installer will offer you a link the configuration dialog):

MSIX and Microsoft Store The IDE support allows you also to create MSIX files ready to be uploaded to the Microsoft store for Windows. In this case, the project configuration must include

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA the application ID and user ID provided by the Microsoft store configuration, once you have a (paid) account and create a new project.

Notice that in this case you need to have a MinVersion target of 10.0.17763.0, which is the current default in RAD Studio 10.4.2. If not, you’ll see an error message like the following:

Win SDK Requirements for MSIX Notice that MSIX support requires the installation of a recent version of the SDK, which is part of the RAD Studio installation. If you have an older version installed, you’ll receive an error like the following in the deployment phase: [PAClient Error] Error: E5384 SignTool Error: This file format cannot be signed because it is not recognized. [PAClient Error] Error: E5384 SignTool Error: An error occurred while attempting to sign: C:\...\vcldemo\bin\vcldemo-unsigned.msix

You can eventually download the Windows SDK installer directly from Microsoft, for example at https://developer.microsoft.com/en-us/windows/downloads/windows- 10-sdk/. iOS 14 Support (Delphi and C++)

The Hunter beta offers support for binding the released SDK for iOS 14 and debug on iOS 14 devices. This has been released as a patch for 10.4.1, see: https://blogs.embarcadero.com/apple-platforms-patch-for-rad-studio-10-4-1/. iOS Firebase Ads and Push Notifications Support

In build 2842, we are introducing two new features specific to the iOS platform and related with Google Firebase support. The first is the ability to receive push

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA notifications from Firebase (rather than Apple platform push notifications). The second is the support of Google Mobile Firebase advertising on the iOS platform. Both features have a dependency on Google Firebase SDK for iOS, that we plan to deliver via GetIt (see below).

Firebase Cloud Messaging for iOS The new unit FMX.PushNotification.FCM.iOS implements Firebase Cloud Messaging push notifications for the iOS platform. The main configuration takes place using the TFcmPushService class, which inherits from its base class TPushService properties like DeviceToken, DeviceID, and the StartupNotifications array.

Firebase Mobile Ads Firebase advertising can be activated by dropping on a form, the new, iOS specific component FirebaseBannerAd. The controls are available if the project is currently set to an iOS target.

The configuration is done via some runtime properties including:

● AdSize: TFirebaseBannerAdSize ● AdUnitID: string ● Model: TCustomFirebaseBannerAdModel ● TestMode: Boolean

There is a key method, LoadAd, and some event handlers:

● OnDidDismissScreen ● OnDidFailToReceiveAd

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● OnDidReceiveAd ● OnWillDismissScreen ● OnWillLeaveApplication ● OnWillPresentScreen

More information is in the FMX.Advertising.Firebase unit, which is written in a platform agnostic way as we plan to add future support for Android (and potentially other platforms served by Google).

Firebase SDK via GetIt To build applications using Firebase on iOS you need to install on your development machine the Firebase SDK provided by Google. This installation will be provided soon (over the next few days) via a specific GetIt package, check the GetIt package manager for availability.

Alternatively, you can accept the license and download the SDK directly from Google, see the main Firebase SDK for iOS site on GitHub at https://github.com/firebase/firebase-ios-sdk or specific downloads like https://dl.google.com/firebase/sdk/ios/6_28_0/Firebase-6.28.0.zip. You can also get the latest version at https://firebase.google.com/download/ios, but this is not recommended as it downloads the latest version, automatically updated over time, and we cannot guarantee our interfaces remain compatible. macOS 11 Big Sur (Delphi only)

New macOS application now includes a 512x512@2x image in the default ICNS file.

With Delphi, we currently target macOS Big Sur with Intel-based applications.

PAServer allows working with and the latest masOS SDK. We fixed a known issue with an exception management and exceptions on app termination. This has also been released as a patch for 10.4.1, along with improved iOS 14 support, see again the blog post linked above.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Android Platform Support (App Bundle) (Delphi only)

For the Android platform and App Bundle deployed, we did the following:

● Updated Android Asset Packaging Tool (aapt) to version 2.19-6197926. ● Enhanced the Generate Android App Bundle file (arm + arm64) option. ● Updated the bundletool command line tool to the version 1.2.0. ● Added ability to specify a xxxhdpi launcher icon for Android platform (see RSP-14625).

Notice also that after disabling the 'Include splash image' option and re-building the application, you need to manually delete the 'splash_image_def.', 'styles.xml' and 'styles-v21.xml' files that might have been created for a previous release.

Changes and Clarifications about Android App Bundle

● For RAD Studio 10.4.2 Sydney, the Generate Android 32-bit and 64-bit binaries (armeabi-v7a and arm64-v8a) option indicates the ABIs that the generated App Bundle is aimed to support. The alternative here is to provide the ability to generate App Bundles that

● support either both 32-bit and 64-bit devices

● support only 64-bit devices

● The reason there is one missing scenario is that App Bundles that support only 32-bit are not allowed to be uploaded to the Google Play Console.

● Notice that we don’t allow creating a 64-bit APK, signed by the developer.keystore, for local deployment. The reason is that the Google Play Console team is pushing developers to adopt the Android App Bundle publishing format (see the 'New Android App Bundle and target API level requirements in 2021' blog post) and we think it is important to get developers used to the common issues around the migration from APKs to

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA App Bundles. The idea behind the build system changes in RAD Studio 10.4.2 Sydney to generate only App Bundles for the combination of the Android 64- bit target platform and the Application Store build type is to help anticipating the adoption of the Android App Bundle publishing format.

Before 10.4.2, the combination of the Android 64-bit target platform and the Application Store build type used to generate APKs that supported only 64- bit devices. However, sharing APKs that supported only 64-bit devices turned out to be quite frustrating for developers because of unsuccessful attempts to install these APKs on 32-bit devices (or 64-bit devices with a 32-bit version of the Android operating system).

For local or internal testing, it is possible to generate a Universal APK from an App Bundle to quickly share an application. Here are the command line commands:

Generate a Universal APK (it is contained into an 'APK set') from an App Bundle: .exe -jar '\bin\Android\bundletool-all-1.2.0.jar' build- apks --mode=universal --bundle= --output= --ks= --ks-pass=pass: -- ks-key-alias= --key-pass=pass:

Install the Universal APK extracted from the generated APK set on the connected device: java.exe -jar '\bin\Android\bundletool-all-1.2.0.jar' install-apks --apks= --adb=

Android 11 Debugging

This beta also addressed an issue with debugging on Android 11 devices.

Android Sensors Support

For the Android platforms, we have reworked part of the sensor management, allowing us to work with multiple sensors of the same type. This addresses a number of pending issues (many device specific) like:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● RSP-29859: LocationSensor is not usable.

6. Silent Installer

The coming version 10.4.2 of RAD Studio will officially support silent, automated installation of the product with no UI interaction. Unlike in the past, the silent install is available in 2 different scenarios

● Offline installation, based on the GOF file and the setup executable (currently not available for the beta)

● Online installation, based on the setup executable and an automatic download of the required packages in the background

Notice that Windows SDK installation currently starts with a UI and doesn’t respect the “silent installation” rule.

Installer Command Line Parameters

Silent installation can be activated by passing additional, optional command line parameters to the Setup program (if you don’t pass any parameter, a regular installation is performed). The Setup command line parameters that are required for silent installation mode are the following:

/SILENT Runs the installer in silent mode. The progress window is displayed.

/VERYSILENT Runs the installer in very silent mode. No windows are displayed.

/SUPPRESSMSGBOXES Suppress message boxes. This has an effect only when combined with '/SILENT' and '/VERYSILENT'

/NOCANCEL Disables cancelling the installation process

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA /NORESTART Prevents the installer from restarting the system even if it's necessary

/DIR="x:\dirpath" Overrides the default install directory

/SLIPFILE="x:\filepath" Installs a license file

/FEATURES=featureid Indicates the feature[s] to install, separated with ";". See list below for the available features names.

/LOG="x:\filepath" Causes Setup to create a log file for debugging the installation process. If the file cannot be created, Setup will abort with an error message.

A license file should be installed on the target machine before silently installing the program or you can install it by /SLIPFILE option.

Silent Install Limited UI

With the silent option, you see the installation status, but there is no further request to fill in:

With the /verysilent mode the operation terminates immediately and there is a hidden command prompt doing the installation:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

Core Installable Features

The silent installer allows you to install the core IDE and any of the following platforms and features (features availability depends also on the license being passed as parameter). These are the IDs of the available features: delphi Install all Delphi platforms. delphi_windows Install Delphi Windows platform. delphi_macos Install Delphi macOS platform. delphi_linux Install Delphi Linux platform. delphi_ios Install Delphi iOS platform. delphi_android Install Delphi Android platform.

cbuilder Install all C++Builder platforms. cbuilder_windows Install C++Builder Windows platform. cbuilder_ios Install C++Builder iOS platform. cbuilder_android Install C++Builder Android platform.

samples Install Samples.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA help Install Help files. Install TeeChart components. dunit Install DUnit components. interbase_express Install Express components. interbase_2020 Install InterBase 2020. openjdk Install AdoptOpenJDK. android_sdk Install AndroidSDK.

Examples

In the examples below, replace “setup.exe” with the name of the executable setup downloaded from Embarcadero or rename it as Setup.exe

Silently install the program and prevent restarting the system (the license file should already be installed): setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART

Silently install the program and install all Delphi and C++Builder platforms (the license file should be installed): setup.exe /VERYSILENT /FEATURES=delphi;cbuilder

Silently install the license file, program and Delphi Windows platform: setup.exe /VERYSILENT /SLIPFILE=8221_52.1581325640864.slip /FEATURES=delphi_windows

Adding Features After Installation

After the installation, you can use GetItCmd.exe program to install additional platforms, additional features, and addon packages from a command line interface.

To get more details about available commands, you can type

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA GetItCmd.exe --help

Notice that you need to run rsvars.bat (from the product installation bin subfolder) to initialize the environment variables before using the GetItCmd.exe tool.

Warning: The project group creation happens at the minimal installer step, very early. It is recommended to AVOID starting RAD studio until the installation process is completed.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA 7. Other Enhancements and Quality Focus Areas

Delphi Compiler Performance

We plan to focus a significant effort to improve the Delphi compiler performance, merging the compiler optimizations found in the external “compiler fix pack”. Optimizations include (among others) equivalent solutions for Delphi Fix Pack items indicated as:

DbkGetFileIndex UnlinkImports ResetUnits

KibitzCompilerImplUnitReset UnlinkDuringCompile UnitFreeAll UnitFindByAlias SymLookupScope ImportedSymbol

NoUnitDiscardAfterCompile SourceOutdated MapFileBuffer

BackgroundCompilerFileExists DrcFileBuffer Package.CleanupSpeed

Optimization FindPackage x64.JumpOpt x64.SymTabHashTable ReleaseUnusedMemory FileNameStringFunctions Memory.Shrink

Additionally, we have improved the performance of the code generated by the Delphi compiler for try/finally blocks.

Additional Fix Pack items we merged in or further refined (as they were already covered) in beta 3588):

SearchUnitNameInNS FileSystem SearchUnitNameInNS GetUnitOf CacheControl FileNameStringFunctions KibitzIgnoreErrors RootTypeUnitList MapFile.fprintf Unit.RdName PrefetchToken StrLenCalls WarnLoadResString

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA In beta 3842

RTL constant for 10.4.2

We generally provide only compiler defines indicating the major version a developer is using when compiling some source code. In 10.4.2, we have added a constant in the system unit you can use to determine if the developer is using 10.4.2. You can use it on a conditional compilation statement: const RTLVersion1041 = True; RTLVersion1042 = True;

WSDL Import and SOAP Clients

We are continuing the work started in 10.4.1 to significantly improve SOAP Client and WSDL Import. We fixed a couple dozen issues in this area, including a few pending for some time. The list of issues addressed is available in the fix list below.

Parallel Programming Library (PPL)

We also plan to complete the improvement of the quality and performance of the PPL, an activity that started earlier this year and is continuing over the entire 10.4.x releases cycle.

These include changes to TThreadPool.SetMinWorkerThreads, worker threads termination, and improvements for futures. Again, the full list is in the bug fix list below.

VCL Quality

● DBCtrlGrid control: Addressed a long-standing issue that was artificially limiting DBCtrlGrid row count to 100 rows. ● Addressed a regression with the Font property for TSpeedButton. ● A few VCL styles and High DPI related issues.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ● For the TBitBtn component, if Glyph is not Empty, Kind always is bkCustom by default but you can now change ModalResult. Since 10.4, TBitBtn uses ImageList as its preferred approach. To set another Kind, you need clear Glyph property and then set Kind.

FMX Quality

● Native styled controls and ZOrder improvements. ● Several Metal driver quality improvements. ● Camera Component performance improvements on Android. ● Added 1024x1024 image to default ICNS file for macOS.

Debugging

In beta 3588 Attempting to launch an Android 64-bit app on a 32-bit device now shows a clearer error message.

An issue where debug visualizers could AV on complex expressions has been resolved (RSP-27753.)

The ToolsAPI will now report the correct paused thread state for a paused process (e.g., a process that has hit a breakpoint) using the Win64 C++ LLDB-based debugger. This is likely not visible unless you have a ToolsAPI plugin using the debugger interfaces.

In previous beta 3253

Generic Collections Debug Visualizer We have an initial version of a debug visualizer for Delphi generic collections. Here you can see how the debugger shows the current content of a TList as (1,2,0,0). This is still a work in progress and feedback is welcome.

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

By comparison, here is how the debugger shows the same information in 10.4.1, with no display of the actual list content:

Additional Debugger Improvements ● PAServer on Windows now defaults to writing to %APPDATA%\Embarcadero\PAServer\scratch-dir, which should be writable. Previously it used a folder that was non-writeable unless you ran with admin permissions. ● $(Platform) and $(Config) are now supported macros for the ‘Host Application’ when attaching to or running a process. ● Added visualisation for TMemoryStream.Position. ● The Generic List visualizer (see previous beta) has been optimized for simple non-managed types.

Data

There have been many improvements in FireDAC, including support case-sensitive columns with InterBase 2020, SQLite view that uses recursive CTE, creation of tables with ftWideString with Oracle. There have been improvements in MongoDB

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA with SSL connections, TFDEventAlerter with PostgreSQL, MySQL negative TIME values, and general FireDAC fixes in core classes like TFDDataSet.

Internet and Cloud

Issues in the following features have been addresses:

● WebApp.TCookie adds support for the Cookie attribute SameSite (see RSP- 27386). ● Multipart/form-data management for TRESTRequest.

We introduced a new TAmazonStorageService.SetObjectProperties method to allow changing Content-Type header in AWS, using TAmazonStorageService component.

Improvements in TAzureBlobService.ListBlobs.

In the HTTP client and REST client library, we have unified the use of timeouts for synchronous operations. The special cases (with values 0 and -1) were not used consistently and now they have been unified:

● 0 indicates the platform (or library) specific default timeout. ● -1 indicates an infinite timeout.

Migration Tool

The Migration Tool that helps copy the IDE configuration across versions, updates, and installation has been significantly updated.

Migration Tool Preset Configurations Once you select the type of migration (from version to version, to file, etc) the tool will offer a slightly extended list of settings and provide 3 preset configurations, see the buttons at the bottom (that you can further modify):

● The “Update Migration” configuration includes entries that you most likely want to include when installing an update of the same project version (like from 10.4.1 to 10.4.2). In this case you need to make a copy of the settings

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA before uninstalling and apply them again after installing (a process very similar to what the installation procedure does automatically). ● The “Version Migration” configuration includes entries that you most likely want to include when you are moving from one version to another, like from 10.3.x to 10.4.x. ● The “Computer Migration” configuration includes entries that you most likely want to include when you want to move the IDE configuration from one computer (Or VM) to another, with the same version installed.

Migration Tool Additional Configuration Files New in build 3588. Beside migrating registry settings as in the past, the Migration tool now allows migrating additional configuration files in different areas. If you select the checkbox “Include additional configuration files” in the first page, you’ll be able to include FireDAC, Desktop, Platforms, and Formatters configuration files, picking individual ones:

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA 8. List of Publicly Reported Bugs Fixed

This is a partial list of bugs fixed up to build 3842. The list includes publicly reported bugs and does not include duplicate reports. It does include fixes distributed via 10.4.1 patches. The entries are grouped and sorted by component. Below there are the list of issues solved in previous builds.

Summary Component/s ExternalID Unable to find static library: vcl.a Compiler, RSB-4518 Compiler\C++ Compiler optimizer removes lines of code Compiler, RSP-31883 Compiler\C++ std::function is moved to the loop variable from vector Compiler, RSP-26592 instead of being copied Compiler\C++ Internal compiler error when dynamic_casting to a non Compiler, RSP-29974 PACKAGE derived type in a package library. Compiler\C++, Compiler\C++\CLANG, Compiler\C++\CLANG\ Delphi interop code completion and smart pointers Compiler, RSP-27303 Compiler\C++, IDE Project option "Run C++ compiler in a separate Compiler, RSP-31085 process" breaks CodeInsight/LSP Compiler\C++, IDE\Code Insight [REGRESSION] Changed handling of unused function Compiler, RSP-31615 results causes very bad codegen Compiler\Delphi Error during ide session if many nestes for are present Compiler, RSP-31032 Compiler\Delphi Massive memory leaks in local variables Compiler, RSP-30215 Compiler\Delphi F2063 Could not compile used unit 'Mitov.Types.pas' Compiler, RSP-30214 Compiler\Delphi Out of memory on circular reference Compiler, RSB-3992 Compiler\Delphi Inner exceptions leak with Delphi/LLVM compilers Compiler, RSP-27592 Compiler\Delphi

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Incorrect lifetime of variables in a nested block Compiler, RSP-26471 Compiler\Delphi Android App closes/crashes if an exception is raised Compiler, RSP-16639 on TListView:OnItemClickEx-event Compiler\Delphi, FireMonkey Bad packaged unit format Compiler\Delphi RSB-4493

Various Getit Downloads Fail to install due to identical Compiler\Delphi, VCL RSP-32055 source errors Datasnap - Linker errors when using Data, Data\DataSnap, RSB-2138 TFDGUIxWaitCursor component Data\FireDAC TFDMemTable delete a record containing Data, Data\FireDAC RSP-32072 NestedDataSet with ChildDefs firedac metadata bug Data, Data\FireDAC RSP-31927 data.bind.component bug ? Data, RSP-32114 Data\LiveBindings Rest Debugger has no version or about. Hard to Data, Data\REST RSP-32180 precise the version in JIRA Rest Debugger eats part of the URL Data, Data\REST RSP-32179

Rest Debugger does not allow request body when Data, Data\REST RSP-32075 using PATCH Local watches show nothing after LoadLibrary Debugger RSB-4494

The Delphi debugger in Win32 is unable to evaluate Debugger RSB-4462 local any variables in use packages TTrackBar does not track correctly when Tracking is FireMonkey RSP-32116 false Meaning of Left/Top properties are different in Hunter FireMonkey RSB-4617 (4K screen) LocationSensor is not useable FireMonkey RSP-29859

You are not allowed to use location services FireMonkey RSP-16406

Texture are lost FireMonkey RSP-16121

Android App closes if an exception is raised on FireMonkey, RTL, RSP-16638 Timer:OnTimer-event RTL\Delphi Konopka Readme.txt does not list 10.3 Rio Help and Doc RSP-26007

Scrolling wheel mouse after selecting listbox scrolls IDE RSB-4695

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA something else

Hunter compiled VCL package won’t load in 10.4.1 IDE RSB-4692

Ampersand converted to underline in Object Inspector IDE RSB-4681 properties weird error in ide IDE RSP-32136

"Empty"/"Non" SDK selectable IDE RSP-32123

Error on importing profile IDE RSB-4657

Open unit to find declarations IDE RSB-4650 source code editor display is blank IDE RSB-4640

LSP Class Completion completes class wrongly... IDE RSB-4633

Extend line breaks option to include list of file IDE RSB-4627 extensions for which auto conversion does not apply IDE crash on opening dpr file without associated dproj IDE RSB-4620 file Begin - end block auto completion keeps adding end's IDE RSP-32085 when enter is pressed Progress flickering while opening project group from IDE RSB-4601 File->Open menu RAD Studio messes up package .dpk files if it is IDE RSB-4576 opened in the editor and package options are adjusted Overload resolution does not work on calls with IDE RSB-4570 anonymous functions in argument list AV when loading Demo projectgroup. IDE RSB-4568

Crash when reopening project IDE RSB-4515

IDE freezes for no apparent reason IDE RSP-31505

TPanels changing layout size when I open the file. IDE RSP-31460

A Component Name Allready Exists. IDE RSP-31393

XML documentation is generated in spite of the IDE RSP-31298 deactivated option The IDE hangs after a reconnect when used via RDP IDE RSP-31206

Error message from DelphiLsp: 413 Operation would IDE RSP-31073 block

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Cannot move from the declaration section to the IDE RSP-30886 implementation section with Ctrl+click FireMonkey Form Blacked Out in IDE when Windows IDE RSP-29350 comes out of sleep [LF in source] Package in a Group Project cannot be IDE RSP-28920 compiled after changing package description Multiselect Projects gets slower and slower IDE RSP-28704

IDE opening links in webbrowser IDE RSP-28252 c++ CLang code complete IDE RSP-26652

Tools/Options/[..]/"recently used" has unnecessary IDE RSB-2625 vertical scrollbar Web service wizard should check installed platforms IDE RSB-2475 editor bugs IDE, IDE\Code Editor RSP-29930

Code insertion is messed up when using TTask IDE, IDE\Code Editor RSP-14879 [pressing Enter inside an anonymous method] GoTo declaration fails for constant declared in a class IDE, IDE\Code Insight RSB-4554

Crash on unit completion IDE, IDE\Code Insight RSP-31839

DelphiLSP.exe keeps spinning endlessly IDE, IDE\Code Insight RSB-4447

Code insight does not work within a class IDE, IDE\Code Insight RSP-31318

F2048 Bad Unit Format for System.dcu IDE, IDE\Code Insight RSP-29613

Numerous issues with code insight IDE, IDE\Code Insight RSP-29392

[DelphiLSP - completing possible method overrides] IDE, IDE\Code Insight RSP-29334 Serious code completion issue Unable to install/uninstall Jedi Component Library from IDE, Install RSB-4670 GetIt [DE] String truncation IDE, Translation RSP-14870

Bonus KSVC 6.2.3 was installed without Install RSP-25723 RaizeComponentsVCL.a libraries IOS Linking : Failed to set locale to ??2I? Linker RSP-30295

EVariantTypeCastError when convert a UnicodeString RTL, RTL\Delphi RSP-26610 variant to boolean

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA ISO8601ToDate fails when the UTC date falls within RTL, RTL\Delphi, RSP-32067 the TimeZone's DST period RTL\Delphi\Date/Time TNetHTTPClient not working with TLS 1.3 and Linux RTL\Delphi\Net RSB-4613

[TCustomListView ] Stream read error VCL RSP-20010

NumberBox as nmbCurrency ignores Alignment VCL, VCL\Additional RSB-4704

VCL TNumberBox.CurrencyString should be able to VCL, VCL\Additional RSB-4642 put as prefix or suffix

This is a partial list of bugs fixed up to January 5th, 2021.

Summary Component/s ExternalID

[bcc32c][Regression]: fastcall ignored on Compiler, RSP-30762 constructor/destructor and error on Implementation Compiler\C++

ICE:Internal compiler error: 0 @ 00000000 Compiler, RSP-29727 Compiler\C++

ICE: Internal compiler error: 0 @ 00000000 cause by Compiler, RSP-29717 try catch Compiler\C++

[Regression] fopen and fopen_s both fail in C++ Compiler, RSP-29427 Builder Win 64 Compiler\C++ unknown argument: -fno-standalone-debug provided Compiler, RSP-28635 when the option -flimit-debug-info is provied Compiler\C++

The alignment for a long double in bcc32x/bcc32c is Compiler, RSP-27955 invalid Compiler\C++

Complier option -fpack-struct=1 not working for Clang Compiler, RSP-27263 compiler Compiler\C++

Code Insight not working Compiler, RSP-27090 Compiler\C++

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA std::from_chars doesn't works with floating point Compiler, RSP-27015 numbers Compiler\C++

[cquery issue #1] "cannot initialize object parameter of Compiler, RSP-26983 type..." error in editor Compiler\C++

[cquery issue #2] code completion [results sent from Compiler, RSP-26974 the server but not shown in the UI] Compiler\C++

[bcc32c Error]... ICE: Internal compiler error: 0 @ Compiler, RSP-25971 00000000 Compiler\C++

Code Insight does not work at all under some Compiler, RSP-25949 conditions (international characters in path?) Compiler\C++

Unexpected compiler error [calling convention attribute Compiler, RSP-23671 on destructor] Compiler\C++

Lockbox Compile-Error Compiler, RSP-20335 Compiler\C++

Property and method ipwipDaemon1Datain are not Compiler, RSP-30826 compalible Compiler\C++, Compiler\C++\BCC, Compiler\C++\BCC\Del phi interop, IDE std::thread::hardware_concurrency() returns 0 Compiler, RSP-19821 Compiler\C++, Compiler\C++\CLANG

[bcc32c] std::apply does not std::forward the tuple Compiler, RSP-30212 argument causing a compile time error Compiler\C++, RTL\C++

Win32 CLANG: std::exception handling vs "linked Compiler, RSP-28983 dynamic RTL Compiler\C++, RTL\C++

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA [C++|CLANG] std::bind requires move constructor Compiler, RSP-20209 Compiler\C++, RTL\C++

Can't generate launch screen with Xcode 12.2 beta 2 - Compiler, RSB-4414 iOS 14.2 on macOS BigSur beta 9 Compiler\Delphi

Out of memory on circular reference Compiler, RSB-3992 Compiler\Delphi

When a SOAP request fails no DOM parsing Data, Data\Cloud RSP-31958 exception should be raised

OnChannelStateChange of Data, Data\DataSnap RSP-20675 TDSClientCallbackChannelManager is not synchronized with main thread

Grid index out of range in TDBGrid Data, Data\DBCtrls RSP-31920

W10 Delphi 10.3.3 TSQLConnection (dbexpress) does Data, Data\DBX RSP-31915 not load parameters on connect

W10 Delphi 10.4.1 TSQLConnection (dbexpress) Data, Data\DBX RSP-31819 doesn't load parameters on connect

LocalSQL query to an FDMemTable multiplies records Data, Data\FireDAC RSP-32025 in the returned dataset

TFDQuery ChangeAlerter raise a exception when the Data, Data\FireDAC RSB-4580 query is close

TFDQuery ChangeAlerter don´t work Data, Data\FireDAC RSB-4579

Aggregate Field with Firedac Exeception Data, Data\FireDAC RSB-4542

FireDAC TFDBatchMove CommitCount setting Data, Data\FireDAC RSP-31985 restricts the number of transferred records

TClientDataSet.ApplyUpdates() raises EDBClient error Data, Data\Midas RSP-23382 with "Mismatch in datapacket"

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Invalid breakpoint condition [system unit out of Debugger RSB-4500 date/corrupted, missing String]

Debug kernel not responding Debugger RSP-29849

Debug Visualizer AV on too complicated expressions Debugger RSP-27753

Watch variable shows address instead of value Debugger RSP-23543

Debugger off sync Debugger RSP-20992

Debugger breakpoint misalignment with inconsistent Debugger RSP-20830 line endings

Debug console in 64bit Debugger, IDE RSP-31890

FlowLayout child components order is totally random FireMonkey RSP-32009

TCustomScrollBox.InternalAlign sometimes shows FireMonkey RSP-31976 scrollbar due to Single calculations

Caret (^) is not displayed in iOS. FireMonkey RSP-31897

ListView.OnItemClickEx.ItemIndex bug with non FireMonkey RSP-31407 standard object

Default ICNS file must be upgraded [Mac Store] FireMonkey RSP-30733

Custom scheme URL not working on iOS FireMonkey RSP-29996

(Metal) 3D forms don't render 3D controls unless there FireMonkey RSP-29537 are also 2D controls on the form.

TTextureStyle.MipMaps is de facto not supported on FireMonkey RSP-28576 Metal

Newly created TBItmap content in not zeroed on Metal FireMonkey RSP-28895

Metal cause my ios apps to be jerky slow and flickerl FireMonkey RSP-28340

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA TListView refresh issue in combination with FireMonkey RSP-25930 TClientDataset

Menu of MainMenu pops up sometimes on a wrong FireMonkey RSP-21871 screen

Texture are lost FireMonkey RSP-16121

Konopka Readme.txt does not list 10.3 Rio Help and Doc RSP-26007

Rename doesn't work on unit IDE RSB-4575

Rename doesn't work on project IDE RSB-4574

Appearance Default Style combo does not show all IDE RSP-32007 selected options by default

Migration tool cannot export anything IDE RSB-4557

IDE Path editor - "Update All using Environment IDE RSB-4537 variable" is case sensible

Statusbar dropdown inhomogeneity IDE RSB-4531

Crash while editing code IDE RSB-4524

List index out of bounds IDE RSB-4514

IDE crash IDE RSB-4512

Text in search edit boxes has incorrect vertical IDE RSP-31940 alignment

Code Editor Status bar items are not aligned vertically IDE RSP-31936 (same way)

Help Insight search edit box and desktop layout IDE RSP-31934 combo are not properly aligned vertically

IDE messing up path IDE RSB-4499

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Show event handler in other editor window instead of IDE RSB-4486 hiding the form designer

Making IOTAWizard.GetIDString and GetName the IDE RSB-4480 same cause the IDE to AV

Using Deleaker debuggin from IDE IDE RSP-31763

Progress dialog flickers when adding several existing IDE RSB-4471 units to a project

TwineCompile false issue IDE RSP-31725

RAD Studio freezes upon connecting to VM hosting its IDE RSP-31146 IDE from Windows Remote Desktop (RDP) clients having different display configurations (VM-hosted IDE becomes unresponsive for many minutes, while VM otherwise works fine for other apps).

Method drop down arrow painted with incorrect theme IDE RSP-31016

Unknow Reason close IDE IDE RSP-30986

Error when executing in debug mode IDE RSP-30861

The font zoom slider that should appear on the status IDE RSP-30763 bar of the code editor is not there

BDS.exe is blocked for 3 minutes IDE RSP-30619

Unit files not sorted in project pane IDE RSP-30499

[CRLF issue] Changing Project Options can modify IDE RSP-30715 sometimes the Project source

Delphi crashed when running my program with the IDE RSP-30373 Debugger

Even with `Preserve line ends` disabled some lines IDE RSP-30365 are only terminated with LF

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Saving config settings corrupts project .DPK file IDE RSP-30319

TFrame inserting problem not all frames are available IDE RSP-30266 to insert

Code editor lists UTF32 as UCS-4 IDE RSP-30642

XMLDOC improperly displaying parameter comments IDE RSP-30690

IDE buttons, checks and controls hidden IDE RSP-30100

ErrorInsight does not work at all in large project IDE RSP-30055

Help Insight fails to show hint when hovering mouse IDE RSP-29918 over enumeration

Code Insight (Option Auto invoke) fail (LSP) IDE RSP-29827

IDE Crashes on closing a modified file (IOTAEditWriter IDE RSP-29441 no longer valid when closing an Editor)

DelphiLsp.exe - ECreateProcessError + GetIt IDE RSP-29182 panel for speed change option in property editor is IDE RSP-29139 outside the screen

White area Add To-Do Item IDE RSP-29137

Unable to read the list box header at Option IDE RSP-28480

LSP ErrorInsight is not aware of unit alias IDE RSP-28384

Group text in project options unreadable in dark mode IDE RSP-28390

Access violation on breakpoint IDE RSP-28394

#13 alone make the breakpoint lost IDE RSP-28156

Directories Dialog: Listbox uses wrong text color for IDE RSP-28064 selected item

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Mouse Wheel does not work in Custom Style check IDE RSP-28024 list in Project Options Dialog

Migration tool does not export/import platform SDK IDE RSB-3338 settings noexcept keyword doesn't highlight in the IDE's editor IDE RSP-26156

Problems with Code Insight -> Code Completion ( Ctrl IDE RSP-25601 + Space )

Code Insight is not working IDE RSP-25966

Code completion for implementing an interface only IDE RSP-24734 shows one version of overloaded methods

Empty context menu in Tools/Options -> device IDE RSB-3032 manager

Various errors when using Navigator IDE plugin with IDE RSP-24210 big sources

COM items aren't in the right place in the File, New... IDE RSP-24185 dialog

Navigator Parser Error IDE RSP-23933

Form popup menu "Add Control", instead add Button, IDE RSP-23489 add rzButton.

C++ Builder Code insight(intellisense) Doesn't Work IDE RSP-21747 (when keymapping changed)

IDE is slower than 10.2.x and lots of flickering, blurring IDE RSP-21722 going on when themes are enabled

German: Welcome dialog has truncated link IDE RSB-2812

Tools/Options/Compiling layout issues in dark mode IDE RSB-2725

Android SDK will not install IDE RSB-2669

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Project options treeview selected item is invisible IDE RSB-2613

Web service wizard should check installed platforms IDE RSB-2475

Android SDK setup automatically chooses very old IDE RSP-21979 build tools

Scrollbar in setting dialog unthemed IDE RSB-2362

"Remove from project" dialog incomplete dark mode IDE RSB-2348 support. error insight false positives: units that do not resolve IDE RSP-20986 but compile

Help not found for F1 in message window IDE RSP-20701

Some settings are missing when importing with IDE RSP-20142 "Migration Tool"

Auto completion fail and put code in the wrong place IDE RSP-20047 [CF/LF Related]

IDE crashes after several changes between themes IDE RSP-19577

[Migration Tool] "Environment Variables" not migrated IDE RSP-17951

Cannot add platform (ie: Win64) to project created IDE RSB-1728 prior to installation of said platform

Allow adding any new Platform for projects - IDE RSB-1656 regardless of existing platforms list in dproj

Add ability to ctrl-click on 'inherited', the way you can IDE RSP-10217 for identifiers editor bugs IDE, IDE\Code Editor RSP-29930 event implementation placed in wrong place IDE, IDE\Code Editor RSP-28454

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Code insertion is messed up when using TTask IDE, IDE\Code Editor RSP-14879 [pressing Enter inside an anonymous method]

ErrorInsight complains E206 constant expression IDE, IDE\Code Insight RSB-4509 expected for valid code

LSP Not Working IDE, IDE\Code Insight RSP-31043

F2048 Bad Unit Format for System.dcu IDE, IDE\Code Insight RSP-29613

Numerous issues with code insight IDE, IDE\Code Insight RSP-29392

"end of file." annoyingly inserted IDE, IDE\Code Insight RSP-28709

[DelphiLSP] LSP Code completion fails in the interface IDE, IDE\Code Insight RSB-3640 part of TForm

Migration Tool will prevent RAD Studio from IDE, IDE\General RSP-10294 functioning by corrupting IDE state

[Migration tools] Help doesn't show while pressing F1 IDE, Install RSP-23475 in Delphi rtl AV on checking assignment IDE, RTL, RTL\Delphi RSB-4544

WSDL Import Error with Nested xsd Types IDE, SOAP RSP-23529

Install Issue - AV while migrating settings from Install RSB-4550 previous version of Delphi

Programs which compiled and linked in 10.2 now Linker RSP-22890 generate an OMF link error in 10.3

[ilink64 Error] Error: Public symbol RTL, RTL\C++ RSB-4469 'std::_All_variants_valid()' defined in both module FTDMS.O and INFOTDMS.O bug std::promise RTL, RTL\C++ RSP-31740

doesn't compile with bcc32c / bcc32x RTL, RTL\C++ RSP-31694

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA "Std :: initializer_list <>" bug for "std :: stuple" RTL, RTL\C++ RSP-30863

After upgrading to 10.3.3 std::map is required to be RTL, RTL\C++ RSP-27095 assignable

[Regression] std::function is allways moved on copy RTL, RTL\C++ RSB-3439 assignment

Access violation after throw (after FP code) RTL, RTL\C++ RSP-25906

Invalid operator= in the memory source file from RTL, RTL\C++, RSP-29985 Dinkumware RTL\C++\STL

[C++] Cannot Copy Initialize 'std::tuple' RTL, RTL\C++, RSB-2999 RTL\C++\STL

TStringList LineBreak #13#00 not working anymore RTL, RTL\Delphi RSP-31761

Multi-Thread calculation still slow in Delphi 10.4 RTL, RTL\Delphi RSP-29497

MXCSR is set to mask exceptions by TryStrToFloat RTL, RTL\Delphi, RSP-30367 and in some cases is not reset RTL\Delphi\Arithmetic/ Precision

ISO8601ToDate fails when the UTC date falls within RTL, RTL\Delphi, RSP-32067 the TimeZone's DST period RTL\Delphi\Date/Time

ThreadPool task can wait for 2 minutes before running RTL, RTL\Delphi, RSP-30932 the task RTL\Delphi\Threads

Various bugs in SOAP unit SOAP RSP-16017

Truncated german translation in the ControlList- VCL RSB-4541 ComponentEditor

Parameter missing in DrawText in Vcl.Themes.pas VCL RSP-31978

Edge does not work with new WebView2Loader.dll VCL RSP-31427 from Microsoft Nuget Gallery

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Setting PageControl.TabIndex selects the wrong page VCL RSP-31323 if some pages have TabVisible:=false

With Screen scales higher than 100%, VCL RSP-30980 TCustomGrid.DefaultRowHeight/RowHeights is too small, also TDBEdit.Height tRzGroupBar component scroll issue when using VCL VCL RSP-30007 Styles

TRzCheckBox check box wrong size at design time VCL RSP-29903

Edge Browser cache system should be revised VCL RSP-28837

Remove library hints and warnings from the library VCL RSP-27457 supplied with Delphi.

Mem leak in TRzColorEdit VCL RSP-24327

TPageControl.SetTabIndex activates wrong page VCL RSP-17662 when some tabs are hidden

Konopka controls "Hot Track Color" not VCL style VCL RSP-17032 aware

Dropdown calender of TRzDateTimePicker ignores VCL RSP-16772 style

Transparent RzRadiobutton on Doublebuffered VCL RSP-16680 RzToolBar rendering problem

Konopka TRzButtonEdit causes TToolbars to truncate VCL RSP-15757 in Delphi 10.1 Berlin

TGroupBox and TRadioGroup font color ignored VCL RSP-13801

Collapesed TCategoryPanel is wrong height in high VCL, VCL\Additional RSP-27210 dpi

TCategoryPanel do not properly handles VCL, VCL\Additional RSP-19256 SubComponents

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA TLabel on TCategoryPanel/TCategoryPanelGroup VCL, VCL\Additional RSP-15955 does not repaint

TGridPanel-Customizing VCL, VCL\Additional RSP-10064

TTabSheet control "randomly" adds/removes Explicit* VCL, VCL\Win32 RSP-13679 properties depending on if a tab is activated at design time

TCategoryPanel FExpandedHeight not DPI Scaled if VCL\Additional RSP-31540 collapsed

This is a partial list of bugs fixed up to December 11th, 2020.

Summary Component/s ExternalID ICE: Internal compiler error: 0 @ 00000000 cause by Compiler, RSP-29717 try catch Compiler\C++ Failure of standard exception with header file Compiler, RSP-27900 Compiler\C++ AV at program end after usage of stringstream in dll or Compiler, RSP-21410 bpl Compiler\C++, RTL\Delphi No Warning Message when you Publish 64bit Android Compiler, RSP-31676 App on a 32Bit OS Android Compiler\Delphi MacOS64: Raising an exception causes application Compiler, RSP-31667 and PAServer to crash Compiler\Delphi Can't generate launch screen with Xcode 12.2 beta 2 - Compiler, RSB-4414 iOS 14.2 on macOS BigSur beta 9 Compiler\Delphi Delphi 10.4.1 is stil 3 to 4 times as slow as 10.3 with Compiler, RSP-30910 the IDE Fix pack Compiler\Delphi Compiler failed Compiler, RSP-30085 Compiler\Delphi Compiler generates disadvantageous code for Compiler, RSP-27375 try/finally Compiler\Delphi Android app compiled on Delphi 10.4.1, does not work Compiler, RSP-31398 on Google Pixel with Android 11. Compiler\Delphi,

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA FireMonkey

Delphi gets stuck on "Installing apk" Compiler, RSP-27424 Compiler\Delphi, FireMonkey IDE compiler doesn’t find an include file Compiler, RSB-4428 Compiler\Delphi, IDE OnChannelStateChange of Data, Data\DataSnap RSP-20675 TDSClientCallbackChannelManager is not synchronized with main thread TMonitor.Enter sometimes hangs (INFINITE) and Data, Data\DataSnap RSP-18254 never returns DataSnap Callback - Freeze Data, Data\DataSnap RSP-15856

Heavyweight Callback not working in WebBroker Data, Data\DataSnap, RSP-20702 Application RTL\Delphi Firedac TQuery does not accept [Sheet1$] as table Data, Data\FireDAC RSP-28426 name while it works in test of connection. C++ 64bit Debugger can no more jump to exception- Debugger RSP-30465 throw-point IDE freezes on Ctrl + F2 Debugger RSP-30728

Break Point Problem Debugger RSP-21846

[REGRESSION] Need to click two times on buttons of FireMonkey RSB-4454 TDialogService.MessageDialog accessory visible even if Visible is False on TListView FireMonkey RSB-4453

HiDPI - Incorrect position of combobox dropdown list FireMonkey RSB-4452

Showmessage displayed in incorrect order on Android FireMonkey RSB-4449

Livebinding Designer does not detect TListView FireMonkey RSP-31578 change of ItemAppearance.ItemAppearance Camera Component threading issue Android FireMonkey RSP-31238

[iOS] TiOSGeocoder.GeocodeForwardHandler can FireMonkey RSP-30483 cause a crash Default ICNS file must be upgraded [Mac Store] FireMonkey RSP-30733

Raise Exception causes application shut down under FireMonkey RSP-30000 MacOS BigSur Beta2

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Firemonkey android form onclose no works with FireMonkey RSP-29529 TCloseAction.caNone TCanvasD2D is not threadsafe when call DrawBitmap FireMonkey RSP-27447

FMX.Graphics.TBitmap.Map with Write acess does FireMonkey RSP-27273 not free underlying textures in TCanvasD2D CMD+Q invoke onFormCloseQuery two times on FireMonkey RSP-26004 macOS 32/64 TListView refresh issue in combination with FireMonkey RSP-25930 TClientDataset Project raised exception class EJNIException with FireMonkey RSP-24695 message 'java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference FMX. Tstringgrid customeditor access violation on FireMonkey RSP-24257 change value Can't run Firemonkey-App on Android 7.1.2 FireMonkey RSP-20273

Updating a filtered TListView is not working FireMonkey RSP-16186

At design time, controls stored into a FireMonkey, RSP-17073 TGridPanelLayout are wrongly resized. FireMonkey\Componen ts TCameraComponent can capture up to 8 times faster FireMonkey, RSP-10592 FireMonkey\Componen ts Weird draggable space IDE RSB-4495

IDE Window Rendering Issues IDE RSB-4481

Progress dialog flickers when adding several existing IDE RSB-4471 units to a project Error E2597 file not found: /usr/lib/libiconv.dylib IDE RSB-4463

Interface/implementation switch error IDE RSP-31355

[DelphiLSP] Regression: Code completion replaces IDE RSB-4416 code while typing! Wrong tab order in tools/options IDE RSP-30879

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA [DelphiLSP] Invoking code insight CTRL + SPACE in a IDE RSP-30668 TForm private / public section fails to show available methods Test case: Unable to rename 'xxx.$$$' to 'xxx.pas IDE RSB-4267

Code editor lists UTF32 as UCS-4 IDE RSP-30642 run IDE c++ 10.4 crash after migrate settings IDE RSP-29126

Empty areas of listboxes stay black IDE RSP-28432

Code Insight unit name filtering broken IDE RSP-28899

Visual glitch when closing IDE IDE RSB-3813

Access violation at address 7C7C4D50 in module IDE RSP-28682 'IndexerService.dll'. Read of address 00000000. Code insight doesn't work when project folder name IDE RSP-25592 has Chinese chars Code Completion not work with clang IDE RSP-25520

Small realign issue on remote desktop - but still IDE RSB-2946

Static library dialog will add path only for bcc32 but not IDE RSB-2862 for bcc32x Various errors when using Navigator IDE plugin with IDE RSP-24210 big sources Navigator Parser Error IDE RSP-23933

Load Desktop IDE RSP-23918

Code navigation Navigator does not accurately parse IDE RSP-23637 classes.pas tVirtualImageList on frame - cannot link to image IDE RSP-23437 collection Access violation if you move the mouse while closing IDE RSP-23110 an editor tab (easily reproducible) German texts truncated IDE RSP-21804

The project view is missing the resize headers IDE RSP-21718

Dark theme / white code editor IDE RSB-2768

German text truncated IDE RSB-1961

IOTAModuleInfo.ModuleType returns omtForm for IDE RSP-20687

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA units

Debug Layout Not Saved IDE RSP-18842

Access violation when trying to copy an component IDE RSP-17777 Firemonkey. Code completion does not respect $SCOPEDENUMS IDE, IDE\Code Insight RSB-4465 ON [DelphiLSP] Code completion stops working (inside IDE, IDE\Code Insight RSP-31486 {$IFDEF UNICODE} block) Code Completion don't work in class function IDE, IDE\Code Insight RSP-30238

Serveur LSP error IDE, IDE\Code Insight RSP-29969

[LSP] Delphi reports F2040 Seek Error on IDE, IDE\Code Insight RSP-29722 '..\Dcp\XXX.dcp' at line X (X:Y) Linker error after new iOS 14.2 update Linker RSP-31746 weak symbols not recognized in 11/iOS14 SDK PAServer RSP-31766 std::future reports all exceptions as "unknown RTL, RTL\C++ RSP-27115 exception" Some math functions are not included in libraries RTL, RTL\C++ RSP-26199

TPrivateHeap is no longer thread safe, exceptions if RTL, RTL\Delphi RSP-31737 use soap in threads Multi-Thread calculation still slow in Delphi 10.4 RTL, RTL\Delphi RSP-29497

CreateGUID returns wrong GUID on Android. RTL, RTL\Delphi RSP-20225

MXCSR is set to mask exceptions by TryStrToFloat RTL, RTL\Delphi, RSP-30367 and in some cases is not reset RTL\Delphi\Arithmetic/ Precision ISO8601 to TDateTime conversion fails to validate RTL, RTL\Delphi, RSP-31399 wrong inputs RTL\Delphi\Date/Time Delphi XMLDocument : No mapping for the Unicode RTL, RTL\Delphi, RSP-16675 character exists in the target multi-byte code page RTL\Delphi\Net Deflate decompression does not work with RTL\Delphi\Net RSP-30486 RESTClient library SOAP method causes "Duplicates not allowed" error SOAP RSP-16709

TSOAPDomConv.SetObjectPropFromText problem SOAP RSP-15791 parsing Cardinal

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA WSDL generation created 2 classes for all objects SOAP AP-153

Incorrect wording in TControlList (2) VCL RSB-4489

TNumberBox SetLargeStep is wrong VCL RSB-4482

Add "wrap around mode" to the VCL number control VCL RSB-4476

Incorrect wording in TControlList VCL RSB-4473

TBitBtn ignores TImageList, if custom styles are active VCL RSP-31724

FindDialog - CustomStyles - CloseDialog - OnClose is VCL RSP-31121 not called Invalid Form.OnResize (dispatched to children VCL RSP-30138 controls) with custom VCL Style used Closing a VCL form with a TMainMenu item leads to a VCL RSP-29745 memory overwrite in TFormStyleHook TBitBtn don´t work with TVirtualImagesList and Styles VCL RSP-29606

Remove library hints and warnings from the library VCL RSP-27457 supplied with Delphi. VCL Themes - Flicker when resizing. VCL, RSP-30639 VCL\Styles/Themes

This is a partial list of bugs fixed up to November 24th, 2020.

Summary Component/s ExternalID Add support for Xcode 12, macOS 11 Big Sur and iOS Compiler, RSP-30806 14 when officially released by Apple Compiler\C++, Compiler\Delphi, FireMonkey Compiling a project to macOS Big Sur beta 9 fails : Compiler, RSB-4415 libiconv.dylib not found Compiler\Delphi Catastrophic Failure Compiler, RSP-29672 Compiler\Delphi, Data, RTL\Delphi TAmazonStorageService should be able to change Data, Data\Cloud RSP-30004 Content-Type header in AWS TDSRESTConnection won't allow me change the Data, Data\DataSnap RSP-30956 username and password after the first connect on iOS

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA application.

TDBLookupComboBox erratic behavior Data, Data\DBCtrls RSP-31478

FireDac Lookup Field Fails Due to Case Sensitive Data, Data\DBRtl RSP-31256 Comparision Error on ConnectionName selection in Data, Data\DBX RSP-29199 TSQLConnection Too small buffer in TIBStatement.GetSQLInfoStr Data, Data\FireDAC RSP-31510 (FireDAC.Phys.IBWrapper) FDMemtable Filter Error with Chinese Field Name Data, Data\FireDAC RSP-31451

Error when adding a field to TDataGeneratorAdapter Data, RSP-31580 while the LiveBinding Designer is open Data\LiveBindings Macros dont work in debugger settings Debugger RSP-23470

[REGRESSION] Need to click two times on buttons of FireMonkey RSB-4454 TDialogService.MessageDialog Access violation at ... in module 'coreide270.bpl'. Read FireMonkey RSB-4448 of address 0000000C (Listview in Dynamic Mode) Confusing ifdef elseif android64 FireMonkey RSP-31617

TListView with LiveBinding crash with Android11 FireMonkey RSP-31548

Android: APP with currencyfield allow wrong FireMonkey RSP-31530 decimalsperator and crash errro msgs FireMonkey RSP-31365

Device refresh button in toolbar broken. FireMonkey RSP-30800

Incorrect TChart drawing on macOS Big Sur FireMonkey RSP-30202 iOS-App crashes when Virtual Keyboard is on and FireMonkey RSP-30002 when switching to another app which hides the keyboard Raise Exception causes application shut down under FireMonkey RSP-30000 MacOS BigSur Beta2 TMemo with Word Wrap displays Caret at start of FireMonkey RSP-29905 memo in Android and iOS Typing after selecting a string then selected string will FireMonkey RSB-3596 not be removed.(in OSX TEdit or TMemo) Modal Forms are not modal on macOS FireMonkey RSB-2866

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA FMX [ANDROID] FireMonkey RSP-23962 FMXDefaultDialogFragment.onCreate App Crash Motion sensor does not work on Android 7 FireMonkey RSP-18644

[Windows] FMX TEdit Component Error!!! FireMonkey RSP-18276

Access violation with a Styles TDateTimeEdit FireMonkey RSP-18153

TEdit with ControlType = Platform bringtofront method FireMonkey RSP-13190 does not work FireUIAppPreview infos options must be upgrading for FireMonkey, IDE RSP-30504 macOS Delphi IDE Project Settings issue IDE RSP-31632

C++ Class Explorer is not supported for the current IDE RSP-31614 Target Platform LSP does not work on default Windows VCL IDE RSB-4446 application LSP shows incorrect declaration IDE RSB-4434

Ctrl+Click can not find the first unit in a uses list IDE RSP-31529

Palette is not positioning to saved desktop location IDE RSP-31316 after debugging [floating form designer] 10.4 Sydney IDE fail IDE RSP-31279

Dragging toolbars make icons disapear IDE RSP-30905 regression : Ctrl + Mouse Click doesn't work in many IDE RSP-30833 cases. DelphiLSP / ErrorInsight at 100% of one CPU Forever IDE RSP-30714 (Larger Project) Can't find FireUI Preview app for Android on Google IDE RSP-30380 Play Store Test case: Unable to rename 'xxx.$$$' to 'xxx.pas IDE RSB-4267

Design Editor for FMX Forms opens very slowly IDE RSP-30235

VersionInsight Git Commit screen unusable with Dark IDE RSP-29512 Theme run IDE c++ 10.4 crash after migrate settings IDE RSP-29126

In Denali sdk manipulation error IDE RSB-3955

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA "Find Declaration" won't work if inline vars are used IDE RSP-28892

C++BUILDER - IDE toolbar locking feature NEEDED. IDE RSP-28089

Migration Tool Does Not Import Closed Project IDE RSP-27078

Very difficult to see text, when dark theme IDE RSP-26976

Various styling issues in sdk manager settings screen IDE RSB-2903 why scroll bars on the connection profile manager IDE RSB-2732 setup ? strange layout height and scroll bar on the SDK IDE RSB-2731 Manager option box Tools/Options/[..]/"Connection profile manager" layout IDE RSB-2630 is too big IOTAComponent.SetPropByName always sets an IDE RSP-20895 integer to zero [Migration Tool] "Environment Variables" not migrated IDE RSP-17951

[Migration Tool] Settings for DifferenceViewer and IDE RSB-1605 MergeViewer failed [Migration Tools] Settings migration tool should IDE RSP-11389 preselect version if only one available Bad code detection is not working properly IDE, IDE\Code Insight RSP-31388

Code Completion not working IDE, IDE\Code Insight RSP-30896

Delphi LSP / Testproject to simulate blocking in large IDE, IDE\Code Insight RSB-4401 projects Crash in TImageCollection when creating duplicate IDE, VCL RSP-31557 category Migration Tool Restore does not automatically scroll to Install RSB-3423 last line & missing settings Migration Tool Fails with Access Denied Install RSB-3343

GetItCmd.exe List command only lists local packages Install, Install\GetIt RSP-31351

Delphi forces wrong binary into APK Linker RSP-27025 the " std::terminate()" method does not have the RTL, RTL\C++ RSP-31586 "[[noreturn]]" attribute AcquireExceptionObject doesn't work for Clang-thrown RTL, RTL\C++ RSP-18031 exceptions

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA MacOS App hangs if RTL, RTL\Delphi RSP-31643 TNetHTTPClient.OnValidateServerCertificate is assigned Regression 10.4.1 breaks post-changing localized RTL, RTL\Delphi RSP-30853 language "TOSVersion" can't detect windows Server 2019 RTL, RTL\Delphi RSP-30257 correctly TThreadPool.TThreadPoolMonitor.IsThrottledDelay RTL, RTL\Delphi RSP-28813 broken for many threads Threads do not start (ITask) RTL, RTL\Delphi RSP-24103

StorageService.SetObjectACL fails when filename on RTL, RTL\Delphi RSB-2294 AWS S3 contains + symbol Implementation of TRegistryIniFile.ReadSubSections RTL, RTL\Delphi RSP-20380 is faulty. RegEx memory consumption - it copy whole data to RTL, RTL\Delphi RSP-19506 resulted match! Handling Client-side Certificates in HTTPS request for RTL, RTL\Delphi, RSP-20194 Android OS RTL\Delphi\Net HiDpi - Win10 - 4k display - 300% scaling - Styles - RTL, RTL\Delphi, VCL RSP-30281 Small check box on main menus and popup menus System.NetEncoding encodes + sign incorrectly in RTL\Delphi\Net RSP-27749 path URL TSOAPDomConv.SetObjectPropFromText problem SOAP RSP-15791 parsing Cardinal TBitBtn ignores TImageList, if custom styles are active VCL RSP-31724

Divide By Zero with 0 width/height column1/row1 VCL RSP-31536

PopUpMenu Style not working when Focus is in VCL RSP-31147 TCombobox FindDialog - CustomStyles - CloseDialog - OnClose is VCL RSP-31121 not called TBitBtn does not keep the new image when Kind is set VCL RSP-30880 to bkClose and ModalResult is in mrNone Property Font in TSpeedButton not working VCL RSP-30755

TListView - CustomStyles (Carbon) - Disabled control VCL RSP-30538 not painted correctly

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Themed TButton with bsSplitButton doesn't respond to VCL RSP-30460 BCM_SETSPLITINFO message Invalid Form.OnResize (dispatched to children VCL RSP-30138 controls) with custom VCL Style used Themed TScrollBar goes wrong VCL RSP-30114

TBitBtn don´t work with TVirtualImagesList and Styles VCL RSP-29606

TCustomImageList draws disabled images in a bad VCL RSP-21274 quality.

This is a partial list of bugs fixed up to November 3rd, 2020.

Summary Component/s ExternalID

WSDL importer - WSDL interpretation problem. Command Line RSP-24646 Tools, IDE, SOAP

TwineCompile don’t work with 10.4.2 alpha Compiler, RSB-4420 Compiler\C++

Unable to catch inherited exceptions in ISAPI 64 bit dlls Compiler, RSP-26396 Compiler\C++

Exception rethrow not working on clang 64bit Compiler, RSP-23469 Compiler\C++

Error when change a property in TControl (e.g.Text of Compiler, RSP-23043 TEdit) in lambda function Compiler\C++ c++ program does not catch exceptions Compiler, RSP-20067 Compiler\C++

Clang - Debug-Stop on Exception throw not working Compiler, RSP-18353 Compiler\C++

Error "Property and method are not Compiler, RSP-29734 compatible" in Object Inspector Compiler\C++, Compiler\C++\CLAN G,

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Compiler\C++\CLAN G\Delphi interop

Unassigned function result and reraising an exception Compiler, RSP-31084 causes AV Compiler\Delphi

DCC generates invalid ASM code - app hangs Compiler, RSP-30923 Compiler\Delphi

[REGRESSION] Wrong codegen for object layout with Compiler, RSP-30890 forward declaration Compiler\Delphi

(Regression) Compiler generates incorrect field addresses Compiler, RSP-30787 for derived classes when alignment is off Compiler\Delphi

Field not listed in CodeCompletion popup Compiler, RSB-4391 Compiler\Delphi

LSP + Generics / "Find Reference" not working as expected Compiler, RSB-4329 Compiler\Delphi

Build a project is very slow without IDE Fix Pack Compiler, RSB-4141 Compiler\Delphi

Building/Compiling becomes progressively slower until Compiler, RSB-2107 restart Compiler\Delphi

TAmazonConnectionInfo.AutoDetectBucketRegion Data, Data\Cloud RSP-31164 unusable in multihtreaded applications

TAzureBlobService.ListBlobs with empty prefix and Data, Data\Cloud RSP-21241 delimiter as "/" not returns root folders

TAzureBlobService.ListBlobs not returning correct data for Data, Data\Cloud RSP-19261 2nd and subsequent blobs

Multiple bugs Data, RSP-30808 Data\DataSnap

Delphi REST Datasnap Project critical issue in 10.4.1 Data, RSP-30782 Data\DataSnap

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA HTTP Requests failing when using authentication Data, RSB-4407 (Scenario: Datasnap server; Android and Windows clients) Data\DataSnap

TDBCheckBox triggers OnClick while scrolling through the Data, Data\DBCtrls RSP-31489 dataset

TDBLookupComboBox erratic behavior Data, Data\DBCtrls RSP-31478

TDBgrid indicator display a black square Data, Data\DBCtrls RSP-31245

DBComboBox no longer works in DBCtrlGrid Data, Data\DBCtrls RSP-13105

Wrong CharacterSet in FireDAC MySQL when connected Data, Data\FireDAC RSP-30872 by shared cli

FireDAC CreateTable exception with ftWideString with Data, Data\FireDAC RSP-30848 Oracle

TFDQuery Master-Detail BROKEN Data, Data\FireDAC RSP-30814

Changing active index on TFDMemTable with active Data, Data\FireDAC RSP-30566 aggregates consumes memory

TFDEventAlerter doesn't work on Informix Data, Data\FireDAC RSP-30452

[FireDAC] TFDDataSet.CanModify is true for readonly Data, Data\FireDAC RSP-30388 datasets

TFDTable and TFDBatchMove not compatible with case- Data, Data\FireDAC RSP-30218 sensitive columns with Interbase 2020

TFDEventAlerter with PostgreSQL. Application crash on Data, Data\FireDAC RSP-29678 TFDEventAlerter unregister.

Firedac raises EConvertError exception when handling Data, Data\FireDAC RSP-28142 MySQL negative TIME value

[ClientDataSet] not able to load data from Stream using Data, Data\Midas RSP-30490 cds.LoadFromStream(TMemoryStream)

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Wrong Aggregate calculation when filter was apply to Data, Data\Midas RSP-30474 nested TClientDataSet

Rest Components and RestDebugger issue in 10.4 NOT in Data, Data\REST RSP-30431 10.3

Adding a "multipart/form-data" parameter to a Data, Data\REST RSP-29228 TRESTRequest overrides the Content-Type of the whole HTTP-Request

Getting Access violation error, while Logout from Data\MEAP RSP-28159 EMSInteralAPI

Getting Access violation error, while queryusers from Data\MEAP RSP-27693 EMSInteralAPI

AV in Local Variables window Debugger RSB-3020

Macros dont work in debugger settings Debugger RSP-23470

[debugger|bcc32c] can't evaluate size of vector with clang32 Debugger RSP-14753 compiler - gets undefined symbol

Delphi 10.4.1-FMX Combo-box and Combo-edit useless FireMonkey RSP-31383 becouse of latency in drop-down

FMX TButton style stay clicked when it displays an other FireMonkey RSB-4426 form/dialog box on Windows

Native iOS TComboBox with 28+ items will crash FireMonkey RSP-31235

Change to TControl.SetNewScene causes virtual call to FireMonkey RSP-31202 destroyed object

[macOS][Metal]TMemo and wordwrap FireMonkey RSP-31134

TGrid shows current time instead of the value FireMonkey RSP-31119

TListview crash on swipe to delete (iOS) FireMonkey RSP-31111

CloseQuery causes exception in Firemonkey on styled form FireMonkey RSP-31074

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA TBufferedLayout has small graphical issues FireMonkey RSP-31069

TListView - Missing OnChange when switching entries with FireMonkey RSP-30866 mouse click

Adding text to TMemo with sLinebreak-signs crashed the FireMonkey RSP-30846 Memo

Behaviour different to 10.3.3 and wrong for Inserting text in FireMonkey RSP-30845 TMemo

Empty app crashing on Android 10 FireMonkey RSP-30546

[iOS] TiOSGeocoder.GeocodeForwardHandler can cause a FireMonkey RSP-30483 crash

Duplicate resource FireMonkey RSP-30637

PAServer errors FireMonkey RSB-4353 iOS: Virtual Keyboard not switching mode when changing FireMonkey RSP-30045 focus between text input controls

Circumflex ^ character in edit controls not visible FireMonkey RSP-30030

TabOrder property of TPanel not saved when part of FireMonkey RSP-29989 TFrame

LocationSensor is not useable FireMonkey RSP-29859

Trackbar does not work on Androis if platform FireMonkey RSP-29842

If TButton.Default=True, click is still executed even if it FireMonkey RSP-29788 TButton.Enabled=False

Keyboard not showing on iOS FireMonkey RSP-29573

Pressing Enter key in TComboEdit causes text to change FireMonkey RSP-29429 unexpectedly

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA No changing center point in Brush Gradient (at least in D2D FireMonkey RSP-29242 version), its fixed.

[FMX] TListBox FireMonkey RSB-4022

TListBox selection bug FireMonkey RSP-28235

TSpeedButton does not respond after interrupting the input FireMonkey RSP-28094 of Japanese IME on iOS

Align fit for a layout placed in a TGridPanelLayout FireMonkey RSP-28593 missbehaves

TComboBox item selection by typing doesn't work FireMonkey RSP-27970

If you move the cursor during an IME combination, the FireMonkey RSB-3601 character moves to the cursor position(in OSX TEdit or TMemo)

Pasting into a TEdit does not behave properly when FireMonkey RSP-27894 maxlength is set

MultiView Drawer mode doesn't work in push mode when FireMonkey RSP-27785 changing orientation

InputQuery window should be made wider to accomodate FireMonkey RSP-27778 the caption

TForm.activecontrol does not work? FireMonkey RSP-27486

Light.style always shows a TCheckBox as checked when FireMonkey RSP-27351 style activated

Cannot set tab order of fields on an FMX form where fields FireMonkey RSP-27086 are in a TLayout

FMX Form No FormMouseMove Events FireMonkey RSP-27065

Screen.displayCount=0 for Fire HD 10 (9.Gen) FireMonkey RSP-26563

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA OpenDialog causes Invalid Argument when used on modal FireMonkey RSP-26517 dialog macOS

Windows can be trapped behind other windows when using FireMonkey RSP-26434 showmodal

Sensors do not work in android FireMonkey RSP-24713

TWebBrowser on Android fails for local file with anchor FireMonkey RSP-24547

FMX. Tstringgrid customeditor access violation on change FireMonkey RSP-24257 value

Transfer of Cookies to TWebBrowser FireMonkey RSP-22920

FMX TPopup actions not updated FireMonkey RSP-21495

CheckColumn at most right sets to default width FireMonkey RSP-20878

IOS: Premium Style TSpeedButton With StyleLookup FireMonkey RSP-20034 segmentedbuttonright Out Of Alignment

(TTextLayout::ConvertToPath -> TPath::MakeScreenShot) FireMonkey RSP-19288 Text drawing is distorted

ComboBox doesn't scroll to make the selected item visible. FireMonkey RSP-18749

Atom leak in FMX.Platform.Win FireMonkey RSP-16557

TCustomMultiResBitmap.ItemByScale is little slow FireMonkey RSP-15542

FMX library/WIC is unable to open readonly or already FireMonkey RSP-14171 opened images

[FMX] TListViewItem.Index is not updated after inserting FireMonkey, RSP-15387 new items FireMonkey\Compo nents

[Android] OnKeyUp and OnCloseQuery handlers are called FireMonkey, RSP-11815 twice for Back button if Key parameter is not set to 0 in FireMonkey\Runtime OnKeyUp

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA TGridPanelLayout rendering problem FireMonkey, RSP-17976 FireMonkey\Styles

Search of a long named functions are not being found in FireMonkey, IDE RSB-4422 C++ codes

Trying to add a OnClick handler to a TSpeedbutton crashed FireMonkey, IDE RSB-3710

TGridPanelLayout added control jump to free cell when FireMonkey, IDE RSP-27277 clicked.

IFuture in loop issue FireMonkey, RTL RSP-19425

Text doubled in German help text for Help and Doc RSP-31415 Vcl.ExtCtrls.TTrayIcon.IconIndex

[RADStudio/Sydney/fr] Feedback about "Editeur de filtre" Help and Doc RSP-31368

XML documentation comments invalid link Help and Doc RSP-31182

[Libraries/Sydney/fr] Feedback about Help and Doc RSP-31080 "FMX.DialogService.TDialogService.TPreferredMode"

Empty TDockableForm after running with debugger IDE RSB-4424

Multiple lines selected in editor + mouse wheel scroll = slow IDE RSP-31239

Find in files does not work properly IDE RSP-31231

IDE Insight shows irrelevant Object Inspector items within IDE RSB-4421 Project Options components move by clicking on it at design time IDE RSP-31185

Pressing enter add a useless end; IDE RSP-31136

Delphi LSP + Find Declaration on "Vcl.Imaging.pngimage" IDE RSP-31127 does not work

Text/Pixel fragments in dialogs using "grids" [Object IDE RSP-31037 Inspector controls]

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA New LSP CodeInsight (Ctrl+Space) not displaying any IDE RSP-30951 results

Parameters hint not appear IDE RSP-30924

Options dialog painting artifacts IDE RSP-30884

Deployment Confirmation Dialog Infers Files will be Deleted IDE RSP-30858

IDE crash during startup Socket error 10065 IDE RSP-30849

Project search paths that use BDSPROJECTDIR IDE RSP-30832 environment variable show as path not found

Welcome dialog: Warnings for Git remains visible even after IDE RSP-30827 Git has been defined.

Project Options-Appearance-Default Style Always Resets to IDE RSP-30824 Windows

Startup error at any project, when additional editor (View IDE RSP-30790 menu -> New Edit Window) is opened and saved as Desktop Layout

Selected styles not listed in dropdown IDE RSP-30779

Secondary edit window create AV when loading desktop IDE RSP-30778 layout

IDE debug and object inspector IDE RSP-30772

"paclient" exited with code 1. IDE RSB-4409

IDE caption bar desktop menu not drawn correctly IDE RSP-30539

VCL Style resets to Windows when editing project options IDE RSB-4392

Bookmarks related crash after closing DUnit test runner IDE RSP-30648

Palette caption drawing issues when vertical flow layout IDE RSP-30617 setting is unchecked

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Not readable text in Search for unit window IDE RSB-4325

[Regression] Changing focus from tree to list in options IDE RSB-4324 panel

[DelphiLSP] Regression - Unit completion in uses clause IDE RSB-4321 does not work in projects

German: Text on button truncated IDE RSB-4281

Welcome popup checkbox text truncated IDE RSB-4278

Help insight displayed for the wrong overload of a method IDE RSP-30598

Cannot import OSX64 SDK IDE RSP-30265

Design Editor for FMX Forms opens very slowly IDE RSP-30235

"_TCHAR maps to" option shouldn't be empty ( it should IDE RSB-4254 have default Unicode etc...)

[DelphiLSP] Code Completion auto selection does not IDE RSP-30195 respect "scope" priority in drop-down

LSP unit completion does not limit suggested units IDE RSP-30632

GetIt personality/product icons are out of date (CX & DX) IDE RSP-30133

Ctrl + espace : message error coreide270.bpl IDE RSP-30035

[LSP] LSP server not responding. Sending restart. IDE RSP-29911

Delphi 10.4 keeps crashing in debug mode when opening IDE RSP-29869 files in IDE

Win64 debugger shows ??? IDE RSP-29637

Right click context menu very slow to appear in code editor IDE RSP-29631 window when connected via a remote desktop

Code completion insert's a wrong "end" IDE RSP-29264

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA the class key word before procedure lead to code IDE RSP-29243 completion Cannot display

[DelphiLSP] Code insight still has problems in Delphi 10.4 IDE RSP-29225 crash when close IDE 10.4 IDE RSP-29141

[10.4 L10N ALL] When setting an editor theme, the color IDE RSP-29070 scheme is lost

Go to declaration on RTL units only works when they are IDE RSP-28879 fully qualified

Maximize IDE on a (bigger) second screen does not fill the IDE RSP-28937 whole screen and swaps the position of the ID when running F9

CodeInsight in Uses Clause doesn't find .pas files on IDE RSP-28417 Search path, only .dcu

LSP shows incomplete list of available methods ('class IDE RSP-28346 procedure')

LSP ErrorInsight is not aware of unit alias IDE RSP-28384

Reopen Menu - Number of projectd - Number of files IDE RSP-28581

Welcome dialog shows "Hg executable not found" even IDE RSP-28438 after one was selected

[DelphiLSP] Ctrl+click to navigate to ancestor method does IDE RSP-28584 not work

C++BUILDER - IDE toolbar locking feature NEEDED. IDE RSP-28089

Values of project-options are out of sight IDE RSB-3671

Directories Dialog: Listbox uses wrong text color for IDE RSP-28064 selected item

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA "disconnected session" exception when trying to debug IDE RSP-27982 code

Wrong appearance of the option dialog IDE RSB-3502

Context menu of Delphi is too small IDE RSP-27669

Deployment window target combo box loses the Build IDE RSP-27327 Configuration

Stepping through debugger activates file modified icon IDE RSB-3402

Screens with different resolution and scaling break context IDE RSB-3268 menu positioning noexcept keyword doesn't highlight in the IDE's editor IDE RSP-26156

Access Violation on the Project TreeView IDE RSB-3226

GetIt text truncated IDE RSP-24592

[REGRESSION] Editor tab does not indicate units opened IDE RSP-24484 while debugging

German texts truncated IDE RSP-21804

Component Structure incredibly slow IDE RSP-21611

German: Welcome dialog has truncated link IDE RSB-2812

Tools/Options layout issues IDE RSB-2623

INTAIDEThemingServicesNotifier is not called when the IDE RSB-2515 editor theming is changed via the title bar menu

C++Builder package description can no longer be modified IDE RSB-2432

Project->Info: Wrong background color IDE RSB-2159

QuickEdit outside the screen IDE RSB-2046

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Trunkated German text on SVN config page IDE RSB-1950 manage paths; add button "delete duplicate paths" IDE RSP-17192

[Help Insight] Resource string value is missing IDE RSP-15805

IDE Menus don't work on left monitor [high DPI, scaling?] IDE RSP-14517

Add ability to specify xxxhdpi launcher icon for Android IDE RSP-14625 platform

IDE Monitor position keeps changing IDE RSP-12283

Android compile taking really long time. IDE, IDE\Build RSP-26151 System

Code completion failure after Repeat ... until ; block IDE, IDE\Code RSP-31155 Insight

Fail to load package with LIBSUFFIX AUTO (When there's IDE, IDE\Code RSP-30820 no .dproj file) Insight

Code location failed and Code hint missing [DelphiLSP, IDE, IDE\Code RSP-30039 class method] Insight

[DelphiLSP] CodeCompletion does not list all overloads IDE, IDE\Code RSP-29979 Insight

Error Insight closes way to fast IDE, IDE\Code RSP-29671 Insight

[LSP] Ctrl + Click on units in uses section only works for IDE, IDE\Code RSP-28494 fully qualified unit names Insight

[DelphiLSP / PasMgr] Inline variables break code navigation IDE, IDE\Code RSP-24096 Insight

C++ Android application with receive push notification IDE, IDE\General RSP-26468 enabled crashes at start

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA The GetIt server cannot be reached when installed with the IDE, Install RSP-29072 offline installer automatic upload PAServer on Linux fails from 19.0 to 20.0 IDE, Install RSP-26090

[DE] String truncation IDE, Translation RSP-14870

Missing German translations in platform manager Install, Translation RSB-1947

Updateing to iOS to 14.0 Linker RSP-31049

Object files and PATHS don't exist for some 3rd party GetIt Linker RSP-30135 packages

The TVirtualImageList component is missing Linker RSP-29532 vcl.virtualimagelist.obj file ilink64 error "unresolved external" when using boost::thread Linker RSP-26036

Linker error after Using iOS 14 PAServer RSP-31014

CLONE - Lockup on IFuture.Value RTL RSP-26603

Exception in 64 bit fails to break on exception RTL, RTL\C++ RSP-29910

The _dup2 function does not exist in io.h RTL, RTL\C++ RSP-28015

SEH exception handling fails under release RTL, RTL\C++ RSP-21051

Catching C++ Exception Fails if Linking w/ Dynamic RTL (or RTL, RTL\C++, RSP-27255 'aborts' if thrown from Package) RTL\C++\Exception Handling

[C++][CLANG][EH] std::current_exception() always returns RTL, RTL\C++, RSP-11426 null. Causes exception propagation to lose type data. RTL\C++\Exception Handling

TDate in TJSON/Marshalling needs to be checked in RTL, RTL\Delphi RSP-31425 addition to TDateTime

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA System.JSON.Serializers.TJsonInlineAttributes is not thread RTL, RTL\Delphi RSP-31395 safe tReader, ReadString and german Umlaute RTL, RTL\Delphi RSP-31215

TXMLDocument (OmniXML vendor) removes space in RTL, RTL\Delphi RSP-31060 between "version" and "standalone"

TEncoding leaks at OmniXML RTL, RTL\Delphi RSP-30766

Web.HTTPApp ExtractHeaderFields doesnt use RTL, RTL\Delphi RSP-28104 DefaultCharSetEncoding and fails with ANSI URL's

Delphi vcl warnings and hints, how to remove them. RTL, RTL\Delphi RSP-27453

WebApp.TCookie doesnt support the Cookie attribute RTL, RTL\Delphi RSP-27386 "SameSite"

TXMLDocument does not suppot UTF-16 on iOS RTL, RTL\Delphi RSP-23607

TThreadPool.TQueueWorkerThread RTL, RTL\Delphi RSP-20539 FreeOnTerminate:=True missing

TThreadPool.SetMinWorkerThreads RTL, RTL\Delphi RSP-20533

UseResultPointer is incorrect for managed records and RTL, RTL\Delphi RSP-17009 arrays

Memory leak when utilize TTask in dynamic package library RTL, RTL\Delphi RSP-15316

TTask Stuck and take a very very long time to start RTL, RTL\Delphi RSP-15233

TBluetoothLEManager.DoDiscoveryEnd uses wrong RTL, RTL\Delphi, RSP-31131 variable RTL\Delphi\Bluetoot h

Possibility to add at generics List duplicated key RTL, RTL\Delphi, RSP-31396 RTL\Delphi\List/Coll ections

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA in Linux RTL, RTL\Delphi, RSP-21333 RTL\Delphi\Net

ThreadPool create (magic 30 + MinWorkerThreads) parallel RTL, RTL\Delphi, RSP-24035 tasks only RTL\Delphi\Threads

Slow Multi-Thread Code Generation RTL, RTL\Delphi, RSP-23466 RTL\Delphi\Threads

Delphi Berlin PPL TFuture hangs on WAIT in second RTL, RTL\Delphi, RSP-16913 instance RTL\Delphi\Threads

GlobalRef leak in RTL, RSP-31324 TAndroidBluetoothGattCharacteristic.DoSetValue RTL\Delphi\Bluetoot h

TFormatSettings.Invariant causes segmentation fault when RTL\Delphi\Net RSP-30964 used with FormateDateTime

REST component not work in Android app RTL\Delphi\Net RSP-30944

HttpValidateServerCertificate give different data under RTL\Delphi\Net RSP-27220 iOS/Android/Windows

SOAP WSDL Request wrong SOAP RSP-21416

Redundant condition in Soap.SOAPHTTPClient.pas SOAP RSP-20812

Float values can not transmitted via soap in variant SOAP RSP-18307 properties variant array with length = 1 stored in can not SOAP RSP-18313 transmitted by soap

Incorrectly imported WSDL definition of the SOAP web SOAP RSP-16728 service (This is not an importer issue: it's the SOAP runtime)

TSOAPDomConv.ObjInstanceToSOAP not processing SOAP RSP-15222 'Variant' attribute properties

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA WSDL generation created 2 classes for all objects SOAP AP-153

TJpegImage not detecting FF D8 FF DB / ÿØÿÛ format in VCL RSP-31280 CanLoadFromStream

TControlItem.AssignTo is not complete and forgets about VCL RSP-31270 Col/Row span values

TBitmap.LoadFromStream raises wrong exception message VCL RSP-31054

TCardPanel - deleting the end TCard moves activeCard to VCL RSP-31038 the first instead of last card

TListView produces exception EListError with message 'List VCL RSP-30781 index out of bounds (0)'

Darkmode Windows VCL RSP-30307

Range error in TCustomStyle.PaintBorder in Win64 platform VCL RSP-30272

TFormStyleHook.WMSize crash when MainForm isn't VCL RSP-29913 assigned

DPI Scaling of TActionMenuBar VCL RSP-29912 missing files (Vcl.DBLookup.hpp for WIN64) VCL RSP-29907

Remove library hints and warnings from the library supplied VCL RSP-27457 with Delphi.

Canvas.TextRect VCL RSP-26238

Winapi.GDIPOBJ doesn't clean up resources when used VCL RSP-20946 inside a library

Bug in TActionClientLink.IsImageIndexLinked VCL RSP-20205

Vcl. - small bug in tDirect2DBrush.Assign? VCL, VCL\Core RSP-24441

TStatusBar Text not centered vertically when using VCL VCL, RSP-30449 Styles VCL\Styles/Themes

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA Argument out of range' exception on a styled VCL VCL, RSP-30412 application with a THeaderControl control. VCL\Styles/Themes

Copyright © 2020 Embarcadero Technologies, Inc. | Embarcadero Confidential/NDA