The next release of Delphi 12 Athens (12.2) has just been released. As usual, I’ll be describing fixes/changes/features that are of significant interest to me, and are hopefully of interest to my readers/followers.

Linker Updated

The linker now supports linking to newer iOS/macOS frameworks (particularly 3rd party), fixing this issue.

This is a significant leap forward in terms of being able to use newer iOS SDKs such as Firebase (which includes Cloud Messaging, Analytics etc) and Facebook, etc.

Support for including .aar files

The IDE and Android build system of RAD Studio has been updated to allow addition of .aar files – the build system automatically includes the resources, and compiles “R” classes which it adds to the project.
Note that this means that if you add an .aar for a library where the corresponding .jar file is one of the “system defaults” used by Delphi, it will mean you will need to disable the system default so that Delphi does not include it when merging the classes into the app, causing a “duplicate class(es)” error.

WebStencils

Web Stencils (Formerly Delphi Razor) is a powerful template engine you can use – even outside of web development!With the initial release of Delphi 12, Delphi gained support for multi-line strings, fast forward to the second point release in the 12.x Athens series and we now have a template engine out of the box.

Web Stencils isn’t the only template engine available for Delphi. There’s also DMustache, Sempare Template Engine, TemplatePro (Originating from Delphi MVC Framework), Liquid and probably a few others I’ve forgotten.

With Web Stencils, the learning curve is pretty easy to get started, as it takes inspiration from the ASP.Net Razor templating library.Web Stencils integrates well into Web Broker and allows you to turn your tried and tested business logic into web applications with minimal effort. No need to migrate your Delphi application to a different language or ecosystem when your clients asks for web applications. The combination of HTMX to add dynamic interaction, a CSS library of choice (e.g. Bootstrap, Pure CSS or UI Kit) and a bit of HTML template snippets with Web Stencils template markers, enables you to generate advanced web user interfaces without having to touch JavaScript and helps you to build a simpler and more maintainable web application – what’s not to like?

You can also use Web Stencils outside of a web development setting, if you e.g. need to generate and send bulk emails based around a custom template – Web Stencils can be used as well to do the heavy lifting.

AI Services

Use the ToolsAPI to create plugins that access AI services such as OpenAI, Gemini, etc

Skia Update

Skia support has been updated to version 6.2.0

Focus Mode

This feature allows near “full screen” editing of source files, free from the distraction of IDE toolbars/windows.

Significant bug fixes/enhancements

Aside from the numerous bug fixes, one long awaited enhancement allows you to override the minSdkVersion and targetSdkVersion values for Android apps, right from the IDE.

Many thanks to Glenn Dufke (a fellow Delphi MVP) for his input regarding WebStencils.