We have many exciting new features and product enhancements planned for Delphi, C++Builder and RAD Studio in 2018. In our September 2017 roadmap, we covered many of the new plans and features planned for 2017 and 2018.
We are pleased to share details for Release 3 of 10.2 Tokyo (i.e. 10.2.3), targeted for the first quarter of 2018. For this release, we have three key themes. First, it provides enhancements for our core visual frameworks, including better HighDPI support for VCL and quality improvements for FireMonkey (FMX). Second, we continue to improve our C++ capabilities, by including CMake command line support and C++ Rename Refactoring. Third, we provide expanded RAD Server support for Ext JS. As always, there are a number of quality items that address specific customer concerns and overall performance issues. Those features are close to ready, and we’ve decided to provide them with a 10.2.3 release to be able to deliver them to you sooner. Below are some additional details for selected items that will be part of 10.2.3.
C++ Rename Refactoring allows you to right-click an identifier in your code, and rename it throughout your project. It’s a complex feature, and contains the core of a new C++ IDE tooling capability that stores an AST for your project – symbols, code structure, and more. Unlike project indexing, introduced in XE2, this runs in the background and can currently provide information for both Find References and Refactoring. Rename Refactoring has been a longtime feature request from our C++Builder customers. It’s been in the works for a while and we’re looking forward to introducing it in the upcoming release.
CMake is a popular C++ build tool. Our first stage of CMake support is building CMake projects (i.e. projects with a CMakeLists.txt) on the command line, using our compilers. This will be very useful for those who want to easily build third-party libraries without converting them to a C++Builder project. We also specifically support Ninja, allowing for very fast parallel builds.
We’re also continuing work to simplify the development of a RAD Server backend for a Sencha Ext JS client. As you probably know, Embarcadero parent company Idera, Inc. acquired Sencha last year, and Sencha provides first in-class enterprise web application capabilities. In 10.2.2, we added a new FireDAC component that helps generate JSON in a format suitable for a Sencha Ext JS client. In 10.2.3, we are adding additional helper classes and the ability to host HTML files as part of RAD Server, both designed to make it easier to use RAD Server as the backend for an Ext JS web application.
Update subscription allows us to release features throughout the year, instead of having a single major release followed only by quality fixes. This means any feature that misses one release is a candidate for the next, and all update subscription customers will get the feature.
We are also working on a number of FireMonkey UI templates, designed to highlight FMX's multi-device capabilities, showcase best practices and help new users get started quicker. The GUI templates will be added to GetIt in the coming months, in addition to a new RAD Server app template that is also in the works.
Installing Tokyo Release 3 should be a fast and seamless process, but will require an uninstall/reinstall, since it introduces new features and touches many files throughout the product. We continue to evaluate other installation options for point releases that wouldn’t require a full uninstall/reinstall, but so far that has been not only the safest but also most time effective solution in terms of installation time for our customers. We’ve made a number of improvements to the GetIt installer over the past several releases, including the ability to preserve your existing registry settings.
Key roadmap themes for 10.3 (and 10.3.x) include macOS 64-bit support, C++17 support, consolidating our debuggers and updating the IDE UI/UX, in addition to FireMonkey z-order support on Android and more. We plan to publish an updated roadmap after the 10.2.3 release.
Note: These plans and roadmap represent our intentions as of this date, but our development plans and priorities are subject to change. Accordingly, we can’t offer any commitments or other forms of assurance that we’ll ultimately release any or all of the described products on the schedule or in the order described, or at all. These general indications of development schedules or “product roadmaps” should not be interpreted or construed as any form of a commitment, and our customers’ rights to upgrades, updates, enhancements and other maintenance releases will be set forth only in the applicable software license agreement.