Delphi 10.3 Rio

Delphi 10.3 Rio has been released today!

The most awaited new feature is of course support for Android 8 and 9. As you may recall Google made changes to its requirements for new apps in the app store. These requirements are now all met. Please remember to also use the new PermissionsService.RequestPermissions to request permissions for the app at runtime.

If you’re into nitty gritty details, the internal coding for parameters of methods has changed, allowing better compatibility between C++ and Delphi. What it boils down to is that for 64-bit code more parameters (between 5 an up to 8 byte in size) are now passed to functions using CPU registers, where they would previously be passed as pointers to the actual data. This speeds some code up quite a bit. (sorry messed this up) using pointers to the actual data. This only influences your Delphi code if you use Assembler or direct addresses, usual pascal code needs no modification.

There are also some changes in the way that JSON is serialized. If you are using REST webservices with clients you may need to update both to Rio at the same time, to achieve interoperability. This mainly affects JSON serialization that internally uses RTTI. Its more efficient, but may break some existing code.

For the full list of new things take a look at http://docwiki.embarcadero.com/RADStudio/Rio/en/What%27s_New