upvote
Yes, breaking changes. And many ways to do the same thing because the language kept evolving (thankfully).
reply
There is a decently long list of breaking changes now. Removing JavaEE modules from the JDK, and restricting sun.misc.Unsafe, are the ones people usually run into.
reply
These are relatively small-scoped library changes only though.

Meanwhile Go already had a language change, while being less than half its age (loop variable capture).

reply
A long enough list of small changes eventually equates to a big change. People generally can't update applications from Java 8 or below to a new one without code updates.
reply
If hadoop did it, so can you. I'm talking about a project that stretched Java 8 to, and arguably beyond, its intended operational boundaries. Unlikely that you’re leaning on this boundary. It's Spring Boot upgrades that will be giving you troubles.
reply
They clearly did have Java version issues, as the different Hadoop versions list ranges of JDKs they're compatible with.
reply