Git-commit-id-maven-plugin: Drop support for Java 8, Java 9 and Java 10

Created on 9 Jun 2021  Â·  5Comments  Â·  Source: git-commit-id/git-commit-id-maven-plugin

From https://www.oracle.com/java/technologies/java-se-support-roadmap.html:

Release | GA Date | Premier Support Until | Extended Support Until | Sustaining Support
-- | -- | -- | -- | --
8 | March 2014 | March 2022 | December 2030 | Indefinite
9 (non‑LTS) | September 2017 | March 2018 | Not Available | Indefinite
10 (non‑LTS) | March 2018 | September 2018 | Not Available | Indefinite
11 (LTS) | September 2018 | September 2023 | September 2026 | Indefinite

While Java 8 still has premier support until I think it is time to move on to Java 11 LTS and also drop support for Java 9 and Java 10. Older Java versions still can use older plugin versions.

BREAKING

Most helpful comment

@TheSnoozer is it possible to reconsider dropping support for Java 8? Oracle is not the only Java provider, and there are still active communities for Java 8. My project https://github.com/UniversalMediaServer/UniversalMediaServer uses https://adoptium.net/?variant=openjdk8&jvmVariant=hotspot (formerly https://adoptopenjdk.net/) which has no plans AFAIK to drop support for Java 8.

All 5 comments

@TheSnoozer is it possible to reconsider dropping support for Java 8? Oracle is not the only Java provider, and there are still active communities for Java 8. My project https://github.com/UniversalMediaServer/UniversalMediaServer uses https://adoptium.net/?variant=openjdk8&jvmVariant=hotspot (formerly https://adoptopenjdk.net/) which has no plans AFAIK to drop support for Java 8.

Hello thank you for raising your request / concern here.
Sure I could reconsider, but the question then becomes:

  • Whats wrong with using an old version of the plugin? Certainly a 4.X version won't get any new features, but there is a 4.x-branch where I could release security updates. That would be similar to what java does. Perhaps could you elaborate why you need the 5.x release? Sure in the future there might be new features, but that's the same with java...
  • When I keep the support what would be a good time to drop it? Based on the page you linked I would assume support / availability until May 2026? The OpenJdk platform page is not very specific and just claims it is provided by oracle. So when using the oracle roadmap the java8 release would needed to be supported until December 2030? That's quite a statement.

Edit:
I should mention that if this plugin "requires" java 11 "all" it's asking is that your build is performed with java 11. You still can build your artifacts for java 1.8 or whatever java version.

Edit 2:
Linking to https://issues.apache.org/jira/browse/MNG-6399 that elaborates on Maven's "when to drop java support approach"

Thanks @TheSnoozer these are all good questions

  • You're right, we could continue to use 4.x if you are interested in treating it as LTS
  • There are so many options for when to drop the support and I've been on all sides at different times. In my project we were using Java 15 until recently when we dropped back to Java 8 after realising that some of our dependencies we incompatible with Java 16. I think Java 8 is a somewhat "special" version of Java as it's the last version that is really backwards-compatible. The versions since then have been breaking, and that's not a bad thing in itself but it does highlight the existing problem that some popular Java projects are not actively maintained anymore and don't have maintained replacements, and with Java falling out of favor with new developers I guess that will keep getting worse. Those are just my thoughts and probably aren't that helpful.

One approach with the new versions is to wait until there is some new feature you want to use before upgrading. That's what we did when moving to Java 8 from 7 - we wanted to use the diamond syntax and lambdas. They weren't very important but it was an easy move to make and they were nice extras to get.

Thanks for your insights and comments!
So essentially your comments reflect the arguments mentioned on the maven disucssion in a sense only upgrade when there is a benefit to it (e.g. if I really really want to use new features). The alternative "good time to drop support" would be whenever the java version in question falls out of public support (for java 8 that would be 2030).

In practice this repo or project is only maintained by me at this stage. I'm not getting payed maintaining it, and I also don't use maven for the past 5ish years. Just by looking at the release history of the 4.x versions: 2021 had 4 releases including the relocation, 2020 had 2 releases, 2019 had 4 releases, 2018 one release, 2017 had 3 releases, well you get the idea that on a broader perspective the plugin also feels very mature (the first release was now 10!! years ago).

Let me think more in detail if I want to continue the support java 8. I certainly don't want to commit to making anything a LTS version. This is an open source project. In the end of the day if you find a bug in an older version I would be happy to review your changes that would fix it....

@TheSnoozer that sounds good, thanks for your consideration, and thanks for providing this project which we have used for so many years already :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

vadimkim picture vadimkim  Â·  7Comments

dandragut picture dandragut  Â·  7Comments

bernardpaulus picture bernardpaulus  Â·  6Comments

sta-szek picture sta-szek  Â·  5Comments

delanym picture delanym  Â·  7Comments