# Deprecated API

## Contents

- Interfaces
- Classes
- Exceptions
- Fields
- Methods
- Constructors
- Enum Constants

- Deprecated Interfaces
  Interface
  Description
  org.apache.catalina.GSSRealm
  This will be removed in Tomcat 9 and integrated into `Realm`.
  org.apache.tomcat.jni.BIOCallback
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.PasswordCallback
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.PoolCallback
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.ProcErrorCallback
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.util.codec.BinaryDecoder
  This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.BinaryEncoder
  This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.Decoder
  This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.Encoder
  This interface is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.digester.DocumentProperties.Encoding
  This method will be removed in Tomcat 9

- Deprecated Classes
  Class
  Description
  org.apache.catalina.realm.Constants
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.realm.JDBCRealm
  Will be removed in Tomcat 10 onwards. Use the DataSourceRealm instead.
  org.apache.catalina.session.JDBCStore
  Removed in Tomcat 10 and replaced by DataSourceStore with removal of legacy JDBC code
  org.apache.catalina.users.MemoryGroup
  Use `AbstractGroup` instead.
  org.apache.catalina.users.MemoryRole
  Use `AbstractRole` instead.
  org.apache.catalina.users.MemoryUser
  Use `AbstractUser` instead.
  org.apache.catalina.util.ConcurrentDateFormat
  Unused. This will be removed in Tomcat 10. Use `ConcurrentDateFormat`
  org.apache.catalina.util.MIME2Java
  Unused. Will be removed in Tomcat 9.
  org.apache.catalina.util.SystemPropertyReplacerListener
  No longer used. Will be removed in Tomcat 9.
  org.apache.coyote.ajp.AjpAprProtocol
  The APR/Native Connector will be removed in Tomcat 10.1.x onwards.
  org.apache.coyote.ajp.AjpProtocol
  This class will be removed in Tomcat 9.
  org.apache.coyote.ContainerThreadMarker
  Unused. Will be removed in Tomcat 10.1.x
  org.apache.coyote.http11.Http11AprProtocol
  The APR/Native Connector will be removed in Tomcat 10.1.x onwards.
  org.apache.coyote.http11.Http11Protocol
  This class will be removed in Tomcat 9.
  org.apache.jasper.el.ELResolverImpl
  org.apache.jasper.el.ExpressionEvaluatorImpl
  org.apache.jasper.el.ExpressionImpl
  org.apache.jasper.el.FunctionMapperImpl
  org.apache.jasper.el.VariableResolverImpl
  org.apache.jasper.xmlparser.ASCIIReader
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.EncodingMap
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.SymbolTable
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.UCSReader
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.UTF8Reader
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLChar
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLEncodingDetector
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLString
  Will be removed in Tomcat 9.0.x onwards
  org.apache.jasper.xmlparser.XMLStringBuffer
  Will be removed in Tomcat 9.0.x onwards
  org.apache.naming.Constants
  Unused. Will be removed in Tomcat 9.
  org.apache.tomcat.dbcp.dbcp2.cpdsadapter.PStmtKeyCPDS
  Use `PStmtKey`.
  org.apache.tomcat.jni.Address
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Directory
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.File
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.FileInfo
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Global
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Local
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Lock
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Mmap
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Multicast
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.OS
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Poll
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Proc
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Procattr
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Registry
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Shm
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Sockaddr
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Socket
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.SSLSocket
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Status
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Stdlib
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Thread
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.Time
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.jni.User
  The scope of the APR/Native Library will be reduced in Tomcat 10.1.x / Tomcat Native 2.x onwards to only include those components required to provide OpenSSL integration with the NIO and NIO2 connectors.
  org.apache.tomcat.util.compat.TLS
  Unused. This will be removed in Tomcat 10.
  org.apache.tomcat.util.digester.Digester.EnvironmentPropertySource
  Use `EnvironmentPropertySource` This will be removed in Tomcat 10 onwards.
  org.apache.tomcat.util.digester.RuleSetBase
  Unnecessary once deprecated methods are removed. Will be removed in Tomcat 9.
  org.apache.tomcat.util.http.parser.Vary
  Use `TokenList`.
  org.apache.tomcat.util.net.AprEndpoint
  The APR/Native Connector will be removed in Tomcat 10.1.x onwards.
  org.apache.tomcat.util.net.AprSSLSupport
  The APR/Native Connector will be removed in Tomcat 10.1.x onwards.
  org.apache.tomcat.util.net.ContainerThreadMarker
  Unused. Will be removed in Tomcat 10.1.x
  org.apache.tomcat.util.security.MD5Encoder
  Unused. Use `HexUtils` instead. Will be removed in Tomcat 11.

- Deprecated Exceptions
  Exceptions
  Description
  org.apache.tomcat.jni.Error
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.util.codec.DecoderException
  This exception is unused and will be removed in Tomcat 9
  org.apache.tomcat.util.codec.EncoderException
  This exception is unused and will be removed in Tomcat 9

- Deprecated Fields
  Field
  Description
  org.apache.catalina.authenticator.Constants.FORM_PRINCIPAL_NOTE
  Unused. Will be removed in Tomcat 10.
  org.apache.catalina.authenticator.Constants.USE_SUBJECT_CREDS_ONLY_PROPERTY
  Unused. Will be removed in Tomcat 9.
  org.apache.catalina.connector.Connector.URIEncoding
  This will be removed in 9.0.x onwards
  org.apache.catalina.connector.Connector.URIEncodingLower
  This will be removed in 9.0.x onwards
  org.apache.catalina.connector.Request.formats
  Unused. This will be removed in Tomcat 10
  org.apache.catalina.connector.Request.GMT_ZONE
  Unused. This will be removed in Tomcat 10.
  org.apache.catalina.connector.Response.format
  Unused. This will be removed in Tomcat 10
  org.apache.catalina.core.Constants.Package
  org.apache.catalina.core.StandardWrapper.instancePool
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.core.StandardWrapper.maxInstances
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.core.StandardWrapper.nInstances
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.core.StandardWrapper.singleThreadModel
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.filters.CorsFilter.REQUEST_HEADER_VARY
  Unused. Will be removed in Tomcat 10
  org.apache.catalina.Globals.SSI_FLAG_ATTR
  Unused. This is no longer used as the CGIO servlet now has generic handling for when it is used as an include. This will be removed in Tomcat 10
  org.apache.catalina.ha.deploy.FileMessageFactory.creationTime
  Unused. This will be removed in Tomcat 11.
  org.apache.catalina.ha.session.DeltaManager.managerName
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.loader.WebappClassLoaderBase.allPermission
  Unused. This will be removed in Tomcat 9.
  org.apache.catalina.mapper.MappingData.contextPath
  Unused. This will be removed in Tomcat 10.
  org.apache.catalina.realm.CombinedRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.DataSourceRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.JAASRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.JDBCRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.JNDIRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.MemoryRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.realm.UserDatabaseRealm.name
  This will be removed in Tomcat 9 onwards.
  org.apache.catalina.servlets.DefaultServlet.RESOURCES_JNDI_NAME
  Unused. Will be removed in Tomcat 9.
  org.apache.catalina.session.StandardSession.sessionContext
  org.apache.catalina.startup.HostConfig.serviced
  Unused. Will be removed in Tomcat 10.1.x onwards. Replaced by the private `servicedSet` field.
  org.apache.catalina.tribes.membership.MemberImpl.DO_DNS_LOOKUPS
  This will be removed without replacement in Tomact 10 onwards
  org.apache.catalina.util.DOMWriter.canonical
  Will be made private in Tomcat 9.
  org.apache.catalina.util.DOMWriter.out
  Will be made private in Tomcat 9.
  org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING
  This will be removed in Tomcat 9.0.x onwards.
  org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER
  This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.coyote.http11.Constants.ACK_BYTES_REASON
  This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.coyote.http11.Constants.CLOSE_BYTES
  Unused. Will be removed in Tomcat 10.
  org.apache.coyote.http11.Constants.KEEPALIVE
  Unused. Will be removed in Tomcat 10.
  org.apache.coyote.http11.Constants.KEEPALIVE_BYTES
  Unused. Will be removed in Tomcat 10.
  org.apache.coyote.http2.Constants.DEFAULT_WEIGHT
  Unused. Will be removed in Tomcat 11 onwards.
  org.apache.tomcat.jni.Library.APR_CHARSET_EBCDIC
  org.apache.tomcat.jni.Library.APR_FILES_AS_SOCKETS
  org.apache.tomcat.jni.Library.APR_HAS_DSO
  org.apache.tomcat.jni.Library.APR_HAS_FORK
  org.apache.tomcat.jni.Library.APR_HAS_LARGE_FILES
  org.apache.tomcat.jni.Library.APR_HAS_MMAP
  org.apache.tomcat.jni.Library.APR_HAS_OS_UUID
  org.apache.tomcat.jni.Library.APR_HAS_OTHER_CHILD
  org.apache.tomcat.jni.Library.APR_HAS_PROC_INVOKED
  org.apache.tomcat.jni.Library.APR_HAS_RANDOM
  org.apache.tomcat.jni.Library.APR_HAS_SENDFILE
  org.apache.tomcat.jni.Library.APR_HAS_SHARED_MEMORY
  org.apache.tomcat.jni.Library.APR_HAS_SO_ACCEPTFILTER
  org.apache.tomcat.jni.Library.APR_HAS_THREADS
  org.apache.tomcat.jni.Library.APR_HAS_UNICODE_FS
  org.apache.tomcat.jni.Library.APR_HAS_USER
  org.apache.tomcat.jni.Library.APR_HAS_XTHREAD_FILES
  org.apache.tomcat.jni.Library.APR_HAVE_IPV6
  org.apache.tomcat.jni.Library.APR_IS_BIGENDIAN
  org.apache.tomcat.jni.Library.APR_MAX_IOVEC_SIZE
  org.apache.tomcat.jni.Library.APR_MAX_SECS_TO_LINGER
  org.apache.tomcat.jni.Library.APR_MMAP_LIMIT
  org.apache.tomcat.jni.Library.APR_MMAP_THRESHOLD
  org.apache.tomcat.jni.Library.APR_O_NONBLOCK_INHERITED
  org.apache.tomcat.jni.Library.APR_PATH_MAX
  org.apache.tomcat.jni.Library.APR_SIZEOF_VOIDP
  org.apache.tomcat.jni.Library.APR_TCP_NODELAY_INHERITED
  org.apache.tomcat.jni.Library.APRMAXHOSTLEN
  org.apache.tomcat.jni.OS.IS_NETWARE
  Hard-coded to false since there has not been a supported Netware platform for many years. This will be removed in Tomcat 10 onwards
  org.apache.tomcat.jni.SSL.SSL_OP_PKCS1_CHECK_1
  Unsupported in the current version of OpenSSL
  org.apache.tomcat.jni.SSL.SSL_OP_PKCS1_CHECK_2
  Unsupported in the current version of OpenSSL
  org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH
  org.apache.tomcat.util.digester.CallMethodRule.paramClassNames
  Unused. This will be removed in Tomcat 9.
  org.apache.tomcat.util.digester.RulesBase.namespaceURI
  Unused. Will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.digester.RuleSetBase.namespaceURI
  Unused. This will be removed in Tomcat 9.
  org.apache.tomcat.util.http.FastHttpDateFormat.RFC1123_DATE
  Unused. This will be removed in Tomcat 10.
  org.apache.tomcat.util.http.Parameters.DEFAULT_ENCODING
  This will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.net.AbstractEndpoint.acceptorThreadCount
  This attribute is hard-coded to `1` and is no longer configurable. It will be removed in Tomcat 10.1.

- Deprecated Methods
  Method
  Description
  org.apache.catalina.authenticator.DigestAuthenticator.DigestInfo.validate(Request)
  org.apache.catalina.connector.Connector.getAttribute(String)
  Use `Connector.getProperty(String)`. This will be removed in Tomcat 10 onwards.
  org.apache.catalina.connector.Connector.getURIEncodingLower()
  This will be removed in 9.0.x onwards
  org.apache.catalina.connector.Connector.setAttribute(String, Object)
  Use `Connector.setProperty(String, String)`. This will be removed in Tomcat 10 onwards.
  org.apache.catalina.connector.Connector.setProtocol(String)
  Will be removed in Tomcat 9. Protocol must be configured via the constructor
  org.apache.catalina.connector.Connector.setProtocolHandlerClassName(String)
  Will be removed in Tomcat 9. Protocol must be configured via the constructor
  org.apache.catalina.connector.InputBuffer.setEncoding(String)
  This method will be removed in Tomcat 9.0.x
  org.apache.catalina.connector.OutputBuffer.setEncoding(String)
  This method will be removed in Tomcat 9.0.x
  org.apache.catalina.connector.Request.getRealPath(String)
  As of version 2.1 of the Java Servlet API, use `ServletContext.getRealPath()`.
  org.apache.catalina.connector.Request.isRequestedSessionIdFromUrl()
  As of Version 2.1 of the Java Servlet API, use `isRequestedSessionIdFromURL()` instead.
  org.apache.catalina.connector.Request.readPostBody(byte[], int)
  Unused. Will be removed in Tomcat 11.0.x onwards. Use `Request.readPostBodyFully(byte[], int)`
  org.apache.catalina.connector.Request.setContext(Context)
  Use setters on `MappingData` object. Depending on use case, you may need to update other `MappingData` fields as well, such as `contextSlashCount` and `host`.
  org.apache.catalina.connector.Request.setWrapper(Wrapper)
  Use setters on `MappingData` object. Depending on use case, you may need to update other `MappingData` fields as well, such as `context` and `contextSlashCount`.
  org.apache.catalina.connector.Response.encodeRedirectUrl(String)
  As of Version 2.1 of the Java Servlet API, use `encodeRedirectURL()` instead.
  org.apache.catalina.connector.Response.encodeUrl(String)
  As of Version 2.1 of the Java Servlet API, use `encodeURL()` instead.
  org.apache.catalina.connector.Response.sendAcknowledgement()
  Unused. Will be removed in Tomcat 10. Use `Response.sendAcknowledgement(ContinueResponseTiming)`.
  org.apache.catalina.connector.Response.setStatus(int, String)
  As of Version 2.1 of the Java Servlet API, this method has been deprecated due to the ambiguous meaning of the message parameter.
  org.apache.catalina.Context.addServletMapping(String, String)
  Will be removed in Tomcat 9. Use `Context.addServletMappingDecoded(String, String)`
  org.apache.catalina.Context.addServletMapping(String, String, boolean)
  Will be removed in Tomcat 9. Use `Context.addServletMappingDecoded(String, String, boolean)`
  org.apache.catalina.Context.findErrorPage(String)
  Unused. Will be removed in Tomcat 10. Use `Context.findErrorPage(Throwable)` instead.
  org.apache.catalina.Context.findStatusPage(int)
  Unused. Will be removed in Tomcat 10. Use `Context.findErrorPage(int)` instead.
  org.apache.catalina.Context.findStatusPages()
  Unused. Will be removed in Tomcat 10. Use `Context.findErrorPages()` instead.
  org.apache.catalina.core.ApplicationContext.getServlet(String)
  org.apache.catalina.core.ApplicationContext.getServletNames()
  org.apache.catalina.core.ApplicationContext.getServlets()
  org.apache.catalina.core.ApplicationContext.log(Exception, String)
  org.apache.catalina.core.ApplicationContextFacade.getServlet(String)
  As of Java Servlet API 2.1, with no direct replacement.
  org.apache.catalina.core.ApplicationContextFacade.getServletNames()
  As of Java Servlet API 2.1, with no direct replacement.
  org.apache.catalina.core.ApplicationContextFacade.getServlets()
  As of Java Servlet API 2.1, with no direct replacement.
  org.apache.catalina.core.ApplicationContextFacade.log(Exception, String)
  As of Java Servlet API 2.1, use `log(String, Throwable)` instead
  org.apache.catalina.core.NamingContextListener.containerEvent(ContainerEvent)
  The `ContainerListener` interface and implementing methods will be removed from this class for Tomcat 10 onwards.
  org.apache.catalina.core.StandardContext.addServletMapping(String, String)
  org.apache.catalina.core.StandardContext.addServletMapping(String, String, boolean)
  org.apache.catalina.core.StandardContext.dynamicServletAdded(Wrapper)
  This will be removed in Tomcat 9. The registration should be created directly.
  org.apache.catalina.core.StandardContext.findErrorPage(String)
  org.apache.catalina.core.StandardContext.findStatusPage(int)
  org.apache.catalina.core.StandardContext.findStatusPages()
  org.apache.catalina.core.StandardThreadExecutor.execute(Runnable, long, TimeUnit)
  org.apache.catalina.core.StandardWrapper.getMaxInstances()
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.core.StandardWrapper.isContainerProvidedServlet(String)
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.core.StandardWrapper.isSingleThreadModel()
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.core.StandardWrapper.setMaxInstances(int)
  This will be removed in Tomcat 10.1 onwards.
  org.apache.catalina.Executor.execute(Runnable, long, TimeUnit)
  Unused. Will be removed in Tomcat 10.1.x onwards.
  org.apache.catalina.filters.CorsFilter.isValidOrigin(String)
  This will be removed in Tomcat 10 Use `RequestUtil.isValidOrigin(String)`
  org.apache.catalina.filters.CsrfPreventionFilter.CsrfResponseWrapper.encodeRedirectUrl(String)
  org.apache.catalina.filters.CsrfPreventionFilter.CsrfResponseWrapper.encodeUrl(String)
  org.apache.catalina.filters.CsrfPreventionFilterBase.generateNonce()
  Use `CsrfPreventionFilterBase.generateNonce(HttpServletRequest)` instead. This method will be removed in Apache Tomcat 10.1.x onwards.
  org.apache.catalina.filters.ExpiresFilter.commaDelimitedListToStringArray(String)
  Unused. Will be removed in Tomcat 11.
  org.apache.catalina.filters.ExpiresFilter.getExpirationDate(ExpiresFilter.XHttpServletResponse)
  Will be removed in Tomcat 10. Use `ExpiresFilter.getExpirationDate(HttpServletRequest, XHttpServletResponse)`
  org.apache.catalina.filters.HttpHeaderSecurityFilter.isXssProtectionEnabled()
  org.apache.catalina.filters.HttpHeaderSecurityFilter.setXssProtectionEnabled(boolean)
  org.apache.catalina.filters.RemoteIpFilter.commaDelimitedListToStringArray(String)
  Unused. Will be removed in Tomcat 11 onwards.
  org.apache.catalina.filters.RemoteIpFilter.listToCommaDelimitedString(List<String>)
  Unused. Will be removed in Tomcat 11 onwards
  org.apache.catalina.ha.deploy.FarmWarDeployer.addServiced(String)
  Unused. Will be removed in Tomcat 10.1.x onwards. Use `FarmWarDeployer.tryAddServiced(java.lang.String)`
  org.apache.catalina.ha.deploy.FarmWarDeployer.isServiced(String)
  Unused. Will be removed in Tomcat 10.1.x onwards.
  org.apache.catalina.ha.deploy.FileMessageFactory.main(String[])
  This method will be removed in Tomcat 10.0.x
  org.apache.catalina.ha.session.DeltaManager.changeSessionId(Session, boolean)
  Will be removed in Tomcat 10
  org.apache.catalina.ha.session.DeltaManager.deserializeDeltaRequest(DeltaSession, byte[])
  Unused. This will be removed in Tomcat 10. Calling this method may result in a deadlock. See: https://bz.apache.org/bugzilla/show_bug.cgi?id=62841
  org.apache.catalina.ha.session.DeltaManager.getCounterNoStateTransfered()
  Use `DeltaManager.getCounterNoStateTransferred()`. Will be removed in Tomcat 10 onwards.
  org.apache.catalina.ha.session.DeltaManager.getNewDeltaSession()
  Unused. This will be removed in Tomcat 10.
  org.apache.catalina.ha.session.DeltaManager.getStateTransfered()
  Use `DeltaManager.getStateTransferred()`. Will be removed in Tomcat 10 onwards.
  org.apache.catalina.ha.session.DeltaManager.serializeDeltaRequest(DeltaSession, DeltaRequest)
  Unused. This will be removed in Tomcat 10. Calling this method may result in a deadlock. See: https://bz.apache.org/bugzilla/show_bug.cgi?id=62841
  org.apache.catalina.ha.session.DeltaManager.setStateTransfered(boolean)
  Use `DeltaManager.setStateTransferred(boolean)`. Will be removed in Tomcat 10 onwards.
  org.apache.catalina.ha.session.DeltaSession.getDeltaRequest()
  Unused. This method will be removed in Tomcat 12.
  org.apache.catalina.Loader.getReloadable()
  Use `Context.getReloadable()`. This method will be removed in Tomcat 10.
  org.apache.catalina.Loader.setReloadable(boolean)
  Use `Context.setReloadable(boolean)`. This method will be removed in Tomcat 10.
  org.apache.catalina.loader.WebappClassLoaderBase.filter(String)
  Use `WebappClassLoaderBase.filter(String, boolean)` This will be removed in Tomcat 9
  org.apache.catalina.loader.WebappClassLoaderBase.getResources()
  This will be removed in Tomcat 10.1.x onwards
  org.apache.catalina.manager.ManagerServlet.addServiced(String)
  Unused. Will be removed in Tomcat 10.1.x onwards. Use `ManagerServlet.tryAddServiced(java.lang.String)`
  org.apache.catalina.manager.ManagerServlet.isServiced(String)
  Unused. Will be removed in Tomcat 10.1.x onwards.
  org.apache.catalina.manager.ManagerServlet.printResources(PrintWriter, String, Context, String, Class<?>, StringManager)
  Use `ManagerServlet.printResources(PrintWriter, String, javax.naming.Context, String, StringManager)` This method will be removed in Tomcat 10.x onwards
  org.apache.catalina.manager.StatusTransformer.filter(Object)
  This method will be removed in Tomcat 9
  org.apache.catalina.manager.StatusTransformer.filterXml(String)
  This method will be removed in Tomcat 9
  org.apache.catalina.mbeans.ContextMBean.findErrorPage(String)
  Unused. Will be removed in Tomcat 10. Use `ContextMBean.findErrorPage(Throwable)` instead.
  org.apache.catalina.mbeans.MBeanFactory.createJDBCRealm(String, String, String, String, String)
  This method will be removed in Tomcat 10. Use a DataSourceRealm instead.
  org.apache.catalina.Realm.authenticate(String, String, String, String, String, String, String, String)
  Unused. Use `Realm.authenticate(String, String, String, String, String, String, String, String, String)`. Will be removed in Tomcat 11.
  org.apache.catalina.realm.CombinedRealm.getName()
  org.apache.catalina.realm.DataSourceRealm.getName()
  org.apache.catalina.Realm.getRoles(Principal)
  This will be removed in Tomcat 10.
  org.apache.catalina.realm.JAASRealm.getName()
  org.apache.catalina.realm.JDBCRealm.getName()
  org.apache.catalina.realm.JNDIRealm.doRFC2254Encoding(String)
  Will be removed in Tomcat 10.1.x onwards
  org.apache.catalina.realm.JNDIRealm.getName()
  org.apache.catalina.realm.MemoryRealm.getName()
  org.apache.catalina.realm.NullRealm.getName()
  org.apache.catalina.realm.RealmBase.authenticate(String, String, String, String, String, String, String, String)
  org.apache.catalina.realm.RealmBase.Digest(String, String, String)
  Unused. This will be removed in Tomcat 9.
  org.apache.catalina.realm.RealmBase.getDigest(String, String)
  Unused. Use `RealmBase.getDigest(String, String, String)`. Will be removed in Tomcat 11.
  org.apache.catalina.realm.RealmBase.getName()
  This will be removed in Tomcat 9 onwards. Use `Class.getSimpleName()` instead.
  org.apache.catalina.realm.RealmBase.getPrincipal(String, GSSCredential)
  This will be removed in Tomcat 10 onwards. Use `RealmBase.getPrincipal(GSSName, GSSCredential)` instead.
  org.apache.catalina.realm.UserDatabaseRealm.getName()
  org.apache.catalina.servlets.DefaultServlet.copy(WebResource, InputStream, PrintWriter, String)
  Unused. This will be removed in Tomcat 9. Use `DefaultServlet.copy(InputStream, PrintWriter, String)`
  org.apache.catalina.servlets.DefaultServlet.copy(WebResource, InputStream, ServletOutputStream)
  Unused. This will be removed in Tomcat 9. Use `DefaultServlet.copy(InputStream, ServletOutputStream)`
  org.apache.catalina.servlets.DefaultServlet.getReadme(WebResource)
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.render(String, WebResource)
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.render(String, WebResource, String)
  Use `DefaultServlet.render(HttpServletRequest, String, WebResource, String)` instead
  org.apache.catalina.servlets.DefaultServlet.renderHtml(String, WebResource)
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.renderHtml(String, WebResource, String)
  Unused. Will be removed in Tomcat 10
  org.apache.catalina.servlets.DefaultServlet.renderXml(String, WebResource, Source)
  Unused. Will be removed in Tomcat 9
  org.apache.catalina.servlets.DefaultServlet.renderXml(String, WebResource, Source, String)
  Unused. Will be removed in Tomcat 10
  org.apache.catalina.session.ManagerBase.getPersistAuthenticationNotes()
  Will be removed in Tomcat 10.1.x where it is effectively hard-coded to `true`
  org.apache.catalina.session.ManagerBase.setPersistAuthenticationNotes(boolean)
  Will be removed in Tomcat 10.1.x where it is effectively hard-coded to `true`
  org.apache.catalina.session.StandardSession.getSessionContext()
  As of Version 2.1, this method is deprecated and has no replacement. It will be removed in a future version of the Java Servlet API.
  org.apache.catalina.session.StandardSession.getValue(String)
  As of Version 2.2, this method is replaced by `getAttribute()`
  org.apache.catalina.session.StandardSession.getValueNames()
  As of Version 2.2, this method is replaced by `getAttributeNames()`
  org.apache.catalina.session.StandardSession.putValue(String, Object)
  As of Version 2.2, this method is replaced by `setAttribute()`
  org.apache.catalina.session.StandardSession.removeValue(String)
  As of Version 2.2, this method is replaced by `removeAttribute()`
  org.apache.catalina.session.StandardSessionFacade.getSessionContext()
  As of Version 2.1, this method is deprecated and has no replacement.
  org.apache.catalina.session.StandardSessionFacade.getValue(String)
  As of Version 2.2, this method is replaced by `StandardSessionFacade.getAttribute(java.lang.String)`.
  org.apache.catalina.session.StandardSessionFacade.getValueNames()
  As of Version 2.2, this method is replaced by `StandardSessionFacade.getAttributeNames()`
  org.apache.catalina.session.StandardSessionFacade.putValue(String, Object)
  As of Version 2.2, this method is replaced by `StandardSessionFacade.setAttribute(java.lang.String, java.lang.Object)`
  org.apache.catalina.session.StandardSessionFacade.removeValue(String)
  As of Version 2.2, this method is replaced by `StandardSessionFacade.removeAttribute(java.lang.String)`
  org.apache.catalina.startup.Catalina.initDirs()
  unused. Will be removed in Tomcat 10 onwards.
  org.apache.catalina.startup.HostConfig.addServiced(String)
  Unused. This method will be removed in Tomcat 10.1.x onwards. Use `HostConfig.tryAddServiced(java.lang.String)` instead.
  org.apache.catalina.startup.HostConfig.isServiced(String)
  Unused. This method will be removed in Tomcat 10.1.x onwards. Use `HostConfig.tryAddServiced(java.lang.String)` instead.
  org.apache.catalina.startup.Tomcat.addWebapp(Host, String, String, ContextConfig)
  Use `Tomcat.addWebapp(Host, String, String, LifecycleListener)` instead
  org.apache.catalina.storeconfig.StoreAppender.convertStr(String)
  This method will be removed in Tomcat 9
  org.apache.catalina.users.MemoryUserDatabase.isWriteable()
  Use `MemoryUserDatabase.isWritable()`. This method will be removed in Tomcat 10.1.x onwards.
  org.apache.catalina.util.DOMWriter.getWriterEncoding()
  Unused. Will be removed in Tomcat 9.
  org.apache.catalina.util.DOMWriter.normalize(String)
  Will be made private in Tomcat 9.
  org.apache.catalina.util.DOMWriter.sortAttributes(NamedNodeMap)
  Will be made private in Tomcat 9.
  org.apache.catalina.util.RequestUtil.filter(String)
  This method will be removed in Tomcat 9
  org.apache.catalina.util.URLEncoder.encode(String)
  Use `URLEncoder.encode(String, String)`
  org.apache.catalina.util.URLEncoder.encode(String, String)
  This will be removed in Tomcat 9.0.x
  org.apache.catalina.valves.RemoteIpValve.commaDelimitedListToStringArray(String)
  Unused. Will be removed in Tomcat 11.
  org.apache.catalina.valves.RemoteIpValve.listToCommaDelimitedString(List<String>)
  Unused. This will be removed in Tomcat 10.1.x onwards. Use `StringUtils.join(java.util.Collection)` instead
  org.apache.catalina.valves.rewrite.Resolver.getUriEncoding()
  This will be removed in Tomcat 9.0.x
  org.apache.catalina.valves.rewrite.ResolverImpl.getUriEncoding()
  org.apache.catalina.Wrapper.servletSecurityAnnotationScan()
  This will be removed in Tomcat 9.
  org.apache.catalina.Wrapper.setServletSecurityAnnotationScanRequired(boolean)
  This will be removed in Tomcat 9.
  org.apache.coyote.AbstractProcessor.ack()
  Unused. This will be removed in Tomcat 10 onwards. Use `AbstractProcessor.ack(ContinueResponseTiming)`.
  org.apache.coyote.AbstractProtocol.getAcceptorThreadCount()
  This attribute is hard-coded to `1` and is no longer configurable.
  org.apache.coyote.AbstractProtocol.getBacklog()
  org.apache.coyote.AbstractProtocol.getSendReasonPhrase()
  This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.coyote.AbstractProtocol.getSoLinger()
  org.apache.coyote.AbstractProtocol.getSoTimeout()
  org.apache.coyote.AbstractProtocol.setAcceptorThreadCount(int)
  This attribute is hard-coded to `1` and is no longer configurable.
  org.apache.coyote.AbstractProtocol.setBacklog(int)
  org.apache.coyote.AbstractProtocol.setSendReasonPhrase(boolean)
  This option will be removed in Tomcat 9. Reason phrase will not be sent.
  org.apache.coyote.AbstractProtocol.setSoLinger(int)
  org.apache.coyote.AbstractProtocol.setSoTimeout(int)
  org.apache.coyote.ajp.AbstractAjpProtocol.getRequiredSecret()
  Replaced by `AbstractAjpProtocol.getSecret()`. Will be removed in Tomcat 11 onwards
  org.apache.coyote.ajp.AbstractAjpProtocol.setRequiredSecret(String)
  Replaced by `AbstractAjpProtocol.setSecret(String)`. Will be removed in Tomcat 11 onwards
  org.apache.coyote.ajp.AjpProcessor.setRequiredSecret(String)
  org.apache.coyote.ajp.AjpProcessor.SocketInputBuffer.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `AjpProcessor.SocketInputBuffer.doRead(ApplicationBufferHandler)`
  org.apache.coyote.ajp.AjpProcessor.SocketOutputBuffer.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `AjpProcessor.SocketOutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.CompressionConfig.getNoCompressionStrongETag()
  Will be removed in Tomcat 10 where it will be hard-coded to `true`
  org.apache.coyote.CompressionConfig.setNoCompressionStrongETag(boolean)
  Will be removed in Tomcat 10 where it will be hard-coded to `true`
  org.apache.coyote.http11.AbstractHttp11Protocol.getAllowHostHeaderMismatch()
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `false`.
  org.apache.coyote.http11.AbstractHttp11Protocol.getCompressableMimeType()
  Use `AbstractHttp11Protocol.getCompressibleMimeType()`
  org.apache.coyote.http11.AbstractHttp11Protocol.getCompressableMimeTypes()
  Use `AbstractHttp11Protocol.getCompressibleMimeTypes()`
  org.apache.coyote.http11.AbstractHttp11Protocol.getNoCompressionStrongETag()
  org.apache.coyote.http11.AbstractHttp11Protocol.getRejectIllegalHeader()
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `true`.
  org.apache.coyote.http11.AbstractHttp11Protocol.getRejectIllegalHeaderName()
  Now an alias for `AbstractHttp11Protocol.getRejectIllegalHeader()`. Will be removed in Tomcat 10 onwards.
  org.apache.coyote.http11.AbstractHttp11Protocol.setAllowHostHeaderMismatch(boolean)
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `false`.
  org.apache.coyote.http11.AbstractHttp11Protocol.setCompressableMimeType(String)
  Use `AbstractHttp11Protocol.setCompressibleMimeType(String)`
  org.apache.coyote.http11.AbstractHttp11Protocol.setNoCompressionStrongETag(boolean)
  org.apache.coyote.http11.AbstractHttp11Protocol.setRejectIllegalHeader(boolean)
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `true`.
  org.apache.coyote.http11.AbstractHttp11Protocol.setRejectIllegalHeaderName(boolean)
  Now an alias for `AbstractHttp11Protocol.setRejectIllegalHeader(boolean)`. Will be removed in Tomcat 10 onwards.
  org.apache.coyote.http11.filters.BufferedInputFilter.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `BufferedInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.ChunkedInputFilter.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `ChunkedInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `ChunkedOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.GzipOutputFilter.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `GzipOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.IdentityInputFilter.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `IdentityInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `IdentityOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.filters.SavedRequestInputFilter.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `SavedRequestInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.VoidInputFilter.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `VoidInputFilter.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.filters.VoidOutputFilter.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `VoidOutputFilter.doWrite(ByteBuffer)`
  org.apache.coyote.http11.Http11InputBuffer.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `Http11InputBuffer.doRead(ApplicationBufferHandler)`
  org.apache.coyote.http11.Http11NioProtocol.getPollerThreadCount()
  This getter will be removed in Tomcat 10.
  org.apache.coyote.http11.Http11NioProtocol.setPollerThreadCount(int)
  This setter will be removed in Tomcat 10.
  org.apache.coyote.http11.Http11OutputBuffer.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `Http11OutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.http11.Http11OutputBuffer.SocketOutputBuffer.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `Http11OutputBuffer.SocketOutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.http11.Http11Processor.getCompression()
  Use `AbstractHttp11Protocol.getCompression()`
  org.apache.coyote.http11.Http11Processor.setCompressableMimeTypes(String[])
  Use `AbstractHttp11Protocol.setCompressibleMimeType(String)`
  org.apache.coyote.http11.Http11Processor.setCompressibleMimeTypes(String[])
  Use `AbstractHttp11Protocol.setCompressibleMimeType(String)`
  org.apache.coyote.http11.Http11Processor.setCompression(String)
  Use `AbstractHttp11Protocol.setCompression(String)`
  org.apache.coyote.http11.Http11Processor.setCompressionMinSize(int)
  Use `AbstractHttp11Protocol.setCompressionMinSize(int)`
  org.apache.coyote.http11.Http11Processor.setNoCompressionUserAgents(String)
  Use `AbstractHttp11Protocol.setNoCompressionUserAgents(String)`
  org.apache.coyote.http11.Http11Processor.setServer(String)
  Use `AbstractHttp11Protocol.setServer(String)`
  org.apache.coyote.http11.Http11Processor.setServerRemoveAppProvidedValues(boolean)
  org.apache.coyote.http2.Http2OutputBuffer.doWrite(ByteChunk)
  org.apache.coyote.http2.Http2Protocol.getNoCompressionStrongETag()
  org.apache.coyote.http2.Http2Protocol.setNoCompressionStrongETag(boolean)
  org.apache.coyote.InputBuffer.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `InputBuffer.doRead(ApplicationBufferHandler)`
  org.apache.coyote.OutputBuffer.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `OutputBuffer.doWrite(ByteBuffer)`
  org.apache.coyote.ProtocolHandler.isAprRequired()
  This method will be removed in Tomcat 10.1.x onwards
  org.apache.coyote.Request.doRead(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `Request.doRead(ApplicationBufferHandler)`
  org.apache.coyote.Request.setCharacterEncoding(String)
  This method will be removed in Tomcat 9.0.x
  org.apache.coyote.Response.doWrite(ByteChunk)
  Unused. Will be removed in Tomcat 9. Use `Response.doWrite(ByteBuffer)`
  org.apache.jasper.compiler.JspUtil.escapeXml(String)
  This method will be removed in Tomcat 9
  org.apache.jasper.compiler.SmapGenerator.addSmap(String, String)
  Unused. This will be removed in Tomcat 9.0.x
  org.apache.jasper.compiler.SmapGenerator.addStratum(SmapStratum, boolean)
  Use `SmapGenerator.setStratum(SmapStratum)`
  org.apache.jasper.compiler.SmapGenerator.setDoEmbedded(boolean)
  Unused. Will be removed in Tomcat 9.0.x
  org.apache.jasper.compiler.SmapStratum.getStratumName()
  Unused. This will be removed in Tomcat 9.0.x
  org.apache.jasper.JspC.scanFiles(File)
  This will be removed in Tomcat 10. Use `JspC.scanFiles()`
  org.apache.jasper.JspC.setWebXmlFragment(String)
  Will be removed in Tomcat 10. Use `JspC.setWebXmlInclude(String)`
  org.apache.jasper.runtime.JspContextWrapper.getExpressionEvaluator()
  org.apache.jasper.runtime.JspContextWrapper.getVariableResolver()
  org.apache.jasper.runtime.JspContextWrapper.resolveVariable(String)
  org.apache.jasper.runtime.PageContextImpl.getExpressionEvaluator()
  org.apache.jasper.runtime.PageContextImpl.getVariableResolver()
  org.apache.jasper.security.SecurityUtil.filter(String)
  This method will be removed in Tomcat 9
  org.apache.jasper.servlet.JspCServletContext.getServlet(String)
  This method has been deprecated with no replacement
  org.apache.jasper.servlet.JspCServletContext.getServletNames()
  This method has been deprecated with no replacement
  org.apache.jasper.servlet.JspCServletContext.getServlets()
  This method has been deprecated with no replacement
  org.apache.jasper.servlet.JspCServletContext.log(Exception, String)
  Use log(String,Throwable) instead
  org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getEnableAutoCommitOnReturn()
  Use `BasicDataSource.getAutoCommitOnReturn()`.
  org.apache.tomcat.dbcp.dbcp2.BasicDataSource.setEnableAutoCommitOnReturn(boolean)
  Use `BasicDataSource.setAutoCommitOnReturn(boolean)`.
  org.apache.tomcat.dbcp.dbcp2.BasicDataSourceMXBean.getPassword()
  exposing password via JMX is an Information Exposure issue.
  org.apache.tomcat.dbcp.dbcp2.DelegatingCallableStatement.getBigDecimal(int, int)
  Use `DelegatingCallableStatement.getBigDecimal(int)` or `DelegatingCallableStatement.getBigDecimal(String)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.setUnicodeStream(int, InputStream, int)
  Use setAsciiStream(), setCharacterStream() or setNCharacterStream()
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getBigDecimal(int, int)
  Use `DelegatingResultSet.getBigDecimal(int)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getBigDecimal(String, int)
  Use `DelegatingResultSet.getBigDecimal(String)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getUnicodeStream(int)
  Use `DelegatingResultSet.getCharacterStream(int)`
  org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet.getUnicodeStream(String)
  Use `DelegatingResultSet.getCharacterStream(String)`
  org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.isEnableAutoCommitOnReturn()
  Use `PoolableConnectionFactory.isAutoCommitOnReturn()`.
  org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.setEnableAutoCommitOnReturn(boolean)
  Use `PoolableConnectionFactory.setAutoCommitOnReturn(boolean)`.
  org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.setMaxOpenPrepatedStatements(int)
  Use `PoolableConnectionFactory.setMaxOpenPreparedStatements(int)`.
  org.apache.tomcat.dbcp.pool2.impl.CallStackUtils.newCallStack(String, boolean)
  use `CallStackUtils.newCallStack(String, boolean, boolean)`
  org.apache.tomcat.dbcp.pool2.PoolUtils.prefill(KeyedObjectPool<K, V>, Collection<K>, int)
  Use `KeyedObjectPool.addObjects(Collection, int)`.
  org.apache.tomcat.dbcp.pool2.PoolUtils.prefill(KeyedObjectPool<K, V>, K, int)
  Use `KeyedObjectPool.addObjects(Object, int)`.
  org.apache.tomcat.dbcp.pool2.PoolUtils.prefill(ObjectPool<T>, int)
  Use `ObjectPool.addObjects(int)`.
  org.apache.tomcat.Jar.entryExists(String)
  Unused. This will be removed in Tomcat 9 onwards.
  org.apache.tomcat.jdbc.pool.interceptor.StatementCache.isCached(String)
  Unused. Will be removed in Tomcat 9
  org.apache.tomcat.jdbc.pool.PooledConnection.checkUser(String, String)
  use `PooledConnection.shouldForceReconnect(String, String)` method kept since it was public, to avoid changing interface.
  org.apache.tomcat.jni.Buffer.calloc(int, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Buffer.create(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Buffer.free(ByteBuffer)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Buffer.malloc(int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Buffer.palloc(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Buffer.pcalloc(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Buffer.size(ByteBuffer)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Library.globalPool()
  org.apache.tomcat.jni.Library.load(String)
  Unused. Will be removed in Tomcat 10.1.x
  org.apache.tomcat.jni.Library.loadLibrary(String)
  Unused. Will be removed in Tomcat 10.1.x
  org.apache.tomcat.jni.Pool.alloc(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.calloc(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.cleanupForExec()
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.cleanupKill(long, long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.cleanupRegister(long, Object)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.clear(long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.dataGet(long, String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.dataSet(long, String, Object)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.isAncestor(long, long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.noteSubprocess(long, long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.Pool.parentGet(long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.closeBIO(long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.getError(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.getLastError()
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.getNextProtoNegotiated(long)
  Unused. Will be removed in Tomcat 10.1.x
  org.apache.tomcat.jni.SSL.hasOp(int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.newBIO(long, BIOCallback)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.randLoad(String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.randMake(String, int, boolean)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.randSave(String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.setBIO(long, long, long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.setPassword(String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.setPasswordCallback(PasswordCallback)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSL.setShutdown(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.registerDefault(Long, SSLContext.SNICallBack)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setALPN(long, byte[], int)
  org.apache.tomcat.jni.SSLContext.setBIO(long, long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setContextId(long, String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setNextProtos(long, String)
  use `SSLContext.setNpnProtos(long, String[], int)`
  org.apache.tomcat.jni.SSLContext.setNpnProtos(long, String[], int)
  Unused. Will be removed in Tomcat 10.1.x
  org.apache.tomcat.jni.SSLContext.setQuietShutdown(long, boolean)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setRandom(long, String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setShutdownType(long, int)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setTmpDH(long, String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.setTmpECDHByCurveName(long, String)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.jni.SSLContext.unregisterDefault(Long)
  Unused. Will be removed in Tomcat 10.1
  org.apache.tomcat.util.buf.B2CConverter.getCharsetLower(String)
  Will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.buf.ByteChunk.substract()
  org.apache.tomcat.util.buf.ByteChunk.substract(byte[], int, int)
  org.apache.tomcat.util.buf.ByteChunk.substract(ByteBuffer)
  Use `ByteChunk.subtract(ByteBuffer)`. This method will be removed in Tomcat 10
  org.apache.tomcat.util.buf.ByteChunk.substractB()
  org.apache.tomcat.util.buf.ByteChunk.toStringInternal()
  Unused. This method will be removed in Tomcat 11 onwards.
  org.apache.tomcat.util.buf.CharChunk.setOptimizedWrite(boolean)
  Unused code. This is now a NO-OP and will be removed without replacement in Tomcat 10.
  org.apache.tomcat.util.buf.CharChunk.substract()
  org.apache.tomcat.util.buf.CharChunk.substract(char[], int, int)
  org.apache.tomcat.util.buf.StringCache.find(ByteChunk)
  Unused. Will be removed in Tomcat 11. Use `StringCache.find(ByteChunk, CodingErrorAction, CodingErrorAction)`
  org.apache.tomcat.util.buf.UDecoder.convert(String, boolean)
  Unused. Will be removed in Tomcat 10
  org.apache.tomcat.util.buf.UDecoder.convert(CharChunk, boolean)
  Unused. Will be removed in Tomcat 10
  org.apache.tomcat.util.buf.UDecoder.convert(MessageBytes, boolean)
  Unused. Will be removed in Tomcat 10
  org.apache.tomcat.util.buf.UDecoder.URLDecode(byte[], String, boolean)
  This method will be removed in Tomcat 9
  org.apache.tomcat.util.buf.UDecoder.URLDecode(String)
  Unused. This will be removed in Tomcat 10 onwards
  org.apache.tomcat.util.buf.UDecoder.URLDecode(String, String)
  This method will be removed in Tomcat 9
  org.apache.tomcat.util.buf.UDecoder.URLDecode(String, String, boolean)
  This method will be removed in Tomcat 9
  org.apache.tomcat.util.codec.binary.BaseNCodec.decode(Object)
  This unused method will be removed in Tomcat 9
  org.apache.tomcat.util.codec.binary.BaseNCodec.encode(Object)
  This unused method will be removed in Tomcat 9
  org.apache.tomcat.util.descriptor.web.WebXml.setDuplicated(boolean)
  org.apache.tomcat.util.descriptor.web.XmlEncodingBase.getEncoding()
  This method will be removed in Tomcat 9
  org.apache.tomcat.util.descriptor.web.XmlEncodingBase.setEncoding(String)
  This method will be removed in Tomcat 9
  org.apache.tomcat.util.digester.Digester.getRuleNamespaceURI()
  Unused. Will be removed in Tomcat 9
  org.apache.tomcat.util.digester.Digester.setRuleNamespaceURI(String)
  Unused. Will be removed in Tomcat 9
  org.apache.tomcat.util.digester.Rules.getNamespaceURI()
  Unused. Will be removed in Tomcat 9
  org.apache.tomcat.util.digester.Rules.setNamespaceURI(String)
  Unused. Will be removed in Tomcat 9
  org.apache.tomcat.util.digester.RuleSet.getNamespaceURI()
  Unused. Will be removed in Tomcat 9
  org.apache.tomcat.util.digester.RuleSetBase.getNamespaceURI()
  Unused. This will be removed in Tomcat 9.
  org.apache.tomcat.util.http.CookieProcessor.generateHeader(Cookie)
  This method has been replaced with `CookieProcessor.generateHeader(Cookie, HttpServletRequest)` and will be removed from Tomcat 10 onwards.
  org.apache.tomcat.util.http.CookieProcessorBase.generateHeader(Cookie, HttpServletRequest)
  This implementation calls the deprecated `CookieProcessor.generateHeader(Cookie)` method. Implementors should not rely on this method as it is present only for transitional compatibility and will be removed in Tomcat 9.
  org.apache.tomcat.util.http.FastHttpDateFormat.formatDate(long, DateFormat)
  Unused. This will be removed in Tomcat 10
  org.apache.tomcat.util.http.FastHttpDateFormat.parseDate(String, DateFormat[])
  Unused. This will be removed in Tomcat 10 Use `FastHttpDateFormat.parseDate(String)`
  org.apache.tomcat.util.http.MimeHeaders.clear()
  org.apache.tomcat.util.http.Parameters.getEncoding()
  This method will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.http.Parameters.processParameters(MessageBytes, String)
  This method will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.http.Parameters.setEncoding(String)
  This method will be removed in Tomcat 9.0.x
  org.apache.tomcat.util.http.Parameters.setQueryStringEncoding(String)
  This method will be removed in Tomcat 9
  org.apache.tomcat.util.IntrospectionUtils.replaceProperties(String, Hashtable<Object, Object>, IntrospectionUtils.PropertySource[])
  Use `IntrospectionUtils.replaceProperties(String, Hashtable, PropertySource[], ClassLoader)`
  org.apache.tomcat.util.json.JavaCharStream.getColumn()
  org.apache.tomcat.util.json.JavaCharStream.getLine()
  org.apache.tomcat.util.net.AbstractEndpoint.getAcceptorThreadCount()
  This attribute is hard-coded to `1` and is no longer configurable. This getter will be removed in Tomcat 10.
  org.apache.tomcat.util.net.AbstractEndpoint.getBacklog()
  org.apache.tomcat.util.net.AbstractEndpoint.getSoLinger()
  org.apache.tomcat.util.net.AbstractEndpoint.getSoTimeout()
  org.apache.tomcat.util.net.AbstractEndpoint.Handler.getOpenSockets()
  Unused, will be removed in Tomcat 10, replaced by AbstractEndpoint.getConnections
  org.apache.tomcat.util.net.AbstractEndpoint.setAcceptorThreadCount(int)
  This attribute is hard-coded to `1` and is no longer configurable. This setter will be removed in Tomcat 10.
  org.apache.tomcat.util.net.AbstractEndpoint.setBacklog(int)
  org.apache.tomcat.util.net.AbstractEndpoint.setSoLinger(int)
  org.apache.tomcat.util.net.AbstractEndpoint.setSoTimeout(int)
  org.apache.tomcat.util.net.Acceptor.stop()
  This method will be removed in Tomcat 10.1.x onwards. Use `Acceptor.stop(int)` instead.
  org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLSupport(SSLSession)
  org.apache.tomcat.util.net.NioEndpoint.getPoller0()
  Will be removed in Tomcat 9.
  org.apache.tomcat.util.net.NioEndpoint.getPollerThreadCount()
  Will be removed in Tomcat 10.
  org.apache.tomcat.util.net.NioEndpoint.setPollerThreadCount(int)
  Will be removed in Tomcat 10.
  org.apache.tomcat.util.net.openssl.OpenSSLImplementation.getSSLSupport(SSLSession)
  org.apache.tomcat.util.net.openssl.OpenSSLUtil.chooseKeyManager(KeyManager[])
  org.apache.tomcat.util.net.SocketWrapperBase.awaitReadComplete(long, TimeUnit)
  org.apache.tomcat.util.net.SocketWrapperBase.awaitWriteComplete(long, TimeUnit)
  org.apache.tomcat.util.net.SocketWrapperBase.isSecure()
  Unused. Will be removed in Tomcat 10.
  org.apache.tomcat.util.net.SocketWrapperBase.isUpgraded()
  Unused. Will be removed in Tomcat 10.
  org.apache.tomcat.util.net.SocketWrapperBase.setSecure(boolean)
  Unused. Will be removed in Tomcat 10.
  org.apache.tomcat.util.net.SocketWrapperBase.setUpgraded(boolean)
  Unused. Will be removed in Tomcat 10.
  org.apache.tomcat.util.net.SSLImplementation.getSSLSupport(SSLSession)
  This will be removed in Tomcat 10.1.x onwards. Use `SSLImplementation.getSSLSupport(SSLSession, Map)`.
  org.apache.tomcat.util.scan.AbstractInputStreamJar.entryExists(String)
  org.apache.tomcat.util.scan.JarFileUrlJar.entryExists(String)
  org.apache.tomcat.util.scan.ReferenceCountedJar.entryExists(String)
  org.apache.tomcat.util.threads.TaskQueue.force(Runnable, long, TimeUnit)
  Unused. Will be removed in Tomcat 10.1.x.
  org.apache.tomcat.util.threads.ThreadPoolExecutor.execute(Runnable, long, TimeUnit)
  This will be removed in Tomcat 10.1.x onwards
  org.apache.tomcat.websocket.Authenticator.getAuthorization(String, String, Map<String, Object>)
  Use `Authenticator.getAuthorization(String, String, String, String, String)`. Will be removed in Tomcat 10.1.x
  org.apache.tomcat.websocket.Authenticator.parseWWWAuthenticateHeader(String)
  Use `Authenticator.parseAuthenticateHeader(String)`. Will be removed in Tomcat 10.1.x onwards
  org.apache.tomcat.websocket.server.WsServerContainer.doUpgrade(HttpServletRequest, HttpServletResponse, ServerEndpointConfig, Map<String, String>)
  This method will be removed in Apache Tomcat 10.1 onwards. It has been replaced by `WsServerContainer.upgradeHttpToWebSocket(Object, Object, ServerEndpointConfig, Map)`
  org.apache.tomcat.websocket.Util.getDecoders(List<Class<? extends Decoder>>)
  Will be removed in Tomcat 10.1.x. Use `Util.getDecoders(List, InstanceManager)`

- Deprecated Constructors
  Constructor
  Description
  org.apache.catalina.authenticator.BasicAuthenticator.BasicCredentials(ByteChunk, Charset)
  Unused. Will be removed in Tomcat 10. Use 3-arg constructor
  org.apache.catalina.loader.WebappLoader(ClassLoader)
  Use `Container.setParentClassLoader(ClassLoader)` to specify the required class loader. This method will be removed in Tomcat 10 onwards.
  org.apache.catalina.util.DOMWriter(Writer, boolean)
  org.apache.jasper.compiler.SmapStratum(String)
  Use the no-arg constructor
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String)
  Use `PStmtKey(String, String, String)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, int, int)
  Use `PStmtKey(String, String, String, int, int)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String)
  Use `PStmtKey(String, String, String)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, int)
  Use `PStmtKey(String, String, String, int)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, int[])
  Use `PStmtKey(String, String, String, int[])`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, int, int)
  Use @link `PStmtKey(String, String, String, int, int)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, int, int, int)
  Use `PStmtKey(String, String, String, int, int, int)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, int, int, int, PoolingConnection.StatementType)
  Use `PStmtKey(String, String, String, int, int, int, PoolingConnection.StatementType)`
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, int, int, PoolingConnection.StatementType)
  Use `PStmtKey(String, String, String, int, int, PoolingConnection.StatementType)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, String[])
  Use `PStmtKey(String, String, String, String[])`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, PoolingConnection.StatementType)
  Use `PStmtKey(String, String, String, PoolingConnection.StatementType)`.
  org.apache.tomcat.dbcp.dbcp2.PStmtKey(String, String, PoolingConnection.StatementType, Integer)
  Use `PStmtKey(String, String, String, PoolingConnection.StatementType, Integer)`
  org.apache.tomcat.util.net.jsse.JSSESupport(SSLSession)
  This will be removed in Tomcat 10.1.x onwards Use `JSSESupport(SSLSession, Map)`
  org.apache.tomcat.util.security.PrivilegedGetTccl()
  org.apache.tomcat.util.security.PrivilegedSetTccl(ClassLoader)
  org.apache.tomcat.websocket.pojo.PojoEndpointClient(Object, List<Class<? extends Decoder>>)
  org.apache.tomcat.websocket.pojo.PojoMethodMapping(Class<?>, List<Class<? extends Decoder>>, String)
  Will be removed in Tomcat 10.1.x Use (@link `PojoMethodMapping(Class, List, String, InstanceManager)`
  org.apache.tomcat.websocket.WsSession(Endpoint, WsRemoteEndpointImplBase, WsWebSocketContainer, URI, Map<String, List<String>>, String, Principal, String, List<Extension>, String, Map<String, String>, boolean, EndpointConfig)
  Unused. This will be removed in Tomcat 10.1

- Deprecated Enum Constants
  Enum Constant
  Description
  org.apache.tomcat.util.http.Parameters.FailReason.REQUEST_BODY_INCOMPLETE
  Unused. Will be removed in Tomcat 11.0.x onwards