Skip to content

Releases: alibaba/higress

v2.2.1

09 Apr 12:23
2c15f97

Choose a tag to compare

Higress

πŸ“‹ Release Overview

This release includes 65 updates, covering feature enhancements, bug fixes, and performance optimizations.

Distribution of Updates

  • New Features: 29
  • Bug Fixes: 26
  • Refactoring & Optimizations: 3
  • Documentation Updates: 7

πŸ“ Full Changelog

πŸš€ New Features (Features)

  • Related PR: #3689
    Contributor: @rinfx
    Change Log: Introduces a new modelToHeader configuration option for the model-mapper plugin, enabling users to customize the HTTP request header name into which the mapped model is written. The default value is x-higress-llm-model. Additionally, refactors the header update logic to support dynamic configuration and backward compatibility.
    Feature Value: Allows users to flexibly specify the request header field name used to propagate LLM model identifiersβ€”meeting diverse backend service integration requirements. Prevents hard-coding–induced compatibility issues and enhances the plugin’s adaptability and governance flexibility in multi-cloud and hybrid deployment scenarios.

  • Related PR: #3686
    Contributor: @rinfx
    Change Log: Adds a new providerBasePath configuration option, allowing definition of a base path prefix in ProviderConfig. This prefix is automatically injected into all provider request paths during path rewriting. Also optimizes providerDomain handling logic to improve flexibility and reliability when combining domains and paths.
    Feature Value: Enables unified API path prefix management via providerBasePath, facilitating gateway-level route aggregation, multi-tenancy isolation, and reverse proxy path rewriting. Significantly enhances the AI proxy plugin’s adaptability to complex deployment scenarios such as nested routing and SaaS multi-instance deployments.

  • Related PR: #3651
    Contributor: @wydream
    Change Log: Refactors multipart image request handling logic for the Azure Provider, fixing JSON model mapping errors and inconsistent model mapping in domain-only scenarios. Optimizes memory usage and eliminates redundant reads for large images or high-concurrency workloads, and adds comprehensive test coverage.
    Feature Value: Improves stability and performance of Azure image editing/variation APIs, ensuring correct parsing of multipart requests during large image uploads and high-concurrency scenariosβ€”preventing request interruptions due to model mapping failures and increasing user call success rates and response efficiency.

  • Related PR: #3649
    Contributor: @wydream
    Change Log: Implements mapping from OpenAI response_format to Vertex generationConfig for the Vertex Provider in ai-proxy, with focused support for structured output in gemini-2.5+. For gemini-2.0-*, adopts a safe-ignore strategy and adds extensive test cases validating structured output logic.
    Feature Value: Enables stable use of OpenAI-standard JSON Schema response formats on Vertex backends (especially gemini-2.5+), improving model output controllability and downstream system integration efficiency. Ensures compatibility with legacy models for seamless service upgrades and reduces migration costs.

  • Related PR: #3642
    Contributor: @JianweiWang
    Change Log: Replaces the original plain-text denyMessage in the AI Security Guard plugin with a structured DenyResponseBody, introducing a response schema containing blockedDetails, requestId, and guardCode. Adds JSON serialization support and corresponding construction/parsing helper functions within the config package.
    Feature Value: Delivers richer, standardized denial-response metadataβ€”enabling clients to precisely identify interception reasons, trace request chains, and integrate with risk control systems. Significantly improves troubleshooting efficiency and collaborative security incident analysis capabilities.

  • Related PR: #3638
    Contributor: @rinfx
    Change Log: Adds a universal providerDomain configuration field and resolveDomain DNS resolution logic to the ai-proxy plugin, supporting custom domain configuration for Gemini and Claude providers. Integrates this capability into CreateProvider and TransformRequestHeaders, and supplements full unit test coverage.
    Feature Value: Allows users to flexibly connect Gemini and Claude services across different network environments via custom domainsβ€”improving deployment flexibility and network adaptability. Particularly beneficial for enterprise intranets, proxy relays, or compliance-driven domain governance scenariosβ€”reducing service invocation failure rates.

  • Related PR: #3632
    Contributor: @lexburner
    Change Log: Introduces a GitHub Actions workflow that automatically builds and pushes the plugin-server Docker image when an higress v*.*.* tag is released. Supports specifying the plugin-server branch/tag/commit via workflow_dispatch, enhancing automation for plugin service deployment.
    Feature Value: Eliminates manual plugin-server image building and publishingβ€”significantly simplifying version synchronization and deployment processes across the Higress plugin ecosystem. Enhances delivery reliability and efficiency of plugin services while lowering operational overhead.

  • Related PR: #3625
    Contributor: @johnlanni
    Change Log: Adds a new promoteThinkingOnEmpty configuration option: when a model response contains only reasoning_content and no text, it automatically promotes reasoning_content to text. Also introduces the hiclawMode shortcut toggle, simultaneously enabling mergeConsecutiveMessages and promoteThinkingOnEmpty, supporting HiClaw multi-agent collaboration scenariosβ€”including both streaming (SSE) and non-streaming response paths.
    Feature Value: Significantly improves response completeness and downstream compatibility of AI proxies in complex reasoning-chain scenariosβ€”avoiding client exceptions caused by empty responses. hiclawMode simplifies multi-agent coordination configuration, lowers user integration barriers, and enhances robustness and usability in real-world business scenarios.

  • Related PR: #3624
    Contributor: @rinfx
    Change Log: Increases the default value_length_limit in the ai-statistics plugin from 4000 to 32000 and writes token usage to AILog immediately upon parsing it during streamingβ€”rather than waiting until stream completionβ€”enhancing large-field support and observability for streaming responses.
    Feature Value: Enables more complete logging of long attribute values and real-time token consumption when using coding tools like Codexβ€”improving accuracy of AI invocation behavior analytics. Particularly mitigates token-usage loss caused by premature client disconnections in streaming scenariosβ€”enhancing production monitoring reliability.

  • Related PR: #3620
    Contributor: @wydream
    Change Log: Adds path recognition and routing support for OpenAI speech transcription (/v1/audio/transcriptions), translation (/v1/audio/translations), real-time communication (/v1/realtime), and Qwen-compatible mode Responses API (/api/v2/apps/protocols/compatible-mode/v1/responses). Extends provider mapping relationships and test coverage.
    Feature Value: Enables the ai-proxy plugin to fully support OpenAI speech and real-time API standards, as well as the Bailian Qwen compatibility protocolβ€”allowing users to seamlessly invoke advanced capabilities like speech processing and real-time streaming interaction. Improves multimodal AI service integration efficiency and protocol compatibility.

  • Related PR: #3609
    Contributor: @wydream
    Change Log: Adds configurable Prompt Cache retention policies for the Amazon Bedrock Providerβ€”supporting both request-level dynamic overrides and provider-level default fallbacks. Unifies and corrects the cached_tokens measurement metric and integrates native Bedrock usage fields like cacheReadInputTokens.
    Feature Value: Empowers users to flexibly manage Prompt cache lifecyclesβ€”improving cache hit rates and cost-effectiveness. Default configuration capability lowers API invocation complexity and improves integration usability. Accurate usage metrics enable granular cost accounting and consumption analytics.

  • Related PR: #3598
    Contributor: @johnlanni
    Change Log: Adds a new mergeConsecutiveMessages configuration option. During AI proxy request preprocessing, it automatically merges consecutive messages of the same role (e.g., multiple user messages) by traversing and reconstructing the messages arrayβ€”ensuring compatibility with strict alternating-message requirements of non-OpenAI models such as GLM, Kimi, and Qwen.
    Feature Value: Enables seamless adaptation of the ai-proxy plugin to mainstream domestic and local LLM servicesβ€”preventing API rejection errors caused by message format noncompliance and significantly improving request success rates and user experience consistency across multi-model scenarios.

  • Related PR: #3585
    Contributor: @CH3CHO
    Change Log: Adds /responses to the default pat...

Read more

v2.1.11

22 Feb 12:29

Choose a tag to compare

Higress Console

πŸ“‹ Overview of This Release

This release includes 6 updates, covering feature enhancements, bug fixes, and performance optimizations.

Distribution of Updates

  • New Features: 4
  • Bug Fixes: 2

πŸ“ Full Change Log

πŸš€ New Features

  • Related PR: #666
    Contributor: @johnlanni
    Change Log: Added configuration options for the plugin image registry and namespace. Supports dynamically specifying built-in WASM plugin image addresses via environment variables HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY/NAMESPACE, eliminating the need to modify plugins.properties. Corresponding Helm Chart values parameters and deployment template rendering logic have also been integrated.
    Feature Value: Enables users to flexibly configure WASM plugin image sources across diverse network environments (e.g., private cloud, air-gapped environments), improving deployment flexibility and security; reduces operational overhead and mitigates maintenance difficulties and upgrade risks associated with hard-coded configurations.

  • Related PR: #665
    Contributor: @johnlanni
    Change Log: Added support for Zhipu AI’s Code Plan mode and Claude’s API version configuration. Achieved by extending ZhipuAILlmProviderHandler and ClaudeLlmProviderHandler to support custom domains, code-generation optimization toggles, and API version parametersβ€”enhancing LLM invocation flexibility and scenario adaptability.
    Feature Value: Allows users to enable model-specific code generation modes (e.g., Zhipu Code Plan) based on AI vendor characteristics and precisely control Claude API versions, significantly improving code generation quality and compatibility, lowering integration barriers, and strengthening the practicality of the AI Gateway in multi-model collaborative development scenarios.

  • Related PR: #661
    Contributor: @johnlanni
    Change Log: Introduced a lightweight mode configuration for the AI statistics plugin. Added the USE_DEFAULT_ATTRIBUTES constant and enabled use_default_response_attributes: true in AiRouteServiceImpl, reducing response attribute collection overhead and preventing memory buffer issues.
    Feature Value: Improves production environment stability and performance while lowering resource consumption of AI route statistics; eliminates the need for manual configuration of complex attributesβ€”the system automatically adopts a default, streamlined attribute setβ€”simplifying operations and enhancing reliability under high-concurrency workloads.

  • Related PR: #657
    Contributor: @liangziccc
    Change Log: Removed the original text-input search from the Route Management page and introduced multi-select dropdown filters for five fields: Route Name, Domain, Route Conditions, Destination Service, and Request Authorization. Completed Chinese–English internationalization support and implemented multi-dimensional composite filtering (OR within each field, AND across fields), significantly improving data filtering precision.
    Feature Value: Enables users to quickly locate specific routes via intuitive dropdown selection, avoiding input errors; bilingual support accommodates international usage scenarios; multi-condition combined filtering substantially boosts query efficiency and operational experience for SREs managing large-scale route configurations.

πŸ› Bug Fixes

  • Related PR: #662
    Contributor: @johnlanni
    Change Log: Fixed an issue where the OCI image path for the mcp-server plugin was not migrated synchronouslyβ€”updated the original path mcp-server/all-in-one to plugins/mcp-server to align with the new plugin directory structure, ensuring correct plugin loading and deployment.
    Feature Value: Prevents plugin pull or startup failures caused by incorrect image paths, guaranteeing stable operation and seamless upgrades of the mcp-server plugin within the Higress Gateway, thereby enhancing deployment reliability in plugin-driven use cases.

  • Related PR: #654
    Contributor: @fgksking
    Change Log: Upgraded the swagger-ui version dependency of springdoc by introducing a newer version of the webjars-lo dependency in pom.xml and updating related version properties, resolving an issue where request body schemas appeared empty in Swagger UI.
    Feature Value: Ensures users can correctly view and interact with request body structures when using the API documentation functionality in the Higress Console, improving API debugging experience and development efficiencyβ€”and preventing interface misinterpretations caused by documentation display anomalies.


πŸ“Š Release Statistics

  • πŸš€ New Features: 4
  • πŸ› Bug Fixes: 2

Total: 6 changes

Thank you to all contributors for your hard work! πŸŽ‰

Full Changelog: v2.1.10...v2.1.11

v2.2.0

11 Feb 09:48
1f10cc2

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 73 updates, covering enhancements, bug fixes, performance optimizations, and more.

Update Distribution

  • New Features: 48
  • Bug Fixes: 20
  • Refactoring and Optimization: 3
  • Documentation Updates: 2

πŸ“ Complete Changelog

πŸš€ New Features (Features)

  • Related PR: #3459
    Contributor: @johnlanni
    Change Log: Added support for Claude Code mode, allowing authentication with OAuth tokens and mimicking the request format of the Claude CLI.
    Feature Value: This feature expands the ability to interact with the Anthropic Claude API, enabling users to utilize more customized configuration options to meet specific needs.

  • Related PR: #3455
    Contributor: @EndlessSeeker
    Change Log: This PR updated the project's submodules, including upgrading Envoy and go-control-plane versions, and updating Istio to use the latest version of go-control-plane.
    Feature Value: By synchronizing with the latest key dependency libraries, it enhances system compatibility and stability, helping users receive better service and support.

  • Related PR: #3438
    Contributor: @johnlanni
    Change Log: Improved the documentation structure of the higress-clawdbot-integration skill, streamlined and merged duplicate content, and achieved full compatibility with the Clawdbot plugin.
    Feature Value: By optimizing the documentation structure and ensuring the compatibility of the Clawdbot plugin, it enhances the user experience, simplifies the configuration process, and allows users to integrate and configure the gateway more quickly and conveniently.

  • Related PR: #3437
    Contributor: @johnlanni
    Change Log: This PR integrated the higress-ai-gateway plugin into the higress-clawdbot-integration skill, simplifying the installation and configuration process by migrating and bundling related files.
    Feature Value: This feature enables users to more easily install and configure Higress AI Gateway with Clawbot/OpenClaw, enhancing user experience and software usability.

  • Related PR: #3436
    Contributor: @johnlanni
    Change Log: This PR updated the list of service providers in the Higress-OpenClaw integration and moved the OpenClaw plugin package from higress-standalone to the main repository.
    Feature Value: By enhancing the list of service providers and integrating the plugin package, users can more easily configure and use Higress AI Gateway, improving the user experience and system flexibility.

  • Related PR: #3428
    Contributor: @johnlanni
    Change Log: Added two new skills, higress-auto-router and higress-clawdbot-integration, supporting natural language configuration for automatic model routing and deployment of Higress AI Gateway via CLI parameters.
    Feature Value: This enhancement improves the integration capabilities of Higress AI Gateway with Clawbot, providing users with a more convenient configuration method and flexible routing strategies, thereby enhancing the user experience.

  • Related PR: #3427
    Contributor: @johnlanni
    Change Log: Added the use_default_attributes configuration option, allowing the ai-statistics plugin to use a default attribute set, simplifying the user configuration process. This change involves significant modifications to the main logic file.
    Feature Value: By introducing the functionality to automatically apply default attributes, it reduces the initial setup burden for users, making the ai-statistics plugin easier to get started with while maintaining advanced customization capabilities to meet specific needs.

  • Related PR: #3426
    Contributor: @johnlanni
    Change Log: Added the Agent Session Monitor skill, supporting real-time parsing of Higress access logs, tracking multi-turn conversations through session_id, and providing token usage analysis.
    Feature Value: By monitoring the real-time usage of LLMs in the Higress environment, users can better understand and control resource consumption, optimizing the performance of the conversation system.

  • Related PR: #3424
    Contributor: @johnlanni
    Change Log: This PR added support for detailed token usage information in the ai-statistics plugin, including two new built-in attribute keys: reasoning_tokens and cached_tokens.
    Feature Value: By recording more detailed token usage, users can better understand and optimize resource consumption during the AI inference process, which helps improve efficiency and reduce costs.

  • Related PR: #3420
    Contributor: @johnlanni
    Change Log: This PR added session ID tracking to the AI statistics plugin, supporting the retrieval of session IDs through custom headers or default headers to track multi-turn conversations.
    Feature Value: The new session ID tracking capability helps users better analyze and understand the interaction of multi-turn conversations, enhancing the observability and user experience of the system.

  • Related PR: #3417
    Contributor: @johnlanni
    Change Log: Added an important warning about unsupported fragments and provided pre-migration check commands to help users identify affected Ingress resources.
    Feature Value: By providing critical warnings and guidelines, this feature significantly reduces potential issues during migration, improving the user experience and migration success rate.

  • Related PR: #3411
    Contributor: @johnlanni
    Change Log: Added a skill for migrating from ingress-nginx to Higress, including analyzing existing Nginx Ingress resources, generating migration test scripts, and creating Wasm plugin frameworks for unsupported features.
    Feature Value: This feature helps users smoothly migrate their Kubernetes environments from ingress-nginx to Higress, providing detailed migration guides and tools to reduce migration burdens and enhance the user experience.

  • Related PR: #3409
    Contributor: @johnlanni
    Change Log: Added the contextCleanupCommands configuration option, allowing users to define commands to clean up the conversation context. When a user message exactly matches the configured cleanup command, all non-system messages before that command will be cleared.
    Feature Value: This feature enables users to actively manage their conversation history by sending predefined commands to clear irrelevant or outdated messages, thus improving the quality and relevance of the conversation.

  • Related PR: #3404
    Contributor: @johnlanni
    Change Log: Added the Higress community governance daily report generation skill, which can automatically track project GitHub activity and generate structured reports.
    Feature Value: This feature helps users better track and manage the daily progress and issue resolution of the project, enhancing community engagement and issue resolution efficiency.

  • Related PR: #3403
    Contributor: @johnlanni
    Change Log: This PR added an automatic routing feature based on the content of user messages to the model-router plugin. It uses regular expressions to match user input and decide which model to use.
    Feature Value: This feature allows the selection of the most appropriate processing model based on the message content, greatly enhancing the user experience and system flexibility, making the service more intelligent and efficient.

  • Related PR: #3402
    Contributor: @johnlanni
    Change Log: Added a Claude skill for developing Higress WASM plugins using Go 1.24+, covering reference documents for HTTP client, Redis client, and local testing.
    Feature Value: This feature provides a comprehensive guide for developers to create and debug Higress gateway plugins, significantly improving work efficiency and plugin quality.

  • Related PR: #3394
    Contributor: @changsci
    Change Log: When provider.apiTokens is not configured, support retrieving the API key from the request header. The changes mainly involve importing proxywasm in openai.go and adding related configuration logic in provider.go.
    Feature Value: This feature enhances system flexibility, allowing users to pass the API key through the request header, thus enabling normal service use even when provider.apiTokens is not configured, improving the user experience and security.

  • Related PR: #3384
    Contributor: @ThxCode-Chen
    Change Log: This PR enhanced the system's ability to handle IPv6 addresses by adding support for static IPv6 addresses in the watcher.go file. Specifically, it introduced new logic in the generateServiceEntry function to recognize and handle static IPv6 addresses.
    Feature Value: The added support for static IPv6 addresses allows users to use IPv6 addresses in their network configurations, en...

Read more

v2.1.10

03 Feb 11:30
ce29805

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 84 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.

Update Distribution

  • New Features: 46
  • Bug Fixes: 18
  • Refactoring and Optimization: 1
  • Documentation Updates: 18
  • Testing Improvements: 1

πŸ“ Complete Changelog

πŸš€ New Features (Features)

  • Related PR: #3438
    Contributor: @johnlanni
    Change Log: This PR significantly improves the higress-clawdbot-integration skill by adjusting the documentation structure, streamlining content, and adding support for the Clawdbot plugin.
    Feature Value: This update allows users to configure plugins more smoothly and ensures true compatibility with Clawdbot, enhancing user experience and system flexibility.

  • Related PR: #3437
    Contributor: @johnlanni
    Change Log: This PR integrates the higress-ai-gateway plugin into the higress-clawdbot-integration skill, including moving and packaging plugin files and updating the documentation.
    Feature Value: This integration makes it easier for users to install and configure the connection between Higress AI Gateway and Clawbot/OpenClaw, simplifying the deployment process and enhancing user experience.

  • Related PR: #3436
    Contributor: @johnlanni
    Change Log: This PR updates the SKILL provider list for Higress-OpenClaw integration and migrates the OpenClaw plugin package from higress-standalone to the main higress repository.
    Feature Value: By enhancing the provider list and migrating the plugin package, users can more easily access commonly used providers, improving integration efficiency and user experience.

  • Related PR: #3428
    Contributor: @johnlanni
    Change Log: This PR adds two new skills to the Higress AI Gateway and Clawdbot integration: automatic model routing configuration and gateway deployment via CLI parameters. It supports multilingual trigger words and hot reloading of configurations.
    Feature Value: The new features enable users to manage AI model traffic distribution more flexibly and simplify the integration process with Clawdbot, enhancing system availability and usability.

  • Related PR: #3427
    Contributor: @johnlanni
    Change Log: Added the use_default_attributes configuration option, which, when set to true, automatically applies a set of default attributes, simplifying the user configuration process.
    Feature Value: This feature makes the ai-statistics plugin easier to use, especially for common use cases, reducing manual configuration work while maintaining full configurability.

  • Related PR: #3426
    Contributor: @johnlanni
    Change Log: Added the Agent Session Monitor skill, supporting real-time monitoring of Higress access logs and tracking multi-turn conversation session IDs and token usage.
    Feature Value: By providing real-time visibility into LLMs in the Higress environment, this helps users better understand and optimize the performance and cost of their AI assistants.

  • Related PR: #3424
    Contributor: @johnlanni
    Change Log: This PR adds support for token usage details to the ai-statistics plugin, including the built-in attribute keys reasoning_tokens and cached_tokens, to better track resource consumption during inference.
    Feature Value: By introducing more detailed token usage logging, users can more clearly understand resource usage during AI inference, aiding in model efficiency and cost control.

  • Related PR: #3420
    Contributor: @johnlanni
    Change Log: This PR adds session ID tracking to the ai-statistics plugin, allowing users to track multi-turn conversations through custom or default headers.
    Feature Value: The added session ID tracking capability helps better analyze and understand multi-turn conversation flows, enhancing user experience and system traceability.

  • Related PR: #3417
    Contributor: @johnlanni
    Change Log: This PR adds key warnings and guidelines to the Nginx to Higress migration tool, including explicit warnings for unsupported fragment annotations and pre-migration check commands.
    Feature Value: By providing clear warnings about unsupported configurations and pre-migration check methods, this helps users identify potential issues and complete the migration from Nginx to Higress more smoothly.

  • Related PR: #3411
    Contributor: @johnlanni
    Change Log: Added a comprehensive skill for migrating from ingress-nginx to Higress in a Kubernetes environment. Includes analysis scripts, migration test generators, and plugin skeleton generation tools.
    Feature Value: This feature greatly simplifies the migration process from ingress-nginx to Higress by providing detailed compatibility analysis and automation tools, reducing migration difficulty and enhancing user experience.

  • Related PR: #3409
    Contributor: @johnlanni
    Change Log: This PR adds the contextCleanupCommands configuration option to the ai-proxy plugin, allowing users to define commands to clear conversation context. When a user message exactly matches a cleanup command, all non-system messages before that command will be removed.
    Feature Value: This new feature allows users to proactively clear previous conversation records by sending specific commands, thereby better controlling conversation history and enhancing user experience and privacy.

  • Related PR: #3404
    Contributor: @johnlanni
    Change Log: Added the ability for the Claude AI assistant to automatically generate Higress community governance daily reports, including auto-tracking GitHub activities, progress tracking, and knowledge consolidation.
    Feature Value: This feature helps community managers better understand project dynamics and issue progress, promoting efficient problem resolution and enhancing overall community governance.

  • Related PR: #3403
    Contributor: @johnlanni
    Change Log: Implemented a new automatic routing feature that dynamically selects the appropriate model to handle requests based on user message content and predefined regular expression rules.
    Feature Value: This feature allows users to more flexibly configure services to automatically recognize and respond to different types of messages, reducing the need for manual model specification and enhancing system intelligence.

  • Related PR: #3402
    Contributor: @johnlanni
    Change Log: Added the Claude skill for developing Higress WASM plugins using Go 1.24+. Includes reference documentation and local testing guidelines for HTTP clients, Redis clients, etc.
    Feature Value: Provides developers with detailed guidance and example code, making it easier for them to create, modify, or debug WASM plugins based on the Higress gateway, enhancing development efficiency and experience.

  • Related PR: #3394
    Contributor: @changsci
    Change Log: This PR extends the existing authentication mechanism by fetching API keys from request headers, particularly when provider.apiTokens is not configured, thus enhancing system flexibility.
    Feature Value: This new feature allows users to more flexibly manage and pass API keys, ensuring normal service access even when direct configuration is missing, enhancing user experience and security.

  • Related PR: #3384
    Contributor: @ThxCode-Chen
    Change Log: Added support for upstream IPv6 static addresses in the watcher.go file, involving 31 lines of new code and 9 lines of deletions, mainly focusing on handling service entry generation logic.
    Feature Value: Adding support for IPv6 static addresses enhances system network flexibility and compatibility, allowing users to configure more types of network addresses, thereby enhancing user experience and service diversity.

  • Related PR: #3375
    Contributor: @wydream
    Change Log: This PR adds Vertex Raw mode support to the Vertex AI Provider in the ai-proxy plugin, enabling the getAccessToken mechanism when accessing native REST APIs via Vertex.
    Feature Value: Enhances support for native Vertex AI APIs, allowing direct calls to third-party hosted model APIs and enjoying automatic OAuth authentication, enhancing development flexibility and security.

  • Related PR: #3367
    Contributor: @rinfx
    Change Log: Updated the wasm-go dependency version and introduced Foreign Function, enabling Wasm plugins to perceive the Envoy host's log level in real time. By checking the log level upfront, unnecessary memory operations are avoided when there is a mismatch.
    Feature Value: Enhances system performance, especially when handling large amounts of log data, reducing memory consumption and CPU usage, and improving response speed and resource utilization.

  • Related PR: #3342
    Contributor: @ai...

Read more

v2.1.9

13 Nov 11:52
ec5031c

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 44 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.

Update Distribution

  • New Features: 23
  • Bug Fixes: 14
  • Refactoring Optimizations: 2
  • Documentation Updates: 1
  • Testing Improvements: 4

⭐ Key Highlights

This release contains 3 significant updates, which are recommended for special attention:

  • feat(mcp-server): add server-level default authentication and MCP proxy server support (#3096): This feature enhances Higress's security management capabilities for MCP traffic, allowing users to set up authentication through a unified interface, simplifying the deployment process of security policies, and enhancing system security and flexibility.
  • feat: add higress api mcp server (#2923): By adding the higress-ops MCP Server, users can use the hgctl agent command to manage Higress configurations and troubleshoot issues, improving operational efficiency and user experience.
  • feat: implement hgctl agent & mcp add subcommand (#3051): This enhancement improves Higress's operational capabilities, especially through interactive management and debugging via the Agent, making it easier for users to configure and debug MCP traffic governance. It is a significant step towards AI-native operations for Higress.

For more details, please refer to the detailed descriptions of key features below.


🌟 Detailed Description of Key Features

Below are the detailed explanations of the important features and improvements in this release:

1. feat(mcp-server): add server-level default authentication and MCP proxy server support

Related PR: #3096 | Contributor: @johnlanni

Usage Background

As the AI-native API gateway Higress develops, users' demands for API security, flexibility, and ease of use are increasing. In practical applications, the MCP (Model Context Protocol) is widely used for managing and invoking AI models. However, existing MCP servers lack a unified security authentication mechanism, leading to the need for configuring different authentication mechanisms in various scenarios (such as direct proxying by MCP Server, or REST API conversion to MCP Server). This update addresses these issues, targeting user groups including, but not limited to, developers, operations personnel, and system administrators, who require a more secure, flexible, and easy-to-manage API gateway.

Feature Details

This update primarily implements two core features: 1. Adding default authentication at the MCP server level, including client-to-gateway and gateway-to-backend authentication; 2. Introducing a new type of MCP proxy server that can proxy MCP requests from clients to backend MCP servers, supporting timeout configuration and full authentication support. Technically, this is achieved by updating dependency library versions (such as wasm-go and proxy-wasm-go-sdk) to support the new features, while also refactoring existing code to accommodate the new authentication and proxy logic.

Usage

To enable this feature, you need to set the corresponding parameters in the Higress configuration file. For example, to configure default downstream security, specify the authentication policy in the defaultDownstreamSecurity field; similarly, upstream authentication is configured through the defaultUpstreamSecurity field. To use the MCP proxy server, define a new mcp-proxy type server and specify the backend MCP server address via the mcpServerURL field. Additionally, you can control the request timeout time using the timeout field. Best practices recommend utilizing the priority configuration mechanism to ensure that tool-level settings can override server-level defaults, thereby achieving finer-grained control.

Feature Value

This feature significantly enhances the security and flexibility of Higress, making API management more efficient. By introducing server-level default authentication, it reduces the workload of repetitive configurations and lowers the security risks caused by configuration errors. The newly added MCP proxy server capability not only simplifies the complexity of MCP service governance but also effectively alleviates the pressure on backend MCP servers by offloading state-keeping tasks to the Higress side. These improvements collectively contribute to enhancing the stability and user experience of the entire ecosystem, laying a solid foundation for Higress to become an indispensable API gateway in the AI era.


2. feat: add higress api mcp server

Related PR: #2923 | Contributor: @Tsukilc

Usage Background

As AI technology advances, API gateways need to better support AI-related functionalities. Higress, as an AI-native API gateway, needs to provide more powerful management tools to unify the management of core API assets such as LLM APIs, MCP APIs, and Agent APIs. This PR integrates the Higress API MCP Server, providing comprehensive management capabilities for AI routing, AI providers, and MCP servers. These new features help users more efficiently configure and maintain Higress's AI features, meeting the needs of modern applications. The target user groups include Higress operators and developers, especially those with deep needs in the AI domain.

Feature Details

This PR mainly implements the following features:

  1. AI Routing Management: Added tools such as list-ai-routes, get-ai-route, add-ai-route, update-ai-route, and delete-ai-route to allow users to manage AI routes.
  2. AI Provider Management: Added tools such as list-ai-providers, get-ai-provider, add-ai-provider, update-ai-provider, and delete-ai-provider to allow users to manage AI providers.
  3. MCP Server Management: Added tools such as list-mcp-servers, get-mcp-server, add-or-update-mcp-server, and delete-mcp-server to allow users to manage MCP servers and their consumers.
  4. Authentication Configuration: Uses HTTP Basic Authentication for authorization, carrying the Authorization header in the client request.
  5. Code Changes: Removed hard-coded usernames and passwords, instead providing them at runtime via the MCP Client, enhancing security. Additionally, added the higress-ops module for hgctl agent command integration, enabling Agent-based management of Higress configurations.

Usage

To enable and configure this feature, follow these steps:

  1. Configure Higress API MCP Server: Add the Higress API MCP Server configuration in the Higress configuration file, specifying the URL of the Higress Console.
  2. Use hgctl agent: Start the interactive Agent using the hgctl agent command, allowing you to manage Higress using natural language. For example, use the mcp add subcommand to add a remote MCP Server to the Higress MCP management directory.
  3. Manage AI Routes: Use tools like list-ai-routes, get-ai-route, add-ai-route, update-ai-route, and delete-ai-route to manage AI routes.
  4. Manage AI Providers: Use tools like list-ai-providers, get-ai-provider, add-ai-provider, update-ai-provider, and delete-ai-provider to manage AI providers.
  5. Manage MCP Servers: Use tools like list-mcp-servers, get-mcp-server, add-or-update-mcp-server, and delete-mcp-server to manage MCP servers and their consumers.
    Note: Ensure that you correctly configure the authentication information and carry the Authorization header in the request.

Feature Value

This feature brings the following specific benefits to users:

  1. Enhanced Management Capabilities: Users can more easily manage and debug Higress's AI routing, AI provider, and MCP server configurations using the new MCP tools, improving management efficiency.
  2. Higher Security: By providing usernames and passwords at runtime via the MCP Client rather than hard-coding them in the configuration file, the system's security is enhanced.
  3. Better User Experience: The interactive management method via hgctl agent allows users to manage Higress using natural language, reducing the learning curve and difficulty of use.
  4. Improved System Performance and Stability: The new MCP tools provide more management and debugging options, helping to promptly identify and resolve issues, thereby improving system stability and performance.
  5. Ecosystem Importance: As the first step for Higress to transition from traditional operations to Agent-based operations, this feature is significant for the development of the Higress ecosystem, laying the groundwork for future innovations.

3. feat: implement hgctl agent & mcp add subcommand

Related PR: #3051 | Contributor: @erasernoob

Usage Background

Higress is an AI-native API gateway used to unify the management of LLM APIs, MCP APIs, and Agent APIs. As Higress evolves, traditional command-line tools no longer meet user needs, especially in the management and debugging of MCP services. This PR introduces an interactive Agent similar to Claude Code, allowing users to manage Higress using natural language. Additionally, the new mcp add subcommand makes it easy to add remote MCP services to Higress's MCP management directory, enabling MCP traffic governance. These features not only simplify the configuration process for MCP services but also enhance the system's maintainability and usability.

Feature Details

Thi...

Read more

v2.1.9-rc.1

09 Oct 09:33
13261bd

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 11 updates, covering areas such as feature enhancements, bug fixes, performance optimizations, and more.

Distribution of Updates

  • New Features: 3
  • Bug Fixes: 5
  • Refactoring and Optimization: 1
  • Documentation Updates: 2

πŸ“ Full Changelog

πŸš€ New Features (Features)

  • 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.

πŸ› Bug Fixes (Bug Fixes)

  • Related PR: #2973
    Contributor: @CH3CHO
    Change Log: This PR fixes an issue in Higress version 2.1.8 where the mcp-session filter did not support setting match_rule_domain to 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.

♻️ Refactoring and Optimization (Refactoring)

  • 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.

πŸ“š Documentation Updates (Documentation)

  • 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.


πŸ“Š Release Statistics

  • πŸš€ 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! πŸŽ‰

Higress Console

πŸ“‹ Overview of This Release

This release includes 4 updates, covering multiple aspects such as feature enhancements, bug fixes, and performance optimizations.

Update Distribution

  • New Features: 1
  • Bug Fixes: 2
  • Documentation Updates: 1

⭐ Key Highlights

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.


🌟 Important Feature Details

Below are detailed explanations of key features and improvements in this release:

1. feat: Support using a known service in OpenAI LLM provider

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 als...

Read more

v2.1.8

21 Sep 07:34

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 30 updates, covering various aspects such as feature enhancements, bug fixes, performance optimizations, and more.

Update Distribution

  • New Features: 13
  • Bug Fixes: 7
  • Refactoring and Optimization: 5
  • Documentation Updates: 4
  • Testing Improvements: 1

⭐ Key Highlights

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.


🌟 Detailed Description of Important Features

Below is a detailed description of the key features and improvements in this release:

1. feat: add rag mcp server

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, chunk management, search, and chat functions. The core features include:

  1. Knowledge Management: Supports creating knowledge blocks from text.
  2. Chunk Management: Provides functionalities for listing and deleting knowledge chunks.
  3. Search: Supports keyword-based search.
  4. 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, and github.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:

  1. Enable the MCP server in the higress-config configuration file and set the corresponding path and configuration items.
  2. Configure the basic parameters of the RAG system, such as splitter type, chunk size, and overlap.
  3. Configure the LLM (Large Language Model) provider and its API key, model name, etc.
  4. Configure the embedding model provider and its API key, model name, etc.
  5. 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:

  1. Improved Efficiency: Through integrated knowledge management and retrieval functions, users can quickly process and retrieve large volumes of text data, saving time and resources.
  2. Enhanced Accuracy: Combining RAG technology, the system can more accurately extract and retrieve information, reducing error rates.
  3. Flexible Configuration: Provides rich configuration options, allowing users to flexibly adjust according to actual needs, meeting the requirements of different scenarios.
  4. High Scalability: Supports multiple providers and models, making it easy for users to choose suitable components and technology stacks based on business needs.
  5. Stability Improvement: Through detailed configuration validation and error handling mechanisms, the stability and robustness of the system are ensured.

2. refactor(mcp): use ECDS for golang filter configuration to avoid connection drain

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.


πŸ“ Full Changelog

πŸš€ New Features (Features)

  • 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, enab...

Read more

v2.1.7

01 Sep 07:59
020b5f3

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 42 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.

Update Distribution

  • New Features: 21 items
  • Bug Fixes: 14 items
  • Refactoring and Optimization: 4 items
  • Documentation Updates: 2 items
  • Testing Improvements: 1 item

⭐ Key Highlights

This release includes 3 significant updates, which are recommended for your attention:

  • feat: add MCP SSE stateful session load balancer support (#2818): This feature enables applications based on SSE to better maintain persistent connections between clients and servers, enhancing user experience and application performance, especially in scenarios requiring long-term connections for data pushing.
  • feat: Support adding a proxy server in between when forwarding requests to upstream (#2710): This feature allows users to use a proxy server when forwarding requests to upstream services, enhancing the system's flexibility and security, suitable for scenarios where communication through specific proxies is required.
  • feat(ai-proxy): add auto protocol compatibility for OpenAI and Claude APIs (#2810): By automatically detecting and converting protocols, users can seamlessly use APIs from different AI service providers without manual configuration, improving user experience and flexibility.

For more details, please refer to the Important Features section below.


🌟 Detailed Description of Important Features

Here are the detailed descriptions of important features and improvements in this release:

1. feat: add MCP SSE stateful session load balancer support

Related PR: #2818 | Contributor: @johnlanni

Usage Background

As the demand for real-time communication grows, Server-Sent Events (SSE) have become a key technology for many applications. However, in distributed systems, ensuring that requests from the same client are always routed to the same backend service to maintain session state has been a challenge. Traditional load balancing strategies cannot meet this need. This feature addresses this issue by introducing MCP SSE stateful session load balancing support. By specifying the mcp-sse type in the higress.io/load-balance annotation, users can easily manage SSE connection state sessions. The target user group mainly consists of application developers and service providers who need to perform real-time data pushing in distributed environments.

Feature Details

This PR mainly implements the following features:

  1. Extend load-balance annotation: In the loadbalance.go file, support for the mcp-sse value is added, and the McpSseStateful field is added to the LoadBalanceConfig struct.
  2. Simplified Configuration: Users only need to set mcp-sse in the higress.io/load-balance annotation to enable this feature, with no additional configuration required.
  3. Backend Address Encoding: When MCP SSE stateful session load balancing is enabled, the backend address will be Base64 encoded and embedded in the session ID of the SSE message. This ensures that the client can correctly identify and maintain the session. The core innovation lies in dynamically generating SSE session-related configurations through EnvoyFilter, thereby achieving stateful session management.

Usage Instructions

To use this feature, users need to follow these steps:

  1. Enable the Feature: Add the higress.io/load-balance: mcp-sse annotation to the Ingress resource.
  2. Configuration Example:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: sse-ingress
  annotations:
    higress.io/load-balance: mcp-sse
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /mcp-servers/test/sse
        pathType: Prefix
        backend:
          service:
            name: sse-service
            port:
              number: 80
  1. Testing: Access the SSE endpoint using the curl command and check if the returned messages contain the correct session ID.
    Notes:
  • Ensure that the backend service can handle Base64 encoded session IDs.
  • Avoid frequent changes to the backend service deployment to prevent session consistency issues.

Feature Value

This feature brings the following specific benefits to users:

  1. Session Consistency: Ensures that requests from the same client are always routed to the same backend service, maintaining session state consistency.
  2. Simplified Configuration: Enables the feature with simple annotation configuration, reducing the complexity of user configuration.
  3. Enhanced User Experience: For applications that rely on SSE, such as real-time notifications and stock market data, it provides a more stable and consistent service experience.
  4. Reduced Operations Costs: Reduces errors and failures caused by inconsistent sessions, lowering the workload of the operations team.

2. feat: Support adding a proxy server in between when forwarding requests to upstream

Related PR: #2710 | Contributor: @CH3CHO

Usage Background

In modern microservice architectures, especially in complex network environments, directly forwarding requests from the client to the backend service may encounter various issues, such as network security and performance bottlenecks. Introducing an intermediate proxy server can effectively solve these problems, for example, by performing traffic control, load balancing, and SSL offloading through the proxy server. Additionally, in some cases, enterprises may need to use specific proxy servers to meet compliance and security requirements. The target user group for this feature mainly consists of enterprises and developers who need to optimize request forwarding paths in complex network environments.

Feature Details

This PR mainly implements the ability to configure one or more proxy servers in the McpBridge resource and allows specifying proxy servers for each registry. The specific implementation includes:

  1. Adding the proxies field in the McpBridge resource definition to configure the list of proxy servers, and adding the proxyName field in the registries item to associate the proxy server with the registry.
  2. When creating or updating the McpBridge resource, the system automatically generates the corresponding EnvoyFilter resources, which define how to forward requests to the specified proxy server.
  3. Additionally, EnvoyFilters are generated for each service bound to a proxy, ensuring they correctly point to the local listener on the corresponding proxy server. The entire technical implementation is based on Envoy's advanced routing capabilities, demonstrating the project's powerful functionality in handling complex network topologies.

Usage Instructions

To enable this feature, at least one proxy server must first be configured in the McpBridge resource. This can be done by adding new ProxyConfig objects to the spec.proxies array, each containing necessary information such as name, serverAddress, and serverPort. Next, for the registry entries that need to use a proxy server, simply reference the defined proxy name in their proxyName field. Once configured, the system will automatically handle all related EnvoyFilter generation work. It is worth noting that before actual deployment, the correctness of the configuration files should be carefully checked to avoid service unavailability due to misconfiguration.

Feature Value

The newly added proxy server support feature greatly enhances the system's network flexibility, allowing users to flexibly adjust request forwarding paths according to their needs. For example, by setting up different proxy servers, it is easy to achieve data transmission optimization across multiple regions; at the same time, with the additional security features provided by the proxy layer (such as SSL encryption), the overall system security is significantly improved. In addition, this feature also helps simplify operations management, especially in situations where frequent adjustments to the network architecture are needed. Through simple configuration changes, rapid responses to changes can be achieved without major modifications to the underlying infrastructure. In summary, this improvement not only expands the project's scope but also provides users with more powerful tools to tackle increasingly complex network challenges.


3. feat(ai-proxy): add auto protocol compatibility for OpenAI and Claude APIs

Related PR: #2810 | Contributor: @johnlanni

Usage Background

In the AI proxy plugin, users may need to interact with multiple AI service providers (such as OpenAI and Anthropic Claude) simultaneously. These providers typically use different API protocols, leading to the need for manual configuration of protocol types when switching services, which increases complexity and the likelihood of errors. This feature solves this problem, allowing users to seamlessly use different providers' services without worrying about the differences in underlying protocols. The target user group consists of developers and enterprises who want to simplify the AI service integration process.

Feature Details

This PR implements the automatic protocol compatibility feature. The core technological innovation lies in automatically detecting the request path and intelligently converting the protocol based on the target provider's capabilities. Specifically, when the request path is /v1/chat/completions, i...

Read more

v2.1.6

30 Jul 13:53
d98f8b8

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 31 updates, covering enhancements, bug fixes, performance optimizations, and more.

Update Distribution

  • New Features: 13 items
  • Bug Fixes: 5 items
  • Refactoring and Optimization: 7 items
  • Documentation Updates: 5 items
  • Testing Improvements: 1 item

⭐ Key Highlights

This release contains 2 major updates, which are highly recommended to focus on:

  • feat: Add Higress API MCP server (#2517): The newly added Higress API MCP server functionality enhances AI Agent's management capabilities over Higress resources, supporting the creation, deletion, modification, and querying of routes and services through MCP, thereby improving the system's flexibility and maintainability.
  • Migrate WASM Go Plugins to New SDK and Go 1.24 (#2532): The underlying compilation dependency for developing Wasm Go plugins has been switched from TinyGo to native Go 1.24, improving plugin compatibility and performance, ensuring alignment with the latest technology stack, and providing users with more stable and efficient plugin support.

For more details, please refer to the detailed description of key features below.


🌟 Detailed Description of Key Features

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

Usage Background

In modern microservice architectures, the API gateway, as the entry point, requires flexible and powerful configuration management capabilities. Higress, as a high-performance API gateway, provides rich features for managing routes, service origins, and plugins. However, the existing configuration management methods may not be flexible enough to meet complex operational needs. To address this issue, PR #2517 introduces the Higress API MCP Server, providing a new way to manage configurations through the Higress Console API. This feature is primarily aimed at operations personnel and developers who need advanced and dynamic management of Higress.

Feature Details

This change implements the Higress API MCP Server, re-implementing an MCP server using golang-filter that can call the Higress Console API to manage routes, service origins, and plugins. The specific implementation includes:

  1. Added the HigressClient class to handle interactions with the Higress Console API.
  2. Implemented various management tools such as route management (list-routes, get-route, add-route, update-route), service origin management (list-service-sources, get-service-source, add-service-source, update-service-source), and plugin management (get-plugin, delete-plugin, update-request-block-plugin).
  3. Modified relevant configuration files and README documentation, providing detailed configuration examples and usage instructions.
  4. Code changes involve multiple files, including config.go, client.go, server.go, etc., ensuring the completeness and extensibility of the feature.

Usage Instructions

To enable and configure the Higress API MCP Server, follow these steps:

  1. Add the MCP Server configuration in the Higress ConfigMap, specifying the URL, username, and password of the Higress Console.
  2. When starting the Higress Gateway, ensure that mcpServer.enable is set to true.
  3. Use the provided tool commands (e.g., list-routes, add-route) to manage routes, service origins, and plugins.
  4. Configuration example:
apiVersion: v1
kind: ConfigMap
metadata:
  name: higress-config
  namespace: higress-system
data:
  higress: |-
    mcpServer:
      sse_path_suffix: /sse
      enable: true
      servers:
        - name: higress-api-mcp-server
          path: /higress-api
          type: higress-api
          config:
            higressURL: http://higress-console.higress-system.svc.cluster.local
            username: admin
            password: <password>

Notes:

  • Ensure that the Higress Console URL, username, and password are correct.
  • It is recommended to use environment variables or encrypted storage for the password to enhance security.

Feature Value

The Higress API MCP Server brings the following specific benefits to users:

  1. Improved Operational Efficiency: Through a unified MCP interface, users can more conveniently manage and configure Higress resources via AI Agent, reducing the complexity and error rate of manual operations.
  2. Enhanced System Flexibility: Support for dynamic management and updating of routes, service origins, and plugins makes the system more flexible and able to quickly respond to changes in business requirements.
  3. Increased System Stability: Automated configuration management reduces the possibility of human errors, thereby enhancing the stability and reliability of the system.
  4. Easy Integration: The design of the Higress API MCP Server makes it easy to integrate with other AI agents and tools, facilitating the construction of a complete automated operations system.

2. Migrate WASM Go Plugins to New SDK and Go 1.24

Related PR: #2532 | Contributor: @erasernoob

Usage Background

With the development of the Go language, new versions provide many performance optimizations and security improvements. This PR aims to migrate WASM Go plugins from the old SDK to the new SDK and upgrade the Go version to 1.24. This not only resolves some 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 operations personnel using Higress for microservice management and traffic control.

Feature Details

This PR mainly implements the following features: 1) Updated the workflow files for building and testing plugins to support the new Go version; 2) Modified the Dockerfile and Makefile, removing support for TinyGo and switching to the standard Go compiler for generating WASM files; 3) Updated the go.mod file, referencing new package paths and versions; 4) Adjusted the import path of the logging library, unifying the use of the new logging library. These changes allow the plugins to better utilize the new features of Go 1.24, such as improved garbage collection and more efficient compiler optimizations. Additionally, removing support for TinyGo simplifies the build process and reduces potential compatibility issues.

Usage Instructions

To enable and configure this feature, first ensure that 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 use ARG BUILDER=higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/wasm-go-builder:go1.24.4-oras1.0.0 in the Dockerfile. 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 that all related code is adapted to the new version.

Feature Value

This refactoring brings multiple benefits to users: 1) Improved plugin runtime efficiency and stability, thanks to the new features and optimizations in Go 1.24; 2) Simplified build process, reducing dependency on third-party tools (such as TinyGo) and lowering maintenance costs; 3) Unified code style and dependency management, improving 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 a more powerful and reliable microservice management platform for users.


πŸ“ Full Changelog

πŸš€ 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 the system's flexibility and applicability, and facilitating the integration of more external resources.

  • Related PR: #2667
    Contributor: @hanxiantao
    Change Log: This PR adds support for setting a global route rate limit threshold for the AI Token rate-limiting plugin, while optimizing the underlying logic related to the cluster-key-rate-limit plugin and improving log messages.
    Feature Value: By adding support for global rate limit thresholds, users can more flexibly manage traffic, avoiding the impact of a single route's excessive traffic on the entire system's stability.

  • Related PR: #2652
    Contributor: @OxalisCu
    Change Log: This PR adds support for the first-byte timeout for LLM streaming requests in the ai-proxy plugin by modifying the provider.go file.
    Feature Value: This feature allows users to set a first-byte timeout for LLM streaming requests, improving system stability and user experience.

  • Related PR: #2650
    Contributor: @zhangjingcn
    Change Log: This PR implements the functionality to fetch ErrorResponseTemplate configuration from the Nacos MCP registry by modifying the mcp_model.go and watcher.go files to support new metadata handling.
    Feature Value: This feature enhances t...

Read more

v2.1.5

02 Jul 10:04
36bcb59

Choose a tag to compare

Higress

πŸ“‹ Overview of This Release

This release includes 41 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.

Update Content Distribution

  • New Features: 19
  • Bug Fixes: 14
  • Refactoring Optimizations: 2
  • Documentation Updates: 6

⭐ Key Focus

This release includes 2 significant updates, which are recommended for your attention:

  • feat: add DB MCP Server execute, list tables, describe table tools (#2506): By adding these tools, users can more conveniently manage and operate databases, enhancing the system's flexibility and usability, making database operations more intuitive and efficient.
  • feat: advanced load balance policies for LLM service through wasm plugin (#2531): By introducing advanced load balancing strategies, the performance and resource utilization of LLM services have been improved, allowing users to choose the most suitable strategy to optimize their services based on their needs.

For more details, please refer to the key features section below.


🌟 Detailed Description of Key Features

Here is a detailed description of the important features and improvements in this release:

1. feat: add DB MCP Server execute, list tables, describe table tools

Related PR: #2506 | Contributor: hongzhouzi

Usage Background

In many application development scenarios, developers need to frequently interact with databases, such as executing SQL statements and viewing table structures. While the existing MCP server supports basic database query functions, it lacks more advanced operation tools. This update adds three tools: execute (execute SQL), list tables (list tables), and describe table (describe table), aiming to meet higher user demands for database management. The target user groups include, but are not limited to, database administrators, backend developers, and application developers who need to frequently interact with databases.

Feature Details

Specifically, by modifying the db.go file, new database type constants were introduced, and the new tools were registered in the server.go file. The newly added tools implement the functionality of executing arbitrary SQL statements, listing all table names, and obtaining detailed information about specific tables. The core technical points lie in using the GORM framework to handle different types of database connections and providing customized SQL query logic for each type of database. Additionally, the code changes also involved optimizing the error handling mechanism, such as unifying the error handling function handleSQLError, improving the maintainability of the code. These improvements not only enriched the MCP server's feature set but also enhanced its applicability in various database environments.

Usage Instructions

Enabling these new features is straightforward; just ensure that your MCP server configuration includes the correct database DSN and type. For the execute tool, users can send requests containing the sql parameter to perform INSERT, UPDATE, or DELETE operations; the list tables tool requires no additional parameters and can be called directly to return all table names in the current database; the describe table tool requires a table parameter to specify the table name to view. Typical use cases include, but are not limited to, periodically checking the consistency of database table structures, generating automated scripts, and verifying data before and after migration. It is important to note that when using the execute tool, caution should be exercised to avoid executing commands that may compromise data integrity.

Feature Value

This feature significantly expands the application scope of the MCP server in database management, enabling users to complete daily tasks more efficiently. It not only simplifies complex manual operations and reduces the likelihood of errors but also provides a solid foundation for building automated O&M processes. Especially for projects that need to work across multiple database platforms, this unified and flexible interface design is undoubtedly a boon. Additionally, by improving error handling logic and adding security measures (such as preventing SQL injection), this PR further ensures the stability and security of the system.


2. feat: advanced load balance policies for LLM service through wasm plugin

Related PR: #2531 | Contributor: rinfx

Usage Background

With the widespread application of large language models (LLMs), the demand for high performance and high availability is growing. Traditional load balancing strategies may not meet these requirements, especially when handling a large number of concurrent requests. The new load balancing strategies aim to address these issues by providing smarter request distribution. The target user group includes enterprises and developers who require high-performance and high-availability LLM services.

Feature Details

This PR implements three new load balancing strategies: 1. Minimum Load Strategy, implemented using WASM, suitable for gateway-api-inference-extension; 2. Global Least Request Strategy based on Redis, which tracks and manages the number of requests for each host via Redis, ensuring that requests are allocated to the host with the least current load; 3. Prompt Prefix Matching Strategy, which selects backend nodes based on prompt prefixes, and if no match is found, uses the Global Least Request Strategy. These strategies are implemented using WASM plugins, providing high scalability and flexibility.

Usage Instructions

To enable these load balancing strategies, you need to specify the corresponding strategy type and configuration parameters in the Higress gateway configuration. For example, to enable the Global Least Request Strategy based on Redis, set lb_policy to global_least_request in the configuration file and provide the FQDN, port, username, and password of the Redis service. For the Prompt Prefix Matching Strategy, set lb_policy to prefix_cache and make the corresponding configuration. Best practice is to choose the appropriate strategy based on the actual application scenario and regularly monitor and adjust the configuration to optimize performance.

Feature Value

These new load balancing strategies bring significant performance improvements to LLM services. The Minimum Load Strategy ensures that requests are allocated to the host with the least current load, thereby improving response speed and resource utilization. The Global Least Request Strategy based on Redis further optimizes resource allocation by tracking the number of requests for each host in real time. The Prompt Prefix Matching Strategy improves processing efficiency by caching and reusing KV Cache. These features not only enhance system performance and stability but also improve user experience, especially in high-concurrency scenarios.


πŸ“ Complete Changelog

πŸš€ New Features (Features)

  • Related PR: #2533
    Contributor: @johnlanni
    Change Log: Added support for the subPath field, allowing users to configure rules for removing request path prefixes, and updated the Chinese and English documentation to include usage instructions for the new feature.
    Feature Value: By introducing the subPath configuration option, the flexibility and customizability of the AI proxy plugin have been enhanced, enabling developers to more finely control the request path processing logic and improve the user experience.

  • Related PR: #2514
    Contributor: @daixijun
    Change Log: This PR commented out the default tracing.skywalking configuration in values.yaml, resolving the issue where skywalking configurations were automatically added when users chose other tracing types.
    Feature Value: By removing unnecessary skywalking configurations, conflicts with user-defined tracing settings are avoided, enhancing the system's flexibility and user experience.

  • Related PR: #2509
    Contributor: @daixijun
    Change Log: This PR implemented handling of the OpenAI responses interface Body and added support for the Volcano Ark large model responses interface, achieved by extending the logic in the provider/doubao.go file.
    Feature Value: The new feature enables the system to support more types of AI response processing, particularly for users using the Volcano Ark large model, significantly enhancing the system's compatibility and flexibility.

  • Related PR: #2488
    Contributor: @rinfx
    Change Log: Added trace_span_key and as_separate_log_field configuration options, allowing the keys for logging and span attribute recording to be different and enabling log content to exist as separate fields.
    Feature Value: By providing more flexible logging and tracing data recording methods, the system's monitoring capabilities have been enhanced, helping developers better understand and optimize application performance.

  • Related PR: #2485
    Contributor: @johnlanni
    Change Log: This PR introduced the errorResponseTemplate feature, allowing the mcp server plugin to customize response content when the backend HTTP status code is greater than 300.
    ...

Read more