MOSN v0.26.0 发布

    • 新增 ip_access filter,基于来源 IP 的 ACL 控制器 (#1797)
    • 允许 Admin Api 扩展验证方法 (#1834) @nejisama
    • transcoder filter:支持通过配置指定阶段,取代固定的阶段 (#1815)
    • 为 tls connection 增加 SetConnectionState 方法,在 pkg/mtls/crypto/tls.Conn 中 (#1804) @antJack
    • 增加了 after-start 和 after-stop 这两个新的执行阶段,并允许在这两个阶段注册处理函数
    • 新增 uds_dir 配置项,用于指定 unix domain socket 的目录 (#1829) @dengqian
    • 增加更多的 HTTP 协议方法,使动态协议匹配更加精准 (#1870)
    • 支持动态设置上游协议 (#1808) @YIDWang
    • 支持动态设置 HTTP 默认最大值配置 #1886
    • 将 HTTP 协议的默认最大请求头大小调整到 8KB (#1837)
    • 重构默认的 HTTP1 和 HTTP2 的协议转换,删除了 proxy 中的转换,使用 transcoder filter 来代替 @nejisama
    • transcoder filter:使用注册转换器工厂来替代注册转换器 (#1879)
    • 修复:HTTP buffer 复用在高并发场景下可能导致 nil panic
    • 修复:response_flag 变量值获取错误 (#1814) @lemonlinger
    • 修复:prefix_write 在 “/” 的场景下不能正常工作
    • 修复:在热升级过程中,手动 kill 老的 MOSN,可能会导致新 MOSN 的 reconfig.sock 会被错误的删除 (#1820) @XIEZHENGYAO
    • 修复:请求上游失败时,在 doretry 中不应该直接设置 setupRetry (#1807)
    • 修复:当取消客户端的 grpc 的时候,没有发送 resetStreamFrame 到上游,使得 server 端没有及时结束 @XIEZHENGYAO
    • 修复:应该在关闭 stream connection 之前设置 resetReason,否则可能导致获取不到真实的原因 (#1828)
    • 修复:当有多个匹配的 listener 的时候,应该选择最优的匹配的 listener,否则可能导致 400 错误 @MengJiapeng
    • 修复:HTTP2 协议处理 broadcast 可能导致 map 并发读写 panic
    • 修复:XProtocol 连接池(binding connpool) 中的内存泄漏 (#1821) @Dennis8274
    • 修复:应该将 close logger 放在最后,否则在关闭 MOSN 实例过程中将没有日志输出 (#1845)
    • 修复:XProtocol PingPong 类型连接超时的时候,因为 codecClient 没有初始化,会导致 panic (#1849) @cuiweixie
    • 修复:当 unhealthyThreshold 是一个空值时,健康检查将不会工作,修改为空值时使用默认值 (#1853)
    • 修复:WRR 负载均衡算法可能导致死循环(发生在 unweightChooseHost)#1860 @alpha-baby
    • 修复:direct response 中 hijack 不应该再执行转换
    • 修复:当一个不健康的 host 有很高的权重时,EDF wrr 将不再选择其他健康的 host @lemonlinger
    • 修复:DNS 解析 STRICT_DNS_CLUSTER 中 host 的 goroutine 没法停止 #1894