Jetty 9.4.20 发布了,此版本修复了大量 bug,包括:
- 实现 Deflater/Inflater 对象池
- WebSocket 在 blockingWrite 中挂起
- HTTP2 在重置流上停止
- javax.websocket 客户端容器错误地创建服务器 SslContextFactory
- 服务器重启后缺少 WebSocket ServerContainer
- WebAppClassLoaderUrlStreamTest 中的 stackoverflow
- 交换各种 java.lang.String replace() 方法以获得更好的性能
- 添加 CDI 行为测试
- CDI 期间来自 WebAppClassLoader 的 NPE
- WriteFlusher.java 中的 ClassCastException - IdleState 无法强制转换为 FailedState
- 处理 AsyncListener 注释时内存泄漏
- ServerWithAnnotations 不执行任何操作
- 避免为http/2请求发送空trailer frames
- X-Forwarded-Port覆盖X-Forwarded-For
- ALPN支持Java 14
- ClasspathPattern匹配方法抛出NPE。URI可以为null
- 不会调用ServletContextListener.contextInitialzed()中以编程方式添加的侦听器
- Weld/CDI XML向后兼容
- XmlConfiguration数字的奇怪行为
- 错误页面处理程序在proxy中未正确处理
- PropertyFileLoginModule将用户原则添加为角色
- trustAll不适用于某些服务器
- 避免为http/2响应发送空trailer frames
- WebSocketSession未正确停止
- 字节范围请求大文件的性能问题
- 如果Content-Length标头存在/缺失,则maxFormContentSize=0的行为不同
- WebSocketPartialListener仅针对初始frames调用,而不是针对连续frames调用
- 没有@OnWebSocketMessage处理程序的@WebSocket在接收连续frame时失败
- BufferUtil.toBuffer(资源资源,boolean)不删除处理大型(4G +)资源
- 修复了#3840 break PathResource中的Path封装
- 新HTTP2Connection()和Server.stop()之间的死锁
- Log的双重初始化
- CustomRequestLog错误地使用MethodHandles.lookup()
- 修复HttpConfiguration复制构造函数
- X-无法进行Forwarded-Port标头自定义
完整详情,可参考:https://www.eclipse.org/lists/jetty-announce/msg00133.html