diff --git a/release-notes/2.2.0/README.md b/release-notes/2.2.0/README.md new file mode 100644 index 000000000..68bc4c2b4 --- /dev/null +++ b/release-notes/2.2.0/README.md @@ -0,0 +1,503 @@ +# 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! 🎉 + diff --git a/release-notes/2.2.0/README_ZH.md b/release-notes/2.2.0/README_ZH.md new file mode 100644 index 000000000..6b3c2a95e --- /dev/null +++ b/release-notes/2.2.0/README_ZH.md @@ -0,0 +1,630 @@ +# Higress + + +## 📋 本次发布概览 + +本次发布包含 **92** 项更新,涵盖了功能增强、Bug修复、性能优化等多个方面。 + +### 更新内容分布 + +- **新功能**: 48项 +- **Bug修复**: 20项 +- **重构优化**: 3项 +- **文档更新**: 20项 +- **测试改进**: 1项 + +--- + +## 📝 完整变更日志 + +### 🚀 新功能 (Features) + +- **Related PR**: [#3459](https://github.com/alibaba/higress/pull/3459) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR通过添加`claudeCodeMode`配置项,使系统能够模拟Claude Code客户端请求格式,支持特定的OAuth令牌认证机制以及特殊的请求头和参数。 \ + **Feature Value**: 新增对Claude Code模式的支持极大地扩展了与Anthropic Claude API交互的能力,允许用户更灵活地使用OAuth令牌进行身份验证,从而提升了API调用的安全性和兼容性。 + +- **Related PR**: [#3455](https://github.com/alibaba/higress/pull/3455) \ + **Contributor**: @EndlessSeeker \ + **Change Log**: 此PR更新了git子模块,包括升级envoy和go-control-plane版本,并同步istio到最新版的go-control-plane。 \ + **Feature Value**: 通过更新关键依赖库至最新版本,提升了系统的安全性与性能稳定性,为用户提供更可靠的服务体验。 + +- **Related PR**: [#3438](https://github.com/alibaba/higress/pull/3438) \ + **Contributor**: @johnlanni \ + **Change Log**: 调整了文档结构,并创建了专门的Clawdbot插件目录,以实现Clawdbot真正的兼容性。包括了新的配置文件和示例代码。 \ + **Feature Value**: 通过改进技能集成流程,用户可以更流畅地配置插件,同时确保了与Clawdbot的完全兼容,提升了用户体验和系统的灵活性。 + +- **Related PR**: [#3437](https://github.com/alibaba/higress/pull/3437) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR将higress-ai-gateway插件集成到higress-clawdbot-integration技能中,包括移动和重命名相关文件及更新文档,以简化用户安装与配置过程。 \ + **Feature Value**: 通过集成Higress AI Gateway插件至Clawdbot/OpenClaw技能,用户可以更便捷地管理和使用AI网关,从而提升开发效率和用户体验。 + +- **Related PR**: [#3436](https://github.com/alibaba/higress/pull/3436) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR更新了Higress-OpenClaw集成的SKILL提供商列表,并将OpenClaw插件包从higress-standalone迁移到主仓库,增强了对常用提供商的支持。 \ + **Feature Value**: 通过增强提供商列表和迁移插件包,提升了Higress-OpenClaw集成的可用性和灵活性,让用户能够更方便地使用首选AI服务。 + +- **Related PR**: [#3428](https://github.com/alibaba/higress/pull/3428) \ + **Contributor**: @johnlanni \ + **Change Log**: 新增了两个技能higress-auto-router和higress-clawdbot-integration,支持通过自然语言配置自动模型路由及Higress AI Gateway与Clawdbot的集成部署。 \ + **Feature Value**: 这些新功能允许用户更便捷地管理和配置AI网关,提高操作效率并增强了系统的灵活性,特别适合需要频繁调整路由规则或多语言支持的应用场景。 + +- **Related PR**: [#3427](https://github.com/alibaba/higress/pull/3427) \ + **Contributor**: @johnlanni \ + **Change Log**: 新增了`use_default_attributes`配置选项,允许ai-statistics插件自动应用一组默认属性,简化用户配置流程。 \ + **Feature Value**: 通过提供默认属性配置,减少了用户的初始设置负担,使得插件更加易用,同时保持了高级定制的可能性,提升了用户体验。 + +- **Related PR**: [#3426](https://github.com/alibaba/higress/pull/3426) \ + **Contributor**: @johnlanni \ + **Change Log**: PR为Higress环境下的LLM使用添加了一个Agent Session Monitor技能,实现了实时会话监控和日志分析。 \ + **Feature Value**: 此功能增强了对多轮对话过程中模型使用的可见性,帮助用户更好地理解和优化LLM在实际场景中的应用效果。 + +- **Related PR**: [#3424](https://github.com/alibaba/higress/pull/3424) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR为ai-statistics插件添加了对记录详细token使用信息的支持,包括新增内置属性键reasoning_tokens和cached_tokens。 \ + **Feature Value**: 通过提供更详细的token使用情况报告,用户可以更好地理解AI处理过程中的资源消耗情况,有助于优化成本和性能。 + +- **Related PR**: [#3420](https://github.com/alibaba/higress/pull/3420) \ + **Contributor**: @johnlanni \ + **Change Log**: 新增会话ID追踪功能,支持通过自定义头或默认头获取会话ID,从而追踪多轮对话。 \ + **Feature Value**: 此功能允许用户更好地跟踪和分析多轮对话中的行为,有助于提高聊天机器人的性能与用户体验。 + +- **Related PR**: [#3417](https://github.com/alibaba/higress/pull/3417) \ + **Contributor**: @johnlanni \ + **Change Log**: 增加了对未支持配置片段的显著警告,并提供了迁移前检查命令以识别受影响的Ingress资源,同时更新了文档中的注解映射。 \ + **Feature Value**: 通过提供关键警告和指引,帮助用户在从Nginx迁移到Higress时避免潜在问题,确保迁移过程更加顺畅、安全。 + +- **Related PR**: [#3411](https://github.com/alibaba/higress/pull/3411) \ + **Contributor**: @johnlanni \ + **Change Log**: 新增了一套从ingress-nginx迁移到Higress的技能,包括兼容性分析脚本、迁移测试脚本生成、WASM插件框架生成等工具。 \ + **Feature Value**: 为用户提供了一种便捷的方法来将现有的ingress-nginx配置无缝迁移到Higress上,降低了迁移难度和风险,提升了用户体验。 + +- **Related PR**: [#3409](https://github.com/alibaba/higress/pull/3409) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR为ai-proxy插件添加了`contextCleanupCommands`配置项,允许用户定义清理对话上下文的命令。当用户消息与任何一个预设的清理命令完全匹配时,将清除该命令之前的所有非系统消息。 \ + **Feature Value**: 通过引入自定义上下文清理命令,用户能够主动管理对话历史记录,这有助于保持对话的清晰度并提高用户体验。特别地,对于需要频繁重置对话场景的应用而言,此功能极大提升了灵活性和实用性。 + +- **Related PR**: [#3404](https://github.com/alibaba/higress/pull/3404) \ + **Contributor**: @johnlanni \ + **Change Log**: 引入了Higress社区治理日报生成功能,利用Claude AI助手自动追踪并汇总项目活动,包括新issues/PRs和评论动态。 \ + **Feature Value**: 该功能增强了社区治理的透明度与效率,通过每日报告帮助成员了解项目进展,促进问题解决和经验积累。 + +- **Related PR**: [#3403](https://github.com/alibaba/higress/pull/3403) \ + **Contributor**: @johnlanni \ + **Change Log**: 新增基于用户消息内容的自动模型路由功能,通过正则规则分析内容来决定使用哪个模型。 \ + **Feature Value**: 该功能使网关能够根据用户输入的内容智能选择最匹配的处理模型,极大提升了用户体验和系统灵活性。 + +- **Related PR**: [#3402](https://github.com/alibaba/higress/pull/3402) \ + **Contributor**: @johnlanni \ + **Change Log**: 新增了Claude技能,用于使用Go 1.24+开发Higress WASM插件,并提供了详细的文档和示例。 \ + **Feature Value**: 为开发者提供了一种新的方式来创建、修改或调试Higress网关插件,特别适用于HTTP请求响应处理,增强了开发效率。 + +- **Related PR**: [#3394](https://github.com/alibaba/higress/pull/3394) \ + **Contributor**: @changsci \ + **Change Log**: 该PR实现了在provider.apiTokens未配置时从请求头中获取API密钥的功能。通过修改wasm-go插件的相关代码,增加了对OpenAI服务的支持。 \ + **Feature Value**: 增强了系统的灵活性和易用性,允许用户在未明确配置API令牌的情况下也能正常使用服务,简化了设置流程,提升了用户体验。 + +- **Related PR**: [#3384](https://github.com/alibaba/higress/pull/3384) \ + **Contributor**: @ThxCode-Chen \ + **Change Log**: 此PR在watcher.go文件中增加了对上游IPv6静态地址的支持,修改了服务条目的生成逻辑以适应新的网络配置。 \ + **Feature Value**: 通过支持上游IPv6静态地址,用户可以更灵活地配置网络环境,特别是在需要使用IPv6进行通信的场景下,提高了系统的兼容性和可用性。 + +- **Related PR**: [#3375](https://github.com/alibaba/higress/pull/3375) \ + **Contributor**: @wydream \ + **Change Log**: 本PR为ai-proxy插件的Vertex AI Provider添加了Vertex Raw模式支持,使得通过Vertex访问原生Vertex REST API时也能启用getAccessToken机制。 \ + **Feature Value**: 新增的Vertex Raw模式支持使用户能够直接调用Vertex AI上的第三方模型或其他非标准API路径,并享受自动OAuth认证,提升了用户体验和灵活性。 + +- **Related PR**: [#3367](https://github.com/alibaba/higress/pull/3367) \ + **Contributor**: @rinfx \ + **Change Log**: 本PR更新了wasm-go依赖,并引入Foreign Function,允许Wasm插件实时感知Envoy宿主的日志级别,优化日志处理流程。 \ + **Feature Value**: 通过提前进行日志等级检查避免了不必要的内存操作,提升了性能和资源利用率,对于注重效率和性能的应用场景尤为重要。 + +- **Related PR**: [#3342](https://github.com/alibaba/higress/pull/3342) \ + **Contributor**: @Aias00 \ + **Change Log**: 此PR实现了将Nacos实例权重映射到Istio WorkloadEntry的权重,通过引入math库进行转换处理,并新增了大量测试用例以确保功能正确性。 \ + **Feature Value**: 通过此项功能增强,用户可以更灵活地控制服务间的流量分配策略,特别是在使用Istio作为服务网格时,能够更好地实现基于权重的服务发现与路由。 + +- **Related PR**: [#3335](https://github.com/alibaba/higress/pull/3335) \ + **Contributor**: @wydream \ + **Change Log**: 本PR在ai-proxy插件的Vertex AI Provider中添加了图片生成支持,通过实现OpenAI到Vertex AI协议的转换实现了文生图功能。 \ + **Feature Value**: 允许用户使用标准的OpenAI SDK调用Vertex AI的图片生成能力,简化了开发者集成不同AI服务的过程,增强了插件的功能多样性。 + +- **Related PR**: [#3324](https://github.com/alibaba/higress/pull/3324) \ + **Contributor**: @wydream \ + **Change Log**: 本PR为ai-proxy插件的Vertex AI Provider添加了OpenAI-compatible端点支持,实现了对Vertex AI模型使用OpenAI SDK和API格式直接调用的功能。 \ + **Feature Value**: 通过此功能,用户可以更方便地将现有基于OpenAI的应用程序无缝迁移到Vertex AI上,无需更改原有代码逻辑,极大地简化了开发者的迁移工作。 + +- **Related PR**: [#3318](https://github.com/alibaba/higress/pull/3318) \ + **Contributor**: @hanxiantao \ + **Change Log**: 此PR通过使用withConditionalAuth中间件为debug endpoints添加了身份验证包装器,依据DebugAuth功能标志来维持现有行为。 \ + **Feature Value**: 增强了debug endpoints的安全性,使得只有经过Istio本地认证逻辑验证的请求才能访问这些端点,从而提高了系统的安全性与可控性。 + +- **Related PR**: [#3317](https://github.com/alibaba/higress/pull/3317) \ + **Contributor**: @rinfx \ + **Change Log**: 新增了model-mapper和model-router两个WASM-Go插件,实现了基于LLM协议中model参数的映射与路由功能。 \ + **Feature Value**: 增强了Higress在大型语言模型场景下的治理能力,支持模型名称映射及无感降级、统一客户端模型名称,以及基于provider/model参数的路由分发。 + +- **Related PR**: [#3305](https://github.com/alibaba/higress/pull/3305) \ + **Contributor**: @CZJCC \ + **Change Log**: 新增了对AWS Bedrock服务的Bearer Token认证支持,同时保留原有的AWS Signature V4认证方式,并清理了部分未使用的代码。 \ + **Feature Value**: 通过引入Bearer Token认证选项,用户现在可以更灵活地选择适合其安全需求的认证机制,从而提升了系统的安全性和易用性。 + +- **Related PR**: [#3301](https://github.com/alibaba/higress/pull/3301) \ + **Contributor**: @wydream \ + **Change Log**: 本PR为ai-proxy插件的Vertex AI Provider添加了Express Mode支持,简化了配置过程,允许用户仅使用API Key即可访问Vertex AI。 \ + **Feature Value**: 通过引入Express Mode,用户可以更快速便捷地开始使用Vertex AI服务,无需再进行复杂的Service Account认证设置,极大地提升了用户体验和开发效率。 + +- **Related PR**: [#3295](https://github.com/alibaba/higress/pull/3295) \ + **Contributor**: @rinfx \ + **Change Log**: 本PR在ai-security-guard插件中增加了对MCP(Model Context Protocol)的支持,实现了HandleMcpResponseBody和HandleMcpStreamingResponseBody方法来检查并可能拦截标准及流式响应。 \ + **Feature Value**: 新增的MCP支持功能增强了插件处理不同API类型的能力,允许用户更安全地使用MCP API,通过内容安全检查防止潜在的不安全信息传递。 + +- **Related PR**: [#3267](https://github.com/alibaba/higress/pull/3267) \ + **Contributor**: @erasernoob \ + **Change Log**: 新增了hgctl agent模块,涉及多个文件的修改与新增,包括go.mod依赖更新、添加README文档说明以及agent.go和base.go等核心功能代码实现。 \ + **Feature Value**: 通过引入hgctl agent模块,为用户提供了一种新的管理和操作方式,增强了系统的灵活性和可扩展性,使得用户能够更方便地进行集群管理和配置。 + +- **Related PR**: [#3261](https://github.com/alibaba/higress/pull/3261) \ + **Contributor**: @rinfx \ + **Change Log**: 此PR在gemini-2.5-flash和gemini-2.5-flash-lite中增加了关闭thinking的支持,并在响应中添加了reasoning token信息。 \ + **Feature Value**: 通过新增关闭thinking的功能以及显示reasoning token使用情况,用户能够更灵活地控制AI代理的行为并获得更详细的执行信息。 + +- **Related PR**: [#3255](https://github.com/alibaba/higress/pull/3255) \ + **Contributor**: @nixidexiangjiao \ + **Change Log**: 优化了基于Lua的最小在途请求数负载均衡策略,解决了异常节点偏好性选择、新节点处理不一致以及采样分布不均的问题。 \ + **Feature Value**: 提升了系统的稳定性和服务可用性,减少了由于负载不均导致的服务故障,增强了对异常节点的自适应熔断能力。 + +- **Related PR**: [#3236](https://github.com/alibaba/higress/pull/3236) \ + **Contributor**: @rinfx \ + **Change Log**: 该PR在vertex中增加了对claude模型的支持,并且处理了delta可能为空的情况,通过修改相关Go文件实现了新增功能。 \ + **Feature Value**: 新增的claude模型支持扩展了用户可用的AI能力范围,提升了系统的灵活性和实用性。同时,对于边界情况的处理增强了系统的稳定性和健壮性。 + +- **Related PR**: [#3218](https://github.com/alibaba/higress/pull/3218) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR增强了模型映射器和路由器,添加了基于请求计数和内存使用量的自动重建触发机制,并扩展了支持的路径后缀。 \ + **Feature Value**: 通过监控关键指标并适时触发重建,提高了系统的稳定性和响应速度;同时,扩展路径支持提升了API的功能多样性。 + +- **Related PR**: [#3213](https://github.com/alibaba/higress/pull/3213) \ + **Contributor**: @rinfx \ + **Change Log**: 此PR通过移除区域指定的方式,使ai-proxy支持全局(global)访问模式,以兼容最新的gemini-3系列模型需求。 \ + **Feature Value**: 增强了系统对于不同部署环境的适应性,特别是为使用全球区域配置的用户提供了一致且无缝的支持体验。 + +- **Related PR**: [#3206](https://github.com/alibaba/higress/pull/3206) \ + **Contributor**: @rinfx \ + **Change Log**: 该PR实现了在内容安全检测插件中添加对请求体内的prompt和图片进行检查的功能,涉及解析OpenAI及Qwen生成的图像与文本数据。 \ + **Feature Value**: 增强了内容安全防护能力,确保了AI生成的内容符合安全标准,提升了用户使用体验的安全性和可靠性。 + +- **Related PR**: [#3200](https://github.com/alibaba/higress/pull/3200) \ + **Contributor**: @YTGhost \ + **Change Log**: 此PR通过在chatToolMessage2BedrockMessage函数中添加对数组内容的支持,增强了ai-proxy插件处理不同类型消息的能力。 \ + **Feature Value**: 支持处理数组形式的内容扩大了聊天工具与Bedrock之间消息传递的灵活性,使得开发者能够更方便地集成多样化的应用需求。 + +- **Related PR**: [#3185](https://github.com/alibaba/higress/pull/3185) \ + **Contributor**: @rinfx \ + **Change Log**: 此PR为ai-cache增加了重建逻辑,通过在内存占用过高时触发重建来优化缓存管理。 \ + **Feature Value**: 新增的重建机制有助于防止因缓存导致的内存溢出问题,提高了系统的稳定性和用户体验。 + +- **Related PR**: [#3184](https://github.com/alibaba/higress/pull/3184) \ + **Contributor**: @rinfx \ + **Change Log**: 此PR为豆包服务添加了用户自定义域名配置的支持,涉及对Makefile及ai-proxy相关文件的修改,以实现更灵活的服务部署。 \ + **Feature Value**: 允许用户为豆包服务配置自定义域名,提升了服务部署灵活性和用户体验,满足了用户对于个性化域名配置的需求。 + +- **Related PR**: [#3175](https://github.com/alibaba/higress/pull/3175) \ + **Contributor**: @wydream \ + **Change Log**: 此PR实现了一个新的通用提供者,用于处理无需路径重映射的请求,并更新了README文件以包含配置详情。同时增加了针对新功能的测试。 \ + **Feature Value**: 新增的通用提供者使得用户能够更灵活地处理不同供应商的服务请求,简化了跨平台应用开发,提升了系统的可维护性和扩展性。 + +- **Related PR**: [#3173](https://github.com/alibaba/higress/pull/3173) \ + **Contributor**: @EndlessSeeker \ + **Change Log**: 新增了全局参数以支持推理扩展功能,通过在控制器部署配置中引入新的环境变量,并更新相关配置文件来实现。 \ + **Feature Value**: 该功能允许用户更灵活地配置和使用推理扩展,增强了系统的可定制性和适应性,为用户提供更多控制选项。 + +- **Related PR**: [#3171](https://github.com/alibaba/higress/pull/3171) \ + **Contributor**: @wilsonwu \ + **Change Log**: 此PR为网关和控制器添加了拓扑分布约束的支持,通过在Helm模板中引入新的配置项,允许用户自定义这些组件的部署策略。 \ + **Feature Value**: 新增的拓扑分布约束功能使用户能够更好地控制服务实例在集群中的分布情况,提高系统的可用性和稳定性。 + +- **Related PR**: [#3160](https://github.com/alibaba/higress/pull/3160) \ + **Contributor**: @EndlessSeeker \ + **Change Log**: 此PR升级了网关API到最新版本,涉及Makefile、go.mod等文件的更新,并在helm配置中添加了新的规则。 \ + **Feature Value**: 通过升级网关API至最新版本,提升了系统的兼容性和性能,使用户能够利用最新的API特性,增强了应用的灵活性和可扩展性。 + +- **Related PR**: [#3136](https://github.com/alibaba/higress/pull/3136) \ + **Contributor**: @Wangzy455 \ + **Change Log**: 实现了基于Milvus向量数据库的工具语义搜索功能,通过将工具描述转换为向量表示并使用向量相似性搜索来实现语义匹配。 \ + **Feature Value**: 此功能允许用户通过自然语言查询找到最相关的工具,极大提高了工具搜索的准确性和用户体验。 + +- **Related PR**: [#3075](https://github.com/alibaba/higress/pull/3075) \ + **Contributor**: @rinfx \ + **Change Log**: 重构ai-security-guard插件以支持多模态输入处理,包括文本和图片生成场景的安全检测,并进行了模块化拆分。 \ + **Feature Value**: 增强了AI安全防护功能,使系统能够更全面地对多模态内容进行安全检查,提升了用户体验和系统的安全性。 + +- **Related PR**: [#3066](https://github.com/alibaba/higress/pull/3066) \ + **Contributor**: @EndlessSeeker \ + **Change Log**: 升级Istio版本至1.27.1,并调整higress-core以适应新版本,修复了子模块分支拉取和集成测试的问题。 \ + **Feature Value**: 通过升级Istio版本和相关依赖,提高了系统的稳定性和性能,确保用户能够使用最新功能并减少潜在的兼容性问题。 + +- **Related PR**: [#3063](https://github.com/alibaba/higress/pull/3063) \ + **Contributor**: @rinfx \ + **Change Log**: 此PR引入了基于特定指标(如并发数、TTFT、RT等)的负载均衡功能,允许用户自定义用于负载均衡的指标。 \ + **Feature Value**: 新增的功能使得系统可以根据更细粒度的性能指标来智能地分配请求,提高了集群资源利用率和响应速度,提升了用户体验。 + +- **Related PR**: [#3061](https://github.com/alibaba/higress/pull/3061) \ + **Contributor**: @Jing-ze \ + **Change Log**: 该PR实现了响应缓存插件的修复与增强,包括改进缓存键提取逻辑、移除冗余参数、修正配置验证问题,并添加了全面的单元测试。 \ + **Feature Value**: 新增响应缓存插件能够显著提升应用性能,通过从请求头或请求体中提取缓存键并存储响应值,减少了重复请求对后端服务的压力。 + +- **Related PR**: [#2825](https://github.com/alibaba/higress/pull/2825) \ + **Contributor**: @CH3CHO \ + **Change Log**: 此PR添加了一个`traffic-editor`插件,支持对请求/响应头进行多种修改操作,并采用更可扩展的代码结构。 \ + **Feature Value**: 新插件允许用户灵活地编辑请求和响应头部信息,增强了Higress网关的功能性和用户体验,提升了系统的灵活性与可维护性。 + +### 🐛 Bug修复 (Bug Fixes) + +- **Related PR**: [#3448](https://github.com/alibaba/higress/pull/3448) \ + **Contributor**: @lexburner \ + **Change Log**: 修复了在处理Qwen API响应时,因`Choices`数组为空导致的数组越界错误。通过增加空数组检查避免程序崩溃。 \ + **Feature Value**: 解决了高并发场景下可能出现的程序异常退出问题,提升了系统的稳定性和健壮性,保证了用户请求能够被正确处理。 + +- **Related PR**: [#3434](https://github.com/alibaba/higress/pull/3434) \ + **Contributor**: @johnlanni \ + **Change Log**: 修正了技能文件前言中描述值未被正确引用的问题,通过将描述值用双引号包裹来避免YAML解析错误。 \ + **Feature Value**: 解决了因特定字符导致的YAML解析失败问题,确保了技能文档能够正确显示和解析,提升了用户体验和文档准确性。 + +- **Related PR**: [#3422](https://github.com/alibaba/higress/pull/3422) \ + **Contributor**: @johnlanni \ + **Change Log**: 修复了model-router插件自动路由模式下请求体中的model字段未同步更新的问题,确保在做出路由决策后,请求体中model字段能正确反映实际使用的模型。 \ + **Feature Value**: 此修复解决了下游服务因接收到错误的请求体模型名称而导致的问题,提升了系统的准确性和可靠性,保证用户能够在自动路由模式下获得正确的处理结果。 + +- **Related PR**: [#3400](https://github.com/alibaba/higress/pull/3400) \ + **Contributor**: @johnlanni \ + **Change Log**: 移除了service.yaml中重复的loadBalancerClass定义,解决了因重复定义导致的YAML解析错误。 \ + **Feature Value**: 修复了配置loadBalancerClass时出现的YAML解析错误问题,提升了用户体验和系统稳定性。 + +- **Related PR**: [#3380](https://github.com/alibaba/higress/pull/3380) \ + **Contributor**: @Thomas-Eliot \ + **Change Log**: 在请求体处理函数中添加了上下文设置操作,将请求模型存入上下文中,确保调用链中能够正确获取到请求模型的数据。 \ + **Feature Value**: 修复了请求模型上下文未设置的问题,提高了系统的稳定性和数据的一致性,使用户在使用过程中不会因为上下文缺失而遇到错误。 + +- **Related PR**: [#3370](https://github.com/alibaba/higress/pull/3370) \ + **Contributor**: @rinfx \ + **Change Log**: 修复了model-mapper中后缀不匹配时仍会处理请求body的问题,并增加了对请求body的JSON验证,确保传入的数据是有效的JSON格式。 \ + **Feature Value**: 此修复提升了系统的健壮性和用户数据的准确性。通过过滤无效输入并确保数据完整性,增强了用户体验和系统稳定性。 + +- **Related PR**: [#3341](https://github.com/alibaba/higress/pull/3341) \ + **Contributor**: @zth9 \ + **Change Log**: 修复了并发SSE连接返回错误端点的问题,确保了在多连接场景下正确处理SSE请求,涉及配置与过滤器逻辑的调整。 \ + **Feature Value**: 提高了系统的稳定性和可靠性,避免因并发访问导致的错误响应,提升了用户体验和数据传输准确性。 + +- **Related PR**: [#3258](https://github.com/alibaba/higress/pull/3258) \ + **Contributor**: @johnlanni \ + **Change Log**: 修复了MCP服务器版本协商的问题,使其符合规范。调整了依赖库的版本。 \ + **Feature Value**: 确保MCP服务器按照预期与规范兼容,提高了系统的稳定性和可靠性,减少了潜在的通信错误。 + +- **Related PR**: [#3257](https://github.com/alibaba/higress/pull/3257) \ + **Contributor**: @sjtuzbk \ + **Change Log**: 该PR修复了ai-proxy插件直接把host重写为difyApiUrl的问题,通过引入net/url包来正确解析和提取hostname。 \ + **Feature Value**: 修复此bug确保了当配置difyApiUrl时,能够准确地仅替换目标主机名而不是整个URL,提升了系统稳定性和用户体验。 + +- **Related PR**: [#3252](https://github.com/alibaba/higress/pull/3252) \ + **Contributor**: @rinfx \ + **Change Log**: 此PR调整了debug日志信息,并引入了错误响应的惩罚机制,确保在遇到错误响应时不会过快地尝试重新选择服务。 \ + **Feature Value**: 通过增加对错误响应的处理机制,有效避免了因快速重试导致的服务选择干扰问题,提升了系统的稳定性和用户体验。 + +- **Related PR**: [#3251](https://github.com/alibaba/higress/pull/3251) \ + **Contributor**: @rinfx \ + **Change Log**: 本PR针对从配置中通过jsonpath提取出的内容为空时的情况进行了特殊处理,使用预定义的字符串`[empty content]`来替代原本空的内容。 \ + **Feature Value**: 这项改动确保了在待检测内容为空的情况下系统仍能正常运行,避免了因为空内容而导致的潜在问题或错误,提升了系统的稳定性和用户体验。 + +- **Related PR**: [#3237](https://github.com/alibaba/higress/pull/3237) \ + **Contributor**: @CH3CHO \ + **Change Log**: 此PR通过增加model-router处理multipart数据时请求体缓冲区大小,解决了在处理大文件上传或其他大体积multipart数据时可能出现的缓冲区过小问题。 \ + **Feature Value**: 提高了系统处理大型multipart数据的能力,减少了因缓冲区不足导致的数据丢失或处理失败情况,提升了用户体验和系统的健壮性。 + +- **Related PR**: [#3225](https://github.com/alibaba/higress/pull/3225) \ + **Contributor**: @wydream \ + **Change Log**: 修复了当设置为`protocol: original`时,`basePathHandling: removePrefix`配置不正确工作的问题。通过修改多个提供商的TransformRequestHeaders实现来避免覆盖basePath处理。 \ + **Feature Value**: 确保在使用`protocol: original`时,`basePathHandling`功能正常运行,提高了包括Azure, OpenAI在内的27+提供商的一致性和可靠性。 + +- **Related PR**: [#3220](https://github.com/alibaba/higress/pull/3220) \ + **Contributor**: @Aias00 \ + **Change Log**: 此PR修复了两个问题:一是跳过Nacos中不健康或禁用的服务实例,二是确保`AllowTools`字段在序列化时始终被包含。 \ + **Feature Value**: 通过过滤不健康或未启用的服务实例,提高了系统的稳定性和可靠性;同时,保证了配置的一致性,避免因字段缺失导致的潜在问题。 + +- **Related PR**: [#3211](https://github.com/alibaba/higress/pull/3211) \ + **Contributor**: @CH3CHO \ + **Change Log**: 此PR修复了ai-proxy插件中旧的HasRequestBody逻辑问题,确保在特定条件下能够正确判断请求是否包含有效主体。 \ + **Feature Value**: 通过更新逻辑,提高了请求处理的准确性和稳定性,避免因错误判断导致的功能异常,提升了用户体验。 + +- **Related PR**: [#3187](https://github.com/alibaba/higress/pull/3187) \ + **Contributor**: @CH3CHO \ + **Change Log**: 该PR绕过了MCP可流式传输的响应体处理,以允许进度通知,解决了在处理特定类型数据时可能出现的问题。 \ + **Feature Value**: 通过绕过不必要的响应体处理步骤,此修复增强了系统的灵活性和用户体验,特别是在需要实时更新状态的应用场景中。 + +- **Related PR**: [#3168](https://github.com/alibaba/higress/pull/3168) \ + **Contributor**: @wydream \ + **Change Log**: 修复了OpenAI能力重写过程中丢弃查询字符串的问题,通过在执行正则匹配前剥离并保存查询参数,在匹配后重新附加这些参数。 \ + **Feature Value**: 确保了带有查询字符串的API请求能够正确解析和处理,提升了系统对复杂路径的支持度,改善了用户体验。 + +- **Related PR**: [#3167](https://github.com/alibaba/higress/pull/3167) \ + **Contributor**: @EndlessSeeker \ + **Change Log**: 该PR更新了多个子模块的版本,并简化了Makefile中关于子模块初始化和更新的命令,以确保子模块能够正确地被拉取。 \ + **Feature Value**: 通过更新子模块并优化相关脚本,提高了项目的构建过程效率,减少了潜在的构建错误,提升了开发者的使用体验。 + +- **Related PR**: [#3148](https://github.com/alibaba/higress/pull/3148) \ + **Contributor**: @rinfx \ + **Change Log**: 移除了toolcall结构体中index字段的omitempty标签,确保当响应中没有提供index时,默认值为0。 \ + **Feature Value**: 修复了响应中缺少toolcall索引的问题,保证了数据的一致性和完整性,提升了系统的稳定性和用户体验。 + +- **Related PR**: [#3022](https://github.com/alibaba/higress/pull/3022) \ + **Contributor**: @lwpk110 \ + **Change Log**: 此PR修复了helm和podmonitor配置中的问题,通过添加podMonitorSelector选项支持gateway.metrics.labels,确保与kube-prometheus-stack的兼容性。 \ + **Feature Value**: 增强了监控系统的自动发现能力,使得用户能够更灵活地配置和监控网关指标,提升了系统的可维护性和用户体验。 + +### ♻️ 重构优化 (Refactoring) + +- **Related PR**: [#3462](https://github.com/alibaba/higress/pull/3462) \ + **Contributor**: @johnlanni \ + **Change Log**: 移除了Claude Code模式下的自动Bash工具注入功能,包括相关常量、逻辑代码及测试用例,并更新了中英文文档。 \ + **Feature Value**: 通过去除不必要的自动Bash工具注入,简化了代码库并提升了系统性能,同时保持了核心功能的完整性和可用性。 + +- **Related PR**: [#3457](https://github.com/alibaba/higress/pull/3457) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR主要更新了版本号至2.2.0,并调整了一些子模块的分支指向,同时修改了Makefile中的ENVOY_PACKAGE_URL_PATTERN变量值。 \ + **Feature Value**: 通过更新版本号和相关配置,确保项目与最新依赖库保持一致,从而避免因版本不匹配导致的潜在构建错误。 + +- **Related PR**: [#3155](https://github.com/alibaba/higress/pull/3155) \ + **Contributor**: @github-actions[bot] \ + **Change Log**: 此PR更新了helm文件夹中的CRD文件,增加了关于routeType的枚举配置。 \ + **Feature Value**: 通过更新CRD文件增加新的枚举配置选项,提升了应用定义的灵活性和可维护性,使得用户能够更方便地进行资源管理和定制。 + +### 📚 文档更新 (Documentation) + +- **Related PR**: [#3461](https://github.com/alibaba/higress/pull/3461) \ + **Contributor**: @johnlanni \ + **Change Log**: 在文档中添加了Claude Code (OAuth模式)的配置指南,包括获得OAuth令牌的方法,以及如何将其作为Higress AI网关中的一个选项。 \ + **Feature Value**: 该更新帮助用户了解并设置新的Claude Code OAuth模式,简化了与AI Gateway集成的过程,使更多开发者能够轻松使用这项服务。 + +- **Related PR**: [#3449](https://github.com/alibaba/higress/pull/3449) \ + **Contributor**: @github-actions[bot] \ + **Change Log**: 此PR为版本2.1.10添加了英文和中文的发布说明,详细记录了该版本中包含的所有更新类型及其数量。 \ + **Feature Value**: 提供详尽的版本更新信息有助于用户更好地了解新版本改进之处,包括新增功能、Bug修复等,便于用户评估升级必要性。 + +- **Related PR**: [#3442](https://github.com/alibaba/higress/pull/3442) \ + **Contributor**: @johnlanni \ + **Change Log**: 该PR移除了文档中对`IMAGE_REPO`环境变量的引用,现在仅需配置`PLUGIN_REGISTRY`,简化了用户部署流程。 \ + **Feature Value**: 通过减少一个不必要的环境变量配置项,提高了文档清晰度和用户体验,使得项目设置更加直观简单。 + +- **Related PR**: [#3441](https://github.com/alibaba/higress/pull/3441) \ + **Contributor**: @johnlanni \ + **Change Log**: 更新了技能文档,以反映基于时区自动选择容器镜像和WASM插件最优注册表的新行为。 \ + **Feature Value**: 通过改进文档来指导用户如何利用新实现的自动化功能,简化了用户的操作流程并提高了体验。 + +- **Related PR**: [#3440](https://github.com/alibaba/higress/pull/3440) \ + **Contributor**: @johnlanni \ + **Change Log**: 增加了针对Higress AI Gateway API服务器部署时遇到的常见错误(如“too many open files”)的故障排除指南。 \ + **Feature Value**: 通过提供详细的故障排查信息,帮助用户更快速地识别和解决因系统配置不当导致的服务启动失败问题,提升用户体验。 + +- **Related PR**: [#3439](https://github.com/alibaba/higress/pull/3439) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR在higress-clawdbot-integration SKILL文档中添加了关于选择地理位置更近的容器镜像仓库指南,包括新增图像仓库选择部分、环境变量表以及示例。 \ + **Feature Value**: 通过提供针对不同地区的镜像仓库选择指导,用户可以更快地部署应用并提高数据访问速度与稳定性,从而提升用户体验。 + +- **Related PR**: [#3433](https://github.com/alibaba/higress/pull/3433) \ + **Contributor**: @johnlanni \ + **Change Log**: 优化了higress-auto-router技能文档,增加了YAML前言,将触发条件移至前言描述中,并去除了冗余部分,提高了文档的清晰度和简洁性。 \ + **Feature Value**: 通过遵循Clawdbot的最佳实践标准,改进了技能文档的质量,使用户能够更方便地理解和使用higress-auto-router功能。 + +- **Related PR**: [#3432](https://github.com/alibaba/higress/pull/3432) \ + **Contributor**: @johnlanni \ + **Change Log**: 优化了`higress-clawdbot-integration`技能文档,使其遵循Clawdbot的最佳实践。包括添加了正确的YAML前导信息、移动触发条件到前导信息的描述中、移除冗余部分并提高了清晰度。 \ + **Feature Value**: 改进后的文档增强了可读性和易用性,使用户更容易理解和使用Higress AI Gateway与Clawdbot集成的功能,从而提升用户体验。 + +- **Related PR**: [#3431](https://github.com/alibaba/higress/pull/3431) \ + **Contributor**: @johnlanni \ + **Change Log**: 更新了`higress-clawdbot-integration/SKILL.md`文档,添加了关于新`config`子命令(支持热重载)的说明部分。 \ + **Feature Value**: 通过引入新的配置管理命令,用户现在可以更方便地管理和更新API密钥,并且更改会实时生效,提升了使用的灵活性和便捷性。 + +- **Related PR**: [#3418](https://github.com/alibaba/higress/pull/3418) \ + **Contributor**: @johnlanni \ + **Change Log**: 优化了nginx-to-higress-migration技能的README文档,新增英文版本,并将原有的中文版移至单独文件,同时添加语言切换链接。 \ + **Feature Value**: 改进后的文档结构清晰,支持多语言选择,提升了用户理解和使用迁移工具的能力,特别是对于非中文用户更为友好。 + +- **Related PR**: [#3416](https://github.com/alibaba/higress/pull/3416) \ + **Contributor**: @johnlanni \ + **Change Log**: 本PR为从Nginx Ingress迁移至Higress网关增加了详细的实践指南,包括配置示例、迁移策略及常见问题解答等内容。 \ + **Feature Value**: 此文档更新极大地方便了计划将Nginx迁移到Higress的用户,通过提供具体的步骤和案例分析简化了迁移过程,减少了潜在的技术障碍。 + +- **Related PR**: [#3405](https://github.com/alibaba/higress/pull/3405) \ + **Contributor**: @johnlanni \ + **Change Log**: 更新了README.md文档,修正了技能名称和描述中的错误引用,确保所有提及改为Clawdbot及相关术语。 \ + **Feature Value**: 提高了文档的准确性,避免用户误解该技能仅支持Claude模型,正确指导用户如何使用Clawdbot触发技能。 + +- **Related PR**: [#3250](https://github.com/alibaba/higress/pull/3250) \ + **Contributor**: @firebook \ + **Change Log**: 此PR更新了ADOPTERS.md文件中关于vipshop使用情况的描述,确保了文档内容的准确性和时效性。 \ + **Feature Value**: 通过更新相关项目采用者的实际使用案例,有助于增强社区对项目的信任度,并为潜在用户提供参考,展示了Higress在实际场景中的应用价值。 + +- **Related PR**: [#3249](https://github.com/alibaba/higress/pull/3249) \ + **Contributor**: @zzjin \ + **Change Log**: 此PR在ADOPTERS.md文件中添加了labring作为Higress项目的采用者之一。 \ + **Feature Value**: 通过更新ADOPTERS.md,社区能够更好地了解哪些组织正在使用Higress项目,从而增强项目的可信度和影响力。 + +- **Related PR**: [#3244](https://github.com/alibaba/higress/pull/3244) \ + **Contributor**: @maplecap \ + **Change Log**: 此PR在ADOPTERS.md文件中添加了快手作为Higress项目的采用者,更新了项目采用者的列表。 \ + **Feature Value**: 通过展示更多的企业用户采用情况,增强了社区对Higress项目的信心,并为潜在用户提供参考案例,促进了项目的推广。 + +- **Related PR**: [#3241](https://github.com/alibaba/higress/pull/3241) \ + **Contributor**: @qshuai \ + **Change Log**: 该PR从ai-token-ratelimit插件的中英文文档中移除了一个未知配置项,确保了文档与实际功能的一致性。 \ + **Feature Value**: 修正了文档中的错误信息,避免了用户因参考不准确的配置而遇到问题,提升了文档的整体质量与可靠性。 + +- **Related PR**: [#3234](https://github.com/alibaba/higress/pull/3234) \ + **Contributor**: @firebook \ + **Change Log**: 该PR在ADOPTERS.md文件中添加了vipshop作为Higress项目的用户。变更仅涉及文档更新,没有代码变动。 \ + **Feature Value**: 通过将vipshop列入项目采纳者名单,增加了项目的可信度和吸引力,有助于其他潜在用户了解Higress的广泛应用情况。 + +- **Related PR**: [#3233](https://github.com/alibaba/higress/pull/3233) \ + **Contributor**: @CH3CHO \ + **Change Log**: 此PR在ADOPTERS.md文件中添加了Trip.com作为Higress项目的新采纳者,同时对列表进行了更新。 \ + **Feature Value**: 通过将Trip.com列为项目的采纳者之一,增强了社区的信任度和项目的知名度,有助于吸引更多用户关注并尝试使用Higress。 + +- **Related PR**: [#3231](https://github.com/alibaba/higress/pull/3231) \ + **Contributor**: @johnlanni \ + **Change Log**: 此PR添加了一个ADOPTERS.md文件,用于记录项目采用者,帮助社区成员了解Higress的实际应用情况。 \ + **Feature Value**: 通过列出项目的采用者,增强了社区的透明度和信任度,有助于新用户理解项目在实际场景中的应用价值。 + +- **Related PR**: [#3129](https://github.com/alibaba/higress/pull/3129) \ + **Contributor**: @github-actions[bot] \ + **Change Log**: 此PR添加了2.1.9版本的发布说明,包括英文和中文版本。详细介绍了该版本中的所有更新内容。 \ + **Feature Value**: 为用户提供清晰详尽的新版本更新概览,便于用户了解新功能、修复的bug及其他改进,增强了用户体验。 + +### 🧪 测试改进 (Testing) + +- **Related PR**: [#3230](https://github.com/alibaba/higress/pull/3230) \ + **Contributor**: @007gzs \ + **Change Log**: 增加了rule matcher的部分匹配单元测试,并修复了wrapper-say-hello示例中获取配置的bug。 \ + **Feature Value**: 通过增加单元测试提高了代码质量与稳定性,同时解决了配置获取的问题,提升了用户体验。 + +--- + +## 📊 发布统计 + +- 🚀 新功能: 48项 +- 🐛 Bug修复: 20项 +- ♻️ 重构优化: 3项 +- 📚 文档更新: 20项 +- 🧪 测试改进: 1项 + +**总计**: 92项更改 + +感谢所有贡献者的辛勤付出!🎉 + + +# 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方式并替换path为完整路径,以及更新dsn字符处理逻辑以支持特殊字符@。 \ + **Feature Value**: 这些改进提升了用户在配置和服务使用上的体验,特别是对于需要直接路由到mcp server或从DB连接至mcp服务的情况,简化了设置流程,减少了因配置错误导致的问题。 + +- **Related PR**: [#612](https://github.com/higress-group/higress-console/pull/612) \ + **Contributor**: @zhwaaaaaa \ + **Change Log**: 此PR添加了对hop-to-hop头的支持,特别是忽略了transfer-encoding: chunked头部,以解决Grafana页面无法正常工作的问题。 \ + **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路由中的插件。 \ + **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**: 引入了基于正则表达式的路径重写功能,使用户能够更灵活地配置请求路径转换规则,满足更复杂的应用场景需求。 + +- **Related PR**: [#603](https://github.com/higress-group/higress-console/pull/603) \ + **Contributor**: @CH3CHO \ + **Change Log**: 该PR在前端组件中添加了一个静态服务端口80的显示逻辑,通过定义常量STATIC_SERVICE_PORT并在适当位置引用它实现。 \ + **Feature Value**: 此功能允许用户明确看到静态服务源使用的服务端口为80,增强了界面的信息透明度和用户体验。 + +- **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通过添加QwenLlmProviderHandler类及相关配置支持自定义Qwen服务,扩展了系统的功能。包括启用了互联网搜索、文件ID上传等功能。 \ + **Feature Value**: 新增的自定义Qwen服务支持为用户提供更灵活的服务配置选项,特别是对于需要自定义设置或特定功能的用户来说非常有用,提升了用户体验和系统灵活性。 + +### 🐛 Bug修复 (Bug Fixes) + +- **Related PR**: [#620](https://github.com/higress-group/higress-console/pull/620) \ + **Contributor**: @CH3CHO \ + **Change Log**: 修正了sortWasmPluginMatchRules逻辑中的拼写错误,确保了规则排序功能的准确性。 \ + **Feature Value**: 修复拼写错误有助于提高系统的稳定性和用户体验,避免因简单的打字错误导致的潜在问题。 + +- **Related PR**: [#619](https://github.com/higress-group/higress-console/pull/619) \ + **Contributor**: @CH3CHO \ + **Change Log**: 此PR在将AiRoute转换为ConfigMap时移除了数据JSON中的版本信息,因为该信息已保存在ConfigMap的元数据中。 \ + **Feature Value**: 通过移除重复的版本信息,简化了ConfigMap的数据结构,避免了冗余,并确保了数据的一致性和准确性。 + +- **Related PR**: [#618](https://github.com/higress-group/higress-console/pull/618) \ + **Contributor**: @CH3CHO \ + **Change Log**: 此PR重构了SystemController中的API认证逻辑,通过移除安全漏洞提升了系统的安全性。修改集中在几个控制器文件上,包括新增AllowAnonymous注解。 \ + **Feature Value**: 修复了一个潜在的安全问题,增强了系统的安全性,防止未经授权的访问,从而保护用户数据和应用免受攻击。 + +- **Related PR**: [#617](https://github.com/higress-group/higress-console/pull/617) \ + **Contributor**: @CH3CHO \ + **Change Log**: 修正了前端控制台中的一些错误,包括列表元素缺少唯一key属性、违反内容安全策略的图片加载问题以及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文件,解决了编号#594的安全漏洞问题,具体涉及CSP(内容安全策略)配置的调整以增强应用安全性。 \ + **Feature Value**: 修复了前端存在的CSP及其他安全风险,提升了系统的整体安全性,保护用户免受潜在的安全威胁如XSS攻击等,增强了用户体验和数据保护。 + +- **Related PR**: [#611](https://github.com/higress-group/higress-console/pull/611) \ + **Contributor**: @qshuai \ + **Change Log**: 此PR修正了LlmProvidersController.java中的一个拼写错误,将API接口的描述从'Add a new route'更正为'Add a new LlmProvider'。 \ + **Feature Value**: 修正文档中的拼写错误提高了代码的可读性和准确性,确保开发人员在使用API时不会因误导性信息而产生混淆。 + +- **Related PR**: [#609](https://github.com/higress-group/higress-console/pull/609) \ + **Contributor**: @CH3CHO \ + **Change Log**: 修复了Consumer接口中name字段类型错误的问题,将布尔类型更改为字符串类型。 \ + **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**: 为了解决服务后端端口不一致导致的兼容性问题,新增了vport属性。通过在配置注册中心时选择性配置vport,默认端口或指定服务虚拟端口来确保路由配置的有效性。 \ + **Feature Value**: 此修复提升了系统对不同服务实例端口变化情况下的适应能力,增强了系统的稳定性和用户体验。对于使用eureka、nacos等注册中心的用户来说,能够避免因端口更改而导致的服务中断问题,提高了服务可用性和一致性。 + +### 📚 文档更新 (Documentation) + +- **Related PR**: [#610](https://github.com/higress-group/higress-console/pull/610) \ + **Contributor**: @heimanba \ + **Change Log**: 此PR主要调整了前端灰度插件文档中的多个配置字段说明,包括将rewrite等字段设为非必填,并更新了rules中name字段的关联规则,同时修正了一些术语和描述确保一致性。 \ + **Feature Value**: 通过这些文档更新,提升了用户理解和使用前端灰度插件时的灵活性与兼容性,使开发者能够更准确地根据需求配置服务,减少了由于配置不明确导致的错误。 + +--- + +## 📊 发布统计 + +- 🚀 新功能: 7项 +- 🐛 Bug修复: 10项 +- 📚 文档更新: 1项 + +**总计**: 18项更改 + +感谢所有贡献者的辛勤付出!🎉 + +