All released Java version have substantive documentation of what changed; for example, this is the one for Java 7. But there isn't even a release candidate version of Java 8, so there's not a lot of documentation available yet. You can probably find something somewhere around here, or in what's been published already, like this article (which I found through a quick Google search; it should be easy to find more).
Java 8 has two enhancements to annotation processing: repeated annotations and type use annotations. Moreover, reflection has been enhanced to report method parameter names. This has the potential to simplify annotations on method parameters.
Repeated annotations are the most interesting part for most people. Right now, to specify a composite key, you have to write:
Ugh. With repeated annotations, you can write
Some future version of JavaEE is very likely to embrace this.
Type use annotations let you put annotations on many more places than before, e.g.
With method parameter reflection, it is possible to, well, get the names of the method parameters through reflection. Instead of
you can write
if your param names are the same as the method parameter names, as they are in 99.44% of all cases.
(This is in JAX-RS.)
Unfortunately, for the necessary information to appear in the classfile, the source must be compiled as javac -parameters SourceFile.java. Let’s hope annotation writers
will enthusiastically embrace this mechanism, so there will be momentum to drop that compiler flag in the future.