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

New APIs in Java 23

Comparing Java 23 (23-ea+18-1469-open) with Java 20 (20.0.2+9-tem).

Element Modification
java.base
    java.io
      • + sealed
      java.lang.constant
        ConstantDescs
          ClassDesc
            MethodHandleDesc
              MethodTypeDesc
                • + abstract
                java.lang.foreign
                  • - preview
                  • + abstract
                  isCloseableBy(Thread)
                  openConfined()
                  openShared()
                  scope()
                  • - preview
                  • - preview
                  withBitAlignment(long)
                  Linker.Option.CaptureCallState
                  • - preview
                  captureCallState(String...)
                  • - preview
                  • + abstract
                  upcallStub(MethodHandle, FunctionDescriptor,...
                  • - preview
                  • - preview
                  bitAlignment()
                  bitOffset(MemoryLayout.PathElement...)
                  bitOffsetHandle(MemoryLayout.PathElement...)
                  bitSize()
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  sequenceLayout(MemoryLayout)
                  • + abstract
                  valueLayout(Class, ByteOrder)
                  • + abstract
                  withBitAlignment(long)
                  • - preview
                  allocateNative(MemoryLayout, SegmentScope)
                  allocateNative(long, SegmentScope)
                  allocateNative(long, long, SegmentScope)
                  array()
                  • + abstract
                  • + abstract
                  get(ValueLayout.OfAddress, long)
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  getAtIndex(ValueLayout.OfAddress, long)
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  getUtf8String(long)
                  • + abstract
                  ofAddress(long, long)
                  ofAddress(long, long, SegmentScope)
                  ofAddress(long, long, SegmentScope, Runnable)
                  scope()
                  segmentOffset(MemorySegment)
                  set(ValueLayout.OfAddress, long, MemorySegment)
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  setAtIndex(ValueLayout.OfAddress, long,...
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  • + abstract
                  setUtf8String(long, String)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  allocate(ValueLayout.OfAddress, 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)
                  nativeAllocator(SegmentScope)
                  SegmentScope
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  libraryLookup(Path, SegmentScope)
                  libraryLookup(String, SegmentScope)
                  • - preview
                  withBitAlignment(long)
                  VaList.Builder
                  VaList
                  ValueLayout.OfAddress
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  withBitAlignment(long)
                  • - preview
                  arrayElementVarHandle(int...)
                  withBitAlignment(long)
                  java.lang.invoke
                    ClassSpecializer.Factory
                    ClassSpecializer.SpeciesData
                    MethodHandles
                      • - preview
                      • - preview
                      • - preview
                      • - preview
                      • - preview
                      memorySegmentViewVarHandle(ValueLayout)
                      • - preview
                      StringConcatFactory
                        VarHandle
                          • - final
                          java.lang.reflect
                            ClassFileFormatVersion
                              java.lang.runtime
                                • - preview
                                java.lang
                                  Character.UnicodeBlock
                                    Character
                                      Class
                                        Compiler
                                        FdLibm.Cbrt
                                        FdLibm.Hypot
                                        FdLibm.Pow
                                        • - preview
                                        Math
                                          ModuleLayer.Controller
                                            • - preview
                                            Module
                                              • - preview
                                              StrictMath
                                                • + implements Appendable
                                                • + implements Appendable
                                                String
                                                  ThreadGroup
                                                    allowThreadSuspension(boolean)
                                                    resume()
                                                    stop()
                                                    suspend()
                                                    Thread
                                                      countStackFrames()
                                                      • - preview
                                                      • - preview
                                                      • - preview
                                                      resume()
                                                      • - preview
                                                      suspend()
                                                      StackWalker.Option
                                                        • - preview
                                                        allowSetThreadLocals(boolean)
                                                        • - preview
                                                        allowSetThreadLocals(boolean)
                                                        • - preview
                                                        allowSetThreadLocals(boolean)
                                                        java.net
                                                          Inet4Address
                                                            Inet6Address
                                                              InetAddress
                                                                java.nio.channels
                                                                  FileChannel
                                                                    map(FileChannel.MapMode, long, long, SegmentScope)
                                                                    java.nio.charset
                                                                      StandardCharsets
                                                                        java.nio.file
                                                                          Path
                                                                            java.security.cert
                                                                              CertStore
                                                                                • + final
                                                                                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
                                                                                                                      ConcurrentSkipListMap
                                                                                                                        ConcurrentSkipListSet
                                                                                                                          CopyOnWriteArrayList
                                                                                                                            DelayQueue
                                                                                                                              Executors
                                                                                                                                • - preview
                                                                                                                                • - preview
                                                                                                                                ForkJoinPool
                                                                                                                                  • + throws InterruptedException
                                                                                                                                  ForkJoinTask
                                                                                                                                    java.util.random
                                                                                                                                      RandomGenerator
                                                                                                                                        java.util.regex
                                                                                                                                          Pattern
                                                                                                                                            java.util.stream
                                                                                                                                              Stream
                                                                                                                                                java.util.zip
                                                                                                                                                  Deflater
                                                                                                                                                    • + deprecated
                                                                                                                                                    • + deprecated
                                                                                                                                                    Inflater
                                                                                                                                                      • + deprecated
                                                                                                                                                      • + deprecated
                                                                                                                                                      ZipFile
                                                                                                                                                        java.util
                                                                                                                                                          ArrayList
                                                                                                                                                            • + final
                                                                                                                                                            Collections
                                                                                                                                                              • - implements Map
                                                                                                                                                              • + implements SequencedMap
                                                                                                                                                              • - implements Set
                                                                                                                                                              • + implements SequencedSet
                                                                                                                                                              LinkedList
                                                                                                                                                                Locale
                                                                                                                                                                  TreeMap
                                                                                                                                                                    TreeSet
                                                                                                                                                                      • + implements SequencedCollection
                                                                                                                                                                      • - implements Collection
                                                                                                                                                                      • + implements SequencedCollection
                                                                                                                                                                      NavigableMap
                                                                                                                                                                        NavigableSet
                                                                                                                                                                          • - implements Map
                                                                                                                                                                          • + implements SequencedMap
                                                                                                                                                                          • + implements SequencedSet
                                                                                                                                                                          javax.crypto.interfaces
                                                                                                                                                                            DHPrivateKey
                                                                                                                                                                              DHPublicKey
                                                                                                                                                                                javax.crypto
                                                                                                                                                                                  javax.net.ssl
                                                                                                                                                                                    KeyManagerFactory
                                                                                                                                                                                      • + final
                                                                                                                                                                                      TrustManagerFactory
                                                                                                                                                                                        • + final
                                                                                                                                                                                        java.compiler
                                                                                                                                                                                          javax.lang.model.element
                                                                                                                                                                                            RecordComponentElement
                                                                                                                                                                                              VariableElement
                                                                                                                                                                                                javax.lang.model.util
                                                                                                                                                                                                  • added preview
                                                                                                                                                                                                  • added preview
                                                                                                                                                                                                  • added preview
                                                                                                                                                                                                  • added preview
                                                                                                                                                                                                  ElementScanner6
                                                                                                                                                                                                    • added preview
                                                                                                                                                                                                    • added preview
                                                                                                                                                                                                    • added preview
                                                                                                                                                                                                    • added preview
                                                                                                                                                                                                    • added preview
                                                                                                                                                                                                    Elements
                                                                                                                                                                                                      Types
                                                                                                                                                                                                        javax.lang.model
                                                                                                                                                                                                          SourceVersion
                                                                                                                                                                                                            javax.tools
                                                                                                                                                                                                              SimpleJavaFileObject
                                                                                                                                                                                                                java.desktop
                                                                                                                                                                                                                  java.awt.peer
                                                                                                                                                                                                                    WindowPeer
                                                                                                                                                                                                                      javax.swing.plaf.synth
                                                                                                                                                                                                                        SynthComboBoxUI
                                                                                                                                                                                                                          SynthLookAndFeel
                                                                                                                                                                                                                            • + deprecated
                                                                                                                                                                                                                            • + forRemoval
                                                                                                                                                                                                                            SynthTreeUI
                                                                                                                                                                                                                              javax.swing.text.html
                                                                                                                                                                                                                                AccessibleHTML.HTMLAccessibleContext
                                                                                                                                                                                                                                  javax.swing
                                                                                                                                                                                                                                    JFileChooser
                                                                                                                                                                                                                                      JScrollBar
                                                                                                                                                                                                                                        java.management.rmi
                                                                                                                                                                                                                                          javax.management.remote.rmi
                                                                                                                                                                                                                                            RMIConnector
                                                                                                                                                                                                                                              getMBeanServerConnection(Subject)
                                                                                                                                                                                                                                              • removed
                                                                                                                                                                                                                                              RMIIIOPServerImpl
                                                                                                                                                                                                                                              java.management
                                                                                                                                                                                                                                                javax.management.loading
                                                                                                                                                                                                                                                  MLetContent
                                                                                                                                                                                                                                                  MLet
                                                                                                                                                                                                                                                  PrivateMLet
                                                                                                                                                                                                                                                  MLetMBean
                                                                                                                                                                                                                                                  javax.management.remote
                                                                                                                                                                                                                                                    JMXConnector
                                                                                                                                                                                                                                                      • - abstract
                                                                                                                                                                                                                                                      • + deprecated
                                                                                                                                                                                                                                                      • + forRemoval
                                                                                                                                                                                                                                                      java.net.http
                                                                                                                                                                                                                                                        java.net.http
                                                                                                                                                                                                                                                          • + implements AutoCloseable
                                                                                                                                                                                                                                                          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+18-1469-open and 20.0.2+9-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.