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

New APIs in Java 23

Comparing Java 23 (23-ea+12-893-open) with Java 21 (21.0.2+13-LTS-tem).

Element Modification
java.base
    java.io
      Console
        DataInputStream
          • - final
          java.lang.foreign
            • - preview
            • - preview
            • + abstract
            • - preview
            • - preview
            • - preview
            isTrivial()
            • - preview
            • - preview
            • - preview
            • + abstract
            • + abstract
            • + abstract
            sequenceLayout(MemoryLayout)
            • + abstract
            • + abstract
            • - preview
            • - preview
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            getUtf8String(long)
            • + abstract
            segmentOffset(MemorySegment)
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            • + abstract
            setUtf8String(long, String)
            • - preview
            • - preview
            allocate(AddressLayout, MemorySegment)
            allocate(ValueLayout.OfByte, byte)
            allocate(ValueLayout.OfChar, char)
            allocate(ValueLayout.OfDouble, double)
            allocate(ValueLayout.OfFloat, float)
            allocate(ValueLayout.OfInt, int)
            allocate(ValueLayout.OfLong, long)
            allocate(ValueLayout.OfShort, short)
            allocateArray(MemoryLayout, long)
            allocateArray(ValueLayout.OfByte, byte...)
            allocateArray(ValueLayout.OfChar, char...)
            allocateArray(ValueLayout.OfDouble, double...)
            allocateArray(ValueLayout.OfFloat, float...)
            allocateArray(ValueLayout.OfInt, int...)
            allocateArray(ValueLayout.OfLong, long...)
            allocateArray(ValueLayout.OfShort, short...)
            allocateUtf8String(String)
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            • - preview
            arrayElementVarHandle(int...)
            java.lang.invoke
              MethodHandles
                • - preview
                • - preview
                • - preview
                • - preview
                • - preview
                memorySegmentViewVarHandle(ValueLayout)
                • - preview
                java.lang.reflect
                  ClassFileFormatVersion
                    java.lang.runtime
                      java.lang
                        Character.UnicodeBlock
                          Class
                            isUnnamedClass()
                            ModuleLayer.Controller
                              • - preview
                              Module
                                • - preview
                                ThreadGroup
                                  resume()
                                  stop()
                                  suspend()
                                  Thread
                                    countStackFrames()
                                    resume()
                                    suspend()
                                    StackWalker.Option
                                      java.net
                                        Inet4Address
                                          Inet6Address
                                            InetAddress
                                              java.nio.channels
                                                FileChannel
                                                  • - preview
                                                  java.nio.charset
                                                    StandardCharsets
                                                      java.nio.file
                                                        Path
                                                          java.security.interfaces
                                                            • + implements AlgorithmParameterSpec
                                                            DSAPrivateKey
                                                              DSAPublicKey
                                                                ECPrivateKey
                                                                  ECPublicKey
                                                                    EdECPrivateKey
                                                                      EdECPublicKey
                                                                        RSAPrivateKey
                                                                          RSAPublicKey
                                                                            XECPrivateKey
                                                                              XECPublicKey
                                                                                java.security
                                                                                  • - implements Key
                                                                                  • + implements AsymmetricKey
                                                                                  • - implements Key
                                                                                  • + implements AsymmetricKey
                                                                                  java.text
                                                                                    ChoiceFormat
                                                                                      CompactNumberFormat
                                                                                        DecimalFormat
                                                                                          MessageFormat
                                                                                            SimpleDateFormat
                                                                                              java.util.concurrent
                                                                                                ForkJoinPool
                                                                                                  • + throws InterruptedException
                                                                                                  ForkJoinTask
                                                                                                    java.util.random
                                                                                                      RandomGenerator
                                                                                                        java.util.stream
                                                                                                          Stream
                                                                                                            java.util.zip
                                                                                                              ZipFile
                                                                                                                javax.crypto.interfaces
                                                                                                                  DHPrivateKey
                                                                                                                    DHPublicKey
                                                                                                                      java.compiler
                                                                                                                        javax.lang.model.element
                                                                                                                          RecordComponentElement
                                                                                                                            TypeElement
                                                                                                                              isUnnamed()
                                                                                                                              VariableElement
                                                                                                                                • - preview
                                                                                                                                javax.lang.model.util
                                                                                                                                  ElementScanner6
                                                                                                                                    Elements
                                                                                                                                      Types
                                                                                                                                        javax.lang.model
                                                                                                                                          SourceVersion
                                                                                                                                            java.desktop
                                                                                                                                              java.awt.peer
                                                                                                                                                WindowPeer
                                                                                                                                                  javax.swing.plaf.synth
                                                                                                                                                    SynthTreeUI
                                                                                                                                                      javax.swing
                                                                                                                                                        JFileChooser
                                                                                                                                                          JScrollBar
                                                                                                                                                            • added
                                                                                                                                                            • added
                                                                                                                                                            java.management
                                                                                                                                                              javax.management.loading
                                                                                                                                                                MLetContent
                                                                                                                                                                MLet
                                                                                                                                                                PrivateMLet
                                                                                                                                                                MLetMBean
                                                                                                                                                                java.xml.crypto
                                                                                                                                                                  javax.xml.crypto.dsig
                                                                                                                                                                    SignatureMethod
                                                                                                                                                                      java.xml
                                                                                                                                                                        javax.xml.catalog
                                                                                                                                                                          CatalogManager
                                                                                                                                                                            GroupEntry.ResolveType

                                                                                                                                                                            This report is based on simple comparison of all public and protected APIs of the java.* and javax.* packages of JDK builds 23-ea+12-893-open and 21.0.2+13-LTS-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.

                                                                                                                                                                            More detailed API comparisons based on the japicmp tool can be found here.