Releases: jetty/jetty.project
Releases · jetty/jetty.project
12.1.0.beta1
Special Thanks to the following Eclipse Jetty community members
- @kohlschuetter (Dr. Christian Kohlschütter)
Changelog
- #13244 - Client responses of HTTP conversations have mismatching request
- #13242 - Keep extracted query params as attribute for jetty-core
- #13240 - Fix NPE in
HttpReceiver.responseSuccess()
when that method is called more than once - #13230 - Prevent cycles/stackoverflow in dump
- #13218 - Support arbitrary Handlers and core webapp archives in core-deploy
- #13217 - Deployment of XML only with ServletContextHandler sets wrong baseResource
- #13214 - Port async cross context dispatch to ee11
- #13213 - Review WebSocket ClientUpgradeRequest API for 12.1
- #13206 - Improve InputStreamContentSource byte[] handling.
- #13205 - Re-implemented StacklessLogging to be thread safe
- #13196 - Download of large file may get stuck in an infinite loop (bug in IOResources.copy / Content.Source) (@kohlschuetter)
- #13187 - Missing API to increase QueuedThreadPool maxThreads by leased threads + QoSHandler bug of exceeding maxRequestCount by 1
- #13186 - Merge Jetty 12.1.x Support
maven.offline
property in jetty-start, to control of download of maven files from remote repos during--add-modules
(#13147) - #13181 - Reviewed HTTP/3 API to simplify the implementation.
- #13179 - Fix HTTP/3 behavior in case of client reset.
- #13170 - use real url as this can eventually be used by some tooling
- #13164 - ProxyServlet abort
- #13156 - Force servlet4 demos to be build last, to have ee8 built last
- #13144 - Cross Context Dispatch with Async does not honor context
- #13131 - Surface received GOAWAY in HttpClient
- #13122 - Common Annotation Parser
- #13098 - HTTP2 Server Error Handling is different than HTTP1
- #13057 - InvalidPathException instead of MalformedURLException after switching to jetty12
- #13043 - Review WebSocket flushers
- #13013 - Rework websocket
FrameFlusher
's expiration - #12659 - Use websocket over varying http protocols using a single client
- #12453 - Guard against NullPointerException in AnnotationParser
- #11294 - NPE on trying to read uri, headers or attributes from the original HttpServletRequest wrapped in UpgradeRequest on WebSocket server in Jetty 12
- #9632 - Jetty 12 - conditional headers handling for welcome files
- #5442 - Allow multiple authentication options for a web app
- #4493 - Document ThreadPoolBudget behavior
12.0.22
Changelog
- #13182 - Ignore bad cookie names in legacy CookieCutter
- #13164 - ProxyServlet abort
- #13161 - Change default stop timeout value in
WebSocketClient
- #13147 - Support
maven.offline
property in jetty-start, to control of download of maven files from remote repos during--add-modules
- #13144 - Cross Context Dispatch with Async does not honor context
- #13136 - Do not abort response in nested HttpChannelState.onError if sendError
- #13135 - Allow onSuccess to abort Iterating Callback
- #13131 - Surface received GOAWAY in HttpClient
- #13128 - Merge back Release/12.0.21
- #13126 - Fix shared blocking callback hang
- #13098 - HTTP2 Server Error Handling is different than HTTP1
- #13057 - InvalidPathException instead of MalformedURLException after switching to jetty12
- #13013 - Rework websocket
FrameFlusher
's expiration - #12918 - NullPointerException with ServeAs requests (with FormAuthenticator)
- #12659 - Use websocket over varying http protocols using a single client
12.1.0.beta0
Special Thanks to the following Eclipse Jetty community members
- @scrat98 (Artem Golovko)
- @kohlschuetter (Christian Kohlschütter)
- @lijinliangyihao (lijinliang)
Changelog
- #13121 - Deploy Dump & cleanup
- #13104 - Change
DeploymentScanner
monitoredDir
names towebappsDir
- #13101 - Implement rejection RFC9110 Bad White Space
- #13095 - Common RFC tests
- #13090 - Replace RuntimeIOException with UncheckedIOException
- #13084 - Documented the new web application deployer.
- #13078 - Remove deprecated jetty-runner
- #13069 - Deploy Environment Weights
- #13064 - Jetty 12.0.x/12.1.x: ShutdownMonitorTest is stuck
- #13051 - Jetty 12.1.x build stuck because of waiting on the Class initialization monitor for org.eclipse.jetty.io.RetainableByteBuffer$Abstract
- #13048 - Exception from oeje11wjt.JakartaClientClassLoaderTest#websocketProvidedByServer
- #13046 - Restore
ee9
(andee8
) behaviors with parsingapplication/x-www-form-urlencoded
parameters - #13040 - Introduce Deploy property
baseResource
for use in 12.1.x deploy - #13031 -
SessionHandlerTest.testFlushOnResponseCommit
is flaky - #13029 - Web-socket that use permessage-deflate extensions are keeping in memory the last message sent to the client
- #13019 - [util-ajax] Support CharSequence instead of String for JSON.parse (@scrat98)
- #13012 - Refine Deferred Authentication
- #13011 - Review changes in
org.eclipse.jetty.server.Deployable
in 12.1.x and apply appropriate deprecations and warnings - #13008 - Introduce HttpClient's Request.onResponseListener()
- #13004 - QueuedThreadPool throws error on quick successive execute calls if initialized with BlockingArrayQueue or ArrayBlockingQueue
- #13003 - Avoid cycles in bean dumps
- #13002 -
HugeResourceTest.testUploadDelayed()
fails whenRetainedContentLoaderFactory
'sreject
is not explicitly disabled - #13000 - Remove environment XML functionality from deployer
- #12997 - DeploymentScanner should only act on
*.xml
or*.properties
changes inenvironments/
directory. - #12995 - Clarify deployment of foo/ and foo.d/
- #12993 - Improve Hot Redeployment Information logging
- #12992 - Deployment Scanner is still performing hot deploy by default, contrary to documentation
- #12990 - Jetty CoreContextHandler needs to support simple static directory deployment
- #12988 - Introduce an HTTP/2 frame listener
- #12985 - Optimize memory usage of FrameFlusher.timeoutExpired
- #12981 - MultiPart annotation scanning not done if metadata-complete==true
- #12965 - Allow
Resource
instances to provideContent.Source
directly - #12963 - Slow transfers on custom / non-Path Resource instances (@kohlschuetter)
- #12961 - Different results for
getRequestURL
in filters with async requests - #12958 - Discrepancy between Jetty 9 and Jetty 12 when setting the base resource to a path containing
..
- #12943 - Unable to handle - IllegalStateException in Jetty Client Request send()
- #12936 - UnsupportedOperationException when modifying HttpServletResponse after commit
- #12926 - maxFormContentSize doesn't count "=" characters
- #12923 - Introduce Bouncy Castle Jetty module
- #12919 - Reduce some OSGi code duplication with core Activator.
- #12918 - NullPointerException with ServeAs requests (with FormAuthenticator)
- #12916 - Bad example in JavaDoc of InputStreamResponseListener
- #12913 - Resource located inside JAR file is wrongfully treated as an alias
- #12900 - Make JPMS work with new Environments features
- #12875 - Fixes for EE11 Jakarta WebSocket implementation to fix TCK failures.
- #12746 - Sporadic NPE in HttpChannelState.onFailure
- #12700 - ResourceHandler & ResourceServlet (all envs) do not agree on UseFileMapping default
- #12697 - Servlet error pages do not work when Response.writeError is called before entering the ServletChannel
- #12537 - org.eclipse.jetty.server.LowResourceMonitor#setMonitorThreads seems not right (@lijinliangyihao)
- #12530 - Make
HttpOutput.println()
simpler and faster - #12361 - ErrorHandler#getShowMessageInTitle() is ignored
- #11492 - Auto add AliasChecker for custom Base Resource in DefaultServlet
- #11425 - Review Handler Collection logic around InvocationType
- #11320 - Review callers of HttpChannelState.onIdleTimeout()
- #11289 - Embedded jetty doesn't set the charset to content-type header
- #10608 - DefaultServlet behaviour wrong for
welcomeFiles
- #8715 - Jetty 12 - Optimize RequestLog information retrieval
- #5442 - Allow multiple authentication options for a web app
12.0.21
Changelog
12.0.20
Special Thanks to the following Eclipse Jetty community members
- @scrat98 (Artem Golovko)
- @kohlschuetter (Christian Kohlschütter)
- @garydgregory (Gary Gregory)
Changelog
- #13033 - Added "since" and "forRemoval" attributes to AbstractLifeCycle.AbstractLifeCycleListener deprecation, and removed its usages.
- #13029 - Web-socket that use permessage-deflate extensions are keeping in memory the last message sent to the client
- #13019 - [util-ajax] Support CharSequence instead of String for JSON.parse (@scrat98)
- #13017 - Upgrade quiche to version 0.24.0
- #13016 - Allow the HttpClient in AbstractProxyServlet to configure additional attributes (@garydgregory)
- #13008 - Introduce HttpClient's Request.onResponseListener()
- #13004 - QueuedThreadPool throws error on quick successive execute calls if initialized with BlockingArrayQueue or ArrayBlockingQueue
- #12988 - Introduce an HTTP/2 frame listener
- #12985 - Optimize memory usage of FrameFlusher.timeoutExpired
- #12981 - MultiPart annotation scanning not done if metadata-complete==true
- #12965 - Allow
Resource
instances to provideContent.Source
directly - #12963 - Slow transfers on custom / non-Path Resource instances (@kohlschuetter)
- #12961 - Different results for
getRequestURL
in filters with async requests - #12958 - Discrepancy between Jetty 9 and Jetty 12 when setting the base resource to a path containing
..
- #12900 - Make JPMS work with new Environments features
- #12746 - Sporadic NPE in HttpChannelState.onFailure
12.0.19
Special Thanks to the following Eclipse Jetty community members
- @lijinliangyihao (lijinliang)
- @SentryMan (Josiah Noel)
Changelog
- #12944 - Avoid direct cast to ServletScopedContext
- #12943 - Unable to handle - IllegalStateException in Jetty Client Request send()
- #12942 - Backport tracking pool improvements from 12.1.x
- #12936 - UnsupportedOperationException when modifying HttpServletResponse after commit
- #12929 -
jetty-http-spi
Fix Multi-Value Response Headers (@SentryMan) - #12926 - maxFormContentSize doesn't count "=" characters
- #12925 - Fix to EE8/EE9 StandardDescriptorProcessor to allow duplicate ServletMappings
- #12923 - Introduce Bouncy Castle Jetty module
- #12916 - Bad example in JavaDoc of InputStreamResponseListener
- #12913 - Resource located inside JAR file is wrongfully treated as an alias
- #12906 - URIUtil#correctURI throws StringIndexOutOfBoundsException
- #12905 - Fix SSL buffer leak
- #12900 - Make JPMS work with new Environments features
- #12893 - Fix config for jspc plugin for eeX jsp demos
- #12815 - Update jetty-acceptratelimit.xml
- #12537 - org.eclipse.jetty.server.LowResourceMonitor#setMonitorThreads seems not right (@lijinliangyihao)
- #12361 - ErrorHandler#getShowMessageInTitle() is ignored
- #12205 - Improve the documentation for the Jetty Server Dump
12.0.18
Changelog
- #12892 - Module http-forwarded does not appear to be able to use the IP in X-Forwarded-For header with any TLS HTTP request if the module http2 is also loaded
- #12888 - ErrorPageHandler dispatcher returns incorrect 405 for failing POST requests (e.g. JAX-RS)
- #12882 - Regression:
HttpConfiguration setResponseHeaderSize
is ineffective in 12.0.17 - #12871 - Add module ee8-cdi-decorate or update ee10-cdi-decorate to allow run old web applications
- #12802 - Make Server::setDefaultHandler and Server::setErrorHandler arguments consistent
11.0.25
This is a sponsored release for an End of Life version of Jetty.
Changelog
- #12874 - Introduce
UriCompliance.USER_INFO
to Jetty 10.0.x - #12869 -
XmlConfiguration
shouldn't treat non-XML command line options as XML - #12776 - ByteBufferPool - all ongoing requests fail when single request is cancelled on HTTP/2
- #12821 - Better document
ContextHandler.setCompactPath(boolean)
deprecation - #12268 -
IteratingCallback
may iterate too much whenprocess()
returns Action.IDLE
10.0.25
This is a sponsored release for an End of Life version of Jetty.
Changelog
- #12874 - Introduce
UriCompliance.USER_INFO
to Jetty 10.0.x - #12869 -
XmlConfiguration
shouldn't treat non-XML command line options as XML - #12776 - ByteBufferPool - all ongoing requests fail when single request is cancelled on HTTP/2
- #12821 - Better document
ContextHandler.setCompactPath(boolean)
deprecation - #12268 -
IteratingCallback
may iterate too much whenprocess()
returns Action.IDLE
12.0.17
Special Thanks to the following Eclipse Jetty community members for this release
- @SentryMan (Josiah Noel)
- @karstenhusberg
- @lucarota
- @lucarota-eutelsat (Luca Rota)
Of Special Note
The definition of UriCompliance.LEGACY
has changed with regards to bad UTF-8 parsing. (This now conforms to Jetty 11/10/9 LEGACY mode behavior.)
A new UriCompliance.JETTY_11
has been created to replicate Jetty 11 DEFAULT mode.
Changelog
- #12834 - Quotes should be escaped in request logs
- #12831 - Always resolve pathSpec with asPathSpec in ConstraintSecurityHandler
- #12828 - HttpServletResponse.encodeURL() does not support relative paths
- #12827 - Introduce
UriCompliance.JETTY_11
which is different thanUriCompliance.LEGACY
- #12821 - Restore ee9/ee8 ContextHandler.setCompactPath(boolean) behavior for backward compat reasons
- #12810 - Add
jetty-ee
to a BOM - #12796 - Do not decode path in EE9 Dispatcher
- #12792 - Issue when scrolling around in embedded videos
- #12791 - Review
UriCompliance.LEGACY
behavior with bad UTF-8 in query - #12790 - Cannot invoke "org.eclipse.jetty.io.RetainableByteBuffer.getByteBuffer()" because "buffer" is null
- #12775 - EE9 Servlet API throws exceptions in normal control flow
- #12768 - Static HTML in demos still refer to Jetty 10/11 and earlier concepts.
- #12764 - Add filter support to
jetty-http-spi
(@SentryMan) - #12752 - Make
jetty-server
a compile scoped dependency ofjetty-http-spi
(@SentryMan) - #12750 - UriCompliance is ignored for query string parsing
- #12741 - Remove unused files from jetty-eeX-demo-jetty-webapp
- #12739 - Regression in handing CombinedResource WEB-INF between Jetty 11 and Jetty 12
- #12730 - RegexRule needs configurable to include query (or not) in match logic
- #12725 - Update the _matchAfterIndex variable after setting new filter mappings
- #12724 - Fix SymlinkAllowedResourceAliasChecker for use with CombinedResource
- #12723 - Only on Windows: Failed startup of osgi context oeje8w.WebAppContext
- #12714 - MongoSessionDataStore can't upsert sessions if workerName contains token deliminators
- #12706 - Export ArrayByteBufferPool statistics via JMX
- #12705 - Orphaned sessions are never deleted at runtime in the SessionDataStore.
- #12690 - Add configurable capping for values of H2
MAX_HEADER_LIST_SIZE
settings frames - #12689 - Add statistics about
ByteBufferPool.acquire()
calls made for which there is no bucket - #12683 - Cross context dispatch to root context uses incorrect target path
- #12681 - CachingHttpContentFactory$CachedHttpContent already released buffer
- #12671 - Check UriCompliance.Violation.ALLOW_BAD_UTF8 in query parameter extraction
- #12670 - Improve buffer management of HTTP/1 response headers
- #12652 - Jetty Reactive client hangs for HTTP 401 responses.
- #12650 - Attribute org.eclipse.jetty.multipartConfig is null
- #12646 - CompleteListener may be invoked twice
- #12639 - Request.Content.getContentType()'s Javadoc contradicts HttpConnection.normalizeRequest()
- #12634 - Update jaas index.adoc (@karstenhusberg)
- #12633 - Ensure a redirect of the HttpServletResponse will close HttpOutput
- #12626 - Wrong ? packages in the JNDI mail example (@karstenhusberg)
- #12609 - Change of behaviour with HttpServletResponse.sendError(0) in EE10
- #12428 - No ALPNProcessor for org.bouncycastle.jsse.provider.ProvSSLEngine error with jetty http2 client (@lucarota-eutelsat, @lucarota)