Spoon is a metaprogramming library to analyze and transform Java source code. :spoon: is made with :heart:, :beers: and :sparkles:. It parses source files to build a well-designed AST with powerful analysis and transformation API.
The JDK 24 are available, and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are available here.
As of the time of writing, the following JEPs have been targeted to JDK 24
JEP 472: Prepare to Restrict the Use of JNI
JEP 475: Late Barrier Expansion for G1
JEP 485: Stream Gatherers
JEP 484: Class-File API
JEP 489: Vector API (9th Incubator)
while the following JEPs have been proposed to target JDK 24
JEP 404: Generational Shenandoah (Experimental)
JEP 478: Key Derivation Function API (Preview)
JEP 487: Scoped Values (4th Preview)
JEP 490: ZGC: Remove the Non-Generational Mode
Changes in recent JDK 24 builds that may be of interest
JDK-8337302: Undefined type variable results in null - Reported & fixed by ByteBuddy
JDK-8338406: BytecodeHelpers using wrong bootstrap method descriptor for condy - Reported by ByteBuddy
JDK-8338623: StackCounter adding extraneous slots for receiver invoke instructions - Reported by ByteBuddy
JDK-8338661: StackMapTable is invalid if frames appear in dead code - Reported by ByteBuddy
JDK-8338745: Intrinsify Continuation.pin() and Continuation.unpin()
JDK-8338979: Avoid bootstrapped switches in the classfile API
JDK-8338939: Simplify processing of hidden class names
JDK-8335288: SunPKCS11 initialization will call C_GetMechanismInfo on unsupported mechanisms
JDK-8336492: Regression in lambda serialization
JDK-8286851: Deprecate for removal several of the undocumented java launcher options
JDK-8339918: Remove checks for outdated -t -tm -Xfuture -checksource -cs -noasyncgc options from …
JDK-8328608: Multiple NewSessionTicket support for TLS
JDK-8338890: Add monitoring/management interface for the virtual thread scheduler
JDK-8338731: MemoryLayout::offsetHandle can return a negative offset
JDK-8325679: Optimize ArrayList subList sort
JDK-8337664: Distrust TLS server certificates issued after Oct 2024 and anchored by Entrust Root Cas
JDK-8338936: StringConcatFactory optimize the construction of MethodType and MethodTypeDesc
JDK-8338947: Deprecate the UseLinuxPosixThreadCPUClocks flag and remove it in a future release
JDK-8338700: AttributeMapper type parameter should be bounded by Attribute
from David Delabassee
The JDK 24 are available, and are provided under the GNU General Public License v2, with the Classpath Exception. The Release Notes are available here.
As of the time of writing, the following JEPs have been targeted to JDK 24
Changes in recent JDK 24 builds that may be of interest
Note: A complete list of changes can be found here.