D29.ATHENS.12.3.0.0 - ideasawakened/DelphiKB GitHub Wiki

Delphi 12.3

Update 3 for Embarcadero RAD Studio 12 Athens was released 2025-03-xx

Related: Delphi Master Release List, D29.ATHENS.12.0.0.0, D29.ATHENS.12.1.0.0, D29.ATHENS.12.2.0.0 image

image

This is a major update to 12.0 and is binary compatible with the 12.0 Athens release. RAD Studio 12.3 Athens release includes over 400 quality and performance enhancements, including fixes for publicly reported bugs.

  • Customer reports fixed: 350
    • 223 RSS tickets (new portal, qp.embarcadero.com)
    • 127 RSP tickets (old portal, quality.embarcadero.com)
    • Plus 19 public feature requests
  • Total public tickets addressed (any resolution)
    • 501 bug reports
    • 39 feature requests

Major Features

  • Enhancements to the New C++ Builder compiler for Win64
  • Android Target API Level 35
    • RAD Studio version 12.3 is updating to level 35 in the target API level for Delphi for Android, a requirement for Google Play Store apps by August 2025. While the primary goal is to target the new API level, the changes encompass multiple technologies and include a new NDK target, support 16 KB page sizes, new provisioning options and permissions.
    • Android SDK Manager released (Available in GetIt)
  • Smart CodeInsight Improvements
    • RAD Studio 12.3 further improves Smart CodeInsight, adding a few notable extensions to the UI, focused on an enhanced chat experience, more integrated with the AI-related editor commands.
  • 64-bit IDE Initial Release
    • Available in all editions
    • Quote: RAD Studio 12.3 introduces the Initial Release of a 64-bit IDE. While this Initial Release is limited in terms of available features, offering support only for the 64-bit Windows target platforms, it’s a very important milestone for the product. A 64-bit IDE offers almost unlimited memory space for the IDE itself, including for example the components installed and the designers open in the editor, and for the integrated compiler when building very large projects. In addition, a 64-bit IDE allows design time access to databases offering only a 64-bit client driver. Finally, we are building for the 64-bit IDE a new native Delphi debugger experience based on LLDB, which, over time, will offer much better features than the current remote debugging of 64-bit applications from the 32-bit IDE.
    • When opening a package in the 64-bit IDE, the Win64 platform is added automatically. No other code changes required, if you have 64-bit-safe code
    • The 64-bit IDE now uses a new LLDB-based debugger for Delphi Win64.
    • Most settings are shared between the 32-bit and 64-bit versions of the IDE. This allows project lists to be identical, a theme to be set, or any other general option to be the same regardless of the running version. A new App x64 entry in HKCU\Software\Embarcadero\BDS\23.0, stores the 64-bit bds.exe location. To test if the 64-bit IDE is installed use this key and check the existence of the file it points to. Some settings need to be stored separately. In the registry, these are stored with an x64 suffix.
    • The current list of settings that are 32/64 specific are:
      • Known IDE Packages
      • Known Packages
      • Experts
      • Version Insight
      • Disabled Packages
      • Disabled IDE Packages
      • Debugger settings for Delphi Win64. These are the settings when using the Run > Attach to process window or Run > Parameters, they are stored separately on the 64-bit IDE because it uses a different debugger for Delphi Win64.
    • To use the 64-bit IDE with a separate set of settings, use the -r flag by running the following code: bin64\bds.exe -rMy64BitKey
    • The $(BDSBIN) environment variable is set to the bin64 folder when running the 64-bit IDE.
    • The packages and components load from \bin64.
    • The IDE and the splash screen have a notice in the title bar caption when it is running in 64-bit mode.
    • High Entropy ASLR is enabled for the code editor DLL, all IDE packages, and the IDE itself.
  • Quality for FireDAC and Database
    • 12.3 release adds improvement to the filtering of SQL query from the TFDTable component and support for migrating from IBX to FireDAC with the Refind utility. It also adds specific support for 64-bit drivers access in the 64-bit IDE
    • Official support for Microsoft SQL Server 2022
    • Support for MSSQL sequences
    • Adds support to connect to MySQL 8.4
  • WebStencils Improvements
    • WebStencils has been extended with access to nested objects and sub-tables in nested datasets, with a more flexible processing of the “@” symbol when unrelated to a WebStencils directive, and improvements in handling UTF8 characters.
  • Quality for BLE and Bluetooth
    • The 12.3 release improves the quality of our Bluetooth and BLE support across all RAD Studio target platforms. The changes include also a new event, called when the BLE transmission configuration changes
  • Delphi LSP Improvements
    • Further expanded in terms of quality and stability, improving the handling by the compiler when parsing code for LSP
    • 64-bit version is now available in all paid editions, including the Professional edition.
  • Delphi RTL, VCL, and FireMonkey Quality
    • New VCL Style to FireMonkey Style Converter (available as bin\vsf2fm.exe).
    • Addressed some long standing issues on WSDL Importer and SOAP
  • RAD Server Improvements
    • New concept of instance-wide custom variables
    • [EndpointHide] attribute

Items to be aware of

  • Binary incompatiblities introduced in earlier updates to 12.3 seem to be still causing headaches
  • The latest build of FMX Linux is still not available in GetIt.
    • The workaround is to pull the older version via command line: getitcmd -i=fmxlinux-12-1.78
  • From Patrick Prémartin (MVP) blog post:
    • This version is an UPDATE. It will replace version 12, 12.1, or 12.2 if you had one installed. The installation process includes uninstalling the version it replaces.
    • Note that there have been exceptional changes in the DCU versions on 12 or 12.1 (corrected by a patch). If you are upgrading from 12.2 or 12.2.1 you can keep the pre-installed third-party components. If you are upgrading from another version I recommend uninstalling everything (including the registry)
  • From another MVP "Android and iOS seem to ignore the LIB Suffix in the Filename. In both cases the Project Manager node shows the correct name, including the LIB Suffix, but the actual output file does not, Android and iOS seem to put the package binary in the DCP folder rather than the Package Output folder" (No Quality Portal ticket reference yet)
  • ReportBuilder build on Win64 encounters an error due to a missing unit. See support thread
    • Compilation works against RBuilder\Lib\Win64 but with RBuilder\Source the compiler raises the error. The issue is that unit ppPDFActionManager.pas is missing from the RB 23.0 installation. RB developers with an active license can email support@ and request the missing unit.
  • TMS Users should use the TMS Smart Setup to install BIZ products, see support center thread
    • Note the Smartsetup is completely different than old installers and they cannot 'see each other' according to support thread
  • Frustrations continue with LSP and code navigation with comments being added to tickets:

Links

Images

image

image

  • Smart CodeInsight enhanced

image

  • Android API Level 35

image

  • 64-bit IDE scope

image

  • 1920x1080 background

RAD Studio 12v3 background 1920x1080