All Versions
32
Latest Version
Avg Release Cycle
38 days
Latest Release
1464 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v11.0.0 Changes
December 07, 2020Eclipse Jetty 11.x Highlights
- Jetty 11.x has a minimum Java requirement of Java 11.
- Jetty 11.x modules are proper JPMS modules with
module-info.class
. - ๐ Jetty 11.x supports the following technology specs (from the Jakarta EE 9 effort):
jakarta.servlet
- 5.0.0jakarta.servlet.jsp
- 3.0.0jakarta.servlet.jsp.jstl
- 2.0.0jakarta.el
- 4.0.0jakarta.websocket
- 2.0.0
- ๐ Jetty 11.x is the first major version of Jetty to support the
jakarta.servlet
namespace.
๐ Use Jetty 10.x for the older (now outdated)javax.servlet
namespace.
Important Changes
- ๐ฒ Classic jetty logging facade has been replaced with slf4j-api usage
- There is no longer a
jetty-distribution
, usejetty-home
with a proper${jetty.base}
instead.
๐ See: Operations Guide: Architecture- New
demo
jetty-start module exists to replace the old demo-base functionality.
- New
- โ Remove jetty-all uber artifact
- ๐ง Managing
Configuration
within aWebAppContext
has a new API.
(They are now self ordering and do not require knowledge of Jetty internals to use successfully) - ๐จ Complete WebSocket refactoring, those using the Jetty APIs or embedded-jetty will need to update their code.
- Support for WebSocket over HTTP/2 (client and server)
- Jetty HttpClient has been improved.
- Supports dynamic protocol upgrade (http/2 and http/1.1).
- ๐จ Session management has been refactored as well.
๐ Changelog
- โฌ๏ธ #5715 - Fix problems caused by upgrade to jstl version.
- #5701 - Bump jakarta.servlet.jsp-api from 3.0.0-M1 to 3.0.0
- #5700 - Bump jakarta.servlet.jsp.jstl-api from 2.0.0-RC1 to 2.0.0
- ๐ #5626 - Bump maven-resources-plugin from 3.1.0 to 3.2.0
- ๐ #5608 - Bump maven-project-info-reports-plugin from 3.0.0 to 3.1.1
- #5585 - Bump jakarta.annotation-api from 2.0.0-RC1 to 2.0.0
- ๐ #5550 - Bump maven-source-plugin from 3.0.1 to 3.2.1
- #5549 - Bump hazelcast.version from 4.0.1 to 4.0.3
- #5548 - Bump geronimo-interceptor_1.2_spec from 1.1 to 1.2
- #5506 - Bump weld-servlet-core from 4.0.0.Beta1 to 4.0.0.Beta5
- ๐ #5473 - Bump appassembler-maven-plugin from 2.0.0 to 2.1.0
- #5472 - Bump jna from 5.5.0 to 5.6.0
- #5470 - Bump mail-api.version from 2.0.0-RC4 to 2.0.0-RC6
- #5423 - Bump jakarta.servlet-api from 5.0.0-M1 to 5.0.0
- ๐ #5380 - Bump maven-war-plugin from 3.2.3 to 3.3.1
- #4568 - Use
jakarta.*
namespace for new Jakarta EE 9 "Big Bang" artifacts
-
v11.0.0.beta3 Changes
October 22, 2020๐ Changes
- #5022 : Cleanup ServletHandler, specifically with respect to making filter chains more extensible
- #5287 : CompressionPools should use the new jetty-util Pool class
- #5360 : demo-spec module incorrectly depends on demo-jndi
- #5368 : WebSocket text event execute in same thread as running binary event and destroy Threadlocal
- #5378 : Filter/Servlet/Listener Holders are not started if added during STARTING state.
- ๐ #5379 : Better handling for wrong SNI
- #5394 : Quickstart does not inject/decorate objects
- ๐ #5401 : Move jetty-http-tools under the project root
- #5409 :
HttpClient
fails intermittently with "Invalid response state TRANSIENT" - ๐ง #5417 : Badly configured
HttpConfiguration.securePort
can lead to wrong port produced byForwardedRequestCustomizer
- #5443 : Request without Host header fails with NullPointerException in
ForwardedRequestCustomizer
- #5448 :
Request.isSecure()
returns false forhttps
schemes in Jetty 10+ - #5451 : Improve Working Directory creation
- #5454 : Request error context is not reset
- โก๏ธ #5475 : Update to spifly 1.3.2 and asm 9
- #5480 : NPE from
WebInfConfiguration.deconfigure
during WebAppContext shutdown
-
v11.0.0.beta2 Changes
October 02, 2020Important Changes
- ๐ฒ #4572 : Replace jetty logging facade with slf4j-api usage
- ๐ #5317 : Remove jetty-all
- ๐ #5174 : Remove jetty-distribution in favor of jetty-home
- #5264 : Create new
demo
jetty-start module (to replace the old demo-base functionality)
๐ Issues Fixed
- #1337 : MultiPart Part.write(String fileName) - Write method used unexpected path
- ๐ง #1761 : Make GzipHandler module more configurable
- #2609 : Make finding orphaned expired sessions common across SessionDataStores
- #2796 : HTTP/2 max local stream count exceeded when request fails
- #3766 : Introduce HTTP/2 API to batch frames
- #3916 : multipart/byterange output is invalid to RFC7233
- #4430 : Duplicate generation of servlets/filters/listeners from context xml with quickstart
- โก๏ธ #4736 : Update Import-Package version start ranges
- #4808 : Review HttpClient Request header APIs
- #4809 : Set a max number of requests per connection
- #4824 : WebSocket server outgoing message queue memory growth
- #4888 : Request getSession() method throws IllegalStateException when Session exists
- #4919 : websocket container stop ordering
- #4954 : Simplify ability to get Byte Counts about requests
- #4985 : Fix NPE related to use of Attributes.Wrapper getAttributeNameSet()
- #4988 : The check for whether a mime type is gzipable modifies (lower-cases) the content type
- โ #4996 : Warning log printed when debug is enabled in AbstractLifecycle.java
- ๐ #5013 : Bundle-ClassPath and lib place on WEB-INF/lib make classpath duplicate
- โฌ๏ธ #5018 : WebSocketClient connect / upgrade timeout not configurable
- #5019 : Automatically hot-reload SSL certificates if keystore file changed
- #5020 : LifeCycle.Listener not called for Filter/Servlet/Listener lifecycle events
- #5025 : dispatcher.include() with welcome files lead to stack overflow error
- #5029 : Open redirect when sending custom Host header to URL with no trailing forward-slash
- #5032 : Introduce Listeners to aid in tracking timings within ServletContext and WebApp
- #5043 : WebSocketListener anonymous classes should be invocable
- โฌ๏ธ #5044 : Jetty WebSocket UpgradeRequest & UpgradeResponse types in Jetty 10
- #5053 : CWE-331 in DigestAuthentication class
- #5057 :
javax.servlet.include.context_path
attribute on root context. should be empty string, but is"/"
- #5064 : NotSerializableException for OpenIdConfiguration
- #5079 : :authority header for IPv6 address not having square brackets
- ๐ #5083 : Convert synchronized usages to AutoLock
- โฌ๏ธ #5096 : using JettyWebSocketServlet without having a WebSocketUpgradeFilter
- #5103 : Proxy sets protocol version to 2.0 instead of 1.1 when accessed from H2 client
- #5104 : AbstractProxyServlet include incorrect protocol version in Via header when accessed over H2
- #5105 : Graceful shutdown does not wait for resumed requests
- #5108 : Improve SessionTracker scalability
- #5122 : Retrieving websocket connections via jmx
- #5129 : No jars added when using a folder in extraClasspath of the webapp context xml file
- #5133 : Improve ResourceFactory and Resource list handling
- #5147 : Set MaxUsageCount with existing connection pool changing the behavior
- โฑ #5150 : Zero connection timeout is not supported in HTTP client with non-blocking connect
- #5152 : HttpClient should handle unsolicited responses
- #5162 : DecoratingListener raises a NullPointerException
- #5165 : Wrong messagesIn count for HttpClient
- โฌ๏ธ #5170 : NullPointerException in HttpReceiverOverHTTP during WebSocket client Upgrade
- ๐ง #5171 : GzipHandler Vary head should be configurable
- โก๏ธ #5178 : Update to asm 8.0.1
- #5185 : Introduce DoSFilter Listener for Alert messages
- #5193 : WebSocket unimplemented BINARY message handling can result in TEXT message delivery to fail
- โก๏ธ #5198 : Update GzipHandler
- #5201 : QueuedThreadPool setDetailedDump gives less detail
- #5204 : SNI does not work with PKIX
- ๐ #5214 : Servlet HEAD doesn't support content-length over Integer.MAX_VALUE
- #5217 : Review RoundRobinConnectionPool
- #5224 : HttpServletRequest.getServerName can include port when using ForwardedRequestCustomizer
- ๐ #5233 : Bad/Unsupported HTTP version should return 505 not 400
- #5246 : GzipHandler's DeflaterPool should be dumpable
- #5247 : Improve ForwardRequestCustomizer authority priority
- #5254 : Short list of Jetty modules
- #5256 : Cleanup Jetty 10 Start
- โ #5263 : Introduce jetty-home contamination warning
- #5268 : WARN Ignoring eviction setting: 0
- ๐ #5280 : Remove unused methods on SessionHandler
- ๐ #5285 : Per RFC7694, if a Content-Encoding isn't recognized, reject with 415 Unsupported Media Type
- #5304 : HTTP/2 with HttpServletRequest.getHeader("Host") returns null on Jetty 10, but a valid value on Jetty 9
- #5316 : Review element in Jetty XML
- ๐ #5324 : Jetty XML should support nested elements
- โ #5327 : NPE from jetty test webapp
- โก๏ธ #5357 : Update http://eclipse.org to https://eclipse.org in source
- #5360 : demo-spec module incorrectly depends on demo-jndi
- 0๏ธโฃ #5362 : Default ProxyServlet cannot proxy to https urls
- #5365 : org.eclipse.jetty.server.Request throws NullPointerException if SessionHandler newHttpSession returns null
-
v11.0.0.beta1
July 10, 2020 -
v11.0.0-alpha0
May 30, 2020 -
v10.0.0 Changes
December 07, 2020Eclipse Jetty 10.x Highlights
- Jetty 10.x has a minimum Java requirement of Java 11.
- Jetty 10.x modules are proper JPMS modules with
module-info.class
. - ๐ Jetty 10.x supports the following technology specs (from the Jakarta EE 8 effort):
javax.servlet
- 4.0.1javax.servlet.jsp
- 2.2javax.servlet.jsp.jstl
- 1.2javax.el
- 3.0.0javax.websocket
- 1.1
- ๐ Jetty 10.x will be the last major version of Jetty to support the
javax.servlet
namespace.
โก๏ธ Use Jetty 11.x for the updatedjakarta.servlet
namespace.
Important Changes
- ๐ฒ Classic jetty logging facade has been replaced with slf4j-api usage
- There is no longer a
jetty-distribution
, usejetty-home
with a proper${jetty.base}
instead.
๐ See: Operations Guide: Architecture- New
demo
jetty-start module exists to replace the old demo-base functionality.
- New
- โ Remove jetty-all uber artifact
- ๐ง Managing
Configuration
within aWebAppContext
has a new API.
(They are now self ordering and do not require knowledge of Jetty internals to use successfully) - ๐จ Complete WebSocket refactoring, those using the Jetty APIs or embedded-jetty will need to update their code.
- Support for WebSocket over HTTP/2 (client and server)
- Jetty HttpClient has been improved.
- Supports dynamic protocol upgrade (http/2 and http/1.1).
- ๐จ Session management has been refactored as well.
๐ Changelog
๐ Special thanks to the following Eclipse Jetty community members for participating in this release: @dejpec, @attiand, @sullis, @grgrzybek, @schnittstabil, @dennyac
- #5744 - Review and rework o.e.j.util.Scanner
- #5732 - Fix ArithmeticException "/ by zero" in Pool.acquire()
- โ #5729 - Do not create and use jars with "tests" classifier.
- #5724 - GCThreadLeakPreventer won't work with Java 9.
- ๐ #5710 - remove unnecessary transition to READY in ContentProducer.isReady
- ๐ #5705 - Move websocket-util classes into websocket-core
- #5698 - Bump commons-codec from 1.13 to 1.15
- #5695 - Bump api-ldap-schema-data from 2.0.0 to 2.0.1
- #5694 - Bump commons-lang3 from 3.9 to 3.11
- #5692 - HttpInput may skip setting fill interest
- #5683 - Allow start.jar to list enabled modules
- #5674 - Drop /jetty-spring/ module
- โฌ๏ธ #5648 - Use Filter name to identify the WebSocketUpgradeFilter.
- #5641 - Clean up LoginServices and LoginModules
- #5622 - Bump javax.servlet.jsp.jstl from 1.2.2 to 1.2.5
- ๐ #5615 - Bump maven-project-info-reports-plugin from 3.0.0 to 3.1.1
- #5597 - Cleanups to WebSocket CloseStatus
- #5594 - Bump tycho-version from 2.0.0 to 2.1.0
- #5592 - Bump hazelcast.version from 4.0.1 to 4.1
- #5566 - Tries cleanup
- #5563 - using jetty-websocket-httpclient.xml within webapp Jetty 10
- #5547 - Bump org.eclipse.osgi from 3.6.0.v20100517 to 3.7.1
- ๐ #5543 - Bump spring-beans from 5.2.9.RELEASE to 5.3.0
- #5527 - ResourceCollection NPE
- #5526 - Access to cookie config with accessor method (@dejpec)
- #5517 - Fix and simplify graceful shutdown of StatisticsHandler
- ๐ #5503 - Bump spring-beans from 5.1.1.RELEASE to 5.2.9.RELEASE
- #5469 - Bump jaxws-rt from 2.3.0.2 to 2.3.3
- #5468 - Bump openpojo from 0.8.1 to 0.8.13
- ๐ #5467 - Bump maven-jxr-plugin from 2.5 to 3.0.0
- #5466 - Bump jakarta.annotation-api from 1.3.4 to 1.3.5
- #5465 - Bump github-api from 1.114 to 1.116
- ๐ #5459 - Fix archive assemblies (tar.gz and zip) to have fixed file/dir modes.
- #5450 - Cleanup Request.isSecure() logic
- #5432 - Bump ant.version from 1.10.8 to 1.10.9
- #5422 - Bump asciidoctorj-diagram from 2.0.2 to 2.0.5
- โฌ๏ธ #5413 - simplify the usage of WebSocketUpgradeFilter in jetty 10
- ๐ง #5406 - throw ISE if the WebSocketSCI configure() is called on a started ServletContextHandler
- โฌ๏ธ #5405 - add test to reproduce issue with WebSocketUpgradeFilter not started
- ๐ #5400 - Add more origin info to quickstart-web.xml elements
- ๐ #5398 - Better handling for wrong SNI.
- #5396 - Fix injection for quickstart
- #5391 - Bump javax.servlet-api from 3.1.0 to 4.0.1
- #5390 - Bump maven-artifact-transfer from 0.11.0 to 0.12.0
- #5367 - Reorg of /demos/ with focus on demo-spec downstream dependencies.
- #5350 - Bump jsp-api from 2.1 to 2.2
- #5349 - Bump asm.version from 8.0.1 to 9.0
- ๐ #5347 - Bump maven-jar-plugin from 3.1.2 to 3.2.0
- #5333 - Bump derby from 10.14.2.0 to 10.15.2.0
- #5328 - NPE in PushBuilder
- #5311 - Quickstart duplicate servlets,filters,listeners from context
- โ #5309 - Jetty Home warning
- #5307 - HTTP2 HostHeader
- ๐ #5303 - Remove unused SessionHandler methods.
- #5302 - Bump mariadb-java-client from 2.6.0 to 2.6.2
- #5295 - rework CompressionPool to use the jetty-util pool
- #5288 - fix get sessionId from fileName
- โฌ๏ธ #5266 - fix upgrade bug in HttpReceiverOverHTTP
- ๐ #5265 - JDK-8244090 MethodHandles bug fixed in JDK16
- ๐ #5262 - Bump exec-maven-plugin from 1.6.0 to 3.0.0
- ๐ #5260 - Bump flatten-maven-plugin from 1.0.1 to 1.2.5
- #5258 - Adding start.jar --add-module
- #5257 - List/Show modules
- โก๏ธ #5248 - update gzip handler
- #5243 - Add gracePeriod to file session store.
- #5239 - Bump tycho-version from 1.4.0 to 2.0.0
- #5238 - Bump jmh.version from 1.25.1 to 1.25.2
- #5237 - Bump org.eclipse.osgi from 3.15.100 to 3.15.300
- #5236 - Bump org.eclipse.osgi.services from 3.7.100 to 3.8.0
- ๐ #5235 - Jetty WebSocket API minor cleanups before Jetty-10 full release
- โฌ๏ธ #5213 - fix NPE during websocket upgrade
- #5211 - Bump jmh.version from 1.21 to 1.25.1
- #5196 - Simplify GzipHandler user-agent handling
- #5192 - Bump apacheds.version from 2.0.0-M24 to 2.0.0.AM26
- #5191 - Bump jaxb-api from 2.3.0 to 2.3.1
- #5190 - Bump jnr-unixsocket from 0.24 to 0.34
- #5188 - Bump derbytools from 10.14.2.0 to 10.15.2.0
- โก๏ธ #5182 - Update to spifly 1.3.0
- โก๏ธ #5179 - Update to asm8.0.1
- ๐ฒ #5167 - Regularlize logging
- #5157 - Bump ant from 1.8.4 to 1.10.8
- โก๏ธ #5154 - Fix WebSocketServerExamplesTest to work after maven surefire update
- #5119 - Use either absolute or relative multipart file location
- #5115 - lazily initialize the WebSocketFilter if only using JettyWebSocketServlet
- ๐จ #5101 - Refactor of Jetty WebSocket Upgrade Request/Response
- #5098 - Static UrlEncoded
- #5097 - Uniform Find Expired Sessions
- ๐ #5084 - Convert synchronized usages to AutoLock.
- #5077 - enable Dependabot v2 (@sullis)
- โช #5075 - restore old ServletPathMapping even for include dispatch types
- #5054 - allow anonymous WebSocketListener / Endpoint classes to be used
- #5046 - fix NPE related to use of Attributes.Wrapper getAttributeNameSet() Jetty 10
- โฌ๏ธ #5031 - add WebSocketClient UpgradeRequest timeout to jetty 10
- #5026 - wrong welcome file handling with dispatcher.include() aโฆ (@grgrzybek)
- ๐ฒ #4997 - Implementing old logging TAG_PAD as Message Alignment.
- #4994 - Implemented TAG_PAD
- #4978 - only include jetty-slf4j-impl jar once in jetty-home
- ๐ #4952 - fix websocket JPMS warnings and build issues
- #4931 - WebSocket container graceful stop
- ๐ #4917 - Give better errors for non public javax.websocket endpoints
- #4912 - close websocket suspendState if close frame is received
- ๐ #4902 - support javax websocket decoder lists in jetty-10
- ๐จ #4898 - Refactor HttpServletMapping to avoid tracking servletPath separately
- #4881 - Separate out websocket client and server components from websocket-core
- #4858 - add setReuseAddress() to ClientConnector
- #4851 - fix issues with HttpServletMapping
- #4845 - Review HttpClient Request header APIs.
- #4839 - Enabling JMX on jetty-slf4j-impl
- #4829 - Implement spec requirements for Request.newPushBuilder
- #4815 - Allow a ConnectionFactory (eg SslConnectionFactory) to automatically add a Customizer
- #4810 - fix WebSocket LinkageError and invalid PathParam type handling
- โ #4804 - Test for asyncIsStarted for setReadListener
- #4796 - HttpInput.setReadListener should check async state
- โฌ๏ธ #4780 - upgrade spifly to 1.2.4 and replace jdk13 build with jdk14
- ๐ #4777 - Immutable HttpFields and MetaData
- โ #4775 - cleanup and add tests for the unused ws message handlers
- #4767 - Review GzipHandler inside ServletContextHandler.
- #4763 - Request.authenticate must return true if already authenticated
- #4761 - Response.setLocale should override previous
- ๐ป #4759 - Improve keystore exception message when keystore is not valid (@schnittstabil)
- #4757 - Use HandlerList instead of HandlerCollection
- #4753 - Call HttpSessionListener.sessionCreated in order listeners were added.
- โ #4750 - fix some test failures for jetty-10 with websocket tck
- ๐ #4730 - no merge query string
- ๐ #4723 - remove websocket-servlet
- #4721 - Async dispatch with query.
- #4720 - Keep previous charencoding if not set in content type
- #4708 - wrong value for ServletContext.setSessionTimeout
- โฌ๏ธ #4702 - avoid NPE during websocket HTTP/2 upgrade
- ๐ #4701 - ServletContext.createXXX methods should throw UnsupportedOperationException
- ๐ #4698 - ServletContext sessionModes methods should throw UnsupportedOperationException
- #4694 - use static methods with javadoc to get MethodHandle lookups
- #4692 - Use MethodHandles.lookup() consistently in WebSocket code.
- ๐จ #4689 - support alt PrintStream in StdErrAppender properly
- #4684 - Fix jetty-slf4j-impl for osgi
- ๐จ #4672 - Refactor CrossOriginFilter with small perf improvements (@dennyac)
- โฌ๏ธ #4670 - Support HTTP/1 upgrade to HTTP/2 in HttpClient.
- ๐ #4669 - websocket JPMS fixes to not export websocket-core
- โฌ๏ธ #4666 - upgrade openwebbeans-web to 2.0.15
- #4661 - generalise XmlConfiguration elements
- ๐ง #4649 - Hazelcast remote.xml configuration file do not configure hazelcast remote addresses (@attiand)
- #4627 - request getPathInfo() could be null in InetAccessHandler
- #4618 - Review HttpClient's ContentProvider.
- #4615 - rework InetAccessHandler to use path mappings
- #4602 - Continue after ServiceLoader ServiceConfigurationError
- #4593 - websocket aggregating text and binary MessageSinks
- #4590 - Implement forward/include/async params for HttpServletMapping
- #4588 - rework of websocket message reader and writers
- ๐ #4587 - Servlet 4 metadata-complete=true should skip introspection of annotations
- ๐ #4583 - remove unnecessary javadoc on Override methods
- ๐ #4570 - StdErrLog cleanup and final Arg Throwable support
- ๐ #4563 - remove deprecated jetty-runner
- ๐ #4561 - Improve performance of small websocket messages [jetty-10.0.x]
- ๐ #4558 - Remove Resource.writeTo(OutputStream, long, long)
- ๐จ #4556 - HttpInput refactoring
- #4554 - Graceful close of HTTP/2 Connection.
- ๐ #4552 - Fix MethodHandles lookup to support JPMS runtime mode
- #4549 - clean up websocket removing duplicated and unused classes
- ๐ง #4543 - Client configuration for direct/heap ByteBuffers.
- ๐ #4539 - remove all SharedBlockingCallback usage from websocket
- #4536 - separate modules for jetty and javax websockets
- #4535 - do not throw IOException on Javax websocket close
- #4527 - Make the WebSocketServerContainer initialize methods private
- #4523 - allow changing of close response from jetty and javax websocket onClose events
- #4522 - fix JPMS issues with javax websockets
- โ #4514 - tck tests are done after ServletContext has already been initialized so we need to test this first to get some tck test passing...
- #4510 - spec addJspFile javadoc expect IllegalArgumentException if name is null or empty string
- #4509 - Ensure get/setInitParam with null arg throws NPE
- ๐ #4498 - synchronize multiparts for cleanup from different thread
- โก๏ธ #4497 - Update paxexam for osgi tests
- #4494 - Bundle-RequiredExecutionEnvironment: JavaSE-11 for Jettโฆ
- ๐ #4490 - remove blank line
- #4489 - Switch SslContextFactory.keystoreType from JKS to PKCS12.
- #4488 - Bump Apache Jasper JSP from 9.0.19 to 9.0.29
- ๐จ #4482 - Refactored Graceful shutdown
- #4477 - Modernize jetty-util-ajax.
- #4472 - Prevent jetty 10 WebSocket close deadlocks
- #4470 - Provide a parameterless CustomRequestLog.
- ๐ #4469 - Move multipart classes to jetty-server.
- โ #4467 - Add tests for default-context-path
- #4463 - Implement ServletContext.addJspFile
- #4458 - Implement get/setSessionTimeout for ServletContext
- 0๏ธโฃ #4455 - Implement context default request/response encodings.
- ๐ #4452 - fix issues with javax metadata and decoders
- #4451 - websocket-core exposes internal classes
- #4441 - WebSocket rename for jetty-10
- #4436 - Fix JPMS transitivity.
- #4435 - Fix WebSocket ClassLoader issues.
- 0๏ธโฃ #4420 - use annotations for Javax WebSockets as default EndpointConfig
- ๐ง #4390 - Pass system properties into xml configurations
- โก๏ธ #4384 - Update jsp documenation; remove old config from webdefault.xml
- โฌ๏ธ #4379 - Allow WebSocket extension selection to be done from UpgradeListener
- ๐ #4371 - remove MultiParts interface and simplify MultiPart cleanup
- ๐ฐ #4359 - sending WebSocket frames modifies the payload ByteBuffer
- โ #4355 - test client negotiation of internal extensions
- #4343 - fix creation of HttpClient in jetty-openid.xml for jetty10
- #4324 - stop WebSocketSessions only after onClose
- #4295 - config for jetty specific settings with javax WebSockets
- #4260 - CompressExtension autoFragment with respect to maxFrameSize
- #4232 - fragment outgoing frames before the ExtensionStack
- ๐ #4229 - remove default keystore passwords not from test-keystore.mod
- #4224 - Fix reported Servlet major/minor versions
- ๐ #4219 - make WS Parser autoFragment data frames to maxFrameSize
- โ #4215 - fix flaky ClientConnectTest and change WS connectTimeout
- #4151 - Module org.eclipse.jetty.alpn.client not found, requireโฆ
- โ #4147 - autobahn tests for jetty, javax websocket APIs
- ๐ง #4097 - Configuration cleanup
- #4095 - throw ISE for WebSocket suspend after close
- โฌ๏ธ #4090 - revert ClientUpgradeRequest error handling logic
- #4078 - Fix restart of quickstarted webapp
- #4068 - Review Locker.
- #4035 - Fix Secure javax.websocket Client examples
- ๐ #4021 - Removing @deprecated methods / classes from jetty-9.4.x merge
- #4017 - Consider adding demand API to HTTP/2.
- #4008 - Fix quickstart
- #3966 - Use addEventListener(EventListener listener) instead of bespoke listener methods
- ๐ง #3959 - Server configuration for direct/heap ByteBuffers.
- #3920 - Draft 1 for week 1.
- #3873 - Javax Websocket Packaging
- #3853 - only notify onError for local errors
- #3848 - copy dependency for jetty-javax-websocket-api
- ๐ #3847 - Checkstyle cleanup
- #3844 - Deflater / Inflater Object Pool (Jetty-10)
- #3819 - ensure abnormal close frame will hard close ws connection
- #3816 - do not copy RSV bits to auto-fragmented frames
- ๐จ #3802 - WebSocket core - autobahn and MessageHandler refactor
- ๐ #3797 - Remove deprecated in Jetty 10.0.x
- #3792 - store autobahn results as they are not stored automatically by junitPublisher
- #3790 - XmlConfiguration Set Property
- #3783 - jetty-10.0.x WebSocket core cleanup
- #3779 - review of exposed classes in jetty-websocket-server
- โ #3770 - use the default port of 0 for WebSocket tests
- #3740 - Bootstrap websocket on HTTP/2
- #3732 - rename maxIdleTime usage to idleTimeout for WebSockets
- #3720 - clean up modules
- #3703 - Cleanup webappconfiguration
- ๐ #3702 - Some fixes for running cometd6 on jetty-10
- #3686 - error CloseFrames skip frames in the FrameFlusher queue
- ๐จ #3660 - jetty-10 WebSocket configuration refactor
- #3644 - Use jetty specific websocket API jar.
- #3539 - Implement HTTP CONNECT for HTTP/2.
- โ #3521 - flaky tests in jetty-websocket-tests ClientCloseTest
- #3504 - implement Session.suspend() for jetty-10 jetty-websocket-api
- #3478 - WebSocket Extension Negotiation
- โฌ๏ธ #3470 - websocket upgrade request valdiation
- โฌ๏ธ #3460 - jetty websocket upgrades without using websocket-servlet classes
- ๐ #3455 - Removing deprecated Extension classes in jetty-websocket-api
- โฌ๏ธ #3448 - upgrade jetty-websockets with WebSocketUpgradeFilter
- โช #3439 - restore jetty websocket tests
- ๐จ #3435 - refactored HttpCompliance
- โก๏ธ #3432 - WebSocketChannel bug fixes, cleanup and javadoc updates for FrameHandler
- #3430 - jetty.webapps.uri should be the parent of the webapp
- ๐ #3416 - Removing Deprecated Resource.getURL()
- โฌ๏ธ #3414 - add support for WebSocket UpgradeListeners in WebSocketClient
- #3413 - WebSocket CoreSession Customizer
- โ #3407 - websocket core test cleanup
- โ #3403 - parameterized WebSocketCloseTest over TLS
- #3401 - permessage-deflate continuation frame with RSV1 set
- ๐ #3398 - Removing deprecated methods and classes
- #3390 - implement WebSocketConnection stats
- #3384 - use add-exports instead of add-opens in javax WS-Server pom
- #3383 - Add tracking of WebSocket Sessions to various WebSocket Container APIs
- ๐ง #3381 - Adding configured Connection.Listeners to WebSocket Connections
- โ #3366 - javax-websocket-server tests
- #3365 - WebSocket Proxy
- โก๏ธ #3360 - Update PushCacheFilter to use Servlet 4.0 APIs.
- #3357 - WebSocket HttpClientProvider
- #3352 - Restructure jetty-unixsocket module.
- #3342 - Review Jetty 10 module-info.java.
- #3338 - Jetty 10 standalone cannot start on the module-path.
- #3336 - Generalize EndPoint.onClose(Throwable) for WebSocket cases
- ๐ #3335 - FrameFlusher and WebSocket close fixes
- #3331 - sendError does not set reason.
- #3313 - Dynamic selection of the transport to use based on ALPN on the client side.
- โฌ๏ธ #3310 - WebSocket UpgradeRequests and CompletableFutures
- ๐ #3309 - Remove deprecated session methods
- โก๏ธ #3299 - Update to apache jsp 9.0.14
- โ #3294 - fix websocket new groupId in osgi tests
- โ #3292 - Add autobahn profile to automatically run autobahn test suite in Jenkins
- #3291 - async websocket onOpen, onError and onClose
- #3289 - Correcting Jetty WebSocket API artifactIds
- ๐จ #3286 - WebSocketMapping Refactor
- #3267 - ClientConnector abstraction.
- #3262 - Improve WebSocket close handling
- โ #3259 - javax-websocket-tests exception stacktraces
- ๐ #3255 - Remove FastCGI multiplexing.
- โ #3237 - custom request log test failure
- #3224 - Autobahn WebSocketServer failures in jetty 10
- ๐จ #3222 - Refactor WebSocket mapping
- โ #3215 - Ensure MetaInfConfigurationTest is not disabled
- #3211 - Lazy creation of WebSocketCoreClient
- โฌ๏ธ #3209 - upgrade logback and log4j-slf4j (new artifact log4j-slf4j18-impl) to support slf4j api 1.8
- #3199 - NPE in WebSocketContainerInitializer for jetty10
- #3198 - rename websocket directories, modules and artifacts
- #3177 - fix argLine inheritance
- โ #3172 - Adding both WebSocket tests to /test-integration/ to verify behavior that is causing problems from within OSGi.
- ๐จ #3169 - websocket module refactor
- #3168 - Use Jetty specific Servlet API jar.
- 0๏ธโฃ #3160 - CustomRequestLog as default in jetty-10
- โ #3120 - Adding module-info.java to non-tests Jetty modules
- 0๏ธโฃ #3063 - Preserve default-context-path for quickstart
- #3055 - Break out WebSocket core features into new websocket-core components
- ๐ #3035 - Move jmh test 3014
- ๐จ #3029 - Http/Cookie/MultiPartFormData Compliance Refactor
- #3017 - Moving HttpCompliance to HttpConfiguration
- ๐ #3016 - Move old MultiPart to jetty-http
- 0๏ธโฃ #3015 - Defaulting to non-LEGACY compliance modes
- ๐ง #2987 - Configuration replacement algorithm
- #2984 - JmxConfiguration JPMS ready
- ๐ #2973 - Build minimum requirement is now JDK 11
- #2905 - fix groovy variable scope
- ๐ #2384 - remove checkGzExists from GzipHandler entirely
- ๐ #2105 - cleanup MultiException to better use suppressed
- #2104 - open connectors before starting
-
v10.0.0.beta3 Changes
October 22, 2020๐ Changes
- #5022 : Cleanup ServletHandler, specifically with respect to making filter chains more extensible
- #5287 : CompressionPools should use the new jetty-util Pool class
- #5360 : demo-spec module incorrectly depends on demo-jndi
- #5368 : WebSocket text event execute in same thread as running binary event and destroy Threadlocal
- #5378 : Filter/Servlet/Listener Holders are not started if added during STARTING state.
- ๐ #5379 : Better handling for wrong SNI
- #5394 : Quickstart does not inject/decorate objects
- ๐ #5401 : Move jetty-http-tools under the project root
- #5409 :
HttpClient
fails intermittently with "Invalid response state TRANSIENT" - ๐ง #5417 : Badly configured
HttpConfiguration.securePort
can lead to wrong port produced byForwardedRequestCustomizer
- #5443 : Request without Host header fails with NullPointerException in
ForwardedRequestCustomizer
- #5448 :
Request.isSecure()
returns false forhttps
schemes in Jetty 10+ - #5451 : Improve Working Directory creation
- #5454 : Request error context is not reset
- โก๏ธ #5475 : Update to spifly 1.3.2 and asm 9
- #5480 : NPE from
WebInfConfiguration.deconfigure
during WebAppContext shutdown
-
v10.0.0.beta2 Changes
October 02, 2020Important Changes
- ๐ฒ #4572 : Replace jetty logging facade with slf4j-api usage
- ๐ #5317 : Remove jetty-all
- ๐ #5174 : Remove jetty-distribution in favor of jetty-home
- #5264 : Create new
demo
jetty-start module (to replace the old demo-base functionality)
๐ Issues Fixed
- #1337 : MultiPart Part.write(String fileName) - Write method used unexpected path
- ๐ง #1761 : Make GzipHandler module more configurable
- #2609 : Make finding orphaned expired sessions common across SessionDataStores
- #2796 : HTTP/2 max local stream count exceeded when request fails
- #3766 : Introduce HTTP/2 API to batch frames
- #3916 : multipart/byterange output is invalid to RFC7233
- #4430 : Duplicate generation of servlets/filters/listeners from context xml with quickstart
- โก๏ธ #4736 : Update Import-Package version start ranges
- #4808 : Review HttpClient Request header APIs
- #4809 : Set a max number of requests per connection
- #4824 : WebSocket server outgoing message queue memory growth
- #4888 : Request getSession() method throws IllegalStateException when Session exists
- #4919 : websocket container stop ordering
- #4954 : Simplify ability to get Byte Counts about requests
- #4985 : Fix NPE related to use of Attributes.Wrapper getAttributeNameSet()
- #4988 : The check for whether a mime type is gzipable modifies (lower-cases) the content type
- โ #4996 : Warning log printed when debug is enabled in AbstractLifecycle.java
- ๐ #5013 : Bundle-ClassPath and lib place on WEB-INF/lib make classpath duplicate
- โฌ๏ธ #5018 : WebSocketClient connect / upgrade timeout not configurable
- #5019 : Automatically hot-reload SSL certificates if keystore file changed
- #5020 : LifeCycle.Listener not called for Filter/Servlet/Listener lifecycle events
- #5025 : dispatcher.include() with welcome files lead to stack overflow error
- #5029 : Open redirect when sending custom Host header to URL with no trailing forward-slash
- #5032 : Introduce Listeners to aid in tracking timings within ServletContext and WebApp
- #5043 : WebSocketListener anonymous classes should be invocable
- โฌ๏ธ #5044 : Jetty WebSocket UpgradeRequest & UpgradeResponse types in Jetty 10
- #5053 : CWE-331 in DigestAuthentication class
- #5057 :
javax.servlet.include.context_path
attribute on root context. should be empty string, but is"/"
- #5064 : NotSerializableException for OpenIdConfiguration
- โ #5069 : HttpClientTimeoutTests can occasionally fail due to unreachable network
- #5079 :
:authority
header for IPv6 address not having square brackets - ๐ #5083 : Convert synchronized usages to AutoLock
- โฌ๏ธ #5096 : using JettyWebSocketServlet without having a WebSocketUpgradeFilter
- #5103 : Proxy sets protocol version to 2.0 instead of 1.1 when accessed from H2 client
- #5104 : AbstractProxyServlet include incorrect protocol version in Via header when accessed over H2
- #5105 : Graceful shutdown does not wait for resumed requests
- #5108 : Improve SessionTracker scalability
- #5122 : Retrieving websocket connections via jmx
- #5129 : No jars added when using a folder in extraClasspath of the webapp context xml file
- #5133 : Improve ResourceFactory and Resource list handling
- โ #5137 : WebAppContext Tests need cleanup
- #5147 : Set MaxUsageCount with existing connection pool changing the behavior
- โฑ #5150 : Zero connection timeout is not supported in HTTP client with non-blocking connect
- #5152 : HttpClient should handle unsolicited responses
- #5162 : DecoratingListener raises a NullPointerException
- #5165 : Wrong messagesIn count for HttpClient
- โฌ๏ธ #5170 : NullPointerException in HttpReceiverOverHTTP during WebSocket client Upgrade
- ๐ง #5171 : GzipHandler Vary head should be configurable
- โก๏ธ #5178 : Update to asm 8.0.1
- #5185 : Introduce DoSFilter Listener for Alert messages
- #5193 : WebSocket unimplemented BINARY message handling can result in TEXT message delivery to fail
- โก๏ธ #5198 : Update GzipHandler
- #5201 : QueuedThreadPool setDetailedDump gives less detail
- #5204 : SNI does not work with PKIX
- ๐ #5214 : Servlet HEAD doesn't support content-length over Integer.MAX_VALUE
- #5217 : Review RoundRobinConnectionPool
- #5224 : HttpServletRequest.getServerName can include port when using ForwardedRequestCustomizer
- ๐ #5233 : Bad/Unsupported HTTP version should return 505 not 400
- #5246 : GzipHandler's DeflaterPool should be dumpable
- #5247 : Improve ForwardRequestCustomizer authority priority
- #5254 : Short list of Jetty modules
- #5256 : Cleanup Jetty 10 Start
- โ #5263 : Introduce jetty-home contamination warning
- #5264 : Create demo module
- #5268 : WARN Ignoring eviction setting: 0
- ๐ #5280 : Remove unused methods on SessionHandler
- ๐ #5285 : Per RFC7694, if a Content-Encoding isn't recognized, reject with 415 Unsupported Media Type
- #5304 : HTTP/2 with HttpServletRequest.getHeader("Host") returns null on Jetty 10, but a valid value on Jetty 9
- #5316 : Review element in Jetty XML
- #5321 : javadoc:aggregate-jar broken in Jetty 10
- ๐ #5324 : Jetty XML should support nested elements
- โ #5327 : NPE from jetty test webapp
- โก๏ธ #5357 : Update
http://*.eclipse.org
tohttps://eclipse.org
in source - #5360 : demo-spec module incorrectly depends on demo-jndi
- 0๏ธโฃ #5362 : Default ProxyServlet cannot proxy to https urls
- #5365 : org.eclipse.jetty.server.Request throws NullPointerException if SessionHandler newHttpSession returns null
-
v10.0.0.beta1
July 10, 2020 -
v10.0.0.beta0
May 27, 2020