Replies: 11 comments 35 replies
-
Since Java 11 has reached its end of life, I believe using Java 17 would be a good option too. |
Beta Was this translation helpful? Give feedback.
-
Yes, please do an 11/17 upgrade (11 is almost EOL even with extended support), but please bump to a new major version! Can't wait for new APIs to be added! 👍🏻 |
Beta Was this translation helpful? Give feedback.
-
I don't agree with #379 (comment):
and #379 (reply in thread) :
Only mentioning Oracle JDK, which is a commercial Java distribution, is not very representative IMO. Here are a few other dates for some OpenJDK distributions (source : pages on https://endoflife.date/tags/java-distribution):
Given those dates, I think an upgrade to JDK 11 is still a thing to consider. I agree that there is no point keeping JDK 8/11 compatibility if almost all major frameworks / libraries raised there compatibility level to 17. But SLF4J being a basic bloc for many applications, I think it should at least lag behind all those frameworks in term of Java compatibility. So my opinion is: keep the JDK 8 compatibility for now if it's manageable (meaning if it does not become a security risk / if it does not take too much time / or even if it does not prevent doing some nice improvements to the API), or upgrade to 11 otherwise. |
Beta Was this translation helpful? Give feedback.
-
Baseline Java 17 and a critical vulnerability (CVSS>9, at least a remote code execution) in the previous version would be great to force applications' upgrades 😉 |
Beta Was this translation helpful? Give feedback.
-
Anything >= 17 |
Beta Was this translation helpful? Give feedback.
-
Java 8 is still widely used in big (slow!) enterprises, so unless you want people to migrate away from SLF4j, keep supporting Java 8. In my opinion, SLF4J is clean, stable and robust as it is now (2.0). Please keep it clean, stable and robust. Maybe an idea: keep 2.x for Java 8 (and support it), make this breaking (!!) change into a 3.x version. |
Beta Was this translation helpful? Give feedback.
-
SLF4J is a fundemental library, therefore it should be fundamentally available to everyone and not to fraction of people: Java 8+ for everyone. |
Beta Was this translation helpful? Give feedback.
-
Another point of view is that there is slf4j 1.x for people who are on older Java versions. Generally, the ecosystem is moving on, see https://youtu.be/NxpHg_GzpnY?si=wA57g9kAhYulrlUO&t=411 |
Beta Was this translation helpful? Give feedback.
-
As mentioned by others, Java 8 won't be gone just yet. In fact, Azul Zulu 8 will be supported until the end of 2030 (almost 7 more years!), with security fixes for 2 more years after that. So come up with actual usage statistics or expect people to migrate to something else. However, supporting Java 8 does not mean that there is no room for innovation! One option is to use a Multi-Release JAR (JEP 238). The advantage of that is that SLF4J will still work with Java 8, but there is the option of more functionality for Java 9, 11, 17, ..., such as an implementation of |
Beta Was this translation helpful? Give feedback.
-
In the context of a logging façade library, bumping the java version means that java 8 apps will be forbidden to use the newer APIs, period. Writing logs is the responsibility of the underlying libraries, like logback, log4j or penna (this last one already caps the support to java 17 anyway). It doesn't pose any immediate requirements to apps running java 8 to upgrade and the short-term impact is that they will not be able to refactor to use the newer API. Longer term, they will not be able to update dependencies that use newer SLF4J version. I wonder how many apps running java 8 are keeping all the dependencies up-to-date to really feel the impact. The concerns feel much worse in theory than in practice it seems to me.. |
Beta Was this translation helpful? Give feedback.
-
@ceki I'm glad you're staying with Java 8. I normally lean towards trying to make things as modern as possible. But for something as widely-used as logging, supporting a wide range of JDK versions is a good thing. If I'm building an app that uses JDK 21, but one of my dependencies is a JAR that supports JDK 8 and uses SLF4J logging, I'd rather it use the latest version of SLF4J so I don't get a version conflict when I link it in.
I haven't looked at the build, but maybe you can simplify it by not making it an MR-JAR. There are tools that will just put the If you really want to have a |
Beta Was this translation helpful? Give feedback.
-
Moving the Java requirement from Java 8 to Java 11 in SLF4J version 2.1.0 is being considered.
We are seeking input regarding this change in requirements.
The desire upgrade to Java 11 stems from the difficulty in maintaining both Java 8 and JPMS support in the SLF4J build. The build is rather complicated.
Update: Given the widespread use of SLF4J, it stands to reason that SLF4J should stick to Java 8 for the moment. As such, SLF4J version 2.1.0-alpha1 reverted to using Java 8.
133 votes ·
Beta Was this translation helpful? Give feedback.
All reactions