3 ms·
I think the last breaking change I remember was enumerations being added, which broke any code that used the class name as a variable name. But I could be wrong
by robertlagrant 3y ago
I think the last breaking change I remember was enumerations being added, which broke any code that used the class name as a variable name. But I could be wrong; it was almost 20 years ago.
- v-erne 3y agoMaybe not a part of language per se but they throw out corba in java 11 and this decimated some very old libraries that used is as dependency.
- matsemann 3y agoWith Java 11 they hid a lot of internal functions that people had used in their code, so breaking things. But that was never really part of the public API, so strictly not a breaking change. I remember moving to Java8 changed the iteration order of hashmaps etc, which also broke some stuff for us. But again, that was mostly our fault for relying on unspecified behavior.
- brabel 3y agoWith Java 11 they only hid it, you just need to pass some parameters to get it working. When it truly broke, I believe, was only on Java 21, which finally removed some clutches people had been using to work around the new limitations.
- Starlevel004 3y agoThread#stop no longer works as of at least Java 21.
- brabel 3y agoTrue, I think since Java 17 they have been removing really obsolete stuff.. I think that's when they removed CORBA from the JDK as well (though you can still get it as a library I believe). Same with Nashorn (the JS runtime).