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 16
- 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 16
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 16. 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.5 build 668 forward the server will log a large warning in the console if it detects the server is running on Java 15 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 latest LTS release of Java, but nothing lower than the version of Java required by vanilla Minecraft. 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.
So the current LTS release at time of release of Minecraft 1.17 will be Java 11, but since Minecraft 1.17 requires Java 16, Java 16 will be our minimum instead. When the next Minecraft version is released, if the requirement is still Java 16, but it’s after the release of Java 17 LTS, we’ll likely bump up to that, since it will now the be the latest LTS release of Java. In more concrete terms, the following logic will decide which version of Java Paper requires:
- Is the current Java LTS release equal to or higher than the current required Java version for vanilla Minecraft?
- If yes: That Java LTS release will be required.
- If no: The version of Java required for vanilla Minecraft will be required.
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 16 as soon as you can. Any version after 16 is okay too - but either way you can update right now without any issues.
To update your server, you can follow the following guide: https://paper.readthedocs.io/en/latest/java-update/index.html
What about all of my plugins?
99.9+% of plugins will work perfectly fine on Java 16 with no issues. Almost nothing will break unless the code is doing very bad things. If a plugin does break, you will need to contact the author of said plugin, because no Minecraft server will be 1.17 and running Java 15 or below.
Didn’t this say Java 11 (insert time) ago?
Yes! Mojang surprised us with the release of snapshot 21w19a, which declared that Minecraft would now use Java 16 going forwards. That being said, should Mojang revert this decision, we might simply move back to Java 11 as our requirement.