Upgrading org.eclipse.jetty:jetty-server 9 to 10
Breaking9.4.58.v20250814 → 10.0.26Breaking1Security4Deprecated2New3Changed7Fixed17Other3
Fetching 34 releases from GitHub…9 / 34
BreakingUpgrade verdict
1 breaking change and 4 security fixes.
In plain terms
- Code that changed HTTP response headers inside the onResponseBegin listener callback will no longer work.
- Internal HTTP/2 session handling is cleaned up to fix a security vulnerability.
- Eclipse Jetty's ThreadLimitHandler.getRemote() vulnerable to remote DoS attacks
- Eclipse Jetty: DoS attack triggering OutOfMemory with 100-Continue requests
Must act Top 5 of 7 that need code or config changes
Adds org.eclipse.jetty.toolchain:jetty-servlet-api 4.0.6, org.slf4j:slf4j-api 2.0.13.
Drops javax.servlet:javax.servlet-api.
Installs 5 packages in all (was 4).
What you must change
Breaking1
Modifying HTTP headers in HttpChannel.Listener#onResponseBegin is no longer possible with Jetty 10.
HttpChannel.Listener#onResponseBeginSecurity4
HTTP2Session cleanups that address CVE-2025-5115.
HTTP2SessionEclipse Jetty's ThreadLimitHandler.getRemote() vulnerable to remote DoS attacks
Moderate · CVSS 5.9Eclipse Jetty: DoS attack triggering OutOfMemory with 100-Continue requests
High · CVSS 7.5Fixes CVE-2024-22201, where HTTP/2 connections are not closed after idle timeout when TCP is congested.
Deprecations to plan for
Deprecated2
Better documents the deprecation of
ContextHandler.setCompactPath(boolean).ContextHandler.setCompactPath(boolean)Deprecates PushCacheFilter.
PushCacheFilterAPI changes
Generated by DepDelta from published JVM bytecode. Not mixed with prose notes.
- removed:
class AbstractNCSARequestLog extends ContainerLifeCycle implements RequestLog - removed:
class AsyncNCSARequestLog extends NCSARequestLog - removed:
class ConnectorStatistics extends AbstractLifeCycle implements Dumpable, Connection.Listener - removed:
class CookieCutter - removed:
class HttpInputOverHTTP extends HttpInput - removed:
class MultiPartCleanerListener implements ServletRequestListener - removed:
class NCSARequestLog extends AbstractNCSARequestLog - removed:
class Slf4jRequestLog extends AbstractNCSARequestLog - removed:
ctor AbstractNCSARequestLog(RequestLog.Writer) - removed:
ctor AsyncNCSARequestLog() - removed:
ctor AsyncNCSARequestLog(String, BlockingQueue) - removed:
ctor ConnectorStatistics() - removed:
ctor CookieCutter() - removed:
ctor CookieCutter(CookieCompliance) - removed:
ctor HttpConnectionFactory(HttpConfiguration, HttpCompliance) - removed:
ctor HttpInput.ChainedInterceptor(HttpInput.Interceptor, HttpInput.Interceptor) - removed:
ctor HttpInput.EOFState() - removed:
ctor HttpInput.SentinelContent(String) - removed:
ctor HttpInput.State() - removed:
ctor HttpInputOverHTTP(HttpChannelState) - removed:
ctor MultiPartCleanerListener() - removed:
ctor NCSARequestLog() - removed:
ctor NCSARequestLog(RequestLogWriter) - removed:
ctor NCSARequestLog(String) - removed:
ctor Slf4jRequestLog() - removed:
ctor Slf4jRequestLog(Slf4jRequestLogWriter) - removed:
field AbstractNCSARequestLog._requestLogWriter: RequestLog.Writer - removed:
interface PushBuilder - removed:
method AbstractNCSARequestLog.doStart(): void - removed:
method AbstractNCSARequestLog.doStop(): void - removed:
method AbstractNCSARequestLog.getAuthentication(Request): String - removed:
method AbstractNCSARequestLog.getIgnorePaths(): String[] - removed:
method AbstractNCSARequestLog.getLogCookies(): boolean - removed:
method AbstractNCSARequestLog.getLogDateFormat(): String - removed:
method AbstractNCSARequestLog.getLogLatency(): boolean - removed:
method AbstractNCSARequestLog.getLogLocale(): Locale - removed:
method AbstractNCSARequestLog.getLogServer(): boolean - removed:
method AbstractNCSARequestLog.getLogTimeZone(): String - removed:
method AbstractNCSARequestLog.getPreferProxiedForAddress(): boolean - removed:
method AbstractNCSARequestLog.isEnabled(): boolean - removed:
method AbstractNCSARequestLog.isExtended(): boolean - removed:
method AbstractNCSARequestLog.isLogDispatch(): boolean - removed:
method AbstractNCSARequestLog.log(Request, Response): void - removed:
method AbstractNCSARequestLog.logExtended(StringBuilder, Request, Response): void - removed:
method AbstractNCSARequestLog.setExtended(boolean): void - removed:
method AbstractNCSARequestLog.setIgnorePaths(String[]): void - removed:
method AbstractNCSARequestLog.setLogCookies(boolean): void - removed:
method AbstractNCSARequestLog.setLogDateFormat(String): void - removed:
method AbstractNCSARequestLog.setLogDispatch(boolean): void - removed:
method AbstractNCSARequestLog.setLogLatency(boolean): void - removed:
method AbstractNCSARequestLog.setLogLocale(Locale): void - removed:
method AbstractNCSARequestLog.setLogServer(boolean): void - removed:
method AbstractNCSARequestLog.setLogTimeZone(String): void - removed:
method AbstractNCSARequestLog.setPreferProxiedForAddress(boolean): void - removed:
method AbstractNCSARequestLog.write(String): void - removed:
method AsyncContextEvent.getPath(): String - removed:
method Authentication.User.logout(): void - removed:
method CachedContentFactory.lookup(String): HttpContent - removed:
method ConnectorStatistics.doStart(): void - removed:
method ConnectorStatistics.doStop(): void - removed:
method ConnectorStatistics.dump(): String - removed:
method ConnectorStatistics.dump(Appendable, String): void - removed:
method ConnectorStatistics.getBytesIn(): int - removed:
method ConnectorStatistics.getBytesOut(): int - removed:
method ConnectorStatistics.getConnectionDurationMax(): long - removed:
method ConnectorStatistics.getConnectionDurationMean(): double - removed:
method ConnectorStatistics.getConnectionDurationStdDev(): double - removed:
method ConnectorStatistics.getConnections(): int - removed:
method ConnectorStatistics.getConnectionsOpen(): int - removed:
method ConnectorStatistics.getConnectionsOpenMax(): int - removed:
method ConnectorStatistics.getMessagesIn(): int - removed:
method ConnectorStatistics.getMessagesInPerConnectionMax(): int - removed:
method ConnectorStatistics.getMessagesInPerConnectionMean(): double - removed:
method ConnectorStatistics.getMessagesInPerConnectionStdDev(): double - removed:
method ConnectorStatistics.getMessagesInPerSecond(): int - removed:
method ConnectorStatistics.getMessagesOut(): int - removed:
method ConnectorStatistics.getMessagesOutPerConnectionMax(): int - removed:
method ConnectorStatistics.getMessagesOutPerConnectionMean(): double - removed:
method ConnectorStatistics.getMessagesOutPerConnectionStdDev(): double - removed:
method ConnectorStatistics.getMessagesOutPerSecond(): int - removed:
method ConnectorStatistics.getStartedMillis(): long - removed:
method ConnectorStatistics.onClosed(Connection): void - removed:
method ConnectorStatistics.onOpened(Connection): void - removed:
method ConnectorStatistics.reset(): void - removed:
method CookieCutter.addCookieField(String): void - removed:
method CookieCutter.getCookies(): Cookie[] - removed:
method CookieCutter.isRFC6265RejectedCharacter(boolean, char): boolean - removed:
method CookieCutter.parseFields(): void - removed:
method CookieCutter.reset(): void - removed:
method CookieCutter.setCookies(Cookie[]): void - removed:
method HttpChannel.isOptimizedForDirectBuffers(): boolean - removed:
method HttpChannel.newHttpInput(HttpChannelState): HttpInput - removed:
method HttpChannel.onAsyncWaitForContent(): void - removed:
method HttpChannel.onBlockWaitForContent(): void - removed:
method HttpChannel.onBlockWaitForContentFailure(Throwable): void - removed:
method HttpChannel.onEarlyEOF(): boolean - removed:
method HttpChannel.useDirectBuffers(): boolean - removed:
method HttpChannelOverHttp.getHeaderCacheSize(): int - removed:
method HttpChannelOverHttp.newHttpInput(HttpChannelState): HttpInput - removed:
method HttpChannelOverHttp.onAsyncWaitForContent(): void - removed:
method HttpChannelOverHttp.onBlockWaitForContent(): void - removed:
method HttpChannelOverHttp.onBlockWaitForContentFailure(Throwable): void - removed:
method HttpChannelState.onReadPossible(): boolean - removed:
method HttpConfiguration.getBlockingTimeout(): long - removed:
method HttpConfiguration.getCookieCompliance(): CookieCompliance - removed:
method HttpConfiguration.isCookieCompliance(CookieCompliance): boolean - removed:
method HttpConfiguration.setBlockingTimeout(long): void - removed:
method HttpConfiguration.setCookieCompliance(CookieCompliance): void - removed:
method HttpConnection.blockingReadFailure(Throwable): void - removed:
method HttpConnection.blockingReadFillInterested(): void - removed:
method HttpConnection.fillAndParseForContent(): boolean - removed:
method HttpConnection.getHttpCompliance(): HttpCompliance - removed:
method HttpConnection.getRequestBuffer(): ByteBuffer - removed:
method HttpConnection.isOptimizedForDirectBuffers(): boolean - removed:
method HttpConnectionFactory.getHttpCompliance(): HttpCompliance - removed:
method HttpConnectionFactory.setHttpCompliance(HttpCompliance): void - removed:
method HttpInput.ChainedInterceptor.destroy(): void - removed:
method HttpInput.ChainedInterceptor.getNext(): HttpInput.Interceptor - removed:
method HttpInput.ChainedInterceptor.getPrev(): HttpInput.Interceptor - removed:
method HttpInput.ChainedInterceptor.readFrom(HttpInput.Content): HttpInput.Content - removed:
method HttpInput.ErrorState.getError(): Throwable - removed:
method HttpInput.ErrorState.noContent(): int - removed:
method HttpInput.ErrorState.toString(): String - removed:
method HttpInput.SentinelContent.toString(): String - removed:
method HttpInput.State.blockForContent(HttpInput): boolean - removed:
method HttpInput.State.getError(): Throwable - removed:
method HttpInput.State.noContent(): int - removed:
method HttpInput.addContent(HttpInput.Content): boolean - removed:
method HttpInput.asyncReadProduce(): void - removed:
method HttpInput.blockForContent(): void - removed:
method HttpInput.earlyEOF(): boolean - removed:
method HttpInput.eof(): boolean - removed:
method HttpInput.failed(Throwable): boolean - removed:
method HttpInput.get(HttpInput.Content, byte[], int, int): int - removed:
method HttpInput.getHttpChannelState(): HttpChannelState - removed:
method HttpInput.nextContent(): HttpInput.Content - removed:
method HttpInput.nextInterceptedContent(): HttpInput.Content - removed:
method HttpInput.nextNonSentinelContent(): HttpInput.Content - removed:
method HttpInput.onIdleTimeout(Throwable): boolean - removed:
method HttpInput.produceContent(): void - removed:
method HttpInput.produceNextContent(): HttpInput.Content - removed:
method HttpInput.unblock(): void - removed:
method HttpInput.wake(): void - removed:
method HttpInputOverHTTP.produceContent(): void - removed:
method HttpOutput.Interceptor.isOptimizedForDirectBuffers(): boolean - removed:
method HttpOutput.println(boolean): void - removed:
method HttpOutput.println(char): void - removed:
method HttpOutput.println(double): void - removed:
method HttpOutput.println(float): void - removed:
method HttpOutput.println(int): void - removed:
method HttpOutput.println(long): void - removed:
method HttpTransport.isOptimizedForDirectBuffers(): boolean - removed:
method LocalConnector.getResponses(ByteBuffer): ByteBuffer - removed:
method LocalConnector.getResponses(ByteBuffer, long, TimeUnit): ByteBuffer - removed:
method LocalConnector.getResponses(String): String - removed:
method LocalConnector.getResponses(String, long, TimeUnit): String - removed:
method LowResourceMonitor.MaxConnectionsLowResourceCheck.getMaxConnections(): int - removed:
method LowResourceMonitor.MaxConnectionsLowResourceCheck.setMaxConnections(int): void - removed:
method LowResourceMonitor.getMaxConnections(): int - removed:
method LowResourceMonitor.setMaxConnections(int): void - removed:
method MultiPartCleanerListener.requestDestroyed(ServletRequestEvent): void - removed:
method MultiPartCleanerListener.requestInitialized(ServletRequestEvent): void - removed:
method NCSARequestLog.doStart(): void - removed:
method NCSARequestLog.doStop(): void - removed:
method NCSARequestLog.getDatedFilename(): String - removed:
method NCSARequestLog.getFilename(): String - removed:
method NCSARequestLog.getFilenameDateFormat(): String - removed:
method NCSARequestLog.getRetainDays(): int - removed:
method NCSARequestLog.isAppend(): boolean - removed:
method NCSARequestLog.isEnabled(): boolean - removed:
method NCSARequestLog.setAppend(boolean): void - removed:
method NCSARequestLog.setFilename(String): void - removed:
method NCSARequestLog.setFilenameDateFormat(String): void - removed:
method NCSARequestLog.setLogTimeZone(String): void - removed:
method NCSARequestLog.setRetainDays(int): void - removed:
method NCSARequestLog.write(String): void - removed:
method NetworkTrafficServerConnector.addNetworkTrafficListener(NetworkTrafficListener): void - removed:
method NetworkTrafficServerConnector.removeNetworkTrafficListener(NetworkTrafficListener): void - removed:
method ProxyConnectionFactory.ProxyEndPoint.isOptimizedForDirectBuffers(): boolean - removed:
method PushBuilder.addHeader(String, String): PushBuilder - removed:
method PushBuilder.conditional(boolean): PushBuilder - removed:
method PushBuilder.etag(String): PushBuilder - removed:
method PushBuilder.getEtag(): String - removed:
method PushBuilder.getHeader(String): String - removed:
method PushBuilder.getHeaderNames(): Set - removed:
method PushBuilder.getLastModified(): String - removed:
method PushBuilder.getMethod(): String - removed:
method PushBuilder.getPath(): String - removed:
method PushBuilder.getQueryString(): String - removed:
method PushBuilder.getSessionId(): String - removed:
method PushBuilder.isConditional(): boolean - removed:
method PushBuilder.lastModified(String): PushBuilder - removed:
method PushBuilder.method(String): PushBuilder - removed:
method PushBuilder.path(String): PushBuilder - removed:
method PushBuilder.push(): void - removed:
method PushBuilder.queryString(String): PushBuilder - removed:
method PushBuilder.removeHeader(String): PushBuilder - removed:
method PushBuilder.sessionId(String): PushBuilder - removed:
method PushBuilder.setHeader(String, String): PushBuilder - removed:
method PushBuilderImpl.conditional(boolean): PushBuilder - removed:
method PushBuilderImpl.etag(String): PushBuilder - removed:
method PushBuilderImpl.getEtag(): String - removed:
method PushBuilderImpl.getLastModified(): String - removed:
method PushBuilderImpl.isConditional(): boolean - removed:
method PushBuilderImpl.lastModified(String): PushBuilder - removed:
method Request.getPushBuilder(): PushBuilder - removed:
method Request.getTrailers(): HttpFields - removed:
method Request.setAuthority(String, int): void - removed:
method Request.setContextPath(String): void - removed:
method Request.setHttpVersion(HttpVersion): void - removed:
method Request.setPathInfo(String): void - removed:
method Request.setQueryString(String): void - removed:
method Request.setScheme(String): void - removed:
method Request.setServletPath(String): void - removed:
method Request.setURIPathQuery(String): void - removed:
method RequestLogWriter.isEnabled(): boolean - removed:
method ServerConnector.configure(Socket): void - removed:
method ServerConnector.getSoLingerTime(): int - removed:
method ServerConnector.setSoLingerTime(int): void - removed:
method Slf4jRequestLog.getLoggerName(): String - removed:
method Slf4jRequestLog.isEnabled(): boolean - removed:
method Slf4jRequestLog.setLoggerName(String): void - removed:
method Slf4jRequestLog.write(String): void - removed:
static abstract class HttpInput.State - removed:
static class HttpInput.ChainedInterceptor implements HttpInput.Interceptor, Destroyable - removed:
static class HttpInput.EOFState extends HttpInput.State - removed:
static class HttpInput.ErrorState extends HttpInput.EOFState - removed:
static class HttpInput.SentinelContent extends HttpInput.Content - removed:
static field AbstractNCSARequestLog.LOG: Logger - removed:
static field HttpChannelState.Action.READ_PRODUCE: HttpChannelState.Action - removed:
static field HttpChannelState.Action.READ_REGISTER: HttpChannelState.Action - removed:
static field HttpConnection.UPGRADE_CONNECTION_ATTRIBUTE: String - removed:
static field HttpInput.AEOF: HttpInput.State - removed:
static field HttpInput.ASYNC: HttpInput.State - removed:
static field HttpInput.EARLY_EOF: HttpInput.State - removed:
static field HttpInput.EOF: HttpInput.State - removed:
static field HttpInput.STREAM: HttpInput.State - removed:
static field MultiPartCleanerListener.INSTANCE: MultiPartCleanerListener - removed:
static field Request.MULTIPARTS: String - removed:
static field Request.MULTIPART_CONFIG_ELEMENT: String - removed:
static method ConnectorStatistics.addToAllConnectors(Server): void - changed:
class HttpChannel implements Runnable, HttpOutput.Interceptor → abstract class HttpChannel implements Runnable, HttpOutput.Interceptor - changed:
class HttpChannelOverHttp extends HttpChannel implements HttpParser.RequestHandler, HttpParser.ComplianceHandler → class HttpChannelOverHttp extends HttpChannel implements HttpParser.RequestHandler, ComplianceViolation.Listener - changed:
class SslConnectionFactory extends AbstractConnectionFactory implements ConnectionFactory.Detecting → class SslConnectionFactory extends AbstractConnectionFactory implements ConnectionFactory.Detecting, ConnectionFactory.Configuring - changed:
ctor HttpConnection(HttpConfiguration, Connector, EndPoint, HttpCompliance, boolean) → ctor HttpConnection(HttpConfiguration, Connector, EndPoint, boolean) - changed:
ctor LocalConnector(Server, ConnectionFactory, SslContextFactory) → ctor LocalConnector(Server, ConnectionFactory, SslContextFactory.Server) - changed:
ctor LocalConnector(Server, SslContextFactory) → ctor LocalConnector(Server, SslContextFactory.Server) - changed:
ctor NetworkTrafficServerConnector(Server, ConnectionFactory, SslContextFactory) → ctor NetworkTrafficServerConnector(Server, ConnectionFactory, SslContextFactory.Server) - changed:
ctor NetworkTrafficServerConnector(Server, SslContextFactory) → ctor NetworkTrafficServerConnector(Server, SslContextFactory.Server) - changed:
ctor PushBuilderImpl(Request, HttpFields, String, String, String, boolean) → ctor PushBuilderImpl(Request, HttpFields, String, String, String) - changed:
ctor ServerConnector(Server, SslContextFactory) → ctor ServerConnector(Server, SslContextFactory.Server) - changed:
ctor ServerConnector(Server, SslContextFactory, ConnectionFactory[]) → ctor ServerConnector(Server, SslContextFactory.Server, ConnectionFactory[]) - changed:
ctor ServerConnector(Server, int, int, SslContextFactory) → ctor ServerConnector(Server, int, int, SslContextFactory.Server) - changed:
ctor SslConnectionFactory(SslContextFactory, String) → ctor SslConnectionFactory(SslContextFactory.Server, String) - changed:
method AbstractConnector.shutdown(): Future → method AbstractConnector.shutdown(): CompletableFuture - changed:
method AbstractNetworkConnector.shutdown(): Future → method AbstractNetworkConnector.shutdown(): CompletableFuture - changed:
method ConnectionFactory.Upgrading.upgradeConnection(Connector, EndPoint, MetaData.Request, HttpFields): Connection → method ConnectionFactory.Upgrading.upgradeConnection(Connector, EndPoint, MetaData.Request, HttpFields.Mutable): Connection - changed:
method HttpChannelOverHttp.onComplianceViolation(HttpCompliance, HttpComplianceSection, String): void → method HttpChannelOverHttp.onComplianceViolation(ComplianceViolation.Mode, ComplianceViolation, String): void - changed:
method HttpChannelOverHttp.startRequest(String, String, HttpVersion): boolean → method HttpChannelOverHttp.startRequest(String, String, HttpVersion): void - changed:
method HttpChannelState.onContentAdded(): boolean → method HttpChannelState.onContentAdded(): void - changed:
method HttpConnection.onClose(): void → method HttpConnection.onClose(Throwable): void - changed:
method HttpConnection.send(MetaData.Response, boolean, ByteBuffer, boolean, Callback): void → method HttpConnection.send(MetaData.Request, MetaData.Response, ByteBuffer, boolean, Callback): void - changed:
method HttpTransport.send(MetaData.Response, boolean, ByteBuffer, boolean, Callback): void → method HttpTransport.send(MetaData.Request, MetaData.Response, ByteBuffer, boolean, Callback): void - changed:
method LocalConnector.LocalEndPoint.onClose(): void → method LocalConnector.LocalEndPoint.onClose(Throwable): void - changed:
method NetworkTrafficServerConnector.newEndPoint(SocketChannel, ManagedSelector, SelectionKey): ChannelEndPoint → method NetworkTrafficServerConnector.newEndPoint(SocketChannel, ManagedSelector, SelectionKey): SocketChannelEndPoint - changed:
method ProxyConnectionFactory.ProxyEndPoint.close(): void → method ProxyConnectionFactory.ProxyEndPoint.close(Throwable): void - changed:
method ProxyConnectionFactory.ProxyEndPoint.onClose(): void → method ProxyConnectionFactory.ProxyEndPoint.onClose(Throwable): void - changed:
method Request.mergeQueryParameters(String, String, boolean): void → method Request.mergeQueryParameters(String, String): void - changed:
method Request.setContext(ContextHandler.Context): void → method Request.setContext(ContextHandler.Context, String): void - changed:
method Response.getHttpFields(): HttpFields → method Response.getHttpFields(): HttpFields.Mutable - changed:
method ServerConnector.ServerConnectorManager.newEndPoint(SelectableChannel, ManagedSelector, SelectionKey): ChannelEndPoint → method ServerConnector.ServerConnectorManager.newEndPoint(SelectableChannel, ManagedSelector, SelectionKey): SocketChannelEndPoint - changed:
method ServerConnector.newEndPoint(SocketChannel, ManagedSelector, SelectionKey): ChannelEndPoint → method ServerConnector.newEndPoint(SocketChannel, ManagedSelector, SelectionKey): SocketChannelEndPoint - changed:
method ServletAttributes.setAsyncAttributes(String, String, String, String, String): void → method ServletAttributes.setAsyncAttributes(String, String, String, ServletPathMapping, String): void - changed:
method SslConnectionFactory.getSslContextFactory(): SslContextFactory → method SslConnectionFactory.getSslContextFactory(): SslContextFactory.Server - changed:
static class HttpInput.EofContent extends HttpInput.SentinelContent → static final class HttpInput.EofContent extends HttpInput.SpecialContent - changed:
static class ProxyConnectionFactory.ProxyEndPoint extends AttributesMap implements EndPoint → static class ProxyConnectionFactory.ProxyEndPoint extends AttributesMap implements EndPoint, EndPoint.Wrapper - changed:
static method AbstractConnectionFactory.getFactories(SslContextFactory, ConnectionFactory[]): ConnectionFactory[] → static method AbstractConnectionFactory.getFactories(SslContextFactory.Server, ConnectionFactory[]): ConnectionFactory[] - added:
class Cookies implements CookieParser.Handler - added:
class MultiPartFormInputStream - added:
class MultiPartFormInputStream.MultiPart implements Part - added:
class MultiPartInputStreamParser - added:
class MultiPartInputStreamParser.MultiPart implements Part - added:
class MultiPartParser - added:
class ServletPathMapping implements HttpServletMapping - added:
class StateLifeCycleListener implements LifeCycle.Listener - added:
ctor AllowedResourceAliasChecker(ContextHandler, Resource) - added:
ctor AllowedResourceAliasChecker(ContextHandler, Supplier) - added:
ctor AsyncContextEvent(ContextHandler.Context, AsyncContextState, HttpChannelState, Request, ServletRequest, ServletResponse, HttpURI) - added:
ctor Cookies() - added:
ctor Cookies(CookieCompliance, ComplianceViolation.Listener) - added:
ctor CustomRequestLog() - added:
ctor HostHeaderCustomizer() - added:
ctor HttpInput.EofContent() - added:
ctor HttpInput.ErrorContent(Throwable) - added:
ctor HttpInput.SpecialContent() - added:
ctor HttpInput.WrappingContent(HttpInput.Content, boolean) - added:
ctor MultiPartFormInputStream(InputStream, String, MultipartConfigElement, File) - added:
ctor MultiPartFormInputStream(InputStream, String, MultipartConfigElement, File, int) - added:
ctor MultiPartFormInputStream.MultiPart(MultiPartFormInputStream, String, String) - added:
ctor MultiPartInputStreamParser(InputStream, String, MultipartConfigElement, File) - added:
ctor MultiPartInputStreamParser(InputStream, String, MultipartConfigElement, File, int) - added:
ctor MultiPartInputStreamParser.MultiPart(MultiPartInputStreamParser, String, String) - added:
ctor MultiPartParser(MultiPartParser.Handler, String) - added:
ctor ProxyConnectionFactory.ProxyEndPoint(EndPoint, SocketAddress, SocketAddress) - added:
ctor ServletPathMapping(PathSpec, String, String) - added:
ctor ServletPathMapping(PathSpec, String, String, MatchedPath) - added:
ctor StateLifeCycleListener(String) - added:
ctor SymlinkAllowedResourceAliasChecker(ContextHandler, Resource) - added:
enum MultiPartParser.FieldState - added:
enum MultiPartParser.State - added:
enum MultiParts.NonCompliance - added:
field Cookies._cookieList: List - added:
field Cookies._rawFields: List - added:
field MultiPartFormInputStream.MultiPart._bout: ByteArrayOutputStream2 - added:
field MultiPartFormInputStream.MultiPart._contentType: String - added:
field MultiPartFormInputStream.MultiPart._file: File - added:
field MultiPartFormInputStream.MultiPart._filename: String - added:
field MultiPartFormInputStream.MultiPart._headers: MultiMap - added:
field MultiPartFormInputStream.MultiPart._name: String - added:
field MultiPartFormInputStream.MultiPart._out: OutputStream - added:
field MultiPartFormInputStream.MultiPart._size: long - added:
field MultiPartFormInputStream.MultiPart._temporary: boolean - added:
field MultiPartInputStreamParser.MultiPart._bout: ByteArrayOutputStream2 - added:
field MultiPartInputStreamParser.MultiPart._contentType: String - added:
field MultiPartInputStreamParser.MultiPart._file: File - added:
field MultiPartInputStreamParser.MultiPart._filename: String - added:
field MultiPartInputStreamParser.MultiPart._headers: MultiMap - added:
field MultiPartInputStreamParser.MultiPart._name: String - added:
field MultiPartInputStreamParser.MultiPart._out: OutputStream - added:
field MultiPartInputStreamParser.MultiPart._size: long - added:
field MultiPartInputStreamParser.MultiPart._temporary: boolean - added:
field MultiPartInputStreamParser._config: MultipartConfigElement - added:
field MultiPartInputStreamParser._contentType: String - added:
field MultiPartInputStreamParser._contextTmpDir: File - added:
field MultiPartInputStreamParser._err: Exception - added:
field MultiPartInputStreamParser._in: InputStream - added:
field MultiPartInputStreamParser._parsed: boolean - added:
field MultiPartInputStreamParser._parts: MultiMap - added:
field MultiPartInputStreamParser._tmpDir: File - added:
field MultiPartInputStreamParser._writeFilesWithFilenames: boolean - added:
interface ConnectionFactory.Configuring extends ConnectionFactory - added:
interface ContentProducer - added:
interface MultiPartParser.Handler - added:
method AbstractConnector.getShutdownIdleTimeout(): long - added:
method AbstractConnector.setShutdownIdleTimeout(long): void - added:
method AsyncContextEvent.getBaseURI(): HttpURI - added:
method AsyncContextEvent.getDispatchPath(): String - added:
method ConnectionFactory.Configuring.configure(Connector): void - added:
method ContentProducer.available(): int - added:
method ContentProducer.checkMinDataRate(): void - added:
method ContentProducer.consumeAll(): boolean - added:
method ContentProducer.getInterceptor(): HttpInput.Interceptor - added:
method ContentProducer.getRawContentArrived(): long - added:
method ContentProducer.hasContent(): boolean - added:
method ContentProducer.isError(): boolean - added:
method ContentProducer.isReady(): boolean - added:
method ContentProducer.lock(): AutoLock - added:
method ContentProducer.nextContent(): HttpInput.Content - added:
method ContentProducer.onContentProducible(): boolean - added:
method ContentProducer.reclaim(HttpInput.Content): void - added:
method ContentProducer.recycle(): void - added:
method ContentProducer.reopen(): void - added:
method ContentProducer.setInterceptor(HttpInput.Interceptor): void - added:
method Cookies.addCookie(String, String, int, String, String, String): void - added:
method Cookies.addCookieField(String): void - added:
method Cookies.getCookies(): Cookie[] - added:
method Cookies.reset(): void - added:
method Cookies.setCookies(Cookie[]): void - added:
method CustomRequestLog.setFilter(BiPredicate): void - added:
method HttpChannel.checkAndPrepareUpgrade(): boolean - added:
method HttpChannel.eof(): boolean - added:
method HttpChannel.failAllContent(Throwable): boolean - added:
method HttpChannel.failed(Throwable): boolean - added:
method HttpChannel.getTunnellingEndPoint(): EndPoint - added:
method HttpChannel.isTunnellingSupported(): boolean - added:
method HttpChannel.isUseInputDirectByteBuffers(): boolean - added:
method HttpChannel.isUseOutputDirectByteBuffers(): boolean - added:
method HttpChannel.needContent(): boolean - added:
method HttpChannel.produceContent(): HttpInput.Content - added:
method HttpChannel.sendErrorOrAbort(String): boolean - added:
method HttpChannelOverHttp.checkAndPrepareUpgrade(): boolean - added:
method HttpChannelOverHttp.eof(): boolean - added:
method HttpChannelOverHttp.failAllContent(Throwable): boolean - added:
method HttpChannelOverHttp.failed(Throwable): boolean - added:
method HttpChannelOverHttp.getTunnellingEndPoint(): EndPoint - added:
method HttpChannelOverHttp.isTunnellingSupported(): boolean - added:
method HttpChannelOverHttp.isUseOutputDirectByteBuffers(): boolean - added:
method HttpChannelOverHttp.needContent(): boolean - added:
method HttpChannelOverHttp.produceContent(): HttpInput.Content - added:
method HttpChannelOverHttp.servletUpgrade(): void - added:
method HttpChannelState.isInputUnready(): boolean - added:
method HttpChannelState.onReadIdle(): void - added:
method HttpConfiguration.getHttpCompliance(): HttpCompliance - added:
method HttpConfiguration.getUriCompliance(): UriCompliance - added:
method HttpConfiguration.isHeaderCacheCaseSensitive(): boolean - added:
method HttpConfiguration.isUseInputDirectByteBuffers(): boolean - added:
method HttpConfiguration.isUseOutputDirectByteBuffers(): boolean - added:
method HttpConfiguration.setHeaderCacheCaseSensitive(boolean): void - added:
method HttpConfiguration.setHttpCompliance(HttpCompliance): void - added:
method HttpConfiguration.setUriCompliance(UriCompliance): void - added:
method HttpConfiguration.setUseInputDirectByteBuffers(boolean): void - added:
method HttpConfiguration.setUseOutputDirectByteBuffers(boolean): void - added:
method HttpConnection.getBeginNanoTime(): long - added:
method HttpConnection.isUseInputDirectByteBuffers(): boolean - added:
method HttpConnection.isUseOutputDirectByteBuffers(): boolean - added:
method HttpConnection.setUseInputDirectByteBuffers(boolean): void - added:
method HttpConnection.setUseOutputDirectByteBuffers(boolean): void - added:
method HttpConnectionFactory.isUseInputDirectByteBuffers(): boolean - added:
method HttpConnectionFactory.isUseOutputDirectByteBuffers(): boolean - added:
method HttpConnectionFactory.setUseInputDirectByteBuffers(boolean): void - added:
method HttpConnectionFactory.setUseOutputDirectByteBuffers(boolean): void - added:
method HttpInput.Content.getError(): Throwable - added:
method HttpInput.Content.isEof(): boolean - added:
method HttpInput.Content.isSpecial(): boolean - added:
method HttpInput.EofContent.isEof(): boolean - added:
method HttpInput.EofContent.toString(): String - added:
method HttpInput.ErrorContent.getError(): Throwable - added:
method HttpInput.ErrorContent.toString(): String - added:
method HttpInput.SpecialContent.get(byte[], int, int): int - added:
method HttpInput.SpecialContent.getByteBuffer(): ByteBuffer - added:
method HttpInput.SpecialContent.hasContent(): boolean - added:
method HttpInput.SpecialContent.isEmpty(): boolean - added:
method HttpInput.SpecialContent.isSpecial(): boolean - added:
method HttpInput.SpecialContent.remaining(): int - added:
method HttpInput.SpecialContent.skip(int): int - added:
method HttpInput.WrappingContent.failed(Throwable): void - added:
method HttpInput.WrappingContent.getInvocationType(): Invocable.InvocationType - added:
method HttpInput.WrappingContent.isEof(): boolean - added:
method HttpInput.WrappingContent.succeeded(): void - added:
method HttpInput.onContentProducible(): boolean - added:
method HttpInput.read(ByteBuffer): int - added:
method HttpInput.reopen(): void - added:
method MultiPartFormInputStream.MultiPart.cleanUp(): void - added:
method MultiPartFormInputStream.MultiPart.close(): void - added:
method MultiPartFormInputStream.MultiPart.createFile(): void - added:
method MultiPartFormInputStream.MultiPart.delete(): void - added:
method MultiPartFormInputStream.MultiPart.getBytes(): byte[] - added:
method MultiPartFormInputStream.MultiPart.getContentDispositionFilename(): String - added:
method MultiPartFormInputStream.MultiPart.getContentType(): String - added:
method MultiPartFormInputStream.MultiPart.getFile(): File - added:
method MultiPartFormInputStream.MultiPart.getHeader(String): String - added:
method MultiPartFormInputStream.MultiPart.getHeaderNames(): Collection - added:
method MultiPartFormInputStream.MultiPart.getHeaders(String): Collection - added:
method MultiPartFormInputStream.MultiPart.getInputStream(): InputStream - added:
method MultiPartFormInputStream.MultiPart.getName(): String - added:
method MultiPartFormInputStream.MultiPart.getSize(): long - added:
method MultiPartFormInputStream.MultiPart.getSubmittedFileName(): String - added:
method MultiPartFormInputStream.MultiPart.open(): void - added:
method MultiPartFormInputStream.MultiPart.setContentType(String): void - added:
method MultiPartFormInputStream.MultiPart.setHeaders(MultiMap): void - added:
method MultiPartFormInputStream.MultiPart.toString(): String - added:
method MultiPartFormInputStream.MultiPart.write(String): void - added:
method MultiPartFormInputStream.MultiPart.write(byte[], int, int): void - added:
method MultiPartFormInputStream.MultiPart.write(int): void - added:
method MultiPartFormInputStream.deleteParts(): void - added:
method MultiPartFormInputStream.getBufferSize(): int - added:
method MultiPartFormInputStream.getNonComplianceWarnings(): EnumSet - added:
method MultiPartFormInputStream.getPart(String): Part - added:
method MultiPartFormInputStream.getParts(): Collection - added:
method MultiPartFormInputStream.isDeleteOnExit(): boolean - added:
method MultiPartFormInputStream.isEmpty(): boolean - added:
method MultiPartFormInputStream.isWriteFilesWithFilenames(): boolean - added:
method MultiPartFormInputStream.parse(): void - added:
method MultiPartFormInputStream.setBufferSize(int): void - added:
method MultiPartFormInputStream.setDeleteOnExit(boolean): void - added:
method MultiPartFormInputStream.setWriteFilesWithFilenames(boolean): void - added:
method MultiPartFormInputStream.throwIfError(): void - added:
method MultiPartInputStreamParser.MultiPart.cleanUp(): void - added:
method MultiPartInputStreamParser.MultiPart.close(): void - added:
method MultiPartInputStreamParser.MultiPart.createFile(): void - added:
method MultiPartInputStreamParser.MultiPart.delete(): void - added:
method MultiPartInputStreamParser.MultiPart.getBytes(): byte[] - added:
method MultiPartInputStreamParser.MultiPart.getContentDispositionFilename(): String - added:
method MultiPartInputStreamParser.MultiPart.getContentType(): String - added:
method MultiPartInputStreamParser.MultiPart.getFile(): File - added:
method MultiPartInputStreamParser.MultiPart.getHeader(String): String - added:
method MultiPartInputStreamParser.MultiPart.getHeaderNames(): Collection - added:
method MultiPartInputStreamParser.MultiPart.getHeaders(String): Collection - added:
method MultiPartInputStreamParser.MultiPart.getInputStream(): InputStream - added:
method MultiPartInputStreamParser.MultiPart.getName(): String - added:
method MultiPartInputStreamParser.MultiPart.getSize(): long - added:
method MultiPartInputStreamParser.MultiPart.getSubmittedFileName(): String - added:
method MultiPartInputStreamParser.MultiPart.open(): void - added:
method MultiPartInputStreamParser.MultiPart.setContentType(String): void - added:
method MultiPartInputStreamParser.MultiPart.setHeaders(MultiMap): void - added:
method MultiPartInputStreamParser.MultiPart.toString(): String - added:
method MultiPartInputStreamParser.MultiPart.write(String): void - added:
method MultiPartInputStreamParser.MultiPart.write(byte[], int, int): void - added:
method MultiPartInputStreamParser.MultiPart.write(int): void - added:
method MultiPartInputStreamParser.deleteParts(): void - added:
method MultiPartInputStreamParser.getNonComplianceWarnings(): EnumSet - added:
method MultiPartInputStreamParser.getParsedParts(): Collection - added:
method MultiPartInputStreamParser.getPart(String): Part - added:
method MultiPartInputStreamParser.getParts(): Collection - added:
method MultiPartInputStreamParser.isDeleteOnExit(): boolean - added:
method MultiPartInputStreamParser.isWriteFilesWithFilenames(): boolean - added:
method MultiPartInputStreamParser.parse(): void - added:
method MultiPartInputStreamParser.setDeleteOnExit(boolean): void - added:
method MultiPartInputStreamParser.setWriteFilesWithFilenames(boolean): void - added:
method MultiPartInputStreamParser.throwIfError(): void - added:
method MultiPartParser.Handler.content(ByteBuffer, boolean): boolean - added:
method MultiPartParser.Handler.earlyEOF(): void - added:
method MultiPartParser.Handler.headerComplete(): boolean - added:
method MultiPartParser.Handler.messageComplete(): boolean - added:
method MultiPartParser.Handler.parsedField(String, String): void - added:
method MultiPartParser.Handler.startPart(): void - added:
method MultiPartParser.getHandler(): MultiPartParser.Handler - added:
method MultiPartParser.getState(): MultiPartParser.State - added:
method MultiPartParser.isState(MultiPartParser.State): boolean - added:
method MultiPartParser.parse(ByteBuffer, boolean): boolean - added:
method MultiPartParser.parseMimePartHeaders(ByteBuffer): boolean - added:
method MultiPartParser.parseOctetContent(ByteBuffer): boolean - added:
method MultiPartParser.reset(): void - added:
method MultiPartParser.toString(): String - added:
method MultiParts.MultiPartsHttpParser.getNonComplianceWarnings(): EnumSet - added:
method MultiParts.MultiPartsUtilParser.getNonComplianceWarnings(): EnumSet - added:
method MultiParts.NonCompliance.getURL(): String - added:
method MultiParts.getNonComplianceWarnings(): EnumSet - added:
method NetworkTrafficServerConnector.getNetworkTrafficListener(): NetworkTrafficListener - added:
method NetworkTrafficServerConnector.setNetworkTrafficListener(NetworkTrafficListener): void - added:
method ProxyConnectionFactory.ProxyEndPoint.getLocalSocketAddress(): SocketAddress - added:
method ProxyConnectionFactory.ProxyEndPoint.getRemoteSocketAddress(): SocketAddress - added:
method ProxyConnectionFactory.ProxyEndPoint.getTLV(int): byte[] - added:
method Request.getBeginNanoTime(): long - added:
method Request.getComplianceViolationListener(): ComplianceViolation.Listener - added:
method Request.getHttpServletMapping(): HttpServletMapping - added:
method Request.getPathInContext(): String - added:
method Request.getServletPathMapping(): ServletPathMapping - added:
method Request.getTrailerFields(): Map - added:
method Request.getTrailerHttpFields(): HttpFields - added:
method Request.newPushBuilder(): PushBuilder - added:
method Request.setHttpFields(HttpFields): void - added:
method Request.setServletPathMapping(ServletPathMapping): void - added:
method Request.setTrailerHttpFields(HttpFields): void - added:
method Response.getTrailerFields(): Supplier - added:
method Response.sendEarlyHint(): void - added:
method Response.setTrailerFields(Supplier): void - added:
method Server.getStopTimeout(): long - added:
method Server.isDryRun(): boolean - added:
method Server.setDryRun(boolean): void - added:
method ServerConnector.isReusePort(): boolean - added:
method ServerConnector.setReusePort(boolean): void - added:
method ServletPathMapping.getMappingMatch(): MappingMatch - added:
method ServletPathMapping.getMatchValue(): String - added:
method ServletPathMapping.getPathInfo(): String - added:
method ServletPathMapping.getPattern(): String - added:
method ServletPathMapping.getServletName(): String - added:
method ServletPathMapping.getServletPath(): String - added:
method ServletPathMapping.toString(): String - added:
method ShutdownMonitor.await(): void - added:
method SslConnectionFactory.configure(Connector): void - added:
method SslConnectionFactory.isEnsureSecureRequestCustomizer(): boolean - added:
method SslConnectionFactory.setEnsureSecureRequestCustomizer(boolean): void - added:
method StateLifeCycleListener.lifeCycleFailure(LifeCycle, Throwable): void - added:
method StateLifeCycleListener.lifeCycleStarted(LifeCycle): void - added:
method StateLifeCycleListener.lifeCycleStarting(LifeCycle): void - added:
method StateLifeCycleListener.lifeCycleStopped(LifeCycle): void - added:
method StateLifeCycleListener.lifeCycleStopping(LifeCycle): void - added:
method StateLifeCycleListener.toString(): String - added:
static abstract class HttpInput.SpecialContent extends HttpInput.Content - added:
static class HttpInput.WrappingContent extends HttpInput.Content - added:
static field Cookies.LOG: Logger - added:
static field HttpTransport.UPGRADE_CONNECTION_ATTRIBUTE: String - added:
static field MultiPartInputStreamParser.EMPTY_MAP: MultiMap - added:
static field MultiPartInputStreamParser.__DEFAULT_MULTIPART_CONFIG: MultipartConfigElement - added:
static field MultiPartParser.FieldState.AFTER_NAME: MultiPartParser.FieldState - added:
static field MultiPartParser.FieldState.FIELD: MultiPartParser.FieldState - added:
static field MultiPartParser.FieldState.IN_NAME: MultiPartParser.FieldState - added:
static field MultiPartParser.FieldState.IN_VALUE: MultiPartParser.FieldState - added:
static field MultiPartParser.FieldState.VALUE: MultiPartParser.FieldState - added:
static field MultiPartParser.LOG: Logger - added:
static field MultiPartParser.State.BODY_PART: MultiPartParser.State - added:
static field MultiPartParser.State.DELIMITER: MultiPartParser.State - added:
static field MultiPartParser.State.DELIMITER_CLOSE: MultiPartParser.State - added:
static field MultiPartParser.State.DELIMITER_PADDING: MultiPartParser.State - added:
static field MultiPartParser.State.END: MultiPartParser.State - added:
static field MultiPartParser.State.EPILOGUE: MultiPartParser.State - added:
static field MultiPartParser.State.FIRST_OCTETS: MultiPartParser.State - added:
static field MultiPartParser.State.OCTETS: MultiPartParser.State - added:
static field MultiPartParser.State.PREAMBLE: MultiPartParser.State - added:
static field MultiParts.NonCompliance.BASE64_TRANSFER_ENCODING: MultiParts.NonCompliance - added:
static field MultiParts.NonCompliance.CR_LINE_TERMINATION: MultiParts.NonCompliance - added:
static field MultiParts.NonCompliance.LF_LINE_TERMINATION: MultiParts.NonCompliance - added:
static field MultiParts.NonCompliance.NO_CRLF_AFTER_PREAMBLE: MultiParts.NonCompliance - added:
static field MultiParts.NonCompliance.QUOTED_PRINTABLE_TRANSFER_ENCODING: MultiParts.NonCompliance - added:
static field MultiParts.NonCompliance.TRANSFER_ENCODING: MultiParts.NonCompliance - added:
static field Request.__MULTIPART_CONFIG_ELEMENT: String - added:
static field SecureRequestCustomizer.X509_CERT: String - added:
static final class HttpInput.ErrorContent extends HttpInput.SpecialContent - added:
static method MultiPartParser.FieldState.valueOf(String): MultiPartParser.FieldState - added:
static method MultiPartParser.FieldState.values(): MultiPartParser.FieldState[] - added:
static method MultiPartParser.State.valueOf(String): MultiPartParser.State - added:
static method MultiPartParser.State.values(): MultiPartParser.State[] - added:
static method MultiParts.NonCompliance.valueOf(String): MultiParts.NonCompliance - added:
static method MultiParts.NonCompliance.values(): MultiParts.NonCompliance[] - added:
static method Response.toRedirectURI(HttpServletRequest, String): String
- removed:
class IPAccessHandler extends HandlerWrapper - removed:
class SizeLimitHandler extends HandlerWrapper - removed:
ctor IPAccessHandler() - removed:
ctor IPAccessHandler(String[], String[]) - removed:
ctor ShutdownHandler(Server, String) - removed:
ctor SizeLimitHandler(long, long) - removed:
method AbstractHandlerContainer.doShutdown(List): void - removed:
method ContextHandler.getEventListeners(): EventListener[] - removed:
method ContextHandler.setEventListeners(EventListener[]): void - removed:
method ContextHandler.setManagedAttribute(String, Object): void - removed:
method ContextHandlerCollection.addContext(String, String): ContextHandler - removed:
method ContextHandlerCollection.getContextClass(): Class - removed:
method ContextHandlerCollection.setContextClass(Class): void - removed:
method ErrorHandler.doError(String, Request, HttpServletRequest, HttpServletResponse): void - removed:
method IPAccessHandler.add(String, PathMap): void - removed:
method IPAccessHandler.addBlack(String): void - removed:
method IPAccessHandler.addWhite(String): void - removed:
method IPAccessHandler.dump(Appendable, String): void - removed:
method IPAccessHandler.handle(String, Request, HttpServletRequest, HttpServletResponse): void - removed:
method IPAccessHandler.isAddrUriAllowed(String, String): boolean - removed:
method IPAccessHandler.set(String[], PathMap): void - removed:
method IPAccessHandler.setBlack(String[]): void - removed:
method IPAccessHandler.setWhite(String[]): void - removed:
method IPAccessHandler.setWhiteListByPath(boolean): void - removed:
method ResourceHandler.getMinAsyncContentLength(): int - removed:
method ResourceHandler.getMinMemoryMappedContentLength(): int - removed:
method ResourceHandler.isGzip(): boolean - removed:
method ResourceHandler.setGzip(boolean): void - removed:
method ResourceHandler.setMinAsyncContentLength(int): void - removed:
method ResourceHandler.setMinMemoryMappedContentLength(int): void - removed:
method SizeLimitHandler.checkRequestLimit(long): void - removed:
method SizeLimitHandler.checkResponseLimit(long): void - removed:
method SizeLimitHandler.handle(String, Request, HttpServletRequest, HttpServletResponse): void - removed:
method ThreadLimitHandler.getRemote(Request): ThreadLimitHandler.Remote - changed:
class SecuredRedirectHandler extends AbstractHandler → class SecuredRedirectHandler extends HandlerWrapper - changed:
method ContextHandler.addEventListener(EventListener): void → method ContextHandler.addEventListener(EventListener): boolean - changed:
method ContextHandler.removeEventListener(EventListener): void → method ContextHandler.removeEventListener(EventListener): boolean - changed:
method ContextHandler.shutdown(): Future → method ContextHandler.shutdown(): CompletableFuture - changed:
method ErrorHandler.badMessageError(int, String, HttpFields): ByteBuffer → method ErrorHandler.badMessageError(int, String, HttpFields.Mutable): ByteBuffer - changed:
method StatisticsHandler.shutdown(): Future → method StatisticsHandler.shutdown(): CompletableFuture - added:
class InetAccessSet extends AbstractSet implements Set, Predicate - added:
ctor ContextHandler(ContextHandler.Context, HandlerContainer, String) - added:
ctor InetAccessSet() - added:
ctor InetAccessSet.AccessTuple(String, InetAddress, String) - added:
ctor InetAccessSet.PatternTuple(String, InetAddressPattern, PathSpec) - added:
ctor SecuredRedirectHandler(int) - added:
method ContextHandler.StaticContext.addJspFile(String, String): ServletRegistration.Dynamic - added:
method ContextHandler.StaticContext.getRequestCharacterEncoding(): String - added:
method ContextHandler.StaticContext.getResponseCharacterEncoding(): String - added:
method ContextHandler.StaticContext.getSessionTimeout(): int - added:
method ContextHandler.StaticContext.setRequestCharacterEncoding(String): void - added:
method ContextHandler.StaticContext.setResponseCharacterEncoding(String): void - added:
method ContextHandler.StaticContext.setSessionTimeout(int): void - added:
method ContextHandler.getDefaultRequestCharacterEncoding(): String - added:
method ContextHandler.getDefaultResponseCharacterEncoding(): String - added:
method ContextHandler.isContextPathDefault(): boolean - added:
method ContextHandler.setDefaultContextPath(String): void - added:
method ContextHandler.setDefaultRequestCharacterEncoding(String): void - added:
method ContextHandler.setDefaultResponseCharacterEncoding(String): void - added:
method InetAccessHandler.exclude(String, String, PathSpec): void - added:
method InetAccessHandler.include(String, String, PathSpec): void - added:
method InetAccessSet.AccessTuple.getAddress(): InetAddress - added:
method InetAccessSet.AccessTuple.getConnector(): String - added:
method InetAccessSet.AccessTuple.getPath(): String - added:
method InetAccessSet.PatternTuple.test(InetAccessSet.AccessTuple): boolean - added:
method InetAccessSet.PatternTuple.toString(): String - added:
method InetAccessSet.add(InetAccessSet.PatternTuple): boolean - added:
method InetAccessSet.iterator(): Iterator - added:
method InetAccessSet.remove(Object): boolean - added:
method InetAccessSet.size(): int - added:
method InetAccessSet.test(InetAccessSet.AccessTuple): boolean - added:
static class InetAccessSet.AccessTuple - added:
static class InetAccessSet.PatternTuple implements Predicate - added:
static method InetAccessSet.PatternTuple.from(String): InetAccessSet.PatternTuple
- removed:
method GzipFactory.getDeflater(Request, long): Deflater - removed:
method GzipFactory.recycle(Deflater): void - removed:
method GzipHandler.addExcludedAgentPatterns(String[]): void - removed:
method GzipHandler.addIncludedAgentPatterns(String[]): void - removed:
method GzipHandler.getCheckGzExists(): boolean - removed:
method GzipHandler.getCompressionLevel(): int - removed:
method GzipHandler.getDeflater(Request, long): Deflater - removed:
method GzipHandler.getExcludedAgentPatterns(): String[] - removed:
method GzipHandler.getIncludedAgentPatterns(): String[] - removed:
method GzipHandler.getMethods(): String[] - removed:
method GzipHandler.isAgentGzipable(String): boolean - removed:
method GzipHandler.newDeflaterPool(int): DeflaterPool - removed:
method GzipHandler.recycle(Deflater): void - removed:
method GzipHandler.setCheckGzExists(boolean): void - removed:
method GzipHandler.setCompressionLevel(int): void - removed:
method GzipHandler.setExcludedAgentPatterns(String[]): void - removed:
method GzipHandler.setIncludedAgentPatterns(String[]): void - removed:
method GzipHttpOutputInterceptor.isOptimizedForDirectBuffers(): boolean - removed:
method GzipHttpOutputInterceptor.noCompressionIfPossible(): void - removed:
static field GzipHttpOutputInterceptor.VARY_ACCEPT_ENCODING_USER_AGENT: HttpField - changed:
ctor GzipHttpInputInterceptor(ByteBufferPool, int) → ctor GzipHttpInputInterceptor(InflaterPool, ByteBufferPool, int) - added:
ctor GzipHttpInputInterceptor(InflaterPool, ByteBufferPool, int, boolean) - added:
method GzipFactory.getDeflaterEntry(Request, long): CompressionPool.Entry - added:
method GzipHandler.addExcludedInflationPaths(String[]): void - added:
method GzipHandler.addIncludedInflationPaths(String[]): void - added:
method GzipHandler.doStop(): void - added:
method GzipHandler.getDeflaterEntry(Request, long): CompressionPool.Entry - added:
method GzipHandler.getDeflaterPool(): DeflaterPool - added:
method GzipHandler.getExcludedInflationPaths(): String[] - added:
method GzipHandler.getIncludedInflationPaths(): String[] - added:
method GzipHandler.getInflaterPool(): InflaterPool - added:
method GzipHandler.getInflaterPoolCapacity(): int - added:
method GzipHandler.getVary(): HttpField - added:
method GzipHandler.isPathInflatable(String): boolean - added:
method GzipHandler.setDeflaterPool(DeflaterPool): void - added:
method GzipHandler.setDispatcherTypes(String[]): void - added:
method GzipHandler.setExcludedInflatePaths(String[]): void - added:
method GzipHandler.setExcludedMimeTypesList(String): void - added:
method GzipHandler.setIncludedInflatePaths(String[]): void - added:
method GzipHandler.setIncludedMimeTypesList(String): void - added:
method GzipHandler.setInflaterPool(InflaterPool): void - added:
method GzipHandler.setInflaterPoolCapacity(int): void - added:
method GzipHandler.setVary(HttpField): void - added:
static field GzipHandler.ETAG_HEADERS: EnumSet
- removed:
class NetworkTrafficSelectChannelConnector extends NetworkTrafficServerConnector - removed:
ctor NetworkTrafficSelectChannelConnector(Server) - removed:
ctor NetworkTrafficSelectChannelConnector(Server, ConnectionFactory) - removed:
ctor NetworkTrafficSelectChannelConnector(Server, ConnectionFactory, SslContextFactory) - removed:
ctor NetworkTrafficSelectChannelConnector(Server, Executor, Scheduler, ByteBufferPool, int, int, ConnectionFactory[]) - removed:
ctor NetworkTrafficSelectChannelConnector(Server, SslContextFactory)
- removed:
field DefaultSessionCache._sessions: ConcurrentHashMap - removed:
field SessionHandler._nodeIdInSessionId: boolean - removed:
method FileSessionDataStore.exists(String): boolean - removed:
method JDBCSessionDataStore.SessionTableSchema.getAllAncientExpiredSessionsStatement(Connection): PreparedStatement - removed:
method JDBCSessionDataStore.exists(String): boolean - removed:
method NullSessionDataStore.exists(String): boolean - removed:
method Session.SessionInactivityTimer.schedule(): void - removed:
method Session.checkLocked(): void - removed:
method Session.doInvalidate(): void - removed:
method Session.isChanging(): boolean - removed:
method Session.updateInactivityTimer(): void - removed:
method SessionCache.renewSessionId(String, String): Session - removed:
method SessionHandler.clearEventListeners(): void - removed:
method SessionHandler.complete(Session, Request): void - removed:
method SessionHandler.isNodeIdInSessionId(): boolean - removed:
method SessionHandler.sessionInactivityTimerExpired(Session): void - removed:
method SessionHandler.setNodeIdInSessionId(boolean): void - removed:
static field SessionHandler.MAX_INACTIVE_MINUTES: BigDecimal - changed:
field Session._lock: Locker → field Session._lock: AutoLock - changed:
method AbstractSessionDataStore.doGetExpired(Set): Set → method AbstractSessionDataStore.doGetExpired(long): Set - changed:
method FileSessionDataStore.doGetExpired(Set): Set → method FileSessionDataStore.doGetExpired(long): Set - changed:
method FileSessionDataStore.sweepDisk(): void → method FileSessionDataStore.sweepDisk(long): void - changed:
method JDBCSessionDataStore.doGetExpired(Set): Set → method JDBCSessionDataStore.doGetExpired(long): Set - changed:
method NullSessionDataStore.doGetExpired(Set): Set → method NullSessionDataStore.doGetExpired(long): Set - changed:
method Session.lock(): Locker.Lock → method Session.lock(): AutoLock - changed:
method SessionHandler.addEventListener(EventListener): void → method SessionHandler.addEventListener(EventListener): boolean - changed:
method SessionHandler.removeEventListener(EventListener): void → method SessionHandler.removeEventListener(EventListener): boolean - added:
ctor DefaultSessionCache(SessionHandler, ConcurrentMap) - added:
field AbstractSessionDataStore._lastOrphanSweepTime: long - added:
method AbstractSessionDataStore.cleanOrphans(long): void - added:
method AbstractSessionDataStore.doCheckExpired(Set, long): Set - added:
method AbstractSessionDataStore.doCleanOrphans(long): void - added:
method AbstractSessionDataStore.doExists(String): boolean - added:
method AbstractSessionDataStore.exists(String): boolean - added:
method FileSessionDataStore.doCheckExpired(Set, long): Set - added:
method FileSessionDataStore.doCleanOrphans(long): void - added:
method FileSessionDataStore.doExists(String): boolean - added:
method JDBCSessionDataStore.SessionTableSchema.getCleanOrphansStatement(Connection, long): PreparedStatement - added:
method JDBCSessionDataStore.doCheckExpired(Set, long): Set - added:
method JDBCSessionDataStore.doCleanOrphans(long): void - added:
method JDBCSessionDataStore.doExists(String): boolean - added:
method NullSessionDataStore.doCheckExpired(Set, long): Set - added:
method NullSessionDataStore.doCleanOrphans(long): void - added:
method NullSessionDataStore.doExists(String): boolean - added:
method SessionHandler.setPartitioned(boolean): void - added:
static field AbstractSessionDataStore.DEFAULT_GRACE_PERIOD_SEC: int - added:
static field AbstractSessionDataStore.DEFAULT_SAVE_PERIOD_SEC: int