10.3 Rio - Release 1

From RAD Studio
Jump to: navigation, search

Updated RAD Studio 10.3 Rio release available (February 14th, 2019).

RAD Studio 10.3 Rio, build 4899, is available for installation. It is an update for Delphi 10.3 Rio, C++Builder 10.3 Rio, and RAD Studio 10.3 Rio available to any active Update Subscription customer.

If you have already installed 10.3 Rio released in November 2018, installing build 4899 requires a full uninstall and reinstall to preserve your settings. You can also preserve settings with the Settings Migration Tool.

10.3 Rio - Release 1 includes the following new features, enhancements, and bug fixes:

New features in 10.3.1

  • Expanded support for iOS 12 and iPhone X series devices.
  • RAD Server Console UI redesign and migration to the Ext JS framework (available via GetIt).
  • Improved FireDAC support for Firebird 3.0.4 and Firebird embedded.
  • HTTP and SOAP Client Library Enhancements on Windows.
  • Two new IDE productivity tools: Bookmarks and Navigator (available via GetIt).
    • Bookmarks extends the IDE’s previous marking of locations in the code editor. A single shortcut creates a new bookmark, and bookmarks in the current and all files are shown in a docked window, with syntax highlighting and contextual information about the bookmark, such as which method it’s in. It also supports caret bookmarks, a stack of locations you can jump backwards by pressing Escape.
    • Navigator allows you to quickly jump to any location in your unit through intelligent search for Delphi. Press Ctrl+G and start typing, and go to the uses clause, any method, a property, a property’s backing fields or methods, and any other code element. It also adds a minimap for both Delphi and C++, a side panel like a scrollbar showing a miniature version of your code.
  • 15 new custom VCL Windows and Multi-Device FireMonkey styles (Available via GetIt).
    • 10 new VCL Windows styles that users can apply to their Windows applications. This includes a number of Win 10 specific themes and VCL styles that match the new FMX styles.
    • Also included is a set of 5 different FireMonkey multi-device styles with theming support for Windows, macOS, Android, and iOS.
    • Many of the styles come in different color variants.
    • Bitmap Style Designer templates are also included.

Enhancements included in 10.3.1

Android

  • Android SDK and NDK integration has been improved. Some of the settings for the Android manifest have been updated to better support different versions of Android.
  • Fixes to TMapView alignment and TWebBrowser drawing on Android.
  • Selecting the Android SDK/NDK at installation time in C++Builder will now automatically patch the SDK’s string.h to address a compile error.
  • Improvements to intents on Android.
  • RAD Studio applications can now link to FireBase SDKs.
  • Resolved IBLite compilation and deployment issues.
  • Worked on platform and styled edit box quality.

iOS

  • Native resolution support for iPad Pro.
  • Improvements to notification support.
  • Enhancements with keyboard handling for TEdit.
  • Edit controls now work as expected after showing and hiding other forms.

IDE

  • Some Application options pages were missing for C++Builder.
  • Resolved a crash in the GetIt Package Manager when using a non-styled IDE.
  • Addressed an IDE crash when parsing concatenated strings spanning many lines in Delphi source files. Currently, the IDE will handle up to about 250 lines; there is a registry key to increase the size if your code uses more lines (see below).
  • Re-enabled all DbExpress drivers in the Database Explorer pane.
  • A number of fixes for the behavior of IDE toolbars and layout, especially when changing the desktop layout or minimizing and maximizing the IDE.
  • The Options dialog no longer allows disabling IDE styling, because this is a non-supported configuration. The registry keys can still be used.

C++17 Clang Win32 compiler

  • Multiple issues are resolved in the RTL and compiler, including known causes for an error message “cannot compile this 'this' captured by SEH yet” in a __finally block, and other key issues.

Runtime Libraries (RTL, VCL, FireMonkey)

  • TStringList.IndexOfName now correctly supports Sorted = True.
  • Resolved issue with adding image to photo album action.
  • Several JSON-related fixes and improvements.

HTTP and SOAP

  • The HTTP client library now offers support for compression decoding, and this feature is now also available to SOAP clients on Windows. There are also several improvements related with SOAP support on Windows, a library that was significantly updated in 10.3, including client certificate support (see below for more information).

RAD Server

  • RAD Server includes expanded push notification support to target more devices.
  • Added support for showing data for Total Calls User Analytics.


This release also includes fixes for over 150 publicly reported bugs.

10.3 Rio - Release 1 also includes the following 10.3 Rio patches and hotfixes:

For a complete list of features and bug fixes, click here.

Note: You need to be an active Update Subscription customer to download and install 10.3 Rio - Release 1.

Installation

RAD Studio 10.3 Rio, build 4899, is available as an installer (Feature Installer) and as an ISO (Offline Installer) from the registered users web page.

The installers are available for download on the following registered users download pages:

To preserve your existing installation settings, it is recommended to install 10.3 Rio, build 4899, using the same installer (Offline Installer or Feature Installer) you used when installing 10.3 Rio. To determine which installer you used, verify if the IDE shows the Manage Platforms option under the Tools menu. If the menu item is available it means you used the Feature Installer.

Additional Information

Handling concatenated strings spanning many lines in Delphi source

The Delphi code parser uses more stack memory in 10.3 Rio than prior releases. This results in issues handling very large concatenated strings. In 10.3.1, the parser can handle up to about 250 lines per string before running out of stack space. The cause is the number of lines, not the size of the string.

If your code uses strings split over multiple lines, you can increase the parser thread’s stack size by editing the following value in the registry and restarting the IDE:

Key Name:          HKEY_CURRENT_USER\Software\Embarcadero\BDS\20.0\Globals
    Name:          ReservedStackSize
    Type:          REG_DWORD

The default value is $600000, a size specified in bytes, approximately 6MB.

HTTP Decompression

To support HTTP client library decompression, there are now new types in System.Net.HttpClient:

THTTPCompressionMethod = (Deflate, GZip, Brotli, Any);
THTTPCompressionMethods = set of THTTPCompressionMethod;

The THTTPСompressionMethod specifies a compression method, in which Any indicates any supported compression method).

This feature is exposed in new runtime properties of a few related classes:

THTTPClient.AutomaticDecompression: THTTPCompressionMethods
TNewHTTPClient.AutomaticDecompression: THTTPCompressionMethods
THTTPReqResp.AutomaticDecompression: THTTPCompressionMethods

Property controls automatic decompression of response body. It is platform dependent and currently supported on Windows and Linux. When set, the corresponding "Accept-Encoding" header will be included into request, and response body will be automatically decoded. On iOS, macOS, and Android platforms decoding is performed automatically.

SOAP Certificates

10.3.1 includes improvements in client certificates management, particularly focused on SOAP clients (migrated in 10.3 to the HTTP client library).

In 10.3 we have moved to the native Windows implementation – via HTTP client library - and there are some differences. The THTTPReqResp implementation was replaced with THTTPClient, which offers TCertificate with a slightly different interface.

Now in 10.3.1 there are several implementation changes in the System.Net.HttpClient.Win.pas unit. There is also a new property editor in the IDE for the THTTPReqResp class ClientCertificate property.

Android TargetVersion in Manifest file

When running apps built with 10.3 Rio on Android 9, you’d often see an error due to the call of a restricted API. This is being addressed by modifying the TargetVersion parameter in the AndroidManifest XML file: Using TargetVersion = 28, the warning remains only in the log, but it is not displayed to end users.

The setting is now correct for new applications you create in 10.3.1, but if you have an existing 10.3 project you’ll have to update it manually, setting TargetVersion = 28 to properly run on Android 9.

See Also