Higress v2.1.6: 31 engine updates + 12 console updates
Higress Community
|
Aug 5, 2025
|
Higress Engine Update
📋 Overview of this release
This release includes 31 updates, covering multiple aspects such as feature enhancements, bug fixes, performance optimizations, etc. The update content distribution New Features: 13 items Bug Fixes: 5 items Refactoring Optimizations: 7 items Documentation Updates: 6 items ⭐ Focused Highlights This release includes 2 important updates, recommended for close attention: feat: Add Higress API MCP server (#2517): The new Higress API MCP server feature enhances the AI Agent's ability to manage Higress resources, supporting CRUD operations for routing and services via MCP, improving the system's flexibility and maintainability. Migrate WASM Go Plugins to New SDK and Go 1.24 (#2532): Replacing the underlying compile dependency of developing Wasm Go plugins from TinyGo to native Go 1.24, enhancing compatibility and performance of plugins, ensuring consistency with the latest technology stack, and providing users with more stable and efficient plugin support. For detailed information, please refer to the important feature details section below.
🌟 Important Features Details
Below are the detailed descriptions of the important features and improvements in this release:
1. feat: Add Higress API MCP server
Related PR: #2517 | Contributor: @cr7258
Background
In modern microservices architecture, the API gateway serves as an entry point and requires flexible and powerful configuration management capabilities. As a high-performance API gateway, Higress provides rich functionalities for managing routing, service sources, and plugins. However, the existing configuration management methods may lack flexibility and fail to meet complex operational needs. To address this issue, PR #2517 introduces the Higress API MCP Server, providing a new configuration management method through the Higress Console API. This feature is primarily aimed at operation personnel and developers who need advanced configuration and dynamic management of Higress.
Feature Details
This change implements the Higress API MCP Server, which has been re-implemented through golang-filter to create an MCP server capable of managing routing, service sources, and plugins via the Higress Console API. The specific implementations include:
A new HigressClient class has been added to handle interactions with the Higress Console API.
Various management tools have been implemented, such as routing management (list-routes, get-route, add-route, update-route), service source management (list-service-sources, get-service-source, add-service-source, update-service-source), and plugin management (get-plugin, delete-plugin, update-request-block-plugin).
Updates to the relevant configuration files and README documentation, providing detailed configuration examples and usage instructions.
The code changes involve multiple files, including
config.go
,client.go
,server.go
, ensuring functional completeness and extensibility.
Usage
Steps to enable and configure the Higress API MCP Server are as follows:
Add an MCP Server configuration in Higress's ConfigMap, specifying the URL address, username, and password for the Higress Console.
When starting the Higress Gateway, ensure that
mcpServer.enable
is set totrue
.Use the provided tool commands (such as
list-routes
,add-route
, etc.) for managing routing, service sources, and plugins.Configuration example:
Notes:
Ensure the URL address, username, and password for the Higress Console are correct.
It is recommended to use environment variables or encrypted storage for passwords in configuration for enhanced security.
Value of Feature
The Higress API MCP Server brings the following concrete benefits to users:
Enhanced operational efficiency: With a unified MCP interface, users can conveniently manage and configure all resources of Higress through the AI Agent, reducing the complexity and error rates of manual operations.
Increased system flexibility: Supports dynamic management and updates of routing, service sources, and plugins, making the system more agile and capable of quickly responding to changes in business needs.
Improved system stability: Through automated configuration management, the potential for human error has been reduced, thereby increasing system stability and reliability.
Easy integration: The design of the Higress API MCP Server makes it easy to integrate with other AI systems and tools (such as Cursor, CherryStudio, etc.), facilitating the construction of a complete automated operational framework.
2. Migrate WASM Go Plugins to New SDK and Go 1.24
Related PR: #2532 | Contributor: @erasernoob
Background
With the development of the Go language, new versions offer many performance optimizations and security improvements. This PR aims to migrate the WASM Go plugins from the old SDK to the new SDK and upgrade the Go version to 1.24. This not only resolves several known issues in the old version but also paves the way for future feature expansion and performance optimization. The target user group includes developers and operational personnel using Higress for microservices management and traffic control.
Feature Details
This PR mainly implements the following functionalities: 1) Updates the workflow files for building and testing plugins to support the new Go version; 2) Modifies the Dockerfile and Makefile to remove support for TinyGo and directly use the standard Go compiler to generate WASM files; 3) Updates the go.mod file to reference new package paths and versions; 4) Adjusts the import paths of the logging library to use the new logging library consistently. These changes allow plugins to better utilize the new features of Go 1.24, such as improved garbage collection mechanisms and more efficient compiler optimization. Furthermore, the removal of TinyGo support simplifies the build process and reduces potential compatibility issues.
Usage
To enable and configure this feature, first ensure your development environment has Go 1.24 installed. Then, you can specify the new build parameters by modifying the project's Makefile and Dockerfile. For example, set GO_VERSION ?= 1.24.4
in the Makefile, and in the Dockerfile use ARG BUILDER=higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/wasm-go-builder:go1.24.4-oras1.0.0
. A typical use case is when you need to deploy new WASM plugins in Higress. Best practices include regularly updating dependencies to the latest versions and ensuring all related code is adapted to the new version.
Value of Feature
This refactor brings several benefits to users: 1) Increased plugin operational efficiency and stability, thanks to the new features and optimizations in Go 1.24; 2) Simplified build process, reducing dependence on third-party tools (such as TinyGo) and lowering maintenance costs; 3) Unified code style and dependency management, enhancing the readability and maintainability of the project; 4) Enhanced system security by adopting the latest Go version to fix known security vulnerabilities. These improvements make the Higress ecosystem more robust, providing users with a stronger and more reliable microservices management platform.
📝 Complete Change Log
🚀 New Features (Features)
Related PR: #2679
Contributor: @erasernoob
Change Log: This PR adds support for external service FQDN in image annotations and includes corresponding test cases to ensure the correctness and stability of the new feature.
Feature Value: Allows users to specify external FQDN as the image target, enhancing system flexibility and applicability for integrating more external resources.Related PR: #2667
Contributor: @hanxiantao
Change Log: This PR adds functionality to set global routing rate limiting thresholds for the AI Token rate limiting plugin, while optimizing the basic logic related to the cluster-key-rate-limit plugin and improving log prompts.
Feature Value: By adding support for global rate limiting thresholds, users can manage traffic more flexibly, avoiding system stability issues caused by a single route experiencing excessive traffic.Related PR: #2652
Contributor: @OxalisCu
Change Log: This PR adds support for first-byte timeout for LLM streaming requests in the ai-proxy plugin, achieved by modifying the provider.go file.
Feature Value: This feature allows users to set first-byte timeout duration for LLM streaming requests, improving system stability and user experience.Related PR: #2650
Contributor: @zhangjingcn
Change Log: This PR implements the functionality of retrieving ErrorResponseTemplate configuration from the Nacos MCP registration center by modifying the mcp_model.go and watcher.go files to support new metadata handling.
Feature Value: This feature enhances the system's integration with the Nacos MCP registration center, providing the ability to use custom response templates when errors occur, improving error handling flexibility and user experience.Related PR: #2649
Contributor: @CH3CHO
Change Log: This PR adds support for three different URL formats for Azure OpenAI and ensures that theapi-version
parameter is always required. Code modifications were made across multiple Go files, including request header handling, path parsing, etc.
Feature Value: Enhances the plugin's capability to integrate with Azure OpenAI services, allowing users to deploy their models using more diverse URL configurations, thus improving system flexibility and compatibility.Related PR: #2648
Contributor: @daixijun
Change Log: This PR implements support for the qwen Provider for the anthropic /v1/messages interface by adding relevant code logic in the qwen.go file.
Feature Value: Adds support for the Anthropics message interface, enabling users to leverage Qwen proxies for more AI services, extending the application range and functionality of the system.Related PR: #2585
Contributor: @akolotov
Change Log: This PR provides configuration files for the Blockscout MCP server, including detailed README documentation and YAML formatted configuration settings.
Feature Value: By integrating the Blockscout MCP server, users can conveniently check and analyze EVM-compatible blockchains, enhancing system functionality and user experience.Related PR: #2551
Contributor: @daixijun
Change Log: This PR adds support for Anthropic and Gemini APIs in the AI proxy plugin, expanding the system's ability to handle AI requests from different sources.
Feature Value: By introducing new API support, users can more flexibly choose to use different AI service providers, enhancing system diversity and availability.Related PR: #2542
Contributor: @daixijun
Change Log: This PR adds functionality for the usage statistics of tokens in images, audio, and responses interfaces, defining related utility functions as public functions to reduce duplicate code.
Feature Value: By supporting token usage statistics for more interfaces, users are better able to understand and manage resource consumption, thus optimizing cost control.Related PR: #2537
Contributor: @wydream
Change Log: This PR adds support for text reordering functionality for the Qwen model by introducing new API routes in the AI proxy plugin.
Feature Value: The new Qwen text reordering feature expands the platform’s text processing capabilities, allowing users to utilize more advanced models for content optimization and ordering.Related PR: #2535
Contributor: @wydream
Change Log: This PR introduces optionsbasePath
andbasePathHandling
for flexible handling of request paths, by settingremovePrefix
orprepend
to determine how to use basePath.
Feature Value: The new options allow users to manage path mapping between the API gateway and backend services more flexibly, enhancing the system’s adaptability and flexibility.Related PR: #2499
Contributor: @heimanba
Change Log: This PR introduces the UseManifestAsEntry field in the GrayConfig structure, updates relevant functions to support this configuration, and modifies the README document and adjusts the HTML response handling logic.
Feature Value: The new useManifestAsEntry configuration item allows users to control whether the homepage request uses caching more flexibly, enhancing system flexibility and user experience.
🐛 Bug Fixes (Bug Fixes)
Related PR: #2687
Contributor: @Thomas-Eliot
Change Log: Fixed SQL errors occurring when the mcp client uses the describeTable tool, ensuring the correctness of the Postgres table description functionality.
Feature Value: This fix improves the system's stability and reliability, ensuring users can accurately obtain table information when interacting with the mcp-server and Postgres database, enhancing user experience.Related PR: #2662
Contributor: @johnlanni
Change Log: Resolved two issues in Envoy: fixed memory leaks in the proxy-wasm-cpp-host, and corrected a 404 error caused by incorrect port mappings when ppv2 is enabled.
Feature Value: By fixing memory leaks and port mapping issues, the stability and reliability of the system have been improved, reducing resource waste and ensuring correct routing configuration.Related PR: #2656
Contributor: @co63oc
Change Log: This PR corrects typos across multiple files, including constant names, function names, and plugin names, ensuring consistency and readability of the code.
Feature Value: By fixing these typos, code quality is enhanced, preventing potential logical errors or compilation failures resulting from inconsistent naming, thereby improving system stability and user experience.Related PR: #2623
Contributor: @Guo-Chenxu
Change Log: Fixed issues caused by special characters during translation by adjusting methods of generating and processing JSON data to avoid potential destruction of JSON structure.
Feature Value: This fix ensures that content containing special characters can be processed and displayed correctly, thereby enhancing system stability and user experience.Related PR: #2507
Contributor: @hongzhouzi
Change Log: Corrected the errors caused by installing the x86 toolchain when compiling golang-filter.so on the arm64 architecture by ensuring tools matching the target architecture are installed.
Feature Value: This fix resolves compilation issues on specific hardware architectures (arm64), enabling the project to successfully build on a wider variety of processors, increasing software compatibility and user base.
♻️ Refactoring (Refactoring)
Related PR: #2673
Contributor: @johnlanni
Change Log: Improved thefindEndpointUrl
function to handle multiple SSE messages, rather than just the first, involving optimization of code logic and addition of unit tests.
Feature Value: Enhanced the MCP endpoint parser's functionality to make it more robust, better accommodating formats of messages sent by different backend services, thus improving stability and user experience.Related PR: #2661
Contributor: @johnlanni
Change Log: This PR relaxes the DNS service domain name validation rules by modifying the regex to allow for more flexible domain name formats.
Feature Value: Relaxed domain validation helps improve system flexibility and compatibility, allowing users to use more diverse domain configurations, enhancing user experience.Related PR: #2639
Contributor: @johnlanni
Change Log: This PR optimizes request processing flow by disabling rerouting in specific plugins, specifically in official plugins where re-matching routing is unnecessary by uniformly setting ctx.DisableReroute.
Feature Value: Optimized plugin performance by reducing unnecessary routing redirection, improving overall application efficiency and response speed, offering users a smoother experience.Related PR: #2615
Contributor: @johnlanni
Change Log: This PR removes the EXTRA_TAGS variable from the Dockerfile and Makefile of the wasm-go plugin and updates the relevant configuration files, simplifying the build process.
Feature Value: By cleaning up unused configuration items, this change makes the project structure clearer and helps reduce potential maintenance costs while maintaining existing functionality stability.Related PR: #2598
Contributor: @johnlanni
Change Log: This PR updates the Go version in the WASM builder image to 1.24.4, simplifying the content of the DockerfileBuilder file.
Feature Value: By upgrading the Go version and cleaning unnecessary code, the performance and security of the build environment are enhanced, allowing users to leverage the latest Go language features and fixed security vulnerabilities.Related PR: #2564
Contributor: @rinfx
Change Log: Optimized the minimum request count logic by moving it to handle in streamdone, improving count comparison logic in the Redis Lua script.
Feature Value: Improved the system's stability and accuracy in abnormal situations, ensuring correct implementation of request counting and load balancing strategies, enhancing user experience.
📚 Documentation Updates (Documentation)
Related PR: #2675
Contributor: @Aias00
Change Log: Fixed several dead links in the project documentation to ensure users can access the correct links, improving the documentation's usability and accuracy.
Feature Value: By fixing deceased links in the documentation, users can more easily find and use related resources, enhancing user experience and the overall quality of the documentation.Related PR: #2668
Contributor: @Aias00
Change Log: Improved the README documentation for the Rust plugin development framework, adding detailed development guides, including environment requirements, build steps, and testing methods.
Feature Value: Enhanced the maintainability and usability of the project, enabling new developers to quickly get started and better understand and use the Rust Wasm plugin development framework.Related PR: #2647
Contributor: @Guo-Chenxu
Change Log: This PR adds the New Contributors and full changelog sections, introducing mandatory line breaks in markdown to improve document readability and completeness.
Feature Value: By adding a list of contributors and a complete change log, as well as improving Markdown formatting, the project documentation is made clearer and easier to read, helping users understand the latest updates and contributor contributions.Related PR: #2635
Contributor: @github-actions[bot]
Change Log: This PR adds detailed release notes for Higress version 2.1.5, including new features, bug fixes, and performance optimizations.
Feature Value: By providing detailed release information, users can better understand Higress's new features and improvements, thereby using the software more effectively.Related PR: #2586
Contributor: @erasernoob
Change Log: Updated the README file for the wasm-go plugin, removing TinyGo related configurations and adjusting the Go version requirement to 1.24 or higher to support wasm build features while cleaning up unused code paths.
Feature Value: By updating the documentation and environment configuration requirements, ensuring developers can correctly set up their development environments to compile the wasm-go plugin, this helps avoid issues caused by incompatible language versions or dependencies.Related PR: #2596
Contributor: @Guo-Chenxu
Change Log: This PR implements the functionality of automatically generating release notes and submitting PRs during releases by adding a new GitHub Actions workflow file. This process is implemented based on the higress-report-agent.
Feature Value: This functionality greatly simplifies documentation maintenance during the release process, improving team efficiency, and ensuring detailed change records for user reference with each version release.
📊 Release Statistics
🚀 New Features: 13 items
🐛 Bug Fixes: 5 items
♻️ Refactoring Optimizations: 7 items
📚 Documentation Updates: 5 items
🧪 Test Improvements: 1 item
Total: 31 changes (including 2 important updates)
Higress Console Update
📋 Overview of this release
This release includes 12 updates, covering multiple aspects such as feature enhancements, bug fixes, performance optimizations, etc.
Update Content Distribution
New Features: 6 items
Bug Fixes: 5 items
Refactoring Optimizations: 1 item
📝 Complete Change Log
🚀 New Features (Features)
Related PR: #562
Contributor: @CH3CHO
Change Log: This PR implements the feature to configure multiple routes in a single route or AI route, modifying related backend and frontend code, and enhancing the Kubernetes model converter.
Feature Value: Supports adding multiple sub-routes in a route configuration, providing users with more flexible routing management capabilities, enhancing system configuration flexibility and user experience.Related PR: #560
Contributor: @Erica177
Change Log: This PR adds JSON Schema to multiple plugins, including AI agents, AI cache, etc., defining the structure and properties of the plugin configuration, helping to improve the standardization and readability of configurations.
Feature Value: By introducing JSON Schema, users can more clearly understand each plugin's configuration items and their functions, simplifying the configuration process and reducing the risk of misconfigurations, thus enhancing user experience.Related PR: #555
Contributor: @hongzhouzi
Change Log: New DB MCP Server execution, list display, and table description tool configuration functionalities have been added to ensure consistency with the configurations set in the higress-gateway.
Feature Value: Users can now view and manage the configuration information of DB MCP Server tools through the console, enhancing system's visual management and consistency.Related PR: #550
Contributor: @CH3CHO
Change Log: This PR updates the logic for updating AI route configurations after updates to specific types of LLM providers, ensuring correct synchronization of routes when the upstream service name changes.
Feature Value: By automatically updating AI route configurations to adapt to name changes for certain LLM provider types, system flexibility and stability are enhanced, reducing the need for manual adjustments.Related PR: #547
Contributor: @CH3CHO
Change Log: Added undo/redo functionality in the system configuration page, supporting the new API for code editor components by introducing forwardRef and useImperativeHandle.
Feature Value: The newly added undo/redo functionality enhances user flexibility when configuring the system, reducing the inconvenience caused by misoperations and improving user experience.Related PR: #543
Contributor: @erasernoob
Change Log: This PR upgrades the plugin version from 1.0.0 to 2.0.0, involving updates to related entries in the plugins.properties file.
Feature Value: By upgrading the plugin version, it enhances the system's functionality and compatibility, allowing users to enjoy performance optimizations and additional features brought by the new version.
🐛 Bug Fixes (Bug Fixes)
Related PR: #559
Contributor: @KarlManong
Change Log: This PR corrects the line endings of all files in the project except binary and cmd files to a unified LF format, avoiding issues caused by inconsistent line endings.
Feature Value: By unifying files' line endings to LF, it enhances code consistency and compatibility, reducing various issues arising from line ending differences, especially in cross-platform development environments.Related PR: #554
Contributor: @CH3CHO
Change Log: Fixed UI issues in the LLM provider management module, including missing scheme in Google Vertex service endpoints and the state of the form not resetting after canceling adding providers.
Feature Value: By fixing these issues, it enhances users experience when managing and configuring LLM providers, ensuring consistency of the interface and accuracy of the functionality.Related PR: #549
Contributor: @CH3CHO
Change Log: This PR ensures that the latest plugin configuration is always loaded when opening the configuration editing drawer by modifying the data fetching logic in useEffect.
Feature Value: Fixed issues that could arise from user operations based on outdated configuration due to not timely updates, enhancing user experience and system responsiveness accuracy.Related PR: #548
Contributor: @CH3CHO
Change Log: This PR fixes the issue of not removing leading and trailing whitespace characters from the Wasm image URL before submission, ensuring the validity of the URL.
Feature Value: By removing unnecessary spaces in the Wasm image URL, it improves data accuracy, preventing load failures due to format issues, enhancing user experience.Related PR: #544
Contributor: @CH3CHO
Change Log: Corrected improper error messages displayed when authentication is enabled but no consumers are selected through updating translation files and adjusting code logic to ensure correct error prompts.
Feature Value: This fix enhances system usability and user experience, ensuring users receive accurate feedback when configuring services, avoiding confusion caused by misleading error messages.
♻️ Refactoring (Refactoring)
Related PR: #551
Contributor: @JayLi52
Change Log: Removed the disabled state of the host and port fields in the database configurations, changed the default URL of the API gateway from https to http, and updated the display logic of the API gateway URL in the MCP detail page.
Feature Value: These changes enhance system flexibility and user friendliness, allowing users to customize more configuration items and ensuring UI consistency with backend behavior, thereby improving user experience.
📊 Release Statistics
🚀 New Features: 6 items
🐛 Bug Fixes: 5 items
♻️ Refactoring Optimizations: 1 item
Total: 12 changes
Thanks to all contributors for their hard work!🎉