Devops tool Jenkins now requires Java 11: This might sting a bit
Final shift set for version 2.357 of developer automation platform
It has taken a while, but the Jenkins project confirmed this week that Java 11 will be required from this week's Jenkins 2.357 and for the upcoming September LTS release.
Jenkins, originally authored by Kohsuke Kawaguchi, recently passed its 10th anniversary. Originally known as Hudson, before the Oracle / Sun deal resulted in a fork, the platform is a veteran of the continuous integration and continuous delivery world. It is also written in Java.
It's going to be a bit of a wrench. Java 11 itself was released in 2018 as a long-term support version, and the Jenkins LTS core has been Java 11-capable for a while now. The June LTS also supports Java 17 (the latest LTS of Java SE.)
It means a fond farewell to Java 8, which was released in 2014. A shame, since although the Java world has moved on, it looks like Java 8 will continue to see vendor support as long as 2030.
"While the Jenkins project could remain on Java 8 for the foreseeable future, this would be imprudent," noted the team. And rightly so - several third-party libraries consumed by Jenkins need later versions and sticking with 8 would result in a decline of updates from upstream projects.
- Jenkins warns of security holes in these 25 plugins
- You need to shift millions of repos to AWS without any downtime. How? Bitbucket engineering chief tells all
- JetBrains shoves TeamCity into the cloud, pitches Kotlin for build pipelines because YAML is 'really a pain'
The problem is that a shift from Java 8 to 9 and beyond presented many developers with all manner of challenges, from technical (in terms of language and runtime changes) to legal (thanks to licensing policies.) Work on support for Java 11 began in 2018 and, finally, with this week's release Jenkins formally requires that Java version.
How one programmer's efforts to stop checking in buggy code changed the DevOps worldREAD MORE
Java 17 is lurking in the background, and the Jenkins team noted "Java 17 support in Jenkins is brand new, and it has not yet reached a stage of rapid adoption within the Jenkins community."
"Nevertheless," it went on, "our experience has been that Java 17 is usually a more reliable choice than Java 11," and urged the community to get cracking with it. "We can say with confidence that the migration from Java 11 to Java 17 will not be nearly as painful as the migration from Java 8 to Java 11."
Painful indeed, but also ongoing for a few years and culminating in this week's release and subsequent LTS. ®