With the Paper project we always want to push forward and keep improving things. This includes not getting stuck with outdated tooling or outdated systems - and that includes the version of Java we support.
Here we’re announcing 2 things:
- When we’re going to bump Paper to require Java 11
- What our policy will be regarding the version of Java Paper will support going forward
When we’re going to bump Paper to require Java 11
With that said I’ll get straight to the point: When Minecraft 1.17 is released and Paper is updated to support it, Paper will bump the JVM requirement to Java 11. Any servers still using Java 8 to run Paper will need to be updated.
So when will this happen exactly? We don’t know, Minecraft 1.17 doesn’t have a set release date and once it is released we don’t know when we’ll have Paper ready for it. But in general we expect 1.17 to be released some time in the summer of 2021. Once we have a more specific release date from Mojang we’ll update our timeline accordingly.
From Paper 1.16.4 build 311 forward the server will log a large warning in the console if it detects the server is running on Java 10 or below. We’re hoping this warning and the several months of advanced notice we’re giving will allow people to be updated long before we drop support for Java 8.
What our policy will be regarding the version of Java Paper will support going forward
Going forward in general Paper will support the last 2 LTS releases of Java. LTS releases happen every 3 years - the next one will be Java 17 in September 2021. Java 11 is the current LTS release of Java.
I say in general because we will also coordinate this bump with the next major MC update in an effort to reduce upgrade pains. In this case MC 1.17 will be released just a couple months before Java 17, so we’ve decided to use that release as the cutoff point.
Questions people will probably ask:
We don’t want to find ourselves stuck with legacy software or systems. Java has a consistent update cadence now that we can take advantage of. Newer versions of the JVM are always backwards compatible with older code and almost always have performance improvements over older versions. Newer version of Java also have language and JDK advancements that we’d like to be able to use as well.
What version of Java does the Paper team recommend?
Java is remarkably backwards compatible between versions and almost never requires changes to run older code. Because of this the Paper team generally recommends running the most stable recent JVM release so you can take advantage of any potential performance improvements the newer versions may have.
What should I do right now?
You should update to at least Java 11 as soon as you can. Any version after 11 is okay too - but either way you can update right now without any issues.
What about all of my plugins?
99.9+% of plugins will work perfectly fine on Java 11 with no issues. Almost nothing will break unless the code is doing very bad things.