v2.1.9
This release includes 44 updates, covering feature enhancements, bug fixes, performance optimizations, and more.
- New Features: 23 items
- Bug Fixes: 13 items
- Refactoring and Optimization: 3 items
- Documentation Updates: 1 item
- Testing Improvements: 4 items
This release contains 3 important updates, which are recommended for your attention:
- feat(mcp-server): add server-level default authentication and MCP proxy server support (#3096): By introducing server-level default authentication, the system's security and flexibility have been enhanced, allowing users to manage tool and service security policies more conveniently, thereby improving overall service security and user experience.
- feat: add higress api mcp server (#2923): By integrating the higress api mcp server, users can more easily manage and operate Higress resources such as routing, service origins, and AI routing, enhancing the system's manageability and flexibility.
- feat: implement
hgctl agent&mcp addsubcommand (#3051): By introducing new subcommands, the convenience of user operations and the scalability of the system have been improved, allowing users to manage and configure MCP services more flexibly.
For more details, please refer to the Important Features section below.
Here is a detailed description of the key features and improvements in this release:
Related PR: #3096 | Contributor: @johnlanni
Usage Background
In modern microservice architectures, authentication and authorization are key factors in ensuring system security. Existing authentication mechanisms may be too dispersed and difficult to manage, leading to complex and error-prone configurations. Additionally, as the system scales, a single MCP server may not meet performance requirements, necessitating the introduction of a proxy server to distribute the load. This feature aims to address these issues by providing a unified, configurable authentication mechanism and supporting request forwarding through an MCP proxy server. The target user group includes developers and operators who need to enhance system security and scalability.
Feature Details
- Server-Level Default Authentication: New configuration options
defaultDownstreamSecurityanddefaultUpstreamSecurityhave been added to set default authentication for client-to-gateway and gateway-to-backend, respectively. These options can be configured at the global level, with tool-level settings overriding global settings. This design makes authentication configuration more flexible and manageable. - MCP Proxy Server Type: A new server type,
mcp-proxy, has been introduced, allowing MCP requests from clients to be forwarded to backend MCP servers. ThemcpServerURLfield can specify the address of the backend MCP server, and thetimeoutfield can control the request timeout. Additionally, full authentication mechanisms, including client-to-gateway and gateway-to-backend authentication, are supported. - Authentication Code Refactoring: The code related to authentication has been refactored to improve maintainability and extensibility. The version of the dependency library has been updated to ensure compatibility with the latest version.
Usage Instructions
- Enable and Configure: First, enable
defaultDownstreamSecurityanddefaultUpstreamSecurityin the configuration file and set the corresponding authentication parameters. For the MCP proxy server, specify themcpServerURLandtimeoutfields. - Typical Use Cases: Suitable for microservice architectures that require centralized management and unified distribution of authentication policies. For example, in a multi-tenant environment, default authentication configurations can be used to manage the authentication policies of all tenants uniformly.
- Notes: Ensure version compatibility of all related components to avoid issues caused by version mismatches. It is also recommended to conduct thorough testing in a production environment before deployment to verify the effectiveness and performance of the configuration.
Feature Value
- Enhanced Security: By providing a unified authentication configuration, the risk of configuration errors is reduced, enhancing the overall system security. In multi-tenant environments, it better isolates access permissions for different tenants.
- Increased Flexibility: A multi-level priority configuration mechanism is provided, making authentication policies more flexible and manageable. Tool-level configurations can override global settings to adapt to different business needs.
- Improved Scalability: By introducing an MCP proxy server, the load on a single MCP server can be effectively distributed, improving the overall performance and stability of the system. In large-scale distributed systems, this design significantly enhances system scalability.
Related PR: #2923 | Contributor: @Tsukilc
Usage Background
This feature addresses the convenience and flexibility of managing Higress resources. In the past, users may have needed to use multiple APIs or tools to manage different resources, such as routes, service origins, and plugins. Now, with the Higress API MCP Server, users can manage these resources in a unified interface, including new AI routes, AI providers, and MCP servers. This not only simplifies the operational process but also enhances the security and maintainability of the system. The target user group mainly consists of Higress operators and developers who need to manage various Higress resources efficiently and securely.
Feature Details
This PR mainly implements the following features:
- New Higress API MCP Server: Provides a unified API interface to manage Higress resources such as routes, service origins, AI routes, AI providers, MCP servers, and plugins.
- Updated Authentication Mechanism: Changed from the previous username and password authentication to HTTP Basic Authentication, enhancing security.
- New Tool Registration: Registered new AI route, AI provider, and MCP server management tools, enabling the system to support these new features.
- Code Optimization: Removed unnecessary type conversions, improving performance and code clarity.
- Documentation Update: Updated the README documentation to reflect the new features. Technically, by introducing new structs and utility functions, the existing MCP Server functionality was extended, ensuring compatibility with existing features.
Usage Instructions
Enabling and configuring the Higress API MCP Server is simple:
- Configure the URL address of the Higress Console.
- Choose an appropriate authentication method (e.g., HTTP Basic Authentication) and provide the corresponding credentials.
- Use the provided API tools for resource management. For example, use
list-ai-routesto list all AI routes, and useadd-ai-routeto add a new AI route, etc. - For MCP server management, you can use
list-mcp-serversto list all MCP servers and useadd-or-update-mcp-serverto add or update an MCP server, etc. - Notes: Ensure that all fields in the configuration files are correctly filled, especially those involving weight sum validation. It is recommended to use the latest client tools (e.g., Cherry Studio) to provide credentials, enhancing security.
Feature Value
This feature brings significant benefits to users:
- Improved Management Efficiency: Through a unified API interface, users can more efficiently manage and configure various Higress resources, reducing operational complexity.
- Enhanced Security: The new authentication mechanism (e.g., HTTP Basic Authentication) enhances system security, preventing unauthorized access.
- Extended Functionality: The addition of AI route, AI provider, and MCP server management tools enables Higress to better support modern application needs.
- Code Optimization: Removing unnecessary type conversions and optimizing query parameter concatenation logic improves system performance and code quality. Overall, this feature not only enhances user experience but also strengthens the system's stability and security, making it significant in the Higress ecosystem.
Related PR: #3051 | Contributor: @erasernoob
Usage Background
This PR addresses the inconvenience users face when managing and configuring MCP services. In the current Higress CLI tool, there is no direct function to add MCP services, requiring users to manually configure complex API calls. Additionally, there is a lack of a unified CLI tool to initialize and manage the environment. The new feature aims to simplify these operations, allowing users to quickly add and manage MCP services via simple command-line instructions and providing an interactive agent window to set necessary environment variables. The target user group includes Higress developers, operators, and any users who need to manage MCP services.
Feature Details
This update implements two new subcommands: hgctl agent and mcp add. The hgctl agent command starts an interactive agent window to guide users through environment setup. The mcp add command allows users to directly add MCP services, supporting two types of services: direct proxy and OpenAPI-based MCP services. For direct proxy services, users can publish services by specifying URLs and other parameters; for OpenAPI-based services, users can upload OpenAPI specification files and configure them. The core technical points involve integrating with the Higress Console API to achieve automatic service registration and management. Code changes primarily focus on the newly added agent package and related modules, such as base.go, core.go, and mcp.go.
Usage Instructions
To enable hgctl agent, simply run the hgctl agent command. The system will prompt the user to set necessary environment variables upon first use. To use the mcp add command to add an MCP service, users can choose one of the following two methods based on their needs:
- Add a direct proxy service:
hgctl mcp add mcp-deepwiki -t http https://mcp.deepwiki.com --user admin --password 123 --url http://localhost:8080
- Add an OpenAPI-based service:
hgctl mcp add openapi-server -t openapi --spec openapi.yaml --user admin --password 123 --url http://localhost:8080
Notes: Ensure that Go 1.24 or higher is installed, and the environment variables are correctly configured. Best practices include using a custom logging library to record errors and debug information in production environments.
Feature Value
The new feature significantly enhances the usability and flexibility of the Higress CLI tool. By introducing hgctl agent, users can easily initialize and manage the environment without manually configuring complex environment variables. The mcp add command further simplifies the process of adding MCP services, supporting multiple types of MCP services, and improving development and operational efficiency. Additionally, integration with the Higress Console API ensures the consistency and reliability of services. These improvements not only enhance user experience but also strengthen the overall performance and stability of the system, making it significant in the Higress ecosystem.
-
Related PR: #3126
Contributor: @johnlanni
Change Log: This PR updates the Envoy dependency, allowing the WASM plugin to configure Redis client buffering behavior via URL query parameters, including setting the maximum buffer size and flush timeout.
Feature Value: This feature allows users to more flexibly control buffer parameters related to Redis calls, thereby optimizing performance and meeting specific application needs. -
Related PR: #3123
Contributor: @johnlanni
Change Log: Upgraded the proxy version to v2.2.0, updated the Go toolchain to 1.23.7, and added architecture-specific build targets for golang-filter, while fixing dependency issues related to MCP server, OpenAI, and Milvus SDK support.
Feature Value: This update enhances system compatibility and performance, making it easier for developers to deploy applications on different architectures and improving the stability of integration with other services like OpenAI and Milvus. -
Related PR: #3108
Contributor: @wydream
Change Log: Added video-related API paths and processing capabilities, including API name constants for video series, default function entries, and regular expression path handling, and updated the OpenAI provider to support these new endpoints.
Feature Value: This feature expands the AI proxy plugin's capability to handle and parse more types of media content requests, especially video-related operations, thus enhancing user flexibility and efficiency in multimedia content management. -
Related PR: #3071
Contributor: @rinfx
Change Log: This PR adds a new feature example namedinject_encoded_data_to_filter_chain_on_header, allowing the addition of a response body to a request even if there is no response body. By calling a specific Wasm function and processing requests and responses according to specified rules, it ensures the correct injection of data.
Feature Value: This feature extends the application's service capabilities, allowing developers to more flexibly control HTTP response content, especially in scenarios where dynamic generation or modification of the response body is required, greatly enhancing service flexibility and user experience. -
Related PR: #3067
Contributor: @wydream
Change Log: This PR adds vLLM as a new AI provider, supporting various OpenAI-compatible APIs, including chat completion and text completion.
Feature Value: The addition of vLLM support greatly expands Higress' capabilities in proxying AI services, allowing users to more flexibly use different types of AI models and services. -
Related PR: #3060
Contributor: @erasernoob
Change Log: This PR enhances thehgctl mcpandhgctl agentcommands, enabling them to automatically fetch Higress Console credentials from installation configuration files and Kubernetes secrets.
Feature Value: Simplifies the process of handling authentication information when using Higress, improving operational convenience and user experience. -
Related PR: #3043
Contributor: @2456868764
Change Log: Fixed the default port error for Milvus and added Python example code in the README.md to help users better understand and use the feature.
Feature Value: By correcting the configuration error and providing Python example code, the system's stability and usability are improved, making it easier for users to get started and integrate. -
Related PR: #3040
Contributor: @victorserbu2709
Change Log: This PR adds ApiNameAnthropicMessages to the Claude feature, supporting the configuration of the anthropic provider without using protocol=original and directly forwarding /v1/messages requests to anthropic.
Feature Value: Enhances the flexibility and compatibility of different AI service providers, making it easier for users to interact with the Claude API, thus improving the diversity and user experience of the application. -
Related PR: #3038
Contributor: @Libres-coder
Change Log: Added thelist-plugin-instancestool, allowing the AI proxy to query plugin instances within a specified range via the MCP protocol, and updated the bilingual documentation.
Feature Value: This feature enhances the management capability of plugin instances, allowing users to more flexibly query plugin information at different levels, improving system maintainability and user experience. -
Related PR: #3032
Contributor: @johnlanni
Change Log: This PR enables Qwen compatibility mode by default and adds missing API endpoints, including AsyncAIGC, AsyncTask, and V1Rerank, enhancing the AI proxy features.
Feature Value: By enabling compatibility mode by default and expanding API coverage, this update provides users with a more complete out-of-the-box experience and more comprehensive feature support, enhancing system usability and flexibility. -
Related PR: #3029
Contributor: @victorserbu2709
Change Log: This PR adds support for v1/responses in the groq provider by updating the code in the groq.go file.
Feature Value: The new responses feature allows users to better manage and process response data, improving system flexibility and usability, providing developers with more customization space. -
Related PR: #3024
Contributor: @rinfx
Change Log: Added malicious URL and model hallucination detection, fixed the issue of incorrect response when the response contains empty content, and adjusted specific consumer configurations.
Feature Value: Enhances the system's ability to identify malicious behavior, improves user experience and security, and optimizes the handling logic for multiple event return scenarios. -
Related PR: #3008
Contributor: @hellocn9
Change Log: Added support for custom parameter names to configure MCP SSE stateful sessions via thehigress.io/mcp-sse-stateful-param-nameannotation.
Feature Value: Allows users to customize the parameter names for MCP SSE stateful sessions, increasing the flexibility and configurability of the application to meet more scenario needs. -
Related PR: #3006
Contributor: @SaladDay
Change Log: This PR introduces Secret reference support for the Redis configuration of the MCP Server, allowing users to securely store passwords without exposing them in the ConfigMap.
Feature Value: By allowing the use of Kubernetes Secrets to store sensitive information, the system's security is improved, avoiding the risks associated with storing passwords in plain text. -
Related PR: #2992
Contributor: @rinfx
Change Log: This PR records the consumer's name during the authentication and authorization process, even if the consumer is not authorized, for better log observation.
Feature Value: By recording the names of unauthorized consumers, the system's auditability and troubleshooting capabilities are enhanced, allowing administrators to have a more comprehensive understanding of access requests. -
Related PR: #2978
Contributor: @rinfx
Change Log: This PR adds the X-Mse-Consumer header to the request to record the consumer's name, regardless of whether the consumer is authorized, once the consumer's identity is determined during the authentication process.
Feature Value: This feature enhances the traceability of the system, allowing each request to carry consumer information, which is helpful for subsequent audits, log analysis, and problem troubleshooting. -
Related PR: #2968
Contributor: @2456868764
Change Log: Implemented vector database mapping, including a field mapping system and index configuration management, supporting various index types such as HNSW, IVF, and SCANN.
Feature Value: Enhances the flexibility and compatibility of the system, allowing users to customize field mappings and index configurations, thus better adapting to the needs of different database architectures. -
Related PR: #2943
Contributor: @Guo-Chenxu
Change Log: This PR adds support for custom system prompts, allowing users to use custom system prompts when generating release notes. The implementation is done by modifying the GitHub Actions workflow configuration.
Feature Value: This feature allows users to add personalized system prompt information when generating release note documents, improving the flexibility and user experience of the document, making the release notes more aligned with the actual project situation. -
Related PR: #2942
Contributor: @2456868764
Change Log: Fixed the handling logic when the LLM provider is empty, optimized the document structure and content, and updated the README to better describe the functions and configurations of the MCP server.
Feature Value: Enhances the robustness of the system when the LLM provider is empty, improves the user experience, and allows users to better understand the tools and configuration requirements provided by the MCP server. -
Related PR: #2916
Contributor: @imp2002
Change Log: Implemented Nginx migration to the MCP server and provided 7 MCP tools to automate the migration of Nginx configurations and Lua plugins to Higress.
Feature Value: This feature greatly simplifies the migration from Nginx to Higress, improves migration efficiency, and reduces the complexity of user operations.
-
Related PR: #3120
Contributor: @lexburner
Change Log: Adjusted the log level in the ai-proxy plugin by lowering the log level of specific warning messages, reducing unnecessary redundant warning outputs.
Feature Value: Reducing redundant warning messages improves the readability and maintainability of logs, helping users focus on important log information, thereby enhancing the overall user experience. -
Related PR: #3118
Contributor: @johnlanni
Change Log: This PR fixes the issue where port-level TLS and load balancing settings would unconditionally overwrite existing ingress annotation configurations. By adding null checks and improving policy merge logic, it ensures that existing configurations are not mistakenly overwritten.
Feature Value: This fix avoids unnecessary loss or replacement of configurations, improving system stability and reliability, ensuring that user-defined ingress annotations take effect correctly, and enhancing the user experience. -
Related PR: #3095
Contributor: @rinfx
Change Log: Fixed the issue of usage information being lost during the claude2openai conversion process and added an index field to the bedrock streaming tool response to improve the accuracy and completeness of data processing.
Feature Value: This fix ensures that users can obtain complete usage information when using claude2openai conversion and enhances the tracking capability of bedrock streaming responses by adding the index field, improving the user experience and system maintainability. -
Related PR: #3084
Contributor: @rinfx
Change Log: This PR fixes the issue where the Claude to OpenAI request does not include include_usage: true when using streaming.
Feature Value: This fix ensures that users can correctly obtain usage statistics in streaming mode, improving the completeness and user experience of the service. -
Related PR: #3074
Contributor: @Jing-ze
Change Log: Added a check for Content-Encoding in the log-request-response plugin to prevent garbled log content due to compressed request/response bodies.
Feature Value: By improving the log recording mechanism, it ensures that the response body information in the access logs is readable and accurate, enhancing the user experience and system debugging efficiency. -
Related PR: #3069
Contributor: @Libres-coder
Change Log: This PR fixes a bug in the CI test framework by adding the go mod tidy command in the prebuild.sh script, ensuring that the go.mod file in the root directory is also updated.
Feature Value: Solves the issue of CI test failures due to the go.mod file not being correctly updated, ensuring that all PRs triggering e2e tests for wasm plugins pass the CI verification. -
Related PR: #3010
Contributor: @rinfx
Change Log: Fixed the parsing failure issue caused by the EventStream response being split, and adjusted the maxtoken conversion logic to ensure data integrity.
Feature Value: Fixes the EventStream parsing error, improving system stability and reliability, ensuring that users receive accurate data. -
Related PR: #2997
Contributor: @hanxiantao
Change Log: Optimized the rate-limiting logic for clusters, AI tokens, and WASM plugins by cumulatively counting request counts and token usage, solving the issue of resetting counters when changing rate limit values.
Feature Value: Ensures that even when adjusting rate limit thresholds, the existing request count or token usage is not reset, providing a more accurate and reliable rate-limiting mechanism. -
Related PR: #2988
Contributor: @johnlanni
Change Log: Corrected the issue in jsonrpc-converter by using the original JSON instead of the incorrect JSON string formatting method for data processing.
Feature Value: Solves the data processing issue caused by JSON formatting errors, improving system stability and reliability, ensuring that users receive accurate data responses. -
Related PR: #2973
Contributor: @CH3CHO
Change Log: This PR solves the compatibility issue caused by settingmatch_rule_domainto an empty string by always using a wildcard when generatingmcp-sessionconfigurations, avoiding incompatibility with Higress 2.1.8.
Feature Value: Fixes the issue caused by settingmatch_rule_domainto an empty string, improving system stability and compatibility, allowing users to use the MCP server without encountering errors due to version differences. -
Related PR: #2952
Contributor: @Erica177
Change Log: Corrected the json tag of the Id field in the ToolSecurity struct from type to id to ensure correct mapping during data serialization.
Feature Value: This fix resolves the data parsing issue caused by incorrect json tags, improving system stability and data accuracy, enhancing the user experience. -
Related PR: #2948
Contributor: @johnlanni
Change Log: Corrected the Azure service URL type detection logic, added support for the Azure OpenAI Response API, and improved streaming event parsing.
Feature Value: Improves the stability and compatibility of Azure OpenAI integration, ensuring that custom paths and response APIs are correctly handled, enhancing the user experience. -
Related PR: #2941
Contributor: @rinfx
Change Log: This PR fixes compatibility issues with old configurations by adjusting the definition of data structures in themain.gofile to support older versions.
Feature Value: Improves backward compatibility, ensuring that existing users do not encounter functional anomalies due to changes in configuration format when upgrading to the new version.
-
Related PR: #3119
Contributor: @johnlanni
Change Log: Replaced reqChan and deltaReqChan in Connection with channels.Unbounded to prevent deadlock issues caused by HTTP2 flow control.
Feature Value: By avoiding deadlocks caused by HTTP2 flow control, it ensures smooth handling of client requests and responses, improving system stability and performance. -
Related PR: #3113
Contributor: @johnlanni
Change Log: Implemented recursive hash calculation and caching for Protobuf messages using the xxHash algorithm, with special handling for google.protobuf.Any type and map fields.
Feature Value: Optimizes LDS performance by reducing redundant serialization operations in filter chain matching and listener processing, thereby improving overall system efficiency. -
Related PR: #2945
Contributor: @rinfx
Change Log: This PR optimizes the pod selection logic in the ai-load-balancer by updating the Lua script for global minimum request count, reducing unnecessary code lines and improving performance.
Feature Value: The optimized load balancing strategy more efficiently distributes requests, reducing latency and resource waste, enhancing user experience and service stability.
- Related PR: #2965
Contributor: @CH3CHO
Change Log: Updated the description of azureServiceUrl in the ai-proxy README to ensure the documentation accurately reflects the actual purpose of the configuration item.
Feature Value: By improving the description of the azureServiceUrl field, it helps users better understand its role and configuration method, enhancing the readability and practicality of the documentation.
-
Related PR: #3110
Contributor: @Jing-ze
Change Log: This PR adds the CODECOV_TOKEN environment variable in the CI workflow to ensure the Codecov upload step is correctly authenticated.
Feature Value: By adding CODECOV_TOKEN, it improves the accuracy and security of code coverage reports, helping project maintainers better monitor and improve test coverage. -
Related PR: #3097
Contributor: @johnlanni
Change Log: Added unit test code for the mcp-server plugin to ensure the stability and reliability of its core functionalities.
Feature Value: By adding unit tests, the quality of the mcp-server plugin is improved, enhancing system robustness and reducing the likelihood of potential errors. -
Related PR: #2998
Contributor: @Patrisam
Change Log: This PR implements end-to-end test cases for Cloudflare, adding content to go-wasm-ai-proxy.go and go-wasm-ai-proxy.yaml.
Feature Value: By adding Cloudflare end-to-end test cases, it improves the reliability and stability of the system, helping developers better understand and validate the integrated system's performance. -
Related PR: #2980
Contributor: @Jing-ze
Change Log: Added coverage gating functionality to the WASM Go plugin unit test workflow, including detailed coverage information display and a 80% coverage threshold setting.
Feature Value: By increasing the coverage requirements in the CI process, it ensures the quality and stability of the WASM Go plugin, helping developers promptly identify potential issues.
- 🚀 New Features: 23 items
- 🐛 Bug Fixes: 13 items
- ♻️ Refactoring and Optimization: 3 items
- 📚 Documentation Updates: 1 item
- 🧪 Testing Improvements: 4 items
Total: 44 changes (including 3 key updates)
Thank you to all contributors for their hard work! 🎉
This release includes 18 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 7
- Bug Fixes: 10
- Documentation Updates: 1
-
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: This PR optimizes some interaction capabilities of the MCP Server, including header rewriting in direct routing scenarios, support for selecting transport types, and special character handling in DB to MCP Server scenarios.
Feature Value: By improving the interaction methods and processing capabilities of the MCP Server, the system's flexibility and compatibility are enhanced, making it more convenient for users to configure and use backend services, thereby improving the user experience. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: This PR resolves the issue of Grafana pages not working properly due to the reverse proxy server sending atransfer-encoding: chunkedheader by adding support for ignoring hop-to-hop headers.
Feature Value: This feature ensures that even in complex network environments (such as when using a reverse proxy), the Grafana monitoring dashboard can display information correctly, enhancing user experience and system compatibility. -
Related PR: #608
Contributor: @Libres-coder
Change Log: This PR adds plugin display support to the AI routing management page, allowing users to view enabled plugins and expand the AI routing row for more information.
Feature Value: This enhancement improves the AI routing management function, enabling users to more intuitively understand and manage the status of plugins in their AI routing configurations, thereby enhancing the user experience. -
Related PR: #604
Contributor: @CH3CHO
Change Log: This PR enhances path rewriting flexibility by adding support for using regular expressions with thehigress.io/rewrite-targetannotation.
Feature Value: This increase in path rewriting flexibility allows users to modify request paths using more complex rules, enhancing the system's customizability and user experience. -
Related PR: #603
Contributor: @CH3CHO
Change Log: This PR adds a fixed service port 80 display function to the frontend page for static service sources. It defines a constant and updates the form component to show this port number.
Feature Value: This provides users with a more intuitive view to identify and confirm the standard HTTP port (80) used by static service sources, simplifying the configuration process and reducing potential misunderstandings. -
Related PR: #602
Contributor: @CH3CHO
Change Log: This PR adds a search function when selecting upstream services for AI routing. By introducing a search mechanism in the frontend component, it improves the efficiency of users finding the required services.
Feature Value: The new search function significantly enhances the user experience, especially when the service list is long, helping users quickly locate the target service and simplifying the configuration process. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: This PR adds support for custom Qwen services, including enabling internet search and uploading file IDs. The main changes involve the backend SDK and frontend pages to support these new features.
Feature Value: By adding support for custom Qwen services, users can now more flexibly configure their AI services, particularly for applications requiring specific functionalities like internet search or file handling, greatly enhancing the user experience and service customizability.
-
Related PR: #620
Contributor: @CH3CHO
Change Log: Corrected a spelling error in thesortWasmPluginMatchRuleslogic to ensure correct sorting of match rules.
Feature Value: Fixing the spelling error improves code accuracy and readability, avoiding potential logical errors due to misspellings, thereby enhancing system stability and user experience. -
Related PR: #619
Contributor: @CH3CHO
Change Log: This PR removes version information from the data JSON when converting from AiRoute to ConfigMap, as these details are already stored in the ConfigMap metadata.
Feature Value: Removing redundant version information helps reduce data duplication and ensures that the information stored in the ConfigMap is more concise and clear, improving maintainability and consistency. -
Related PR: #618
Contributor: @CH3CHO
Change Log: This PR refactors the API authentication logic in the SystemController to eliminate known security vulnerabilities. It introduces a newAllowAnonymousannotation and updates the relevant controllers to ensure system security.
Feature Value: This fix eliminates security vulnerabilities in the system, enhancing overall security and protecting users from potential attack threats, thus increasing user trust and experience. -
Related PR: #617
Contributor: @CH3CHO
Change Log: Fixed warnings about missing unique key attributes in list items in the frontend console, issues with image loading violating the content security policy, and incorrect type for the Consumer.name field.
Feature Value: Addressing these frontend errors encountered by users enhances the user experience and system stability. -
Related PR: #614
Contributor: @lc0138
Change Log: This PR corrects an error in the ServiceSource type field and adds dictionary value validation logic to ensure the field's accuracy.
Feature Value: Fixing the error in the service source type field enhances system stability and data consistency, preventing issues caused by type mismatches. -
Related PR: #613
Contributor: @lc0138
Change Log: This PR addresses CSP and other security risks in the frontend documentation by adding specific meta tags to enhance web page security.
Feature Value: Enhancing the security of the web application reduces potential security threats, improving the security of user usage. -
Related PR: #611
Contributor: @qshuai
Change Log: Corrected a spelling error in the API method annotations of the LlmProvidersController class, changing 'Add a new route' to the correct description.
Feature Value: Although a small fix, it ensures the accuracy of the API documentation, helping developers better understand and use the API interfaces. -
Related PR: #609
Contributor: @CH3CHO
Change Log: Corrected the type error of the name field in the Consumer interface, changing it from a boolean to a string.
Feature Value: This fix ensures the correct data type for the Consumer.name field, avoiding runtime errors due to type mismatches, thus enhancing system stability and data accuracy. -
Related PR: #605
Contributor: @SaladDay
Change Log: Corrected the AI routing name validation rules to support periods and only allow lowercase letters, and updated the error message to accurately describe the new validation rules.
Feature Value: This fix addresses the inconsistency between the UI prompt and the actual validation logic, improving the consistency and accuracy of the user experience, ensuring that users receive the correct feedback when configuring AI routes. -
Related PR: #552
Contributor: @lcfang
Change Log: To address compatibility issues caused by inconsistent backend service ports, a new vport attribute was added. When the service instance port in the registry changes, the default or specified virtual port can be configured through vport to maintain the validity of the routing configuration.
Feature Value: This PR enhances system stability and reliability, ensuring that routing configurations do not fail when service ports change, thereby improving the user experience and system availability.
- Related PR: #610
Contributor: @heimanba
Change Log: This PR adjusts the configuration field descriptions in the frontend canary documentation, including making fields like rewrite non-mandatory and updating the associated description for the name field in rules. It also updates the Chinese and English README and spec.yaml files.
Feature Value: By increasing the flexibility of configuration options and improving compatibility, users can more easily configure according to their actual needs. Additionally, the consistency and accuracy of the documentation are improved, helping to reduce the difficulty of use and enhance the user experience.
- 🚀 New Features: 7
- 🐛 Bug Fixes: 10
- 📚 Documentation Updates: 1
Total: 18 Changes
Thank you to all contributors for your hard work! 🎉
- @hellocn9 made their first contribution in https://github.com/alibaba/higress/pull/3008
- @Patrisam made their first contribution in https://github.com/alibaba/higress/pull/2998
- @victorserbu2709 made their first contribution in https://github.com/alibaba/higress/pull/3040
- @Libres-coder made their first contribution in https://github.com/alibaba/higress/pull/3038
- @SaladDay made their first contribution in https://github.com/alibaba/higress/pull/3006
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.8...v2.1.9
v2.1.9-rc.1
This release includes 11 updates, covering areas such as feature enhancements, bug fixes, performance optimizations, and more.
- New Features: 3
- Bug Fixes: 5
- Refactoring and Optimization: 1
- Documentation Updates: 2
-
Related PR: #2978
Contributor: @rinfx
Change Log: In the key-auth plugin, regardless of whether authentication is successful, the consumer name will be recorded after it is determined. This is achieved by adding the X-Mse-Consumer field to the HTTP request header.
Feature Value: This feature allows the system to obtain and record the consumer's name earlier, which is very important for logging and subsequent processing, improving the traceability and transparency of the system. -
Related PR: #2968
Contributor: @2456868764
Change Log: This PR introduces the core functionality of vector database mapping, including a field mapping system and index configuration management, supporting various index types.
Feature Value: By providing flexible field mapping and index configuration capabilities, users can more easily integrate with different database architectures, enhancing the system's compatibility and flexibility. -
Related PR: #2943
Contributor: @Guo-Chenxu
Change Log: Added a feature for customizing system prompts, allowing users to add personalized notes when generating release notes. This is implemented by modifying the GitHub Actions workflow file.
Feature Value: This feature allows users to include customized system prompts when generating release notes, enhancing the flexibility and richness of information in the release notes, thereby improving the user experience.
-
Related PR: #2973
Contributor: @CH3CHO
Change Log: This PR fixes an issue in Higress version 2.1.8 where themcp-sessionfilter did not support settingmatch_rule_domainto an empty string, using wildcards to match all domains and eliminate compatibility risks.
Feature Value: This resolves a compatibility issue caused by specific configurations, ensuring that users do not encounter errors due to empty string settings during upgrades or configuration, thus improving the stability and user experience of the system. -
Related PR: #2952
Contributor: @Erica177
Change Log: Corrected the JSON tag for the Id field in the ToolSecurity struct from type to id, ensuring correct mapping during data serialization.
Feature Value: This fix addresses data inconsistency issues caused by incorrect field mapping, enhancing the stability and data accuracy of the system. -
Related PR: #2948
Contributor: @johnlanni
Change Log: Fixed the Azure service URL type detection logic to support custom full paths. Enhanced the handling of Azure OpenAI response APIs and improved edge case parsing in streaming events.
Feature Value: This ensures better compatibility with Azure OpenAI services, improves error handling and user experience, especially when using non-standard paths or streaming responses. -
Related PR: #2942
Contributor: @2456868764
Change Log: Fixed the issue of LLM provider being empty and optimized documentation and prompt messages. Specifically, updated README.md for better explanations and adjusted the default LLM model.
Feature Value: By enhancing the robustness of LLM provider initialization and optimizing related documentation, this improves the stability and user experience of the system, making it clearer for users to understand system configuration and usage. -
Related PR: #2941
Contributor: @rinfx
Change Log: This PR fixes compatibility issues with old configurations, ensuring the system can correctly handle outdated configuration parameters, avoiding potential errors due to configuration changes.
Feature Value: By supporting older version configurations, this enhances the system's backward compatibility, reducing inconvenience to users during upgrades or configuration adjustments, and improving the user experience.
- Related PR: #2945
Contributor: @rinfx
Change Log: Optimized the logic for selecting pods based on the minimum number of requests globally, updated the Lua script code related to ai-load-balancer, reducing unnecessary checks and improving performance.
Feature Value: By improving the minimum request count algorithm in load balancing strategies, this enhances the system's response speed and resource allocation efficiency, allowing users to utilize cluster resources more efficiently.
-
Related PR: #2965
Contributor: @CH3CHO
Change Log: Updated the description of the azureServiceUrl field in the ai-proxy plugin README file to provide clearer and more accurate information.
Feature Value: By improving the description in the documentation, users can better understand how to configure the Azure OpenAI service URL, thus enhancing the user experience and configuration accuracy. -
Related PR: #2940
Contributor: @github-actions[bot]
Change Log: This PR adds English and Chinese release notes for version 2.1.8, detailing 30 updates in this version.
Feature Value: By providing detailed release notes, users can more easily understand the new features, bug fixes, and other information included in the new version, allowing them to make better use of the new features.
- 🚀 New Features: 3
- 🐛 Bug Fixes: 5
- ♻️ Refactoring and Optimization: 1
- 📚 Documentation Updates: 2
Total: 11 changes
Thank you to all contributors for their hard work! 🎉
This release includes 4 updates, covering multiple aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 1
- Bug Fixes: 2
- Documentation Updates: 1
This release contains 1 significant update, which is recommended for special attention:
- feat: Support using a known service in OpenAI LLM provider (#589): This feature allows users to use predefined services within the OpenAI LLM, thereby enhancing development efficiency and flexibility, and meeting the needs of a wider range of application scenarios.
For more details, please refer to the Important Feature Details section below.
Below are detailed explanations of key features and improvements in this release:
Related PR: #589 | Contributor: @CH3CHO
Usage Background
As more organizations and services adopt large language models (LLMs), access and management of these models have become increasingly important. Especially when integration with specific known services, such as an on-premises OpenAI API server or a custom API endpoint, is required. This feature addresses the need for direct support of custom OpenAI services within the Higress system, allowing users to more flexibly configure and use their services. The target user groups include, but are not limited to, developers, operations personnel, and enterprises requiring highly customized solutions.
Feature Details
The update primarily focuses on the OpenaiLlmProviderHandler class, introducing support for custom service sources. By adding new configuration options like openaiCustomServiceName and openaiCustomServicePort, users can now directly specify the details of their custom OpenAI service. Additionally, the code has been improved so that if a custom upstream service is specified, a service source will not be created for the default service. This design not only simplifies the configuration process but also enhances the system's scalability. Technically, this is achieved by overriding the buildServiceSource and buildUpstreamService methods, which include checks for user-defined settings.
Usage Instructions
To enable and configure this new feature, users first need to provide the necessary custom service information in their OpenAI LLM provider settings. This typically involves filling in fields such as the custom service name, host address, and port number. The general steps are: 1. Locate the relevant LLM provider settings section in the Higress console or corresponding configuration file; 2. Enter the appropriate custom service details as prompted; 3. Save the changes. A typical use case might be a company wishing to use its own internally hosted OpenAI interface instead of the publicly available one. It is important to ensure that the provided custom service address is accurate and network-accessible.
Feature Value
This feature greatly enhances the adaptability of the Higress platform to different environments, especially for scenarios requiring high levels of customization. It not only improves the user experience—making the configuration process more intuitive and simple—but also promotes the overall stability and security of the system, as it now allows for the direct use of trusted internal resources. In the long run, such enhancements help build a more robust ecosystem, encouraging more innovative application development.
-
Related PR: #591
Contributor: @CH3CHO
Change Log: Fixed the issue where required fields were not properly validated when enabling route rewriting, ensuring that bothhostandnewPath.pathmust provide valid values when enabled.
Feature Value: This fix improves the accuracy and robustness of system configurations, preventing functional anomalies due to incomplete configurations and enhancing the user experience. -
Related PR: #590
Contributor: @CH3CHO
Change Log: Fixed an error in the Route.customLabels processing logic, ensuring that built-in labels are correctly excluded during updates.
Feature Value: Resolved the conflict between custom labels and built-in labels when updating Routes, improving the stability and user experience of the system.
- Related PR: #595
Contributor: @CH3CHO
Change Log: This PR updated the README.md file, removing non-project-level descriptions and adding code formatting guidelines.
Feature Value: By cleaning up irrelevant information and providing formatting suggestions, it helps developers better understand the project documentation, promoting consistency and readability in code contributions.
- 🚀 New Features: 1
- 🐛 Bug Fixes: 2
- 📚 Documentation Updates: 1
Total: 4 changes (including 1 significant update)
Thank you to all contributors for your hard work! 🎉
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.8...v2.1.9-rc.1
v2.1.8
This release includes 30 updates, covering various aspects such as feature enhancements, bug fixes, performance optimizations, and more.
- New Features: 13
- Bug Fixes: 7
- Refactoring and Optimization: 5
- Documentation Updates: 4
- Testing Improvements: 1
This release includes 2 major updates, which are highly recommended for your attention:
- feat: add rag mcp server (#2930): By introducing the RAG MCP server, this update provides a new way for users to manage and retrieve knowledge, enhancing the functionality and practicality of the system.
- refactor(mcp): use ECDS for golang filter configuration to avoid connection drain (#2931): Using ECDS for filter configuration avoids instability caused by directly embedding golang filter configurations, improving the system's stability and maintainability, and reducing unnecessary service interruptions for users.
For more details, please refer to the important features section below.
Below is a detailed description of the key features and improvements in this release:
Related PR: #2930 | Contributor: @2456868764
Use Case
In modern applications, knowledge management and retrieval have become increasingly important. Many systems require fast and accurate extraction and retrieval of information from large volumes of text data. RAG (Retrieval-Augmented Generation) technology combines retrieval and generation models to effectively enhance the efficiency and accuracy of knowledge management. This PR introduces a Model Context Protocol (MCP) server specifically for knowledge management and retrieval, meeting the needs of users for efficient information processing. The target user group includes enterprises and developers who need to handle large amounts of text data, especially in the fields of natural language processing (NLP) and machine learning.
Feature Details
This PR implements the RAG MCP server, adding multiple functional modules, including knowledge management, block management, search, and chat functions. The core features include:
- Knowledge Management: Supports creating knowledge blocks from text.
- Block Management: Provides functionalities for listing and deleting knowledge blocks.
- Search: Supports keyword-based search.
- Chat Function: Allows users to send chat messages and receive responses. Technically, the server uses several external libraries, such as
github.com/dlclark/regexp2,github.com/milvus-io/milvus-sdk-go/v2, andgithub.com/pkoukk/tiktoken-go, which provide regular expression handling, vector database management, and text encoding functionalities. Key code changes include adding an HTTP client, configuration files, and multiple processing functions to ensure the flexibility and configurability of the system.
Usage Instructions
To enable and configure the RAG MCP server, follow these steps:
- Enable the MCP server in the
higress-configconfiguration file and set the corresponding path and configuration items. - Configure the basic parameters of the RAG system, such as splitter type, chunk size, and overlap.
- Configure the LLM (Large Language Model) provider and its API key, model name, etc.
- Configure the embedding model provider and its API key, model name, etc.
- Configure the vector database provider and its connection information. Example configuration:
rag:
splitter:
type: "recursive"
chunk_size: 500
chunk_overlap: 50
top_k: 5
threshold: 0.5
llm:
provider: "openai"
api_key: "your-llm-api-key"
model: "gpt-3.5-turbo"
embedding:
provider: "openai"
api_key: "your-embedding-api-key"
model: "text-embedding-ada-002"
vectordb:
provider: "milvus"
host: "localhost"
port: 19530
collection: "test_collection"
Notes:
- Ensure all configuration items are correct, especially API keys and model names.
- In production environments, it is recommended to adjust parameters such as timeout appropriately to adapt to different network conditions.
Feature Value
The RAG MCP server provides a complete solution for knowledge management and retrieval, enhancing the intelligence and automation of the system. Specific benefits include:
- Improved Efficiency: Through integrated knowledge management and retrieval functions, users can quickly process and retrieve large volumes of text data, saving time and resources.
- Enhanced Accuracy: Combining RAG technology, the system can more accurately extract and retrieve information, reducing error rates.
- Flexible Configuration: Provides rich configuration options, allowing users to flexibly adjust according to actual needs, meeting the requirements of different scenarios.
- High Scalability: Supports multiple providers and models, making it easy for users to choose suitable components and technology stacks based on business needs.
- Stability Improvement: Through detailed configuration validation and error handling mechanisms, the stability and robustness of the system are ensured.
Related PR: #2931 | Contributor: @johnlanni
Use Case
In the current implementation, Golang filter configurations are directly embedded in the HTTP_FILTER patch, which can lead to connection drain when configurations change. The main reason is the inconsistent sorting of Go maps in the map[string]any field, and the listener configuration changes triggered by HTTP_FILTER updates. This issue affects the stability and user experience of the system. The target user group is developers and operations personnel using Higress for service mesh management.
Feature Details
This PR splits the configuration into two parts: HTTP_FILTER only contains filter references with config_discovery, while EXTENSION_CONFIG contains the actual Golang filter configuration. This way, configuration changes do not directly cause connection drain. The specific implementation includes updating the constructMcpSessionStruct and constructMcpServerStruct methods to return formats compatible with EXTENSION_CONFIG and updating unit tests to match the new configuration structure. The core innovation lies in using the ECDS mechanism to separate configurations, making configuration changes smoother.
Usage Instructions
Enabling and configuring this feature does not require any additional operations as it is automatically handled in the background. A typical use case is when configuring Golang filters in Higress; the system will automatically split them into HTTP_FILTER and EXTENSION_CONFIG. Users only need to configure Golang filters as usual. Note that when upgrading to the new version, ensure all related configuration files are updated and thoroughly tested in the production environment to ensure that configuration changes do not introduce other issues.
Feature Value
By separating configurations and using ECDS, this feature eliminates the connection drain problem during configuration changes, significantly improving the system's stability and user experience. Additionally, this design makes configurations easier to manage and maintain, reducing potential issues caused by configuration changes. For large-scale service mesh deployments, this improvement is particularly important as it reduces service interruptions caused by configuration changes, thereby enhancing the overall reliability and availability of the system.
-
Related PR: #2926
Contributor: @rinfx
Change Log: This PR adds support for multimodal, function calls, and thinking in vertex-ai, involving the introduction of a regular expression library and improvements to the processing logic.
Feature Value: By adding new features, vertex-ai can better support application needs in complex scenarios, such as multimodal data processing and more flexible function call methods, enhancing the system's flexibility and practicality. -
Related PR: #2917
Contributor: @Aias00
Change Log: This PR adds support for Fireworks AI, expanding the functionality of the AI agent plugin, including the addition of necessary configuration files and test code.
Feature Value: Adding support for Fireworks AI allows users to leverage the AI features provided by the platform, broadening the range of AI services that applications can integrate with, and enhancing the user experience. -
Related PR: #2907
Contributor: @Aias00
Change Log: This PR upgrades wasm-go to support outputSchema, involving dependency updates for jsonrpc-converter and oidc plugins.
Feature Value: By supporting outputSchema, the functionality and flexibility of the wasm-go plugin are enhanced, making it easier for users to handle and define output data structures. -
Related PR: #2897
Contributor: @rinfx
Change Log: This PR adds multimodal support and thinking functionality to the ai-proxy bedrock, achieved by extending the relevant code in bedrock.go.
Feature Value: The added multimodal and thinking support enriches the ai-proxy's feature set, enabling users to utilize more advanced AI technologies for complex scenarios, enhancing the system's flexibility and practicality. -
Related PR: #2891
Contributor: @rinfx
Change Log: This PR adds the ability to configure specific detection services for different consumers in the AI content security plugin, allowing users to customize request and response check rules according to their needs.
Feature Value: By supporting independent detection services for different consumers, this feature enhances the system's flexibility and security, enabling users to control the content review process more precisely, thus meeting diverse security policy requirements. -
Related PR: #2883
Contributor: @Aias00
Change Log: This PR adds support for Meituan Longcat, including integration with the Longcat platform and related unit tests.
Feature Value: Adding support for Meituan Longcat expands the plugin's functionality, allowing users to leverage more AI service providers' technologies, enhancing the flexibility and diversity of the application. -
Related PR: #2867
Contributor: @Aias00
Change Log: This PR adds support for Gzip configuration and updates the default settings. By adding gzip options in the Helm configuration file, users can customize compression parameters to optimize response performance.
Feature Value: Adding support for Gzip configuration allows users to adjust the compression level of HTTP responses according to their needs, helping to reduce the amount of transmitted data, speed up page loading, and improve the user experience. -
Related PR: #2844
Contributor: @Aias00
Change Log: This PR enhances the consistent hashing algorithm for load balancing by supporting useSourceIp, modifying the relevant Go code files, and adding an example configuration file.
Feature Value: The newly added useSourceIp option allows users to perform consistent hash load balancing based on source IP addresses, which helps to improve the stability and reliability of services under specific network conditions. -
Related PR: #2843
Contributor: @erasernoob
Change Log: This PR adds NVIDIA Triton server support to the AI agent plugin, including related configuration instructions and code implementation.
Feature Value: Adding support for the Triton server expands the AI agent plugin's feature set, allowing users to leverage high-performance machine learning inference services. -
Related PR: #2806
Contributor: @C-zhaozhou
Change Log: This PR makes ai-security-guard compatible with the MultiModalGuard interface, adding support for multimodal APIs and updating the relevant documentation.
Feature Value: By supporting multimodal APIs, the functionality of ai-security-guard is enhanced, enabling it to handle more complex content security scenarios, improving the user experience and security. -
Related PR: #2727
Contributor: @Aias00
Change Log: This PR adds end-to-end testing support for OpenAI, including test cases for non-streaming and streaming requests.
Feature Value: The added end-to-end testing for OpenAI ensures the system remains stable and accurate when handling different types of requests, improving the user experience. -
Related PR: #2593
Contributor: @Xscaperrr
Change Log: Adds the WorkloadSelector field to limit the scope of EnvoyFilter, ensuring that it does not affect other components in the same namespace in an open-source istio environment.
Feature Value: By limiting EnvoyFilter to only apply to the Higress Gateway, this feature prevents interference with other istio gateways/sidecars in the environment, enhancing the security and isolation of the configuration.
-
Related PR: #2938
Contributor: @wydream
Change Log: This PR fixes the issue where prompt attack detection fails due to the lack of AttackLevel field support in MultiModalGuard mode, ensuring that all levels of attacks are correctly identified.
Feature Value: By adding support for the AttackLevel field, the system's security is improved, preventing high-risk-level prompt attacks from going undetected, ensuring user experience and security. -
Related PR: #2904
Contributor: @johnlanni
Change Log: This PR fixes the issue where the original Authorization header might be overwritten when processing HTTP requests. By unconditionally saving and checking for non-empty before writing to the context, it ensures the accuracy and security of authentication information.
Feature Value: This fix improves the system's security and stability, preventing potential authentication failures or security vulnerabilities due to lost authentication information, enhancing user experience and trust. -
Related PR: #2899
Contributor: @Jing-ze
Change Log: This PR optimizes the MCP server, including pre-parsing the host pattern to reduce runtime overhead and removing the unused DomainList field. It also fixes the SSE message format issue, particularly the handling of extra newline characters.
Feature Value: By improving pattern matching efficiency and memory usage, as well as correcting errors in SSE messages, the user experience and service stability are enhanced, ensuring the correctness and integrity of data transmission. -
Related PR: #2892
Contributor: @johnlanni
Change Log: This PR corrects the JSON unmarshalling error when Claude API returns content in array format and removes redundant code structures, improving code quality and maintainability.
Feature Value: This resolves the message parsing failure due to incorrect data types, enhancing the system's stability and user experience. For users using array as the content format, this fix ensures a smooth message processing flow. -
Related PR: #2882
Contributor: @johnlanni
Change Log: This PR addresses the SSE event chunking issue in Claude's streaming response conversion logic, improving protocol auto-conversion and tool invocation state tracking.
Feature Value: It enhances the bidirectional conversion reliability between Claude and OpenAI-compatible providers, avoiding connection blocking, and enhancing the user experience. -
Related PR: #2865
Contributor: @Thomas-Eliot
Change Log: This PR solves the issue where SSE connections would be blocked when SSE events were split into multiple chunks. By adding a caching mechanism in the proxy mcp server scenario, it ensures the continuity of data stream processing.
Feature Value: This fix resolves the potential issue of SSE connection interruption, enhancing the system's stability and user experience. Users will no longer encounter incomplete data reception due to network conditions or server response methods. -
Related PR: #2859
Contributor: @lcfang
Change Log: This PR solves the issue of route configuration failure when the registered service instance ports are inconsistent by adding a vport element in the mcpbridge. The main changes include updating the CRD definition, protobuf files, and related generated code.
Feature Value: This feature ensures that even if the backend instance ports change, the service route configuration remains valid, thereby improving the system's stability and compatibility, providing a more reliable service experience for users.
-
Related PR: #2933
Contributor: @rinfx
Change Log: This PR removes duplicate think tags in bedrock and vertex, reducing redundant code and improving code readability and maintainability.
Feature Value: By removing unnecessary duplicate code, the overall quality and development efficiency of the project are improved, making the code structure clearer and easier to maintain and extend. -
Related PR: #2927
Contributor: @rinfx
Change Log: This PR modifies the API name extraction logic in the ai-statistics plugin, adjusting the check condition from a fixed length of 5 to at least 3 parts to enhance flexibility and compatibility.
Feature Value: By relaxing the restriction on API string splitting, the system's support for different format API strings is enhanced, improving the system's adaptability and stability. -
Related PR: #2922
Contributor: @daixijun
Change Log: This PR upgrades the Higress SDK package reference in the project fromgithub.com/alibaba/higresstogithub.com/alibaba/higress/v2to be compatible with the latest version.
Feature Value: By updating the package name, the project can introduce and use the latest features and improvements of Higress, enhancing development efficiency and code quality. -
Related PR: #2890
Contributor: @johnlanni
Change Log: This PR refactors thematchDomainfunction, introduces the HostMatcher struct and matching types, replaces regular expressions with simple string operations to improve performance, and implements port stripping logic.
Feature Value: By optimizing the host matching logic, the system performance and code maintainability are improved, making the handling of host headers with port numbers more accurate and efficient, enhancing the user experience.
-
Related PR: #2915
Contributor: @a6d9a6m
Change Log: This PR fixes a broken link in README_JP.md and adds missing parts in README.md, making the multilingual documentation more consistent.
Feature Value: This improves the accuracy and consistency of the documentation, helping users find relevant information more easily, enhancing the user experience. -
Related PR: #2912
Contributor: @hanxiantao
Change Log: This PR optimizes the English and Chinese documentation for the hmac-auth-apisix plugin, adding more detailed configuration explanations, and improving the clarity of the documentation.
Feature Value: By providing more detailed documentation, it helps developers better understand and use the hmac-auth-apisix plugin, improving the user experience. -
Related PR: #2880
Contributor: @a6d9a6m
Change Log: This PR fixes grammatical errors in README.md, README_JP.md, and README_ZH.md files, ensuring the correctness and consistency of the documentation.
Feature Value: By correcting language errors in the documentation, the quality and readability of the documentation are improved, helping users better understand project information. -
Related PR: #2873
Contributor: @CH3CHO
Change Log: This PR adds methods to obtain Higress runtime logs and configurations in the non-crash-safe vulnerability issue template, helping to better investigate problems.
Feature Value: By providing more detailed log and configuration information, users can more easily diagnose and resolve issues, improving the efficiency and accuracy of problem handling.
- Related PR: #2928
Contributor: @rinfx
Change Log: This PR updates the test code for the ai-security-guard component, adding new test cases and adjusting some existing test logic.
Feature Value: By improving the test coverage and accuracy of ai-security-guard, the stability and reliability of the entire project are enhanced, helping developers better understand and maintain related features.
- 🚀 New Features: 13
- 🐛 Bug Fixes: 7
- ♻️ Refactoring and Optimization: 5
- 📚 Documentation Updates: 4
- 🧪 Testing Improvements: 1
Total: 30 changes (including 2 major updates)
Thank you to all contributors for your hard work! 🎉
This release includes 4 updates, covering aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 1 item
- Bug Fixes: 2 items
- Documentation Updates: 1 item
This release contains 1 significant update, which is recommended for special attention:
- feat: Support using a known service in OpenAI LLM provider (#589): This feature allows users to utilize existing service resources within the OpenAI LLM provider, thereby enhancing the flexibility and usability of the system, offering more options to users.
For more details, please refer to the "Important Features in Detail" section below.
Here are detailed explanations of the important features and improvements in this release:
Related PR: #589 | Contributor: @CH3CHO
Usage Background
In many application scenarios, developers may wish to use their own custom OpenAI service instance instead of the default one. This could be due to specific security requirements, performance optimizations, or infrastructure constraints. This PR meets these needs by introducing support for known services. The target user group includes enterprise-level users and technical experts who require highly customized configurations. This feature addresses the issue of users not being able to flexibly choose and configure OpenAI services, improving the adaptability and user experience of the system.
Feature Details
This PR mainly implements the following:
- Allows users to specify a custom service when configuring the OpenAI LLM provider.
- Modifies the
OpenaiLlmProviderHandlerclass, adding thebuildServiceSourceandbuildUpstreamServicemethods to handle the logic for custom services. - Adds a delete method with an
internalparameter to theWasmPluginInstanceServiceinterface, supporting finer-grained control. - Updates the frontend internationalization resource files, adding prompts related to custom services. The key technical point lies in extending the existing architecture so that the system can recognize and use user-provided custom services while maintaining backward compatibility.
Usage Instructions
Enabling and configuring this feature is straightforward. First, when creating or updating an LLM provider, select the "Custom OpenAI Service" option and enter the corresponding service host and service path. Then, the system will automatically use these custom configurations to connect to the OpenAI service. Typical use cases include internally deployed OpenAI service instances within enterprises or environments requiring specific security policies. It's important to ensure that the entered URL is valid and that the service host and service path are correct. Best practice involves thorough testing to ensure that the custom configuration works as expected.
Feature Value
This new feature significantly enhances the flexibility and configurability of the system, allowing users to choose the most suitable OpenAI service based on their needs. For enterprise-level users who require high levels of customization, this flexibility is particularly crucial. Additionally, by supporting custom services, the system can better integrate into existing infrastructures, improving overall stability and performance. This is of great significance for maintaining and scaling large application systems. Overall, this feature not only enhances the user experience but also brings higher scalability and reliability to the system.
-
Related PR: #591
Contributor: @CH3CHO
Change Log: This PR fixes the issue where mandatory fields were not properly validated when enabling route rewrite configuration, ensuring that bothhostandnewPath.pathmust provide valid values to avoid configuration errors.
Feature Value: By correcting the validation logic for route rewrites, it prevents potential errors caused by incomplete configurations, enhancing the system's stability and user experience. -
Related PR: #590
Contributor: @CH3CHO
Change Log: Fixed an error in the Route.customLabels handling logic, ensuring that built-in labels are correctly excluded during updates.
Feature Value: Resolved the conflict between custom labels and built-in labels, ensuring flexibility and accuracy for users when updating route settings.
- Related PR: #595
Contributor: @CH3CHO
Change Log: Removed irrelevant descriptions from README.md and added a code formatting guide, making the documentation more focused on the project itself.
Feature Value: By updating README.md, users can more clearly understand the project structure and code formatting requirements, helping new contributors get up to speed quickly.
- 🚀 New Features: 1 item
- 🐛 Bug Fixes: 2 items
- 📚 Documentation Updates: 1 item
Total: 4 changes (including 1 significant update)
Thank you to all contributors for their hard work! 🎉
- @a6d9a6m made their first contribution in https://github.com/alibaba/higress/pull/2880
- @C-zhaozhou made their first contribution in https://github.com/alibaba/higress/pull/2806
- @Xscaperrr made their first contribution in https://github.com/alibaba/higress/pull/2593
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.7...v2.1.8
v2.1.7
- Add release notes by @github-actions[bot] in https://github.com/alibaba/higress/pull/2693
- Fix the issue where AI route fallback does not work when using Bedrock. by @johnlanni in https://github.com/alibaba/higress/pull/2653
- feat: Rust WASM supports Redis database configuration option by @hanxiantao in https://github.com/alibaba/higress/pull/2704
- fix(wasm-go): transformer performs an add op when the replace key does not exist by @WeixinX in https://github.com/alibaba/higress/pull/2706
- AI security streaming by @rinfx in https://github.com/alibaba/higress/pull/2696
- feat(ai-proxy): gemini model thinking support by @SCMRCORE in https://github.com/alibaba/higress/pull/2712
- Deprecate the use of slash as a concatenation character for mcp server and tool, to avoid non-compliance with function naming conventions. by @johnlanni in https://github.com/alibaba/higress/pull/2711
- feat(provider): add support for Grok provider in AI proxy by @Aias00 in https://github.com/alibaba/higress/pull/2713
- feat(wasm-go): add field reroute to disable route reselection by @WeixinX in https://github.com/alibaba/higress/pull/2739
- add value length limit for ai statistics, truncate when over limit by @rinfx in https://github.com/alibaba/higress/pull/2729
- feat: improve ai statistic plugin by @Aias00 in https://github.com/alibaba/higress/pull/2671
- chore: Update some log levels in ai-statistics by @CH3CHO in https://github.com/alibaba/higress/pull/2740
- feat(ai-proxy): gemini model multimodal support by @erasernoob in https://github.com/alibaba/higress/pull/2698
- fix(ip-restriction): fix bug of set ip_source_type by @Jing-ze in https://github.com/alibaba/higress/pull/2743
- Fix typos by @co63oc in https://github.com/alibaba/higress/pull/2628
- fix(golang-filter): fix bug of stop and buffer in decode data by @Jing-ze in https://github.com/alibaba/higress/pull/2754
- fix(golang-filter): fix mcp server contruct envoy filter unit test by @Jing-ze in https://github.com/alibaba/higress/pull/2757
- fix: Allow duplicated items in the IP list of ip-restriction config by @CH3CHO in https://github.com/alibaba/higress/pull/2755
- feat(transformer): Add split and retain strategy for dedupe by @johnlanni in https://github.com/alibaba/higress/pull/2761
- feat: Support adding a proxy server in between when forwarding requests to upstream by @CH3CHO in https://github.com/alibaba/higress/pull/2710
- fix: Fix the malfunction of match_service rules in C++ Wasm plugins by @CH3CHO in https://github.com/alibaba/higress/pull/2723
- fix: Fix bugs in the bedrock model name escaping logic by @CH3CHO in https://github.com/alibaba/higress/pull/2663
- update ai-prompt-decorator to new plugin wrapper api by @StarryVae in https://github.com/alibaba/higress/pull/2777
- fix(ai-proxy): Do not change the configured components of Azure URL by @CH3CHO in https://github.com/alibaba/higress/pull/2782
- chore: Restructure the path-to-api-name mapping logic in ai-proxy by @CH3CHO in https://github.com/alibaba/higress/pull/2773
- fix: Remove "accept-encoding" header for mcp-sse upstreams by @CH3CHO in https://github.com/alibaba/higress/pull/2786
- feat(mcp-server): update the dependency github.com/higress-group/wasm-go to support MCP response images by @zat366 in https://github.com/alibaba/higress/pull/2788
- Update CRD file in the helm folder by @github-actions[bot] in https://github.com/alibaba/higress/pull/2769
- feat(ai-proxy): bedrock support tool use by @rinfx in https://github.com/alibaba/higress/pull/2730
- fix RegisteTickFunc by @co63oc in https://github.com/alibaba/higress/pull/2787
- chore: fix typos by @co63oc in https://github.com/alibaba/higress/pull/2770
- fix(wasm-go-build): correct the build command by @erasernoob in https://github.com/alibaba/higress/pull/2799
- feat(ai-proxy): add anthropic/v1/messages and openai/v1/models support for DeepSeek by @daixijun in https://github.com/alibaba/higress/pull/2808
- feat(ai-proxy): add auto protocol compatibility for OpenAI and Claude APIs by @johnlanni in https://github.com/alibaba/higress/pull/2810
- chore: fix typos by @Asnowww in https://github.com/alibaba/higress/pull/2816
- feat(wasm-plugin): add hmac-auth-apisix plugin by @hanxiantao in https://github.com/alibaba/higress/pull/2815
- feat(ai-proxy): add OpenRouter provider support by @johnlanni in https://github.com/alibaba/higress/pull/2823
- feat(wasm-plugin): add jsonrpc-converter plugin by @johnlanni in https://github.com/alibaba/higress/pull/2805
- feat(wasm-go): add wasm go plugin unit test and ci workflow by @Jing-ze in https://github.com/alibaba/higress/pull/2809
- feat: add MCP SSE stateful session load balancer support by @johnlanni in https://github.com/alibaba/higress/pull/2818
- feat(wasm-plugin): add tests and docs for hmac-auth-apisix by @hanxiantao in https://github.com/alibaba/higress/pull/2842
- Add security schema for nacos mcp by @Erica177 in https://github.com/alibaba/higress/pull/2847
- @SCMRCORE made their first contribution in https://github.com/alibaba/higress/pull/2712
- @zat366 made their first contribution in https://github.com/alibaba/higress/pull/2788
- @Asnowww made their first contribution in https://github.com/alibaba/higress/pull/2816
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.6...v2.1.7
v2.1.6
This release includes 33 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 14 items
- Bug Fixes: 5 items
- Refactoring and Optimization: 8 items
- Documentation Updates: 5 items
- Testing Improvements: 1 item
-
Related PR: #2679 Contributor: erasernoob Change Log: This PR adds support for external FQDNs by introducing a new configuration option in the mirror annotation and updating the relevant test cases to ensure the correctness of the new feature. Feature Value: Users can now use external services as mirror targets, enhancing the system's flexibility and scalability, allowing for a wider range of service integration scenarios.
-
Related PR: #2667 Contributor: hanxiantao Change Log: This PR adds the functionality to set global route rate limit thresholds for the AI Token rate limiting plugin and improves the base logic and log prompts for the
cluster-key-rate-limitandai-token-ratelimitplugins. Feature Value: The new feature allows users to more flexibly control traffic by setting global rate limit thresholds to prevent overload, improving system stability and availability, and optimizing the user experience. -
Related PR: #2652 Contributor: OxalisCu Change Log: This PR adds support for first-byte timeout for LLM streaming requests in the AI proxy plugin by introducing the
firstByteTimeoutparameter in the configuration. Feature Value: This feature enhances the system's ability to handle long non-responsive LLM services, improving user experience and system stability. -
Related PR: #2650 Contributor: zhangjingcn Change Log: This PR implements the functionality to fetch ErrorResponseTemplate configurations from the Nacos MCP registry by modifying the
mcp_model.goandwatcher.gofiles. Feature Value: This feature makes it easier for users using the MCP registry to obtain error response templates, thereby enhancing the system's flexibility and maintainability. -
Related PR: #2649 Contributor: CH3CHO Change Log: This PR introduces support for different formats of Azure OpenAI URLs, including three new URL configuration methods, and ensures that the
api-versionparameter is always required. Feature Value: This enhancement increases the system's flexibility and compatibility, making it easier for users to configure connections with Azure OpenAI services, supporting more use cases. -
Related PR: #2648 Contributor: daixijun Change Log: This PR adds support for the
/v1/messagesinterface of the Anthropic provider in the qwen Provider by introducing new dependencies and modifying related code logic in theqwen.gofile. Feature Value: The new feature expands the capabilities of the qwen Provider, allowing users to process messages using the Anthropic API, enhancing the system's flexibility and applicability. -
Related PR: #2639 Contributor: johnlanni Change Log: This PR optimizes the request processing flow by disabling route redirection in specific plugins. The main changes involve multiple WASM plugin-related files to ensure that plugins that do not need re-matching do not trigger additional routing logic. Feature Value: For users using these plugins, this feature can improve API gateway performance, reduce unnecessary resource consumption, and speed up response times, thereby enhancing overall system efficiency.
-
Related PR: #2585 Contributor: akolotov Change Log: This PR adds a configuration file for the Blockscout MCP server, including detailed YAML configuration and corresponding README documentation. Feature Value: By integrating the Blockscout MCP server, users can more easily monitor and analyze EVM-compatible blockchain networks, enhancing system observability and user experience.
-
Related PR: #2551 Contributor: daixijun Change Log: This PR adds support for the Anthropic and Gemini APIs, including the
anthropic/v1/messages,anthropic/v1/complete, andgemini/v1beta/generatecontentinterfaces. Feature Value: By supporting more AI service provider APIs, users can more flexibly choose and integrate different AI functionalities, thereby expanding application capabilities and enhancing user experience. -
Related PR: #2542 Contributor: daixijun Change Log: This PR adds a token usage statistics feature for the images, audio, and responses interfaces, and defines
UnifySSEChunkandGetTokenUsageas public utility functions to reduce code duplication. Feature Value: This new feature allows users to better monitor and manage API token usage, especially for multimedia file processing-related interfaces, enhancing system observability and cost control capabilities. -
Related PR: #2537 Contributor: wydream Change Log: This PR adds text re-ranking support for the Qwen model, introducing a new API endpoint
qwen/v1/rerankand making corresponding updates in theprovider.goandqwen.gofiles. Feature Value: By introducing the Qwen text re-ranking feature, users can now use this new feature for more efficient information retrieval and sorting, enhancing the application's data processing capabilities. -
Related PR: #2535 Contributor: wydream Change Log: This PR introduces the
basePathandbasePathHandlingoptions, allowing flexible handling of request paths. By setting theremovePrefixorprependmode, the behavior of the base path can be controlled to adapt to different routing needs. Feature Value: This new feature enables the API gateway to better handle URLs with prefixes, simplifying the backend service's path handling logic and enhancing the flexibility of service configuration and user experience. -
Related PR: #2517 Contributor: cr7258 Change Log: This PR re-implements the Higress API MCP server using golang-filter, adding features such as route management, service discovery, and plugin resource management. Feature Value: The new feature provides a more flexible way to manage Higress resources, allowing users to more easily manage routes and service origins, enhancing system maintainability and scalability.
-
Related PR: #2499 Contributor: heimanba Change Log: This PR adds the
useManifestAsEntryconfiguration option, updates theGrayConfigstruct, and modifies the related processing logic and documentation. The main changes include adding theUseManifestAsEntryfield inGrayConfig, updating the HTML response handling logic, and updating the README. Feature Value: This feature allows users to control whether the homepage request is cached through theuseManifestAsEntryconfiguration, enhancing the flexibility during gray releases and ensuring that the homepage request is not cached as expected in specific scenarios, thereby ensuring the effectiveness of the gray release strategy.
-
Related PR: #2687 Contributor: Thomas-Eliot Change Log: This PR fixes an SQL error encountered when using the
mcp clienttool'sdescribeTablefunction by introducing thestringslibrary. Feature Value: This fix ensures that users can correctly obtain table structure information, enhancing the stability and reliability of the tool during the migration from Postgres to the MCP Server. -
Related PR: #2662 Contributor: johnlanni Change Log: This PR fixes a memory leak issue in
proxy-wasm-cpp-hostand a 404 error caused by port mapping mismatches when PPV2 is enabled, by updating the relevant configurations and optimizing the lookup logic. Feature Value: This resolution addresses resource wastage and service interruption risks due to memory leaks, enhancing system stability and performance; it also ensures correct routing in complex network environments, improving the user experience. -
Related PR: #2656 Contributor: co63oc Change Log: This PR corrects spelling errors in multiple files, including variable names, function names, interface method names, and documentation, improving code readability and consistency. Feature Value: By fixing these spelling errors, the code quality and user experience are improved, reducing potential logical errors and runtime exceptions, ensuring system stability and reliability.
-
Related PR: #2623 Contributor: Guo-Chenxu Change Log: This PR fixes issues that may occur when handling special character translations, ensuring that version release notes do not cause JSON format errors due to special characters. Feature Value: By resolving special character translation issues, the system stability and user experience are improved, ensuring the accuracy and readability of the version release notes.
-
Related PR: #2507 Contributor: hongzhouzi Change Log: This PR corrects an error that occurs when compiling
golang-filter.soon arm64 architecture machines, ensuring the correct installation of the corresponding architecture toolchain. Feature Value: This solution addresses compilation issues on specific architectures, ensuring cross-platform compatibility, and enhancing user experience and development efficiency.
-
Related PR: #2688 Contributor: johnlanni Change Log: This PR updates the OSS upload tool in the CI/CD workflow and upgrades the version number from v2.1.5 to v2.1.6, with minor adjustments to the Makefile. Feature Value: By updating the tools and version numbers in the CI/CD process, the project's maintainability and consistency are improved, ensuring that users can access the latest stable versions.
-
Related PR: #2673 Contributor: johnlanni Change Log: This PR improves the
findEndpointUrlfunction to handle multiple SSE messages, supporting continued processing of subsequent messages even when non-endpointevents are encountered. Feature Value: This enhancement increases the robustness and flexibility of the MCP endpoint parser, ensuring thatendpointinformation can be correctly parsed even after receiving other types of messages, enhancing system stability and user experience. -
Related PR: #2661 Contributor: johnlanni Change Log: This PR adjusts the DNS service domain name validation regular expression, relaxing the domain format restrictions. Feature Value: By relaxing the domain validation rules, the system's flexibility and compatibility are increased, allowing a wider variety of domain names to be accepted, providing users with a broader range of use cases.
-
Related PR: #2615 Contributor: johnlanni Change Log: This PR removes some unnecessary variables and configurations in the build process of wasm-go-related plugins, simplifying the Dockerfile, Makefile, and related extension files. Feature Value: By cleaning up redundant code, the project remains tidy, making maintenance easier and reducing potential error sources. For users, this helps to improve system stability and maintainability.
-
Related PR: #2600 Contributor: johnlanni Change Log: This PR updates the Go version in the wasm-go build image to 1.24.4 and removes some comments and outdated information from the DockerfileBuilder. Feature Value: By upgrading the Go version, the security and stability of the build process are improved, ensuring developers can use the latest features and technical improvements.
-
Related PR: #2598 Contributor: johnlanni Change Log: This PR updates the Go version in the wasm-go builder image to 1.24.4 and removes descriptions of support for specific architectures from the Dockerfile. Feature Value: By upgrading the Go version and simplifying the Dockerfile content, the consistency and stability of the build environment are enhanced, indirectly promoting the performance and compatibility of WASM plugins developed using this builder.
-
Related PR: #2564 Contributor: rinfx Change Log: This PR optimizes the location of the request count logic to ensure correct handling even in exceptional cases; it also improves the Redis Lua script logic, including fixing string comparison issues and configuration parameter judgment errors. Feature Value: By moving the minimum request count -1 logic to
streamdoneand fixing type conversion and logical errors in the Lua script, the system's stability and accuracy are improved, reducing potential runtime errors. -
Related PR: #2532 Contributor: erasernoob Change Log: This PR migrates the WASM Go plugins to the new SDK and Go 1.24, updating the CI/CD configuration files and other related code to ensure compatibility and correct builds. Feature Value: By upgrading the Go version and SDK, the performance and stability of the plugins are improved, laying the foundation for future feature development and reducing potential compile-time and runtime errors.
-
Related PR: #2675 Contributor: Aias00 Change Log: This PR fixes four invalid links in the documentation files, ensuring that users can access the correct external resources. Feature Value: By fixing broken links, the accuracy and usability of the documentation are improved, allowing developers to more smoothly obtain the necessary information, thereby enhancing the user experience.
-
Related PR: #2668 Contributor: Aias00 Change Log: This PR updates the README file for the Rust Wasm plugin development framework, providing detailed development guidelines, including environment requirements, build steps, and testing methods. Feature Value: This update greatly improves the project's maintainability and ease of use, enabling new developers to quickly get started and understand how to develop Wasm plugins using Rust.
-
Related PR: #2647 Contributor: Guo-Chenxu Change Log: This PR adds a new contributors list and a complete changelog, and adds a forced line break function in markdown to improve the organization and readability of the documentation. Feature Value: By adding a new contributors list and a complete changelog, the transparency of the project and recognition of community members are enhanced; the documentation format is also optimized, making the information more clearly and easily readable.
-
Related PR: #2635 Contributor: github-actions[bot] Change Log: This PR adds release notes in both Chinese and English for version 2.1.5, summarizing 41 updates, covering new features, bug fixes, and performance optimizations. Feature Value: By providing detailed release notes, users can understand the specific content and improvements of the version update, enhancing the user experience and system transparency.
-
Related PR: #2586 Contributor: erasernoob Change Log: This PR updates the README files related to the wasm-go plugins, removing TinyGo-related configurations and upgrading the Go version requirement from 1.18 to 1.24 to support wasm build features. Feature Value: By updating the documentation, users can obtain the latest compilation environment requirements, avoiding compilation failures due to outdated tool versions, thereby improving development efficiency and experience.
- Related PR: #2596 Contributor: Guo-Chenxu Change Log: This PR introduces a new GitHub Action workflow to automatically generate and submit release notes when a new version is released. By setting the necessary secrets, the security and reliability of the automation process are ensured. Feature Value: This feature greatly simplifies the version release process, reducing the manual work of writing and submitting release notes, improving the team's efficiency, and ensuring the consistency and accuracy of the documentation.
- 🚀 New Features: 14 items
- 🐛 Bug Fixes: 5 items
- ♻️ Refactoring and Optimization: 8 items
- 📚 Documentation Updates: 5 items
- 🧪 Testing Improvements: 1 item
Total: 33 changes
Thank you to all the contributors for their hard work! 🎉
This release includes 12 updates, covering feature enhancements, bug fixes, and performance optimizations.
- New Features: 6 items
- Bug Fixes: 5 items
- Refactoring and Optimization: 1 item
-
Related PR: #562 Contributor: CH3CHO Change Log: This PR implements the functionality to configure multiple routes within a single route or AI route by modifying the backend services and frontend components. Feature Value: It allows users to configure multiple routes under one route or AI route, simplifying route management in complex scenarios, improving flexibility and user experience.
-
Related PR: #560 Contributor: Erica177 Change Log: Added JSON Schema for multiple plugins, including AI agent, caching, data masking, history, and intent recognition, defining detailed configuration properties. Feature Value: By introducing JSON Schema, it enhances the plugin configuration management capability, allowing users to intuitively understand and set plugin parameters, improving the accuracy and ease of use of configurations.
-
Related PR: #555 Contributor: hongzhouzi Change Log: Added execution, list display, table, and tool configuration features for DB MCP Server, ensuring that the configurations displayed in the console are consistent with those in higress-gateway. Feature Value: Users can now view and manage detailed configuration information of the DB MCP Server through the console, enhancing system maintainability and consistency.
-
Related PR: #550 Contributor: CH3CHO Change Log: This PR updated the AI routing configuration logic to ensure correct synchronization of routing configurations when updating specific types of LLM providers. Feature Value: With this feature update, users can more accurately manage their AI service routing configurations, especially after changing LLM provider types, ensuring consistency and availability of service names.
-
Related PR: #547 Contributor: CH3CHO Change Log: Enhanced user control over configuration changes by introducing undo/redo functionality on the system configuration page, mainly modifying the CodeEditor component and related page logic. Feature Value: The new undo/redo feature allows users to easily roll back or restore configuration changes, improving user experience and reducing the risk of errors.
-
Related PR: #543 Contributor: erasernoob Change Log: This PR upgraded the plugin version from 1.0.0 to 2.0.0, involving updates to the
plugins.propertiesfile. Feature Value: Upgrading the plugin version to 2.0.0 enables users to enjoy performance improvements and enhanced features, improving overall system stability and user experience.
-
Related PR: #559 Contributor: KarlManong Change Log: This PR corrected the line endings format in project files, ensuring all non-binary and cmd files end with LF, improving code consistency and cross-platform compatibility. Feature Value: Standardizing line endings to LF helps avoid issues caused by different operating systems, enhancing project maintainability and user experience.
-
Related PR: #554 Contributor: CH3CHO Change Log: Fixed two UI issues in the LLM provider management module: 1. Missing scheme for Google Vertex service endpoint; 2. Ensured form state is reset after canceling the addition of a new provider. Feature Value: Fixing these UI issues improves the user experience when managing LLM providers, reducing operational errors due to interface problems and enhancing system usability and stability.
-
Related PR: #549 Contributor: CH3CHO Change Log: This PR ensures that the latest plugin configuration is always loaded when opening the configuration edit drawer, achieved by updating a few lines of code in specific files. Feature Value: It fixed the issue of potentially displaying outdated plugin configurations, ensuring that users see the latest settings each time they view or edit, improving user experience consistency and accuracy.
-
Related PR: #548 Contributor: CH3CHO Change Log: This PR fixed the issue of leading and trailing spaces in the Wasm image URL before submission, ensuring the URL format is correct by removing extra spaces. Feature Value: This fix improves system robustness and user input fault tolerance, ensuring successful submission even if users accidentally add spaces to the URL.
-
Related PR: #544 Contributor: CH3CHO Change Log: Fixed the incorrect error message displayed when enabling authentication but not selecting a consumer, by updating translation files and adjusting component code to ensure accurate error messages. Feature Value: It improves the accuracy of information in the user interface, avoiding confusion caused by misleading error messages, enhancing user experience.
- Related PR: #551 Contributor: JayLi52 Change Log: Removed the disabled state for host and port fields in database configuration, changed the default API gateway URL from https to http, and updated the API gateway URL display logic in the MCP details page. Feature Value: These changes improve system flexibility, allowing users to customize database connection information and ensure consistency and compatibility by simplifying the URL protocol.
- 🚀 New Features: 6 items
- 🐛 Bug Fixes: 5 items
- ♻️ Refactoring and Optimization: 1 item
Total: 12 changes
Thank you to all contributors for your hard work! 🎉
- @akolotov made their first contribution in https://github.com/alibaba/higress/pull/2585
- @Guo-Chenxu made their first contribution in https://github.com/alibaba/higress/pull/2596
- @OxalisCu made their first contribution in https://github.com/alibaba/higress/pull/2652
- @zhangjingcn made their first contribution in https://github.com/alibaba/higress/pull/2650
- @Thomas-Eliot made their first contribution in https://github.com/alibaba/higress/pull/2687
- @Aias00 made their first contribution in https://github.com/alibaba/higress/pull/2675
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.5...v2.1.6
v2.1.5
- feat: Plugin server supports k8s deployment and configures the default download URL of the plugin(#2232, #2280,#2312) by @NorthernBob in https://github.com/alibaba/higress/pull/2389
- fix: change auto generate se namespace to mcp by @Erica177 in https://github.com/alibaba/higress/pull/2398
- fix(ai-proxy): fix bedrock Sigv4 mismatch by @HecarimV in https://github.com/alibaba/higress/pull/2402
- fix: fix const McpStreamableProtocol spell mistake by @Erica177 in https://github.com/alibaba/higress/pull/2405
- feat(ai-proxy): Adjust the streaming response structure to keep it consistent with the openai by @daixijun in https://github.com/alibaba/higress/pull/2391
- add mcp-server doc by @hourmoneys in https://github.com/alibaba/higress/pull/2327
- opt: unify the
end-of-linemarkers in the MCP session filter. by @johnlanni in https://github.com/alibaba/higress/pull/2403 - fix(ai-proxy): fix gemini provider missing finishReason by @daixijun in https://github.com/alibaba/higress/pull/2408
- docs: fix broken link in mcp-servers README_zh.md by @xuruidong in https://github.com/alibaba/higress/pull/2418
- feat: support for wanxiang image/video generation in ai-proxy & ai-statistics by @mirror58229 in https://github.com/alibaba/higress/pull/2378
- feat: Add AI-based bidding information tool MCP service by @hourmoneys in https://github.com/alibaba/higress/pull/2343
- fix: When configuring an MCP server for SSE forwarding, the controller may crash by @johnlanni in https://github.com/alibaba/higress/pull/2423
- feat: add default route support for wanx image&video synthesis by @mirror58229 in https://github.com/alibaba/higress/pull/2431
- feat(ai-proxy): add support for OpenAI Fine-Tuning API by @wydream in https://github.com/alibaba/higress/pull/2424
- add release-notes of 2.1.4 by @johnlanni in https://github.com/alibaba/higress/pull/2433
- feat: add mcp-router plugin by @johnlanni in https://github.com/alibaba/higress/pull/2409
- update envoy and istio by @johnlanni in https://github.com/alibaba/higress/pull/2440
- release 2.1.5-rc.1 by @johnlanni in https://github.com/alibaba/higress/pull/2446
- fix: The mcp to rest capability of the mcp server supports returning status without returning a body from the backend, and instead responds via sse by @johnlanni in https://github.com/alibaba/higress/pull/2445
- refactor: mcp server depends on the latest wasm-go repository by @johnlanni in https://github.com/alibaba/higress/pull/2458
- fix too much logs when nacos is not avaiable by @luoxiner in https://github.com/alibaba/higress/pull/2469
- feat(mcp/sse): support passthourgh the query parameter in sse server to the rest api server by @erasernoob in https://github.com/alibaba/higress/pull/2460
- Feat: Ai data masking msg window support
reasoning_contentin response andnin request by @007gzs in https://github.com/alibaba/higress/pull/2404 - feat: add investoday MCP Server by @kenneth-bro in https://github.com/alibaba/higress/pull/2450
- fix(ai-proxy): Unify the naming convention & fix api name mapping by @wydream in https://github.com/alibaba/higress/pull/2441
- fix: add missing controller sa annotation. by @Colstuwjx in https://github.com/alibaba/higress/pull/2443
- fix(ai-proxy): fix openai provider customPath compatibility by @daixijun in https://github.com/alibaba/higress/pull/2475
- feat: mcp server support error template response by @johnlanni in https://github.com/alibaba/higress/pull/2485
- add trace_span_key & as_seperate_log_field configuration for ai-statistics by @rinfx in https://github.com/alibaba/higress/pull/2488
- Implement AI-image-reader plugin by @kai2321 in https://github.com/alibaba/higress/pull/1925
- Fix the incorrect behavior of decoding when constructing and sending requests if the path in the configured URL contains URL-encoded parts. by @johnlanni in https://github.com/alibaba/higress/pull/2497
- fix(ai-proxy): bedrock support additional request fields by @HecarimV in https://github.com/alibaba/higress/pull/2480
- feat(ai-proxy): add responses support for doubao by @daixijun in https://github.com/alibaba/higress/pull/2509
- fix(ai-proxy): add system message handling for Bedrock requests by @HecarimV in https://github.com/alibaba/higress/pull/2516
- fix: Fix an incorrect config property name in the README of ai-proxy plugin by @CH3CHO in https://github.com/alibaba/higress/pull/2503
- feat: advanced load balance policys for LLM service through wasm plugin by @rinfx in https://github.com/alibaba/higress/pull/2531
- fix(ai-proxy): restrict the
stream_optionsparameter to be effective only in the openai/v1/chatcompletions by @daixijun in https://github.com/alibaba/higress/pull/2524 - feat(helm): comment tracing.skywalking by @daixijun in https://github.com/alibaba/higress/pull/2514
- feat: ai-proxy support config subPath field by @johnlanni in https://github.com/alibaba/higress/pull/2533
- feat: add DB MCP Server execute, list tables, describe table tools by @hongzhouzi in https://github.com/alibaba/higress/pull/2506
- Release 2.1.5 by @johnlanni in https://github.com/alibaba/higress/pull/2536
- @NorthernBob made their first contribution in https://github.com/alibaba/higress/pull/2389
- @xuruidong made their first contribution in https://github.com/alibaba/higress/pull/2418
- @wydream made their first contribution in https://github.com/alibaba/higress/pull/2424
- @erasernoob made their first contribution in https://github.com/alibaba/higress/pull/2460
- @kenneth-bro made their first contribution in https://github.com/alibaba/higress/pull/2450
- @hongzhouzi made their first contribution in https://github.com/alibaba/higress/pull/2506
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.4...v2.1.5
v2.1.5-rc.1
- feat: Plugin server supports k8s deployment and configures the default download URL of the plugin(#2232, #2280,#2312) by @NorthernBob in https://github.com/alibaba/higress/pull/2389
- fix: change auto generate se namespace to mcp by @Erica177 in https://github.com/alibaba/higress/pull/2398
- fix(ai-proxy): fix bedrock Sigv4 mismatch by @HecarimV in https://github.com/alibaba/higress/pull/2402
- fix: fix const McpStreamableProtocol spell mistake by @Erica177 in https://github.com/alibaba/higress/pull/2405
- feat(ai-proxy): Adjust the streaming response structure to keep it consistent with the openai by @daixijun in https://github.com/alibaba/higress/pull/2391
- add mcp-server doc by @hourmoneys in https://github.com/alibaba/higress/pull/2327
- opt: unify the
end-of-linemarkers in the MCP session filter. by @johnlanni in https://github.com/alibaba/higress/pull/2403 - fix(ai-proxy): fix gemini provider missing finishReason by @daixijun in https://github.com/alibaba/higress/pull/2408
- docs: fix broken link in mcp-servers README_zh.md by @xuruidong in https://github.com/alibaba/higress/pull/2418
- feat: support for wanxiang image/video generation in ai-proxy & ai-statistics by @mirror58229 in https://github.com/alibaba/higress/pull/2378
- feat: Add AI-based bidding information tool MCP service by @hourmoneys in https://github.com/alibaba/higress/pull/2343
- fix: When configuring an MCP server for SSE forwarding, the controller may crash by @johnlanni in https://github.com/alibaba/higress/pull/2423
- feat: add default route support for wanx image&video synthesis by @mirror58229 in https://github.com/alibaba/higress/pull/2431
- feat(ai-proxy): add support for OpenAI Fine-Tuning API by @wydream in https://github.com/alibaba/higress/pull/2424
- add release-notes of 2.1.4 by @johnlanni in https://github.com/alibaba/higress/pull/2433
- feat: add mcp-router plugin by @johnlanni in https://github.com/alibaba/higress/pull/2409
- update envoy and istio by @johnlanni in https://github.com/alibaba/higress/pull/2440
- release 2.1.5-rc.1 by @johnlanni in https://github.com/alibaba/higress/pull/2446
- @NorthernBob made their first contribution in https://github.com/alibaba/higress/pull/2389
- @xuruidong made their first contribution in https://github.com/alibaba/higress/pull/2418
- @wydream made their first contribution in https://github.com/alibaba/higress/pull/2424
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.4...v2.1.5-rc.1
v2.1.4
- feat(ai-proxy): support Amazon Bedrock Image Generation by @daixijun in https://github.com/alibaba/higress/pull/2212
- fix: Fix the incorrect rewrite config generated for Nacos 3 MCP Servers by @CH3CHO in https://github.com/alibaba/higress/pull/2211
- feat: update translate-readme action by @littlejiancc in https://github.com/alibaba/higress/pull/2208
- fix: Remove the Authorization request header when using AI-proxy to proxy Gemini by @hanxiantao in https://github.com/alibaba/higress/pull/2220
- fix : fix issue #2222 by @Erica177 in https://github.com/alibaba/higress/pull/2231
- Add test translation workflow by @MAVRICK-1 in https://github.com/alibaba/higress/pull/2228
- mcp server support API auth through OAS3
security schemes|| mcp server support API auth through OAS3security schemesby @johnlanni in https://github.com/alibaba/higress/pull/2241 - Fix : add fail strategy for wasmplugin generated by mcp server by @Erica177 in https://github.com/alibaba/higress/pull/2237
- fix: modify log level WARN -> DEBUG in key-auth plugin by @lexburner in https://github.com/alibaba/higress/pull/2275
- fix proxy-wasm-cpp-sdk by @johnlanni in https://github.com/alibaba/higress/pull/2281
- feat: Supports recording request header, request body, response header and response body information in the access log by @forgottener in https://github.com/alibaba/higress/pull/2265
- feat(mcp-server): add HackMD mcp server by @Whitea029 in https://github.com/alibaba/higress/pull/2260
- add mcp service shebao tools by @hourmoneys in https://github.com/alibaba/higress/pull/2303
- feat: Add a github action to copy CRD definitions from api folder to helm folder by @CH3CHO in https://github.com/alibaba/higress/pull/2268
- feat: allow skipping higress dev image build during wasmplugin e2e tests by @cr7258 in https://github.com/alibaba/higress/pull/2264
- feat: Refactor mcpServer.matchList config generation logic by @CH3CHO in https://github.com/alibaba/higress/pull/2207
- add info log of ai-search plugin by @johnlanni in https://github.com/alibaba/higress/pull/2323
- fix(ai-proxy): URL encode model name in Bedrock requests by @HecarimV in https://github.com/alibaba/higress/pull/2321
- feat(ai-proxy): add doubao Image Generation support by @daixijun in https://github.com/alibaba/higress/pull/2331
- feat: cluster-key-rate-limit support setting global rate limit thresholds for routes by @hanxiantao in https://github.com/alibaba/higress/pull/2262
- feat(ai-proxy): support OpenAI-compatible image and audio model Mapping by @daixijun in https://github.com/alibaba/higress/pull/2341
- fix: set "EnableSemanticCachefalse" to false when no vector configured in ai-cache by @mirror58229 in https://github.com/alibaba/higress/pull/2351
- feat(ai-proxy): add batches & files support by @daixijun in https://github.com/alibaba/higress/pull/2355
- feat: support dify ai-proxy e2e test || feat: support diify ai-proxy e2e test by @VinciWu557 in https://github.com/alibaba/higress/pull/2319
- fix content-length header not remove in ai-search plugin by @johnlanni in https://github.com/alibaba/higress/pull/2363
- feat(ai-proxy): add modelMapping regexp support by @daixijun in https://github.com/alibaba/higress/pull/2358
- feat(ai-proxy): Fixed the issue that the API pass-through path error does not support openaiCustomUrl after openai is configured. by @daixijun in https://github.com/alibaba/higress/pull/2364
- feat(frontend-gray): Add uniqueGrayTag configuration detection by @heimanba in https://github.com/alibaba/higress/pull/2371
- feat(ai-proxy): add models & image generation support for gemini by @daixijun in https://github.com/alibaba/higress/pull/2380
- feat(ai-proxy): support Google Cloud Vertex by @HecarimV in https://github.com/alibaba/higress/pull/2119
- add upstream override wasm abi by @johnlanni in https://github.com/alibaba/higress/pull/2387
- feat(ai-proxy): Add Claude image understanding and Tools calling capabilities by @daixijun in https://github.com/alibaba/higress/pull/2385
- fix: refactored mcp server auto discovery logic and fix some issue by @Erica177 in https://github.com/alibaba/higress/pull/2382
- fix : fix credential process logic for nacos mcp util and add ut for it by @Erica177 in https://github.com/alibaba/higress/pull/2394
- fix: Support mixing line breaks in a single SSE response by @CH3CHO in https://github.com/alibaba/higress/pull/2344
- Update CRD file in the helm folder by @github-actions in https://github.com/alibaba/higress/pull/2392
- @MAVRICK-1 made their first contribution in https://github.com/alibaba/higress/pull/2228
- @lexburner made their first contribution in https://github.com/alibaba/higress/pull/2275
- @forgottener made their first contribution in https://github.com/alibaba/higress/pull/2265
- @Whitea029 made their first contribution in https://github.com/alibaba/higress/pull/2260
- @hourmoneys made their first contribution in https://github.com/alibaba/higress/pull/2303
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.3...v2.1.4
v2.1.3
- Update helm translated README.zh.md by @github-actions in https://github.com/alibaba/higress/pull/2152
- fix: update golang filter README by @Jing-ze in https://github.com/alibaba/higress/pull/2147
- fix : Add nacos username and password login option by @Erica177 in https://github.com/alibaba/higress/pull/2170
- feat: Support /v1/models API in ai-proxy by @CH3CHO in https://github.com/alibaba/higress/pull/2164
- fix(ai-statistics): adjust requestBodyBufferLimit by @HecarimV in https://github.com/alibaba/higress/pull/2192
- fix : fix vs rewrite when mcp protocol is http by @Erica177 in https://github.com/alibaba/higress/pull/2203
- feat: Add SSE direct proxy support to mcp-session filter by @CH3CHO in https://github.com/alibaba/higress/pull/2157
- fix param type error by @Erica177 in https://github.com/alibaba/higress/pull/2204
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.2...v2.1.3
v2.1.2
- feat:Getting MatchLabels dynamically via gatewaySelectorKey/Value #1857 by @waTErMo0n in https://github.com/alibaba/higress/pull/1883
- fix: update module replacements by @Similarityoung in https://github.com/alibaba/higress/pull/2090
- feat: optimize elasticsearch ai-search plugin and update related docs" by @cr7258 in https://github.com/alibaba/higress/pull/2100
- feat: Support extracting model argument from body in multipart/form-data format by @CH3CHO in https://github.com/alibaba/higress/pull/1940
- update mcp descriptions by @mirror58229 in https://github.com/alibaba/higress/pull/2105
- feat(ai-proxy): support Amazon Bedrock by @HecarimV in https://github.com/alibaba/higress/pull/2039
- update github & e2bdev mcp descriptions by @mirror58229 in https://github.com/alibaba/higress/pull/2107
- test: add test for /pkg/ingress/kube/common by @Tsukilc in https://github.com/alibaba/higress/pull/2123
- add mcp yuque descriptions by @mirror58229 in https://github.com/alibaba/higress/pull/2125
- fix: ai_data_masking add compatibility handling for non-compliant API response structures by @007gzs in https://github.com/alibaba/higress/pull/2130
- fix: Refactor MCP Server into MCP Session and MCP Server by @Jing-ze in https://github.com/alibaba/higress/pull/2120
- feat : support mcp server auto discovery for nacos registry by @Erica177 in https://github.com/alibaba/higress/pull/2122
- Update helm translated README.zh.md by @github-actions in https://github.com/alibaba/higress/pull/2141
- fix : when nacos push empty service instance list, should skip generate by @Erica177 in https://github.com/alibaba/higress/pull/2144
- fix: make mcp server redis client config based by @Jing-ze in https://github.com/alibaba/higress/pull/2145
- When the service source type is nacos3, if mcpserver is turned off, then the discovery mechanism of nacos2 will be enabled by @johnlanni in https://github.com/alibaba/higress/pull/2150
- add: add mcp-context7 descriptions by @mirror58229 in https://github.com/alibaba/higress/pull/2149
- @waTErMo0n made their first contribution in https://github.com/alibaba/higress/pull/1883
- @Similarityoung made their first contribution in https://github.com/alibaba/higress/pull/2090
- @HecarimV made their first contribution in https://github.com/alibaba/higress/pull/2039
- @Tsukilc made their first contribution in https://github.com/alibaba/higress/pull/2123
- @github-actions made their first contribution in https://github.com/alibaba/higress/pull/2141
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.1...v2.1.2