This week's Java roundup for July 19th, 2021, features news on JDK 17, JDK 18, OpenJDK, Liberica JDK, GraalVM, MicroProfile 4.1, Quarkus 2.0.3, Hibernate, Spring Framework, JobRunr 3.4.0, RefactorFirst 0.1.0, Apache Tika 2.0.0, Kotlin 1.5.30-M1, Scala 3.0.1 and Scala 3.0.2-M1.
JDK 17
Build 32 of the JDK 17 early-access builds was made available this past week, featuring updates from Build 31 that include fixes to various issues. More details may be found in the release notes.
JDK 18
Build 7 of the JDK 18 early-access builds was also made available, featuring updates from Build 6 that include fixes to various issues. More details may be found in the release notes.
For both JDK 17 and JDK 18, developers are encouraged to report bugs via the Java Bug Database.
OpenJDK
Andrew Hughes, senior free Java software engineer at Red Hat, announced the releases of OpenJDK 11.0.12 and OpenJDK 8u302 featuring the July 2021 security fixes and a plethora of other changes. More details may be found in the release notes in version 11.0.12 and version 8u302. Release notes for the previously released version 16.0.2 are also available.
Liberica JDK
Keeping on par with the aforementioned OpenJDK releases, BellSoft has released versions 16.0.2, 11.0.12 and 8u302 of Liberica JDK, their downstream distribution of OpenJDK. These releases include fixes for four CVEs, 16 security issues and 501 backports and bugs.
GraalVM
Oracle Labs has released GraalVM 21.2 with many usability improvements with the native image utility, compiler updates and improvements to the other supported languages such as Python, Ruby and JavaScript. InfoQ will follow up with a more detailed news story.
MicroProfile
The MicroProfile Working Group has released MicroProfile 4.1 featuring an update to the MicroProfile Health 3.1 API. New features in Health include: integration of the MicroProfile parent POM; supporting the new Startup Kubernetes probes by adding a @Startup
health check group and /health/started
endpoint; and clarifying that the property, mp.health.default.readiness.empty.response
, which defaults to DOWN
, is used only before user readiness checks are processed.
Work has already been underway for the upcoming release of MicroProfile 5.0, scheduled for the fourth quarter of 2021, in which developers may expect updates to all eight home-grown APIs: Config, Metrics, Health, Fault Tolerance, JWT Propagation, Rest Client, Open Tracing and Open API.
Quarkus
Red Hat has released Quarkus 2.0.3, the third maintenance release to Quarkus 2.0, featuring: bug fixes; improvements to the documentation; dependency upgrades to Hibernate ORM 5.5.4.Final and some SmallRye components; fix a continuous testing issue in which the @BeforeAll
annotation does not report failures; and fix issues in which Redis breaks on live reload. More details may be found in the changelog and a migration guide is available for developers who wish to upgrade to Quarkus 2.0.
Hibernate
Hibernate ORM 5.5.4.Final was released featuring a new CamelCaseToUnderscoresNamingStrategy
class to replace all dots with underscores, replace all camel casing with underscores, and generate all table names to lowercase. This was created in response to the popularity of Spring's SpringPhysicalNamingStrategy
class. Other new features include: the ability of Hibernate to obtain IdentifierGenerator
interface definitions from the BeanContainer
interface when not registered; and running tests on JDK 18 early-access builds.
Hibernate Search 6.0.6.Final was released featuring a bug fix in which an AWS request signing will no longer produce an incorrect signature in specific cases involving a payload with non-ASCII characters.
Spring Framework
The first milestone release of Spring Security 5.6.0-M1 was made available featuring: an AuthorizationManager
interface for method security; support for any data type in the OAuth2AccessTokenResponse
class; and a separate repository for Spring Security samples. More details may be found in the release notes.
Minor point releases of Spring Boot version 2.5.3 and version 2.4.9 featuring 58 bug fixes and 35 bug fixes, respectively, were made available that included dependency upgrades and improvements to the documentation for both versions.
On the road to Spring Boot 2.6.0, the first milestone release was made available featuring 120 bug fixes, documentation improvements and dependency upgrades. New features include: auto-configuration for Spring Data Envers; improved metrics support; auto-configured Spring Web Service server tests; and improved configuration of the Maven plugin's Start Goal. More details may be found in the release notes.
JobRunr
Ronald Dehuysser, application developer at Bringme and creator of JobRunr, has announced that the latest version of JobRunr successfully compiles on Build 31 of the JDK 17 early-access builds. First released in April 2020, JobRunr is a library to perform background processing on the JVM.
RefactorFirst
Jim Bethancourt, principal software consultant at Improving, an IT services firm offering training, consulting, recruiting, and project services, has announced the initial release, version 0.1.0, of the RefactorFirst plugin for Maven. This new tool helps identify which classes in an application should be refactored first. There are plans to introduce an equivalent plugin for Gradle.
Apache Tika
Apache Tika has released version 2.0.0 of their metadata extraction toolkit. Formerly a subproject of Apache Lucene, this latest version includes a significant refactoring of the Apache Tika 1.x branch, modularization of the Parser
modules, new modules within the Pipes
modules, numerous bug fixes and dependency upgrades. More details may be found in the release notes. InfoQ will follow up with a more detailed news story.
Kotlin
Less than a month after the release of Kotlin 1.5.20, JetBrains has introduced the first milestone version of Kotlin 1.5.30, featuring a preview of new features such as: native Apple Silicon support that eliminates the need for the Rosetta Translation Environment; improved CocoaPods configuration with a new DSL format in the Gradle plugin; and improved debugging for Kotlin/JS applications with the new IR backend by generating JavaScript source maps. Developers may install version 1.5.30-M1 and experiment with these new features.
Scala
Shortly after the GA release of Scala 3.0, maintenance releases 3.0.1 and 3.0.2-RC1 were made available featuring a new @experimental
annotation that explicitly marks definitions as experimental, improved compatibility in kind-projector
mode, better error messages, and several bug fixes. The stable release of version 3.0.2 is planned for early September.