What's New in Elements 8

Elements 8 is a brand new major release for the Oxygene and RemObjects C# languages. Find out what's new in our feature summary below – and check out our detailed Change Log for a complete list of all features, enhancements and bugfixes.

Shared Projects

Shared projects make it even easier to work on your cross-platform projects with shared code by allowing you to maintain all the shared files in a single place.

Shared projects in Elements work across platforms, or between multiple projects for the same platform.

Read More.


Test to Your Heart's Content

Elements 8 comes with a brand new open source unit testing framework – EUnit.

What's so special about EUnit? EUnit is cross-platform, so it allows you to write one set of tests that can test your shared code across all platforms.

Read More.


Exciting Language Improvements

Elements 8 takes your favorite languages to the next level.

Inspired by Silver, we're bringing support for non-nullable reference types over to Oxygene and C#, allowing you to write even more robust and nil-safe code (Read More).

We've also improved platform parity further, with the new ISequence<T> type bringing cross-platform sequences to C# and Silver (Read More), and more LINQ operators being ported over to Cocoa and Java. And we've added support for "lazy" properties.

RemObjects C# also gains support for initialized properties as spec'ed for the upcoming C# 6.0.


"Extract Method" Refactoring

Our refactoring engine gains new capabilities in this release with the new Extract Method refactoring.

Extract Method makes it really easy to restructure your code in a safe fashion, and to break up those long methods into more manageable chunks.


WPF and WinRT come to RemObjects C

With Elements 8, RemObjects C# finally gains full parity with Oxygene for development on the Windows platforms.

You can now create WPF applications for the Windows Desktop, or WinRT applications for the Windows Store and for Windows Phone, taking full advantage of the advanced RemObjects C# compiler. This also makes cross-platform development easier, as you can now share Sugar-based code with your C#-based Windows apps, as well.


New Debug Engine (and new LLVM)

Elements 8 comes with a brand new debug engine that vastly improves the debugging experience for Cocoa, Java and Android inside Visual Studio (and Fire). For example, you now have full access to inspecting fields and properties of Cocoa objects.

We've also updated to the latest LLVM compiler and LLDB debugger back-end for Cocoa development, bringing with it improved performance and debugging reliability.


All New Documentation

We've been (and still are) hard at work on an all-new documentation site, which you can now find at docs.elementscompiler.com and which covers all three languages and platforms.

Dive Into the Docs.


Sugar for Everyone!

Because lots of you are eager to contribute to Sugar, we have updated the licensing so that RemObjects C# (or Silver) users no longer need an Oxygene license to open and work with the open source Sugar project.

Just open Sugar.sln and start coding!


This list is just a very high-level overview of the top new features in Elements 8. There is a lot more, including dozens of enhancements and over a hundred fixes and improvements. Check out the detailed Change Log for more!