Java 16 support

I’m was very happy to read that SonarQube 8.7 finally supports Java 15.

Is there already support planned for Java 16 language features (final version of preview features like records and instanceof pattern matching)? Or did you already make sure Java 16 compliant code won’t break SonarQube analysis?

And what about Java 17?
I didn’t find a SonarQube roadmap item for either of these.
If I just overlooked things, please add links to this question for future reference. Thanks!

Hello @GAL and welcome to the SonarSource community!
We regularly add support for the most recent language versions, so you can expect SonarQube to support Java 16 and later versions in the future. We cannot give an exact timeline though, please keep in mind that we use Eclipse JDT compiler, where Java 16 is not supported yet.

Hello @Marco_Comi

It seems Eclipse JDT compiler now supports Java 16 (a few days ago, since March 17th, 2021) :smiley:
https://www.eclipse.org/lists/jdt-dev/msg01761.html

Where can I see which SonarJava plugin version support for each JDK version?
Which channels can I follow to know when Java 16 is supported in SonarQube ?
What would be a rough estimate to support Java 16 ?

For the upcoming LTS version, Java 17, we can follow the progress in these links
Support Java 17: Dependency tree for Bug 570733
JDT Core/Plan/Java: JDT Core/Plan/Java - Eclipsepedia

Hey,

Regarding Java 16 support

While eclipse JDT now supports Java 16, it’s still not yet part of their latest official JDT release (available through their marketplace, not natively with their latest release). Version 4.20 is not yet official, and still in SNAPSHOT phase.

As of today, our plan is to wait for official integration into eclipse JDT release before providing its support in our Java Analyzer. This will consequently happen only after the release 2021-06 of eclipse IDE, planned for June 16, 2021.

To track progress on our side, you can follow our umbrella ticket here, which includes the feature we want to include with its support: MMF-2317

Now, please note that we don’t know yet which version of SonarQube it will be shipped with.
For SonarCloud, however, it will be available a few days after we release it.

Regarding Java 17 LTS support

Similarly, we will wait for its integration in eclipse JDT and to be part of an eclipse IDE release before moving on. If the same scenario than for Java 16 occurs, Java 17 will be released in September, eclipse 2021-09 is going to be released without its official support, and we will have to wait till the release of eclipse 2021-12 to integrate it in our analyzer.

I hope this answer your question,
Cheers,

Michael

2 Likes