This is a summary of the excellent Wikipedia article about the Java version history. It is highly selective (and biased on what I know and use), otherwise it would simply turn out to be a copy of the article.
The bold parts are what really brought the language forward as a whole. As you see, not every release has bold parts.
Java 11
JSR 384, what's new
Language changes:
Library changes:
Java 10
JSR 383, what's new
Language changes:
Java 9
JSR 379, what's new
Language changes:
Library changes:
- Java Platform Module System (jigsaw)
- modularization of the platform itself
- makes modules a first-class citizen meant to replace the messy classpath with modules with real dependency information
Other changes:
- People seem to have gotten over the 1.x naming convention, almost no one calls this "Java 1.9".
Java 8 (a.k.a 1.8)
JSR 337, what's new
Language changes:
- lambda expressions (JSR 335, includes method handles)
- continuation of Project Coin (small language improvements)
- annotations on Java types
Library changes:
Java 7 (a.k.a 1.7)
JSR 336, features and enhancements
Language changes:
- Project Coin (small changes)
Library changes:
Platform changes:
Java 6 (a.k.a 1.6)
JSR 270. features and enhancements
Mostly incremental improvements to existing libraries, no new language features (except for the @Override
snafu).
Java 5 (a.k.a 1.5)
JSR 176, features and enhancements
Language Changes:
Library changes:
- concurrency utilities in
java.util.concurrent
Java 1.4
JSR 59
Language changes:
Library changes:
Java 1.3
Mostly minor improvements, really.
Platform changes:
- HotSpot JVM: improvement over the original JIT
Java 1.2
Language changes:
Library changes:
Platform changes
- a real JIT, greatly improving speed
Java 1.1
Language changes:
Library changes:
- AWT event changes
- JDBC, RMI
- reflection
Java 1.0
Initial release, everything is new ;-)