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

New APIs in Java 23

Comparing Java 23 (23-ea+23-1895-open) with Java 22 (22.0.1+8-tem).

Element Modification
java.base
    java.io
      ObjectOutputStream.PutField
        • + forRemoval
        java.lang.classfile
          • added preview
          Signature.TypeArg.WildcardIndicator
          • removed preview
          TypeKind
            fromNewArrayCode(int)
            • removed preview
            • added preview
            • added preview
            newarraycode()
            • removed preview
            ClassFile
              ClassSignature
                of(List, Signature.RefTypeSig,...
                of(Signature.RefTypeSig, Signature.RefTypeSig...)
                superclassSignature()
                CodeBuilder
                  • added preview
                  arrayLoadInstruction(TypeKind)
                  • removed preview
                  • added preview
                  arrayStoreInstruction(TypeKind)
                  • removed preview
                  • added preview
                  branchInstruction(Opcode, Label)
                  • removed preview
                  constantInstruction(ConstantDesc)
                  • removed preview
                  constantInstruction(Opcode, ConstantDesc)
                  • removed preview
                  • added preview
                  convertInstruction(TypeKind, TypeKind)
                  • removed preview
                  • added preview
                  • added preview
                  fieldInstruction(Opcode, ClassDesc, String,...
                  • removed preview
                  fieldInstruction(Opcode, FieldRefEntry)
                  • removed preview
                  incrementInstruction(int, int)
                  • removed preview
                  • added preview
                  • added preview
                  instanceof_(ClassDesc)
                  • removed preview
                  instanceof_(ClassEntry)
                  • removed preview
                  • added preview
                  • added preview
                  invokeDynamicInstruction(DynamicCallSiteDesc)
                  • removed preview
                  invokeDynamicInstruction(InvokeDynamicEntry)
                  • removed preview
                  invokeInstruction(Opcode, ClassDesc, String,...
                  • removed preview
                  invokeInstruction(Opcode, MemberRefEntry)
                  • removed preview
                  • added preview
                  • added preview
                  loadInstruction(TypeKind, int)
                  • removed preview
                  • added preview
                  lookupSwitchInstruction(Label, List)
                  • removed preview
                  monitorInstruction(Opcode)
                  • removed preview
                  newMultidimensionalArrayInstruction(int,...
                  • removed preview
                  newMultidimensionalArrayInstruction(int,...
                  • removed preview
                  newObjectInstruction(ClassDesc)
                  • removed preview
                  newObjectInstruction(ClassEntry)
                  • removed preview
                  newPrimitiveArrayInstruction(TypeKind)
                  • removed preview
                  newReferenceArrayInstruction(ClassDesc)
                  • removed preview
                  newReferenceArrayInstruction(ClassEntry)
                  • removed preview
                  nopInstruction()
                  • removed preview
                  operatorInstruction(Opcode)
                  • removed preview
                  returnInstruction(TypeKind)
                  • removed preview
                  • added preview
                  stackInstruction(Opcode)
                  • removed preview
                  storeInstruction(TypeKind, int)
                  • removed preview
                  • added preview
                  tableSwitchInstruction(int, int, Label, List)
                  • removed preview
                  throwInstruction()
                  • removed preview
                  typeCheckInstruction(Opcode, ClassDesc)
                  • removed preview
                  typeCheckInstruction(Opcode, ClassEntry)
                  • removed preview
                  • added preview
                  • added preview
                  Signature.TypeArg
                    boundType()
                    • removed preview
                    • added preview
                    • added preview
                    extendsOf(Signature.RefTypeSig)
                    • removed preview
                    • added preview
                    of(Signature.RefTypeSig)
                    • removed preview
                    of(Signature.TypeArg.WildcardIndicator, Optional)
                    • removed preview
                    • added preview
                    superOf(Signature.RefTypeSig)
                    • removed preview
                    • added preview
                    unbounded()
                    • removed preview
                    wildcardIndicator()
                    • removed preview
                    java.lang.foreign
                      MemorySegment
                        • added
                        SymbolLookup
                          • added
                          java.lang.invoke
                            StringConcatFactory
                              MAX_INDY_CONCAT_ARG_SLOTS
                              • removed preview
                              makeConcatWithTemplate(List, List)
                              • removed preview
                              makeConcatWithTemplateCluster(List, List, int)
                              • removed preview
                              makeConcatWithTemplateGetters(List, List, int)
                              • removed preview
                              java.lang.reflect
                                ClassFileFormatVersion
                                  java.lang.runtime
                                    TemplateRuntime
                                    • removed preview
                                    java.lang
                                      ThreadGroup
                                        resume()
                                        stop()
                                        suspend()
                                        Thread
                                          resume()
                                          suspend()
                                          StringTemplate.Processor.Linkage
                                          • removed preview
                                          StringTemplate.Processor
                                          • removed preview
                                          StringTemplate
                                          • removed preview
                                          java.text
                                            ChoiceFormat
                                              • added
                                              • added
                                              CompactNumberFormat
                                                • added
                                                • added
                                                DecimalFormat
                                                  • added
                                                  • added
                                                  MessageFormat
                                                    NumberFormat
                                                      • added
                                                      • added
                                                      SimpleDateFormat
                                                        java.util.zip
                                                          Deflater
                                                            • + deprecated
                                                            • + deprecated
                                                            Inflater
                                                              • + deprecated
                                                              • + deprecated
                                                              ZipFile
                                                                java.util
                                                                  FormatProcessor
                                                                  • removed preview
                                                                  java.compiler
                                                                    javax.lang.model.util
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      • added preview
                                                                      Types
                                                                        javax.lang.model
                                                                          SourceVersion
                                                                            javax.tools
                                                                              SimpleJavaFileObject
                                                                                java.desktop
                                                                                  javax.swing.plaf.synth
                                                                                    SynthTreeUI
                                                                                      javax.swing
                                                                                        JScrollBar
                                                                                          java.management.rmi
                                                                                            javax.management.remote.rmi
                                                                                              RMIConnector
                                                                                                getMBeanServerConnection(Subject)
                                                                                                • removed
                                                                                                java.management
                                                                                                  javax.management.loading
                                                                                                    MLetContent
                                                                                                    MLet
                                                                                                    PrivateMLet
                                                                                                    MLetMBean
                                                                                                    javax.management.remote
                                                                                                      JMXConnector
                                                                                                        • - abstract

                                                                                                        This report is based on simple comparison of all public and protected APIs of the java.* and javax.* packages of JDK builds 23-ea+23-1895-open and 22.0.1+8-tem. 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.