= AspectJ 1.8.0 _© Copyright 2014 Contributors. All rights reserved._ The full list of resolved issues in 1.8.0 is available https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;product=AspectJ;target_milestone=1.8.0.M1;target_milestone=1.8.0;[here] _Release info:_ * _1.8.0 available 17-Apr-2014_ * _1.8.0.RC1 available 18-Mar-2014_ * _1.8.0.M1 available 29-Jul-2013_ == Notable changes === Java 8 compilation AspectJ has been updated to the latest available Eclipse Java compiler version that compiles Java8 code (the version available as a feature patch on top of Eclipse 4.3.2). Here is a sample AspectJ8 program: [source, java] .... // === 8< ==== C.java ==== 8< === import java.util.Arrays; interface I { // Default method default void foo() { System.out.println("ABC"); } } public class C implements I{ public static void main(String[] args) { new C().foo(); // Lambda Runnable r = () -> { System.out.println("hello world!"); }; r.run(); // Used Java8 b97 Arrays.asList(MyClass.doSomething()).forEach((p) -> System.out.println(p)); } } aspect X { before(): execution(* I.foo()) { System.out.println("I.foo running"); } before(): staticinitialization(!X) { System.out.println("Clazz "+thisJoinPointStaticPart); } } class Utils { public static int compareByLength(String in, String out) { return in.length() - out.length(); } } class MyClass { public static String[] doSomething() { String []args = new String[]{"4444","333","22","1"}; // Method reference Arrays.sort(args,Utils::compareByLength); return args; } } // === 8< ==== C.java ==== 8< === ....