Java Evolution
Without promising exact timelines for individual features, our goal is to try and support any new Java language changes introduced by Oracle in a timely fashion after they have been finalized, often before and sometimes shortly after they have shipped in Oracle's Java compiler.
Java 10
(via this)
Local Variable Tyoe Inference— had already been supported since Iodine's initial release.
Java 9
- Private Interface Methods — #78481
- Allow effectively-final variables in the try-with-resources statement — #78484
- Allow diamond with anonymous classes — #78489
- Allow @SafeVargs on private instance methods — #78488
- Complete the removal of underscore from the set of legal identifier names — #78490
Java 8
- Lambda expressions — #78483 (to check syntax compatibility)
Method References— done- Type Annotations — #78485
- Default and static interface methods — #78481
- Repeating annotations — #78485
Java 7
(also via this one)
Binary Literals— long doneUnderscores in Numeric Literals— long doneStrings in Switch Statements— Elements always did this- Type Inference for Generic Instance Creations — #78491
- Improved Warnings and Errors When Using Non-Reifiable Formal Parameters — #78492
- The try-with-resources Statements — #78484
- Catching Multiple Exceptions & and Rethrowing with Improved Type Checking — #78493