One year later, wildcards (? extends/? super) where added and are now known to be unsound (more holes).
After that, the Java type system has not changed.
Lambdas introduced in 2014 uses a trick, lambda types are nominal types (using interfaces) with inference sugar on top so the type system has not being extended since 2004.
Lambdas introduced in 2014 uses a trick, lambda types are nominal types (using interfaces) with inference sugar on top so the type system has not being extended since 2004.