Another year is nearing its end. Finally time for another edition of the Java Advent calendar. With this post, we are embarking on the sixth edition and I am very proud of having the honor to kick off this new season. And instead of picking one particular topic to write about, I thought it might be worth to sit back and look at some of the highlights that happened this year. This review is truely biased and focussed on the Java ecosystem. Which should not surprise you.
After the decision to open source Java EE has its roots in 2017 already, Oracle did clarify their approach to naming and package names in January. The Java EE Guardians published their stance with a “Joint Community Open Letter on Java EE Naming and Packaging” where they were proposing possible solutions. Within two weeks the official answer was posted. Red Hat’s Mark Little summarized the points in his blog. The questions around the new standardization process were unanswered back in January and heavily discussed.
In other big news, the JDK got an Incubator. With JEP12 a new preview language or VM feature is a new feature of the Java SE Platform that is fully specified, fully implemented, and yet impermanent. They can be enabled with the –incubating <version> flag.
Oracle also announced the extension for public updates for Java 8 from September 2018 to January 2019. The first updates about the EE4J publication start to appear.
The new name for Java EE was decided. The community had to pick „Jakarta EE“ or „Enterprise Profile“. “Jakarta EE” won. The draft of the “EE.next Working Group” was introduced.
Scheduled for a GA release on March 20, 2018, Java 10 RC1 was made available. This was the first upgrade that followed Oracle’s new six-month release cycle.
Also this month the first EE4J projects started to appear on the newly created GitHub account. The first batch wasn’t that impressive and contained API projects without implementations and looked a little chaotic.
Apache NetBeans 9.0 beta was released. It had full support for the Java 9 module system.
Spring Boot 2.0 was released with Java 9 support.
Also, the month where Oracle announced the removal of JavaFX from the OpenJDK. The step should foster adoption by decoupling it and making it available as a separate technology. The complete client roadmap document (PDF) also unveils that Java WebStart is no longer part of the JDK from version 11 on.
The important MicroProfile releases 1.4 and 2.0 were postponed. After they’ve initially had March releases planned.
After NX Semiconductors left their seat in the Java Community Process (JCP) a special election round elected Alibaba as the newest JCP member. Alibaba, China’s e-commerce giant, began engineering on OpenJDK in 2010, the company says. Most of the application running on the Alibaba platform are written in Java, which translates to more than billion lines of code and the work of more than 10,000 Java developers.
JavaOne is no more. As explained by Stephen Chin in a blog post, it will be folded into Oracle OpenWorld and focus and more technologies than just Java.
Microsoft and Lightbend joined the Jakarta EE Working Group as a participating member. This was announced during the release of the new Jakarta EE website.
Oracle released GraalVM to run programs faster anywhere.
In an interview series with various Java experts the community weighs in on new and important features and the release cadence. Shortly after, Oracle tried answering the most pressing questions in a separate FaQ.
Dmitry Kornilov (Oracle) published insights on the Java EE to Jakarta EE transition. There are approximately 110 repositories to transfer, and about half of them have already been transferred.
WildFly 13 was released and makes Java EE 8 specifications available. Version 14 will fully certify against Java EE 8.
The Jakarta EE newsletter was born. Sign up to stay up to date with the latest developments!
Java 11 comes with single source file launch. JEP 330 specifies the behavior and makes scripting possible.
Also Nashorn has been put on the deprecation list of modules (JEP 335) from the JDK.
EE4J published a technical direction document which all EE4J projects should consider when driving innovations in Jakarta EE.
Paraya’s Steve Millidge published a short blog about the relationship between Jakarta EE and Eclipse MicroProfile.
JetBrains published their “State of the Developer Ecosystem” report and stated that Java is the most popular primary programming language.
The Eclipse Foundation released versions 1.4 and 2.0 of MicroProfile, featuring updates to the APIs and the addition of comprehensive Test Compatibility Kits (TCKs), Maven coordinates, Javadocs, and Git tags for each API.
The JDK 11 project entered rampdown phase one which freezes the overall feature-set and opens the bug fixing period.
Google released jib which helps you build java Docker images better.
WebSphere Liberty 126.96.36.199. was released and comes with full Java EE 8 support. A statement from IBM’s Dennis Kennelly reassures IBM’s commitment to Java innovation.
GraalVM can be used as a migration path for Nashorn users.
Five months after the beta version, the final Apache NetBeans 9 version is available.
The Eclipse Foundation announced the Jakarta EE Committee Election Results.
JBoss Tools 4.6.0 and Red Hat Developer Studio 12.0 for Eclipse Photon released with Java 10 support.
After almost 10 years of Mercurial the OpenJDK team is investigating source code management options for the JDK sources.
WildFly 14 final is released with Java EE 8 certification. It also comes with the first batch of MicroProfile specifications: MP Config, MP OpenTracing and MP Health.
Eclipse Foundation Welcomes 16 New Members As Jakarta EE and Eclipse IoT Developer Communities Surge.
A remote code execution bug in Apache Struts 2 became known with the Equifax breach and reminds us to patch our existing applications frequently.
Markus Karg released JAX-RS 2.1.1 as the first non-Oracle committer.
The new release cadence for Eclipse GlassFish was announced.
TomEE 7.1 was released and is also on it’s way to Java EE 8 support.
Oracle’s Helidon takes flight and delivers a MicroProfile 1.1 implementation.
The Java Champions collaborated and released the “Java is still free” paper with the goal of solving some of the misunderstandings and uncertainty around the new release cadence and support policy from Oracle.
Eclipse 2018-09 delivers Java 11 support via a marketplace extension.
The GlassFish codebase arrives in the EE4J repositories.
Gluecon released standalone JavaFX 11 version.
JNoSQL is the first new project within the Jakarta EE umbrella.
Scala 2.12.7 is available, bringing another 10% improvement in compiler performance, markdown tables in Scaladoc, improved Java 11 support, and Spark 2.4 compatibility!
Azul Systems Collaborates with Microsoft to Bring Free Java Production Support on Microsoft Azure and Azure Stack.
Java 11 has arrived. The new release is the first planned appearance of Oracle’s long-term support (LTS) releases.
Spring Framework 5.1 goes GA with Java 11 support.
Duke Choice Awards 2018 for JPoint, ClasssGraph, Twitter4J, Apache NetBeans and Jelastic vertical memory scaling along with open source initiatives, MicroProfile.IO and Project Helidon.
In a long blog post, Dmitry Kornilov recapped the “First year of Eclipse EE4J“. In total, transferred 13.5 million lines of code in 95k files were transferred to GitHub.
JBoss Tools 4.9.0 and Red Hat Developer Studio 12.9 for Eclipse 2018-09 released.
Red Hat is making Thorntail 2.2 generally available to Red Hat customers through a subscription to Red Hat OpenShift Application Runtimes (RHOAR).
The new Jakarta EE Specification Process is introduced.
Microsoft acquired GitHub.
MicroProfile 2.1 released. Eclipse MicroProfile 2.1, which builds on the 2.0 version, updates the Open Tracing API. Like its previous version, MicroProfile 2.1 continues to align itself with Java EE 8 as the foundational programming model for the development of Java microservices.
IBM To Acquire Red Hat.
I’ll leave you here with the December as an open month. We will see what else will happen in the JVM/Java world in the remaining days of 2018. I am thankful for the amazing community that I had the pleasure to meet at various conferences and meetups. It is amazing to be part of such a strong ecosystem. Please make sure to also read the upcoming blog posts.
Author: Markus Eisele
Markus Eisele leads the developer adoption team for EMEA at Red Hat. He has been working with Java EE servers from different vendors for more than 14 years, and gives presentations on his favorite topics at leading international Java conferences. He is a Java Champion, former Java EE Expert Group member, and founder of JavaLand. He is excited to educate developers about how microservices architectures can integrate and complement existing platforms.
He is also the author of “Modern Java EE Design Patterns” and “Developing Reactive Microservices” by O’Reilly. You can follow more frequent updates on Twitter @myfear.