BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Java News Roundup: Spring Framework 6, JCP Election, Project Valhalla, OpenJDK Updates

Java News Roundup: Spring Framework 6, JCP Election, Project Valhalla, OpenJDK Updates

Bookmarks

This week's Java roundup for November 14th, 2022, features news from OpenJDK, JDK 20, Project Valhalla, JavaFX 20, JCP election results, Spring Framework 6.0, Spring Data 2022.0, Spring Cloud Dataflow 2.10-RC2, Spring Modulith 0.1-RC1, Quarkus 2.14.1 and 3.0.Alpha1, Micronaut 3.7.4, Piranha 22.11.0, Eclipse Vert.x 4.3.5, Apache Tomcat 10.1.2 and 9.0.69, Apache Beam 2.43.0 and PrimeFaces 12.0.2.

OpenJDK

JEP 434, Foreign Function & Memory API (Second Preview), was promoted from Candidate to Proposed to Target status for JDK 20. This JEP, under the auspices of Project Panama, evolves: JEP 424, Foreign Function & Memory API (Preview), delivered in JDK 19; JEP 419, Foreign Function & Memory API (Second Incubator), delivered in JDK 18; and JEP 412, Foreign Function & Memory API (Incubator), delivered in JDK 17. It proposes to incorporate refinements based on feedback and to provide a second preview in JDK 20. Updates include: the MemorySegment and MemoryAddress interfaces are now unified, i.e., memory addresses are modeled by zero-length memory segments; and the sealed MemoryLayout interface has been enhanced to facilitate usage with JEP 427, Pattern Matching for switch (Third Preview).

JEP 436, Virtual Threads (Second Preview), was promoted from its Draft 8295817 to Candidate status this past week. This JEP, under the auspices of Project Loom, proposes a second preview from JEP 425, Virtual Threads (Preview), delivered in JDK 19, to allow time for additional feedback and experience for this feature to progress. It is important to note that no changes are within this preview except for a small number of APIs from JEP 425 that were made permanent in JDK 19 and, therefore, not proposed in this second preview.

Similarly, JEP 437, Structured Concurrency (Second Incubator), was promoted from its Draft 8296037 to Candidate status. This JEP, also under the auspices of Project Loom, proposes to reincubate this feature from JEP 428, Structured Concurrency (Incubator), delivered in JDK 19, in JDK 20 to allow time for additional feedback and experience. The only change is an updated StructuredTaskScope class to support the inheritance of scoped values by threads created in a task scope. This streamlines the sharing of immutable data across threads.

Version 7.1 of The Regression Test Harness for the OpenJDK Platform (jtreg) has been released featuring bug fixes and improvements in how JUnit tests report their progress. Since the release of version jtreg 7 in August 2022, jtreg requires a minimal version of JDK 11. Chritian Stein, member of the Java Platform Group at Oracle, states that upcoming plans include a PR for JDK-8296710, Update to Use jtreg 7.1, and integrate into the JDK by the last week of November 2022. More details on this release may be found in the changelog.

Gavin Bierman, programming language designer at Oracle, has provided an updated specification for JEP 430, String Templates (Preview), which is currently in Candidate status.

Two JEP Drafts, 8297156, Low-Level Control of Field Initialization, and 8297236, Enhanced Checkcast for Valhalla Type Unification, have been submitted by John Rose, Java Virtual Machine architect at Oracle.

JDK 20

Build 24 of the JDK 20 early-access builds was also made available this past week, featuring updates from Build 23 that include fixes to various issues. More details on this build may be found in the release notes.

For JDK 20, developers are encouraged to report bugs via the Java Bug Database.

Project Valhalla

After more than three years since the last released build, Build 20-valhalla+20-75, codenamed LW4, of the Project Valhalla early-access builds was made available to the Java community and is based on an incomplete version of JDK 20. As David Simms, consulting member of the technical staff at Oracle, tweeted that this release was focused on implementing JEP Draft 8277163, Value Objects (Preview), which is currently in Submitted status. More details on this release may be found in the release notes.

JavaFX 20

Build 8 and Build 7 of the JavaFX 20 early-access builds were made available to the Java community. Designed to work with the JDK 20 early-access builds, JavaFX application developers may build and test their applications with JavaFX 20 on JDK 20.

Java Community Process

The results of the 2022 Java Community Process Executive Committee (EC) elections feature the following members who have been elected or re-elected to serve a two-year term:

Newly elected EC members take their seats effective November 29, 2022.

Spring Framework

More than a year in the making that included four release candidates and six milestone releases, the long anticipated GA release of Spring Framework 6.0 was made available to the Java community. With a minimal requirement of JDK 17 and Jakarta EE 9, Spring Framework 6 is also compatible with the recently released Jakarta EE 10 and embeds observability through Micrometer with metrics and tracing. More details on this release may be found in the what’s new page. InfoQ will follow up with a more detailed news story.

Meanwhile, in the Spring Framework 5.x release train, version 5.3.24 features: a new SimpleBeanInfoFactory class for improved introspection performance; introduces the TestSocketUtils class as a replacement for the deprecated SocketUtils class; and a reduction of some allocations of the LinkedHashSet class caused by the getProducibleMediaTypes() method defined in the ProducesRequestCondition class. More details on this release may be found in the release notes.

Spring Data 2022.0, codenamed Turing, has been released that delivers: Ahead-of-Time processing and reflection hints for Graal Native Image compilation; merges of Spring Data Envers into Spring Data JPA repository and Spring Data R2DBC into Spring Data Relational repository; and a refinement of the repository interface. Dependency upgrades include Spring Framework 6.0, JDK 17 and Jakarta EE 10. More details on this release may be found in the release notes.

Versions 2021.2.6 and 2021.1.10 of Spring Data were released featuring bug fixes and dependency upgrades to corresponding versions of Spring Data subprojects such as Spring Data JDBC, Spring Data Neo4j, Spring Data MongoDB, Spring Data Elasticsearch and Spring Data Couchbase.

The second release candidate of Spring Cloud Dataflow 2.10.0 features bug fixes and dependency upgrades to Spring Boot 2.7.5, Spring Framework 5.3.23 and Spring Cloud 2021.0.5. More details on this release may be found in the release notes.

The first release candidate of Spring Modulith 0.1 ships with new features related to the module canvas such as: includes Spring value types and bean references; and hides empty rows by default. In preparation for the upcoming release of Spring Boot 3.0, this will be the only release candidate. More details on this release may be found in the release notes and this InfoQ news story.

Quarkus

Red Hat has released Quarkus 2.14.1.Final featuring bug fixes, improvements in documentation and an update to GraalVM/Mandrel 22.3.0. More details on this release may be found in the changelog.

The first alpha release of Quarkus 3.0.0 serves as a preview of features that will be included in the GA release. Based on Quarkus 2.13.3, this preview targets the Jakarta EE 10 specifications except for Jakarta Persistence 3.0 under Jakarta EE 9. Therefore, Hibernate ORM 5.6 will still be supported. Other works-in-progress include support for MicroProfile 6.0, the Flow API and Hibernate ORM 6.0. More details on the release plan, how to experiment with Quarkus 3.0.0.Alpha1 and how to upgrade may be found in this blog post.

Micronaut

The Micronaut Foundation has released version 3.7.4 of the Micronaut Framework that delivers bug fixes, improvements in documentation and patch releases of Micronaut Security, Micronaut AWS, and Micronaut Serialization. More details on this release may be found in the release notes.

Piranha

Piranha 22.11.0 has been released. Dubbed the "Pick your distribution" edition for November 2022, this new release includes: initial support for Jakarta Enterprise Beans Lite; a Jakarta EE default data source for Piranha Micro; and refactoring for improved support of different HTTP engines. Further details on this release may be found in their documentation and issue tracker.

Eclipse Vert.x

In response to a number of reported bugs found in version 4.3.4, Eclipse Vert.x 4.3.5 has been released with new features such as: add Vert.x Oracle Client in vertx-rx; an update to use the core HttpServerRequestWrapper class in vertx-web; and expose the new InfluxDb 2.0 configuration options so Vert.x can support influxDb 2.0 connections in vertx-micrometer-metrics. There is also continued support for the virtual threads incubation project and a number of deprecations and breaking changes. More details on this release may be found in the release notes.

Apache Software Foundation

Versions 10.1.2 and 9.0.69 of Apache Tomcat deliver fixes such as: a concurrency issue in evaluation of expression language containing lambda expressions; and correct the date format used with the expires attribute of HTTP cookies in which a single space rather than a single dash should be used to separate the day, month and year components to be compliant with RFC 6265. More details may be found in the release notes for version 10.1.2 and version 9.0.69.

Apache Beam 2.43.0 has been released that ships with bug fixes, features, and improvements that include: support for Python 3.10; an initial implementation of a runner that allows developers to run Beam pipelines on Dask; provide a name to all Java threads for improved debugging; and An example for using Python RunInference from Java. More details on this release may be found in the release notes.

PrimeFaces

PrimeFaces 12.0.2 has been released featuring bug fixes and new exportRowspan and exportColspan attributes for the Column and Columns classes. More details on this release may be found in the list of issues.

JHipster Lite

Version 0.23.0 of JHipster Lite delivers: support for GraalVM native image; update end-to-end modules dependencies; and dependency upgrades to Spring Boot 3.0.0-RC2, Angular 14.2.10, Node.js 18.12.1 and npm 9.1.1.

About the Author

Rate this Article

Adoption
Style

BT