Files
higress/release-notes/2.2.0/README.md
2026-02-10 14:01:23 +00:00

504 lines
47 KiB
Markdown

# Higress
## 📋 Overview of This Release
This release includes **92** updates, covering enhancements, bug fixes, performance optimizations, and more.
### Update Distribution
- **New Features**: 48
- **Bug Fixes**: 20
- **Refactoring and Optimization**: 3
- **Documentation Updates**: 20
- **Testing Improvements**: 1
---
## 📝 Full Changelog
### 🚀 New Features (Features)
- **Related PR**: [#3459](https://github.com/alibaba/higress/pull/3459) \
**Contributor**: @johnlanni \
**Change Log**: This PR adds the `claudeCodeMode` configuration option, enabling the system to simulate Claude Code client request formats, supporting specific OAuth token authentication mechanisms and special headers and parameters. \
**Feature Value**: Adding support for Claude Code mode greatly expands the ability to interact with the Anthropic Claude API, allowing users to use OAuth tokens more flexibly for authentication, thereby enhancing the security and compatibility of API calls.
- **Related PR**: [#3455](https://github.com/alibaba/higress/pull/3455) \
**Contributor**: @EndlessSeeker \
**Change Log**: This PR updates the git submodules, including upgrading Envoy and go-control-plane versions, and syncing Istio to the latest go-control-plane version. \
**Feature Value**: By updating key dependencies to the latest versions, this enhances the system's security and performance stability, providing a more reliable service experience for users.
- **Related PR**: [#3438](https://github.com/alibaba/higress/pull/3438) \
**Contributor**: @johnlanni \
**Change Log**: Adjusted the documentation structure and created a dedicated Clawdbot plugin directory to achieve true compatibility with Clawdbot. Includes new configuration files and example code. \
**Feature Value**: By improving the skill integration process, users can configure plugins more smoothly while ensuring full compatibility with Clawdbot, enhancing user experience and system flexibility.
- **Related PR**: [#3437](https://github.com/alibaba/higress/pull/3437) \
**Contributor**: @johnlanni \
**Change Log**: This PR integrates the higress-ai-gateway plugin into the higress-clawdbot-integration skill, including moving and renaming related files and updating documentation to simplify the user installation and configuration process. \
**Feature Value**: By integrating the Higress AI Gateway plugin into Clawbot/OpenClaw skills, users can more easily manage and use the AI gateway, thereby enhancing development efficiency and user experience.
- **Related PR**: [#3436](https://github.com/alibaba/higress/pull/3436) \
**Contributor**: @johnlanni \
**Change Log**: This PR updates the SKILL provider list for Higress-OpenClaw integration and migrates the OpenClaw plugin package from higress-standalone to the main repository, enhancing support for commonly used providers. \
**Feature Value**: By enhancing the provider list and migrating the plugin package, this improves the availability and flexibility of Higress-OpenClaw integration, making it easier for users to use their preferred AI services.
- **Related PR**: [#3428](https://github.com/alibaba/higress/pull/3428) \
**Contributor**: @johnlanni \
**Change Log**: Added two skills, higress-auto-router and higress-clawdbot-integration, to support natural language configuration for automatic model routing and integrated deployment of Higress AI Gateway with Clawdbot. \
**Feature Value**: These new features allow users to more easily manage and configure the AI gateway, improving operational efficiency and system flexibility, especially suitable for applications requiring frequent route rule adjustments or multi-language support.
- **Related PR**: [#3427](https://github.com/alibaba/higress/pull/3427) \
**Contributor**: @johnlanni \
**Change Log**: Added the `use_default_attributes` configuration option, allowing the ai-statistics plugin to automatically apply a set of default attributes, simplifying the user configuration process. \
**Feature Value**: By providing default attribute configurations, this reduces the initial setup burden for users, making the plugin more user-friendly while maintaining the possibility for advanced customization, enhancing the user experience.
- **Related PR**: [#3426](https://github.com/alibaba/higress/pull/3426) \
**Contributor**: @johnlanni \
**Change Log**: This PR adds an Agent Session Monitor skill for LLM usage in the Higress environment, implementing real-time session monitoring and log analysis. \
**Feature Value**: This feature enhances the visibility of model usage during multi-turn conversations, helping users better understand and optimize LLM performance in practical scenarios.
- **Related PR**: [#3424](https://github.com/alibaba/higress/pull/3424) \
**Contributor**: @johnlanni \
**Change Log**: This PR adds support for recording detailed token usage information in the ai-statistics plugin, including new built-in attribute keys reasoning_tokens and cached_tokens. \
**Feature Value**: By providing more detailed token usage reports, users can better understand resource consumption during AI processing, helping to optimize costs and performance.
- **Related PR**: [#3420](https://github.com/alibaba/higress/pull/3420) \
**Contributor**: @johnlanni \
**Change Log**: Added session ID tracking functionality, supporting the retrieval of session IDs through custom or default headers to track multi-turn conversations. \
**Feature Value**: This feature allows users to better track and analyze behavior in multi-turn conversations, enhancing the performance and user experience of chatbots.
- **Related PR**: [#3417](https://github.com/alibaba/higress/pull/3417) \
**Contributor**: @johnlanni \
**Change Log**: Added prominent warnings for unsupported configuration snippets and provided pre-migration check commands to identify affected Ingress resources, while also updating annotation mappings in the documentation. \
**Feature Value**: By providing critical warnings and guidance, this helps users avoid potential issues when migrating from Nginx to Higress, ensuring a smoother and safer migration process.
- **Related PR**: [#3411](https://github.com/alibaba/higress/pull/3411) \
**Contributor**: @johnlanni \
**Change Log**: Added a set of skills for migrating from ingress-nginx to Higress, including compatibility analysis scripts, migration test script generation, and WASM plugin framework generation tools. \
**Feature Value**: This provides users with a convenient way to seamlessly migrate existing ingress-nginx configurations to Higress, reducing the difficulty and risk of migration and enhancing the user experience.
- **Related PR**: [#3409](https://github.com/alibaba/higress/pull/3409) \
**Contributor**: @johnlanni \
**Change Log**: This PR adds the `contextCleanupCommands` configuration option to the ai-proxy plugin, allowing users to define commands for cleaning up conversation context. When a user message exactly matches any of the predefined cleanup commands, all non-system messages prior to that command are cleared. \
**Feature Value**: By introducing customizable context cleanup commands, users can actively manage conversation history, which helps maintain clarity and enhances the user experience. This feature is particularly useful for applications requiring frequent conversation resets, significantly improving flexibility and practicality.
- **Related PR**: [#3404](https://github.com/alibaba/higress/pull/3404) \
**Contributor**: @johnlanni \
**Change Log**: Introduced a community governance daily report generation feature using the Claude AI assistant to automatically track and summarize project activities, including new issues/PRs and comment dynamics. \
**Feature Value**: This feature enhances the transparency and efficiency of community governance, helping members stay informed about project progress through daily reports, promoting issue resolution and experience sharing.
- **Related PR**: [#3403](https://github.com/alibaba/higress/pull/3403) \
**Contributor**: @johnlanni \
**Change Log**: Added an automatic model routing feature based on user message content, using regex rules to analyze content and decide which model to use. \
**Feature Value**: This feature enables the gateway to intelligently select the most appropriate processing model based on user input, significantly enhancing the user experience and system flexibility.
- **Related PR**: [#3402](https://github.com/alibaba/higress/pull/3402) \
**Contributor**: @johnlanni \
**Change Log**: Added a Claude skill for developing Higress WASM plugins using Go 1.24+, with detailed documentation and examples provided. \
**Feature Value**: This provides developers with a new way to create, modify, or debug Higress gateway plugins, particularly useful for HTTP request-response handling, enhancing development efficiency.
- **Related PR**: [#3394](https://github.com/alibaba/higress/pull/3394) \
**Contributor**: @changsci \
**Change Log**: This PR implements the functionality to retrieve API keys from request headers when `provider.apiTokens` is not configured. It modifies the relevant code in the wasm-go plugin to add support for OpenAI services. \
**Feature Value**: This enhances the flexibility and usability of the system, allowing users to use the service even without explicitly configuring API tokens, simplifying the setup process and enhancing the user experience.
- **Related PR**: [#3384](https://github.com/alibaba/higress/pull/3384) \
**Contributor**: @ThxCode-Chen \
**Change Log**: This PR adds support for upstream IPv6 static addresses in the watcher.go file, modifying the service entry generation logic to accommodate the new network configuration. \
**Feature Value**: By supporting upstream IPv6 static addresses, users can more flexibly configure network environments, especially in scenarios requiring IPv6 communication, improving system compatibility and availability.
- **Related PR**: [#3375](https://github.com/alibaba/higress/pull/3375) \
**Contributor**: @wydream \
**Change Log**: This PR adds support for Vertex Raw mode in the Vertex AI Provider of the ai-proxy plugin, enabling the getAccessToken mechanism when accessing native Vertex REST APIs via Vertex. \
**Feature Value**: The newly added Vertex Raw mode support allows users to directly call third-party models or other non-standard API paths on Vertex AI while enjoying automatic OAuth authentication, enhancing the user experience and flexibility.
- **Related PR**: [#3367](https://github.com/alibaba/higress/pull/3367) \
**Contributor**: @rinfx \
**Change Log**: This PR updates the wasm-go dependency and introduces Foreign Function, allowing Wasm plugins to perceive the Envoy host's log level in real-time, optimizing the logging process. \
**Feature Value**: By performing log level checks in advance, this avoids unnecessary memory operations, enhancing performance and resource utilization, especially important for applications that prioritize efficiency and performance.
- **Related PR**: [#3342](https://github.com/alibaba/higress/pull/3342) \
**Contributor**: @Aias00 \
**Change Log**: This PR implements the mapping of Nacos instance weights to Istio WorkloadEntry weights, using the math library for conversion and adding extensive test cases to ensure correctness. \
**Feature Value**: This enhancement allows users to more flexibly control traffic distribution strategies between services, especially when using Istio as a service mesh, enabling better weight-based service discovery and routing.
- **Related PR**: [#3335](https://github.com/alibaba/higress/pull/3335) \
**Contributor**: @wydream \
**Change Log**: This PR adds image generation support in the Vertex AI Provider of the ai-proxy plugin, implementing the text-to-image feature by converting the OpenAI protocol to Vertex AI. \
**Feature Value**: This allows users to call Vertex AI's image generation capabilities using the standard OpenAI SDK, simplifying the process of integrating different AI services and enhancing the plugin's functional diversity.
- **Related PR**: [#3324](https://github.com/alibaba/higress/pull/3324) \
**Contributor**: @wydream \
**Change Log**: This PR adds OpenAI-compatible endpoint support in the Vertex AI Provider of the ai-proxy plugin, enabling direct invocation of Vertex AI models using the OpenAI SDK and API format. \
**Feature Value**: This feature allows users to seamlessly migrate existing OpenAI-based applications to Vertex AI without changing the original code logic, greatly simplifying the migration work for developers.
- **Related PR**: [#3318](https://github.com/alibaba/higress/pull/3318) \
**Contributor**: @hanxiantao \
**Change Log**: This PR adds an authentication wrapper for debug endpoints using the withConditionalAuth middleware, maintaining existing behavior based on the DebugAuth feature flag. \
**Feature Value**: This enhances the security of debug endpoints, ensuring that only requests verified by Istio's local authentication logic can access these endpoints, thus improving system security and controllability.
- **Related PR**: [#3317](https://github.com/alibaba/higress/pull/3317) \
**Contributor**: @rinfx \
**Change Log**: Added two WASM-Go plugins, model-mapper and model-router, to implement mapping and routing functions based on the `model` parameter in the LLM protocol. \
**Feature Value**: This enhances the governance capabilities of Higress in large language model scenarios, supporting model name mapping, seamless degradation, unified client model names, and route distribution based on `provider/model` parameters.
- **Related PR**: [#3305](https://github.com/alibaba/higress/pull/3305) \
**Contributor**: @CZJCC \
**Change Log**: Added Bearer Token authentication support for AWS Bedrock services, while retaining the existing AWS Signature V4 authentication method and cleaning up some unused code. \
**Feature Value**: By introducing Bearer Token authentication options, users can now more flexibly choose the authentication mechanism that suits their security needs, enhancing system security and usability.
- **Related PR**: [#3301](https://github.com/alibaba/higress/pull/3301) \
**Contributor**: @wydream \
**Change Log**: This PR adds Express Mode support to the Vertex AI Provider of the ai-proxy plugin, simplifying the configuration process and allowing users to access Vertex AI using only an API Key. \
**Feature Value**: By introducing Express Mode, users can start using Vertex AI services more quickly and conveniently, without the need for complex Service Account authentication setup, significantly enhancing the user experience and development efficiency.
- **Related PR**: [#3295](https://github.com/alibaba/higress/pull/3295) \
**Contributor**: @rinfx \
**Change Log**: This PR adds support for MCP (Model Context Protocol) in the ai-security-guard plugin, implementing the `HandleMcpResponseBody` and `HandleMcpStreamingResponseBody` methods to check and possibly intercept standard and streaming responses. \
**Feature Value**: The new MCP support feature enhances the plugin's ability to handle different API types, allowing users to use MCP APIs more securely by preventing the transmission of potentially unsafe information through content security checks.
- **Related PR**: [#3267](https://github.com/alibaba/higress/pull/3267) \
**Contributor**: @erasernoob \
**Change Log**: Added the hgctl agent module, involving modifications and additions to multiple files, including go.mod dependency updates, adding README documentation, and core functionality code implementation in agent.go and base.go. \
**Feature Value**: By introducing the hgctl agent module, this provides users with a new management and operation method, enhancing system flexibility and scalability, making it easier for users to manage and configure clusters.
- **Related PR**: [#3261](https://github.com/alibaba/higress/pull/3261) \
**Contributor**: @rinfx \
**Change Log**: This PR adds support for disabling thinking in gemini-2.5-flash and gemini-2.5-flash-lite, and adds reasoning token information in the response. \
**Feature Value**: By adding the feature to disable thinking and displaying reasoning token usage, users can more flexibly control AI agent behavior and obtain more detailed execution information.
- **Related PR**: [#3255](https://github.com/alibaba/higress/pull/3255) \
**Contributor**: @nixidexiangjiao \
**Change Log**: Optimized the Lua-based minimum in-flight requests load balancing strategy, addressing issues such as preference for abnormal nodes, inconsistent handling of new nodes, and uneven sampling distribution. \
**Feature Value**: This improves system stability and service availability, reducing service failures due to uneven load and enhancing the adaptive circuit-breaking capability for abnormal nodes.
- **Related PR**: [#3236](https://github.com/alibaba/higress/pull/3236) \
**Contributor**: @rinfx \
**Change Log**: This PR adds support for the claude model in vertex and handles the case where delta might be empty, implementing the new feature by modifying the relevant Go files. \
**Feature Value**: The addition of claude model support expands the range of available AI capabilities, enhancing system flexibility and practicality. Handling edge cases also improves system stability and robustness.
- **Related PR**: [#3218](https://github.com/alibaba/higress/pull/3218) \
**Contributor**: @johnlanni \
**Change Log**: This PR enhances the model mapper and router, adding an automatic rebuild trigger mechanism based on request count and memory usage, and extending the supported path suffixes. \
**Feature Value**: By monitoring key metrics and triggering rebuilds at the right time, this improves system stability and response speed; extending path support also enhances API functionality.
- **Related PR**: [#3213](https://github.com/alibaba/higress/pull/3213) \
**Contributor**: @rinfx \
**Change Log**: This PR removes region specification, allowing the ai-proxy to support global (global) access mode to be compatible with the latest gemini-3 series model requirements. \
**Feature Value**: This enhances the system's adaptability to different deployment environments, especially providing a consistent and seamless support experience for users with global region configurations.
- **Related PR**: [#3206](https://github.com/alibaba/higress/pull/3206) \
**Contributor**: @rinfx \
**Change Log**: This PR implements the functionality to check prompts and images within the request body in the content security detection plugin, involving parsing image and text data generated by OpenAI and Qwen. \
**Feature Value**: This enhances content security protection, ensuring that AI-generated content meets security standards, improving the safety and reliability of the user experience.
- **Related PR**: [#3200](https://github.com/alibaba/higress/pull/3200) \
**Contributor**: @YTGhost \
**Change Log**: This PR adds support for array content in the `chatToolMessage2BedrockMessage` function, enhancing the ai-proxy plugin's ability to handle different types of messages. \
**Feature Value**: Supporting array-form content expands the flexibility of message passing between chat tools and Bedrock, making it easier for developers to integrate diverse application requirements.
- **Related PR**: [#3185](https://github.com/alibaba/higress/pull/3185) \
**Contributor**: @rinfx \
**Change Log**: This PR adds a rebuild logic to ai-cache, optimizing cache management by triggering a rebuild when memory usage is too high. \
**Feature Value**: The new rebuild mechanism helps prevent memory overflow issues caused by caching, improving system stability and the user experience.
- **Related PR**: [#3184](https://github.com/alibaba/higress/pull/3184) \
**Contributor**: @rinfx \
**Change Log**: This PR adds support for user-defined domain configuration for the DouBao service, involving modifications to the Makefile and ai-proxy related files to achieve more flexible service deployment. \
**Feature Value**: Allowing users to configure custom domains for the DouBao service enhances service deployment flexibility and the user experience, meeting the need for personalized domain configuration.
- **Related PR**: [#3175](https://github.com/alibaba/higress/pull/3175) \
**Contributor**: @wydream \
**Change Log**: This PR implements a new generic provider for handling requests that do not require path remapping, updates the README file to include configuration details, and adds tests for the new feature. \
**Feature Value**: The new generic provider allows users to more flexibly handle service requests from different vendors, simplifying cross-platform application development and enhancing the system's maintainability and extensibility.
- **Related PR**: [#3173](https://github.com/alibaba/higress/pull/3173) \
**Contributor**: @EndlessSeeker \
**Change Log**: Added a global parameter to support inference scaling, introducing a new environment variable in the controller deployment configuration and updating the relevant configuration files. \
**Feature Value**: This feature allows users to more flexibly configure and use inference scaling, enhancing the system's customizability and adaptability, providing more control options for users.
- **Related PR**: [#3171](https://github.com/alibaba/higress/pull/3171) \
**Contributor**: @wilsonwu \
**Change Log**: This PR adds support for topology spread constraints for the gateway and controller, introducing new configuration options in the Helm templates to allow users to customize the deployment strategy of these components. \
**Feature Value**: The new topology spread constraint feature allows users to better control the distribution of service instances in the cluster, improving system availability and stability.
- **Related PR**: [#3160](https://github.com/alibaba/higress/pull/3160) \
**Contributor**: @EndlessSeeker \
**Change Log**: This PR upgrades the gateway API to the latest version, involving updates to Makefile, go.mod, and other files, and adding new rules in the Helm configuration. \
**Feature Value**: By upgrading the gateway API to the latest version, this enhances system compatibility and performance, allowing users to leverage the latest API features, enhancing the flexibility and scalability of applications.
- **Related PR**: [#3136](https://github.com/alibaba/higress/pull/3136) \
**Contributor**: @Wangzy455 \
**Change Log**: Implemented a tool semantic search feature based on the Milvus vector database, converting tool descriptions into vector representations and using vector similarity search to achieve semantic matching. \
**Feature Value**: This feature allows users to find the most relevant tools through natural language queries, significantly improving the accuracy and user experience of tool searches.
- **Related PR**: [#3075](https://github.com/alibaba/higress/pull/3075) \
**Contributor**: @rinfx \
**Change Log**: Refactored the ai-security-guard plugin to support multi-modal input processing, including text and image generation scenarios, and modularized the code. \
**Feature Value**: This enhances AI security protection, allowing the system to more comprehensively check multi-modal content, improving the user experience and system security.
- **Related PR**: [#3066](https://github.com/alibaba/higress/pull/3066) \
**Contributor**: @EndlessSeeker \
**Change Log**: Upgraded Istio to version 1.27.1 and adjusted higress-core to adapt to the new version, fixing submodule branch pulling and integration testing issues. \
**Feature Value**: By upgrading the Istio version and related dependencies, this improves system stability and performance, ensuring users can use the latest features and reduce potential compatibility issues.
- **Related PR**: [#3063](https://github.com/alibaba/higress/pull/3063) \
**Contributor**: @rinfx \
**Change Log**: This PR introduces load balancing based on specific metrics (such as concurrency, TTFT, RT, etc.), allowing users to customize the metrics used for load balancing. \
**Feature Value**: This new feature enables the system to intelligently distribute requests based on finer-grained performance metrics, improving cluster resource utilization and response speed, enhancing the user experience.
- **Related PR**: [#3061](https://github.com/alibaba/higress/pull/3061) \
**Contributor**: @Jing-ze \
**Change Log**: This PR implements fixes and enhancements for the response cache plugin, including improving cache key extraction logic, removing redundant parameters, correcting configuration validation issues, and adding comprehensive unit tests. \
**Feature Value**: The enhanced response cache plugin significantly improves application performance by extracting cache keys from request headers or bodies and storing response values, reducing the pressure on backend services from repeated requests.
- **Related PR**: [#2825](https://github.com/alibaba/higress/pull/2825) \
**Contributor**: @CH3CHO \
**Change Log**: This PR adds a `traffic-editor` plugin, supporting various modification operations on request/response headers, and uses a more extensible code structure. \
**Feature Value**: The new plugin allows users to flexibly edit request and response header information, enhancing the functionality and user experience of the Higress gateway, improving system flexibility and maintainability.
### 🐛 Bug Fixes (Bug Fixes)
- **Related PR**: [#3448](https://github.com/alibaba/higress/pull/3448) \
**Contributor**: @lexburner \
**Change Log**: Fixed an out-of-bounds error in the `Choices` array when processing Qwen API responses. The fix includes adding a check for an empty array to prevent program crashes. \
**Feature Value**: This resolved a potential program crash in high-concurrency scenarios, enhancing system stability and robustness, ensuring that user requests are handled correctly.
- **Related PR**: [#3434](https://github.com/alibaba/higress/pull/3434) \
**Contributor**: @johnlanni \
**Change Log**: Corrected an issue where the description value in the skill file preamble was not properly quoted, causing YAML parsing errors. The fix involves wrapping the description value in double quotes. \
**Feature Value**: This resolved a YAML parsing failure caused by specific characters, ensuring that the skill documentation is correctly displayed and parsed, enhancing the user experience and document accuracy.
- **Related PR**: [#3422](https://github.com/alibaba/higress/pull/3422) \
**Contributor**: @johnlanni \
**Change Log**: Fixed an issue where the `model` field in the request body was not updated in sync in the automatic routing mode of the model-router plugin. The fix ensures that the `model` field in the request body correctly reflects the actual model used after the routing decision. \
**Feature Value**: This fix resolved issues downstream services faced due to receiving incorrect model names in the request body, enhancing system accuracy and reliability, ensuring users receive the correct processing results in automatic routing mode.
- **Related PR**: [#3400](https://github.com/alibaba/higress/pull/3400) \
**Contributor**: @johnlanni \
**Change Log**: Removed the duplicate `loadBalancerClass` definition in the `service.yaml` file, resolving the YAML parsing error caused by the duplicate definition. \
**Feature Value**: This fixed the YAML parsing error when configuring `loadBalancerClass`, enhancing the user experience and system stability.
- **Related PR**: [#3380](https://github.com/alibaba/higress/pull/3380) \
**Contributor**: @Thomas-Eliot \
**Change Log**: Added a context setting operation in the request body handling function, storing the request model in the context to ensure the request model data can be correctly obtained in the call chain. \
**Feature Value**: This fixed the issue of the request model context not being set, improving system stability and data consistency, preventing users from encountering errors due to missing context during use.
- **Related PR**: [#3370](https://github.com/alibaba/higress/pull/3370) \
**Contributor**: @rinfx \
**Change Log**: Fixed an issue in the model-mapper where the request body was still processed even if the suffix did not match. The fix also adds JSON validation for the request body to ensure the incoming data is valid JSON. \
**Feature Value**: This fix enhances system robustness and user data accuracy. By filtering out invalid inputs and ensuring data integrity, it improves the user experience and system stability.
- **Related PR**: [#3341](https://github.com/alibaba/higress/pull/3341) \
**Contributor**: @zth9 \
**Change Log**: Fixed an issue with concurrent SSE connections returning the wrong endpoint, ensuring correct handling of SSE requests in multi-connection scenarios, involving configuration and filter logic adjustments. \
**Feature Value**: This improved system stability and reliability, avoiding incorrect responses due to concurrent access, enhancing the user experience and data transmission accuracy.
- **Related PR**: [#3258](https://github.com/alibaba/higress/pull/3258) \
**Contributor**: @johnlanni \
**Change Log**: Fixed the MCP server version negotiation issue to comply with the specification and adjusted the dependency library version. \
**Feature Value**: This ensured the MCP server operates as expected and is compliant with the specification, improving system stability and reliability, reducing potential communication errors.
- **Related PR**: [#3257](https://github.com/alibaba/higress/pull/3257) \
**Contributor**: @sjtuzbk \
**Change Log**: This PR fixed an issue where the ai-proxy plugin directly rewrote the `host` to `difyApiUrl`, using the `net/url` package to correctly parse and extract the hostname. \
**Feature Value**: This fix ensures that when `difyApiUrl` is configured, only the target hostname is replaced, not the entire URL, enhancing system stability and the user experience.
- **Related PR**: [#3252](https://github.com/alibaba/higress/pull/3252) \
**Contributor**: @rinfx \
**Change Log**: This PR adjusted the debug log information and introduced a penalty mechanism for error responses, ensuring that the system does not attempt to reselect services too quickly when encountering error responses. \
**Feature Value**: By adding a mechanism to handle error responses, this effectively avoids service selection interference caused by rapid retries, enhancing system stability and the user experience.
- **Related PR**: [#3251](https://github.com/alibaba/higress/pull/3251) \
**Contributor**: @rinfx \
**Change Log**: This PR added special handling for cases where the content extracted from the configuration via jsonpath is empty, using a predefined string `[empty content]` to replace the originally empty content. \
**Feature Value**: This change ensures the system can still operate normally when the content to be inspected is empty, avoiding potential issues or errors caused by empty content, enhancing system stability and the user experience.
- **Related PR**: [#3237](https://github.com/alibaba/higress/pull/3237) \
**Contributor**: @CH3CHO \
**Change Log**: This PR increased the request body buffer size for multipart data in the model-router, resolving the issue of a too-small buffer when handling large file uploads or other large-volume multipart data. \
**Feature Value**: This improved the system's ability to handle large multipart data, reducing data loss or processing failures due to insufficient buffer, enhancing the user experience and system robustness.
- **Related PR**: [#3225](https://github.com/alibaba/higress/pull/3225) \
**Contributor**: @wydream \
**Change Log**: Fixed an issue where the `basePathHandling: removePrefix` configuration did not work correctly when set to `protocol: original`. The fix involves modifying the `TransformRequestHeaders` implementation of multiple providers to avoid overwriting basePath handling. \
**Feature Value**: This ensures that the `basePathHandling` function works correctly when using `protocol: original`, improving the consistency and reliability of 27+ providers, including Azure and OpenAI.
- **Related PR**: [#3220](https://github.com/alibaba/higress/pull/3220) \
**Contributor**: @Aias00 \
**Change Log**: This PR fixed two issues: skipping unhealthy or disabled service instances in Nacos, and ensuring the `AllowTools` field is always included during serialization. \
**Feature Value**: By filtering out unhealthy or disabled service instances, this improves system stability and reliability; additionally, it ensures configuration consistency, avoiding potential issues due to missing fields.
- **Related PR**: [#3211](https://github.com/alibaba/higress/pull/3211) \
**Contributor**: @CH3CHO \
**Change Log**: This PR fixed an issue with the old `HasRequestBody` logic in the ai-proxy plugin, ensuring that the presence of a valid request body is correctly determined under specific conditions. \
**Feature Value**: By updating the logic, this improves the accuracy and stability of request processing, avoiding functional anomalies due to incorrect judgments, enhancing the user experience.
- **Related PR**: [#3187](https://github.com/alibaba/higress/pull/3187) \
**Contributor**: @CH3CHO \
**Change Log**: This PR bypassed the handling of streamable response bodies in MCP to allow progress notifications, addressing issues that may arise when processing specific types of data. \
**Feature Value**: By bypassing unnecessary response body processing steps, this fix enhances system flexibility and the user experience, especially in applications that require real-time status updates.
- **Related PR**: [#3168](https://github.com/alibaba/higress/pull/3168) \
**Contributor**: @wydream \
**Change Log**: Fixed an issue where query strings were discarded during the OpenAI capability rewrite process. The fix involves stripping and saving query parameters before executing regex matching and reattaching them afterward. \
**Feature Value**: This ensures that API requests with query strings are correctly parsed and processed, enhancing the system's support for complex paths and improving the user experience.
- **Related PR**: [#3167](https://github.com/alibaba/higress/pull/3167) \
**Contributor**: @EndlessSeeker \
**Change Log**: This PR updated the versions of multiple submodules and simplified the commands in the Makefile for initializing and updating submodules, ensuring they are correctly pulled. \
**Feature Value**: By updating submodules and optimizing related scripts, this improves the build process efficiency, reducing potential build errors and enhancing the developer experience.
- **Related PR**: [#3148](https://github.com/alibaba/higress/pull/3148) \
**Contributor**: @rinfx \
**Change Log**: Removed the `omitempty` tag from the `index` field in the `toolcall` struct, ensuring the default value is 0 when the response does not provide an index. \
**Feature Value**: This fixed the issue of missing toolcall indices in responses, ensuring data consistency and integrity, enhancing system stability and the user experience.
- **Related PR**: [#3022](https://github.com/alibaba/higress/pull/3022) \
**Contributor**: @lwpk110 \
**Change Log**: This PR fixed issues in the helm and podmonitor configurations by adding the `podMonitorSelector` option to support `gateway.metrics.labels`, ensuring compatibility with kube-prometheus-stack. \
**Feature Value**: This enhances the auto-discovery capability of the monitoring system, allowing users to more flexibly configure and monitor gateway metrics, improving system maintainability and the user experience.
### ♻️ Refactoring and Optimization (Refactoring)
- **Related PR**: [#3462](https://github.com/alibaba/higress/pull/3462) \
**Contributor**: @johnlanni \
**Change Log**: Removed the automatic Bash tool injection feature in Claude Code mode, including related constants, logic code, and test cases, and updated the English and Chinese documentation. \
**Feature Value**: By removing unnecessary automatic Bash tool injection, this simplifies the codebase and improves system performance while maintaining the completeness and availability of core functionalities.
- **Related PR**: [#3457](https://github.com/alibaba/higress/pull/3457) \
**Contributor**: @johnlanni \
**Change Log**: This PR mainly updated the version number to 2.2.0, adjusted the branch pointers of some submodules, and modified the `ENVOY_PACKAGE_URL_PATTERN` variable value in the Makefile. \
**Feature Value**: By updating the version number and related configurations, this ensures the project remains consistent with the latest dependency libraries, avoiding potential build errors due to version mismatches.
- **Related PR**: [#3155](https://github.com/alibaba/higress/pull/3155) \
**Contributor**: @github-actions[bot]
# Higress Console
## 📋 Overview of This Release
This release includes **18** updates, covering feature 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 optimizes the interaction capabilities of the mcp server, including rewriting the header host, supporting the selection of transport methods, replacing paths with complete paths, and updating the DSN character handling logic to support special characters like @. \
**Feature Value**: These improvements enhance the user experience in configuration and service usage, especially for scenarios where direct routing to the mcp server or connecting from a DB to the mcp service is required, simplifying the setup process and reducing issues caused by misconfiguration.
- **Related PR**: [#612](https://github.com/higress-group/higress-console/pull/612) \
**Contributor**: @zhwaaaaaa \
**Change Log**: This PR adds support for hop-to-hop headers, specifically ignoring the `transfer-encoding: chunked` header, to resolve the issue of Grafana pages not working properly. \
**Feature Value**: By ignoring specific hop-to-hop headers, it ensures that Grafana pages work correctly behind a reverse proxy server, enhancing user experience and system compatibility.
- **Related PR**: [#608](https://github.com/higress-group/higress-console/pull/608) \
**Contributor**: @Libres-coder \
**Change Log**: This PR adds the functionality to display enabled plugins on the AI route management page, allowing users to view and manage plugins in AI routes. \
**Feature Value**: This feature aligns AI route management with regular route management, improving the user experience and making it easier for users to see which plugins are active in AI route configurations.
- **Related PR**: [#604](https://github.com/higress-group/higress-console/pull/604) \
**Contributor**: @CH3CHO \
**Change Log**: This PR enhances path handling flexibility by adding support for path rewriting using regular expressions via the `higress.io/rewrite-target` annotation. \
**Feature Value**: The introduction of regex-based path rewriting allows users to configure more flexible request path transformation rules, meeting the needs of more complex application scenarios.
- **Related PR**: [#603](https://github.com/higress-group/higress-console/pull/603) \
**Contributor**: @CH3CHO \
**Change Log**: This PR adds a display logic for a static service port 80 in the frontend components, implemented by defining the constant `STATIC_SERVICE_PORT` and referencing it appropriately. \
**Feature Value**: This feature allows users to clearly see that the static service source uses port 80, enhancing interface transparency and user experience.
- **Related PR**: [#602](https://github.com/higress-group/higress-console/pull/602) \
**Contributor**: @CH3CHO \
**Change Log**: This PR adds search support when selecting upstream services for AI routes in the frontend, improving user efficiency by introducing a search bar in the service list. \
**Feature Value**: It provides a more convenient service configuration experience, especially when dealing with a large number of available services, allowing users to quickly locate the desired service, significantly improving work efficiency and user experience.
- **Related PR**: [#566](https://github.com/higress-group/higress-console/pull/566) \
**Contributor**: @OuterCyrex \
**Change Log**: This PR extends the system's functionality by adding support for custom Qwen services through the `QwenLlmProviderHandler` class and related configurations, including enabling internet search and file ID upload features. \
**Feature Value**: The added support for custom Qwen services provides users with more flexible configuration options, particularly useful for those requiring custom settings or specific features, enhancing user experience and system flexibility.
### 🐛 Bug Fixes (Bug Fixes)
- **Related PR**: [#620](https://github.com/higress-group/higress-console/pull/620) \
**Contributor**: @CH3CHO \
**Change Log**: This PR corrects a spelling error in the `sortWasmPluginMatchRules` logic, ensuring the accuracy of the rule sorting function. \
**Feature Value**: Fixing the spelling error improves system stability and user experience, preventing potential issues caused by simple typographical 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 when converting an AiRoute to a ConfigMap, as this information is already stored in the ConfigMap metadata. \
**Feature Value**: By removing redundant version information, it simplifies the ConfigMap data structure, avoids redundancy, and ensures data consistency and accuracy.
- **Related PR**: [#618](https://github.com/higress-group/higress-console/pull/618) \
**Contributor**: @CH3CHO \
**Change Log**: This PR refactors the API authentication logic in the `SystemController`, enhancing system security by removing a security vulnerability. The changes focus on several controller files, including the addition of the `AllowAnonymous` annotation. \
**Feature Value**: It addresses a potential security issue, enhancing system security and preventing unauthorized access, thus protecting user data and applications from attacks.
- **Related PR**: [#617](https://github.com/higress-group/higress-console/pull/617) \
**Contributor**: @CH3CHO \
**Change Log**: This PR fixes several issues in the frontend console, including missing unique key attributes for list elements, image loading issues violating the Content Security Policy (CSP), and incorrect type for the `Consumer.name` field. \
**Feature Value**: Addressing these issues improves application stability and security, enhances user experience, and ensures the correctness of data types.
- **Related PR**: [#614](https://github.com/higress-group/higress-console/pull/614) \
**Contributor**: @lc0138 \
**Change Log**: This PR fixes an error in the `ServiceSource` type field by adding dictionary value validation to ensure the correctness of the `type` field. \
**Feature Value**: This fix improves system stability and data accuracy, preventing issues caused by incorrect service source types, enhancing user experience.
- **Related PR**: [#613](https://github.com/higress-group/higress-console/pull/613) \
**Contributor**: @lc0138 \
**Change Log**: This PR resolves a security vulnerability (issue #594) by modifying the frontend `document.tsx` file, specifically adjusting the CSP (Content Security Policy) configuration to enhance application security. \
**Feature Value**: It addresses front-end CSP and other security risks, enhancing overall system security and protecting users from potential threats such as XSS attacks, thereby improving user experience and data protection.
- **Related PR**: [#611](https://github.com/higress-group/higress-console/pull/611) \
**Contributor**: @qshuai \
**Change Log**: This PR corrects a spelling error in `LlmProvidersController.java`, changing the API description from 'Add a new route' to 'Add a new LlmProvider'. \
**Feature Value**: Correcting the documentation spelling error enhances code readability and accuracy, ensuring developers are not confused by misleading information when using the API.
- **Related PR**: [#609](https://github.com/higress-group/higress-console/pull/609) \
**Contributor**: @CH3CHO \
**Change Log**: This PR fixes an issue with the incorrect data type for the `name` field in the `Consumer` interface, changing it from boolean to string. \
**Feature Value**: It ensures the correct data type for the `Consumer.name` field, avoiding potential errors due to type mismatches, enhancing system stability and data accuracy.
- **Related PR**: [#605](https://github.com/higress-group/higress-console/pull/605) \
**Contributor**: @SaladDay \
**Change Log**: This PR corrects the AI route name validation rules to support dots and only allow lowercase letters. It also updates the Chinese and English error messages to accurately describe the new validation rules. \
**Feature Value**: It resolves the inconsistency between the UI prompt and the actual validation logic, improving the user experience and accuracy when configuring AI routes, reducing confusion caused by inconsistent validation rules.
- **Related PR**: [#552](https://github.com/higress-group/higress-console/pull/552) \
**Contributor**: @lcfang \
**Change Log**: To address compatibility issues caused by inconsistent backend service ports, this PR introduces the `vport` attribute. By selectively configuring `vport` during registration center configuration, either the default port or a specified virtual port for the service, it ensures the validity of route configurations. \
**Feature Value**: This fix enhances the system's adaptability to different service instance port changes, improving system stability and user experience. For users of eureka, nacos, and other registration centers, it prevents service interruptions due to port changes, enhancing service availability and consistency.
### 📚 Documentation Updates (Documentation)
- **Related PR**: [#610](https://github.com/higress-group/higress-console/pull/610) \
**Contributor**: @heimanba \
**Change Log**: This PR mainly adjusts the frontend canary plugin documentation, including making fields like `rewrite` optional and updating the association rules for the `name` field in `rules`. It also corrects some terminology and descriptions for consistency. \
**Feature Value**: These documentation updates improve the flexibility and compatibility of the frontend canary plugin, allowing developers to configure services more accurately based on their needs, reducing errors due to unclear configurations.
---
## 📊 Release Statistics
- 🚀 New Features: 7 items
- 🐛 Bug Fixes: 10 items
- 📚 Documentation Updates: 1 item
**Total**: 18 changes
Thanks to all contributors for their hard work! 🎉