while matchingfor Oxygene (https://docs.elementscompiler.com/Oxygene/Delphi/DelphiCompatibilitySettings/), and to allow more unsupported syntaxes in code that is IFDEF'ed out
inoperator on Arrays and Collections
Note: C# 9 language features in RemObjects C# will be available for all platforms and all .NET versions, not limited to the .NET Core-based .NET 5.0.
AllowUnsafeCodeImplicitlysetting to mark all code in a project to use "unsafe" code on .NET
Oxidizer.execommand line tool
caseInsensitive()String API in Elements RTL
[Module]aspect to achieve VB-like module behavior in all languages
Observerclass for working with Property Notifications in a platform-agnostic way.
bt allcommand in Debug Console
Support for surrounding the selection when typing
" or similar characters
Fire now runs on the Hardened Runtime on macOS Catalina
asyncloops in Oxygene and C# on .NET.
DelayLoadDllImportAspect for Island
for each in x dosyntax
await-able Closure Callbacks
ISequence<T>to be implemented by simply providing a
guidOf()System Function for Island COM Interfaces
[Hash]Aspects, un symmetry with
<Remote>files in projects
Major documentation overhaul (work in progress)
Very Sneak Preview for Go support in Fire and Water
EBuild is now the default/only toolchain for everything except Silverlight and Universal Windows/WinRT projects, across all IDEs.
available()now also implies
#if exists()directives for conditional compilation
>Operators for Sets
#availableshould inherit that deployment warnings are hidden
More C# 7.2 and 7.3 feature parity:
__event declaration support
CC: Improvements when same type name exists in two (used) namespaces
.NET Core Toolchain enhancements
Island/Darwin (Native macOS) Preview
Fire and Water
}in Fire and Water
asyncin main() – all languages, .NET
whenpattern matching in C#
InstanceTypeis now supported on all platforms
Fire and Water:
#defined(x)now, for symetry
case - let - asin switch
Fire and Water
Major highlight for this build is the new
defined() compiler magic function, which lets you wrap #ifdef logic into actual langage flow structures, instead (we'll have an upcoming blog post about this, next week).
typeto make type alias incompatible
static;syntax for static members w/o
!, like in C#)
.for pointers to do an implicit dereference
Check out the complete change logs with each build, for more details.
See also what was new in Version 9.3 and earlier…