The Java Version Almanac
javaalmanac.io
Feedback on this page?

New APIs in Java 24

Comparing Java 24 (24-ea+7-732-open) with Java 23 (23-ea+33-2358-open).

Element Modification
java.base
    java.lang.classfile.attribute
      ModuleAttribute.ModuleAttributeBuilder
        build()
        • removed preview
        java.lang.classfile.components
          CodeRelabeler
            relabel(Label, CodeBuilder)
            • removed preview
            java.lang.classfile.constantpool
              ConstantPoolBuilder
                writeBootstrapMethods(BufWriter)
                • removed preview
                java.lang.classfile
                  ClassFileBuilder
                    canWriteDirect(ConstantPool)
                    • removed preview
                    • added preview
                    transform(CompoundElement, ClassFileTransform)
                    • removed preview
                    ClassFileTransform.ResolvedTransform
                    • removed preview
                    ClassFileTransform
                      resolve(ClassFileBuilder)
                      • removed preview
                      ClassFile
                        transform(ClassModel, ClassDesc, ClassTransform)
                        • removed preview
                        transform(ClassModel, ClassEntry, ClassTransform)
                        • removed preview
                        transform(ClassModel, ClassTransform)
                        • removed preview
                        • added preview
                        • added preview
                        • added preview
                        ClassReader
                          readClassEntry(int)
                          • removed preview
                          readMethodHandleEntry(int)
                          • removed preview
                          readModuleEntry(int)
                          • removed preview
                          readNameAndTypeEntry(int)
                          • removed preview
                          readPackageEntry(int)
                          • removed preview
                          readUtf8Entry(int)
                          • removed preview
                          readUtf8EntryOrNull(int)
                          • removed preview
                          ClassTransform
                            resolve(ClassBuilder)
                            • removed preview
                            CodeBuilder
                              if_nonnull(Label)
                              • removed preview
                              if_null(Label)
                              • removed preview
                              • added preview
                              • added preview
                              CodeTransform
                                resolve(CodeBuilder)
                                • removed preview
                                CompoundElement
                                  elements()
                                  • removed preview
                                  • added preview
                                  forEachElement(Consumer)
                                  • removed preview
                                  FieldTransform
                                    resolve(FieldBuilder)
                                    • removed preview
                                    MethodTransform
                                      resolve(MethodBuilder)
                                      • removed preview
                                      java.lang.reflect
                                        ClassFileFormatVersion
                                          java.compiler
                                            javax.lang.model
                                              SourceVersion
                                                java.desktop
                                                  javax.swing.plaf.basic
                                                    BasicSplitPaneDivider
                                                      • added
                                                      javax.swing
                                                        JSplitPane
                                                          • added

                                                          This report is based on simple comparison of all public and protected APIs of the java.* and javax.* packages of JDK builds 24-ea+7-732-open and 23-ea+33-2358-open. It does not make statements about compatibility.

                                                          For the latest Java versions the corresponding CSRs (Compatibility & Specification Review) are linked for a quick reference to find out about the reasoning of the change.