mirror of
https://github.com/alibaba/higress.git
synced 2026-02-06 15:10:54 +08:00
Add release notes (#3129)
This commit is contained in:
committed by
GitHub
parent
ec5031c2f5
commit
51e1804c5c
494
release-notes/2.1.9/README.md
Normal file
494
release-notes/2.1.9/README.md
Normal file
@@ -0,0 +1,494 @@
|
||||
# Higress
|
||||
|
||||
|
||||
## 📋 Overview of This Release
|
||||
|
||||
This release includes **44** updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
|
||||
|
||||
### Update Distribution
|
||||
|
||||
- **New Features**: 23
|
||||
- **Bug Fixes**: 14
|
||||
- **Refactoring Optimizations**: 2
|
||||
- **Documentation Updates**: 1
|
||||
- **Testing Improvements**: 4
|
||||
|
||||
### ⭐ Key Highlights
|
||||
|
||||
This release contains **3** significant updates, which are recommended for special attention:
|
||||
|
||||
- **feat(mcp-server): add server-level default authentication and MCP proxy server support** ([#3096](https://github.com/alibaba/higress/pull/3096)): This feature enhances Higress's security management capabilities for MCP traffic, allowing users to set up authentication through a unified interface, simplifying the deployment process of security policies, and enhancing system security and flexibility.
|
||||
- **feat: add higress api mcp server** ([#2923](https://github.com/alibaba/higress/pull/2923)): By adding the higress-ops MCP Server, users can use the `hgctl agent` command to manage Higress configurations and troubleshoot issues, improving operational efficiency and user experience.
|
||||
- **feat: implement `hgctl agent` & `mcp add` subcommand** ([#3051](https://github.com/alibaba/higress/pull/3051)): This enhancement improves Higress's operational capabilities, especially through interactive management and debugging via the Agent, making it easier for users to configure and debug MCP traffic governance. It is a significant step towards AI-native operations for Higress.
|
||||
|
||||
For more details, please refer to the detailed descriptions of key features below.
|
||||
|
||||
---
|
||||
|
||||
## 🌟 Detailed Description of Key Features
|
||||
|
||||
Below are the detailed explanations of the important features and improvements in this release:
|
||||
|
||||
### 1. feat(mcp-server): add server-level default authentication and MCP proxy server support
|
||||
|
||||
**Related PR**: [#3096](https://github.com/alibaba/higress/pull/3096) | **Contributor**: [@johnlanni](https://github.com/johnlanni)
|
||||
|
||||
**Usage Background**
|
||||
|
||||
As the AI-native API gateway Higress develops, users' demands for API security, flexibility, and ease of use are increasing. In practical applications, the MCP (Model Context Protocol) is widely used for managing and invoking AI models. However, existing MCP servers lack a unified security authentication mechanism, leading to the need for configuring different authentication mechanisms in various scenarios (such as direct proxying by MCP Server, or REST API conversion to MCP Server). This update addresses these issues, targeting user groups including, but not limited to, developers, operations personnel, and system administrators, who require a more secure, flexible, and easy-to-manage API gateway.
|
||||
|
||||
**Feature Details**
|
||||
|
||||
This update primarily implements two core features: 1. Adding default authentication at the MCP server level, including client-to-gateway and gateway-to-backend authentication; 2. Introducing a new type of MCP proxy server that can proxy MCP requests from clients to backend MCP servers, supporting timeout configuration and full authentication support. Technically, this is achieved by updating dependency library versions (such as wasm-go and proxy-wasm-go-sdk) to support the new features, while also refactoring existing code to accommodate the new authentication and proxy logic.
|
||||
|
||||
**Usage**
|
||||
|
||||
To enable this feature, you need to set the corresponding parameters in the Higress configuration file. For example, to configure default downstream security, specify the authentication policy in the `defaultDownstreamSecurity` field; similarly, upstream authentication is configured through the `defaultUpstreamSecurity` field. To use the MCP proxy server, define a new `mcp-proxy` type server and specify the backend MCP server address via the `mcpServerURL` field. Additionally, you can control the request timeout time using the `timeout` field. Best practices recommend utilizing the priority configuration mechanism to ensure that tool-level settings can override server-level defaults, thereby achieving finer-grained control.
|
||||
|
||||
**Feature Value**
|
||||
|
||||
This feature significantly enhances the security and flexibility of Higress, making API management more efficient. By introducing server-level default authentication, it reduces the workload of repetitive configurations and lowers the security risks caused by configuration errors. The newly added MCP proxy server capability not only simplifies the complexity of MCP service governance but also effectively alleviates the pressure on backend MCP servers by offloading state-keeping tasks to the Higress side. These improvements collectively contribute to enhancing the stability and user experience of the entire ecosystem, laying a solid foundation for Higress to become an indispensable API gateway in the AI era.
|
||||
|
||||
---
|
||||
|
||||
### 2. feat: add higress api mcp server
|
||||
|
||||
**Related PR**: [#2923](https://github.com/alibaba/higress/pull/2923) | **Contributor**: [@Tsukilc](https://github.com/Tsukilc)
|
||||
|
||||
**Usage Background**
|
||||
|
||||
As AI technology advances, API gateways need to better support AI-related functionalities. Higress, as an AI-native API gateway, needs to provide more powerful management tools to unify the management of core API assets such as LLM APIs, MCP APIs, and Agent APIs. This PR integrates the Higress API MCP Server, providing comprehensive management capabilities for AI routing, AI providers, and MCP servers. These new features help users more efficiently configure and maintain Higress's AI features, meeting the needs of modern applications. The target user groups include Higress operators and developers, especially those with deep needs in the AI domain.
|
||||
|
||||
**Feature Details**
|
||||
|
||||
This PR mainly implements the following features:
|
||||
1. **AI Routing Management**: Added tools such as `list-ai-routes`, `get-ai-route`, `add-ai-route`, `update-ai-route`, and `delete-ai-route` to allow users to manage AI routes.
|
||||
2. **AI Provider Management**: Added tools such as `list-ai-providers`, `get-ai-provider`, `add-ai-provider`, `update-ai-provider`, and `delete-ai-provider` to allow users to manage AI providers.
|
||||
3. **MCP Server Management**: Added tools such as `list-mcp-servers`, `get-mcp-server`, `add-or-update-mcp-server`, and `delete-mcp-server` to allow users to manage MCP servers and their consumers.
|
||||
4. **Authentication Configuration**: Uses HTTP Basic Authentication for authorization, carrying the `Authorization` header in the client request.
|
||||
5. **Code Changes**: Removed hard-coded usernames and passwords, instead providing them at runtime via the MCP Client, enhancing security. Additionally, added the `higress-ops` module for `hgctl agent` command integration, enabling Agent-based management of Higress configurations.
|
||||
|
||||
**Usage**
|
||||
|
||||
To enable and configure this feature, follow these steps:
|
||||
1. **Configure Higress API MCP Server**: Add the Higress API MCP Server configuration in the Higress configuration file, specifying the URL of the Higress Console.
|
||||
2. **Use `hgctl agent`**: Start the interactive Agent using the `hgctl agent` command, allowing you to manage Higress using natural language. For example, use the `mcp add` subcommand to add a remote MCP Server to the Higress MCP management directory.
|
||||
3. **Manage AI Routes**: Use tools like `list-ai-routes`, `get-ai-route`, `add-ai-route`, `update-ai-route`, and `delete-ai-route` to manage AI routes.
|
||||
4. **Manage AI Providers**: Use tools like `list-ai-providers`, `get-ai-provider`, `add-ai-provider`, `update-ai-provider`, and `delete-ai-provider` to manage AI providers.
|
||||
5. **Manage MCP Servers**: Use tools like `list-mcp-servers`, `get-mcp-server`, `add-or-update-mcp-server`, and `delete-mcp-server` to manage MCP servers and their consumers.
|
||||
**Note**: Ensure that you correctly configure the authentication information and carry the `Authorization` header in the request.
|
||||
|
||||
**Feature Value**
|
||||
|
||||
This feature brings the following specific benefits to users:
|
||||
1. **Enhanced Management Capabilities**: Users can more easily manage and debug Higress's AI routing, AI provider, and MCP server configurations using the new MCP tools, improving management efficiency.
|
||||
2. **Higher Security**: By providing usernames and passwords at runtime via the MCP Client rather than hard-coding them in the configuration file, the system's security is enhanced.
|
||||
3. **Better User Experience**: The interactive management method via `hgctl agent` allows users to manage Higress using natural language, reducing the learning curve and difficulty of use.
|
||||
4. **Improved System Performance and Stability**: The new MCP tools provide more management and debugging options, helping to promptly identify and resolve issues, thereby improving system stability and performance.
|
||||
5. **Ecosystem Importance**: As the first step for Higress to transition from traditional operations to Agent-based operations, this feature is significant for the development of the Higress ecosystem, laying the groundwork for future innovations.
|
||||
|
||||
---
|
||||
|
||||
### 3. feat: implement `hgctl agent` & `mcp add` subcommand
|
||||
|
||||
**Related PR**: [#3051](https://github.com/alibaba/higress/pull/3051) | **Contributor**: [@erasernoob](https://github.com/erasernoob)
|
||||
|
||||
**Usage Background**
|
||||
|
||||
Higress is an AI-native API gateway used to unify the management of LLM APIs, MCP APIs, and Agent APIs. As Higress evolves, traditional command-line tools no longer meet user needs, especially in the management and debugging of MCP services. This PR introduces an interactive Agent similar to Claude Code, allowing users to manage Higress using natural language. Additionally, the new `mcp add` subcommand makes it easy to add remote MCP services to Higress's MCP management directory, enabling MCP traffic governance. These features not only simplify the configuration process for MCP services but also enhance the system's maintainability and usability.
|
||||
|
||||
**Feature Details**
|
||||
|
||||
This PR mainly implements two new subcommands: `hgctl agent` and `mcp add`.
|
||||
|
||||
- `hgctl agent`: This command allows users to interact with Higress using natural language. It calls the underlying `claude-code` agent and prompts the user to set up the necessary environment upon first use. `hgctl agent` provides an interactive window, enabling users to manage Higress in a more intuitive manner.
|
||||
|
||||
- `mcp add`: This command allows users to add MCP services with simple parameters. It supports two types of MCP services: direct proxy type and OpenAPI-based type. Direct proxy type MCP services can directly call the Higress Console API and publish to the Higress MCP Server management tool. OpenAPI-based MCP services generate MCP configurations by parsing the OpenAPI specification. The code changes include the addition of multiple files and a significant amount of code, including `agent.go`, `base.go`, `core.go`, `mcp.go`, and `client.go`, which collectively implement the above features.
|
||||
|
||||
**Usage**
|
||||
|
||||
To enable and configure these new features, users need to update to the latest version of the `hgctl` tool.
|
||||
|
||||
1. **Enable `hgctl agent`**:
|
||||
- Run the `hgctl agent` command. On the first use, it will prompt the user to set up the necessary environment, such as installing the `claude-code` agent.
|
||||
- Interact with Higress using natural language, for example, to query or modify configurations.
|
||||
|
||||
2. **Add MCP Services Using `mcp add`**:
|
||||
- Add a direct proxy type MCP service:
|
||||
```bash
|
||||
hgctl mcp add mcp-deepwiki -t http https://mcp.deepwiki.com --user admin --password 123 --url http://localhost:8080
|
||||
```
|
||||
- Add an OpenAPI-based MCP service:
|
||||
```bash
|
||||
hgctl mcp add openapi-server -t openapi --spec openapi.yaml --user admin --password 123 --url http://localhost:8080
|
||||
```
|
||||
|
||||
**Note**: Ensure that the system has correctly configured Higress and related dependencies before running these commands.
|
||||
|
||||
**Feature Value**
|
||||
|
||||
These new features bring significant benefits to users, including:
|
||||
|
||||
- **Improved User Experience**: Through natural language interaction, the learning curve for users is reduced, making Higress management more intuitive and user-friendly.
|
||||
- **Simplified Configuration Process**: The `mcp add` command greatly simplifies the process of adding and configuring MCP services, reducing the complexity and error rate of manual operations.
|
||||
- **Enhanced System Stability**: With unified MCP service management, it is easier to monitor and maintain MCP traffic, improving the system's stability and reliability.
|
||||
- **Expanded Ecosystem**: These new features enable Higress to better support different types of MCP services, enhancing its competitiveness and ecosystem influence in the AI era.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Full Changelog
|
||||
|
||||
### 🚀 New Features (Features)
|
||||
|
||||
- **Related PR**: [#3126](https://github.com/alibaba/higress/pull/3126) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: Updated Envoy dependencies, supporting the setting of Redis call-related parameters via WASM, such as `buffer_flush_timeout` and `max_buffer_size_before_flush`. \
|
||||
**Feature Value**: This feature enhances the flexibility of the WASM plugin, allowing users to customize Redis client buffer behavior through URL query parameters, improving the convenience and efficiency of configuration management.
|
||||
|
||||
- **Related PR**: [#3123](https://github.com/alibaba/higress/pull/3123) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: Upgraded the Higress proxy version to v2.2.0, updated the Go toolchain and multiple dependency package versions, and added specific architecture build targets for golang-filter, fixing dependency issues related to MCP servers, OpenAI, and Milvus SDK. \
|
||||
**Feature Value**: This improvement enhances the overall performance and stability of Higress, supporting more architecture types and enhancing support for the latest technology stack. For users, this means broader compatibility, better security, and richer feature expansion possibilities.
|
||||
|
||||
- **Related PR**: [#3108](https://github.com/alibaba/higress/pull/3108) \
|
||||
**Contributor**: @wydream \
|
||||
**Change Log**: Added video-related API paths and capabilities, including constants, default capabilities, and regular expression path handling, enabling the proxy to correctly parse multiple video-related endpoints and updating the OpenAI provider to optimize support for these new endpoints. \
|
||||
**Feature Value**: By adding support for video-related APIs, this enhancement strengthens Higress's ability to manage AI services, particularly for applications that need to handle video content. This will make it easier for users to integrate and use advanced features involving video.
|
||||
|
||||
- **Related PR**: [#3071](https://github.com/alibaba/higress/pull/3071) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: The PR added an example of using the `inject_encoded_data_to_filter_chain_on_header` function, demonstrating how to add body data to a request when there is no response body. This was achieved by modifying README.md, go.mod, and other files. \
|
||||
**Feature Value**: This feature allows users to add body data to a request even when there is no response body, enhancing the API gateway's ability to handle requests flexibly and dynamically, especially when generating or modifying response content.
|
||||
|
||||
- **Related PR**: [#3067](https://github.com/alibaba/higress/pull/3067) \
|
||||
**Contributor**: @wydream \
|
||||
**Change Log**: This PR added support for vLLM as an AI provider in the Higress ai-proxy plugin, implementing multiple API interfaces compatible with OpenAI, including chat and text completion, model list display, and other functions. \
|
||||
**Feature Value**: By introducing vLLM as a new AI service provider, users can now directly access various AI capabilities provided by vLLM through the Higress proxy, such as generating text. This greatly enriches the availability of Higress in AI application scenarios and simplifies the integration process.
|
||||
|
||||
- **Related PR**: [#3060](https://github.com/alibaba/higress/pull/3060) \
|
||||
**Contributor**: @erasernoob \
|
||||
**Change Log**: This PR enhanced the `hgctl mcp` and `hgctl agent` commands to automatically obtain Higress Console credentials from installation configuration files and Kubernetes secrets, optimizing the user experience. \
|
||||
**Feature Value**: This feature reduces the steps required for users to manually enter credentials, improving operational convenience and security, especially when Higress is installed via `hgctl`. It is a significant usability improvement for users.
|
||||
|
||||
- **Related PR**: [#3043](https://github.com/alibaba/higress/pull/3043) \
|
||||
**Contributor**: @2456868764 \
|
||||
**Change Log**: This PR fixed the issue of incorrect default port for Milvus and added Python example code to the README.md. The port issue was resolved by modifying the `match_rule_domain` field in the configuration file, and usage guidance was provided. \
|
||||
**Feature Value**: This fix resolves the port configuration issue that could lead to service failure, enhancing the practicality of the documentation. It provides a specific Python example to help users understand and quickly get started with the plugin functionality.
|
||||
|
||||
- **Related PR**: [#3040](https://github.com/alibaba/higress/pull/3040) \
|
||||
**Contributor**: @victorserbu2709 \
|
||||
**Change Log**: This PR added the ApiNameAnthropicMessages feature for Anthropic and supported configuring the Anthropique provider without setting `protocol=original`, allowing `/v1/messages` requests to be directly forwarded to Anthropic, while `/v1/chat/completion` requests convert the OpenAI format message body to a Claude-compatible format. \
|
||||
**Feature Value**: By adding support for the Anthropic messages API, this feature enhances Higress's ability to manage different types of AI services. Users can now more flexibly use services provided by Anthropic, especially when interacting with Claude, increasing the platform's diversity and flexibility.
|
||||
|
||||
- **Related PR**: [#3038](https://github.com/alibaba/higress/pull/3038) \
|
||||
**Contributor**: @Libres-coder \
|
||||
**Change Log**: Added the `list-plugin-instances` tool, allowing AI proxies to query plugin instances within a specific scope using the MCP protocol. This PR added two new functions to the MCP Server and updated the relevant documentation. \
|
||||
**Feature Value**: This feature enables users to more conveniently manage plugin configurations in Higress, enhancing the system's manageability and transparency, especially when checking or adjusting the status of plugins within a specific scope.
|
||||
|
||||
- **Related PR**: [#3032](https://github.com/alibaba/higress/pull/3032) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: This PR enabled Qwen compatibility mode by default and added missing API endpoints, including AsyncAIGC, AsyncTask, and V1Rerank, to provide more comprehensive API coverage. \
|
||||
**Feature Value**: By enabling compatibility mode by default and filling in API endpoint gaps, this feature enhances the out-of-the-box experience for users and strengthens Higress's support for Qwen AI services, making it easier for developers to integrate and use Qwen-related features.
|
||||
|
||||
- **Related PR**: [#3029](https://github.com/alibaba/higress/pull/3029) \
|
||||
**Contributor**: @victorserbu2709 \
|
||||
**Change Log**: Added support for `v1/responses` in the groq provider, specifically by introducing new response handling logic. \
|
||||
**Feature Value**: This new feature supports better management and utilization of the services provided by the groq plugin, enhancing the flexibility and completeness of API management.
|
||||
|
||||
- **Related PR**: [#3024](https://github.com/alibaba/higress/pull/3024) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: Added malicious URL and model hallucination detection to ensure the security of AI-generated content; also adjusted specific configurations at the consumer level to better adapt to different scenario needs. \
|
||||
**Feature Value**: By adding detection for malicious URLs and model hallucinations, this feature enhances the security and accuracy of Higress in handling AI-generated content, helping to protect users from potential threats. Additionally, the adjusted consumer-level configurations enhance the system's flexibility and adaptability.
|
||||
|
||||
- **Related PR**: [#3008](https://github.com/alibaba/higress/pull/3008) \
|
||||
**Contributor**: @hellocn9 \
|
||||
**Change Log**: This PR added support for custom parameter names for MCP SSE stateful sessions. By adding the `higress.io/mcp-sse-stateful-param-name` annotation in the ingress configuration, users can specify their own parameter names. \
|
||||
**Feature Value**: This feature allows users to flexibly set the parameter names for MCP SSE stateful sessions according to their needs, improving configuration flexibility and user experience. This makes Higress better suited for diverse application scenarios.
|
||||
|
||||
- **Related PR**: [#3006](https://github.com/alibaba/higress/pull/3006) \
|
||||
**Contributor**: @SaladDay \
|
||||
**Change Log**: This PR added Secret reference support for Redis configuration in the MCP Server, allowing Redis passwords to be stored in Kubernetes Secrets, enhancing security, and modified the relevant documentation and test code. \
|
||||
**Feature Value**: By storing Redis passwords in Kubernetes Secrets instead of writing them in plaintext in ConfigMaps, this improvement enhances system security. Users can more securely manage sensitive information, reducing the risk of password leaks.
|
||||
|
||||
- **Related PR**: [#2992](https://github.com/alibaba/higress/pull/2992) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: This PR modified the authentication logic in the `key_auth` plugin, logging the consumer name in the logs even if the access is not authorized. By adding logging of consumer identification during the authentication and authorization process, it enhances the observability of the system. \
|
||||
**Feature Value**: This feature improves the efficiency of system monitoring and troubleshooting, allowing operations personnel to clearly understand the source of requests, even if they are not authorized, thus better diagnosing issues and conducting security audits.
|
||||
|
||||
- **Related PR**: [#2978](https://github.com/alibaba/higress/pull/2978) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: After determining the consumer name, it adds the consumer name to the request header regardless of whether the authentication is successful, for subsequent processing. \
|
||||
**Feature Value**: This feature enhances the ability to track consumer behavior, helping to better understand API call patterns and consumer activity, thus providing a more personalized service experience for users.
|
||||
|
||||
- **Related PR**: [#2968](https://github.com/alibaba/higress/pull/2968) \
|
||||
**Contributor**: @2456868764 \
|
||||
**Change Log**: Added vector database mapping functionality, introducing a field mapping system and index configuration management mechanism, supporting various index types such as HNSW, IVF, SCANN, etc., to improve system flexibility and adaptability. \
|
||||
**Feature Value**: By providing flexible field mapping and rich index configuration options, this feature enhances support for different vector databases, simplifying the process for developers to integrate various storage solutions and improving the user experience.
|
||||
|
||||
- **Related PR**: [#2943](https://github.com/alibaba/higress/pull/2943) \
|
||||
**Contributor**: @Guo-Chenxu \
|
||||
**Change Log**: This PR added the ability to support custom system prompts when generating release notes, achieved by modifying the GitHub Actions workflow file. \
|
||||
**Feature Value**: This feature allows users to add personalized system prompts when generating release notes, enhancing the flexibility and practicality of the release notes and better meeting the needs of different projects.
|
||||
|
||||
- **Related PR**: [#2942](https://github.com/alibaba/higress/pull/2942) \
|
||||
**Contributor**: @2456868764 \
|
||||
**Change Log**: Fixed the handling logic when the LLM provider is empty and optimized the document structure and content, adding detailed introductions to MCP tools. \
|
||||
**Feature Value**: This improvement enhances the robustness of the system when LLM configuration is missing, enhancing the user's understanding and experience with MCP tools, making it clearer for users to understand the functions and configuration requirements of different tools.
|
||||
|
||||
- **Related PR**: [#2916](https://github.com/alibaba/higress/pull/2916) \
|
||||
**Contributor**: @imp2002 \
|
||||
**Change Log**: Implemented Nginx migration to MCP servers and provided 7 MCP tools to automate the migration process from Nginx configuration/Lua plugins to Higress, including important features such as configuration conversion. \
|
||||
**Feature Value**: This feature greatly simplifies the effort required for users to migrate from Nginx to Higress, providing a complete set of tools to make the migration process smoother and more efficient, helping users adopt Higress as their API gateway solution more quickly.
|
||||
|
||||
### 🐛 Bug Fixes (Bug Fixes)
|
||||
|
||||
- **Related PR**: [#3120](https://github.com/alibaba/higress/pull/3120) \
|
||||
**Contributor**: @lexburner \
|
||||
**Change Log**: Adjusted the log level in the ai-proxy component, specifically in the `wasm-go/extensions/ai-proxy/provider/qwen.go` file, reducing unnecessary warning messages. \
|
||||
**Feature Value**: By lowering the log level in specific parts, this change reduces redundant warning messages during system operation, improving the efficiency of developers and operations personnel in viewing logs, allowing them to focus more on actual errors or important information.
|
||||
|
||||
- **Related PR**: [#3119](https://github.com/alibaba/higress/pull/3119) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: Updated the Istio dependency and replaced `reqChan` and `deltaReqChan` in the Connection with `channels.Unbounded` to prevent deadlock issues caused by HTTP2 flow control. \
|
||||
**Feature Value**: By resolving the deadlock issue caused by HTTP2 flow control, this improvement ensures that client requests and ACK requests can be processed normally without blocking, enhancing the stability and response speed of the system.
|
||||
|
||||
- **Related PR**: [#3118](https://github.com/alibaba/higress/pull/3118) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: This PR fixed the issue where port-level policies unconditionally overwrite existing configurations converted from Ingress annotations. By adding nil checks before setting `policy.Tls` and `policy.LoadBalancer`, it avoids overwriting existing configurations. \
|
||||
**Feature Value**: This fix resolves the unexpected configuration overwrite issue caused by TLS and load balancer settings in DestinationRule, ensuring that user-defined Ingress annotation configurations are correctly retained and applied, enhancing the stability and reliability of the system.
|
||||
|
||||
- **Related PR**: [#3095](https://github.com/alibaba/higress/pull/3095) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: Fixed the issue of usage information being lost during the `claude2openai` conversion process and added the `index` field in the bedrock streaming tool response to ensure data integrity and accuracy. \
|
||||
**Feature Value**: This fix enhances the system's data integrity when handling API conversions, ensuring that users can accurately obtain all necessary usage information, especially in the case of streaming responses, by introducing the `index` field to enhance response management flexibility.
|
||||
|
||||
- **Related PR**: [#3084](https://github.com/alibaba/higress/pull/3084) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: Fixed the issue where the `include_usage: true` flag was not correctly included when converting Claude requests to OpenAI requests, ensuring that usage information is properly passed in streaming response mode. \
|
||||
**Feature Value**: This fix allows users to receive more accurate resource usage feedback when using streaming APIs, enhancing the accuracy of resource consumption monitoring.
|
||||
|
||||
- **Related PR**: [#3074](https://github.com/alibaba/higress/pull/3074) \
|
||||
**Contributor**: @Jing-ze \
|
||||
**Change Log**: This PR added a check for `Content-Encoding` in the `log-request-response` plugin to avoid logging compressed request/response bodies, which can result in garbled log entries. \
|
||||
**Feature Value**: By improving the logging mechanism to prevent unreadable log entries, this change enhances the efficiency and accuracy of system operations personnel in troubleshooting issues.
|
||||
|
||||
- **Related PR**: [#3069](https://github.com/alibaba/higress/pull/3069) \
|
||||
**Contributor**: @Libres-coder \
|
||||
**Change Log**: This PR fixed an issue in the CI testing framework where e2e tests failed due to the `go.mod` file not being correctly updated. By adding the `go mod tidy` command in the `prebuild.sh` script, it ensures that the `go.mod` in the root directory is also updated. \
|
||||
**Feature Value**: This fix resolves the CI test failure issue that all PRs triggering end-to-end testing of the wasm plugin might encounter, ensuring the stability of the build and test process and improving the developer experience.
|
||||
|
||||
- **Related PR**: [#3010](https://github.com/alibaba/higress/pull/3010) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: Fixed the issue of parsing failures in bedrock responses due to unpacking problems and adjusted the `maxtoken` conversion logic to ensure the accuracy and integrity of event stream processing. \
|
||||
**Feature Value**: This fix resolves the data parsing error issue encountered by users when using bedrock services, enhancing the stability and user experience of the system. By optimizing boundary condition handling, it ensures the consistency of data transmission.
|
||||
|
||||
- **Related PR**: [#2997](https://github.com/alibaba/higress/pull/2997) \
|
||||
**Contributor**: @hanxiantao \
|
||||
**Change Log**: Optimized the cluster rate limiting and AI token rate limiting logic, changing to cumulative counting of request counts and token usage, avoiding reset of counters when changing rate limit values. \
|
||||
**Feature Value**: By improving the rate limiting mechanism, this change ensures that the system can accurately track and limit request traffic even after changing the rate limit thresholds, thereby enhancing the stability and reliability of the system.
|
||||
|
||||
- **Related PR**: [#2988](https://github.com/alibaba/higress/pull/2988) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: This PR fixed the JSON formatting error in the `jsonrpc-converter`, switching to using raw JSON data to avoid data parsing issues caused by string formatting. \
|
||||
**Feature Value**: By correcting the JSON handling method, this change ensures the accuracy and consistency of data transmission, enhancing the stability and reliability of the system and reducing potential issues caused by data format errors.
|
||||
|
||||
- **Related PR**: [#2973](https://github.com/alibaba/higress/pull/2973) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: Fixed the issue where the Higress 2.1.8 version did not support an empty `match_rule_domain` by using a wildcard to match all domains, eliminating compatibility risks. \
|
||||
**Feature Value**: This fix ensures that the generation of MCP server configurations is backward-compatible with older versions, avoiding service interruptions or behavioral anomalies due to configuration errors, enhancing the stability and user experience of the system.
|
||||
|
||||
- **Related PR**: [#2952](https://github.com/alibaba/higress/pull/2952) \
|
||||
**Contributor**: @Erica177 \
|
||||
**Change Log**: Corrected the JSON tag for the `Id` field in the `ToolSecurity` struct, changing it from `type` to `id`, to ensure correct serialization. \
|
||||
**Feature Value**: This fix ensures the correctness of the `ToolSecurity` struct during data transmission, avoiding data parsing issues caused by incorrect field tags, enhancing the stability and user experience of the system.
|
||||
|
||||
- **Related PR**: [#2948](https://github.com/alibaba/higress/pull/2948) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: Fixed the handling issue with the Azure OpenAI Response API and the service URL type detection logic, including adding support for custom full paths and improving streaming event parsing. \
|
||||
**Feature Value**: This enhancement improves support for Azure OpenAI services, enhancing the accuracy and efficiency of API response handling, allowing users to more stably use Azure OpenAI-related features.
|
||||
|
||||
- **Related PR**: [#2941](https://github.com/alibaba/higress/pull/2941) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: This PR fixed the compatibility issue between the `ai-security-guard` plugin and old configurations, by adjusting the relevant code in the `main.go` file to ensure backward compatibility. \
|
||||
**Feature Value**: This fix resolves the compatibility issue caused by configuration updates, allowing users with old configurations to seamlessly transition to the new version, enhancing the user experience and stability of the system.
|
||||
|
||||
### ♻️ Refactoring Optimizations (Refactoring)
|
||||
|
||||
- **Related PR**: [#3113](https://github.com/alibaba/higress/pull/3113) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: This PR implemented a hash cache for Protobuf messages, using the xxHash algorithm for recursive hash calculation and handling `google.protobuf.Any` types and deterministically sorted map fields specially, optimizing LDS performance. \
|
||||
**Feature Value**: This change significantly improves the efficiency of Envoy in handling large-scale configuration updates, reducing performance overhead due to repeated serialization. In environments with frequent changes or large-scale deployments, it accelerates the propagation of configurations and enhances system responsiveness.
|
||||
|
||||
- **Related PR**: [#2945](https://github.com/alibaba/higress/pull/2945) \
|
||||
**Contributor**: @rinfx \
|
||||
**Change Log**: Optimized the Lua script logic for selecting pods with the global minimum number of requests in `ai-load-balancer`, improving request distribution efficiency by adjusting the health check mechanism and load balancing strategy. \
|
||||
**Feature Value**: This change enhances the fairness and efficiency of the AI load balancer in handling requests, reducing the service response time extension caused by a single node being overloaded, positively impacting the overall system stability and user experience.
|
||||
|
||||
### 📚 Documentation Updates (Documentation)
|
||||
|
||||
- **Related PR**: [#2965](https://github.com/alibaba/higress/pull/2965) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: Updated the description of `azureServiceUrl` in the ai-proxy README file, adding detailed information about the use of this parameter to help users better understand and configure it. \
|
||||
**Feature Value**: By providing a more detailed description of the `azureServiceUrl` parameter, this change improves the user experience, making it easier for users to correctly configure settings according to the documentation, thus avoiding potential usage errors.
|
||||
|
||||
### 🧪 Testing Improvements (Testing)
|
||||
|
||||
- **Related PR**: [#3110](https://github.com/alibaba/higress/pull/3110) \
|
||||
**Contributor**: @Jing-ze \
|
||||
**Change Log**: This PR added the `CODECOV_TOKEN` environment variable configuration in the GitHub Actions workflow to ensure that Codecov can correctly authenticate and upload code coverage data. \
|
||||
**Feature Value**: By adding the `CODECOV_TOKEN` environment variable, this improvement enhances the security and reliability of the CI/CD process, ensuring the accuracy and completeness of code coverage reports, which helps in maintaining project quality.
|
||||
|
||||
- **Related PR**: [#3097](https://github.com/alibaba/higress/pull/3097) \
|
||||
**Contributor**: @johnlanni \
|
||||
**Change Log**: This PR added unit tests for the mcp-server, adding a total of 2766 lines of code, primarily in the `main_test.go` file, enhancing the test coverage of the mcp-server. \
|
||||
**Feature Value**: By adding unit tests, this improvement enhances the stability and reliability of the mcp-server module, ensuring that new features or fixes do not introduce new issues. For users, this improves the overall quality assurance and user experience of Higress.
|
||||
|
||||
- **Related PR**: [#2998](https://github.com/alibaba/higress/pull/2998) \
|
||||
**Contributor**: @Patrisam \
|
||||
**Change Log**: This PR implemented end-to-end test cases for Cloudflare, enhancing the test coverage of the Higress project. By adding new test logic and configurations in `go-wasm-ai-proxy.go` and `go-wasm-ai-proxy.yaml`, it improved system integration. \
|
||||
**Feature Value**: The newly added Cloudflare e2e test cases help ensure the compatibility and stability between Higress and Cloudflare services, greatly enhancing the confidence of users who use or plan to use Cloudflare as part of their network infrastructure.
|
||||
|
||||
- **Related PR**: [#2980](https://github.com/alibaba/higress/pull/2980) \
|
||||
**Contributor**: @Jing-ze \
|
||||
**Change Log**: Enhanced the CI workflow for WASM plugin unit tests, adding coverage display functionality and setting an 80% coverage threshold. \
|
||||
**Feature Value**: This improvement enhances the quality and transparency of the testing process, ensuring that the WASM plugin meets a certain code coverage standard, which helps in identifying potential issues and improving code reliability.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Release Statistics
|
||||
|
||||
- 🚀 New Features: 23
|
||||
- 🐛 Bug Fixes: 14
|
||||
- ♻️ Refactoring Optimizations: 2
|
||||
- 📚 Documentation Updates: 1
|
||||
- 🧪 Testing Improvements: 4
|
||||
|
||||
**Total**: 44 changes (including 3 key updates)
|
||||
|
||||
Thank you to all contributors for your hard work! 🎉
|
||||
|
||||
# Higress Console
|
||||
|
||||
|
||||
## 📋 Overview of This Release
|
||||
|
||||
This release includes **18** updates, covering enhancements, bug fixes, and performance optimizations.
|
||||
|
||||
### Update Distribution
|
||||
|
||||
- **New Features**: 7 items
|
||||
- **Bug Fixes**: 10 items
|
||||
- **Documentation Updates**: 1 item
|
||||
|
||||
---
|
||||
|
||||
## 📝 Complete Changelog
|
||||
|
||||
### 🚀 New Features (Features)
|
||||
|
||||
- **Related PR**: [#621](https://github.com/higress-group/higress-console/pull/621) \
|
||||
**Contributor**: @Thomas-Eliot \
|
||||
**Change Log**: This PR enhances the interaction capabilities of the MCP Server, including rewriting the header host, modifying the interaction method to support transport selection, and improving DSN character handling logic to support the special character @. \
|
||||
**Feature Value**: These improvements allow users to configure and use the MCP Server more flexibly, especially in direct routing scenarios, where DNS addresses and service paths can be handled better, enhancing system flexibility and usability.
|
||||
|
||||
- **Related PR**: [#612](https://github.com/higress-group/higress-console/pull/612) \
|
||||
**Contributor**: @zhwaaaaaa \
|
||||
**Change Log**: Added handling to ignore hop-by-hop headers in DashboardServiceImpl, preventing headers like `Transfer-Encoding: chunked` from being mistakenly passed. \
|
||||
**Feature Value**: By correctly handling hop-by-hop headers, it ensures that the Grafana page works properly in environments with reverse proxy servers, improving system compatibility and user experience.
|
||||
|
||||
- **Related PR**: [#608](https://github.com/higress-group/higress-console/pull/608) \
|
||||
**Contributor**: @Libres-coder \
|
||||
**Change Log**: This PR adds plugin display support to the AI route management page, allowing users to expand AI route rows to view enabled plugins and see the "Enabled" label on the configuration page. \
|
||||
**Feature Value**: Enhances AI route management by enabling users to manage AI-related plugin states more intuitively, improving user experience and operational convenience.
|
||||
|
||||
- **Related PR**: [#604](https://github.com/higress-group/higress-console/pull/604) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: This PR introduces the feature of using the `higress.io/rewrite-target` annotation for path rewriting, supporting regular expressions, and enhancing the flexibility of path configuration. \
|
||||
**Feature Value**: By adding the ability to rewrite paths based on regular expressions, users can control and transform request paths more flexibly, enhancing the routing processing capability of the Higress gateway and meeting the needs of more scenarios.
|
||||
|
||||
- **Related PR**: [#603](https://github.com/higress-group/higress-console/pull/603) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: This PR displays a fixed service port 80 for static service sources, implemented by hardcoding this value in the frontend component. \
|
||||
**Feature Value**: Users can more intuitively see and understand the default port number specific to static service sources, enhancing the clarity and user experience of the UI.
|
||||
|
||||
- **Related PR**: [#602](https://github.com/higress-group/higress-console/pull/602) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: This PR adds a search function to the frontend page, allowing users to search when selecting upstream services for AI routes, improving the user experience. \
|
||||
**Feature Value**: This feature enables users to find the required upstream services more quickly and accurately, simplifying the configuration process and improving operational efficiency.
|
||||
|
||||
- **Related PR**: [#566](https://github.com/higress-group/higress-console/pull/566) \
|
||||
**Contributor**: @OuterCyrex \
|
||||
**Change Log**: This PR adds support for custom Qwen services, including enabling internet search and uploading file IDs. The main changes are in the backend SDK and frontend UI. \
|
||||
**Feature Value**: By supporting custom Qwen services, users can configure AI services more flexibly, such as using specific internet search features or specifying file IDs, thus meeting more personalized needs.
|
||||
|
||||
### 🐛 Bug Fixes (Bug Fixes)
|
||||
|
||||
- **Related PR**: [#620](https://github.com/higress-group/higress-console/pull/620) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: Fixed a spelling error in the sortWasmPluginMatchRules logic, ensuring correct sorting of match rules. \
|
||||
**Feature Value**: Fixing this spelling error improves the reliability and readability of the code, ensuring that Wasm plugin match rules work as expected and reducing potential runtime errors.
|
||||
|
||||
- **Related PR**: [#619](https://github.com/higress-group/higress-console/pull/619) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: This PR removes version information from the data JSON during the conversion from AiRoute to ConfigMap, as this information is already saved in the ConfigMap metadata. \
|
||||
**Feature Value**: By removing redundant data, it improves the consistency and simplicity of the configuration, reducing potential data conflicts and inconsistencies.
|
||||
|
||||
- **Related PR**: [#618](https://github.com/higress-group/higress-console/pull/618) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: This PR refactors the API authentication logic in SystemController to eliminate existing security vulnerabilities. It adds the AllowAnonymous annotation and adjusts the ApiStandardizationAspect class to ensure a more secure system. \
|
||||
**Feature Value**: This fix enhances the security of the system, preventing unauthorized access and potential security threats, improving user experience and trust.
|
||||
|
||||
- **Related PR**: [#617](https://github.com/higress-group/higress-console/pull/617) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: Fixed frontend console errors, including missing key attributes for list elements, image loading failures due to CSP policy restrictions, and incorrect type for the Consumer.name field. \
|
||||
**Feature Value**: Resolved multiple frontend issues encountered by users, improving the user experience and ensuring the stability and security of the application.
|
||||
|
||||
- **Related PR**: [#614](https://github.com/higress-group/higress-console/pull/614) \
|
||||
**Contributor**: @lc0138 \
|
||||
**Change Log**: This PR corrects the type of the type field in the ServiceSource class and adds dictionary value validation to ensure data accuracy. \
|
||||
**Feature Value**: By fixing the service source type error, it improves the data consistency and reliability of the system, reducing potential issues caused by type mismatches.
|
||||
|
||||
- **Related PR**: [#613](https://github.com/higress-group/higress-console/pull/613) \
|
||||
**Contributor**: @lc0138 \
|
||||
**Change Log**: This PR fixes CSP and other security risk issues by adding 15 lines of code to the frontend document.tsx file. \
|
||||
**Feature Value**: It resolves security risks related to Content Security Policy, enhancing the security level of the application and protecting users from potential security threats.
|
||||
|
||||
- **Related PR**: [#611](https://github.com/higress-group/higress-console/pull/611) \
|
||||
**Contributor**: @qshuai \
|
||||
**Change Log**: Corrected a description error in the LlmProvidersController.java file regarding the new route API, changing the title from 'Add a new route' to 'Ad'. \
|
||||
**Feature Value**: This fix addresses misleading information in the API documentation, ensuring developers can accurately understand the API's functionality, improving the development experience and reducing potential misuse.
|
||||
|
||||
- **Related PR**: [#609](https://github.com/higress-group/higress-console/pull/609) \
|
||||
**Contributor**: @CH3CHO \
|
||||
**Change Log**: Fixed the type error for the Consumer.name field, changing its type from boolean to string. \
|
||||
**Feature Value**: This fix ensures the data consistency and accuracy of the Consumer.name field, avoiding data handling issues caused by type errors and improving system stability and user experience.
|
||||
|
||||
- **Related PR**: [#605](https://github.com/higress-group/higress-console/pull/605) \
|
||||
**Contributor**: @SaladDay \
|
||||
**Change Log**: Corrected the AI route name validation rules to support dot characters and unified case restrictions and interface prompts. Additionally, updated error messages in a multilingual environment. \
|
||||
**Feature Value**: Resolves inconsistencies encountered by users when setting AI route names, improving the user experience and system usability, ensuring information consistency and accuracy.
|
||||
|
||||
- **Related PR**: [#552](https://github.com/higress-group/higress-console/pull/552) \
|
||||
**Contributor**: @lcfang \
|
||||
**Change Log**: This PR adds the vport attribute to address compatibility issues caused by inconsistent service instance ports and provides an optional configuration for virtual ports during registration center setup. \
|
||||
**Feature Value**: By introducing the vport attribute, users can handle backend instance port changes more flexibly, avoiding service routing failures due to port changes, enhancing system stability and flexibility.
|
||||
|
||||
### 📚 Documentation Updates (Documentation)
|
||||
|
||||
- **Related PR**: [#610](https://github.com/higress-group/higress-console/pull/610) \
|
||||
**Contributor**: @heimanba \
|
||||
**Change Log**: This PR updates the documentation configuration for the frontend gray-scale plugin, including modifying the description of required fields, updating associated rules, and synchronizing the content in both Chinese and English README and spec.yaml files. \
|
||||
**Feature Value**: By adjusting the documentation configuration requirements and descriptions, it enhances the flexibility and compatibility of the configuration, making it easier for users to understand and use the frontend gray-scale plugin features.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Release Statistics
|
||||
|
||||
- 🚀 New Features: 7 items
|
||||
- 🐛 Bug Fixes: 10 items
|
||||
- 📚 Documentation Updates: 1 item
|
||||
|
||||
**Total**: 18 changes
|
||||
|
||||
Thank you to all contributors for their hard work! 🎉
|
||||
|
||||
496
release-notes/2.1.9/README_ZH.md
Normal file
496
release-notes/2.1.9/README_ZH.md
Normal file
@@ -0,0 +1,496 @@
|
||||
# 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)
|
||||
|
||||
**使用背景**
|
||||
|
||||
随着AI原生API网关Higress的发展,用户对API安全性、灵活性以及易用性的要求越来越高。在实际应用中,MCP(Model Context Protocol)协议被广泛用于管理和调用AI模型。然而,现有的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服务器的压力。这些改进共同作用于提升整个生态系统的稳定性和用户体验,为Higress成为AI时代不可或缺的API网关奠定了坚实基础。
|
||||
|
||||
---
|
||||
|
||||
### 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`子命令可以方便地将远程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项更改
|
||||
|
||||
感谢所有贡献者的辛勤付出!🎉
|
||||
|
||||
|
||||
Reference in New Issue
Block a user