Recent Highlights
Elements 13 wraps together many exciting improvments from 2025 and 2026, with work ranging from major CodeBot upgrades and deeper Delphi compatibility to Android, Island, RTL, Fire, and Water improvements.
CodeBot v3
CodeBot has grown into a more agentic assistant with MCP access, skills, action items, sub-agents, diff views for code changes, build tools, safer approvals, smarter Smart CC, and deeper editor integration.
Oxygene and Delphi Compatibility
Oxygene gained raw strings, field-backed properties, local fields, the new field keyword, and a long run of Delphi Compatibility Mode improvements including legacy preprocessor work, message directives, untyped parameters, method pointers, labels, typed constants, absolute, weak, noreturn, and packed.
Island/Delphi and Delphi Import
Island/Delphi gained support for Delphi 13 import, .grouproj conversion, better SDK import workflows, automatic SDK-import prompts, Windows/arm64 preparation, and broader DelphiSupport coverage.
Android and Platform Tooling
Android builds received a steady refresh: modern aapt2, Predex and Gradle resolution fixes, app version settings, APK/AAB filename improvements, bundletool 18.3, new Wear OS templates, and updated ListView and tabs templates.
Fire, Water, and macOS 26
Fire and Water picked up new Account and License Managers, macOS 26 Tahoe styling work, Water IDE theming, toolbar and icon updates, smarter jump bars, improved project reload behavior, .slnx support, XAML Preview work, and many debugging and navigation refinements.
Elements RTL and Serialization
Elements RTL added YAML serialization for JSON documents, better JSON parser location diagnostics, XML conveniences, HttpStringRequestContent, JsonObject dictionary construction, Convert.DaysToPrettyString, and serialization improvements for Decimal and string-valued enum members.
This page provides the highlights, major features and improvements;
please also check each week's change log for a detailed list of all fixes and enhancements.
New in 2026
- All new CodeBot v3: new agentic mode with better orchestration, more tools, scoped approvals and many other enhancements.
- .xaml preview in both Fire and Water
- Oxygene:
- Raw Strings.
- Support for
noreturnkeyword in Dephi Compatibility Mode - Field-back Properties
fieldkeyword for, well, field declarations- Locally scoped fields
- C#
file-level visibility for types and members- Support for C# 14's field-back properties
New in 2025
- Account Manager in Fire/Water
- License Manager in Fire/Water
- CodeBot
- improvements for more targeted platform- and language-specific guidance
- uses the new account manager & option to register multiple API keys for the same provider
- Full Support for building for the Windows/arm64 platform
- CrossBox menu now allows picking the run architecture for Island/Windows projects
- Improvements to the Island/Delphi toolchain
- New
[Codable]Aspect for seamless Json and Xml Serialization - Fire/Water:
- CodeBot 2.0, with tighter integration, project access, and support for more backend models
- Support for Delphi-compatible multi-line strings in Oxygene
New in 2024
- Support for .NET Core 9
- Oxygene:
- treat missing
varas keyword recoverable. - shortcut syntax for abstract properties (don't require
read/write) - Type inference for
new, where possible
- treat missing
- Fire/Water:
- Enhancements to CodeBot
- Option to "Paste Json as Class"
- Option to smart-preserve case in search/replace
- Integration with custom Data Abstract servers
New in 2023
- CodeBot Preview
- New Island/Delphi platform for using Embarcadero Delphi libraries and creating Delphi object-model classes.
- Yet once again more Delphi Compatibility improvements in Oxygene
- Support for .NET Core 8
- Oxygene:
- Support for using the colon operator on indexers
- Required properties
- Simplified custom operator declarations
- Support for type-checks with inline variable declaration for Oxygene
- C# 11 Language Features
mainattribute prefix- Lambda default parameters
- newline in string interpolation
- file level type visibility
- Lambda default parameters
nameOf(parameter)- Required properties
New in Q4/2022
- Fire/Water:
- Git integration
- Dim inactive code sections
- UI for per-Target project settings
New in Q3/2022
- Yet more Delphi Compatibility improvements in Oxygene
- Island/Linux: COM Interop
- Enhancements to DateTime and Double in Elements RTL
- Allow "
InstanceType" to be used in operator definitions - New “Default Uses Prefixes" setting
- Expose .fx codegen via EBuild's --dump parameter
- Toolchain support for Grpc and Google ProtoBuffer
.protofiles - New/enhanced project upgrade/migration logic using CPS in Visual Studio
- Cross-platform support for
IndexandRangetypes - Fire/Water:
- Debugger: support for instruction-level StepInto/Over in Disassembly
- Debugger: support for registers in Debug Inspector
- Debugger: Option to turn off "stop on (any) Exceptions" from the Exception Sheet in Fire
- Debugger: Option to use breakpoints from all open Solutions in Fire
- Remoting SDK and Data Abstract integration improvements
- Support for recursive
**.paswildcards
- Support for running Water on .NET Core 6, including natively on Windows/arm
- Support for running EBuild and compiler on .NET Core 6, including natively on Windows/arm
- Support for Xcode 14.0 GM SDKs
- Support for older v2 NuGet repositories
New in Q2/2022
- More Delphi Compatibility improvements in Oxygene
- Oxidizer: new Keyword Escaper for escaping non-Delphi Oxygene keywords in a .pas file.
- Debugging Rosetta apps in Fire
- Fire/Water:
- Debugging a specific architecture for Island/Windows and Linux projects
- Replace in Selection
- Support for .NET Core 7 (Preview)
- New Cirrus API for creating Extension Classes
- Support for "safecall" methods on Island
- Support for the Xcode 14 beta SDKs
New in Q1/2022
- Oxygene
- New
unconstrainedgenerics on Oxygene - Support for multiple separate
whereclauses for Generic Constraints - Allow trailing comma in method calls
- New
- Mercury
LetandSetstatements in Mercury- Class Contracts for Mercury
- C# 10-style "
Record Structure" for Mercury
- Support for Disassembly view when debugging WebAssembly
- .NET and .NET Core remote debugging in Water and Visual Studio
- New
modelOf()System Function for determining the object model of a type
New in Q4/2021
- Official support for .NET Core 6.0 and Visual Studio 2022
- C# 10.0
- Enhanced line directives
- Extended property patterns
- Lambda improvements
- Global using directives
- Record structs (all languages)
- Caller Argument Expressions
- Constant Interpolated Strings
- File-scoped Namespaces
- Generic Attributes
- C# 7.2
- Compile time enforcement of safety for ref-like types
- Mercury
- top-level statements (same as C# 9, and Swift)
- Support for
Declareand external functions on Java
- Oxygene
- allow "async main" with
begin/end. - Allow
for/toloop variables to be inferred, just likefor each.
- allow "async main" with
- New
literal()CMF - WebAssembly: allow
externalmethod syntax to define strongly-typed Eval() wrapper - Optional Exception support in WebAssembly
- Compiler now uses Island SDK imports for all Cocoa projects
- Smaller download sizes by off-loading Go library
New in Q3/2021
- Await support for dynamic in WebAssemnbly
- Proper EBuild-style NuGet support in Visual Studio
- Island Debugger now honors Just My Code setting in Visual Studio
- New "ActiveX Library" project template (C#), and related Aspect
- Oxygene: support for multiple
usesclauses - Combined Interfaces in Oxygene
- (Experimental) support for Visual Studio 2022 Preview
- Oxygene: Support for
paramswithsequencetypes - C# 9:
[ModuleInitializer]attribute (all languages and platforms) - C# 9: Pattern matching enhancements
- C# 8: async streams
- C# 7.3 Stackalloc array initializers.
- C# 7.3: Pattern-based fixed statement
- C# 7: task types
New in Q2/2021
- Official "1.0" release of Mercury
- Property Wrappers
- Swift 5.5: async/await
- Breakpoint Actions in Fire and Wateer
- New Code-Behind development model and templates for WebAssembly
- Go language improvements and new
Memory<T>type - Decimal type support on all platforms (previously .NET only)
- C# 9.0
New Q1/2021
- C# 9.0
- Mercury
- Interface Delegation with
Implementson a Property #CrossPlatformdirectives- Lazy Properties
- Support for
Dynamic(Of T) - Support for [inline delegate declarations](https://docs.elementscompiler.com/Mercury/LanguageExtensions/#inline-
- Interface Delegation with
- Languages
- Allow "locking on nil" to be a no-op
- Support for subclassing records/structs (all languages)
- Oxygene: allow initializer on a property that has e.g."
read private write" delegate-declarations)
- Fire and Water:
- Allow building/running individual non-active projects from the context menu
- Support for converting all .vbproj/.csproj projects in a solution in one go, updating all project references
- Support for dragging `.xcframeworks into Fire to create an Import Project and project reference
- Expose settings for upper-casing Oxygene keywords/directives
- Option to build "missing" project references, if the project file can be resolved (--build-missing-projects)
- Option to hide hints and warnings from remote references & missing projects
- Oxygene: convert keywords to upper-case after space, if that option is set
- Water: expose "Help|Generate Report for Code Completion" menu
- Option to Import or Convert Delphi (.bdsproj) and Lazarus (.lpr) projects.
- Tool Chain
- New "Island Debugger" is now the default for Cocoa, replacing LLDB
- Support for importing
.xcframeworks - EBuild: Detect and cleanly fail on recursive (even indirect) project dependencies
- Other
- Option to not install support for all platforms, to save disk space
- Improved Reflection API in Elements RTL
- New conditional define, ELEMENTS+current build number (eg
ELEMENTS2599)
New in 2020
- Fire (and the entire compiler tool chain) nor run natively as Arm code on Apple Silicon Macs
Languages
- Oxygene:
while matchingfor Oxygene (https://docs.elementscompiler.com/Oxygene/Delphi/DelphiCompatibilitySettings/), and to allow more unsupported syntaxes in code that is IFDEF'ed out - Oxygene: Support for using the
inoperator on Arrays and Collections - Vast collection of Mercury improvements, as we ready for RTM
- C# 9.0:
initproperties - C# 9.0: omitting the type in
new()expressions
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.
Delphi Compatibility:
- Many enhancements to Delphi RTL
- Allow more unsupported constructs in undefined code
- default visibilities for globals and type members
- Delphi Compatibility Mode now uses Delphi's visibility semantics for
privateandprotected. - More improvements to Delphi Compatibility
Platforms
- Apple Silicon Support
- Building Mac apps for arm64 aka "Apple Silicon"
- Support for automatically signing arm64 binaries as needed to run locally, on Apple Silicon
- Support for arm64 for the iOS, tvOS and watchOS Simulators, on Apple Silicon
- Building Mac Catalyst apps for arm64 aka "Apple Silicon"
- Support for iOS, iPadOS and tvOS 14, watchOS 7 and macOS 11 SDKs
- Improved support for the official final release of .NET Core 5.0
Tool Chain
- Tentative support for Water and certain tool chains on Windows/ARM
- Support for running .resx/.settings Generator tools as part of the build, instead of manually in the IDE
- New and improved "Island" debug engine will now be used as default for Cocoa apps, on Big Sur and later
- Android: Manifests file merging: support for uses-feature
- Android Debug Hosts
- Android tool chain improvements: merge Manifests from packages & other tweaks
- Improved
Myclass support - Debugger improvements for Cocoa, .NET Core and WebAssembly
- New
AllowUnsafeCodeImplicitlysetting to mark all code in a project to use "unsafe" code on .NET - EBuild can now automatically download older or newer versions of Island and Cocoa SDKs not installed locally
- New
Oxidizer.execommand line tool - Support for the new D8 dexer for Android
- Improved Code Completion for
uses/using/importclauses
APIs
- More exposed APIs in Go Base Library
- New
caseInsensitive()String API in Elements RTL - Improvements to Browser DOM classes for WebAssembly
- Improvements to Delphi RTL
- Strongly typed interfaces for Browser and DOM, in WebAssembly
- New
[Module]aspect to achieve VB-like module behavior in all languages - Go Base Library has been updated to Go 1.13.5
- new
Observerclass for working with Property Notifications in a platform-agnostic way. - New visual test activity for EUnit on Android
Fire and Water
- Support for "Refactor: Rename"
- Support for showing all code references to the current identifier
- Support for disabling individual breakpoints w/o removing them (via context menu or Command-Click)
- New
backtrace all/bt allcommand in Debug Console - Support for launchSettings.json in ASP.NET Core propject and launching the Browser on first start
- Better handling for "Reveal/Open output folder in..." For multi-target projects
- Do fewer redundant builds when building and then running/testing
- Support for managing references per target, in multi-target projects
- More granular navigation stack, when navigating within the same file with Go to Definition and the like
- Option to explicitly find and list all search occurrences in a single or all files
- Oxidizer for Mercury
- Improved folder refresh in Fire/Water for Website Projects
- New "Messages" tab in the navigation pane
- Option to set/toggle Copy To Output flag on content files
- New "Go to Type Definition" command
Support for surrounding the selection when typing
(,"or similar charactersFire now runs on the Hardened Runtime on macOS Catalina
- Fire: UI tweaks for macOS 11 Big Sur's new look and feel
- Fire: UI sounds when builds and debug sessions succeed/fail
- Fire: Various improvements for running on Apple Silicon Macs
- Fire: support for deploying/debugging on iOS devices via WiFi, w/o USB connection
- Fire: Support for running/debugging iOS apps locally outside a simulator, on Apple Silicon
- Fire: Support for running/debugging macOS apps as x86_64 under Rosetta 2 explicitly, on Apple Silicon
New in 2019
Languages
- Asynchronous Sequences and
asyncloops in Oxygene and C# on .NET. - New
DynamicInterfaceaspect for importing external JavaScript APIs for use from WebAssembly projects DelayLoadDllImportAspect for Island- 83311: C#8: Pattern
- 82382: C#8: Ranges and Indexes (.NET Core 3.0 and Island)
- Trailing Closures in Oxygene and C#
- C# 8 Support:
switchexpressions andusingdeclarations - Many improvements to Delphi Compatibility Mode
- Oxygene: new shortened
for each in x dosyntax - Support for
publishedmembers await-able Closure Callbacks- allow trailing comma in array literals in Oxygene
- Support for Local Properties in Oxygene
- Oxygene:
const varParameters - Allow
ISequence<T>to be implemented by simply providing aGetSequencemethod with[Sequence]attribute - New
guidOf()System Function for Island COM Interfaces - New
[Equals]and[Hash]Aspects, un symmetry with[ToString] - Many improvements for Swift compatibility
Platforms
- Support fore arm64_32 and improvements to the watchOS tool chain
- Support for optionally filtering/selecting profiles and certificates by "Teams" in Fire/Water, for Cocoa projects
- Project Templates for Remoting SDK for .NET Core in Fire
- ASP.NET Core project templates for all four languages
- Support for Node.js in WebAssembly, including new Templates
- Support for ASP.NET Core and Razor
- Support for the iOS 13.2 Beta SDK
- Mixed mode debugging for Android NDK Extensions inside an Android SDK App
- Support for 64-bit ARM Linux (
aarch64) - Support for building UIKit for Mac apps
- Support for deploying and launching standalone watchOS 6.0 apps to the Simulator
- Support for macOS 10.15, iOS 13, tvOS 13 and watchOS 6.0 Beta
- Support for building Cocoa
.frameworks - Native COM support for Island
Tool Chain
- Pre- and Post-Build Scripts in EBuild
- Automatic generation of JNI Imports when mixing Android SDK and NDK
- Support for Remote Project References (EBuild Package Manager)
- Support for importing Go projects (wip)
- EBuild: support for
#references - Option to register new CrossBox servers from the command line
- Improved support for running the Elements compiler and EBuild on Linux
- EBuild support for
<Remote>files in projects - Revised "New Project" and "New File" dialogs in Fire and Water, with more clear platform categorization
- New List View app template for Android, using RecyclerView class
- Import Projects and support for them in Fire and Water
- Support for Parallel Builds in EBuild (Experimental)
- "Publish" support for .NET Core projects
- Improved Dependency Caching for References
- Improvements to .NET Core tool chain
Fire/Water:
- Support for Custom Templates in Fire and Water
- Environment Variables Manager for Fire and Water
- Fire is now Notarized and ready for macOS Catalina
- Improved Arguments Manager in Fire
- Filter-as-you-type CC
- Redo support in Fire & Water editor. Finally.
- New "Recents" tab in Fire and Water's navigation pane
- Better reporting for consecutive build states during Parallel Builds
- Better support for testing with multi-target EUnit projects
- Start-Up Arguments Manager will highlight arguments referring to missing files in red
- Improved support for Remoting SDK and Data Abstract in Fire and and Water, including new Connect to Relativity Server and Generate Code for Relativity Server sheets, and improvements thru-out.
- Support for Conditional Breakpoints
- Support for "Set Next Statement" when debugging
- Log view now highlights messages and they can be double-clicked to navigate to the code
- New "Paste a New Guid" menu command in Fire and Water
Support for Visual Studio 2019
Enhancements to EUnit
- Better Integration with Fire/Water
- New non-failing Check API
- XCTest Compatibility Wrappers
New in Q3 and Q4/2018
Major documentation overhaul (work in progress)
Very Sneak Preview for Go support in Fire and Water
Toolchain Improvements
- Further steps towards maturing Island/Darwin platform
- Support for iOS, tvOS and watchOS
- Support for mixing Cocoa and native class types
- Support for architecture merging, app bundle creation and other Toffee toolchain phases
- .NET Core tool chain improvements
- .NET Core debugging on macOS
- Debugging and RTL improvements for Island
- EBuild is now the default build chain for plain Echoes projects, in Visual Studio
EBuild is now the default/only toolchain for everything except Silverlight and Universal Windows/WinRT projects, across all IDEs.
IDE Improvements
- Official first release Water of Water
- Improved Welcome experience in Fire
- Support for creating XAML event handlers via CC
- Fire & Water Editor:
- Improvements to smart-enter
- Smart keyword expansion when pressing Space
- Smart-for Oxygene
- Improvements to how CC works in shared projects when being invoked within "wrong" defines.
Language Improvements
- Support for parallel for loops and parallel sequences ported to Cocoa, Java and Island
available()now also impliesdefined()- New
exists()function and{$IF EXISTS()}/#if exists()directives for conditional compilation - C# 7.2: Readonly references
- Oxygene: Support for "locking" as expression
- Oxygene: New
mapped constructorSyntax - Oxygene: Error recovery improvements
- Swift: Syntax for declaring implicit and explicit cast operators
- Swift: syntax for anonymous classes
- Swift: New "MakeSwifty" attributes
- Swift: Arrays and Dictionaries are now structs
<and>Operators for Sets
Other Enhancements
- Cirrus improvements
- Cocoa: support for SIMD types
- Delphi VCL Preview
New in Q2/2018 (.2283 - .2301)
Core
- Iodine: support for auto-release pools on Cocoa
- Improved Flow Control logic and hints
- Oxygene: Interpolated Strings
- Island/Windows: .res file support
- Blocks defined inside an if
#availableshould inherit that deployment warnings are hidden - Vast CC improvements
- String to HSTRING (Island/Windows)
- CC Stability improvements
- Swift: SE-0043: Declare variables in 'case' labels with multiple patterns
- Automatically hide CPW warnings inside per-platform defines
More C# 7.2 and 7.3 feature parity:
- C# 7.3: field: attribute on prop fields
- C# 7.3: Infer tuple names (aka. tuple projection initializers)
- C# 7.3: Ref Local Reassignment
- C# 7.3: Support for == and != on tuple types (all languages)
- C# 7.3: System.Enum, System.Delegate and unmanaged constraints
- C# 7.2: conditional ref
- C# 7.2: Non-trailing named arguments
- C# 7.2: Reference semantics with value types
Iodine:
__eventdeclaration support- Oxygene Editor: automatically correct
<=,>=,!=to=,=,? CC: Improvements when same type name exists in two (used) namespaces
.NET Core Toolchain enhancements
- Debugging (in Visual Studio, Fire and Water)
- Run w/o debugging (Fire and Water)
- generate .runtimeinfo.json and /deps.json files
- New project settings for picking desired Core SDK and Runtime
Island/Darwin (Native macOS) Preview
Build Chain
- Fire and Water are now EBuild-exclusive
- Significant Build speed improvements for PrepareToffee and for copying .app bundle to output
- Visual Studio now uses CrossBox 2 for debugging Cocoa projects
- Visual Studio now uses EBuild for building Cocoa projects
- New Debug API, shared with Fire, Water and Visual Studio and across all platforms, with more consistent boot/upload/deploy/launch infrastructure.
- Support for pre-compiling .metal shader files on Cocoa
- Support for building for the 'Hardened Runtime" for macOS Mojave
- Support for iOS 12 and macOS 10.14 Mojave Beta SDKs
- Support for SiriKit Intents and extensions (iOS 12 Beta, wip)
- New compiler-internal obfuscation support, all platforms
Fire and Water
- Setting for choosing radix for debug evaluations
- Option to convert legacy .gradle files
- Support for Detaching from debugger, in Cocoa
- New "Exception Manager" to configure ignored exceptions
- New "Breakpoint Manager"
- Editor: Improvements for typing Tab in CC to forward to next PascalCase upper character
- Editor: Smart closing
}in Fire and Water - History for debug console commands
Fire
- Fully embrace macOS dark theme when editor theme is black
- Filtering in Arguments Manager
- Support for Dark Mode for Fire on macOS Mojave
- New Auto-Updater for Fire (experimental)
Water:
- massive UI improvements to tree views
- Debug Inspector is now usable
- Vast CLR Debugger improvements
- Debugger: "Add breakpoint" sheet (by location or symbol)
- Debugger: "Attach to Process" (32-bit CLR; 64-bit CLR and Island coming next week)
- Paste & Split in Arguments Manager
- Preferences: Paths page
- Editor: Shift-click to extend selection, alt-drag to select rectangular
- Editor: Support for underscore and tab in CC, matching Fire
- Editor: Support for search tokens and Tab to jump to them
- Data Abstract and Remoting SDK: "Connect to ROSDK Server"
- Data Abstract and Remoting SDK file actions are now available in Water
- Project Settings view (fully functional)
Visual Studio
- Island, Cooper and Gotham now always use EBuild
- Support for parsing
//TODOtags
New in Q1/2018 (.2239 - .2269)
Core
- Improved
DllImport/DllExport - Incremental compile for Cocoa and Island
- first bits of Swift 5 features
- "Back-mapped methods" in mapped types
- Class Contracts for C#, Swift and Java
- Show require/ensures in CC and enforced some at compile time
- Default interface implementations
- Speed improvements in Cocoa .fx files with many extensions (such as Foundation)
asyncin main() – all languages, .NET- Support for static arrays for C#
- Support for WebAssembly as new sub-platform in Island
isandcase/whenpattern matching in C#InstanceTypeis now supported on all platforms- New cross-platform Instrumenting Profiler
- Improved
EBuild
- Support for building Toffee apps from Windows via CrossBox 2
- XAML/WPF Support in EBuild, including building WPF on Mac
- EBuild is now the default tool chain in Water
- Support for Cirrus references for all platforms in Fire/Water and EBuild
Fire and Water:
- XAML Code Completion
- Smarter “Comment/Uncomment Selection (Cmd+/)” for partial lines
- Integrated Help for core Elements docs & platforms
Fire:
- Support for Symbolic breakpoints
- Better Breakpoint UI
- Exception Manager
- Support for FXGen Framework import
- Exposed more Refactorings
Water
- Project Settings view (preview)
- Cocoa/Mac debugging via CrossBox 2
- Support for Code Snippets
Visual Studio:
- "Sort methods" refactoring for Silver and Iodine
New in Q4/2017 (.2215 - .2231)
Core
- support for multiple properties in [Notify]
- [Notify] support for Island
- Java Compatibility: Catching Multiple Exceptions
- Java Compatibility: Rethrowing with Improved Type Checking
- Java Compatibility: try-with-resources Statements
- WebAssembly support in Island
- C#: Syntax for defining (non-local) type aliases
- Iodine: Support for array literals and NSArray via
{…} - Tuple operators
- Oxygene Discardables (similar to (C#)
- Swift supports
#defined(x)now, for symetry - C#7 discards
- C#7 deconstruction
- C#7 and Oxygene default literals
- C#7 tuples and tuple element names
- C#: Type Aliases
- C# and Oxygene:
throw/raiseas expression - C# 7.0 and Oxygene:
out vardeclarations - Silver: Support for
case - let - asin switch - Support for Portable PDB on .NET
- Support for Codeview debug symbols on Island/Windows
EBuild
- Massive improvements on many fronts, large parts of the binaries we ship as part of Elements are now built with EBuild, including Fire itself.
- Support for watchOS and iOS Extensions via project references
- Support for .ipa generation on Toffee
- EBuild is now the default build engine in Fire for all platforms.
- Support for Java 9 JDK and jmod files (EBuild-only)
Fire and Water
- Show resolve log for referencess view
- Show (and persist) failed build task and project in status bar
Fire
- show error message for non-text files (such as .xcasset, .xib)
- Performance improvements
- Non-text file viewes siuch as .xcasset now can also show build messages
- FXGen is now integrated (SDK import only in this build)
- Show build/debug status in tab, on High Sierra and later
Water
- Open Quickly sheet has been ported
- Many small improvements
- Debugger UI improvements
New in .2213 — First Elements 10 Preview, November 4, 2017
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).
- Support for
if defined() - C# Improvements:
- C# 7.2
private protectedvisibility - C# 7 Local Functions
- C# 7 Tuple support
- C# 7.2
- Oxygene Improvements
- Full support for local/nested functions, same as C# and Swift.
- Oxygene: support for
typeto make type alias incompatible - New
static;syntax for static members w/oclass
- Iodine Improvements:
- Property support
- Block/delegate syntax (
__block) - Java Compatibility: Type Inference for Generic Instance Creationsr
__weak/__strong/__unretainedkeywords__selectorsyntaxdefault()- Syntax to force a non-nullable (
!, like in C#) - Java 9 compatible lambda syntax (
->) - Syntax for mapped class
- Other Compiler Improvements
- Variable inferred with explicit "as not nullable" should be considered non-nullable
- Advanced assignment operators for Island/Toffee Records
- Allow
.for pointers to do an implicit dereference
- Fire improvements
- streamlined memory footprint and processing overhead for shared files in the managed projectsystem.
- Misc
- Finally renamed all RemObjects.Oxygene dlls to RemObjects.Elements
Check out the complete change logs with each build, for more details.
See also what was new in Version 9.3 and earlier…