Java 8 had its end-of-life for commercial usage in january 2019. The new long term release is Java 11.
Time to move on for you.
Java 8 had its end-of-life for commercial usage in january 2019. The new long term release is Java 11.
Time to move on for you.
_Oracle's_ Java 8 end-of-lifed, but many other vendors provide TLS for their respective Java implementations.
For actively developed projects, I would recommend moving to java 11 without too much delay unless you have pressing technical or business reasons not to. If it's dead code and it is not causing issues, don't mess with it too much.
The Java 8 to Java 11 upgrade is unfortunately somewhat disruptive due to the module stuff. That affects some projects that depend on JVM internals, which tends to include e.g. older versions of application servers. Upgrading those is a bigger deal usually.
Naturally the gap between (say) Java 10 and 11 is fairly small, meaning it shouldn't take many months to merely discuss an upgrade - but not all companies have got round to the regular-release way of thinking.
But I see your point about the new release schedule, where the LTS version is not supported after 6 months.
I think the companies need to change their mindsets. New Java version are backwards compatible, as they introduce changes gradually.
It is actually more dangerous to wait, because they risk that some features (like GC) are deprecated after 4-5 versions. By updating regularly and keeping an eye on deprecated features, they should have time to adjust
A good thing that came out of it was that it forced them to untangle the 2 decades old standard library. This was disruptive but it seems to have also unblocked a bit of progress and also allows the to have experimental modules in non lts releases (9,10,12,13).
So on reflection I think it was a good move. Most frameworks and libraries work on modules now.
It's only a drawback for hired hands that may have become used to the features in v13 and then land a gig where they have to scale back to v1.6, that has to hurt.