Files
higress/release-notes/2.1.9/README_ZH.md
2025-11-13 22:55:16 +08:00

497 lines
40 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Higress
## 📋 本次发布概览
本次发布包含 **44** 项更新涵盖了功能增强、Bug修复、性能优化等多个方面。
### 更新内容分布
- **新功能**: 23项
- **Bug修复**: 14项
- **重构优化**: 2项
- **文档更新**: 1项
- **测试改进**: 4项
### ⭐ 重点关注
本次发布包含 **3** 项重要更新,建议重点关注:
- **feat(mcp-server): add server-level default authentication and MCP proxy server support** ([#3096](https://github.com/alibaba/higress/pull/3096)): 此特性增强了Higress对MCP流量的安全管理能力允许用户通过统一接口进行认证设置简化了安全策略的部署流程提升了系统的安全性与灵活性。
- **feat: add higress api mcp server** ([#2923](https://github.com/alibaba/higress/pull/2923)): 通过添加higress-ops MCP Server用户可以使用hgctl agent命令来管理Higress配置和排查问题提升了运维效率和用户体验。
- **feat: implement `hgctl agent` & `mcp add` subcommand** ([#3051](https://github.com/alibaba/higress/pull/3051)): 增强了Higress的运维能力特别是通过Agent进行交互式管理和调试的能力使得用户能够更便捷地配置和调试MCP流量治理是Higress向AI原生运维迈进的重要一步。
详细信息请查看下方重要功能详述部分。
---
## 🌟 重要功能详述
以下是本次发布中的重要功能和改进的详细说明:
### 1. feat(mcp-server): add server-level default authentication and MCP proxy server support
**相关PR**: [#3096](https://github.com/alibaba/higress/pull/3096) | **贡献者**: [@johnlanni](https://github.com/johnlanni)
**使用背景**
随着用户对API安全性、灵活性以及易用性的要求越来越高。在实际应用中MCPModel Context Protocol协议被广泛用于Agent调用工具。然而现有的MCP服务器缺乏统一的安全认证机制导致在不同场景MCP Server直接代理REST API转换MCP Server下需要配置差异化的认证机制。本次更新解决了这些问题目标用户群体包括但不限于开发者、运维人员和系统管理员他们需要一个更加安全、灵活且易于管理的API网关。
**功能详述**
此次更新主要实现了两个核心功能1. 在MCP服务器级别添加了默认认证机制包括客户端到网关及网关到后端的认证2. 引入了一种新的MCP代理服务器类型可以将客户端的MCP请求代理到后端的MCP服务器并支持超时配置和完整的认证支持。从技术实现上来看主要通过更新依赖库版本如wasm-go 和 proxy-wasm-go-sdk来支持新功能同时对现有代码进行了重构以适应新的认证和代理逻辑。
**使用方式**
启用此功能需在Higress配置文件中设置相应的参数。例如要配置默认的下游安全认证可以在`defaultDownstreamSecurity`字段中指定认证策略;类似地,上游认证则通过`defaultUpstreamSecurity`字段进行配置。若要使用MCP代理服务器需定义一个新的`mcp-proxy`类型的服务器,并通过`mcpServerURL`指定后端MCP服务器地址。此外还可以通过`timeout`字段控制请求超时时间。最佳实践建议尽可能利用优先级配置机制,确保工具级设置能覆盖服务器级别默认值,从而获得更细粒度的控制。
**功能价值**
该功能显著提高了Higress的安全性和灵活性使得API管理变得更加高效。通过引入服务器级别的默认认证减少了重复配置工作量降低了因配置错误引发的安全风险。新加的MCP代理服务器能力不仅简化了MCP服务治理的复杂性还通过卸载状态保持任务至Higress侧有效减轻了后端MCP服务器的压力。
---
### 2. feat: add higress api mcp server
**相关PR**: [#2923](https://github.com/alibaba/higress/pull/2923) | **贡献者**: [@Tsukilc](https://github.com/Tsukilc)
**使用背景**
随着AI技术的发展API网关需要更好地支持AI相关的功能。Higress作为一个AI原生的API网关需要提供更强大的管理工具来统一管理LLM API、MCP API和Agent API等核心API资产。本次PR通过集成Higress API MCP Server提供了对AI路由、AI提供商和MCP服务器的全面管理能力。这些新功能可以帮助用户更高效地配置和维护Higress的AI特性满足现代应用的需求。目标用户群体包括Higress的运维人员和开发人员尤其是那些在AI领域有深入需求的用户。
**功能详述**
该PR主要实现了以下功能
1. **AI路由管理**:新增了`list-ai-routes``get-ai-route``add-ai-route``update-ai-route``delete-ai-route`等工具允许用户管理AI路由。
2. **AI提供商管理**:新增了`list-ai-providers``get-ai-provider``add-ai-provider``update-ai-provider``delete-ai-provider`等工具允许用户管理AI提供商。
3. **MCP服务器管理**:新增了`list-mcp-servers``get-mcp-server``add-or-update-mcp-server``delete-mcp-server`等工具允许用户管理MCP服务器及其消费者。
4. **认证配置**使用HTTP Basic Authentication进行鉴权并在客户端请求头中携带`Authorization`头。
5. **代码变更**移除了用户名和密码的硬编码改为在运行时通过MCP Client提供提高了安全性。同时新增了`higress-ops`模块用于hgctl agent命令对接实现Agent方式管理Higress的配置。
**使用方式**
要启用和配置这个功能,请按照以下步骤操作:
1. **配置Higress API MCP Server**在Higress配置文件中添加Higress API MCP Server的配置指定Higress Console的URL地址。
2. **使用hgctl agent**:通过`hgctl agent`命令启动交互式Agent可以使用自然语言的方式管理Higress。例如使用`mcp add`子命令添加remote MCP Server到Higress的MCP管理目录中。
3. **管理AI路由**:使用`list-ai-routes``get-ai-route``add-ai-route``update-ai-route``delete-ai-route`等工具来管理AI路由。
4. **管理AI提供商**:使用`list-ai-providers``get-ai-provider``add-ai-provider``update-ai-provider``delete-ai-provider`等工具来管理AI提供商。
5. **管理MCP服务器**:使用`list-mcp-servers``get-mcp-server``add-or-update-mcp-server``delete-mcp-server`等工具来管理MCP服务器及其消费者。
注意事项:确保在使用这些工具时,正确配置鉴权信息,并在请求头中携带`Authorization`头。
**功能价值**
该功能为用户带来了以下具体好处:
1. **增强的管理能力**用户可以通过新的MCP工具更方便地管理和调试Higress的AI路由、AI提供商和MCP服务器配置提高了管理效率。
2. **更高的安全性**通过在运行时通过MCP Client提供用户名和密码而不是硬编码在配置文件中提高了系统的安全性。
3. **更好的用户体验**通过hgctl agent的交互式管理方式用户可以使用自然语言的方式管理Higress降低了学习成本和使用难度。
4. **系统性能和稳定性提升**新的MCP工具提供了更多的管理和调试手段有助于及时发现和解决问题提高系统的稳定性和性能。
5. **生态重要性**作为Higress从传统运维方式走向借助Agent运维方式迈出的第一步该功能对于Higress生态的发展具有重要意义为未来的更多创新打下了基础。
---
### 3. feat: implement `hgctl agent` & `mcp add` subcommand
**相关PR**: [#3051](https://github.com/alibaba/higress/pull/3051) | **贡献者**: [@erasernoob](https://github.com/erasernoob)
**使用背景**
Higress 是一个AI原生的API网关用于统一管理LLM API、MCP API和Agent API。随着Higress的发展传统的命令行工具已经不能满足用户的需求特别是在MCP服务的管理和调试方面。本次PR引入了类似Claude Code的交互式Agent使得用户可以通过自然语言来管理Higress。同时新增的`mcp add`子命令可以方便地将Remote MCP服务添加到Higress的MCP管理目录中实现MCP流量的治理。这些功能不仅简化了MCP服务的配置过程还增强了系统的可维护性和易用性。
**功能详述**
本次PR主要实现了两个新的子命令`hgctl agent``mcp add`
- `hgctl agent`这个命令允许用户通过自然语言与Higress进行交互。它会调用底层的`claude-code`代理,并在首次使用时提示用户设置必要的环境。`hgctl agent`提供了一个交互式的窗口使用户能够以更直观的方式管理Higress。
- `mcp add`这个命令允许用户通过简单的参数添加MCP服务。支持两种类型的MCP服务直接代理类型和基于OpenAPI的类型。直接代理类型的MCP服务可以直接调用Higress Console API并发布到Higress MCP Server管理工具中。基于OpenAPI的MCP服务则通过解析OpenAPI规范来生成MCP配置。代码变更中新增了多个文件和大量的代码包括`agent.go``base.go``core.go``mcp.go``client.go`,这些文件共同实现了上述功能。
**使用方式**
要启用和配置这些新功能,用户需要更新到最新版本的`hgctl`工具。
1. **启用`hgctl agent`**
- 运行`hgctl agent`命令,首次使用时会提示用户设置必要的环境,如安装`claude-code`代理。
- 通过自然语言与Higress进行交互例如查询或修改配置。
2. **使用`mcp add`添加MCP服务**
- 添加直接代理类型的MCP服务
```bash
hgctl mcp add mcp-deepwiki -t http https://mcp.deepwiki.com --user admin --password 123 --url http://localhost:8080
```
- 添加基于OpenAPI的MCP服务
```bash
hgctl mcp add openapi-server -t openapi --spec openapi.yaml --user admin --password 123 --url http://localhost:8080
```
注意事项确保在运行这些命令之前系统已经正确配置了Higress和相关依赖。
**功能价值**
这些新功能为用户带来了显著的好处,包括:
- **提升用户体验**通过自然语言交互降低了用户的学习曲线使得Higress的管理更加直观和友好。
- **简化配置过程**`mcp add`命令极大地简化了MCP服务的添加和配置过程减少了手动操作的复杂性和出错率。
- **增强系统稳定性**通过统一的MCP服务管理可以更好地监控和维护MCP流量提高系统的稳定性和可靠性。
- **扩展生态系统**这些新功能使得Higress能够更好地支持不同的MCP服务类型增强了其在AI时代的竞争力和生态影响力。
---
## 📝 完整变更日志
### 🚀 新功能 (Features)
- **Related PR**: [#3126](https://github.com/alibaba/higress/pull/3126) \
**Contributor**: @johnlanni \
**Change Log**: 更新了Envoy依赖支持通过WASM设置Redis调用相关的参数如buffer_flush_timeout和max_buffer_size_before_flush。 \
**Feature Value**: 此功能增强了WASM插件的灵活性允许用户通过URL查询参数自定义Redis客户端缓冲行为提升了配置管理的便利性和效率。
- **Related PR**: [#3123](https://github.com/alibaba/higress/pull/3123) \
**Contributor**: @johnlanni \
**Change Log**: 升级了Higress代理版本至v2.2.0更新Go工具链及多个依赖包版本并为golang-filter添加了特定架构的构建目标修复了与MCP服务器、OpenAI和Milvus SDK相关的依赖问题。 \
**Feature Value**: 提升了Higress的整体性能与稳定性支持更多架构类型同时增强了对最新技术栈的支持能力。对于用户而言这意味着更广泛的兼容性、更好的安全性和更丰富的功能扩展可能性。
- **Related PR**: [#3108](https://github.com/alibaba/higress/pull/3108) \
**Contributor**: @wydream \
**Change Log**: 新增了与视频相关的API路径和能力包括常量、默认能力和正则表达式路径处理使代理能够正确解析多个视频相关端点并更新OpenAI提供者以优化对这些新端点的支持。 \
**Feature Value**: 通过增加视频相关的API支持增强了Higress管理AI服务的能力特别是对于需要处理视频内容的应用场景这将让用户能够更方便地集成和使用涉及视频的高级功能。
- **Related PR**: [#3071](https://github.com/alibaba/higress/pull/3071) \
**Contributor**: @rinfx \
**Change Log**: PR添加了`inject_encoded_data_to_filter_chain_on_header`函数的使用示例展示了如何在无响应body情况下为请求添加body数据。通过修改README.md、go.mod等文件实现。 \
**Feature Value**: 此功能允许用户在没有响应body的情况下向请求添加body数据增强了API网关处理请求的能力和灵活性特别是在需要动态生成或修改响应内容时提供了更多的可能性。
- **Related PR**: [#3067](https://github.com/alibaba/higress/pull/3067) \
**Contributor**: @wydream \
**Change Log**: 此PR为Higress的ai-proxy插件新增了对vLLM作为AI提供商的支持实现了与OpenAI兼容的多个API接口包括聊天和文本补全、模型列表展示等功能。 \
**Feature Value**: 通过引入vLLM作为新的AI服务提供者用户现在可以直接通过Higress代理访问vLLM提供的各种AI能力如生成文本等这极大地丰富了Higress在AI应用场景中的可用性简化了集成流程。
- **Related PR**: [#3060](https://github.com/alibaba/higress/pull/3060) \
**Contributor**: @erasernoob \
**Change Log**: 此PR通过增强`hgctl mcp`和`hgctl agent`命令实现了从安装配置文件及Kubernetes secrets中自动获取Higress Console凭据的功能优化了用户的使用体验。 \
**Feature Value**: 该功能减少了用户手动输入凭据的步骤提升了操作便捷性和安全性特别是在Higress通过hgctl安装的情况下对用户来说是一个重要的便利性改进。
- **Related PR**: [#3043](https://github.com/alibaba/higress/pull/3043) \
**Contributor**: @2456868764 \
**Change Log**: 此PR修复了Milvus默认端口错误的问题并在README.md中添加了Python示例代码。通过修改配置文件中的match_rule_domain字段解决了端口问题同时提供了使用指导。 \
**Feature Value**: 修复了可能导致服务无法正确运行的端口配置问题增强了文档的实用性为用户提供了一个具体的Python示例来帮助理解和快速上手使用插件功能。
- **Related PR**: [#3040](https://github.com/alibaba/higress/pull/3040) \
**Contributor**: @victorserbu2709 \
**Change Log**: 此PR新增了Anthropic的ApiNameAnthropicMessages功能并支持在没有设置protocol=original的情况下配置anthropic提供商让/v1/messages请求直接转发给anthropic而/v1/chat/completion则会将OpenAI格式的消息体转换为Claude兼容的格式。 \
**Feature Value**: 通过增加对Anthropic消息API的支持提升了Higress管理不同类型AI服务的能力。用户现在可以更灵活地使用Anthropic提供的服务特别是在需要与Claude进行交互时变得更加方便增强了平台的多样性和灵活性。
- **Related PR**: [#3038](https://github.com/alibaba/higress/pull/3038) \
**Contributor**: @Libres-coder \
**Change Log**: 新增了`list-plugin-instances`工具允许AI代理通过MCP协议查询特定作用域下的插件实例。该PR向MCP Server添加了两个新函数并在文档中更新了相关说明。 \
**Feature Value**: 此功能使用户能够更方便地管理Higress中的插件配置增强了系统的可管理性和透明度特别是在需要对特定范围内的插件状态进行检查或调整时。
- **Related PR**: [#3032](https://github.com/alibaba/higress/pull/3032) \
**Contributor**: @johnlanni \
**Change Log**: 此PR默认启用了Qwen兼容模式并添加了缺失的API端点包括AsyncAIGC、AsyncTask和V1Rerank以提供更完整的API覆盖。 \
**Feature Value**: 通过默认启用兼容模式并填补API接口缺口提升了用户的开箱即用体验同时增强了系统对于Qwen AI服务的支持力度使开发者能够更加便捷地接入和使用Qwen相关功能。
- **Related PR**: [#3029](https://github.com/alibaba/higress/pull/3029) \
**Contributor**: @victorserbu2709 \
**Change Log**: 在groq提供者中添加了对v1/responses的支持具体改动包括引入新的响应处理逻辑。 \
**Feature Value**: 新增的功能支持使得用户能够通过Higress更好地管理和利用groq插件提供的服务响应提升了API管理的灵活性和功能完整性。
- **Related PR**: [#3024](https://github.com/alibaba/higress/pull/3024) \
**Contributor**: @rinfx \
**Change Log**: 新增恶意URL和模型幻觉检测功能确保AI生成内容的安全性同时调整了消费者级别的特定配置以更好地适应不同场景下的需求。 \
**Feature Value**: 通过增加对恶意URL及模型幻觉的检测提升了Higress平台处理AI生成内容时的安全性和准确性有助于保护用户免受潜在威胁。此外调整后的消费者级配置增强了系统的灵活性与适应性。
- **Related PR**: [#3008](https://github.com/alibaba/higress/pull/3008) \
**Contributor**: @hellocn9 \
**Change Log**: 本次PR为MCP SSE stateful sessions增加了自定义参数名支持。通过在ingress配置中新增`higress.io/mcp-sse-stateful-param-name`注解,用户可以指定自己的参数名称。 \
**Feature Value**: 此功能允许用户根据自身需求灵活设置MCP SSE stateful会话的参数名称提高了配置灵活性和用户体验。这使得Higress能更好地适应多样化的应用场景。
- **Related PR**: [#3006](https://github.com/alibaba/higress/pull/3006) \
**Contributor**: @SaladDay \
**Change Log**: 此PR为MCP Server的Redis配置添加了Secret引用支持允许通过Kubernetes Secret来存储Redis密码增强了安全性并修改了相关文档和测试代码。 \
**Feature Value**: 通过使用Kubernetes Secret存储Redis密码而不是明文写入ConfigMap提高了系统的安全性。用户可以更加安全地管理敏感信息降低了密码泄露的风险。
- **Related PR**: [#2992](https://github.com/alibaba/higress/pull/2992) \
**Contributor**: @rinfx \
**Change Log**: 该PR修改了key_auth插件中的认证逻辑在日志中记录消费者名称即使未被授权访问。通过在认证鉴权过程中增加对消费者识别的日志记录增强了系统的可观察性。 \
**Feature Value**: 这项功能提高了系统监控和故障排查的效率,允许运营人员更清晰地了解请求来源,即便请求未被授权也能追踪到具体的消费者,从而更好地进行问题诊断和安全审计。
- **Related PR**: [#2978](https://github.com/alibaba/higress/pull/2978) \
**Contributor**: @rinfx \
**Change Log**: 在确定消费者名称后,无论认证是否通过,都将消费者名称添加到请求头中,以供后续处理使用。 \
**Feature Value**: 此功能增强了对消费者行为的追踪能力有助于更好地理解API调用情况及消费者活动模式从而为用户提供更加个性化的服务体验。
- **Related PR**: [#2968](https://github.com/alibaba/higress/pull/2968) \
**Contributor**: @2456868764 \
**Change Log**: 增加了向量数据库映射功能引入了字段映射系统与索引配置管理机制支持多种索引类型如HNSW、IVF、SCANN等以提高系统的灵活性和适应性。 \
**Feature Value**: 通过提供灵活的字段映射及丰富的索引配置选项,增强了对不同向量数据库的支持能力,简化了开发者集成多样化存储方案的过程,提升了用户体验。
- **Related PR**: [#2943](https://github.com/alibaba/higress/pull/2943) \
**Contributor**: @Guo-Chenxu \
**Change Log**: 此PR增加了在生成发布说明时支持自定义系统提示的功能通过修改GitHub Actions工作流文件实现。 \
**Feature Value**: 允许用户在生成发布说明时添加个性化系统提示,提高了发布说明的灵活性和实用性,更好地满足不同项目的需求。
- **Related PR**: [#2942](https://github.com/alibaba/higress/pull/2942) \
**Contributor**: @2456868764 \
**Change Log**: 修复了LLM提供者为空时的处理逻辑并优化了文档结构与内容增加了对MCP工具的详细介绍。 \
**Feature Value**: 提高了系统在LLM配置缺失时的健壮性增强了用户对MCP工具的理解和使用体验使用户能够更清晰地了解不同工具的功能及其配置需求。
- **Related PR**: [#2916](https://github.com/alibaba/higress/pull/2916) \
**Contributor**: @imp2002 \
**Change Log**: 实现了Nginx迁移MCP服务器并提供了7种MCP工具来自动化从Nginx配置/Lua插件迁移到Higress的过程。包括了配置转换等重要功能。 \
**Feature Value**: 该功能极大简化了用户从Nginx向Higress迁移的工作量通过提供一套完整的工具集使得迁移过程更加平滑和高效有助于用户更快速地采用Higress作为其API网关解决方案。
### 🐛 Bug修复 (Bug Fixes)
- **Related PR**: [#3120](https://github.com/alibaba/higress/pull/3120) \
**Contributor**: @lexburner \
**Change Log**: 调整了ai-proxy组件中的日志级别具体修改位于wasm-go/extensions/ai-proxy/provider/qwen.go文件中减少了不必要的警告信息输出。 \
**Feature Value**: 通过降低特定部分的日志级别,减少了系统运行时产生的冗余警告信息,有助于提高开发和运维人员查看日志的效率,使他们能够更专注于真正的错误或重要信息。
- **Related PR**: [#3119](https://github.com/alibaba/higress/pull/3119) \
**Contributor**: @johnlanni \
**Change Log**: 更新istio依赖并将Connection中的reqChan和deltaReqChan替换为channels.Unbounded以防止HTTP2流控导致的死锁问题。 \
**Feature Value**: 通过解决HTTP2流控引起的死锁问题确保了客户端请求和ACK请求可以正常无阻塞地处理提升了系统的稳定性和响应速度。
- **Related PR**: [#3118](https://github.com/alibaba/higress/pull/3118) \
**Contributor**: @johnlanni \
**Change Log**: 此PR修复了端口级别策略无条件覆盖已存在的由Ingress注解转换而来的配置的问题。通过在设置policy.Tls和policy.LoadBalancer前添加nil检查来避免覆写现有配置。 \
**Feature Value**: 解决了因DestinationRule中的TLS及负载均衡器设置导致的配置意外覆盖问题确保了用户自定义的Ingress注解配置能够被正确保留并应用增强了系统的稳定性和可靠性。
- **Related PR**: [#3095](https://github.com/alibaba/higress/pull/3095) \
**Contributor**: @rinfx \
**Change Log**: 修复了claude2openai转换过程中usage信息丢失的问题并在bedrock流式工具响应中添加了index字段以确保数据完整性和准确性。 \
**Feature Value**: 该修复提升了系统在处理API转换时的数据完整性确保用户能够准确获取到所有必要的使用信息特别是在涉及到流式响应的情况下通过引入index字段增强了响应管理的灵活性。
- **Related PR**: [#3084](https://github.com/alibaba/higress/pull/3084) \
**Contributor**: @rinfx \
**Change Log**: 修复了Claude请求转换为OpenAI请求时未正确包含include_usage: true的问题确保在流式响应模式下能够正常传递使用情况信息。 \
**Feature Value**: 该修复使得用户可以在使用流式API处理时获得更准确的资源使用反馈提升了系统对资源消耗监控的准确性。
- **Related PR**: [#3074](https://github.com/alibaba/higress/pull/3074) \
**Contributor**: @Jing-ze \
**Change Log**: 此PR在log-request-response插件中添加了对Content-Encoding的检查从而避免记录压缩后的请求/响应体导致日志出现乱码的情况。 \
**Feature Value**: 通过改进日志记录机制来防止输出难以阅读的日志条目,提高了系统运维人员排查问题时的工作效率和准确性。
- **Related PR**: [#3069](https://github.com/alibaba/higress/pull/3069) \
**Contributor**: @Libres-coder \
**Change Log**: 本PR修复了CI测试框架中的一个问题即由于`go.mod`文件未被正确更新而导致的e2e测试失败。通过在`prebuild.sh`脚本中添加`go mod tidy`命令来确保根目录下的`go.mod`也得到更新。 \
**Feature Value**: 该修复解决了所有触发wasm插件端到端测试的PR都可能遇到的CI测试失败问题保证了构建和测试流程的稳定性提升了开发者的体验。
- **Related PR**: [#3010](https://github.com/alibaba/higress/pull/3010) \
**Contributor**: @rinfx \
**Change Log**: 修复了bedrock返回响应时因拆包问题导致的解析失败情况并调整了maxtoken转换逻辑确保了事件流处理的准确性和完整性。 \
**Feature Value**: 解决了用户在使用bedrock服务时遇到的数据解析错误问题提升了系统的稳定性和用户体验。通过优化边界条件处理保证了数据传输的一致性。
- **Related PR**: [#2997](https://github.com/alibaba/higress/pull/2997) \
**Contributor**: @hanxiantao \
**Change Log**: 优化了集群限流和AI Token限流的逻辑调整为累加方式统计请求次数和token使用量避免在修改限流值时重置计数。 \
**Feature Value**: 通过改进限流机制,确保即使在更改限流阈值后,系统依然能够准确地追踪和限制请求流量,从而提高了系统的稳定性和可靠性。
- **Related PR**: [#2988](https://github.com/alibaba/higress/pull/2988) \
**Contributor**: @johnlanni \
**Change Log**: 此PR修复了jsonrpc-converter中JSON格式化错误的问题改为使用原始JSON数据避免了由于字符串格式化导致的数据解析问题。 \
**Feature Value**: 通过修正JSON处理方式确保了数据传输的准确性和一致性提升了系统的稳定性和可靠性减少了因数据格式错误引发的潜在问题。
- **Related PR**: [#2973](https://github.com/alibaba/higress/pull/2973) \
**Contributor**: @CH3CHO \
**Change Log**: 修复了当`match_rule_domain`设置为空字符串时Higress 2.1.8版本不支持的问题,通过使用通配符匹配所有域来消除兼容性风险。 \
**Feature Value**: 此修复确保了MCP服务器配置的生成与旧版本向后兼容避免因配置错误导致的服务中断或行为异常提升了系统的稳定性和用户体验。
- **Related PR**: [#2952](https://github.com/alibaba/higress/pull/2952) \
**Contributor**: @Erica177 \
**Change Log**: 修正了 ToolSecurity 结构体中字段 Id 的 JSON 标签,从 type 更改为 id以确保序列化正确。 \
**Feature Value**: 此修复确保了 ToolSecurity 结构体在数据传输时的正确性,避免因字段标签错误导致的数据解析问题,提升了系统的稳定性和用户体验。
- **Related PR**: [#2948](https://github.com/alibaba/higress/pull/2948) \
**Contributor**: @johnlanni \
**Change Log**: 修复了Azure OpenAI Response API的处理问题和服务URL类型检测逻辑包括添加对自定义完整路径的支持和改进流式事件解析。 \
**Feature Value**: 增强了Azure OpenAI服务的支持提高了API响应处理的准确性与效率使得用户能够更稳定地使用Azure OpenAI相关功能。
- **Related PR**: [#2941](https://github.com/alibaba/higress/pull/2941) \
**Contributor**: @rinfx \
**Change Log**: 此PR修复了ai-security-guard插件与旧配置不兼容的问题通过调整`main.go`文件中的相关代码来确保向后兼容性。 \
**Feature Value**: 解决了因配置更新导致的兼容性问题,使得使用旧版配置的用户能够无缝过渡到新版本,提升了用户体验和系统的稳定性。
### ♻️ 重构优化 (Refactoring)
- **Related PR**: [#3113](https://github.com/alibaba/higress/pull/3113) \
**Contributor**: @johnlanni \
**Change Log**: 该PR实现了Protobuf消息的哈希缓存功能通过xxHash算法进行递归哈希计算并对google.protobuf.Any类型和具有确定性排序的map字段进行了特殊处理优化了LDS性能。 \
**Feature Value**: 此改动显著提升了Envoy在处理大量配置更新时的效率减少了因重复序列化导致的性能开销特别是在频繁变更或大规模部署环境中能够加速配置传播速度提高系统响应能力。
- **Related PR**: [#2945](https://github.com/alibaba/higress/pull/2945) \
**Contributor**: @rinfx \
**Change Log**: 优化了ai-load-balancer中全局最小请求数选pod的Lua脚本逻辑通过调整健康检查机制和负载均衡策略提高了请求分发效率。 \
**Feature Value**: 此次改动提升了AI负载均衡器对于请求处理的公平性和效率减少了因单一节点过载导致的服务响应时间延长问题对提高整体系统的稳定性和用户体验有正面影响。
### 📚 文档更新 (Documentation)
- **Related PR**: [#2965](https://github.com/alibaba/higress/pull/2965) \
**Contributor**: @CH3CHO \
**Change Log**: 更新了ai-proxy README文件中azureServiceUrl的描述增加了关于该参数使用的详细信息以帮助用户更好地理解和配置。 \
**Feature Value**: 通过提供更详细的azureServiceUrl参数说明此更改有助于改善用户体验使用户能够更容易地根据文档进行正确的配置设置从而避免潜在的使用错误。
### 🧪 测试改进 (Testing)
- **Related PR**: [#3110](https://github.com/alibaba/higress/pull/3110) \
**Contributor**: @Jing-ze \
**Change Log**: 本PR在GitHub Actions工作流中增加了CODECOV_TOKEN环境变量配置以确保Codecov能够正确地进行身份验证并上传代码覆盖率数据。 \
**Feature Value**: 通过添加CODECOV_TOKEN环境变量提升了CI/CD流程中的安全性与可靠性保证了代码覆盖率报告的准确性和完整性有助于维护项目质量。
- **Related PR**: [#3097](https://github.com/alibaba/higress/pull/3097) \
**Contributor**: @johnlanni \
**Change Log**: 此PR为mcp-server添加了单元测试总共增加了2766行代码主要集中在main_test.go文件中增强了mcp-server的测试覆盖率。 \
**Feature Value**: 通过增加单元测试提高了mcp-server模块的稳定性与可靠性确保新功能或修复不会引入新的问题。对于用户而言这提升了Higress整体的质量保证和使用体验。
- **Related PR**: [#2998](https://github.com/alibaba/higress/pull/2998) \
**Contributor**: @Patrisam \
**Change Log**: 本PR实现了针对Cloudflare的端到端测试案例增强了Higress项目的测试覆盖范围。通过在go-wasm-ai-proxy.go和go-wasm-ai-proxy.yaml中添加新的测试逻辑及配置提高了系统集成度。 \
**Feature Value**: 新增加的Cloudflare e2e测试案例有助于确保Higress与Cloudflare服务之间的兼容性和稳定性对于使用或计划使用Cloudflare作为其网络基础设施一部分的用户来说这将极大提升他们对Higress可靠性的信心。
- **Related PR**: [#2980](https://github.com/alibaba/higress/pull/2980) \
**Contributor**: @Jing-ze \
**Change Log**: 增强了WASM插件单元测试的CI工作流添加了覆盖率显示功能并设置了80%的覆盖率阈值。 \
**Feature Value**: 提高了测试流程的质量和透明度确保WASM插件满足一定的代码覆盖率标准有助于发现潜在问题提高代码可靠性。
---
## 📊 发布统计
- 🚀 新功能: 23项
- 🐛 Bug修复: 14项
- ♻️ 重构优化: 2项
- 📚 文档更新: 1项
- 🧪 测试改进: 4项
**总计**: 44项更改包含3项重要更新
感谢所有贡献者的辛勤付出!🎉
# Higress Console
## 📋 本次发布概览
本次发布包含 **18** 项更新涵盖了功能增强、Bug修复、性能优化等多个方面。
### 更新内容分布
- **新功能**: 7项
- **Bug修复**: 10项
- **文档更新**: 1项
---
## 📝 完整变更日志
### 🚀 新功能 (Features)
- **Related PR**: [#621](https://github.com/higress-group/higress-console/pull/621) \
**Contributor**: @Thomas-Eliot \
**Change Log**: 该PR优化了MCP Server的交互能力包括重写header host、修改交互方式以支持选择transport并改进了DSN字符处理逻辑支持特殊字符@。 \
**Feature Value**: 通过这些改进用户可以更灵活地配置和使用MCP Server特别是在直接路由场景下能更好地处理DNS地址和服务路径提高了系统的灵活性和易用性。
- **Related PR**: [#612](https://github.com/higress-group/higress-console/pull/612) \
**Contributor**: @zhwaaaaaa \
**Change Log**: 在DashboardServiceImpl中添加了对hop-to-hop头部的忽略处理防止如Transfer-Encoding: chunked这样的头部被误传递。 \
**Feature Value**: 通过正确处理hop-to-hop头部确保了Grafana页面能正常工作于使用反向代理服务器的环境中提升了系统的兼容性和用户体验。
- **Related PR**: [#608](https://github.com/higress-group/higress-console/pull/608) \
**Contributor**: @Libres-coder \
**Change Log**: 此PR为AI路由管理页面添加了插件显示支持允许用户展开AI路由行以查看已启用的插件并在配置页面中看到“Enabled”标签。 \
**Feature Value**: 增强了AI路由管理功能使用户能够更直观地管理与AI相关的插件状态提升了用户体验和操作便捷性。
- **Related PR**: [#604](https://github.com/higress-group/higress-console/pull/604) \
**Contributor**: @CH3CHO \
**Change Log**: 此PR引入了使用`higress.io/rewrite-target`注解进行路径重写的功能,支持正则表达式,增强了路径配置的灵活性。 \
**Feature Value**: 通过增加基于正则表达式的路径重写能力用户能够更灵活地控制和转换请求路径提升了Higress网关的路由处理能力满足更多场景下的需求。
- **Related PR**: [#603](https://github.com/higress-group/higress-console/pull/603) \
**Contributor**: @CH3CHO \
**Change Log**: 此PR为静态服务源显示固定的服务端口80通过在前端组件中硬编码该值实现。 \
**Feature Value**: 用户可以更直观地看到并理解特定于静态服务源的默认端口号增强了UI的清晰度和用户体验。
- **Related PR**: [#602](https://github.com/higress-group/higress-console/pull/602) \
**Contributor**: @CH3CHO \
**Change Log**: 该PR通过在前端页面中添加搜索功能支持用户在选择AI路由的上游服务时进行搜索提升了用户体验。 \
**Feature Value**: 此功能使用户能够更快速准确地找到所需的上游服务,简化了配置过程,提高了操作效率。
- **Related PR**: [#566](https://github.com/higress-group/higress-console/pull/566) \
**Contributor**: @OuterCyrex \
**Change Log**: 该PR新增了对自定义Qwen服务的支持包括启用互联网搜索、上传文件ID等功能。主要改动集中在后端SDK和前端UI部分。 \
**Feature Value**: 通过支持自定义Qwen服务用户能够更灵活地配置AI服务比如使用特定的互联网搜索功能或指定文件ID从而满足更多个性化需求。
### 🐛 Bug修复 (Bug Fixes)
- **Related PR**: [#620](https://github.com/higress-group/higress-console/pull/620) \
**Contributor**: @CH3CHO \
**Change Log**: 修正了sortWasmPluginMatchRules逻辑中的拼写错误确保匹配规则正确排序。 \
**Feature Value**: 修复此拼写错误提高了代码的可靠性和可读性确保Wasm插件匹配规则能够按预期工作减少了潜在的运行时错误。
- **Related PR**: [#619](https://github.com/higress-group/higress-console/pull/619) \
**Contributor**: @CH3CHO \
**Change Log**: 此PR从AiRoute转换到ConfigMap的过程中移除了数据JSON中的版本信息因为这些信息已经保存在ConfigMap的元数据中。 \
**Feature Value**: 通过移除冗余的数据,提高了配置的一致性和简洁性,减少了潜在的数据冲突和不一致问题。
- **Related PR**: [#618](https://github.com/higress-group/higress-console/pull/618) \
**Contributor**: @CH3CHO \
**Change Log**: 该PR重构了SystemController中的API认证逻辑以消除存在的安全漏洞。通过新增AllowAnonymous注解并调整ApiStandardizationAspect类确保系统更安全。 \
**Feature Value**: 此修复增强了系统的安全性,防止未经授权的访问和潜在的安全威胁,提升了用户体验与信任度。
- **Related PR**: [#617](https://github.com/higress-group/higress-console/pull/617) \
**Contributor**: @CH3CHO \
**Change Log**: 修复了前端控制台错误包括列表元素key属性缺失、CSP策略限制导致的图片加载失败以及Consumer.name字段类型错误等问题。 \
**Feature Value**: 解决了用户在使用过程中遇到的多个前端问题,提升了用户体验,确保了应用的稳定性和安全性。
- **Related PR**: [#614](https://github.com/higress-group/higress-console/pull/614) \
**Contributor**: @lc0138 \
**Change Log**: 该PR修正了ServiceSource类中type字段的错误类型并添加了字典值校验以确保数据准确性。 \
**Feature Value**: 通过修复服务来源类型的错误,提高了系统的数据一致性和可靠性,减少了因类型不匹配导致的潜在问题。
- **Related PR**: [#613](https://github.com/higress-group/higress-console/pull/613) \
**Contributor**: @lc0138 \
**Change Log**: 此PR通过修改前端document.tsx文件新增了15行代码来修复CSP等安全风险问题确保了网站的安全性。 \
**Feature Value**: 修复了与内容安全策略相关的安全风险,提升了应用程序的安全水平,保护用户免受潜在的安全威胁。
- **Related PR**: [#611](https://github.com/higress-group/higress-console/pull/611) \
**Contributor**: @qshuai \
**Change Log**: 修正了LlmProvidersController.java文件中关于添加新路由API的描述错误将标题从'Add a new route'更正为'Ad'。 \
**Feature Value**: 此修复解决了API文档中的误导性信息问题确保开发者能够准确理解API的功能提升开发体验和减少潜在的误用。
- **Related PR**: [#609](https://github.com/higress-group/higress-console/pull/609) \
**Contributor**: @CH3CHO \
**Change Log**: 修复了Consumer.name字段类型错误的问题将该字段的类型从boolean更正为string。 \
**Feature Value**: 此修复确保了Consumer.name字段的数据一致性与准确性避免因类型错误导致的数据处理问题提升了系统的稳定性和用户体验。
- **Related PR**: [#605](https://github.com/higress-group/higress-console/pull/605) \
**Contributor**: @SaladDay \
**Change Log**: 修正了AI路由名称验证规则使其支持点号并统一大小写限制与界面提示。此外更新了多语言环境下的错误提示信息。 \
**Feature Value**: 解决了用户在设置AI路由名称时遇到的不一致问题提升了用户体验及系统的易用性确保了信息的一致性和准确性。
- **Related PR**: [#552](https://github.com/higress-group/higress-console/pull/552) \
**Contributor**: @lcfang \
**Change Log**: 该PR为解决服务实例端口不一致导致的兼容性问题新增了vport属性并在注册中心配置时提供了选择性配置虚拟端口的功能。 \
**Feature Value**: 通过引入vport属性用户可以更灵活地处理后端实例端口变化的情况避免因端口变动而导致的服务路由失效问题提升了系统的稳定性和灵活性。
### 📚 文档更新 (Documentation)
- **Related PR**: [#610](https://github.com/higress-group/higress-console/pull/610) \
**Contributor**: @heimanba \
**Change Log**: 此PR更新了前端灰度插件的文档配置包括修改必填字段说明、更新关联规则以及同步中英文README和spec.yaml文件中的内容。 \
**Feature Value**: 通过调整文档配置要求与描述,增强了配置的灵活性和兼容性,便于用户理解和使用前端灰度插件功能。
---
## 📊 发布统计
- 🚀 新功能: 7项
- 🐛 Bug修复: 10项
- 📚 文档更新: 1项
**总计**: 18项更改
感谢所有贡献者的辛勤付出!🎉