Languages Platforms IDEs | Download Pricing |

What's New in Elements

Starting with Elements 10, we're changing how Elements ships, moving away from monolithic releases to weekly new builds.

Please also check each week's change log for a detailed list of all fixes and enhancements.

New in .2463, December 6, 2019

  • Asynchronous Sequences and async loops in Oxygene and C# on .NET.
  • Support fore arm64_32 and improvements to the watchOS tool chain
  • New DynamicInterface aspect for importing external JavaScript APIs for use from WebAssembly projects
  • 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

New in .2457, November 22, 2019

New in .2455, November 8, 2019

New in .2453, November 8, 2019

  • 83311: C#8: Pattern
  • 82382: C#8: Ranges and Indexes (.NET Core 3.0 and Island)

New in .2449, October 25, 2019

  • Support for Node.js in WebAssembly, including new Templates

New in .2447, October 18, 2019

New in .2443, October 4, 2019

New in .2441, September 27, 2019

  • C# 8 Support: switch expressions and using declarations

New in .2439, September 20, 2019

New in .2437, August 30, 2019

New in .2435, August 30, 2019

New in .2427, August 2, 2019

New in July 2019 (.2421 – .2425)

New in Q1 and Q2/2019 (.2359 – .2417)

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

  • 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 #available should 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: __event declaration 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 //TODO tags

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)
    • async in main() – all languages, .NET
    • Support for static arrays for C#
    • Support for WebAssembly as new sub-platform in Island
    • is and case/when pattern matching in C#
    • InstanceType is now supported on all platforms
    • New cross-platform Instrumenting Profiler
  • 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/raise as expression
    • C# 7.0 and Oxygene: out var declarations
    • Silver: Support for case - let - as in 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 protected visibility
    • C# 7 Local Functions
    • C# 7 Tuple support
  • Oxygene Improvements
    • Full support for local/nested functions, same as C# and Swift.
    • Oxygene: support for type to make type alias incompatible
    • New static; syntax for static members w/o class
  • Iodine Improvements:
    • Property support
    • Block/delegate syntax (__block)
    • Java Compatibility: Type Inference for Generic Instance Creationsr
    • __weak/__strong/__unretained keywords
    • __selector syntax
    • default()
    • 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…