New APIs in Java 21
Comparing Java 21 (21.0.4+7-LTS-tem) with Java 10 (10.0.2-open).
Element | Modification |
---|---|
java.activation |
|
java.base |
|
java.io |
|
BufferedInputStream |
|
ByteArrayInputStream |
|
ByteArrayOutputStream |
|
CharArrayReader |
|
|
|
|
|
FileInputStream |
|
finalize() |
|
|
|
|
|
FileOutputStream |
|
finalize() |
|
FileReader |
|
FileWriter |
|
InputStreamReader |
|
|
|
InputStream |
|
InvalidClassException |
|
InvalidObjectException |
|
ObjectInputFilter.Config |
|
ObjectInputStream.GetField |
|
|
|
|
|
ObjectStreamException |
|
OutputStream |
|
PrintStream |
|
PushbackInputStream |
|
Reader |
|
SequenceInputStream |
|
WriteAbortedException |
|
|
|
Writer |
|
ObjectInputFilter |
|
java.lang.annotation |
|
ElementType |
|
java.lang.invoke |
|
|
|
ClassSpecializer.Factory |
|
ClassSpecializer.SpeciesData |
|
|
|
|
|
MethodHandles.Lookup |
|
|
|
MethodHandles |
|
|
|
StringConcatFactory |
|
|
|
|
|
|
|
|
|
|
|
java.lang.module |
|
ModuleDescriptor.Exports |
|
ModuleDescriptor.Opens |
|
ModuleDescriptor.Requires |
|
ModuleDescriptor |
|
java.lang.ref |
|
ReferenceQueue |
|
|
|
|
|
|
|
java.lang.reflect |
|
AccessibleObject |
|
|
|
|
|
|
|
Field |
|
Method |
|
|
|
Modifier |
|
Modifier() |
|
Parameter |
|
UndeclaredThrowableException |
|
getCause() |
|
AnnotatedType |
|
|
|
|
|
|
|
InvocationHandler |
|
Member |
|
java.lang |
|
|
|
|
|
|
|
|
|
|
|
|
|
Character.UnicodeBlock |
|
|
|
|
|
ClassNotFoundException |
|
getCause() |
|
|
|
Compiler |
|
|
|
|
|
|
|
|
|
|
|
ExceptionInInitializerError |
|
getCause() |
|
FdLibm.Cbrt |
|
FdLibm.Hypot |
|
FdLibm.Pow |
|
|
|
|
|
|
|
|
|
IndexOutOfBoundsException |
|
|
|
|
|
|
|
LiveStackFrame.PrimitiveSlot |
|
PrimitiveSlot() |
|
|
|
|
|
|
|
Math |
|
ModuleLayer.Controller |
|
Module |
|
NullPointerException |
|
|
|
|
|
Object |
|
|
|
Process |
|
Runtime |
|
|
|
|
|
|
|
|
|
runFinalizersOnExit(boolean) |
|
traceInstructions(boolean) |
|
traceMethodCalls(boolean) |
|
|
|
checkAwtEventQueueAccess() |
|
checkMemberAccess(Class, int) |
|
|
|
checkSystemClipboardAccess() |
|
checkTopLevelWindow(Object) |
|
|
|
|
|
|
|
StrictMath |
|
|
|
|
|
|
|
System |
|
|
|
|
|
runFinalizersOnExit(boolean) |
|
|
|
|
|
ThreadGroup |
|
allowThreadSuspension(boolean) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thread |
|
|
|
destroy() |
|
|
|
|
|
|
|
stop(Throwable) |
|
|
|
Character.UnicodeScript |
|
CharSequence |
|
java.math |
|
BigDecimal |
|
BigInteger |
|
java.net.spi |
|
java.net |
|
DatagramSocket |
|
|
|
|
|
MulticastSocket |
|
|
|
|
|
|
|
|
|
|
|
|
|
supportedOptions() |
|
SecureCacheResponse |
|
ServerSocket |
|
|
|
SocketException |
|
Socket |
|
|
|
URLDecoder |
|
URLDecoder() |
|
URL |
|
|
|
|
|
|
|
|
|
|
|
|
|
StandardProtocolFamily |
|
java.nio.channels.spi |
|
SelectorProvider |
|
java.nio.channels |
|
FileChannel |
|
SelectionKey |
|
Selector |
|
ServerSocketChannel |
|
SocketChannel |
|
java.nio.charset |
|
Charset |
|
java.nio.file.spi |
|
FileSystemProvider |
|
java.nio.file |
|
FileSystems |
|
Files |
|
Path |
|
java.nio |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.security.acl |
|
java.security.cert |
|
X509CRLSelector |
|
|
|
X509CRL |
|
|
|
X509CertSelector |
|
|
|
|
|
|
|
|
|
X509Certificate |
|
|
|
|
|
java.security.interfaces |
|
DSAKeyPairGenerator |
|
|
|
|
|
DSAPrivateKey |
|
|
|
DSAPublicKey |
|
|
|
ECPrivateKey |
|
|
|
ECPublicKey |
|
|
|
RSAKey |
|
RSAMultiPrimePrivateCrtKey |
|
|
|
RSAPrivateCrtKey |
|
|
|
RSAPrivateKey |
|
|
|
RSAPublicKey |
|
|
|
java.security.spec |
|
|
|
getName() |
|
MGF1ParameterSpec |
|
|
|
PSSParameterSpec |
|
|
|
|
|
RSAKeyGenParameterSpec |
|
RSAMultiPrimePrivateCrtKeySpec |
|
RSAPrivateCrtKeySpec |
|
RSAPrivateKeySpec |
|
RSAPublicKeySpec |
|
java.security |
|
|
|
|
|
|
|
InvalidParameterException |
|
KeyStoreSpi |
|
KeyStore |
|
|
|
|
|
PrivilegedActionException |
|
getCause() |
|
|
|
Key |
|
|
|
|
|
PrivateKey |
|
|
|
PublicKey |
|
|
|
java.text.spi |
|
NumberFormatProvider |
|
java.text |
|
DecimalFormatSymbols |
|
NumberFormat.Field |
|
NumberFormat |
|
java.time.chrono |
|
IsoChronology |
|
JapaneseChronology |
|
JapaneseEra |
|
MinguoChronology |
|
ThaiBuddhistChronology |
|
Chronology |
|
java.time.format |
|
DateTimeFormatterBuilder |
|
DateTimeFormatter |
|
java.time |
|
|
|
Duration |
|
|
|
ZoneOffset |
|
java.util.concurrent.locks |
|
AbstractQueuedLongSynchronizer |
|
|
|
LockSupport |
|
java.util.concurrent |
|
CompletableFuture |
|
|
|
ConcurrentSkipListMap |
|
ConcurrentSkipListSet |
|
CopyOnWriteArrayList |
|
DelayQueue |
|
Executors |
|
|
|
|
|
|
|
ForkJoinPool |
|
|
|
|
|
|
|
ForkJoinTask |
|
ForkJoinWorkerThread |
|
FutureTask |
|
PriorityBlockingQueue |
|
|
|
|
|
|
|
|
|
|
|
nextGaussian() |
|
ThreadPoolExecutor |
|
|
|
TimeUnit |
|
CompletionStage |
|
|
|
Future |
|
java.util.function |
|
Predicate |
|
java.util.jar |
|
Pack200 |
|
Pack200.Packer |
|
Pack200.Unpacker |
|
java.util.regex |
|
Matcher |
|
Pattern |
|
MatchResult |
|
java.util.spi |
|
ToolProvider |
|
java.util.stream |
|
Collectors |
|
DoubleStream |
|
IntStream |
|
LongStream |
|
Stream |
|
java.util.zip |
|
Deflater |
|
finalize() |
|
Inflater |
|
finalize() |
|
ZipFile |
|
finalize() |
|
ZipInputStream |
|
java.util |
|
ArrayList |
|
|
|
|
|
|
|
Collections |
|
|
|
HashMap |
|
HashSet |
|
IdentityHashMap |
|
|
|
|
|
|
|
LinkedList |
|
Locale |
|
|
|
|
|
|
|
NoSuchElementException |
|
Objects |
|
OptionalDouble |
|
OptionalInt |
|
OptionalLong |
|
Optional |
|
PriorityQueue |
|
|
|
|
|
|
|
|
|
|
|
|
|
nextBoolean() |
|
nextDouble() |
|
nextDouble(double) |
|
nextDouble(double, double) |
|
nextInt(int) |
|
nextInt(int, int) |
|
nextLong(long) |
|
nextLong(long, long) |
|
TreeMap |
|
TreeSet |
|
WeakHashMap |
|
Collection |
|
|
|
|
|
Map.Entry |
|
NavigableMap |
|
NavigableSet |
|
|
|
|
|
javax.crypto.interfaces |
|
DHPrivateKey |
|
|
|
DHPublicKey |
|
|
|
PBEKey |
|
|
|
javax.crypto.spec |
|
OAEPParameterSpec |
|
|
|
javax.crypto |
|
Cipher |
|
SecretKey |
|
|
|
javax.net.ssl |
|
HandshakeCompletedEvent |
|
|
|
HttpsURLConnection |
|
SSLHandshakeException |
|
SSLKeyException |
|
SSLParameters |
|
SSLPeerUnverifiedException |
|
SSLProtocolException |
|
SSLSessionContext |
|
|
|
|
|
SSLSession |
|
|
|
javax.security.auth |
|
Policy |
|
|
|
Subject |
|
|
|
|
|
|
|
|
|
|
|
javax.security.cert |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.compiler |
|
javax.annotation.processing |
|
Messager |
|
ProcessingEnvironment |
|
javax.lang.model.element |
|
ElementKind |
|
|
|
ElementVisitor |
|
Element |
|
|
|
ExecutableElement |
|
ModuleElement |
|
PackageElement |
|
TypeElement |
|
TypeParameterElement |
|
VariableElement |
|
javax.lang.model.type |
|
TypeMirror |
|
|
|
|
|
|
|
javax.lang.model.util |
|
AbstractAnnotationValueVisitor7 |
|
|
|
AbstractElementVisitor6 |
|
AbstractElementVisitor7 |
|
|
|
AbstractTypeVisitor7 |
|
|
|
ElementFilter |
|
ElementKindVisitor6 |
|
ElementKindVisitor7 |
|
|
|
|
|
ElementScanner7 |
|
|
|
|
|
SimpleAnnotationValueVisitor7 |
|
|
|
|
|
SimpleElementVisitor7 |
|
|
|
|
|
SimpleTypeVisitor7 |
|
|
|
|
|
TypeKindVisitor7 |
|
|
|
|
|
Elements |
|
javax.lang.model |
|
SourceVersion |
|
javax.tools |
|
ForwardingJavaFileManager |
|
ToolProvider |
|
ToolProvider() |
|
DocumentationTool.Location |
|
JavaFileManager |
|
StandardJavaFileManager |
|
|
|
java.corba |
|
java.datatransfer |
|
java.awt.datatransfer |
|
DataFlavor |
|
|
|
|
|
|
|
java.desktop |
|
java.applet |
|
|
|
|
|
|
|
|
|
java.awt.color |
|
|
|
|
|
|
|
finalize() |
|
java.awt.desktop |
|
|
|
|
|
java.awt.dnd |
|
DragSourceAdapter |
|
|
|
DropTargetAdapter |
|
|
|
|
|
java.awt.event |
|
ComponentAdapter |
|
|
|
ContainerAdapter |
|
|
|
FocusAdapter |
|
|
|
HierarchyBoundsAdapter |
|
|
|
|
|
KeyAdapter |
|
|
|
MouseAdapter |
|
|
|
MouseMotionAdapter |
|
|
|
WindowAdapter |
|
|
|
java.awt.font |
|
GlyphVector |
|
|
|
LayoutPath |
|
|
|
LineMetrics |
|
|
|
java.awt.geom |
|
CubicCurve2D.Double |
|
getBounds2D() |
|
CubicCurve2D.Float |
|
getBounds2D() |
|
CubicCurve2D |
|
|
|
QuadCurve2D.Double |
|
getBounds2D() |
|
QuadCurve2D.Float |
|
getBounds2D() |
|
QuadCurve2D |
|
java.awt.image |
|
AbstractMultiResolutionImage |
|
|
|
BufferStrategy |
|
|
|
ColorModel |
|
finalize() |
|
IndexColorModel |
|
finalize() |
|
RGBImageFilter |
|
|
|
VolatileImage |
|
|
|
java.awt.peer |
|
ComponentPeer |
|
checkImage(Image, int, int, ImageObserver) |
|
createImage(ImageProducer) |
|
prepareImage(Image, int, int, ImageObserver) |
|
MenuPeer |
|
addSeparator() |
|
RobotPeer |
|
dispose() |
|
|
|
java.awt |
|
|
|
|
|
|
|
FocusTraversalPolicy |
|
|
|
Graphics |
|
|
|
|
|
Image |
|
|
|
|
|
|
|
PrintJob |
|
|
|
|
|
|
|
|
|
Toolkit |
|
|
|
java.beans |
|
Beans |
|
|
|
PersistenceDelegate |
|
|
|
|
|
javax.accessibility |
|
AccessibleContext |
|
|
|
AccessibleHyperlink |
|
|
|
javax.imageio.spi |
|
ServiceRegistry |
|
|
|
javax.imageio.stream |
|
FileCacheImageInputStream |
|
|
|
FileImageInputStream |
|
|
|
FileImageOutputStream |
|
|
|
ImageInputStreamImpl |
|
|
|
MemoryCacheImageInputStream |
|
|
|
javax.print.attribute.standard |
|
javax.print.event |
|
PrintJobAdapter |
|
|
|
javax.print |
|
PrintServiceLookup |
|
|
|
ServiceUIFactory |
|
|
|
StreamPrintServiceFactory |
|
|
|
javax.sound.midi.spi |
|
MidiDeviceProvider |
|
|
|
MidiFileReader |
|
|
|
MidiFileWriter |
|
|
|
SoundbankReader |
|
|
|
javax.sound.midi |
|
|
|
javax.sound.sampled.spi |
|
AudioFileReader |
|
|
|
AudioFileWriter |
|
|
|
FormatConversionProvider |
|
|
|
MixerProvider |
|
|
|
javax.swing.border |
|
AbstractBorder |
|
|
|
javax.swing.colorchooser |
|
AbstractColorChooserPanel |
|
|
|
javax.swing.event |
|
InternalFrameAdapter |
|
|
|
MouseInputAdapter |
|
|
|
javax.swing.filechooser |
|
FileFilter |
|
|
|
FileSystemView |
|
FileView |
|
|
|
javax.swing.plaf.basic |
|
BasicDirectoryModel |
|
|
|
|
|
|
|
BasicLookAndFeel |
|
|
|
|
|
BasicRadioButtonUI |
|
installListeners(AbstractButton) |
|
uninstallListeners(AbstractButton) |
|
|
|
|
|
|
|
|
|
BasicSliderUI |
|
|
|
BasicToolBarUI |
|
|
|
javax.swing.plaf.metal |
|
MetalTheme |
|
|
|
javax.swing.plaf.synth |
|
SynthComboBoxUI |
|
SynthDesktopIconUI |
|
|
|
SynthLookAndFeel |
|
|
|
SynthPainter |
|
|
|
SynthPasswordFieldUI |
|
javax.swing.plaf |
|
ButtonUI |
|
|
|
ColorChooserUI |
|
|
|
ComboBoxUI |
|
|
|
DesktopIconUI |
|
|
|
DesktopPaneUI |
|
|
|
FileChooserUI |
|
|
|
InternalFrameUI |
|
|
|
LabelUI |
|
|
|
ListUI |
|
|
|
MenuBarUI |
|
|
|
MenuItemUI |
|
|
|
OptionPaneUI |
|
|
|
PanelUI |
|
|
|
PopupMenuUI |
|
|
|
ProgressBarUI |
|
|
|
RootPaneUI |
|
|
|
ScrollBarUI |
|
|
|
ScrollPaneUI |
|
|
|
SeparatorUI |
|
|
|
SliderUI |
|
|
|
SpinnerUI |
|
|
|
SplitPaneUI |
|
|
|
TabbedPaneUI |
|
|
|
TableHeaderUI |
|
|
|
TableUI |
|
|
|
TextUI |
|
|
|
ToolBarUI |
|
|
|
ToolTipUI |
|
|
|
TreeUI |
|
|
|
ViewportUI |
|
|
|
javax.swing.table |
|
AbstractTableModel |
|
|
|
TableStringConverter |
|
|
|
javax.swing.text.html |
|
AccessibleHTML.HTMLAccessibleContext |
|
|
|
HTMLDocument.Iterator |
|
|
|
HTMLEditorKit.Parser |
|
|
|
|
|
|
|
javax.swing.text |
|
DefaultEditorKit |
|
DefaultTextUI |
|
|
|
DocumentFilter.FilterBypass |
|
|
|
GlyphView.GlyphPainter |
|
|
|
LayeredHighlighter.LayerPainter |
|
|
|
LayeredHighlighter |
|
|
|
NavigationFilter.FilterBypass |
|
|
|
|
|
|
|
|
|
|
|
|
|
javax.swing.tree |
|
AbstractLayoutCache.NodeDimensions |
|
|
|
AbstractLayoutCache |
|
|
|
javax.swing |
|
AbstractButton |
|
|
|
AbstractCellEditor |
|
|
|
AbstractListModel |
|
|
|
AbstractSpinnerModel |
|
|
|
DefaultComboBoxModel |
|
DefaultListModel |
|
FocusManager |
|
|
|
|
|
|
|
|
|
InputVerifier |
|
|
|
InternalFrameFocusTraversalPolicy |
|
|
|
|
|
JFormattedTextField.AbstractFormatterFactory |
|
|
|
JFormattedTextField.AbstractFormatter |
|
|
|
JPasswordField |
|
|
|
|
|
LookAndFeel |
|
|
|
RepaintManager |
|
|
|
RowFilter |
|
|
|
|
|
ListSelectionModel |
|
java.logging |
|
java.util.logging |
|
LogManager |
|
|
|
LogRecord |
|
|
|
|
|
java.management.rmi |
|
javax.management.remote.rmi |
|
RMIConnectorServer |
|
CREDENTIAL_TYPES |
|
RMIIIOPServerImpl |
|
java.management |
|
java.lang.management |
|
MemoryMXBean |
|
|
|
javax.management.loading |
|
|
|
|
|
|
|
|
|
javax.management.relation |
|
RoleStatus |
|
|
|
javax.management.remote |
|
JMXConnector |
|
|
|
java.naming |
|
javax.naming.directory |
|
Attribute |
|
|
|
javax.naming |
|
Context |
|
|
|
Name |
|
|
|
java.rmi |
|
java.rmi.activation |
|
java.rmi.server |
|
RemoteRef |
|
|
|
ServerRef |
|
|
|
java.rmi |
|
|
|
java.security.jgss |
|
javax.security.auth.kerberos |
|
KerberosPrincipal |
|
java.sql |
|
javax.transaction.xa |
|
java.transaction |
|
java.xml.bind |
|
java.xml.crypto |
|
javax.xml.crypto.dsig.keyinfo |
|
KeyValue |
|
javax.xml.crypto.dsig.spec |
|
javax.xml.crypto.dsig |
|
CanonicalizationMethod |
|
DigestMethod |
|
SignatureMethod |
|
java.xml.ws.annotation |
|
java.xml.ws |
|
java.xml |
|
javax.xml.parsers |
|
DocumentBuilderFactory |
|
SAXParserFactory |
|
javax.xml.xpath |
|
XPathFactory |
|
This report is based on simple comparison of all public
and
protected
APIs of the java.*
and javax.*
packages of JDK builds 21.0.4+7-LTS-tem and
10.0.2-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.