# Public API removed/added/changed between JDK 25 and 26

## public classes removed
  java.applet.Applet
  java.applet.Applet$AccessibleApplet
  java.applet.AppletContext
  java.applet.AppletStub
  java.applet.AudioClip
  java.beans.AppletInitializer
  java.lang.StableValue
  java.security.PEMRecord
  javax.management.modelmbean.XMLParseException
  javax.swing.JApplet
  javax.swing.JApplet$AccessibleJApplet
## public classes added
  java.lang.LazyConstant
  java.net.http.HttpOption
  java.net.http.HttpOption$Http3DiscoveryMode
  java.net.http.HttpResponse$PushPromiseHandler$PushId
  java.net.http.HttpResponse$PushPromiseHandler$PushId$Http3PushId
  java.net.http.StreamLimitException
  java.net.http.UnsupportedProtocolVersionException
  java.security.PEM
  javax.crypto.spec.HPKEParameterSpec
  jdk.jfr.events.FinalFieldMutationEvent
  jdk.jshell.SourceCodeAnalysis$CompletionContext
  jdk.jshell.SourceCodeAnalysis$CompletionState
  jdk.jshell.SourceCodeAnalysis$ElementSuggestion
  jdk.jshell.SourceCodeAnalysis$ElementSuggestionConvertor
## public class changes
com.sun.net.httpserver.HttpExchange
   + public static final long RSPBODY_CHUNKED;
   + public static final long RSPBODY_EMPTY;
java.awt.Robot
   + public static final int DEFAULT_DELAY;
   + public static final int DEFAULT_STEP_LENGTH;
   + public synchronized void type(char);
   + public synchronized void type(int);
   + public void click();
   + public void click(int);
   + public void glide(int, int);
   + public void glide(int, int, int, int);
   + public void glide(int, int, int, int, int, int);
   + public void waitForIdle(int);
java.beans.Beans
   - public static java.lang.Object instantiate(java.lang.ClassLoader, java.lang.String, java.beans.beancontext.BeanContext, java.beans.AppletInitializer) throws java.io.IOException, java.lang.ClassNotFoundException;
java.lang.Character$UnicodeBlock
   + public static final java.lang.Character$UnicodeBlock BERIA_ERFE;
   + public static final java.lang.Character$UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_J;
   + public static final java.lang.Character$UnicodeBlock MISCELLANEOUS_SYMBOLS_SUPPLEMENT;
   + public static final java.lang.Character$UnicodeBlock SHARADA_SUPPLEMENT;
   + public static final java.lang.Character$UnicodeBlock SIDETIC;
   + public static final java.lang.Character$UnicodeBlock TAI_YO;
   + public static final java.lang.Character$UnicodeBlock TANGUT_COMPONENTS_SUPPLEMENT;
   + public static final java.lang.Character$UnicodeBlock TOLONG_SIKI;
java.lang.Character$UnicodeScript
   + public static final java.lang.Character$UnicodeScript BERIA_ERFE;
   + public static final java.lang.Character$UnicodeScript SIDETIC;
   + public static final java.lang.Character$UnicodeScript TAI_YO;
   + public static final java.lang.Character$UnicodeScript TOLONG_SIKI;
java.lang.Process
   - public abstract class java.lang.Process {
   + public abstract class java.lang.Process implements java.io.Closeable {
   + public void close() throws java.io.IOException;
java.lang.String
   + public boolean equalsFoldCase(java.lang.String);
   + public int compareToFoldCase(java.lang.String);
   + public static final java.util.Comparator<java.lang.String> UNICODE_CASEFOLD_ORDER;
java.lang.Thread
   - public final void stop();
java.lang.classfile.ClassFile
   + public static final int JAVA_26_VERSION;
java.lang.management.MemoryMXBean
   + public default long getTotalGcCpuTime();
java.lang.reflect.ClassFileFormatVersion
   + public static final java.lang.reflect.ClassFileFormatVersion RELEASE_26;
java.math.BigInteger
   + public java.math.BigInteger rootn(int);
   + public java.math.BigInteger[] rootnAndRemainder(int);
java.net.MulticastSocket
   - public byte getTTL() throws java.io.IOException;
   - public void send(java.net.DatagramPacket, byte) throws java.io.IOException;
   - public void setTTL(byte) throws java.io.IOException;
java.net.http.HttpClient$Version
   + public static final java.net.http.HttpClient$Version HTTP_3;
java.net.http.HttpRequest
   + public <T> java.util.Optional<T> getOption(java.net.http.HttpOption<T>);
java.net.http.HttpRequest$BodyPublishers
   + public static java.net.http.HttpRequest$BodyPublisher ofFileChannel(java.nio.channels.FileChannel, long, long) throws java.io.IOException;
java.net.http.HttpRequest$Builder
   + public default <T> java.net.http.HttpRequest$Builder setOption(java.net.http.HttpOption<T>, T);
java.net.http.HttpResponse$PushPromiseHandler
   + public default void applyPushPromise(java.net.http.HttpRequest, java.net.http.HttpRequest, java.net.http.HttpResponse$PushPromiseHandler$PushId, java.util.function.Function<java.net.http.HttpResponse$BodyHandler<T>, java.util.concurrent.CompletableFuture<java.net.http.HttpResponse<T>>>);
   + public default void notifyAdditionalPromise(java.net.http.HttpRequest, java.net.http.HttpResponse$PushPromiseHandler$PushId);
java.nio.ByteOrder
   - public final class java.nio.ByteOrder {
   + public final class java.nio.ByteOrder extends java.lang.Enum<java.nio.ByteOrder> {
   - public java.lang.String toString();
   + public static java.nio.ByteOrder valueOf(java.lang.String);
   + public static java.nio.ByteOrder[] values();
java.security.SecureRandom
   + public long nextLong();
java.sql.Array
   - public interface java.sql.Array {
   + public interface java.sql.Array extends java.lang.AutoCloseable {
   + public default void close() throws java.sql.SQLException;
java.sql.Blob
   - public interface java.sql.Blob {
   + public interface java.sql.Blob extends java.lang.AutoCloseable {
   + public default void close() throws java.sql.SQLException;
java.sql.Clob
   - public interface java.sql.Clob {
   + public interface java.sql.Clob extends java.lang.AutoCloseable {
   + public default void close() throws java.sql.SQLException;
java.sql.Connection
   + public default boolean isSimpleIdentifier(java.lang.String) throws java.sql.SQLException;
   + public default java.lang.String enquoteIdentifier(java.lang.String, boolean) throws java.sql.SQLException;
   + public default java.lang.String enquoteLiteral(java.lang.String) throws java.sql.SQLException;
   + public default java.lang.String enquoteNCharLiteral(java.lang.String) throws java.sql.SQLException;
java.sql.JDBCType
   + public static final java.sql.JDBCType DECFLOAT;
   + public static final java.sql.JDBCType JSON;
java.sql.SQLXML
   - public interface java.sql.SQLXML {
   + public interface java.sql.SQLXML extends java.lang.AutoCloseable {
   + public default void close() throws java.sql.SQLException;
java.sql.Types
   + public static final int DECFLOAT;
   + public static final int JSON;
java.time.Duration
   + public static final java.time.Duration MAX;
   + public static final java.time.Duration MIN;
java.time.Instant
   + public java.time.Instant plusSaturating(java.time.Duration);
java.util.Comparator
   + public default <U extends T> U max(U, U);
   + public default <U extends T> U min(U, U);
java.util.List
   + public static <E> java.util.List<E> ofLazy(int, java.util.function.IntFunction<? extends E>);
java.util.Locale$IsoCountryCode
   - public abstract class java.util.Locale$IsoCountryCode extends java.lang.Enum<java.util.Locale$IsoCountryCode> {
   + public final class java.util.Locale$IsoCountryCode extends java.lang.Enum<java.util.Locale$IsoCountryCode> {
java.util.Map
   + public static <K, V> java.util.Map<K, V> ofLazy(java.util.Set<? extends K>, java.util.function.Function<? super K, ? extends V>);
java.util.UUID
   + public static java.util.UUID ofEpochMillis(long);
java.util.concurrent.StructuredTaskScope
   - public static <T, R> java.util.concurrent.StructuredTaskScope<T, R> open(java.util.concurrent.StructuredTaskScope$Joiner<? super T, ? extends R>, java.util.function.Function<java.util.concurrent.StructuredTaskScope$Configuration, java.util.concurrent.StructuredTaskScope$Configuration>);
   + public static <T, R> java.util.concurrent.StructuredTaskScope<T, R> open(java.util.concurrent.StructuredTaskScope$Joiner<? super T, ? extends R>, java.util.function.UnaryOperator<java.util.concurrent.StructuredTaskScope$Configuration>);
java.util.concurrent.StructuredTaskScope$Joiner
   - public default boolean onComplete(java.util.concurrent.StructuredTaskScope$Subtask<? extends T>);
   - public default boolean onFork(java.util.concurrent.StructuredTaskScope$Subtask<? extends T>);
   - public static <T> java.util.concurrent.StructuredTaskScope$Joiner<T, T> anySuccessfulResultOrThrow();
   - public static <T> java.util.concurrent.StructuredTaskScope$Joiner<T, java.util.stream.Stream<java.util.concurrent.StructuredTaskScope$Subtask<T>>> allSuccessfulOrThrow();
   - public static <T> java.util.concurrent.StructuredTaskScope$Joiner<T, java.util.stream.Stream<java.util.concurrent.StructuredTaskScope$Subtask<T>>> allUntil(java.util.function.Predicate<java.util.concurrent.StructuredTaskScope$Subtask<? extends T>>);
   + public default boolean onComplete(java.util.concurrent.StructuredTaskScope$Subtask<T>);
   + public default boolean onFork(java.util.concurrent.StructuredTaskScope$Subtask<T>);
   + public default void onTimeout();
   + public static <T> java.util.concurrent.StructuredTaskScope$Joiner<T, T> anySuccessfulOrThrow();
   + public static <T> java.util.concurrent.StructuredTaskScope$Joiner<T, java.util.List<T>> allSuccessfulOrThrow();
   + public static <T> java.util.concurrent.StructuredTaskScope$Joiner<T, java.util.List<java.util.concurrent.StructuredTaskScope$Subtask<T>>> allUntil(java.util.function.Predicate<java.util.concurrent.StructuredTaskScope$Subtask<T>>);
java.util.concurrent.ThreadLocalRandom
   + public double nextGaussian();
javax.crypto.EncryptedPrivateKeyInfo
   - public java.security.PrivateKey getKey(char[]) throws java.security.GeneralSecurityException;
   - public java.security.PrivateKey getKey(java.security.Key, java.security.Provider) throws java.security.GeneralSecurityException;
   - public static javax.crypto.EncryptedPrivateKeyInfo encryptKey(java.security.PrivateKey, char[]);
   - public static javax.crypto.EncryptedPrivateKeyInfo encryptKey(java.security.PrivateKey, char[], java.lang.String, java.security.spec.AlgorithmParameterSpec, java.security.Provider);
   - public static javax.crypto.EncryptedPrivateKeyInfo encryptKey(java.security.PrivateKey, java.security.Key, java.lang.String, java.security.spec.AlgorithmParameterSpec, java.security.Provider, java.security.SecureRandom);
   + public java.security.KeyPair getKeyPair(char[]) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException;
   + public java.security.KeyPair getKeyPair(java.security.Key, java.security.Provider) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException;
   + public java.security.PrivateKey getKey(char[]) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException;
   + public java.security.PrivateKey getKey(java.security.Key, java.security.Provider) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException;
   + public static javax.crypto.EncryptedPrivateKeyInfo encrypt(java.security.DEREncodable, char[]);
   + public static javax.crypto.EncryptedPrivateKeyInfo encrypt(java.security.DEREncodable, char[], java.lang.String, java.security.spec.AlgorithmParameterSpec, java.security.Provider);
   + public static javax.crypto.EncryptedPrivateKeyInfo encrypt(java.security.DEREncodable, java.security.Key, java.lang.String, java.security.spec.AlgorithmParameterSpec, java.security.Provider, java.security.SecureRandom);
javax.imageio.spi.ServiceRegistry
   - public void finalize() throws java.lang.Throwable;
javax.lang.model.SourceVersion
   + public static final javax.lang.model.SourceVersion RELEASE_26;
javax.management.modelmbean.DescriptorSupport
   - public javax.management.modelmbean.DescriptorSupport(java.lang.String) throws javax.management.MBeanException, javax.management.RuntimeOperationsException, javax.management.modelmbean.XMLParseException;
   - public synchronized java.lang.String toXMLString();
javax.swing.RepaintManager
   - public void addDirtyRegion(java.applet.Applet, int, int, int, int);
jdk.incubator.vector.VectorOperators
   - public static final jdk.incubator.vector.VectorOperators$Binary SUADD;
   + public static final jdk.incubator.vector.VectorOperators$Associative SUADD;
jdk.jpackage.main.Main
   - public int execute(java.io.PrintWriter, java.io.PrintWriter, java.lang.String...);
   - public static final java.util.ResourceBundle I18N;
   - public static void main(java.lang.String...) throws java.lang.Exception;
   + public static void main(java.lang.String...);
jdk.jshell.SourceCodeAnalysis
   + public abstract <S> java.util.List<S> completionSuggestions(java.lang.String, int, jdk.jshell.SourceCodeAnalysis$ElementSuggestionConvertor<S>);
jdk.jshell.SourceCodeAnalysis$Documentation
   + public default int activeParameterIndex();
