v2.2.1
This release includes 65 updates, covering feature enhancements, bug fixes, and performance optimizations.
- New Features: 29
- Bug Fixes: 26
- Refactoring & Optimizations: 3
- Documentation Updates: 7
-
Related PR: #3689
Contributor: @rinfx
Change Log: Introduces a newmodelToHeaderconfiguration option for themodel-mapperplugin, enabling users to customize the HTTP request header name into which the mapped model is written. The default value isx-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 newproviderBasePathconfiguration option, allowing definition of a base path prefix inProviderConfig. This prefix is automatically injected into all provider request paths during path rewriting. Also optimizesproviderDomainhandling logic to improve flexibility and reliability when combining domains and paths.
Feature Value: Enables unified API path prefix management viaproviderBasePath, 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 OpenAIresponse_formatto VertexgenerationConfigfor the Vertex Provider inai-proxy, with focused support for structured output ingemini-2.5+. Forgemini-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 (especiallygemini-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-textdenyMessagein the AI Security Guard plugin with a structuredDenyResponseBody, introducing a response schema containingblockedDetails,requestId, andguardCode. Adds JSON serialization support and corresponding construction/parsing helper functions within theconfigpackage.
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 universalproviderDomainconfiguration field andresolveDomainDNS resolution logic to theai-proxyplugin, supporting custom domain configuration for Gemini and Claude providers. Integrates this capability intoCreateProviderandTransformRequestHeaders, 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 theplugin-serverDocker image when anhigressv*.*.*tag is released. Supports specifying theplugin-serverbranch/tag/commit viaworkflow_dispatch, enhancing automation for plugin service deployment.
Feature Value: Eliminates manualplugin-serverimage 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 newpromoteThinkingOnEmptyconfiguration option: when a model response contains onlyreasoning_contentand notext, it automatically promotesreasoning_contenttotext. Also introduces thehiclawModeshortcut toggle, simultaneously enablingmergeConsecutiveMessagesandpromoteThinkingOnEmpty, 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.hiclawModesimplifies 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 defaultvalue_length_limitin theai-statisticsplugin from 4000 to 32000 and writes token usage toAILogimmediately 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 theai-proxyplugin 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 thecached_tokensmeasurement metric and integrates native Bedrock usage fields likecacheReadInputTokens.
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 newmergeConsecutiveMessagesconfiguration option. During AI proxy request preprocessing, it automatically merges consecutive messages of the same role (e.g., multipleusermessages) by traversing and reconstructing themessagesarray—ensuring compatibility with strict alternating-message requirements of non-OpenAI models such as GLM, Kimi, and Qwen.
Feature Value: Enables seamless adaptation of theai-proxyplugin 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/responsesto the default path suffix list in both themodel-routerandmodel-mapperplugins—natively enabling/v1/responsesinterface invocations without additional configuration required for routing or mapping response-related requests.
Feature Value: Allows users to directly invoke model service response functionality via the/v1/responsespath—improving API consistency and usability. Reduces customization overhead and strengthens the model gateway’s out-of-the-box support for emerging OpenAI-compatible interfaces. -
Related PR: #3570
Contributor: @CH3CHO
Change Log: Upgrades the Console component to v2.2.1 and synchronously releases the main Higress version v2.2.1—updating theVERSIONfile,appVersioninChart.yaml, and dependency versions and digests inChart.lockto ensure the correct Console subchart version is pulled during Helm deployment.
Feature Value: Delivers the latest Console features and UX enhancements—improving management interface stability and compatibility. Semantic version synchronization strengthens cluster deployment consistency, reduces operational risks from version mismatches, and simplifies upgrade procedures. -
Related PR: #3563
Contributor: @wydream
Change Log: Adds OpenAI Prompt Cache parameter support to the Bedrock Provider—implementing conversion of request-sideprompt_cache_retention/prompt_cache_keyto Bedrock’scachePoint, and mapping response-sidecacheRead/cacheWritetokens to OpenAI’scached_tokensfield inusage.
Feature Value: Enables seamless enjoyment of OpenAI Prompt Cache functionality when using Bedrock backends—reducing repeated prompt inference overhead, improving response speed, and saving costs—while delivering standard OpenAI cache-usage metrics for monitoring and billing. -
Related PR: #3550
Contributor: @icylord
Change Log: Adds configurableimagePullPolicysupport for thegateway,plugin server, andcontrollercomponents in the Helm Chart—achieving flexible image pull strategy control via template conditionals and new fields invalues.yaml, enhancing deployment flexibility.
Feature Value: Enables users to define image pull strategies (Always/IfNotPresent/Never) per environment (e.g., dev/staging/prod)—avoiding service disruptions due to image caching issues and improving deployment reliability and operational controllability. -
Related PR: #3536
Contributor: @wydream
Change Log: Adds support for OpenAI image editing (/v1/images/edits) and variation generation (/v1/images/variations) APIs in the Vertex Provider ofai-proxy, implementing multipart/form-data request parsing and transformation, adding JSONimage_urlcompatibility logic, and introducingmultipart_helper.gofor binary image upload handling.
Feature Value: Allows users to directly call Vertex AI image editing and variation features via standard OpenAI SDKs (Python/Node)—without modifying client code—enhancing seamless cross-cloud AI service integration and development efficiency. -
Related PR: #3523
Contributor: @johnlanni
Change Log: Adds tool-call parsing capability for Claude/Anthropic streaming responses in theai-statisticsplugin—supporting event-driven format: identifyingtool_useblocks, accumulating JSON parameter fragments, and fully assembling tool call information. Extends theStreamingParserstruct to track content-block states.
Feature Value: Enables accurate statistics and analysis of streaming tool calls when using Claude models—boosting AI application observability and debugging efficiency. Provides critical support for unified multi-model monitoring and enhances platform compatibility with the Anthropic ecosystem. -
Related PR: #3521
Contributor: @johnlanni
Change Log: Refactors theglobal.hubparameter into a foundational image registry configuration shared across Higress deployments and Wasm plugins—and introduces an independentpluginNamespacenamespace so plugin image paths can be distinguished from core components. Simultaneously unifies image reference logic across multiple Helm templates.
Feature Value: Empowers users to more flexibly manage image sources for different components (e.g., gateway, controller, plugin, Redis)—supporting distinct repositories or paths for plugins versus core components. Improves multi-environment deployment consistency and private customization capabilities—reducing image-pull failure risks. -
Related PR: #3518
Contributor: @johnlanni
Change Log: Adds logic in the Claude-to-OpenAI request transformation process to parse and strip the dynamically changingcchfield from system messages—ensuringx-anthropic-billing-headerremains cacheable. Modifies core transformation code and adds comprehensive unit tests covering this behavior.
Feature Value: Solves Prompt cache invalidation caused by dynamiccchfields—significantly improving AI proxy response speed and service stability, lowering redundant request overhead, and enhancing user interaction experience and CLI tool performance. -
Related PR: #3512
Contributor: @johnlanni
Change Log: Introduces a lightweight mode configuration optionuse_default_response_attributes, skipping buffering of large request/response bodies (e.g.,messages,answer,reasoning) to dramatically reduce memory footprint—suitable for high-concurrency AI observability scenarios in production.
Feature Value: Helps users balance AI observability and resource overhead in production—avoiding OOM risks from full-message-body buffering and improving service stability and throughput. Especially beneficial for long conversations and streaming-response scenarios. -
Related PR: #3511
Contributor: @johnlanni
Change Log: Adds built-insystemfield support to theai-statisticsplugin—parsing the top-levelsystemfield in Claude/v1/messagesAPI responses, extending structured collection capability for Claude system prompts—implemented via defining theBuiltinSystemKeyconstant inmain.go.
Feature Value: Enables accurate statistics and analysis of system prompt content in Claude model invocations—improving AI call observability and compliance auditing capabilities. Supports finer-grained evaluation of prompt engineering effectiveness and implementation of security policies. -
Related PR: #3499
Contributor: @johnlanni
Change Log: Introduces consumer affinity for OpenAI stateful APIs (e.g.,Responses,Files,Batches)—parsing thex-mse-consumerrequest header and consistently selecting the same API token using the FNV-1a hash algorithm—ensuring session stickiness and state continuity across requests.
Feature Value: Solves 404 errors in stateful APIs caused by inconsistent routing under multi-token configurations—significantly enhancing stability and reliability in fine-tuning and response-chaining scenarios. Users receive correct responses without needing to perceive underlying load-distribution logic. -
Related PR: #3489
Contributor: @johnlanni
Change Log: Adds support for z.ai model services—including multilingual brand name display (Chinese “智谱”, English “z.ai”) and an auto-region detection script that determines user region based on system timezone—automatically configuring theapi.z.aidomain and code plan mode options.
Feature Value: Improves out-of-the-box experience for the z.ai service in the Higress AI Gateway—lowering configuration barriers for Chinese and international users. Automatic domain adaptation prevents manual misconfiguration, enhancing deployment reliability and localization friendliness—accelerating AI capability integration. -
Related PR: #3488
Contributor: @johnlanni
Change Log: Adds configurable domain support (China/international dual endpoints), code planning mode routing switching, and thinking mode support for the ZhipuAI provider—extending API request path and authentication adaptation capabilities—to increase flexibility in multi-regional deployments and specialized code-scenario model invocations.
Feature Value: Enables users to flexibly switch ZhipuAI service endpoints per deployment region. Enabling code planning mode delivers superior programming-assistance responses; thinking mode further improves complex reasoning-task outcomes—enhancing AI proxy practicality and adaptability in development scenarios. -
Related PR: #3482
Contributor: @johnlanni
Change Log: Optimizes the OSS skill sync workflow—packing each skill directory into an individual ZIP file (e.g.,my-skill.zip) and uploading tooss://higress-ai/skills/, while maintaining backward compatibility with the AI Gateway installation script.
Feature Value: Enables on-demand download and deployment of specific skills—increasing skill distribution flexibility and reuse efficiency. Avoids full skill-package pulls—reducing bandwidth consumption and deployment time—and enhances edge-scenario adaptability. -
Related PR: #3481
Contributor: @johnlanni
Change Log: Adds a GitHub Action workflow listening for changes in the.claude/skillsdirectory on the.mainbranch—automatically triggering sync to OSS object storage for real-time, automated cloud backup and distribution of skill files.
Feature Value: Eliminates manual skill-file uploads—improving developer collaboration efficiency. Ensures skill version consistency and high availability—facilitating team sharing and rapid deployment—while lowering operational costs and human-error risk. -
Related PR: #3479
Contributor: @johnlanni
Change Log: Adds compatibility logic for non-OpenAI AI providers—automatically converting unsupported'developer'roles to'system'roles in chat completion requests via modifications toprovider.goto unify role mapping adaptation.
Feature Value: Enhances cross-platform compatibility of the AI proxy plugin—enabling developers to use Claude, Anthropic, and other vendor APIs without manually modifying requests—lowering integration barriers and avoiding runtime errors.
-
Related PR: #3667
Contributor: @wydream
Change Log: Fixes incorrect passthrough of non-standard fieldsthinkingandreasoning_max_tokensin Claude-to-OpenAI protocol conversion—retaining only the OpenAI-compliantreasoning_effortfield—to prevent HTTP 400 errors from Azure and other providers.
Feature Value: Improvesai-proxycompatibility and stability with Azure and other standard OpenAI-compatible providers—ensuring successful user requests when invoking Azure via Anthropic protocols and preventing service unavailability due to invalid fields. -
Related PR: #3652
Contributor: @CH3CHO
Change Log: Fixes a regex matching error in the template processor when mixing default and non-default namespaces—strictly restricting/and}characters intype/name/namespace, permitting/only inkeywhile forbidding}—ensuring accurate template reference resolution.
Feature Value: Resolves template parsing failures caused by mixed-namespace usage—improving configuration loading stability and reliability. Prevents silent errors or service anomalies due to illegal character misuse—enhancing system robustness. -
Related PR: #3599
Contributor: @wydream
Change Log: Fixes JSON event fragmentation across network boundaries causing parsing failures in Vertex Provider streaming responses—refactoring chunk buffering and line-boundary detection logic to retain and merge partial JSON payloads—and correcting premature[DONE]marker returns that caused valid data loss.
Feature Value: Improves stability and data integrity of Vertex streaming responses—preventing content truncation or parsing errors for large-model streaming outputs (e.g., extended reasoning chains)—significantly enhancing AI proxy service availability and user experience. -
Related PR: #3590
Contributor: @wydream
Change Log: Fixes a regression in the Bedrock Provider’s SigV4 canonical URI encoding logic: restoresencodeSigV4Pathto applyPathEscapedirectly to path segments—avoiding distortion from double-parsing already-encoded characters (e.g.,%3A,%2F) afterPathUnescape—ensuring signature alignment with AWS service endpoints.
Feature Value: Resolves frequent 403 errors caused by signature failures—particularly affecting model names with special characters (e.g.,nova-2-lite-v1:0or ARN-formatted inference profiles)—significantly boosting production stability and API call success rates. -
Related PR: #3587
Contributor: @Sunrisea
Change Log: Upgradesnacos-sdk-go/v2to v2.3.5—fixing cancellation logic for multi-callback scenarios, supporting multi-cluster service re-subscription, resolving memory leaks, fixing log file handle leaks, and addressing logger initialization regressions—while updating gRPC and Go dependencies.
Feature Value: Improves Nacos client stability and reliability—preventing OOM or resource exhaustion in production due to memory/file-handle leaks. Enhances multi-cluster service discovery capability—improving registration/discovery resilience for microservices in complex topologies. -
Related PR: #3582
Contributor: @lx1036
Change Log: Removes duplicate"istio.io/istio/pilot/pkg/model"package imports inpkg/ingress/translation/translation.go, retaining only the aliased import statement—eliminating compiler warnings and potential symbol collision risks—improving code robustness and maintainability.
Feature Value: Fixes duplicate imports to avoid Go compiler warnings and potential package-initialization conflicts—enhancing code stability. Improves build reliability and long-term maintainability of the Istio Ingress translation module—reducing unexpected error probability. -
Related PR: #3580
Contributor: @shiyan2016
Change Log: Fixes a defect in the KIngress controller’s duplicate route detection logic—incorporating request header matching conditions into deduplication key computation—preventing legitimate routes from being erroneously discarded due to header differences.
Feature Value: Ensures header-differentiated routes are correctly identified and retained—enhancing route configuration reliability and preventing service unavailability or traffic loss from accidental route deletion. -
Related PR: #3575
Contributor: @shiyan2016
Change Log: Fixes a status-update logic error inpkg/ingress/kube/kingress/status.go’supdateStatusmethod—correcting an inverted condition for determining whether to update KIngress status—and avoiding abnormal status synchronization. Adds 186 lines of unit test coverage for this logic.
Feature Value: Ensures accurate and timely updates of KIngress resource statuses (e.g.,LoadBalancerIngress)—preventing service unavailability or inaccurate monitoring alerts due to status misjudgment—enhancing Ingress controller stability and observability. -
Related PR: #3567
Contributor: @DamosChen
Change Log: Fixes occasional endpoint handshake event loss for SSE connections under high load—replacing Redis Pub/Sub–based event publishing with direct asynchronousInjectDatawrites to the SSE response stream via local goroutines—eliminating subscribe-goroutine startup latency and timing races.
Feature Value: Improves SSE connection reliability—ensuring all clients reliably receive endpoint events even under high load or CPU-constrained scenarios—preventing session initialization anomalies and functionality loss from handshake failures—enhancing user experience and system robustness. -
Related PR: #3549
Contributor: @wydream
Change Log: Fixes incomplete SigV4 signature coverage for theai-proxyplugin’s Bedrock Provider in AWS AK/SK auth mode—centralizingsetAuthHeaderscalls from scattered request handlers into theTransformRequestBodyHeadersentrypoint—ensuring all Bedrock APIs (including embeddings and other extensions) undergo full SigV4 signing.
Feature Value: Resolves AWS authentication failures caused by missing SigV4 signatures on some APIs—improving Bedrock Provider stability and compatibility across multifaceted capabilities—enabling reliable use of various Bedrock services (e.g., embedding, converse) without authentication concerns. -
Related PR: #3530
Contributor: @Jing-ze
Change Log: Fixes the Anthropic-compatible API message endpoint path for the Qwen provider—updating the legacy path/api/v2/apps/claude-code-proxy/v1/messagesto the official new path/apps/anthropic/v1/messages—ensuring alignment with the Bailian Anthropic API compatibility documentation.
Feature Value: Enables correct AI proxy invocation of Qwen’s Anthropic-compatible interface—preventing message-request failures from outdated paths—improving service stability and compatibility. Users achieve seamless integration with the latest API without code changes. -
Related PR: #3517
Contributor: @johnlanni
Change Log: Fixes incorrect mapping of OpenAItool-role messages during conversion to Claude protocol—adding logic to transform OpenAItoolmessages into Claude-compatibleuser-role messages embeddingtool_resultcontent—ensuring request format compliance with Claude API specifications.
Feature Value: Enables correct forwarding of OpenAI requests containing tool-call results to Claude models—preventing API rejection errors—improving multi-model protocol compatibility and user stability. Users seamlessly switch backends without modifying existing tool-call logic. -
Related PR: #3513
Contributor: @johnlanni
Change Log: Fixes the absence ofquestionandmodelfields in the AI statistics plugin under lightweight mode—adjusting request-phase attribute extraction logic to extract key fields upfront without buffering response bodies—and updating default attribute configurations.
Feature Value: Makes AI observability data more complete and accurate under lightweight mode—enabling users to obtain question content and model information for analysis—improving debugging efficiency and statistical dimension completeness while preserving low-overhead characteristics. -
Related PR: #3510
Contributor: @johnlanni
Change Log: Fixes improper nesting of thetypefield withindeltaobjects inmessage_deltaevents during Claude protocol conversion—correcting struct definitions inclaude.go, updating conversion logic inclaude_to_openai.go, and synchronizing test cases and model config structures.
Feature Value: Ensures AI proxy compliance with Claude protocol specs when interfacing with OpenAI-compatible services like ZhipuAI—avoiding message parsing failures or streaming response interruptions from malformed formats—enhancing stability and compatibility across multi-model services. -
Related PR: #3507
Contributor: @johnlanni
Change Log: Fixes missingtool_callsdata in Claude AI proxy’s OpenAI-compatible streaming responses—adding correct parsing and conversion ofthinkingcontent—and implementing mapping of OpenAIreasoning_effortto Claudethinking.budget_tokens.
Feature Value: Enables users to fully retrieve tool-call information and reasoning-process content in streaming responses when using Claude as a backend—improving reliability and debuggability of multi-step AI workflows—and enhancing practicality of the OpenAI compatibility layer. -
Related PR: #3506
Contributor: @johnlanni
Change Log: Fixes incorrect conversion of Claude APIstop_reason = 'tool_use'responses into OpenAI-compatibletool_callsformat—unifying handling for both non-streaming and streaming responses—and supplementing missingtool_callsarrays andfinish_reasonmappings.
Feature Value: Enablesai-proxyto correctly relay Claude tool-call responses to OpenAI clients—improving multi-model proxy compatibility and stability—and preventing downstream application failures from format mismatches. -
Related PR: #3505
Contributor: @johnlanni
Change Log: Fixesanswerfield extraction failure in streaming responses—whereextractStreamingBodyByJsonPathreturnednildue to an empty default rule whenuse_default_attributeswas enabled. SetsBuiltinAnswerKey’s rule default toRuleAppendto ensure proper concatenation and extraction of streaming content.
Feature Value: Users reliably captureanswerfield content when using AI streaming-response statistics—avoidingai_logentries withresponse_type = streambut missinganswer—enhancing observation data completeness and debugging efficiency. -
Related PR: #3503
Contributor: @johnlanni
Change Log: Fixes text content loss in Claude protocol conversions when bothtool_resultandtextare present—adding logic inclaude_to_openai.goto preservetext contentand supplementing test cases for multi-content coexistence scenarios.
Feature Value: Ensures user-provided text messages are not lost in tool-call scenarios (e.g., Claude Code)—improving AI proxy compatibility and reliability for mixed-content messages—and enhancing developer experience and debugging efficiency in complex interactive workflows. -
Related PR: #3502
Contributor: @johnlanni
Change Log: Fixes missingeventfield in SSE format for Claude streaming responses—adding necessary event identifiers (event: message_delta,event: message_stop) in[DONE]message handling to ensure full compliance with the official Claude streaming protocol.
Feature Value: Enables correct parsing of Claude model streaming responses—preventing frontend message loss or parsing failures due to malformed formats—enhancing stability and user experience for unified multi-model access. -
Related PR: #3500
Contributor: @johnlanni
Change Log: Changes GitHub Actions workflow runtime environment fromubuntu-latestto fixedubuntu-22.04—resolving CI stability issues where underlying image upgrades causedkindcluster container image loading failures (ctr images importerrors).
Feature Value: Fixes persistent failures in critical CI tasks likehigress-conformance-test—ensuring reliable code-merge workflows and automated validation—preventing developers from being blocked by CI false positives. -
Related PR: #3496
Contributor: @johnlanni
Change Log: Fixes serialization of emptyContentfields insystemprompts for Claude Code mode—adjusting JSON tags inclaudeChatMessageContentstruct to omit emptycontentfields instead of outputtingnull—preventing API request rejections.
Feature Value: Resolves request failures caused by invalidsystemfields in Claude API calls—enhancing system stability and compatibility—ensuring users receive normal responses in Claude Code mode without manually avoiding empty-content scenarios. -
Related PR: #3491
Contributor: @johnlanni
Change Log: Fixes streaming-response body buffering failure in the AI statistics plugin—explicitly settingValueSource = ResponseStreamingBodyfor built-in attributes—ensuringanswerfields are correctly extracted and logged toai_logwhenuse_default_attributesis enabled.
Feature Value: Enables accurate capture and logging of streaming AI responseanswercontent when default attribute collection is enabled—improving log observability and debugging capability—avoiding critical response-data loss leading to analytical blind spots. -
Related PR: #3485
Contributor: @johnlanni
Change Log: Fixes incorrect model-reference prefix logic in Higress providers—removing conditional checks and universally prepending'higress/'to all model IDs (includinghigress/auto)—ensuring correct model-reference formatting in configurations generated by OpenClaw integration plugins.
Feature Value: Resolves configuration-parsing failures caused by missing model-reference prefixes—improving stability and compatibility between Higress and OpenClaw integration—enabling correct use ofhigress/autoand other auto-models without manual configuration corrections. -
Related PR: #3484
Contributor: @johnlanni
Change Log: Fixes installation path issues for thehigress-openclaw-integrationskill—addingmkdir -p higress-installandcd higress-installcommands—and updating the log path from./higress/logs/access.logto./higress-install/logs/access.logto avoid polluting the current working directory.
Feature Value: Isolates Higress installation artifacts in a dedicated directory—improving workspace cleanliness. Enables easy cleanup or reinstallation—reducing environment conflict risks—and enhancing skill-deployment reliability and maintainability. -
Related PR: #3483
Contributor: @johnlanni
Change Log: Fixes path-resolution issues in the skill-packaging workflow—replacing error-prone relative paths with absolute paths based on$GITHUB_WORKSPACE, using subshells to avoid directory-change side effects, and adding output-directory existence checks—improving CI robustness.
Feature Value: Ensures stable ZIP-package generation regardless of execution subdirectory—preventing build failures from path errors—and enhancing OSS skill-sync reliability and developer collaboration efficiency. -
Related PR: #3477
Contributor: @johnlanni
Change Log: Fixes redundant/v1path concatenation in the OpenClaw plugin’sbaseUrl—removing manual/v1additions from functions liketestGatewayConnectionto prevent invalid URLs (e.g.,http://localhost:8080/v1/v1)—ensuring correct gateway request paths.
Feature Value: Resolves API call failures caused by duplicate paths—improving plugin connection stability and compatibility. Users can use model services normally without manual URL adjustments—lowering deployment and debugging barriers.
-
Related PR: #3657
Contributor: @CH3CHO
Change Log: Removes 29 unused Pilot configuration items (e.g.,autoscaleEnabled,replicaCount) fromhigress-core/values.yamlin the Helm Chart—and updates parameter descriptions inREADME.md—streamlining the configuration file and improving chart maintainability and clarity.
Feature Value: Reduces user configuration confusion and avoids deployment anomalies from residual deprecated parameters. Simplifies chart structure—lowering operational complexity and improving upgrade/customization efficiency—helping users focus on core configuration parameters. -
Related PR: #3516
Contributor: @johnlanni
Change Log: Migrates the MCP SDK from an external repository into the main repo—movingmcp-servers/all-in-onetoextensions/mcp-server, introducingpkg/mcp, deleting obsolete modules likepkg/log, and unifying all MCP import paths and dependency references.
Feature Value: Improves code maintainability and build consistency—avoiding cross-repository dependency issues. Users gain more stable MCP functionality—significantly improving plugin development and debugging efficiency—and laying a unified foundation for future MCP capability expansion. -
Related PR: #3475
Contributor: @johnlanni
Change Log: Renames the skill fromhigress-clawdbot-integrationtohigress-openclaw-integration, removes deprecatedagent-session-monitordocumentation content, and updates model IDs across multiple scripts (e.g.,claude-opus-4.5→4.6,gpt-5.2→5.3-codex)—ensuring configuration consistency and naming accuracy.
Feature Value: Enhances project naming standardization and maintainability—avoiding confusion from legacy names. Updated model IDs support newer large-model versions—enabling users to seamlessly leverage higher-performance, more stable models—enhancing AI gateway integration experiences.
-
Related PR: #3644
Contributor: @Jholly2008
Change Log: Fixes two brokenhigress.iolinks inREADME.mdanddocs/architecture.md: replacing the Quick Start link in the English README and the Admin SDK blog link in the architecture doc—ensuring link accuracy and accessibility.
Feature Value: Improves documentation usability and user experience—preventing information-access disruption from broken links. Ensures smooth onboarding for new users and seamless architecture-resource lookup for developers—enhancing project professionalism and credibility. -
Related PR: #3524
Contributor: @github-actions[bot]
Change Log: Adds bilingual (Chinese/English) Release Notes documents for v2.1.11—including release overview, update distribution stats (4 new features, 2 bug fixes), and full changelog structure—automatically generated and maintained by GitHub Actions to ensure version information is traceable and searchable.
Feature Value: Provides users with clear, structured version-upgrade references—helping them quickly understand new features, fixes, and compatibility changes. Enhances product transparency and usability—reducing upgrade risks and learning costs. -
Related PR: #3490
Contributor: @johnlanni
Change Log: Optimizes the model provider list in the OpenClaw integration skill documentation—topping 8 frequently used providers (Zhipu, Claude Code, Moonshot, etc.) and collapsing infrequent ones into expandable sections—to improve readability and information hierarchy.
Feature Value: Significantly improves the new-user configuration experience for Higress AI Gateway—lowering learning costs. Structured presentation of provider options helps users rapidly identify mainstream supported models—enhancing OpenClaw skill usability and adoption efficiency. -
Related PR: #3480
Contributor: @johnlanni
Change Log: Updates the OpenClaw integration documentationSKILL.md—adding dynamic configuration update instructions covering LLM provider hot-addition, online API key updates, and multi-model auto-routing mechanisms—and adding configuration-update guidance prompts in plugin hints.
Feature Value: Helps users understand how to dynamically extend and update AI service configurations without restarts—lowering operational barriers and improving multi-model switching and management flexibility—enhancing product usability and enterprise-grade configuration governance. -
Related PR: #3478
Contributor: @johnlanni
Change Log: Explicitly labels OpenClaw’s Higress plugin-related commands inSKILL.mdas interactive operations—adding warning prompts and separating user-manual-execution steps—to avoid AI agents executing them incorrectly.
Feature Value: Helps users clearly identify commands requiring manual intervention—improving integration process predictability and success rates—while reducing operation failures and debugging costs caused by AI agents attempting interactive command execution. -
Related PR: #3476
Contributor: @johnlanni
Change Log: Refactors thehigress-openclaw-integrationskill documentation—simplifying deployment from 6 steps to 3, collecting all necessary information upfront—and adding a 21+-provider comparison table clarifying model-prefix patterns and OAuth token requirements for Claude.
Feature Value: Significantly boosts skill invocation success rates and stability—even for weaker AI agents—reducing user comprehension and usage barriers. Minimizes configuration errors from verbose steps or missing info—accelerating Higress AI Gateway adoption within the OpenClaw ecosystem. -
Related PR: #3468
Contributor: @github-actions[bot]
Change Log: Adds bilingual (Chinese/English) release notes for v2.2.0—including release overview, update distribution stats (48 new features, 20 bug fixes, etc.), and full changelog—automatically generated by GitHub Actions to ensure authoritative, timely, and bilingual version information.
Feature Value: Provides users and developers with clear, structured version-upgrade references—lowering usage barriers and migration costs. Bilingual support improves accessibility for international users—enhancing project professionalism and community trust.
- 🚀 New Features: 29
- 🐛 Bug Fixes: 26
- ♻️ Refactoring & Optimizations: 3
- 📚 Documentation Updates: 7
Total: 65 changes
Thank you to all contributors for your hard work! 🎉
This release includes 18 updates, covering feature enhancements, bug fixes, and performance optimizations.
- New Features: 7
- Bug Fixes: 9
- Documentation Updates: 2
-
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: Enhanced MCP Server interaction capabilities: supports automatic Host header rewriting for DNS backends; improves transport protocol selection and full-path configuration in direct routing scenarios; refines parsing of DSN special characters (e.g.,@) in DB-to-MCP Server scenarios.
Feature Value: Improves the flexibility and compatibility of MCP Server integration, reduces user configuration complexity, prevents connection failures caused by path prefix ambiguity or DSN special characters, and significantly enhances multi-environment deployment experience and system stability. -
Related PR: #608
Contributor: @Libres-coder
Change Log: Added plugin display functionality to the AI Route Management page, supporting expansion to view enabled plugins and showing an "Enabled" badge in the configuration panel; reused the standard route plugin display logic, involving frontend AI route components, plugin list query logic, and route page initialization optimization.
Feature Value: Enables users to intuitively view and verify enabled plugins directly within the AI Route Management interface, improving observability and operational consistency of AI route configurations, reducing misconfiguration risks, and enhancing unified platform management experience and operational efficiency. -
Related PR: #604
Contributor: @CH3CHO
Change Log: Added support for regular expression-based path rewriting via thehigress.io/rewrite-targetannotation; extended Kubernetes annotation constants, updated route transformation logic, introduced a regex rewrite type enumeration, and added frontend i18n support.
Feature Value: Empowers users to define flexible path rewriting rules using regular expressions, enhancing routing match precision and adaptability—ideal for complex URL transformation scenarios—while lowering gateway configuration barriers and strengthening business integration capability. -
Related PR: #603
Contributor: @CH3CHO
Change Log: Introduced the constantSTATIC_SERVICE_PORT = 80in the static service source form component and explicitly displays this fixed port in the UI, enabling users to clearly understand the default HTTP port bound to static services and thereby improving configuration transparency and comprehensibility.
Feature Value: Users can visually identify the default port80when configuring static service sources, preventing service access failures caused by port misunderstanding; lowers operational overhead and improves deployment efficiency and user experience consistency. -
Related PR: #602
Contributor: @CH3CHO
Change Log: Added search functionality to the upstream service selection component in AI Routes, enabling frontend input filtering of the service list to improve selection efficiency for long lists; achieved via minimal code changes to theRouteFormcomponent to enhance interactivity.
Feature Value: Allows users to quickly search and locate target upstream services during AI route configuration, significantly improving usability when numerous services exist, reducing configuration error rates, and boosting both operational and development efficiency. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: Added support for Tongyi Qwen large language model (LLM) services, including a dedicatedQwenLlmProviderHandlerimplementation, frontend i18n adaptation, and a configuration form supporting custom service endpoints, internet search, and file ID uploads.
Feature Value: Enables flexible integration of private or customized Qwen services, improving AI gateway compatibility with domestic LLMs; simplifies deployment workflows via the configuration UI, lowers enterprise-level AI service integration barriers, and strengthens platform extensibility. -
Related PR: #552
Contributor: @lcfang
Change Log: Added support for thevport(virtual port) attribute to extend MCP Bridge registry configuration capabilities; introduced theVPortclass intoServiceSource, enhanced Kubernetes model conversion logic, and made service virtual ports configurable—resolving routing failures caused by dynamic backend instance port changes in registries such as Eureka/Nacos.
Feature Value: Allows users to specify a service virtual port (vport) in registry configurations, ensuring routing rules remain effective despite backend port changes; enhances service governance stability and compatibility, reduces traffic forwarding anomalies due to port mismatches, and simplifies multi-environment deployment and operational complexity.
-
Related PR: #620
Contributor: @CH3CHO
Change Log: Fixed a typo in thesortWasmPluginMatchRuleslogic, correcting variable or method name errors that could cause latent logic anomalies during matching rule sorting—ensuring Wasm plugin rules are sorted correctly according to their intended priority.
Feature Value: Prevents matching rule sorting errors caused by typos, guaranteeing accurate application order of Wasm plugins in Kubernetes CRs; improves reliability of plugin-based routing and policy enforcement, reducing issues where configured behavior deviates from expectations. -
Related PR: #619
Contributor: @CH3CHO
Change Log: Fixed redundant version information storage when convertingAiRoutetoConfigMap: removed theversionfield from thedataJSON payload, retaining it solely in theConfigMapmetadata to eliminate data redundancy and potential inconsistency.
Feature Value: Improves configuration management accuracy and consistency, preventing parsing errors or synchronization anomalies caused by duplicate version fields; enhances system stability and operational reliability—delivering direct benefits to users managing route configurations via Kubernetes ConfigMaps. -
Related PR: #618
Contributor: @CH3CHO
Change Log: Refactored API authentication logic inSystemController, introducing an@AllowAnonymousannotation mechanism for unified handling of unauthenticated endpoints; replaced hardcoded path whitelists with AOP-based fine-grained access control, resolving a security vulnerability permitting unauthorized access to sensitive system interfaces.
Feature Value: Addresses a latent unauthorized access vulnerability in the system controller, significantly improving platform security; delivers stronger permission guarantees for users and mitigates risks of data leakage or privilege escalation caused by authentication logic defects—enhancing compliance and stability in production environments. -
Related PR: #617
Contributor: @CH3CHO
Change Log: Fixed three critical frontend console issues: missing uniquekeyprops causing React warnings during list rendering; Content Security Policy (CSP) blocking remote image loading; and incorrect type definition for theConsumer.namefield (corrected frombooleantostring).
Feature Value: Improves frontend application stability and user experience, eliminating console errors that interfere with development debugging, ensuring proper avatar rendering and accurate consumer information parsing, and preventing runtime exceptions or data display issues caused by type mismatches. -
Related PR: #614
Contributor: @lc0138
Change Log: Corrected the type definition of thetypefield (indicating service source) in theServiceSourceclass and added validation logic to ensure incoming registry types belong to a predefined set, preventing illegal values from triggering runtime exceptions.
Feature Value: Enhances system robustness and data consistency, avoiding configuration parsing failures or backend exceptions caused by invalid service source types; ensures reliable operation of service registration and discovery functions and reduces operational troubleshooting effort. -
Related PR: #613
Contributor: @lc0138
Change Log: Fixed a frontend Content Security Policy (CSP) configuration defect by adding essential<meta>tags and security policy declarations indocument.tsx, preventing XSS and other malicious script injections and strengthening security header control during page loading.
Feature Value: Significantly reduces the risk of cross-site scripting (XSS) attacks and data injection vulnerabilities in the frontend application, enhancing user access security and trust; aligns with modern web security best practices and provides more reliable security assurance for production environments. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: Added logic inDashboardServiceImplto ignore hop-to-hop headers (e.g.,Transfer-Encoding) per RFC 2616, filtering headers that must not be forwarded by proxies—resolving Grafana frontend page load failures caused by reverse proxies transmittingTransfer-Encoding: chunked.
Feature Value: Fixes the issue whereTransfer-Encoding: chunkedheaders transmitted by reverse proxies cause Grafana frontend pages to crash, improving stability and compatibility when integrating external monitoring services in the console; enables seamless dashboard access for users. -
Related PR: #609
Contributor: @CH3CHO
Change Log: Fixed a type error in theConsumerinterface’snamefield, correcting it frombooleantostringto ensure frontend data structures align with actual backend response values and avoid runtime type errors and UI rendering anomalies.
Feature Value: Enhances accuracy and stability of consumer information display, preventing page crashes or incorrect data rendering due to type mismatches, and improving user experience and system reliability during consumer management. -
Related PR: #605
Contributor: @SaladDay
Change Log: Corrected the frontend form validation regex for AI route names, adding support for periods (.) and restricting alphabetic characters to lowercase only; simultaneously updated Chinese and English error messages to accurately reflect the revised rules.
Feature Value: Resolves issues where users incorrectly receive rejection errors when creating AI routes with names containing periods or uppercase letters; improves consistency between form validation logic and UI prompts, reduces configuration failure rates, and enhances overall usability.
-
Related PR: #611
Contributor: @qshuai
Change Log: Corrected the OpenAPI documentation summary comment for the@PostMappingendpoint inLlmProvidersController, replacing the inaccurate description “Add a new route” with a precise one reflecting its actual purpose (adding an LLM provider). Ensures API documentation matches real functionality.
Feature Value: Improves API documentation accuracy, helping developers correctly understand the endpoint’s purpose—reducing integration misunderstandings and debugging effort—and enhancing the maintainability and user experience of the console’s APIs. -
Related PR: #610
Contributor: @heimanba
Change Log: Updated frontend canary plugin documentation: changedrewrite,backendVersion, andenabledfields from required to optional; corrected the associated path for thenamefield withinrules(fromdeploy.gray[].nametograyDeployments[].name); and synchronized field descriptions and requirements across Chinese/EnglishREADMEs andspec.yaml.
Feature Value: Increases configuration flexibility and compatibility, lowering the barrier to adopting canary capabilities; provides more precise terminology and path references, minimizing configuration errors caused by documentation ambiguity and enhancing developer experience and documentation credibility.
- 🚀 New Features: 7
- 🐛 Bug Fixes: 9
- 📚 Documentation Updates: 2
Total: 18 changes
Thank you to all contributors for your hard work! 🎉
- @DamosChen made their first contribution in https://github.com/alibaba/higress/pull/3567
- @lx1036 made their first contribution in https://github.com/alibaba/higress/pull/3582
- @Sunrisea made their first contribution in https://github.com/alibaba/higress/pull/3587
- @shiyan2016 made their first contribution in https://github.com/alibaba/higress/pull/3575
- @Jholly2008 made their first contribution in https://github.com/alibaba/higress/pull/3644
- @JianweiWang made their first contribution in https://github.com/alibaba/higress/pull/3642
- @icylord made their first contribution in https://github.com/alibaba/higress/pull/3550
Full Changelog: https://github.com/alibaba/higress/compare/v2.2.0...v2.2.1
v2.1.11
This release includes 6 updates, covering feature enhancements, bug fixes, and performance optimizations.
- New Features: 4
- Bug Fixes: 2
-
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 variablesHIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY/NAMESPACE, eliminating the need to modifyplugins.properties. Corresponding Helm Chartvaluesparameters 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 extendingZhipuAILlmProviderHandlerandClaudeLlmProviderHandlerto 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 theUSE_DEFAULT_ATTRIBUTESconstant and enableduse_default_response_attributes: trueinAiRouteServiceImpl, 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.
-
Related PR: #662
Contributor: @johnlanni
Change Log: Fixed an issue where the OCI image path for themcp-serverplugin was not migrated synchronously—updated the original pathmcp-server/all-in-onetoplugins/mcp-serverto 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 themcp-serverplugin within the Higress Gateway, thereby enhancing deployment reliability in plugin-driven use cases. -
Related PR: #654
Contributor: @fgksking
Change Log: Upgraded theswagger-uiversion dependency ofspringdocby introducing a newer version of thewebjars-lodependency inpom.xmland 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.
- 🚀 New Features: 4
- 🐛 Bug Fixes: 2
Total: 6 changes
Thank you to all contributors for your hard work! 🎉
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.10...v2.1.11
v2.2.0
This release includes 73 updates, covering enhancements, bug fixes, performance optimizations, and more.
- New Features: 48
- Bug Fixes: 20
- Refactoring and Optimization: 3
- Documentation Updates: 2
-
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 thehigress-ai-gatewayplugin into thehigress-clawdbot-integrationskill, 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 theuse_default_attributesconfiguration 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 throughsession_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_tokensandcached_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 thecontextCleanupCommandsconfiguration 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: Whenprovider.apiTokensis not configured, support retrieving the API key from the request header. The changes mainly involve importingproxywasminopenai.goand adding related configuration logic inprovider.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 whenprovider.apiTokensis 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 thewatcher.gofile. Specifically, it introduced new logic in thegenerateServiceEntryfunction 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, enhancing the system's network flexibility and compatibility, and providing convenience for users who need to deploy in an IPv6 environment. -
Related PR: #3375
Contributor: @wydream
Change Log: This PR added Vertex Raw mode support to the Vertex AI Provider of the ai-proxy plugin, enabling thegetAccessTokenmechanism when accessing native REST APIs via Vertex.
Feature Value: The added Vertex Raw mode support enhances the user's ability to directly invoke Vertex AI hosted models and ensures automatic OAuth authentication when using native API paths, improving the user experience. -
Related PR: #3367
Contributor: @rinfx
Change Log: This PR updated the wasm-go dependency, introducing Foreign Function to enable Wasm plugins to perceive the log level of the Envoy host in real-time and optimizing the log handling process to improve performance.
Feature Value: This feature enhances system runtime efficiency, especially under high load, by reducing unnecessary memory allocation and copying operations, resulting in lower resource consumption and better application response speed for users. -
Related PR: #3342
Contributor: @Aias00
Change Log: This PR implemented the mapping of Nacos instance weights to Istio WorkloadEntry weights in watchers, ensuring more precise traffic distribution between services.
Feature Value: By mapping Nacos instance weights to Istio WorkloadEntry weights, it enhances the flexibility and accuracy of traffic management in the service mesh, allowing users to more finely control request distribution between services. -
Related PR: #3335
Contributor: @wydream
Change Log: This PR added image generation support to the Vertex AI Provider of the ai-proxy plugin, implementing the conversion of OpenAI's image generation protocol to Vertex AI's image generation protocol.
Feature Value: Users can now call the image generation functionality of Vertex AI using the standard OpenAI SDK, enhancing the plugin's functionality and user experience. -
Related PR: #3324
Contributor: @wydream
Change Log: This PR implemented OpenAI-compatible endpoint support in the Vertex AI Provider of the ai-proxy plugin, allowing developers to directly use the OpenAI SDK and API format to call Vertex AI models.
Feature Value: By adding OpenAI-compatible endpoint support, this feature simplifies the migration process from OpenAI to Vertex AI, making it easier for users to seamlessly integrate Vertex AI services using existing OpenAI toolchains, enhancing development efficiency and user experience. -
Related PR: #3318
Contributor: @hanxiantao
Change Log: Applied Istio's native authentication logic to the debug endpoint using thewithConditionalAuthmiddleware, while maintaining the existing behavior based on theDebugAuthfeature flag.
Feature Value: This enhancement enhances system security by ensuring that only authenticated users can access the debug endpoint, thereby reducing potential security risks and providing a more secure service environment. -
Related PR: #3317
Contributor: @rinfx
Change Log: Added two Wasm-Go plugins,model-mapperandmodel-router, supporting mapping and routing based on themodelparameter in the LLM protocol, including prefix matching and wildcard fallback.
Feature Value: This enhancement improves Higress's ability to handle large language model requests, improving the user experience and service efficiency by more flexibly managing model names and provider information. -
Related PR: #3305
Contributor: @CZJCC
Change Log: Added Bearer Token authentication support for the AWS Bedrock provider, retaining the original AWS Signature V4 authentication method and cleaning up some unused code.
Feature Value: This feature provides more flexible authentication options, allowing users to choose the appropriate authentication method based on their needs, thereby enhancing the system's flexibility and security. -
Related PR: #3301
Contributor: @wydream
Change Log: This PR implemented Express Mode support for the Vertex AI Provider of the ai-proxy plugin, simplifying the authentication process and allowing users to start using an API Key quickly.
Feature Value: By adding Express Mode support, users no longer need to configure complex Service Account authentication to use Vertex AI, significantly lowering the entry barrier and enhancing the user experience. -
Related PR: #3295
Contributor: @rinfx
Change Log: This PR added MCP support to the ai-security-guard plugin, including security checks for both standard and streaming responses.
Feature Value: By adding support for MCP API types, the plugin can now better protect data related to the model context protocol, enhancing the overall security of the system. -
Related PR: #3267
Contributor: @erasernoob
Change Log: This PR implemented the hgctl agent module, adding new features and related services, and updating dependencies.
Feature Value: The new hgctl agent module provides users with more powerful command-line tool support, enhancing the system's operability and user experience. -
Related PR: #3261
Contributor: @rinfx
Change Log: This PR added the ability to disable thinking for gemini-2.5-flash and its simplified version, and included reasoning token usage information in the response.
Feature Value: By adding the ability to disable thinking and providing reasoning token consumption details, users can more flexibly control the behavior of the AI proxy and better understand resource consumption. -
Related PR: #3255
Contributor: @nixidexiangjiao
Change Log: Improved the global minimum request count load balancing strategy, fixing issues with abnormal node preference, inconsistent new node handling, and uneven sampling distribution, enhancing the stability and accuracy of the algorithm.
Feature Value: By optimizing the load balancing algorithm, it avoids concentrating traffic on faulty nodes, leading to service interruptions, and enhances system availability and reliability, reducing operational burdens. -
Related PR: #3236
Contributor: @rinfx
Change Log: This PR implemented support for the Claude model in Vertex AI and handled cases where delta might be empty, ensuring system stability in edge cases.
Feature Value: The added support for the Claude model in Vertex AI broadens the application scenarios of the AI proxy plugin, allowing users to leverage a wider range of AI models, increasing the system's flexibility and applicability. -
Related PR: #3218
Contributor: @johnlanni
Change Log: Enhanced the model mapper and router, adding request count monitoring and memory usage monitoring, and setting up an automatic rebuild trigger mechanism; expanded supported path suffixes.
Feature Value: By adding an automatic rebuild trigger mechanism, it enhances the stability of the service under high load or low memory conditions. The expanded path support allows more features to be correctly routed and processed, improving the system's flexibility and compatibility. -
Related PR: #3213
Contributor: @rinfx
Change Log: This PR added support for global regions in the Vertex AI support, modifying the request domain to accommodate the latest Gemini-3 series models.
Feature Value: This enhancement improves system compatibility, allowing users to seamlessly access the latest Gemini-3 series models, enhancing the user experience and system flexibility. -
Related PR: #3206
Contributor: @rinfx
Change Log: This PR implemented content checking for prompts and images in the request body for the AI security guard plugin, enhancing content security detection.
Feature Value: By supporting checks for prompts and images, it improves the system's security when handling image generation requests, helping to protect users from inappropriate content. -
Related PR: #3200
Contributor: @YTGhost
Change Log: This PR added support for array-type content in the ai-proxy plugin, extending thechatToolMessage2BedrockMessagefunction's handling capabilities.
Feature Value: This enhancement improves message processing, allowing the system to correctly parse and convert array-formatted message content, enhancing the user experience and system flexibility. -
Related PR: #3185
Contributor: @rinfx
Change Log: This PR added a rebuild logic for ai-cache, optimizing memory management to avoid high memory usage issues. The changes are mainly concentrated ingo.mod,go.sum, andmain.gofiles.
Feature Value: The newly added ai-cache rebuild logic effectively prevents memory overflow issues caused by caching, enhancing system stability and performance, providing a more reliable user experience. -
Related PR: #3184
Contributor: @rinfx
Change Log: This PR added support for user-defined domain name configuration in the DouBao plugin, involving modifications to theMakefileand two Go files, allowing the service to communicate based on the new domain.
Feature Value: Allowing users to configure custom domain names for specific services enhances the system's flexibility and user experience, enabling users to adjust service access paths according to their needs. -
Related PR: #3175
Contributor: @wydream
Change Log: Added a new generic provider to handle requests for unmapped paths, utilizing shared headers andbasePathtool. Additionally, updated the README to include configuration details and introduced relevant tests.
Feature Value: By providing a vendor-agnostic generic provider, users can more flexibly handle various requests, enhancing the system's adaptability and maintainability. -
Related PR: #3173
Contributor: @EndlessSeeker
Change Log: This PR added a new global parameter to support inference scaling, involving updates to Helm templates and values files, enhancing system flexibility.
Feature Value: The new global parameter allows users to enable or disable the inference scaling feature, providing more configuration options to better meet the needs of different scenarios. -
Related PR: #3171
Contributor: @wilsonwu
Change Log: This PR added topology spread constraints support for the gateway and controller, implemented through new configuration items in Helm templates.
Feature Value: This new feature allows users to define more granular Pod distribution policies, enhancing the availability and stability of services within the cluster. -
Related PR: #3160
Contributor: @EndlessSeeker
Change Log: This PR upgraded the gateway API to the latest version, updated related dependencies, and modified some configuration files to adapt to new features.
Feature Value: By introducing the latest gateway API features, it enhances the system's compatibility and scalability, providing users with more advanced and secure network service functions. -
Related PR: #3136
Contributor: @Wangzy455
Change Log: Added a tool search server based on the Milvus vector database, achieving semantic matching by converting tool descriptions into vectors.
Feature Value: Users can now find the most relevant tools through natural language queries, enhancing the user experience and simplifying the tool search process. -
Related PR: #3075
Contributor: @rinfx
Change Log: This PR refactored the AI security guard plugin to support multimodal input detection and improved security for text and image generation scenarios. It also fixed some boundary case response anomalies.
Feature Value: By introducing multimodal input support and enhanced security detection capabilities, it improves the system's flexibility and security, providing users with more comprehensive content protection in different application scenarios. -
Related PR: #3066
Contributor: @EndlessSeeker
Change Log: Upgraded Istio to version 1.27.1, adjusted higress-core to adapt to the new Istio version, fixed submodule branch pull issues, and corrected integration tests.
Feature Value: This upgrade enhances system stability and compatibility, improves performance, and ensures compatibility with the latest Istio version, providing users with a better service experience. -
Related PR: #3063
Contributor: @rinfx
Change Log: Added the ability to perform cross-cluster and endpoint load balancing based on specific metrics such as concurrency, TTFT, and RT, allowing users to more flexibly configure load balancing strategies.
Feature Value: This feature allows users to choose the appropriate backend service based on custom performance metrics, thereby improving the overall response speed and service quality of the system, enhancing the user experience. -
Related PR: #3061
Contributor: @Jing-ze
Change Log: This PR fixed the implementation issues of theresponse-cacheplugin and added comprehensive unit tests, including cache key extraction logic, interface mismatch issues, and trailing whitespace corrections in configuration validation.
Feature Value: By optimizing the response cache plugin, users can more reliably use the caching feature, improving system performance and response speed while reducing unnecessary resource consumption. -
Related PR: #2825
Contributor: @CH3CHO
Change Log: Added thetraffic-editorplugin, allowing users to edit requests and responses. The plugin provides multiple operation types, including deletion, renaming, and updating, and has an extensible code structure.
Feature Value: This feature enhances the flexibility and functionality of the Higress gateway, allowing users to more freely control the content of HTTP requests and responses, meeting more personalized needs and enhancing the user experience.
-
Related PR: #3448
Contributor: @lexburner
Change Log: Fixed an out-of-bounds error in the Qwen API response handling due to an empty selection array. The fix adds a null check to avoid runtime errors.
Feature Value: This enhancement improves system stability and robustness, preventing service crashes due to abnormal API responses, and enhances the user experience. -
Related PR: #3434
Contributor: @johnlanni
Change Log: Fixed a YAML parsing error in the skill description by adding double quotes around values containing colons, ensuring they are treated as regular characters rather than YAML syntax.
Feature Value: This fix resolves rendering issues caused by special YAML characters, ensuring the skill page displays correctly and enhancing the user experience and document accuracy. -
Related PR: #3422
Contributor: @johnlanni
Change Log: Fixed an issue in themodel-routerplugin where themodelfield in the request body was not updated in auto-routing mode. The correct logic adjustment ensures the model field accurately reflects the routing decision.
Feature Value: This fix ensures that the model name received by downstream services is the value after the correct routing decision, not the defaulthigress/auto, enhancing system consistency and accuracy. -
Related PR: #3400
Contributor: @johnlanni
Change Log: Fixed a duplicate definition of theloadBalancerClassfield inservice.yamlby removing the redundant definition to avoid YAML parsing errors.
Feature Value: This fix resolves YAML parsing errors caused by duplicate fields, ensuring users can configureloadBalancerClasswithout encountering issues, enhancing system stability and the user experience. -
Related PR: #3380
Contributor: @Thomas-Eliot
Change Log: This PR added the setting of the request model context in the request handling function, ensuring that the request model data can be correctly accessed throughout the call chain.
Feature Value: This fix resolves the issue of the request model context not being set, allowing the system to correctly pass and use request model information, improving system stability and data consistency. -
Related PR: #3370
Contributor: @rinfx
Change Log: Fixed an issue in themodel-mappercomponent where the request body was still processed even if the suffix did not match, and added JSON validation for the body to ensure its validity.
Feature Value: This enhancement improves system stability and data processing accuracy, avoiding application anomalies due to invalid or incorrectly formatted request bodies, enhancing the user experience. -
Related PR: #3341
Contributor: @zth9
Change Log: This PR fixed an issue with concurrent SSE connections returning incorrect endpoints, by modifying themcp-sessionplugin configuration and filter logic to ensure that SSE server instances are correctly created for each filter.
Feature Value: This fix resolves endpoint errors that may occur in concurrent SSE connection scenarios, enhancing system stability and reliability, which is a significant improvement for applications relying on SSE for real-time communication. -
Related PR: #3258
Contributor: @johnlanni
Change Log: Fixed the MCP server version negotiation issue to comply with the specification. Updated dependencies to ensure compatibility and stability.
Feature Value: This fix enhances system stability and compatibility, ensuring that the MCP server can correctly negotiate versions with clients, improving the user experience and system reliability. -
Related PR: #3257
Contributor: @sjtuzbk
Change Log: This PR fixed the issue in theai-proxyplugin where thehostwas directly rewritten todifyApiUrlby using thenet/urlpackage to correctly extract the hostname.
Feature Value: After the fix, users can more accurately handle the hostname when configuringdifyApiUrl, avoiding connection issues due to incorrect rewriting, enhancing system stability and the user experience. -
Related PR: #3252
Contributor: @rinfx
Change Log: This PR fixed the error response issue in cross-provider load balancing by adding a penalty mechanism to prevent fast error responses from disrupting service selection and adjusting debug log information.
Feature Value: By improving error response handling and enhancing debugging capabilities, it improves system stability and reliability during load balancing, reducing the risk of service disruptions due to error responses. -
Related PR: #3251
Contributor: @rinfx
Change Log: This PR addressed the situation where content extracted from a specified jsonpath in the configuration is empty. When detecting empty content, it replaces the detected content with[empty content].
Feature Value: By introducing a special handling mechanism for empty content, it ensures that the system can operate normally even in the absence of data, enhancing system robustness and the user experience. -
Related PR: #3237
Contributor: @CH3CHO
Change Log: Increased the request body buffer size for multipart data in themodel-routerto support larger file uploads.
Feature Value: This enhancement improves the system's ability to handle large file uploads, reducing data truncation issues due to small buffers, and enhancing the user experience. -
Related PR: #3225
Contributor: @wydream
Change Log: Fixed the issue wherebasePathHandling: removePrefixdid not work correctly when using theprotocol: originalconfiguration. Adjusted the request header transformation logic in multiple providers to ensure the path prefix is correctly removed.
Feature Value: This fix resolves the path handling failure in specific configurations, ensuring that API calls to over 27 AI service providers work as expected, enhancing system stability and reliability. -
Related PR: #3220
Contributor: @Aias00
Change Log: This PR fixed two issues: 1. Skipping unhealthy or disabled Nacos services; 2. Ensuring theAllowToolsfield is serialized even if it is empty.
Feature Value: By skipping unhealthy or disabled services, it improves system stability and reliability. Additionally, ensuring consistent output of theAllowToolsfield avoids potential configuration issues due to missing fields. -
Related PR: #3211
Contributor: @CH3CHO
Change Log: This PR modified the logic in theai-proxyplugin for determining if a request contains a request body, changing from relying on specific header information to using the newHasRequestBodylogic.
Feature Value: By correcting the request body detection logic, it improves the accuracy and efficiency of handling HTTP requests, reducing misjudgment issues caused by the old logic. -
Related PR: #3187
Contributor: @CH3CHO
Change Log: This PR bypassed the handling of streamable response bodies in MCP to allow progress notifications, resolving the issue of not being able to correctly display progress during data transmission.
Feature Value: By bypassing the response body handling in specific situations, users can more accurately obtain progress information during data transmission, enhancing the user experience. -
Related PR: #3168
Contributor: @wydream
Change Log: Fixed an issue where the query string was incorrectly removed when processing paths with regular expressions. It strips the query string first, performs the match, and then reappends the query string.
Feature Value: This ensures that API requests with regular expression paths are correctly parsed and retain their original query parameters, enhancing system compatibility and the user experience. -
Related PR: #3167
Contributor: @EndlessSeeker
Change Log: Updated multiple submodule references to the latest version and simplified theMakefilecommands related to submodules, reducing redundant code.
Feature Value: By ensuring all submodules are up-to-date and synchronized, this fix improves project stability and maintainability, reducing potential compatibility issues. -
Related PR: #3148
Contributor: @rinfx
Change Log: Removed theomitemptytag from thetoolcall indexfield, ensuring that the default value 0 is correctly passed even if there is no index.
Feature Value: This fix resolves the issue of missingtoolcall indexin the response, ensuring data consistency and integrity, and enhancing system stability and the user experience. -
Related PR: #3022
Contributor: @lwpk110
Change Log: This PR resolved the issue of missing support forgateway.metrics.labelsin the Helm template by adding apodMonitorSelectorto the gateway metrics configuration and setting a default PodMonitor selector label to ensure seamless auto-discovery with the kube-prometheus-stack monitoring system.
Feature Value: This fix enhances Prometheus monitoring integration, allowing users to more flexibly configure and collect gateway metrics data, thereby improving system observability and management efficiency.
-
Related PR: #3462
Contributor: @johnlanni
Change Log: This PR removed the automatic injection of Bash tools in Claude Code mode, including deleting related constants, logic code, and test cases, and updating the documentation.
Feature Value: By removing unnecessary features, it simplifies the codebase and reduces maintenance costs. This change helps improve system stability and reduce potential sources of errors. -
Related PR: #3457
Contributor: @johnlanni
Change Log: This PR primarily updated the version number to 2.2.0, adjusted the Envoy submodule branch, and corrected the package URL pattern in theMakefile.
Feature Value: By updating the version and related configurations, it ensures the consistency and correctness of software builds, avoiding potential build errors due to version mismatches. -
Related PR: [#3155](https
This release includes 18 updates, covering enhancements, bug fixes, and performance optimizations.
- New Features: 7
- Bug Fixes: 10
- Documentation Updates: 1
-
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: Enhanced some interaction capabilities of the MCP Server, including header host rewriting in direct routing scenarios, support for selecting transport, and support for special characters in the DB to MCP Server scenario.
Feature Value: Increased system flexibility and usability, allowing users to more easily customize MCP Server configurations, and resolved previous path confusion issues. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: Added hop-to-hop headers to the ignore list, resolving the issue where Grafana pages could not work properly due to the reverse proxy sending thetransfer-encoding: chunkedheader.
Feature Value: Improved system compatibility and stability by adhering to RFC 2616, ensuring that Grafana monitoring pages display correctly when using a reverse proxy. -
Related PR: #608
Contributor: @Libres-coder
Change Log: Added support for displaying AI routing management page plugins, allowing users to view enabled plugins and their status through extended AI routing entries.
Feature Value: Enhanced user experience by allowing users to intuitively see which plugins are activated on the AI routing configuration interface, thus better managing and understanding the AI routing configuration. -
Related PR: #604
Contributor: @CH3CHO
Change Log: Introduced the use of thehigress.io/rewrite-targetannotation to support path rewriting based on regular expressions, involving modifications to the SDK server and frontend localization files.
Feature Value: The new path rewriting capability allows users to define URL routing rules more flexibly, enhancing system configurability and user experience. -
Related PR: #603
Contributor: @CH3CHO
Change Log: Displayed a fixed service port 80 for static service sources on the frontend page, implemented by adding a static constant in the component.
Feature Value: This feature allows users to clearly see the service port number used by static service sources, improving configuration transparency and user experience. -
Related PR: #602
Contributor: @CH3CHO
Change Log: Added support for service search functionality during AI routing configuration, optimizing the frontend interface to make it easier for users to find and select upstream services.
Feature Value: Enhanced user experience, especially when dealing with a large number of services, allowing users to quickly locate the required services, improving efficiency and ease of use. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: Added support for custom Qwen services, including enabling internet search and file ID upload. The main changes were focused on the frontend interface and backend service processing logic.
Feature Value: Provided users with more flexible service configuration options, allowing them to customize Qwen service behavior according to their needs, enhancing system extensibility and user experience.
-
Related PR: #620
Contributor: @CH3CHO
Change Log: Fixed a spelling error in thesortWasmPluginMatchRuleslogic, ensuring that the rule matching function works as expected.
Feature Value: Resolved a potential misoperation issue, improving system stability and user experience. -
Related PR: #619
Contributor: @CH3CHO
Change Log: Removed version information from the data JSON when converting AiRoute to ConfigMap, as this information is already stored in the ConfigMap metadata.
Feature Value: By avoiding redundant storage of version information, reduced redundancy and ensured data consistency, thereby improving system reliability and maintainability. -
Related PR: #618
Contributor: @CH3CHO
Change Log: Refactored the API authentication logic in SystemController by introducing new annotations and modifying existing AOP aspects to eliminate security vulnerabilities.
Feature Value: Resolved security risks in API authentication, enhancing system security and protecting user data from potential threats. -
Related PR: #617
Contributor: @CH3CHO
Change Log: Fixed several errors in the frontend console, including missing unique key attributes for list items, image loading violations of the content security policy, and incorrect type for the Consumer.name field.
Feature Value: By addressing these frontend issues, improved user experience and application stability. Reducing console warnings and errors enhances user trust in the system and ensures the correct execution of functions. -
Related PR: #614
Contributor: @lc0138
Change Log: Corrected the type error in thetypefield of the ServiceSource class and added dictionary value validation to ensure data consistency.
Feature Value: By fixing the type error and introducing dictionary value validation, improved system stability and reliability, avoiding potential data inconsistency issues. -
Related PR: #613
Contributor: @lc0138
Change Log: This PR modified thedocument.tsxfile, adding 15 lines of code, primarily to fix security issues related to the frontend CSP, ensuring the application's security.
Feature Value: Fixed frontend CSP and other security risks, enhancing system security and protecting user data from potential threats, improving user experience and trust. -
Related PR: #611
Contributor: @qshuai
Change Log: Corrected a spelling error in an API title inLlmProvidersController.java, changing 'Add a new route' to a more appropriate description.
Feature Value: Correcting the API documentation title improves code readability and maintainability, ensuring developers can accurately understand each API's function, thus enhancing user experience. -
Related PR: #609
Contributor: @CH3CHO
Change Log: Fixed the type error in thenamefield of the Consumer interface, changing it from a boolean to a string.
Feature Value: Corrected the data type inconsistency in the Consumer.name field, ensuring data consistency and correctness, improving system stability and reliability. -
Related PR: #605
Contributor: @SaladDay
Change Log: Adjusted the regular expression validation rules for AI route names to support periods and unify case restrictions. Also updated the Chinese and English error messages to accurately reflect the new validation logic.
Feature Value: Resolved inconsistencies in route name validation, improving user experience and ensuring that user input conforms to expectations without causing confusion due to misleading prompts. -
Related PR: #552
Contributor: @lcfang
Change Log: This PR added avportattribute to adapt tomcpbridge, solving the issue of route configuration failure due to inconsistent backend service ports. Multiple files were changed, including the addition of the VPort class.
Feature Value: Resolved compatibility issues caused by changes in the service instance ports in the registry, enhancing system stability and user experience, ensuring that services run normally even when ports change.
- Related PR: #610
Contributor: @heimanba
Change Log: Adjusted the required fields for multiple fields in the frontend canary plugin configuration documentation and updated the associated rules to reflect the latest configuration flexibility. Also corrected some descriptive text to ensure document consistency and accuracy.
Feature Value: By increasing the flexibility and compatibility of configuration options, enhanced user experience, allowing users to configure canaries more flexibly; synchronized updates of Chinese and English documents also ensured accurate information dissemination.
- 🚀 New Features: 7
- 🐛 Bug Fixes: 10
- 📚 Documentation Updates: 1
Total: 18 changes
Thanks to all contributors for their hard work! 🎉
- @EndlessSeeker made their first contribution in https://github.com/alibaba/higress/pull/3066
- @YTGhost made their first contribution in https://github.com/alibaba/higress/pull/3200
- @Wangzy455 made their first contribution in https://github.com/alibaba/higress/pull/3136
- @maplecap made their first contribution in https://github.com/alibaba/higress/pull/3244
- @lwpk110 made their first contribution in https://github.com/alibaba/higress/pull/3022
- @wilsonwu made their first contribution in https://github.com/alibaba/higress/pull/3171
- @nixidexiangjiao made their first contribution in https://github.com/alibaba/higress/pull/3255
- @CZJCC made their first contribution in https://github.com/alibaba/higress/pull/3305
- @qshuai made their first contribution in https://github.com/alibaba/higress/pull/3241
- @zth9 made their first contribution in https://github.com/alibaba/higress/pull/3341
- @ThxCode-Chen made their first contribution in https://github.com/alibaba/higress/pull/3384
- @changsci made their first contribution in https://github.com/alibaba/higress/pull/3394
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.9...v2.2.0
v2.1.10
This release includes 84 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 46
- Bug Fixes: 18
- Refactoring and Optimization: 1
- Documentation Updates: 18
- Testing Improvements: 1
-
Related PR: #3438
Contributor: @johnlanni
Change Log: This PR significantly improves thehigress-clawdbot-integrationskill 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 thehigress-ai-gatewayplugin into thehigress-clawdbot-integrationskill, 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 fromhigress-standaloneto 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 theuse_default_attributesconfiguration option, which, when set totrue, automatically applies a set of default attributes, simplifying the user configuration process.
Feature Value: This feature makes theai-statisticsplugin 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 theai-statisticsplugin, including the built-in attribute keysreasoning_tokensandcached_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 theai-statisticsplugin, 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 thecontextCleanupCommandsconfiguration option to theai-proxyplugin, 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 whenprovider.apiTokensis 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 thewatcher.gofile, 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 theai-proxyplugin, enabling thegetAccessTokenmechanism 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: @Aias00
Change Log: This PR implements the functionality of mapping Nacos instance weights to Istio WorkloadEntry weights in the watcher, using the math library for weight conversion.
Feature Value: This feature allows users to more flexibly control traffic distribution between services, enhancing system configurability and flexibility and improving integration with Istio. -
Related PR: #3335
Contributor: @wydream
Change Log: This PR adds image generation support to the Vertex AI Provider in theai-proxyplugin, achieving compatibility with OpenAI SDK and Vertex AI image generation.
Feature Value: The new image generation feature allows users to call Vertex AI services through standard OpenAI interfaces, simplifying cross-platform development and enhancing user experience. -
Related PR: #3324
Contributor: @wydream
Change Log: This PR adds OpenAI-compatible endpoint support to the Vertex AI Provider in theai-proxyplugin, enabling direct invocation of Vertex AI models.
Feature Value: By introducing OpenAI-compatible mode, developers can interact with Vertex AI using familiar OpenAI SDK and API formats, simplifying the integration process and enhancing development efficiency. -
Related PR: #3318
Contributor: @hanxiantao
Change Log: This PR applies the native Istio authentication logic to the debugging endpoint using thewithConditionalAuthmiddleware, while retaining the existing behavior based on theDebugAuthfeature flag.
Feature Value: Adds authentication support for debugging endpoints, enhancing system security and ensuring that only authorized users can access these critical debugging interfaces, protecting the system from unauthorized access. -
Related PR: #3317
Contributor: @rinfx
Change Log: Added two Wasm-Go plugins:model-mapperandmodel-router, implementing mapping and routing functions based on themodelparameter in the LLM protocol.
Feature Value: Enhances Higress's capabilities in handling large language models, allowing flexible configuration to optimize request paths and model usage, enhancing system flexibility and performance. -
Related PR: #3305
Contributor: @CZJCC
Change Log: Added Bearer Token authentication support for the AWS Bedrock provider, while retaining the existing AWS SigV4 authentication method and adjusting related configurations and header processing.
Feature Value: The new Bearer Token authentication method provides users with more flexibility, making it easier to choose the appropriate authentication mechanism when using AWS Bedrock services, enhancing user experience. -
Related PR: #3301
Contributor: @wydream
Change Log: This PR implements Express Mode support in the Vertex AI Provider of theai-proxyplugin, simplifying the authentication process for developers using Vertex AI, requiring only an API Key.
Feature Value: By introducing the Express Mode feature, users can start using Vertex AI more conveniently, without the need for complex Service Account configuration, enhancing developer efficiency and experience. -
Related PR: #3295
Contributor: @rinfx
Change Log: This PR adds MCP protocol support to theai-security-guardplugin, including implementing two response handling methods for content security checks and adding corresponding unit tests.
Feature Value: The new MCP support expands the plugin's application scope, allowing users to use the plugin for API call content security checks in more scenarios, enhancing system security. -
Related PR: #3267
Contributor: @erasernoob
Change Log: Added thehgctl agentmodule, including basic functionality implementation and integration with related services, and updatedgo.modandgo.sumfiles to support new dependencies.
Feature Value: By introducing thehgctl agentmodule, a new management and control method is provided to users, enhancing system flexibility and operability and improving user experience. -
Related PR: #3261
Contributor: @rinfx
Change Log: This PR adds the ability to disable thinking forgemini-2.5-flashandgemini-2.5-flash-liteand includes reasoning token information in the response, allowing users to better control AI behavior and understand its working details.
Feature Value: By allowing users to choose whether to enable the thinking feature and displaying reasoning token usage, system flexibility and transparency are enhanced, helping developers more effectively debug and optimize AI applications. -
Related PR: #3255
Contributor: @nixidexiangjiao
Change Log: Optimized the Lua-based minimum in-flight requests load balancing strategy, addressing issues such as abnormal node preference selection, inconsistent new node handling, and uneven sampling distribution.
Feature Value: Improves system stability and service availability, reduces the fault amplification effect caused by abnormal nodes, and enhances support for new nodes and even traffic distribution. -
Related PR: #3236
Contributor: @rinfx
Change Log: This PR adds support for the claude model invertexand handles the case wheredeltamight be empty, increasing system compatibility and stability.
Feature Value: Adding support for the claude model invertexallows users to leverage a wider range of AI models for development and research, enhancing system flexibility and practicality. -
Related PR: #3218
Contributor: @johnlanni
Change Log: Added an automatic rebuild trigger mechanism based on request count and memory usage, and expanded supported path suffixes, including/rerankand/messages.
Feature Value: These improvements enhance system stability and response speed, allowing effective handling of high loads or low memory situations through automatic rebuilding, while also enhancing support for new features. -
Related PR: #3213
Contributor: @rinfx
Change Log: This PR updates thevertex.gofile, changing the access method from region-specific to global, to support new models that only support global mode.
Feature Value: After adding support for the global region, users can more easily use new models like the gemini-3 series without specifying a specific geographic region. -
Related PR: #3206
Contributor: @rinfx
Change Log: This PR primarily adds support for security checks on prompt and image content in the request body, especially when using OpenAI and Qwen to generate images. Enhanced theparseOpenAIRequestfunction to parse image data and improved related processing logic.
Feature Value: The new security check feature enhances system security when handling image generation requests, helping to prevent the spread of potential malicious content and providing users with a safer and more reliable service experience. -
Related PR: #3200
Contributor: @YTGhost
Change Log: This PR adds support for array content in theai-proxyplugin by modifying the relevant logic in thebedrock.gofile, enabling correct handling whencontentis an array.
Feature Value: Enhances theai-proxyplugin's ability to handle messages, now correctly supporting and converting array-formatted content, making chat tool message transmission more flexible and diverse. -
Related PR: #3185
Contributor: @rinfx
Change Log: This PR adds a rebuild mechanism toai-cache, updatinggo.modandgo.sumfiles and making minor adjustments tomain.goto avoid excessive memory usage.
Feature Value: The newai-cacherebuild mechanism effectively manages memory usage, preventing system performance degradation due to high memory consumption, enhancing system stability and user experience. -
Related PR: #3184
Contributor: @rinfx
Change Log: This PR adds support for user-defined domain names in the Doubao extension, allowing users to configure service access domain names according to their needs. Main changes include adding compilation options in theMakefileand introducing new configuration items indoubao.goandprovider.go.
Feature Value: The new custom domain configuration feature allows users to flexibly set up external service domain names based on actual needs, enhancing system flexibility and user experience. This helps better adapt to the requirements of different deployment environments. -
Related PR: #3175
Contributor: @wydream
Change Log: Added a generic provider for handling requests that do not require path remapping, utilizing shared headers andbasePathtools. Also updated theREADMEfile to include configuration details and introduced relevant tests.
Feature Value: By adding this generic provider, users can more flexibly handle requests from different suppliers without needing to make complex path modifications, lowering the usage threshold and enhancing system compatibility. -
Related PR: #3173
Contributor: @EndlessSeeker
Change Log: This PR adds a global parameter to the Higress Controller for controlling the enablement of the inference scaling feature. Main changes are in thecontroller-deployment.yamlandvalues.yamlfiles, adding new configuration items and documenting them in theREADMEfile.
Feature Value: The new global parameter allows users to more flexibly control the inference scaling feature in the Higress Controller, which is very useful for users who need to adjust behavior based on specific circumstances, enhancing system configurability and adaptability. -
Related PR: #3171
Contributor: @wilsonwu
Change Log: This PR introduces support for topology distribution constraints for the gateway and controller, achieved by adding new fields in the relevant YAML configuration files.
Feature Value: The new support helps users better manage the distribution of pods within the cluster, optimizing resource usage and enhancing system high availability. -
Related PR: #3160
Contributor: @EndlessSeeker
Change Log: This PR upgrades the gateway API to the latest version, involving multiple modifications across several files, includingMakefileandgo.mod, to ensure compatibility with the latest API.
Feature Value: By introducing the latest gateway API support, users can enjoy more stable and feature-rich service mesh characteristics, enhancing system scalability and maintainability. -
Related PR: #3136
Contributor: @Wangzy455
Change Log: Added a tool semantic search function based on the Milvus vector database, allowing users to find the most relevant tools through natural language queries.
Feature Value: This feature enhances the system's search capabilities, enabling users to more accurately locate the required tools, enhancing user experience and work efficiency. -
Related PR: #3075
Contributor: @rinfx
Change Log: Refactored the code to modularize, supporting multimodal input detection and image generation security checks, and fixed response anomalies in boundary conditions.
Feature Value: Enhanced the AI Security Guard's ability to handle multimodal inputs, improving system robustness and user experience, ensuring the security of content generation. -
Related PR: #3066
Contributor: @EndlessSeeker
Change Log: Upgraded Istio to version 1.27.1 and adjustedhigress-coreto adapt to the new version, fixing submodule branch pulling and integration testing issues.
Feature Value: By upgrading Istio and related dependencies, system stability and performance are enhanced, solving problems in the old version and providing users with more reliable services. -
Related PR: #3063
Contributor: @rinfx
Change Log: Implemented cross-cluster and endpoint load balancing based on specified metrics, allowing users to select specific metrics for load balancing in the plugin configuration.
Feature Value: Enhances system flexibility and scalability, allowing users to optimize request distribution based on actual needs (e.g., concurrency, TTFT, RT), thereby enhancing overall service performance and response speed. -
Related PR: #3061
Contributor: @Jing-ze
Change Log: This PR resolves multiple issues in theresponse-cacheplugin and adds comprehensive unit tests. Improved cache key extraction logic, fixed interface mismatch errors, and cleaned up redundant spaces in configuration validation.
Feature Value: By enhancing the functionality and stability of theresponse-cacheplugin, system performance and user experience are improved. Now supports extracting keys from request headers/bodies and caching responses, reducing the processing time for repeated requests. -
Related PR: #2825
Contributor: @CH3CHO
Change Log: Added thetraffic-editorplugin, supporting request and response header editing, providing a more flexible code structure to meet different needs.
Feature Value: Users can use this plugin to perform various types of modifications to request/response headers, such as deletion, renaming, etc., enhancing system flexibility and configurability.
-
Related PR: #3434
Contributor: @johnlanni
Change Log: Fixed a YAML parsing error in the frontmatter section of the SKILL file by adding double quotes to the description value to avoid misinterpreting colons as YAML syntax.
Feature Value: Resolved rendering issues caused by YAML parsing, ensuring that the skill description is displayed correctly, enhancing user experience and document accuracy. -
Related PR: #3422
Contributor: @johnlanni
Change Log: Fixed an issue in themodel-routerplugin where themodelfield in the request body was not updated in the automatic routing mode. Ensured that themodelfield in the request body matches the routing decision after matching the target model.
Feature Value: Ensures that downstream services receive the correct model name, enhancing system consistency and accuracy, avoiding service anomalies or data processing deviations due to using the wrong model. -
Related PR: #3400
Contributor: @johnlanni
Change Log: This PR fixes the issue of duplicate definition of theloadBalancerClassfield in Helm templates, resolving YAML parsing errors by removing the redundant definition.
Feature Value: Fixed the YAML parsing error when configuringloadBalancerClass, ensuring a more stable and reliable service deployment process. -
Related PR: #3370
Contributor: @rinfx
Change Log: This PR fixes the issue of incorrect request body handling in themodel-mapperwhen the suffix does not match, and adds JSON validation for the body content to ensure its validity.
Feature Value: By resolving unexpected request handling issues and enhancing input validation, system stability and data processing security are improved, providing a more reliable service experience to users. -
Related PR: #3341
Contributor: @zth9
Change Log: Fixed the issue of concurrent SSE connections returning the wrong endpoint, ensuring the correctness of the SSE server instance by updating the configuration file and filter logic.
Feature Value: Resolved the concurrent SSE connection issue encountered by users, enhancing system stability and reliability, and improving user experience. -
Related PR: #3258
Contributor: @johnlanni
Change Log: This PR corrects the MCP server version negotiation mechanism to comply with the specification, including updating related dependency versions.
Feature Value: By ensuring that the MCP server version negotiation complies with the specification, system compatibility and stability are enhanced, reducing potential communication errors. -
Related PR: #3257
Contributor: @sjtuzbk
Change Log: This PR fixes the defect in theai-proxyplugin wheredifyApiUrlwas directly used as the host, by parsing the URL to correctly extract the hostname.
Feature Value: The fix enhances the plugin's stability and compatibility, ensuring that users can normally use the plugin when configuring custom API URLs, avoiding service interruptions due to incorrect handling. -
Related PR: #3252
Contributor: @rinfx
Change Log: This PR adjusts the debug log messages and adds a penalty mechanism for error responses, delaying the processing of error responses to avoid interfering with service selection during load balancing.
Feature Value: Enhances the stability and reliability of cross-provider load balancing by delaying error responses to optimize the service selection process, reducing service interruptions caused by quick error returns. -
Related PR: #3251
Contributor: @rinfx
Change Log: This PR handles the case where the content extracted from the configuration's JSONPath is empty by using[empty content]instead, ensuring that the program can continue to execute correctly.
Feature Value: This fix enhances system robustness, preventing potential errors or anomalies caused by empty content, thereby improving user experience and system reliability. -
Related PR: #3237
Contributor: @CH3CHO
Change Log: This PR increases the buffer size for the request body when handling multipart data, resolving the issue of a too small buffer in themodel-routerwhen processing multipart form data.
Feature Value: Increasing the buffer size for handling multipart data ensures stability in scenarios like large file uploads, enhancing user experience. -
Related PR: #3225
Contributor: @wydream
Change Log: Fixed the issue where thebasePathHandlingconfiguration did not work correctly when using theprotocol: originalsetting. This was resolved by adjusting the request header transformation logic for multiple providers.
Feature Value: Ensures that when using the original protocol, users can correctly remove the base path prefix, enhancing the consistency and reliability of API calls, affecting over 27 service providers. -
Related PR: #3220
Contributor: @Aias00
Change Log: Fixed the issue where unhealthy or disabled service instances were improperly registered in Nacos, and ensured that theAllowToolsfield is always present during serialization.
Feature Value: By skipping unhealthy or disabled services, system stability and reliability are improved; ensuring consistent presentation of theAllowToolsfield avoids potential configuration misunderstandings. -
Related PR: #3211
Contributor: @CH3CHO
Change Log: Updated the request body judgment logic in theai-proxyplugin, replacing the old method of determining whether a request body exists based oncontent-lengthandcontent-typewith the newHasRequestBodylogic.
Feature Value: This change resolves the issue of incorrectly judging the presence of a request body under specific conditions, enhancing the accuracy of service request handling and avoiding potential data processing errors. -
Related PR: #3187
Contributor: @CH3CHO
Change Log: This PR enables progress notifications by bypassing the handling of streamable response bodies in MCP. Specifically, it modified thefilter.gofile in the golang-filter plugin, involving small-scale adjustments to data encoding logic.
Feature Value: This change allows users to receive progress updates when using MCP for streaming, enhancing user experience and providing a more transparent data transmission process, especially useful for applications requiring real-time monitoring of transmission status. -
Related PR: #3168
Contributor: @wydream
Change Log: Fixed the issue of query string loss during the OpenAI capability rewrite process, ensuring that query parameters are stripped and re-appended to the original path during path matching.
Feature Value: Resolved the path matching issue caused by query string interference, ensuring the correctness and stability of services like video content endpoints. -
Related PR: #3167
Contributor: @EndlessSeeker
Change Log: This PR updates the references to multiple submodules and simplifies the command logic for submodule initialization and update in theMakefile, deleting 25 lines of code and adding 8 lines.
Feature Value: By fixing submodule update issues and simplifying related scripts, the build efficiency and stability of the project are improved, ensuring users can obtain the latest dependency library versions. -
Related PR: #3148
Contributor: @rinfx
Change Log: Removed theomitemptytag from thetoolcall indexfield, ensuring that the default value is 0 when the response does not contain an index, thus avoiding potential data loss issues.
Feature Value: This fix enhances system stability and data integrity, allowing users who rely on thetoolcall indexto more reliably handle related data, reducing errors due to missing indices. -
Related PR: #3022
Contributor: @lwpk110
Change Log: This PR fixes the issue of missingpodMonitorSelectorin the gateway metrics configuration, adding support forgateway.metrics.labelsin the PodMonitor template and setting a default selector label to ensure automatic discovery by the kube-prometheus-stack monitoring system.
Feature Value: By adding support for custom selectors and setting default values, users can more flexibly configure their monitoring metrics, enhancing system observability and maintainability.
- Related PR: #3155
Contributor: @github-actions[bot]
Change Log: This PR updates the CRD files in thehelmfolder, adding therouteTypefield and its enumeration value definitions.
Feature Value: By updating the CRD configuration, the flexibility and extensibility of the application are enhanced, allowing users to choose different route types as needed.
-
Related PR: #3442
Contributor: @johnlanni
Change Log: Updated thehigress-clawdbot-integrationskill documentation, removing theIMAGE_REPOenvironment variable and retainingPLUGIN_REGISTRYas the single source.
Feature Value: Simplified the user configuration process, reducing the complexity of environment variable settings, and enhancing document consistency and usability. -
Related PR: #3441
Contributor: @johnlanni
Change Log: Updated the skill documentation to reflect the new behavior of automatically selecting the best registry for container images and WASM plugins based on the timezone.
Feature Value: By automating timezone detection to select the best registry, the user configuration process is simplified, enhancing user experience and efficiency. -
Related PR: #3440
Contributor: @johnlanni
Change Log: This PR adds a troubleshooting guide for common errors during Higress AI Gateway API server deployment due to file descriptor limits.
Feature Value: By providing detailed troubleshooting information, users can quickly locate and fix service startup failures caused by system file descriptor limits, enhancing user experience. -
Related PR: #3439
Contributor: @johnlanni
Change Log: This PR adds a guide for choosing geographically closer container image registries in thehigress-clawdbot-integrationSKILL documentation, including a new section on image registry selection, an environment variable table, and examples.
Feature Value: By providing a method to choose the nearest container image registry based on geographical location, this feature helps users optimize the Higress deployment process, reduce network latency, and improve user experience. -
Related PR: #3433
Contributor: @johnlanni \
This release includes 18 updates, covering enhancements, bug fixes, and performance optimizations.
- New Features: 7 items
- Bug Fixes: 10 items
- Documentation Updates: 1 item
-
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: This PR optimizes the interaction capabilities of the MCP Server, including rewriting the header host, modifying the interaction method to support transport selection, and handling special characters like @.
Feature Value: These improvements enhance the flexibility and compatibility of the MCP Server in various scenarios, making it easier for users to configure and use the MCP Server. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: This PR adds ignore handling for hop-to-hop headers, particularly for thetransfer-encoding: chunkedheader. It also enhances code readability and maintainability by adding comments at key points.
Feature Value: This feature resolves the issue where the Grafana page fails to work due to specific HTTP headers sent by the reverse proxy server, improving system compatibility and user experience. -
Related PR: #608
Contributor: @Libres-coder
Change Log: This PR adds plugin display support to the AI route management page, allowing users to view enabled plugins and see the "Enabled" label on the configuration page.
Feature Value: This enhancement improves the functional consistency and user experience of the AI route management page, enabling users to more intuitively manage and view enabled plugins in the AI route. -
Related PR: #604
Contributor: @CH3CHO
Change Log: This PR introduces support for path rewriting using regular expressions, implemented through the newhigress.io/rewrite-targetannotation, with corresponding code and test updates in relevant files.
Feature Value: The new feature allows users to flexibly define path rewriting rules using regular expressions, significantly enhancing the flexibility and functionality of application routing configurations, making it easier for developers to customize request paths as needed. -
Related PR: #603
Contributor: @CH3CHO
Change Log: This PR adds a feature to display a fixed service port 80 in the static service source settings, achieved by defining a constant in the code and updating the form component.
Feature Value: Adding the display of a fixed service port 80 helps users better understand and configure static service sources, improving the user experience. -
Related PR: #602
Contributor: @CH3CHO
Change Log: This PR implements search functionality in the process of selecting upstream services on the AI route configuration page, enhancing the interactivity and usability of the user interface.
Feature Value: The added search function enables users to quickly and accurately find the required upstream services, greatly improving configuration efficiency and user experience. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: Adds support for custom Qwen services, including enabling internet search and uploading file IDs.
Feature Value: This enhancement increases the flexibility and functionality of the system, allowing users to configure custom Qwen services to meet more personalized needs.
-
Related PR: #620
Contributor: @CH3CHO
Change Log: This PR fixes a spelling error in thesortWasmPluginMatchRuleslogic, ensuring the correctness and readability of the code.
Feature Value: By correcting the spelling error, the code quality is improved, reducing potential misunderstandings and maintenance costs, and enhancing the user experience. -
Related PR: #619
Contributor: @CH3CHO
Change Log: This PR removes version information from the data JSON when converting AiRoute to ConfigMap. This information is already stored in the ConfigMap metadata and does not need to be duplicated in the JSON.
Feature Value: Avoiding redundant information storage makes the data structure clearer and more reasonable, which helps improve the consistency and efficiency of configuration management, reducing potential data inconsistencies. -
Related PR: #618
Contributor: @CH3CHO
Change Log: Refactors the API authentication logic in the SystemController, eliminating security vulnerabilities. Adds theAllowAnonymousannotation and adjusts theApiStandardizationAspectclass to support the new authentication logic.
Feature Value: Fixes the security vulnerabilities in the SystemController, enhancing system security and protecting user data from unauthorized access. -
Related PR: #617
Contributor: @CH3CHO
Change Log: This PR fixes multiple errors in the front-end console, including missing unique key attributes for list items, issues with loading images that violate the content security policy, and incorrect type for theConsumer.namefield.
Feature Value: By resolving these front-end errors, the stability and user experience of the application are improved. This helps reduce issues encountered by developers during debugging and ensures the application runs as expected. -
Related PR: #614
Contributor: @lc0138
Change Log: Fixes an error in the type of thetypefield in theServiceSourceclass by adding dictionary value validation to ensure the correct type.
Feature Value: This fix improves the stability and data accuracy of the system, preventing service anomalies due to type mismatches and enhancing the user experience. -
Related PR: #613
Contributor: @lc0138
Change Log: This PR strengthens the content security policy (CSP) by modifying the front-end configuration, preventing cross-site scripting attacks and other security threats, ensuring the application is more secure and reliable.
Feature Value: Enhances the security of the front-end application, effectively defending against common web security attacks, protecting user data from unauthorized access or tampering, and improving user experience and trust. -
Related PR: #611
Contributor: @qshuai
Change Log: This PR fixes a spelling error in the controller API title in theLlmProvidersController.javafile, ensuring consistency between the documentation and the code.
Feature Value: Fixing the title spelling error improves the accuracy and readability of the API documentation, helping developers better understand and use the relevant interfaces. -
Related PR: #609
Contributor: @CH3CHO
Change Log: This PR corrects the type of thenamefield in theConsumerinterface from boolean to string, ensuring the accuracy of the type definition.
Feature Value: By fixing the type definition error, the code quality and maintainability are improved, reducing potential runtime errors and enhancing the developer experience. -
Related PR: #605
Contributor: @SaladDay
Change Log: Fixes the AI route name validation rules to support dot characters and unifies them to allow only lowercase letters. Also updates the error messages in both Chinese and English to accurately reflect the new validation logic.
Feature Value: Resolves the inconsistency between the UI prompt and backend validation logic, improving the consistency and accuracy of the user experience, ensuring users can correctly enter AI route names according to the latest rules. -
Related PR: #552
Contributor: @lcfang
Change Log: Adds thevportattribute to fix the issue of route configuration failure when the service instance port changes. By adding thevportattribute in the registry configuration, it ensures that changes to the backend service port do not affect the route.
Feature Value: Solves the compatibility issue caused by changes in the service instance port, enhancing the stability and user experience of the system, ensuring that services remain accessible even if the backend instance port changes.
- Related PR: #610
Contributor: @heimanba
Change Log: Updates the required and associated explanations for the document configuration fields, including changing therewritefields to optional and correcting some description texts.
Feature Value: By adjusting the field descriptions in the documentation, the configuration flexibility and compatibility are improved, helping users better understand and use the front-end canary plugin.
- 🚀 New Features: 7 items
- 🐛 Bug Fixes: 10 items
- 📚 Documentation Updates: 1 item
Total: 18 changes
Thank you to all contributors for their hard work! 🎉
- @EndlessSeeker made their first contribution in https://github.com/alibaba/higress/pull/3066
- @YTGhost made their first contribution in https://github.com/alibaba/higress/pull/3200
- @Wangzy455 made their first contribution in https://github.com/alibaba/higress/pull/3136
- @maplecap made their first contribution in https://github.com/alibaba/higress/pull/3244
- @lwpk110 made their first contribution in https://github.com/alibaba/higress/pull/3022
- @wilsonwu made their first contribution in https://github.com/alibaba/higress/pull/3171
- @nixidexiangjiao made their first contribution in https://github.com/alibaba/higress/pull/3255
- @CZJCC made their first contribution in https://github.com/alibaba/higress/pull/3305
- @qshuai made their first contribution in https://github.com/alibaba/higress/pull/3241
- @zth9 made their first contribution in https://github.com/alibaba/higress/pull/3341
- @ThxCode-Chen made their first contribution in https://github.com/alibaba/higress/pull/3384
- @changsci made their first contribution in https://github.com/alibaba/higress/pull/3394
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.9...v2.2.0
v2.1.9
This release includes 44 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 23
- Bug Fixes: 14
- Refactoring Optimizations: 2
- Documentation Updates: 1
- Testing Improvements: 4
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 agentcommand to manage Higress configurations and troubleshoot issues, improving operational efficiency and user experience. - feat: implement
hgctl agent&mcp addsubcommand (#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.
Below are the detailed explanations of the important features and improvements in this release:
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.
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:
- AI Routing Management: Added tools such as
list-ai-routes,get-ai-route,add-ai-route,update-ai-route, anddelete-ai-routeto allow users to manage AI routes. - AI Provider Management: Added tools such as
list-ai-providers,get-ai-provider,add-ai-provider,update-ai-provider, anddelete-ai-providerto allow users to manage AI providers. - MCP Server Management: Added tools such as
list-mcp-servers,get-mcp-server,add-or-update-mcp-server, anddelete-mcp-serverto allow users to manage MCP servers and their consumers. - Authentication Configuration: Uses HTTP Basic Authentication for authorization, carrying the
Authorizationheader in the client request. - Code Changes: Removed hard-coded usernames and passwords, instead providing them at runtime via the MCP Client, enhancing security. Additionally, added the
higress-opsmodule forhgctl agentcommand integration, enabling Agent-based management of Higress configurations.
Usage
To enable and configure this feature, follow these steps:
- Configure Higress API MCP Server: Add the Higress API MCP Server configuration in the Higress configuration file, specifying the URL of the Higress Console.
- Use
hgctl agent: Start the interactive Agent using thehgctl agentcommand, allowing you to manage Higress using natural language. For example, use themcp addsubcommand to add a remote MCP Server to the Higress MCP management directory. - Manage AI Routes: Use tools like
list-ai-routes,get-ai-route,add-ai-route,update-ai-route, anddelete-ai-routeto manage AI routes. - Manage AI Providers: Use tools like
list-ai-providers,get-ai-provider,add-ai-provider,update-ai-provider, anddelete-ai-providerto manage AI providers. - Manage MCP Servers: Use tools like
list-mcp-servers,get-mcp-server,add-or-update-mcp-server, anddelete-mcp-serverto manage MCP servers and their consumers. Note: Ensure that you correctly configure the authentication information and carry theAuthorizationheader in the request.
Feature Value
This feature brings the following specific benefits to users:
- 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.
- 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.
- Better User Experience: The interactive management method via
hgctl agentallows users to manage Higress using natural language, reducing the learning curve and difficulty of use. - 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.
- 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.
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
This PR mainly implements two new subcommands: hgctl agent and mcp add.
-
hgctl agent: This command allows users to interact with Higress using natural language. It calls the underlyingclaude-codeagent and prompts the user to set up the necessary environment upon first use.hgctl agentprovides an interactive window, enabling users to manage Higress in a more intuitive manner. -
mcp add: This command allows users to add MCP services with simple parameters. It supports two types of MCP services: direct proxy type and OpenAPI-based type. Direct proxy type MCP services can directly call the Higress Console API and publish to the Higress MCP Server management tool. OpenAPI-based MCP services generate MCP configurations by parsing the OpenAPI specification. The code changes include the addition of multiple files and a significant amount of code, includingagent.go,base.go,core.go,mcp.go, andclient.go, which collectively implement the above features.
Usage
To enable and configure these new features, users need to update to the latest version of the hgctl tool.
-
Enable
hgctl agent:- Run the
hgctl agentcommand. On the first use, it will prompt the user to set up the necessary environment, such as installing theclaude-codeagent. - Interact with Higress using natural language, for example, to query or modify configurations.
- Run the
-
Add MCP Services Using
mcp add:- Add a direct proxy type MCP service:
hgctl mcp add mcp-deepwiki -t http https://mcp.deepwiki.com --user admin --password 123 --url http://localhost:8080
- Add an OpenAPI-based MCP service:
hgctl mcp add openapi-server -t openapi --spec openapi.yaml --user admin --password 123 --url http://localhost:8080
- Add a direct proxy type MCP service:
Note: Ensure that the system has correctly configured Higress and related dependencies before running these commands.
Feature Value
These new features bring significant benefits to users, including:
- Improved User Experience: Through natural language interaction, the learning curve for users is reduced, making Higress management more intuitive and user-friendly.
- Simplified Configuration Process: The
mcp addcommand greatly simplifies the process of adding and configuring MCP services, reducing the complexity and error rate of manual operations. - Enhanced System Stability: With unified MCP service management, it is easier to monitor and maintain MCP traffic, improving the system's stability and reliability.
- Expanded Ecosystem: These new features enable Higress to better support different types of MCP services, enhancing its competitiveness and ecosystem influence in the AI era.
-
Related PR: #3126
Contributor: @johnlanni
Change Log: Updated Envoy dependencies, supporting the setting of Redis call-related parameters via WASM, such asbuffer_flush_timeoutandmax_buffer_size_before_flush.
Feature Value: This feature enhances the flexibility of the WASM plugin, allowing users to customize Redis client buffer behavior through URL query parameters, improving the convenience and efficiency of configuration management. -
Related PR: #3123
Contributor: @johnlanni
Change Log: Upgraded the Higress proxy version to v2.2.0, updated the Go toolchain and multiple dependency package versions, and added specific architecture build targets for golang-filter, fixing dependency issues related to MCP servers, OpenAI, and Milvus SDK.
Feature Value: This improvement enhances the overall performance and stability of Higress, supporting more architecture types and enhancing support for the latest technology stack. For users, this means broader compatibility, better security, and richer feature expansion possibilities. -
Related PR: #3108
Contributor: @wydream
Change Log: Added video-related API paths and capabilities, including constants, default capabilities, and regular expression path handling, enabling the proxy to correctly parse multiple video-related endpoints and updating the OpenAI provider to optimize support for these new endpoints.
Feature Value: By adding support for video-related APIs, this enhancement strengthens Higress's ability to manage AI services, particularly for applications that need to handle video content. This will make it easier for users to integrate and use advanced features involving video. -
Related PR: #3071
Contributor: @rinfx
Change Log: The PR added an example of using theinject_encoded_data_to_filter_chain_on_headerfunction, demonstrating how to add body data to a request when there is no response body. This was achieved by modifying README.md, go.mod, and other files.
Feature Value: This feature allows users to add body data to a request even when there is no response body, enhancing the API gateway's ability to handle requests flexibly and dynamically, especially when generating or modifying response content. -
Related PR: #3067
Contributor: @wydream
Change Log: This PR added support for vLLM as an AI provider in the Higress ai-proxy plugin, implementing multiple API interfaces compatible with OpenAI, including chat and text completion, model list display, and other functions.
Feature Value: By introducing vLLM as a new AI service provider, users can now directly access various AI capabilities provided by vLLM through the Higress proxy, such as generating text. This greatly enriches the availability of Higress in AI application scenarios and simplifies the integration process. -
Related PR: #3060
Contributor: @erasernoob
Change Log: This PR enhanced thehgctl mcpandhgctl agentcommands to automatically obtain Higress Console credentials from installation configuration files and Kubernetes secrets, optimizing the user experience.
Feature Value: This feature reduces the steps required for users to manually enter credentials, improving operational convenience and security, especially when Higress is installed viahgctl. It is a significant usability improvement for users. -
Related PR: #3043
Contributor: @2456868764
Change Log: This PR fixed the issue of incorrect default port for Milvus and added Python example code to the README.md. The port issue was resolved by modifying thematch_rule_domainfield in the configuration file, and usage guidance was provided.
Feature Value: This fix resolves the port configuration issue that could lead to service failure, enhancing the practicality of the documentation. It provides a specific Python example to help users understand and quickly get started with the plugin functionality. -
Related PR: #3040
Contributor: @victorserbu2709
Change Log: This PR added the ApiNameAnthropicMessages feature for Anthropic and supported configuring the Anthropique provider without settingprotocol=original, allowing/v1/messagesrequests to be directly forwarded to Anthropic, while/v1/chat/completionrequests convert the OpenAI format message body to a Claude-compatible format.
Feature Value: By adding support for the Anthropic messages API, this feature enhances Higress's ability to manage different types of AI services. Users can now more flexibly use services provided by Anthropic, especially when interacting with Claude, increasing the platform's diversity and flexibility. -
Related PR: #3038
Contributor: @Libres-coder
Change Log: Added thelist-plugin-instancestool, allowing AI proxies to query plugin instances within a specific scope using the MCP protocol. This PR added two new functions to the MCP Server and updated the relevant documentation.
Feature Value: This feature enables users to more conveniently manage plugin configurations in Higress, enhancing the system's manageability and transparency, especially when checking or adjusting the status of plugins within a specific scope. -
Related PR: #3032
Contributor: @johnlanni
Change Log: This PR enabled Qwen compatibility mode by default and added missing API endpoints, including AsyncAIGC, AsyncTask, and V1Rerank, to provide more comprehensive API coverage.
Feature Value: By enabling compatibility mode by default and filling in API endpoint gaps, this feature enhances the out-of-the-box experience for users and strengthens Higress's support for Qwen AI services, making it easier for developers to integrate and use Qwen-related features. -
Related PR: #3029
Contributor: @victorserbu2709
Change Log: Added support forv1/responsesin the groq provider, specifically by introducing new response handling logic.
Feature Value: This new feature supports better management and utilization of the services provided by the groq plugin, enhancing the flexibility and completeness of API management. -
Related PR: #3024
Contributor: @rinfx
Change Log: Added malicious URL and model hallucination detection to ensure the security of AI-generated content; also adjusted specific configurations at the consumer level to better adapt to different scenario needs.
Feature Value: By adding detection for malicious URLs and model hallucinations, this feature enhances the security and accuracy of Higress in handling AI-generated content, helping to protect users from potential threats. Additionally, the adjusted consumer-level configurations enhance the system's flexibility and adaptability. -
Related PR: #3008
Contributor: @hellocn9
Change Log: This PR added support for custom parameter names for MCP SSE stateful sessions. By adding thehigress.io/mcp-sse-stateful-param-nameannotation in the ingress configuration, users can specify their own parameter names.
Feature Value: This feature allows users to flexibly set the parameter names for MCP SSE stateful sessions according to their needs, improving configuration flexibility and user experience. This makes Higress better suited for diverse application scenarios. -
Related PR: #3006
Contributor: @SaladDay
Change Log: This PR added Secret reference support for Redis configuration in the MCP Server, allowing Redis passwords to be stored in Kubernetes Secrets, enhancing security, and modified the relevant documentation and test code.
Feature Value: By storing Redis passwords in Kubernetes Secrets instead of writing them in plaintext in ConfigMaps, this improvement enhances system security. Users can more securely manage sensitive information, reducing the risk of password leaks. -
Related PR: #2992
Contributor: @rinfx
Change Log: This PR modified the authentication logic in thekey_authplugin, logging the consumer name in the logs even if the access is not authorized. By adding logging of consumer identification during the authentication and authorization process, it enhances the observability of the system.
Feature Value: This feature improves the efficiency of system monitoring and troubleshooting, allowing operations personnel to clearly understand the source of requests, even if they are not authorized, thus better diagnosing issues and conducting security audits. -
Related PR: #2978
Contributor: @rinfx
Change Log: After determining the consumer name, it adds the consumer name to the request header regardless of whether the authentication is successful, for subsequent processing.
Feature Value: This feature enhances the ability to track consumer behavior, helping to better understand API call patterns and consumer activity, thus providing a more personalized service experience for users. -
Related PR: #2968
Contributor: @2456868764
Change Log: Added vector database mapping functionality, introducing a field mapping system and index configuration management mechanism, supporting various index types such as HNSW, IVF, SCANN, etc., to improve system flexibility and adaptability.
Feature Value: By providing flexible field mapping and rich index configuration options, this feature enhances support for different vector databases, simplifying the process for developers to integrate various storage solutions and improving the user experience. -
Related PR: #2943
Contributor: @Guo-Chenxu
Change Log: This PR added the ability to support custom system prompts when generating release notes, achieved by modifying the GitHub Actions workflow file.
Feature Value: This feature allows users to add personalized system prompts when generating release notes, enhancing the flexibility and practicality of the release notes and better meeting the needs of different projects. -
Related PR: #2942
Contributor: @2456868764
Change Log: Fixed the handling logic when the LLM provider is empty and optimized the document structure and content, adding detailed introductions to MCP tools.
Feature Value: This improvement enhances the robustness of the system when LLM configuration is missing, enhancing the user's understanding and experience with MCP tools, making it clearer for users to understand the functions and configuration requirements of different tools. -
Related PR: #2916
Contributor: @imp2002
Change Log: Implemented Nginx migration to MCP servers and provided 7 MCP tools to automate the migration process from Nginx configuration/Lua plugins to Higress, including important features such as configuration conversion.
Feature Value: This feature greatly simplifies the effort required for users to migrate from Nginx to Higress, providing a complete set of tools to make the migration process smoother and more efficient, helping users adopt Higress as their API gateway solution more quickly.
-
Related PR: #3120
Contributor: @lexburner
Change Log: Adjusted the log level in the ai-proxy component, specifically in thewasm-go/extensions/ai-proxy/provider/qwen.gofile, reducing unnecessary warning messages.
Feature Value: By lowering the log level in specific parts, this change reduces redundant warning messages during system operation, improving the efficiency of developers and operations personnel in viewing logs, allowing them to focus more on actual errors or important information. -
Related PR: #3119
Contributor: @johnlanni
Change Log: Updated the Istio dependency and replacedreqChananddeltaReqChanin the Connection withchannels.Unboundedto prevent deadlock issues caused by HTTP2 flow control.
Feature Value: By resolving the deadlock issue caused by HTTP2 flow control, this improvement ensures that client requests and ACK requests can be processed normally without blocking, enhancing the stability and response speed of the system. -
Related PR: #3118
Contributor: @johnlanni
Change Log: This PR fixed the issue where port-level policies unconditionally overwrite existing configurations converted from Ingress annotations. By adding nil checks before settingpolicy.Tlsandpolicy.LoadBalancer, it avoids overwriting existing configurations.
Feature Value: This fix resolves the unexpected configuration overwrite issue caused by TLS and load balancer settings in DestinationRule, ensuring that user-defined Ingress annotation configurations are correctly retained and applied, enhancing the stability and reliability of the system. -
Related PR: #3095
Contributor: @rinfx
Change Log: Fixed the issue of usage information being lost during theclaude2openaiconversion process and added theindexfield in the bedrock streaming tool response to ensure data integrity and accuracy.
Feature Value: This fix enhances the system's data integrity when handling API conversions, ensuring that users can accurately obtain all necessary usage information, especially in the case of streaming responses, by introducing theindexfield to enhance response management flexibility. -
Related PR: #3084
Contributor: @rinfx
Change Log: Fixed the issue where theinclude_usage: trueflag was not correctly included when converting Claude requests to OpenAI requests, ensuring that usage information is properly passed in streaming response mode.
Feature Value: This fix allows users to receive more accurate resource usage feedback when using streaming APIs, enhancing the accuracy of resource consumption monitoring. -
Related PR: #3074
Contributor: @Jing-ze
Change Log: This PR added a check forContent-Encodingin thelog-request-responseplugin to avoid logging compressed request/response bodies, which can result in garbled log entries.
Feature Value: By improving the logging mechanism to prevent unreadable log entries, this change enhances the efficiency and accuracy of system operations personnel in troubleshooting issues. -
Related PR: #3069
Contributor: @Libres-coder
Change Log: This PR fixed an issue in the CI testing framework where e2e tests failed due to thego.modfile not being correctly updated. By adding thego mod tidycommand in theprebuild.shscript, it ensures that thego.modin the root directory is also updated.
Feature Value: This fix resolves the CI test failure issue that all PRs triggering end-to-end testing of the wasm plugin might encounter, ensuring the stability of the build and test process and improving the developer experience. -
Related PR: #3010
Contributor: @rinfx
Change Log: Fixed the issue of parsing failures in bedrock responses due to unpacking problems and adjusted themaxtokenconversion logic to ensure the accuracy and integrity of event stream processing.
Feature Value: This fix resolves the data parsing error issue encountered by users when using bedrock services, enhancing the stability and user experience of the system. By optimizing boundary condition handling, it ensures the consistency of data transmission. -
Related PR: #2997
Contributor: @hanxiantao
Change Log: Optimized the cluster rate limiting and AI token rate limiting logic, changing to cumulative counting of request counts and token usage, avoiding reset of counters when changing rate limit values.
Feature Value: By improving the rate limiting mechanism, this change ensures that the system can accurately track and limit request traffic even after changing the rate limit thresholds, thereby enhancing the stability and reliability of the system. -
Related PR: #2988
Contributor: @johnlanni
Change Log: This PR fixed the JSON formatting error in thejsonrpc-converter, switching to using raw JSON data to avoid data parsing issues caused by string formatting.
Feature Value: By correcting the JSON handling method, this change ensures the accuracy and consistency of data transmission, enhancing the stability and reliability of the system and reducing potential issues caused by data format errors. -
Related PR: #2973
Contributor: @CH3CHO
Change Log: Fixed the issue where the Higress 2.1.8 version did not support an emptymatch_rule_domainby using a wildcard to match all domains, eliminating compatibility risks.
Feature Value: This fix ensures that the generation of MCP server configurations is backward-compatible with older versions, avoiding service interruptions or behavioral anomalies due to configuration errors, enhancing the stability and user experience of the system. -
Related PR: #2952
Contributor: @Erica177
Change Log: Corrected the JSON tag for theIdfield in theToolSecuritystruct, changing it fromtypetoid, to ensure correct serialization.
Feature Value: This fix ensures the correctness of theToolSecuritystruct during data transmission, avoiding data parsing issues caused by incorrect field tags, enhancing the stability and user experience of the system. -
Related PR: #2948
Contributor: @johnlanni
Change Log: Fixed the handling issue with the Azure OpenAI Response API and the service URL type detection logic, including adding support for custom full paths and improving streaming event parsing.
Feature Value: This enhancement improves support for Azure OpenAI services, enhancing the accuracy and efficiency of API response handling, allowing users to more stably use Azure OpenAI-related features. -
Related PR: #2941
Contributor: @rinfx
Change Log: This PR fixed the compatibility issue between theai-security-guardplugin and old configurations, by adjusting the relevant code in themain.gofile to ensure backward compatibility.
Feature Value: This fix resolves the compatibility issue caused by configuration updates, allowing users with old configurations to seamlessly transition to the new version, enhancing the user experience and stability of the system.
-
Related PR: #3113
Contributor: @johnlanni
Change Log: This PR implemented a hash cache for Protobuf messages, using the xxHash algorithm for recursive hash calculation and handlinggoogle.protobuf.Anytypes and deterministically sorted map fields specially, optimizing LDS performance.
Feature Value: This change significantly improves the efficiency of Envoy in handling large-scale configuration updates, reducing performance overhead due to repeated serialization. In environments with frequent changes or large-scale deployments, it accelerates the propagation of configurations and enhances system responsiveness. -
Related PR: #2945
Contributor: @rinfx
Change Log: Optimized the Lua script logic for selecting pods with the global minimum number of requests inai-load-balancer, improving request distribution efficiency by adjusting the health check mechanism and load balancing strategy.
Feature Value: This change enhances the fairness and efficiency of the AI load balancer in handling requests, reducing the service response time extension caused by a single node being overloaded, positively impacting the overall system stability and user experience.
- Related PR: #2965
Contributor: @CH3CHO
Change Log: Updated the description ofazureServiceUrlin the ai-proxy README file, adding detailed information about the use of this parameter to help users better understand and configure it.
Feature Value: By providing a more detailed description of theazureServiceUrlparameter, this change improves the user experience, making it easier for users to correctly configure settings according to the documentation, thus avoiding potential usage errors.
-
Related PR: #3110
Contributor: @Jing-ze
Change Log: This PR added theCODECOV_TOKENenvironment variable configuration in the GitHub Actions workflow to ensure that Codecov can correctly authenticate and upload code coverage data.
Feature Value: By adding theCODECOV_TOKENenvironment variable, this improvement enhances the security and reliability of the CI/CD process, ensuring the accuracy and completeness of code coverage reports, which helps in maintaining project quality. -
Related PR: #3097
Contributor: @johnlanni
Change Log: This PR added unit tests for the mcp-server, adding a total of 2766 lines of code, primarily in themain_test.gofile, enhancing the test coverage of the mcp-server.
Feature Value: By adding unit tests, this improvement enhances the stability and reliability of the mcp-server module, ensuring that new features or fixes do not introduce new issues. For users, this improves the overall quality assurance and user experience of Higress. -
Related PR: #2998
Contributor: @Patrisam
Change Log: This PR implemented end-to-end test cases for Cloudflare, enhancing the test coverage of the Higress project. By adding new test logic and configurations ingo-wasm-ai-proxy.goandgo-wasm-ai-proxy.yaml, it improved system integration.
Feature Value: The newly added Cloudflare e2e test cases help ensure the compatibility and stability between Higress and Cloudflare services, greatly enhancing the confidence of users who use or plan to use Cloudflare as part of their network infrastructure. -
Related PR: #2980
Contributor: @Jing-ze
Change Log: Enhanced the CI workflow for WASM plugin unit tests, adding coverage display functionality and setting an 80% coverage threshold.
Feature Value: This improvement enhances the quality and transparency of the testing process, ensuring that the WASM plugin meets a certain code coverage standard, which helps in identifying potential issues and improving code reliability.
- 🚀 New Features: 23
- 🐛 Bug Fixes: 14
- ♻️ Refactoring Optimizations: 2
- 📚 Documentation Updates: 1
- 🧪 Testing Improvements: 4
Total: 44 changes (including 3 key updates)
Thank you to all contributors for your hard work! 🎉
This release includes 18 updates, covering enhancements, bug fixes, and performance optimizations.
- New Features: 7 items
- Bug Fixes: 10 items
- Documentation Updates: 1 item
-
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: This PR enhances the interaction capabilities of the MCP Server, including rewriting the header host, modifying the interaction method to support transport selection, and improving DSN character handling logic to support the special character @.
Feature Value: These improvements allow users to configure and use the MCP Server more flexibly, especially in direct routing scenarios, where DNS addresses and service paths can be handled better, enhancing system flexibility and usability. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: Added handling to ignore hop-by-hop headers in DashboardServiceImpl, preventing headers likeTransfer-Encoding: chunkedfrom being mistakenly passed.
Feature Value: By correctly handling hop-by-hop headers, it ensures that the Grafana page works properly in environments with reverse proxy servers, improving system compatibility and user experience. -
Related PR: #608
Contributor: @Libres-coder
Change Log: This PR adds plugin display support to the AI route management page, allowing users to expand AI route rows to view enabled plugins and see the "Enabled" label on the configuration page.
Feature Value: Enhances AI route management by enabling users to manage AI-related plugin states more intuitively, improving user experience and operational convenience. -
Related PR: #604
Contributor: @CH3CHO
Change Log: This PR introduces the feature of using thehigress.io/rewrite-targetannotation for path rewriting, supporting regular expressions, and enhancing the flexibility of path configuration.
Feature Value: By adding the ability to rewrite paths based on regular expressions, users can control and transform request paths more flexibly, enhancing the routing processing capability of the Higress gateway and meeting the needs of more scenarios. -
Related PR: #603
Contributor: @CH3CHO
Change Log: This PR displays a fixed service port 80 for static service sources, implemented by hardcoding this value in the frontend component.
Feature Value: Users can more intuitively see and understand the default port number specific to static service sources, enhancing the clarity and user experience of the UI. -
Related PR: #602
Contributor: @CH3CHO
Change Log: This PR adds a search function to the frontend page, allowing users to search when selecting upstream services for AI routes, improving the user experience.
Feature Value: This feature enables users to find the required upstream services more quickly and accurately, simplifying the configuration process and improving operational efficiency. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: This PR adds support for custom Qwen services, including enabling internet search and uploading file IDs. The main changes are in the backend SDK and frontend UI.
Feature Value: By supporting custom Qwen services, users can configure AI services more flexibly, such as using specific internet search features or specifying file IDs, thus meeting more personalized needs.
-
Related PR: #620
Contributor: @CH3CHO
Change Log: Fixed a spelling error in the sortWasmPluginMatchRules logic, ensuring correct sorting of match rules.
Feature Value: Fixing this spelling error improves the reliability and readability of the code, ensuring that Wasm plugin match rules work as expected and reducing potential runtime errors. -
Related PR: #619
Contributor: @CH3CHO
Change Log: This PR removes version information from the data JSON during the conversion from AiRoute to ConfigMap, as this information is already saved in the ConfigMap metadata.
Feature Value: By removing redundant data, it improves the consistency and simplicity of the configuration, reducing potential data conflicts and inconsistencies. -
Related PR: #618
Contributor: @CH3CHO
Change Log: This PR refactors the API authentication logic in SystemController to eliminate existing security vulnerabilities. It adds the AllowAnonymous annotation and adjusts the ApiStandardizationAspect class to ensure a more secure system.
Feature Value: This fix enhances the security of the system, preventing unauthorized access and potential security threats, improving user experience and trust. -
Related PR: #617
Contributor: @CH3CHO
Change Log: Fixed frontend console errors, including missing key attributes for list elements, image loading failures due to CSP policy restrictions, and incorrect type for the Consumer.name field.
Feature Value: Resolved multiple frontend issues encountered by users, improving the user experience and ensuring the stability and security of the application. -
Related PR: #614
Contributor: @lc0138
Change Log: This PR corrects the type of the type field in the ServiceSource class and adds dictionary value validation to ensure data accuracy.
Feature Value: By fixing the service source type error, it improves the data consistency and reliability of the system, reducing potential issues caused by type mismatches. -
Related PR: #613
Contributor: @lc0138
Change Log: This PR fixes CSP and other security risk issues by adding 15 lines of code to the frontend document.tsx file.
Feature Value: It resolves security risks related to Content Security Policy, enhancing the security level of the application and protecting users from potential security threats. -
Related PR: #611
Contributor: @qshuai
Change Log: Corrected a description error in the LlmProvidersController.java file regarding the new route API, changing the title from 'Add a new route' to 'Ad'.
Feature Value: This fix addresses misleading information in the API documentation, ensuring developers can accurately understand the API's functionality, improving the development experience and reducing potential misuse. -
Related PR: #609
Contributor: @CH3CHO
Change Log: Fixed the type error for the Consumer.name field, changing its type from boolean to string.
Feature Value: This fix ensures the data consistency and accuracy of the Consumer.name field, avoiding data handling issues caused by type errors and improving system stability and user experience. -
Related PR: #605
Contributor: @SaladDay
Change Log: Corrected the AI route name validation rules to support dot characters and unified case restrictions and interface prompts. Additionally, updated error messages in a multilingual environment.
Feature Value: Resolves inconsistencies encountered by users when setting AI route names, improving the user experience and system usability, ensuring information consistency and accuracy. -
Related PR: #552
Contributor: @lcfang
Change Log: This PR adds the vport attribute to address compatibility issues caused by inconsistent service instance ports and provides an optional configuration for virtual ports during registration center setup.
Feature Value: By introducing the vport attribute, users can handle backend instance port changes more flexibly, avoiding service routing failures due to port changes, enhancing system stability and flexibility.
- Related PR: #610
Contributor: @heimanba
Change Log: This PR updates the documentation configuration for the frontend gray-scale plugin, including modifying the description of required fields, updating associated rules, and synchronizing the content in both Chinese and English README and spec.yaml files.
Feature Value: By adjusting the documentation configuration requirements and descriptions, it enhances the flexibility and compatibility of the configuration, making it easier for users to understand and use the frontend gray-scale plugin features.
- 🚀 New Features: 7 items
- 🐛 Bug Fixes: 10 items
- 📚 Documentation Updates: 1 item
Total: 18 changes
Thank you to all contributors for their hard work! 🎉
- @hellocn9 made their first contribution in https://github.com/alibaba/higress/pull/3008
- @Patrisam made their first contribution in https://github.com/alibaba/higress/pull/2998
- @victorserbu2709 made their first contribution in https://github.com/alibaba/higress/pull/3040
- @Libres-coder made their first contribution in https://github.com/alibaba/higress/pull/3038
- @SaladDay made their first contribution in https://github.com/alibaba/higress/pull/3006
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.8...v2.1.9
v2.1.9-rc.1
This release includes 11 updates, covering areas such as feature enhancements, bug fixes, performance optimizations, and more.
- New Features: 3
- Bug Fixes: 5
- Refactoring and Optimization: 1
- Documentation Updates: 2
-
Related PR: #2978
Contributor: @rinfx
Change Log: In the key-auth plugin, regardless of whether authentication is successful, the consumer name will be recorded after it is determined. This is achieved by adding the X-Mse-Consumer field to the HTTP request header.
Feature Value: This feature allows the system to obtain and record the consumer's name earlier, which is very important for logging and subsequent processing, improving the traceability and transparency of the system. -
Related PR: #2968
Contributor: @2456868764
Change Log: This PR introduces the core functionality of vector database mapping, including a field mapping system and index configuration management, supporting various index types.
Feature Value: By providing flexible field mapping and index configuration capabilities, users can more easily integrate with different database architectures, enhancing the system's compatibility and flexibility. -
Related PR: #2943
Contributor: @Guo-Chenxu
Change Log: Added a feature for customizing system prompts, allowing users to add personalized notes when generating release notes. This is implemented by modifying the GitHub Actions workflow file.
Feature Value: This feature allows users to include customized system prompts when generating release notes, enhancing the flexibility and richness of information in the release notes, thereby improving the user experience.
-
Related PR: #2973
Contributor: @CH3CHO
Change Log: This PR fixes an issue in Higress version 2.1.8 where themcp-sessionfilter did not support settingmatch_rule_domainto an empty string, using wildcards to match all domains and eliminate compatibility risks.
Feature Value: This resolves a compatibility issue caused by specific configurations, ensuring that users do not encounter errors due to empty string settings during upgrades or configuration, thus improving the stability and user experience of the system. -
Related PR: #2952
Contributor: @Erica177
Change Log: Corrected the JSON tag for the Id field in the ToolSecurity struct from type to id, ensuring correct mapping during data serialization.
Feature Value: This fix addresses data inconsistency issues caused by incorrect field mapping, enhancing the stability and data accuracy of the system. -
Related PR: #2948
Contributor: @johnlanni
Change Log: Fixed the Azure service URL type detection logic to support custom full paths. Enhanced the handling of Azure OpenAI response APIs and improved edge case parsing in streaming events.
Feature Value: This ensures better compatibility with Azure OpenAI services, improves error handling and user experience, especially when using non-standard paths or streaming responses. -
Related PR: #2942
Contributor: @2456868764
Change Log: Fixed the issue of LLM provider being empty and optimized documentation and prompt messages. Specifically, updated README.md for better explanations and adjusted the default LLM model.
Feature Value: By enhancing the robustness of LLM provider initialization and optimizing related documentation, this improves the stability and user experience of the system, making it clearer for users to understand system configuration and usage. -
Related PR: #2941
Contributor: @rinfx
Change Log: This PR fixes compatibility issues with old configurations, ensuring the system can correctly handle outdated configuration parameters, avoiding potential errors due to configuration changes.
Feature Value: By supporting older version configurations, this enhances the system's backward compatibility, reducing inconvenience to users during upgrades or configuration adjustments, and improving the user experience.
- Related PR: #2945
Contributor: @rinfx
Change Log: Optimized the logic for selecting pods based on the minimum number of requests globally, updated the Lua script code related to ai-load-balancer, reducing unnecessary checks and improving performance.
Feature Value: By improving the minimum request count algorithm in load balancing strategies, this enhances the system's response speed and resource allocation efficiency, allowing users to utilize cluster resources more efficiently.
-
Related PR: #2965
Contributor: @CH3CHO
Change Log: Updated the description of the azureServiceUrl field in the ai-proxy plugin README file to provide clearer and more accurate information.
Feature Value: By improving the description in the documentation, users can better understand how to configure the Azure OpenAI service URL, thus enhancing the user experience and configuration accuracy. -
Related PR: #2940
Contributor: @github-actions[bot]
Change Log: This PR adds English and Chinese release notes for version 2.1.8, detailing 30 updates in this version.
Feature Value: By providing detailed release notes, users can more easily understand the new features, bug fixes, and other information included in the new version, allowing them to make better use of the new features.
- 🚀 New Features: 3
- 🐛 Bug Fixes: 5
- ♻️ Refactoring and Optimization: 1
- 📚 Documentation Updates: 2
Total: 11 changes
Thank you to all contributors for their hard work! 🎉
This release includes 4 updates, covering multiple aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 1
- Bug Fixes: 2
- Documentation Updates: 1
This release contains 1 significant update, which is recommended for special attention:
- feat: Support using a known service in OpenAI LLM provider (#589): This feature allows users to use predefined services within the OpenAI LLM, thereby enhancing development efficiency and flexibility, and meeting the needs of a wider range of application scenarios.
For more details, please refer to the Important Feature Details section below.
Below are detailed explanations of key features and improvements in this release:
Related PR: #589 | Contributor: @CH3CHO
Usage Background
As more organizations and services adopt large language models (LLMs), access and management of these models have become increasingly important. Especially when integration with specific known services, such as an on-premises OpenAI API server or a custom API endpoint, is required. This feature addresses the need for direct support of custom OpenAI services within the Higress system, allowing users to more flexibly configure and use their services. The target user groups include, but are not limited to, developers, operations personnel, and enterprises requiring highly customized solutions.
Feature Details
The update primarily focuses on the OpenaiLlmProviderHandler class, introducing support for custom service sources. By adding new configuration options like openaiCustomServiceName and openaiCustomServicePort, users can now directly specify the details of their custom OpenAI service. Additionally, the code has been improved so that if a custom upstream service is specified, a service source will not be created for the default service. This design not only simplifies the configuration process but also enhances the system's scalability. Technically, this is achieved by overriding the buildServiceSource and buildUpstreamService methods, which include checks for user-defined settings.
Usage Instructions
To enable and configure this new feature, users first need to provide the necessary custom service information in their OpenAI LLM provider settings. This typically involves filling in fields such as the custom service name, host address, and port number. The general steps are: 1. Locate the relevant LLM provider settings section in the Higress console or corresponding configuration file; 2. Enter the appropriate custom service details as prompted; 3. Save the changes. A typical use case might be a company wishing to use its own internally hosted OpenAI interface instead of the publicly available one. It is important to ensure that the provided custom service address is accurate and network-accessible.
Feature Value
This feature greatly enhances the adaptability of the Higress platform to different environments, especially for scenarios requiring high levels of customization. It not only improves the user experience—making the configuration process more intuitive and simple—but also promotes the overall stability and security of the system, as it now allows for the direct use of trusted internal resources. In the long run, such enhancements help build a more robust ecosystem, encouraging more innovative application development.
-
Related PR: #591
Contributor: @CH3CHO
Change Log: Fixed the issue where required fields were not properly validated when enabling route rewriting, ensuring that bothhostandnewPath.pathmust provide valid values when enabled.
Feature Value: This fix improves the accuracy and robustness of system configurations, preventing functional anomalies due to incomplete configurations and enhancing the user experience. -
Related PR: #590
Contributor: @CH3CHO
Change Log: Fixed an error in the Route.customLabels processing logic, ensuring that built-in labels are correctly excluded during updates.
Feature Value: Resolved the conflict between custom labels and built-in labels when updating Routes, improving the stability and user experience of the system.
- Related PR: #595
Contributor: @CH3CHO
Change Log: This PR updated the README.md file, removing non-project-level descriptions and adding code formatting guidelines.
Feature Value: By cleaning up irrelevant information and providing formatting suggestions, it helps developers better understand the project documentation, promoting consistency and readability in code contributions.
- 🚀 New Features: 1
- 🐛 Bug Fixes: 2
- 📚 Documentation Updates: 1
Total: 4 changes (including 1 significant update)
Thank you to all contributors for your hard work! 🎉
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.8...v2.1.9-rc.1
v2.1.8
This release includes 30 updates, covering various aspects such as feature enhancements, bug fixes, performance optimizations, and more.
- New Features: 13
- Bug Fixes: 7
- Refactoring and Optimization: 5
- Documentation Updates: 4
- Testing Improvements: 1
This release includes 2 major updates, which are highly recommended for your attention:
- feat: add rag mcp server (#2930): By introducing the RAG MCP server, this update provides a new way for users to manage and retrieve knowledge, enhancing the functionality and practicality of the system.
- refactor(mcp): use ECDS for golang filter configuration to avoid connection drain (#2931): Using ECDS for filter configuration avoids instability caused by directly embedding golang filter configurations, improving the system's stability and maintainability, and reducing unnecessary service interruptions for users.
For more details, please refer to the important features section below.
Below is a detailed description of the key features and improvements in this release:
Related PR: #2930 | Contributor: @2456868764
Use Case
In modern applications, knowledge management and retrieval have become increasingly important. Many systems require fast and accurate extraction and retrieval of information from large volumes of text data. RAG (Retrieval-Augmented Generation) technology combines retrieval and generation models to effectively enhance the efficiency and accuracy of knowledge management. This PR introduces a Model Context Protocol (MCP) server specifically for knowledge management and retrieval, meeting the needs of users for efficient information processing. The target user group includes enterprises and developers who need to handle large amounts of text data, especially in the fields of natural language processing (NLP) and machine learning.
Feature Details
This PR implements the RAG MCP server, adding multiple functional modules, including knowledge management, chunk management, search, and chat functions. The core features include:
- Knowledge Management: Supports creating knowledge blocks from text.
- Chunk Management: Provides functionalities for listing and deleting knowledge chunks.
- Search: Supports keyword-based search.
- Chat Function: Allows users to send chat messages and receive responses. Technically, the server uses several external libraries, such as
github.com/dlclark/regexp2,github.com/milvus-io/milvus-sdk-go/v2, andgithub.com/pkoukk/tiktoken-go, which provide regular expression handling, vector database management, and text encoding functionalities. Key code changes include adding an HTTP client, configuration files, and multiple processing functions to ensure the flexibility and configurability of the system.
Usage Instructions
To enable and configure the RAG MCP server, follow these steps:
- Enable the MCP server in the
higress-configconfiguration file and set the corresponding path and configuration items. - Configure the basic parameters of the RAG system, such as splitter type, chunk size, and overlap.
- Configure the LLM (Large Language Model) provider and its API key, model name, etc.
- Configure the embedding model provider and its API key, model name, etc.
- Configure the vector database provider and its connection information. Example configuration:
rag:
splitter:
type: "recursive"
chunk_size: 500
chunk_overlap: 50
top_k: 5
threshold: 0.5
llm:
provider: "openai"
api_key: "your-llm-api-key"
model: "gpt-3.5-turbo"
embedding:
provider: "openai"
api_key: "your-embedding-api-key"
model: "text-embedding-ada-002"
vectordb:
provider: "milvus"
host: "localhost"
port: 19530
collection: "test_collection"
Notes:
- Ensure all configuration items are correct, especially API keys and model names.
- In production environments, it is recommended to adjust parameters such as timeout appropriately to adapt to different network conditions.
Feature Value
The RAG MCP server provides a complete solution for knowledge management and retrieval, enhancing the intelligence and automation of the system. Specific benefits include:
- Improved Efficiency: Through integrated knowledge management and retrieval functions, users can quickly process and retrieve large volumes of text data, saving time and resources.
- Enhanced Accuracy: Combining RAG technology, the system can more accurately extract and retrieve information, reducing error rates.
- Flexible Configuration: Provides rich configuration options, allowing users to flexibly adjust according to actual needs, meeting the requirements of different scenarios.
- High Scalability: Supports multiple providers and models, making it easy for users to choose suitable components and technology stacks based on business needs.
- Stability Improvement: Through detailed configuration validation and error handling mechanisms, the stability and robustness of the system are ensured.
Related PR: #2931 | Contributor: @johnlanni
Use Case
In the current implementation, Golang filter configurations are directly embedded in the HTTP_FILTER patch, which can lead to connection drain when configurations change. The main reason is the inconsistent sorting of Go maps in the map[string]any field, and the listener configuration changes triggered by HTTP_FILTER updates. This issue affects the stability and user experience of the system. The target user group is developers and operations personnel using Higress for service mesh management.
Feature Details
This PR splits the configuration into two parts: HTTP_FILTER only contains filter references with config_discovery, while EXTENSION_CONFIG contains the actual Golang filter configuration. This way, configuration changes do not directly cause connection drain. The specific implementation includes updating the constructMcpSessionStruct and constructMcpServerStruct methods to return formats compatible with EXTENSION_CONFIG and updating unit tests to match the new configuration structure. The core innovation lies in using the ECDS mechanism to separate configurations, making configuration changes smoother.
Usage Instructions
Enabling and configuring this feature does not require any additional operations as it is automatically handled in the background. A typical use case is when configuring Golang filters in Higress; the system will automatically split them into HTTP_FILTER and EXTENSION_CONFIG. Users only need to configure Golang filters as usual. Note that when upgrading to the new version, ensure all related configuration files are updated and thoroughly tested in the production environment to ensure that configuration changes do not introduce other issues.
Feature Value
By separating configurations and using ECDS, this feature eliminates the connection drain problem during configuration changes, significantly improving the system's stability and user experience. Additionally, this design makes configurations easier to manage and maintain, reducing potential issues caused by configuration changes. For large-scale service mesh deployments, this improvement is particularly important as it reduces service interruptions caused by configuration changes, thereby enhancing the overall reliability and availability of the system.
-
Related PR: #2926
Contributor: @rinfx
Change Log: This PR adds support for multimodal, function calls, and thinking in vertex-ai, involving the introduction of a regular expression library and improvements to the processing logic.
Feature Value: By adding new features, vertex-ai can better support application needs in complex scenarios, such as multimodal data processing and more flexible function call methods, enhancing the system's flexibility and practicality. -
Related PR: #2917
Contributor: @Aias00
Change Log: This PR adds support for Fireworks AI, expanding the functionality of the AI agent plugin, including the addition of necessary configuration files and test code.
Feature Value: Adding support for Fireworks AI allows users to leverage the AI features provided by the platform, broadening the range of AI services that applications can integrate with, and enhancing the user experience. -
Related PR: #2907
Contributor: @Aias00
Change Log: This PR upgrades wasm-go to support outputSchema, involving dependency updates for jsonrpc-converter and oidc plugins.
Feature Value: By supporting outputSchema, the functionality and flexibility of the wasm-go plugin are enhanced, making it easier for users to handle and define output data structures. -
Related PR: #2897
Contributor: @rinfx
Change Log: This PR adds multimodal support and thinking functionality to the ai-proxy bedrock, achieved by extending the relevant code in bedrock.go.
Feature Value: The added multimodal and thinking support enriches the ai-proxy's feature set, enabling users to utilize more advanced AI technologies for complex scenarios, enhancing the system's flexibility and practicality. -
Related PR: #2891
Contributor: @rinfx
Change Log: This PR adds the ability to configure specific detection services for different consumers in the AI content security plugin, allowing users to customize request and response check rules according to their needs.
Feature Value: By supporting independent detection services for different consumers, this feature enhances the system's flexibility and security, enabling users to control the content review process more precisely, thus meeting diverse security policy requirements. -
Related PR: #2883
Contributor: @Aias00
Change Log: This PR adds support for Meituan Longcat, including integration with the Longcat platform and related unit tests.
Feature Value: Adding support for Meituan Longcat expands the plugin's functionality, allowing users to leverage more AI service providers' technologies, enhancing the flexibility and diversity of the application. -
Related PR: #2867
Contributor: @Aias00
Change Log: This PR adds support for Gzip configuration and updates the default settings. By adding gzip options in the Helm configuration file, users can customize compression parameters to optimize response performance.
Feature Value: Adding support for Gzip configuration allows users to adjust the compression level of HTTP responses according to their needs, helping to reduce the amount of transmitted data, speed up page loading, and improve the user experience. -
Related PR: #2844
Contributor: @Aias00
Change Log: This PR enhances the consistent hashing algorithm for load balancing by supporting useSourceIp, modifying the relevant Go code files, and adding an example configuration file.
Feature Value: The newly added useSourceIp option allows users to perform consistent hash load balancing based on source IP addresses, which helps to improve the stability and reliability of services under specific network conditions. -
Related PR: #2843
Contributor: @erasernoob
Change Log: This PR adds NVIDIA Triton server support to the AI agent plugin, including related configuration instructions and code implementation.
Feature Value: Adding support for the Triton server expands the AI agent plugin's feature set, allowing users to leverage high-performance machine learning inference services. -
Related PR: #2806
Contributor: @C-zhaozhou
Change Log: This PR makes ai-security-guard compatible with the MultiModalGuard interface, adding support for multimodal APIs and updating the relevant documentation.
Feature Value: By supporting multimodal APIs, the functionality of ai-security-guard is enhanced, enabling it to handle more complex content security scenarios, improving the user experience and security. -
Related PR: #2727
Contributor: @Aias00
Change Log: This PR adds end-to-end testing support for OpenAI, including test cases for non-streaming and streaming requests.
Feature Value: The added end-to-end testing for OpenAI ensures the system remains stable and accurate when handling different types of requests, improving the user experience. -
Related PR: #2593
Contributor: @Xscaperrr
Change Log: Adds the WorkloadSelector field to limit the scope of EnvoyFilter, ensuring that it does not affect other components in the same namespace in an open-source istio environment.
Feature Value: By limiting EnvoyFilter to only apply to the Higress Gateway, this feature prevents interference with other istio gateways/sidecars in the environment, enhancing the security and isolation of the configuration.
-
Related PR: #2938
Contributor: @wydream
Change Log: This PR fixes the issue where prompt attack detection fails due to the lack of AttackLevel field support in MultiModalGuard mode, ensuring that all levels of attacks are correctly identified.
Feature Value: By adding support for the AttackLevel field, the system's security is improved, preventing high-risk-level prompt attacks from going undetected, ensuring user experience and security. -
Related PR: #2904
Contributor: @johnlanni
Change Log: This PR fixes the issue where the original Authorization header might be overwritten when processing HTTP requests. By unconditionally saving and checking for non-empty before writing to the context, it ensures the accuracy and security of authentication information.
Feature Value: This fix improves the system's security and stability, preventing potential authentication failures or security vulnerabilities due to lost authentication information, enhancing user experience and trust. -
Related PR: #2899
Contributor: @Jing-ze
Change Log: This PR optimizes the MCP server, including pre-parsing the host pattern to reduce runtime overhead and removing the unused DomainList field. It also fixes the SSE message format issue, particularly the handling of extra newline characters.
Feature Value: By improving pattern matching efficiency and memory usage, as well as correcting errors in SSE messages, the user experience and service stability are enhanced, ensuring the correctness and integrity of data transmission. -
Related PR: #2892
Contributor: @johnlanni
Change Log: This PR corrects the JSON unmarshalling error when Claude API returns content in array format and removes redundant code structures, improving code quality and maintainability.
Feature Value: This resolves the message parsing failure due to incorrect data types, enhancing the system's stability and user experience. For users using array as the content format, this fix ensures a smooth message processing flow. -
Related PR: #2882
Contributor: @johnlanni
Change Log: This PR addresses the SSE event chunking issue in Claude's streaming response conversion logic, improving protocol auto-conversion and tool invocation state tracking.
Feature Value: It enhances the bidirectional conversion reliability between Claude and OpenAI-compatible providers, avoiding connection blocking, and enhancing the user experience. -
Related PR: #2865
Contributor: @Thomas-Eliot
Change Log: This PR solves the issue where SSE connections would be blocked when SSE events were split into multiple chunks. By adding a caching mechanism in the proxy mcp server scenario, it ensures the continuity of data stream processing.
Feature Value: This fix resolves the potential issue of SSE connection interruption, enhancing the system's stability and user experience. Users will no longer encounter incomplete data reception due to network conditions or server response methods. -
Related PR: #2859
Contributor: @lcfang
Change Log: This PR solves the issue of route configuration failure when the registered service instance ports are inconsistent by adding a vport element in the mcpbridge. The main changes include updating the CRD definition, protobuf files, and related generated code.
Feature Value: This feature ensures that even if the backend instance ports change, the service route configuration remains valid, thereby improving the system's stability and compatibility, providing a more reliable service experience for users.
-
Related PR: #2933
Contributor: @rinfx
Change Log: This PR removes duplicate think tags in bedrock and vertex, reducing redundant code and improving code readability and maintainability.
Feature Value: By removing unnecessary duplicate code, the overall quality and development efficiency of the project are improved, making the code structure clearer and easier to maintain and extend. -
Related PR: #2927
Contributor: @rinfx
Change Log: This PR modifies the API name extraction logic in the ai-statistics plugin, adjusting the check condition from a fixed length of 5 to at least 3 parts to enhance flexibility and compatibility.
Feature Value: By relaxing the restriction on API string splitting, the system's support for different format API strings is enhanced, improving the system's adaptability and stability. -
Related PR: #2922
Contributor: @daixijun
Change Log: This PR upgrades the Higress SDK package reference in the project fromgithub.com/alibaba/higresstogithub.com/alibaba/higress/v2to be compatible with the latest version.
Feature Value: By updating the package name, the project can introduce and use the latest features and improvements of Higress, enhancing development efficiency and code quality. -
Related PR: #2890
Contributor: @johnlanni
Change Log: This PR refactors thematchDomainfunction, introduces the HostMatcher struct and matching types, replaces regular expressions with simple string operations to improve performance, and implements port stripping logic.
Feature Value: By optimizing the host matching logic, the system performance and code maintainability are improved, making the handling of host headers with port numbers more accurate and efficient, enhancing the user experience.
-
Related PR: #2915
Contributor: @a6d9a6m
Change Log: This PR fixes a broken link in README_JP.md and adds missing parts in README.md, making the multilingual documentation more consistent.
Feature Value: This improves the accuracy and consistency of the documentation, helping users find relevant information more easily, enhancing the user experience. -
Related PR: #2912
Contributor: @hanxiantao
Change Log: This PR optimizes the English and Chinese documentation for the hmac-auth-apisix plugin, adding more detailed configuration explanations, and improving the clarity of the documentation.
Feature Value: By providing more detailed documentation, it helps developers better understand and use the hmac-auth-apisix plugin, improving the user experience. -
Related PR: #2880
Contributor: @a6d9a6m
Change Log: This PR fixes grammatical errors in README.md, README_JP.md, and README_ZH.md files, ensuring the correctness and consistency of the documentation.
Feature Value: By correcting language errors in the documentation, the quality and readability of the documentation are improved, helping users better understand project information. -
Related PR: #2873
Contributor: @CH3CHO
Change Log: This PR adds methods to obtain Higress runtime logs and configurations in the non-crash-safe vulnerability issue template, helping to better investigate problems.
Feature Value: By providing more detailed log and configuration information, users can more easily diagnose and resolve issues, improving the efficiency and accuracy of problem handling.
- Related PR: #2928
Contributor: @rinfx
Change Log: This PR updates the test code for the ai-security-guard component, adding new test cases and adjusting some existing test logic.
Feature Value: By improving the test coverage and accuracy of ai-security-guard, the stability and reliability of the entire project are enhanced, helping developers better understand and maintain related features.
- 🚀 New Features: 13
- 🐛 Bug Fixes: 7
- ♻️ Refactoring and Optimization: 5
- 📚 Documentation Updates: 4
- 🧪 Testing Improvements: 1
Total: 30 changes (including 2 major updates)
Thank you to all contributors for your hard work! 🎉
This release includes 4 updates, covering aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 1 item
- Bug Fixes: 2 items
- Documentation Updates: 1 item
This release contains 1 significant update, which is recommended for special attention:
- feat: Support using a known service in OpenAI LLM provider (#589): This feature allows users to utilize existing service resources within the OpenAI LLM provider, thereby enhancing the flexibility and usability of the system, offering more options to users.
For more details, please refer to the "Important Features in Detail" section below.
Here are detailed explanations of the important features and improvements in this release:
Related PR: #589 | Contributor: @CH3CHO
Usage Background
In many application scenarios, developers may wish to use their own custom OpenAI service instance instead of the default one. This could be due to specific security requirements, performance optimizations, or infrastructure constraints. This PR meets these needs by introducing support for known services. The target user group includes enterprise-level users and technical experts who require highly customized configurations. This feature addresses the issue of users not being able to flexibly choose and configure OpenAI services, improving the adaptability and user experience of the system.
Feature Details
This PR mainly implements the following:
- Allows users to specify a custom service when configuring the OpenAI LLM provider.
- Modifies the
OpenaiLlmProviderHandlerclass, adding thebuildServiceSourceandbuildUpstreamServicemethods to handle the logic for custom services. - Adds a delete method with an
internalparameter to theWasmPluginInstanceServiceinterface, supporting finer-grained control. - Updates the frontend internationalization resource files, adding prompts related to custom services. The key technical point lies in extending the existing architecture so that the system can recognize and use user-provided custom services while maintaining backward compatibility.
Usage Instructions
Enabling and configuring this feature is straightforward. First, when creating or updating an LLM provider, select the "Custom OpenAI Service" option and enter the corresponding service host and service path. Then, the system will automatically use these custom configurations to connect to the OpenAI service. Typical use cases include internally deployed OpenAI service instances within enterprises or environments requiring specific security policies. It's important to ensure that the entered URL is valid and that the service host and service path are correct. Best practice involves thorough testing to ensure that the custom configuration works as expected.
Feature Value
This new feature significantly enhances the flexibility and configurability of the system, allowing users to choose the most suitable OpenAI service based on their needs. For enterprise-level users who require high levels of customization, this flexibility is particularly crucial. Additionally, by supporting custom services, the system can better integrate into existing infrastructures, improving overall stability and performance. This is of great significance for maintaining and scaling large application systems. Overall, this feature not only enhances the user experience but also brings higher scalability and reliability to the system.
-
Related PR: #591
Contributor: @CH3CHO
Change Log: This PR fixes the issue where mandatory fields were not properly validated when enabling route rewrite configuration, ensuring that bothhostandnewPath.pathmust provide valid values to avoid configuration errors.
Feature Value: By correcting the validation logic for route rewrites, it prevents potential errors caused by incomplete configurations, enhancing the system's stability and user experience. -
Related PR: #590
Contributor: @CH3CHO
Change Log: Fixed an error in the Route.customLabels handling logic, ensuring that built-in labels are correctly excluded during updates.
Feature Value: Resolved the conflict between custom labels and built-in labels, ensuring flexibility and accuracy for users when updating route settings.
- Related PR: #595
Contributor: @CH3CHO
Change Log: Removed irrelevant descriptions from README.md and added a code formatting guide, making the documentation more focused on the project itself.
Feature Value: By updating README.md, users can more clearly understand the project structure and code formatting requirements, helping new contributors get up to speed quickly.
- 🚀 New Features: 1 item
- 🐛 Bug Fixes: 2 items
- 📚 Documentation Updates: 1 item
Total: 4 changes (including 1 significant update)
Thank you to all contributors for their hard work! 🎉
- @a6d9a6m made their first contribution in https://github.com/alibaba/higress/pull/2880
- @C-zhaozhou made their first contribution in https://github.com/alibaba/higress/pull/2806
- @Xscaperrr made their first contribution in https://github.com/alibaba/higress/pull/2593
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.7...v2.1.8
v2.1.7
This release includes 42 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 21 items
- Bug Fixes: 14 items
- Refactoring and Optimization: 4 items
- Documentation Updates: 2 items
- Testing Improvements: 1 item
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.
Here are the detailed descriptions of important features and improvements in this release:
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:
- Extend
load-balanceannotation: In theloadbalance.gofile, support for themcp-ssevalue is added, and theMcpSseStatefulfield is added to theLoadBalanceConfigstruct. - Simplified Configuration: Users only need to set
mcp-ssein thehigress.io/load-balanceannotation to enable this feature, with no additional configuration required. - 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:
- Enable the Feature: Add the
higress.io/load-balance: mcp-sseannotation to the Ingress resource. - 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
- Testing: Access the SSE endpoint using the
curlcommand 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:
- Session Consistency: Ensures that requests from the same client are always routed to the same backend service, maintaining session state consistency.
- Simplified Configuration: Enables the feature with simple annotation configuration, reducing the complexity of user configuration.
- 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.
- Reduced Operations Costs: Reduces errors and failures caused by inconsistent sessions, lowering the workload of the operations team.
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:
- Adding the
proxiesfield in theMcpBridgeresource definition to configure the list of proxy servers, and adding theproxyNamefield in theregistriesitem to associate the proxy server with the registry. - When creating or updating the
McpBridgeresource, the system automatically generates the corresponding EnvoyFilter resources, which define how to forward requests to the specified proxy server. - 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.
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, it is recognized as the OpenAI protocol; when the request path is /v1/messages, it is recognized as the Claude protocol. If the target provider does not support the native Claude protocol, the plugin converts the request from Claude format to OpenAI format, and vice versa. In the main.go file, new logic for automatic protocol detection based on the request path is added, and path replacements are made as necessary. Additionally, a new claude_to_openai.go file is added to implement the specific conversion logic from Claude to OpenAI protocol.
Usage Instructions
Enabling this feature is very simple; users just need to send requests as usual, with no additional configuration required. For example, for OpenAI protocol requests, the URL is http://your-domain/v1/chat/completions, and for Claude protocol requests, the URL is http://your-domain/v1/messages. The plugin will automatically detect and handle protocol conversion. If the target provider does not support the Claude protocol, the plugin will convert it to OpenAI format. Example configuration is as follows:
provider:
type: claude ## Provider natively supporting the Claude protocol
apiTokens:
- 'YOUR_CLAUDE_API_TOKEN'
version: '2023-06-01'
Notes: Ensure that the API token and version number are correctly configured so that the plugin can correctly identify and process the requests.
Feature Value
This feature significantly improves the usability and flexibility of the AI proxy plugin, reducing the user's configuration burden. Through automatic protocol detection and intelligent conversion, users can more easily switch between different AI service providers without worrying about protocol compatibility issues. This not only improves development efficiency but also enhances the stability and reliability of the system. Additionally, the feature supports streaming responses, further expanding its application scenarios, especially in cases requiring real-time interaction. In summary, this feature provides users with a more efficient and convenient way to integrate and manage multiple AI service providers.
-
Related PR: #2847
Contributor: @Erica177
Change Log: This PR adds a security mode for Nacos MCP, involving modifications tomcp_model.goandwatcher.gofiles, including the addition and adjustment of configuration options.
Feature Value: By adding security mode support, the security of Nacos MCP services is enhanced, allowing users to manage their microservice configurations in a more secure environment. -
Related PR: #2842
Contributor: @hanxiantao
Change Log: Added detailed Chinese and English documentation for the hmac-auth-apisix plugin and added corresponding test cases to ensure the stability and reliability of the newly added features.
Feature Value: By adding documentation and tests, the availability and stability of the hmac-auth-apisix plugin are improved, helping users better understand and use the HMAC authentication mechanism, enhancing API security. -
Related PR: #2823
Contributor: @johnlanni
Change Log: Added OpenRouter as an AI service provider, supporting access to various AI models through a unified API. Core implementations include support for chat completions and text completions.
Feature Value: By introducing OpenRouter, users can more flexibly choose different AI models and interact with them, simplifying the complexity of cross-platform AI service usage and enhancing the user experience. -
Related PR: #2815
Contributor: @hanxiantao
Change Log: This PR adds the hmac-auth-apisix plugin, implementing API request authentication functionality. It verifies the integrity and authenticity of requests by generating signatures using the HMAC algorithm.
Feature Value: The newly added hmac-auth-apisix plugin enhances system security, ensuring that only authenticated clients can access protected resources, improving the user experience and system protection capabilities. -
Related PR: #2808
Contributor: @daixijun
Change Log: Added support for the Anthropic API and the OpenAI v1/models interface, expanding the compatibility and functional scope of DeepSeek.
Feature Value: The introduction of new support allows users to leverage more artificial intelligence service options, enhancing the system's flexibility and practicality. -
Related PR: #2805
Contributor: @johnlanni
Change Log: Added a JSON-RPC protocol conversion plugin, capable of extracting request and response information from MCP protocol to headers, facilitating further observation, rate limiting, and authentication processing.
Feature Value: This feature allows users to utilize JSON-RPC for higher-level policy control in A2A protocols, such as authentication and traffic management, thereby enhancing the system's flexibility and security. -
Related PR: #2788
Contributor: @zat366
Change Log: This PR updates the dependencygithub.com/higress-group/wasm-goin mcp-server to support MCP plugin responses with images. This is achieved by updating thego.modandgo.sumfiles.
Feature Value: The new feature allows MCP plugins to handle and respond to image data, enhancing the system's multimedia processing capabilities and providing users with richer content display options. -
Related PR: #2769
Contributor: @github-actions[bot]
Change Log: This PR updates the CRD files in thehelmfolder, adding new attribute definitions forproxies.
Feature Value: By updating the CRD files to add new attributes, the Kubernetes resource definitions become more enriched and complete, enhancing the system's configuration flexibility and extensibility. -
Related PR: #2761
Contributor: @johnlanni
Change Log: This PR introduces two new deduplication strategies:SPLIT_AND_RETAIN_FIRSTandSPLIT_AND_RETAIN_LAST, used to retain the first and last elements of comma-separated header values, respectively.
Feature Value: The new strategies provide users with more granular control options, allowing them to choose to retain specific position data during deduplication operations, thus better meeting diverse needs. -
Related PR: #2739
Contributor: @WeixinX
Change Log: Added a new plugin configuration fieldreroute, allowing users to control whether to disable route reselection. This feature is implemented by modifying the main configuration file and adding relevant test cases.
Feature Value: This feature provides users with a way to finely control the routing behavior during request processing, enhancing the system's flexibility and configurability, and meeting the needs of specific scenarios. -
Related PR: #2730
Contributor: @rinfx
Change Log: This PR adds tool usage support for the Bedrock service by modifying the structures and logic inbedrock.goand other files, enabling the system to handle tool-related requests.
Feature Value: The new feature allows users to effectively utilize tool invocation capabilities in the Bedrock environment, enhancing the system's flexibility and functionality, and better meeting the needs of applications that require external tool integration. -
Related PR: #2729
Contributor: @rinfx
Change Log: This PR adds a length limit for each value in the AI statistics plugin, automatically truncating when the length exceeds the set limit. This helps reduce memory usage when processing large files such as base64-encoded images and videos.
Feature Value: By limiting and truncating overly long data values, this feature can effectively prevent memory overflow issues caused by logging large media files, thereby improving system stability and performance. -
Related PR: #2713
Contributor: @Aias00
Change Log: This PR adds Grok provider support for the AI proxy, including the addition of Grok Go files and updates to related documentation.
Feature Value: By integrating Grok as a new AI provider, users can now leverage Grok's AI capabilities to process requests, increasing the system's flexibility and functional diversity. -
Related PR: #2712
Contributor: @SCMRCORE
Change Log: Added support for the Gemini model thinking function, specifically adapting to the 2.5 Flash, 2.5 Pro, and 2.5 Flash-Lite models.
Feature Value: This enhancement improves the functionality of the AI proxy plugin, allowing users to utilize specific Gemini models for more complex thinking tasks, enhancing the user experience and application scope. -
Related PR: #2704
Contributor: @hanxiantao
Change Log: This PR implements the functionality of Rust WASM plugin support for Redis database configuration options and improves thedemo-wasmto retrieve Redis configuration from the Wasm plugin configuration.
Feature Value: This feature allows developers to more flexibly configure and integrate Redis databases when using Rust WASM plugins, improving development efficiency and the configurability of applications. -
Related PR: #2698
Contributor: @erasernoob
Change Log: Implemented support for multimodal data in the Gemini model, adding the ability to handle images and text. This is achieved by introducing new dependencies and modifying existing code logic.
Feature Value: This enhancement strengthens the functionality of the AI proxy plugin, allowing it to support more complex multimodal data processing, providing users with a richer and more flexible AI service experience. -
Related PR: #2696
Contributor: @rinfx
Change Log: This PR introduces streaming response support when the content security plugin is enabled, adjusting the detection frequency via thebufferLimitparameter to improve the flexibility and efficiency of content detection.
Feature Value: The new streaming response feature allows users to more efficiently handle content security detection, reducing latency and improving the user experience, especially in scenarios requiring real-time feedback. -
Related PR: #2671
Contributor: @Aias00
Change Log: Implemented path suffix and content type filtering functionality to address performance and resource management issues in the ai-statistics plugin. By introducing the SkipProcessing mechanism, it avoids indiscriminate processing of all requests and reduces unnecessary response body caching.
Feature Value: This enhancement improves the selective processing capability of the AI statistics plugin, enhancing system performance and optimizing resource usage efficiency. It is particularly beneficial for scenarios with a large number of complex API requests, significantly improving the user experience.
-
Related PR: #2816
Contributor: @Asnowww
Change Log: This PR corrects a spelling error in thescanners-user-agents.datafile, changing 'scannr' to 'scanner'.
Feature Value: Correcting spelling errors in the documentation improves the accuracy and readability of the document, helping users better understand and use the related features. -
Related PR: #2799
Contributor: @erasernoob
Change Log: This PR fixes the wasm-go-build plugin build command to ensure that all files in the directory are included during compilation, solving the compilation failure issue caused by missing dependencies.
Feature Value: By fixing the build command, this PR prevents compilation errors due to missing files, enhancing the stability and reliability of the build process and providing a better development experience for developers. -
Related PR: #2787
Contributor: @co63oc
Change Log: This PR fixes a spelling error in theRegisteTickFuncfunction, ensuring the correctness of the timer task registration. By correcting the function name, it avoids potential functional failures.
Feature Value: This fix corrects the issue where timer tasks could not be registered correctly due to a spelling error, enhancing the system's stability and reliability and ensuring that applications dependent on timer task execution run as expected. -
Related PR: #2786
Contributor: @CH3CHO
Change Log: This PR removes theaccept-encodingheader when the mcp-session filter handles SSE transport requests, solving the issue of incorrect handling of compressed response body data.
Feature Value: This fix ensures that the MCP server can work correctly when using SSE transport upstream, avoiding data parsing errors due to compression and enhancing the system's stability and reliability. -
Related PR: #2782
Contributor: @CH3CHO
Change Log: This PR fixes the issue of the Azure URL configuration component being unexpectedly changed, ensuring the correctness and consistency of the URL components by defining a new enum typeazureServiceUrlType.
Feature Value: This fix ensures that users can maintain their original Azure service URL configuration when using the AI proxy, avoiding service call failures or inconsistencies due to incorrect changes. -
Related PR: #2757
Contributor: @Jing-ze
Change Log: This PR fixes the issue with the mcp server building Envoy filter unit tests, ensuring the correctness and stability of the test cases.
Feature Value: By fixing the errors in the unit tests, this PR enhances the reliability and maintainability of the code, helping developers better perform subsequent development and debugging work. -
Related PR: #2755
Contributor: @CH3CHO
Change Log: This PR fixes the issue where adding duplicate IPs in the ip-restriction configuration would throw an error, by ignoring the error for existing IPs and displaying the specific error details from iptree.
Feature Value: Allowing duplicate entries in the IP restriction list improves configuration flexibility and user experience while ensuring that other types of errors are still handled effectively. -
Related PR: #2754
Contributor: @Jing-ze
Change Log: This PR corrects the stopping and buffering issues when decoding data in golang-filter, ensuring a more stable data processing flow.
Feature Value: This fix resolves errors in the data decoding process, enhancing the system's reliability and user experience, and preventing potential data loss or processing anomalies. -
Related PR: #2743
Contributor: @Jing-ze
Change Log: This PR fixes the error when settingip_source_typetoorigin-source, ensuring that the IP restriction feature can be correctly configured based on the source type.
Feature Value: This fix resolves the issue of incorrect IP source type settings under specific conditions, enhancing the system's stability and security, and allowing users to more reliably use the IP restriction feature. -
Related PR: #2723
Contributor: @CH3CHO
Change Log: This PR corrects the functional anomaly in the C++ Wasm plugin due to using an incorrect attribute name in the_match_service_rule, restoring the rule by modifying it to the correct attribute name.
Feature Value: This fix resolves the service routing issue caused by an incorrect matching rule, enhancing the system's stability and accuracy, and ensuring that users can correctly access the desired services. -
Related PR: #2706
Contributor: @WeixinX
Change Log: This PR fixes the issue where the transformer performs an add operation when the key does not exist, and adds test cases for mapping operations, ensuring correct transformations from headers/query to body and from body to headers/query.
Feature Value: This fix enhances the system's stability and reliability, preventing erroneous data operations, and boosting user confidence in the data processing logic, thereby improving the user experience. -
Related PR: #2663
Contributor: @CH3CHO
Change Log: This PR fixes the error in the bedrock model name escaping logic, removes unnecessary URL encoding in the request body, and ensures that the response matches expectations.
Feature Value: By correcting the name escaping logic issue, this fix enhances the system's stability and compatibility, ensuring that users do not encounter issues due to mismatched escaping during use. -
Related PR: #2653
Contributor: @johnlanni
Change Log: This PR fixes the issue where the AI route fallback function fails when using Bedrock. It ensures that the path can be correctly obtained even when headers are nil, avoiding null pointer exceptions.
Feature Value: This fix resolves the issue of request rejection due to signature verification failure under specific conditions, enhancing the system's stability and reliability, and ensuring that users can smoothly access the service. -
Related PR: #2628
Contributor: @co63oc
Change Log: This PR corrects spelling errors in multiple files, involving 5 files and 36 lines of code, ensuring the accuracy of the documentation and comments.
Feature Value: Correcting spelling errors enhances the professionalism of the codebase, allowing developers to more accurately understand the content when reading the documentation, thereby reducing errors caused by misunderstandings.
-
Related PR: #2777
Contributor: @StarryVae
Change Log: Updated the ai-prompt-decorator plugin to the new encapsulated API, improving the initialization configuration and the way the request header handling method is called.
Feature Value: This refactoring enhances the consistency and maintainability of the code, making it easier for developers to integrate and use the ai-prompt-decorator feature. -
Related PR: #2773
Contributor: @CH3CHO
Change Log: Refactored the path-to-API-name mapping logic in ai-proxy, introducing regular expressions to simplify the mapping process, and added test cases to verify the correctness of the functionality.
Feature Value: By optimizing the path mapping logic structure, this refactoring enhances the maintainability and extensibility of the code, making it easier to support more paths, indirectly improving the system's flexibility and user experience. -
Related PR: #2740
Contributor: @CH3CHO
Change Log: This PR downgrades some log levels fromwarntoinfoin theai-statisticscomponent to more accurately reflect the actual importance of these log messages.
Feature Value: By adjusting the log levels, this change makes the log records more in line with actual needs, helping to reduce false alarms when users view the logs and improve the user experience. -
Related PR: #2711
Contributor: @johnlanni
Change Log: This PR deprecates the use of slashes as separators in the mcp server and tool, adopting a format that better conforms to function naming conventions. This includes updating some of the library's dependency versions and making adjustments to the relevant files.
Feature Value: By adhering to standard function naming conventions, this change enhances the consistency and readability of the code, helping to reduce future maintenance costs and minimizing potential errors due to non-compliant naming.
-
Related PR: #2770
Contributor: @co63oc
Change Log: Corrected spelling errors in multiple files, including test files, README, and variable names and configuration item names in Go code.
Feature Value: This improves the accuracy and readability of the documentation, ensuring the consistency and user experience of the code. For users of the plugin, these changes help avoid confusion or configuration issues caused by spelling errors. -
Related PR: #2693
Contributor: @github-actions[bot]
Change Log: This PR adds detailed English and Chinese release notes for version 2.1.6, including an overview of new features, bug fixes, and refactoring optimizations.
Feature Value: The added release notes allow users to better understand the important updates and improvements in the current version, enhancing the user experience and transparency of the system.
- Related PR: #2809
Contributor: @Jing-ze
Change Log: Added unit tests for multiple Wasm extensions and introduced CI/CD workflows to automate these tests, ensuring code quality and stability.
Feature Value: This improves the reliability of Wasm plugins by adding comprehensive unit tests and automated CI/CD processes, helping developers quickly identify and fix issues, thereby enhancing the user experience.
- 🚀 New Features: 21 items
- 🐛 Bug Fixes: 14 items
- ♻️ Refactoring and Optimization: 4 items
- 📚 Documentation Updates: 2 items
- 🧪 Testing Improvements: 1 item
Total: 42 changes (including 3 significant updates)
Thank you to all the contributors for their hard work! 🎉
This release includes 12 updates, covering multiple aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 5 items
- Bug Fixes: 5 items
- Refactoring and Optimization: 2 items
-
Related PR: #585
Contributor: @johnlanni
Change Log: This PR adds a new AI service provider and updates the list of available models, including updating translation files to support the newly added provider.
Feature Value: By introducing more AI service providers and updating the model list, users now have access to a wider range of service options, enhancing the system's flexibility and usability. -
Related PR: #582
Contributor: @Thomas-Eliot
Change Log: Added support for the ai-load-balancer plugin, enabling visual configuration in higress-console and defining its priority within the system.
Feature Value: By providing white-screen configuration options, it greatly improves the efficiency and flexibility of managing AI load balancers, lowering the barrier to use. -
Related PR: #579
Contributor: @JayLi52
Change Log: This update adds support for PostgreSQL and ClickHouse databases to the MCP server management function, while optimizing the MySQL database connection string format and fixing some database connection-related issues.
Feature Value: The addition of new database support expands the application scope of MCP, allowing users to choose the most suitable database type flexibly, improving the system's compatibility and user experience. -
Related PR: #572
Contributor: @CH3CHO
Change Log: This PR adds the functionality to manage proxy servers, including new classes and service controllers, allowing users to configure and manage proxy servers.
Feature Value: With the added support, users can more flexibly manage and configure proxy servers, increasing the system's flexibility and availability. -
Related PR: #565
Contributor: @Aias00
Change Log: This PR improves MCP server management tasks 6 and 7, including updating the README.md documentation, modifying the system service implementation code, and optimizing the ConfigMap handling logic.
Feature Value: By improving the MCP server management features, it enhances the system's stability and maintainability, simplifying the management of Higress configurations and improving the user experience.
-
Related PR: #584
Contributor: @CH3CHO
Change Log: Fixed an error that occurred when authentication was enabled but no allowed consumers were present, including incorrectly clearing the list of allowed consumers and displaying incorrect authentication status.
Feature Value: Ensures that the authentication feature works correctly even without allowed consumers, and the user interface accurately reflects the current authentication status. -
Related PR: #581
Contributor: @hongzhouzi
Change Log: Fixed an NPE exception that occurred during the update of the openapi mcp server and corrected the PostgreSQL enumeration values to ensure consistency with constants in Higress.
Feature Value: Improves the system's stability and reliability by resolving the NPE issue, and the consistency of enumeration values improves the accuracy of configuration management, reducing potential error sources. -
Related PR: #577
Contributor: @CH3CHO
Change Log: Synchronized the domain name regex validation patterns between the front-end and back-end, ensuring that long top-level domains liketest.internalare accepted, involving minor code changes and the addition of test cases.
Feature Value: Resolves the issue where some valid domain names could not pass due to inconsistent domain validation rules between the front-end and back-end, enhancing the system's compatibility and user experience. -
Related PR: #574
Contributor: @CH3CHO
Change Log: Fixed a logical error when filtering V1alpha1WasmPlugin based on the internal flag, ensuring that non-internal instances are not mistakenly returned.
Feature Value: Improves system accuracy, ensuring that users get the correct list of plugin instances, avoiding data inconsistency issues caused by logical errors. -
Related PR: #570
Contributor: @CH3CHO
Change Log: Corrected a spelling mistake that caused a 'Cannot read properties of undefined' error when editing an OpenAI type LLM provider.
Feature Value: By fixing this issue, it prevents runtime errors when configuring OpenAI service providers, improving the system's stability and user experience.
-
Related PR: #573
Contributor: @CH3CHO
Change Log: Refactored the authentication module for MCP server integration, allowing regular routes and MCP servers to share the same authentication logic. Major changes include adding, removing, and modifying code in multiple files.
Feature Value: By refactoring the authentication module, it unifies the authentication logic, improving code maintainability and reusability, reducing redundant code, and contributing to the overall stability and performance of the system. -
Related PR: #571
Contributor: @JayLi52
Change Log: Optimized the performance of the EditToolDrawer, McpServerCommand, and MCPDetail components by updating the way the Monaco editor is imported and configuring on-demand loading.
Feature Value: Improves the application's loading speed and response efficiency, reduces unnecessary resource consumption, and enhances the user experience.
- 🚀 New Features: 5 items
- 🐛 Bug Fixes: 5 items
- ♻️ Refactoring and Optimization: 2 items
Total: 12 changes
Thanks to all contributors for their hard work! 🎉
- @SCMRCORE made their first contribution in https://github.com/alibaba/higress/pull/2712
- @zat366 made their first contribution in https://github.com/alibaba/higress/pull/2788
- @Asnowww made their first contribution in https://github.com/alibaba/higress/pull/2816
Full Changelog: https://github.com/alibaba/higress/compare/v2.1.6...v2.1.7
v2.1.6
This release includes 31 updates, covering enhancements, bug fixes, performance optimizations, and more.
- New Features: 13 items
- Bug Fixes: 5 items
- Refactoring and Optimization: 7 items
- Documentation Updates: 5 items
- Testing Improvements: 1 item
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.
Below are the detailed descriptions of the important features and improvements in this release:
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:
- Added the HigressClient class to handle interactions with the Higress Console API.
- 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).
- Modified relevant configuration files and README documentation, providing detailed configuration examples and usage instructions.
- 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:
- Add the MCP Server configuration in the Higress ConfigMap, specifying the URL, username, and password of the Higress Console.
- When starting the Higress Gateway, ensure that
mcpServer.enableis set totrue. - Use the provided tool commands (e.g.,
list-routes,add-route) to manage routes, service origins, and plugins. - 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:
- 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.
- 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.
- Increased System Stability: Automated configuration management reduces the possibility of human errors, thereby enhancing the stability and reliability of the system.
- 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.
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.
-
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 the integration with the Nacos MCP registry, allowing the use of custom response templates in case of errors, thus 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-versionparameter is always required. The changes involve modifying and adding code in several Go files, including request header and path parsing.
Feature Value: This enhancement improves the integration capability of the plugin with Azure OpenAI services, allowing users to deploy their models with more diverse URL configurations, thereby enhancing 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 the relevant code logic in the qwen.go file.
Feature Value: Adds support for the Anthropic message interface, enabling users to proxy more artificial intelligence services through Qwen, thus expanding the system's application scope and functionality. -
Related PR: #2585
Contributor: @akolotov
Change Log: This PR provides a configuration file for the Blockscout MCP server, including detailed README documentation and YAML format configuration settings.
Feature Value: By integrating the Blockscout MCP server, users can more conveniently inspect and analyze EVM-compatible blockchains, enhancing the system's functionality and user experience. -
Related PR: #2551
Contributor: @daixijun
Change Log: This PR adds support for the 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 different AI service providers, enhancing the system's diversity and availability. -
Related PR: #2542
Contributor: @daixijun
Change Log: This PR adds token usage statistics for images, audio, and responses interfaces and defines related utility functions as public to reduce code duplication.
Feature Value: By supporting token usage statistics for more interfaces, users can more comprehensively understand and manage resource consumption, thereby optimizing cost control. -
Related PR: #2537
Contributor: @wydream
Change Log: This PR adds support for the Qwen model's text reordering feature in the AI proxy plugin by introducing a new API path.
Feature Value: The new Qwen text reordering feature expands the platform's text processing capabilities, allowing users to leverage more advanced models for content optimization and sorting. -
Related PR: #2535
Contributor: @wydream
Change Log: This PR introduces thebasePathandbasePathHandlingoptions for flexible handling of request paths. Users can decide how to usebasePathby settingremovePrefixorprepend.
Feature Value: The new options allow users to more flexibly manage the path mapping between the API gateway and backend services, enhancing the system's adaptability and flexibility. -
Related PR: #2499
Contributor: @heimanba
Change Log: This PR introduces theUseManifestAsEntryfield in the GrayConfig structure, updates the relevant functions to support this configuration, and modifies the README documentation and HTML response handling logic.
Feature Value: The newuseManifestAsEntryconfiguration option allows users to more flexibly control whether to use caching for homepage requests, thereby enhancing the system's flexibility and user experience.
-
Related PR: #2687
Contributor: @Thomas-Eliot
Change Log: Fixed an SQL error that occurred when the mcp client used the describeTable tool, ensuring the correctness of the Postgres table description function.
Feature Value: This fix improves the system's stability and reliability, ensuring that users can accurately obtain table information when interacting with the mcp-server and Postgres database, enhancing the user experience. -
Related PR: #2662
Contributor: @johnlanni
Change Log: Resolved two issues in Envoy: fixed a memory leak in proxy-wasm-cpp-host and a 404 error caused by incorrect port mapping when ppv2 was enabled.
Feature Value: By fixing the memory leak and port mapping issues, the system's stability and reliability are improved, reducing resource waste and ensuring correct routing configuration. -
Related PR: #2656
Contributor: @co63oc
Change Log: This PR corrects spelling errors in multiple files, including constant names, function names, and plugin names, ensuring code consistency and readability.
Feature Value: By fixing these spelling errors, the code quality is improved, avoiding potential logical errors or compilation failures due to inconsistent naming, and enhancing the system's stability and user experience. -
Related PR: #2623
Contributor: @Guo-Chenxu
Change Log: Fixed an issue caused by special characters during translation by adjusting the method of generating and processing JSON data to avoid potential JSON structure corruption.
Feature Value: This fix ensures that content containing special characters can be correctly processed and displayed, thereby improving the system's stability and user experience. -
Related PR: #2507
Contributor: @hongzhouzi
Change Log: Corrected an error when compiling golang-filter.so on arm64 architecture due to the installation of x86 toolchains, by ensuring the installation of tools matching the target architecture.
Feature Value: This fix resolves the compilation issue on specific hardware architectures (arm64), allowing the project to be successfully built on a wider range of processors, increasing software compatibility and user base.
-
Related PR: #2673
Contributor: @johnlanni
Change Log: Improved thefindEndpointUrlfunction to handle multiple SSE messages, not just the first one. This involved optimizing the code logic and adding new unit tests.
Feature Value: This enhancement strengthens the MCP endpoint parser's functionality, making it more robust and better compatible with different message formats sent by backend services, improving the system's stability and user experience. -
Related PR: #2661
Contributor: @johnlanni
Change Log: This PR relaxes the DNS service domain validation rules by modifying the regular expression to allow more flexible domain formats.
Feature Value: Relaxing domain validation helps improve the system's flexibility and compatibility, allowing users to use more diverse domain configurations, thereby enhancing the user experience. -
Related PR: #2639
Contributor: @johnlanni
Change Log: This PR optimizes the request processing flow by disabling rerouting in specific plugins. Specifically, it setsctx.DisableReroutein official plugins that do not require route re-matching.
Feature Value: This optimization improves the performance of the plugins, reducing unnecessary route redirections and enhancing the overall efficiency and response speed of the application, providing a smoother experience for users. -
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 more concise and clear, helping to reduce potential maintenance costs while maintaining the stability of existing features. -
Related PR: #2598
Contributor: @johnlanni
Change Log: This PR updates the Go version in the WASM builder image to 1.24.4 and simplifies the contents of the DockerfileBuilder file.
Feature Value: By upgrading the Go version and cleaning up unnecessary code, the performance and security of the build environment are improved, allowing users to take advantage of the latest Go language features and security fixes. -
Related PR: #2564
Contributor: @rinfx
Change Log: Optimized the location of the minimum request count logic, moving it to streamdone, and improved the counting comparison logic in the Redis Lua script.
Feature Value: This improvement enhances the system's stability and accuracy under abnormal conditions, ensuring the correct implementation of request counting and load balancing strategies, and improving the user experience.
-
Related PR: #2675
Contributor: @Aias00
Change Log: Fixed some broken links in the project documentation, ensuring that users can access the correct links, improving the usability and accuracy of the documentation.
Feature Value: By fixing the broken links in the documentation, users can more easily find and use the relevant resources, enhancing the user experience and overall quality of the documentation. -
Related PR: #2668
Contributor: @Aias00
Change Log: Improved the README documentation for the Rust plugin development framework, adding a detailed development guide, including environment requirements, build steps, and testing methods.
Feature Value: This improvement enhances the maintainability and usability of the project, allowing new developers to get started quickly 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 and introduces markdown forced line breaks to improve the readability and completeness of the documentation.
Feature Value: By adding the contributor list and full changelog, as well as improving the Markdown format, the project documentation becomes clearer and more readable, making it easier for users to understand the latest updates and contributors' 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 the new features and improvements of Higress, enabling them to use the software more effectively. -
Related PR: #2586
Contributor: @erasernoob
Change Log: Updated the README file for the wasm-go plugin, removed TinyGo-related configurations, adjusted the Go version requirement to 1.24 or higher to support WASM build features, and cleaned up unused code paths.
Feature Value: By updating the documentation and environment configuration requirements, developers can correctly set up their development environment to compile the wasm-go plugin, avoiding issues caused by incompatible language versions or dependencies.
- Related PR: #2596
Contributor: @Guo-Chenxu
Change Log: This PR adds a new GitHub Actions workflow file to automatically generate and submit a PR for release notes during the release process. The process is based on the higress-report-agent.
Feature Value: This feature greatly simplifies the documentation maintenance work during the release process, improves the team's efficiency, and ensures that each version release has detailed change records for users to reference.
- 🚀 New Features: 13 items
- 🐛 Bug Fixes: 5 items
- ♻️ Refactoring and Optimization: 7 items
- 📚 Documentation Updates: 5 items
- 🧪 Testing Improvements: 1 item
Total: 31 changes (including 2 major updates)
Thank you to all the contributors for their hard work! 🎉
This release includes 12 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 6
- Bug Fixes: 5
- Refactoring and Optimization: 1
-
Related PR: #562
Contributor: @CH3CHO
Change Log: This PR implements the functionality to configure multiple routes in a single route or AI route, modifies the relevant backend and frontend code, and enhances the Kubernetes model converter.
Feature Value: It supports adding multiple sub-routes in a single route configuration, providing users with more flexible route management capabilities, enhancing the system's configuration flexibility and user experience. -
Related PR: #560
Contributor: @Erica177
Change Log: This PR adds JSON Schema for multiple plugins, including AI agent, AI cache, etc., defining the structure and properties of plugin configurations, which helps 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 misconfiguration, thus improving the user experience. -
Related PR: #555
Contributor: @hongzhouzi
Change Log: Added execution, list display, and table description tool configuration features for the DB MCP Server, ensuring consistency between console settings and those in higress-gateway.
Feature Value: Users can now view and manage the configuration information of the DB MCP Server tools through the console, enhancing the system's visual management and consistency. -
Related PR: #550
Contributor: @CH3CHO
Change Log: This PR updates the logic for AI route configuration after updating specific types of LLM providers, ensuring that the routes are correctly synchronized when the upstream service name changes.
Feature Value: By automatically updating AI route configurations to adapt to service name changes after certain LLM provider type modifications, it enhances the system's flexibility and stability, reducing the need for manual adjustments. -
Related PR: #547
Contributor: @CH3CHO
Change Log: Added undo/redo functionality in the system configuration page by introducing forwardRef and useImperativeHandle to support new APIs for the code editor component.
Feature Value: The newly added undo/redo feature improves the operational flexibility of users during system configuration, reducing inconvenience caused by errors and enhancing the 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 benefit from performance optimizations and additional features in the new version.
-
Related PR: #559
Contributor: @KarlManong
Change Log: This PR corrects the line endings of all files in the project except binary and cmd files, unifying them to LF format, avoiding issues caused by inconsistent newline characters.
Feature Value: By unifying the line endings to LF, it improves the consistency and compatibility of the code, reducing problems caused by newline character differences, especially in cross-platform development environments. -
Related PR: #554
Contributor: @CH3CHO
Change Log: Fixed UI issues in the LLM provider management module, including the missing scheme for Google Vertex service endpoint and the form state not being reset after canceling the add provider operation.
Feature Value: By fixing these issues, it improves the user experience when managing and configuring LLM providers, ensuring the consistency and accuracy of the interface and its functions. -
Related PR: #549
Contributor: @CH3CHO
Change Log: This PR ensures that the latest plugin configuration is always loaded when opening the configuration drawer, achieved by modifying the data retrieval logic in useEffect.
Feature Value: It resolves potential issues where user operations were based on outdated configurations due to untimely updates, improving the user experience and the system's response accuracy. -
Related PR: #548
Contributor: @CH3CHO
Change Log: This PR corrects the issue of not trimming leading and trailing whitespace characters from the Wasm image URL before submission, ensuring the URL's validity.
Feature Value: By removing extra spaces from the Wasm image URL, it improves data accuracy, preventing loading failures due to formatting issues, thereby enhancing the user experience. -
Related PR: #544
Contributor: @CH3CHO
Change Log: Fixed the issue of incorrect error messages displayed when enabling authentication but not selecting a consumer, by updating the translation files and adjusting the code logic to ensure proper error prompts.
Feature Value: This fix improves the system's usability and user experience, ensuring that users receive accurate feedback when configuring services, avoiding confusion caused by misleading error messages.
- Related PR: #551
Contributor: @JayLi52
Change Log: Removed the disabled state for host and port fields in database configurations, changed the default API gateway URL from https to http, and updated the API gateway URL display logic in the MCP detail page.
Feature Value: These changes enhance the system's flexibility and user-friendliness, allowing users to customize more configuration options and ensuring that the UI is consistent with backend behavior, improving the user experience.
- 🚀 New Features: 6
- 🐛 Bug Fixes: 5
- ♻️ Refactoring: 1
Total: 12 changes
Thank you to all contributors for your hard work! 🎉
v2.1.5
This release includes 41 updates, covering various aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 19
- Bug Fixes: 14
- Refactoring Optimizations: 2
- Documentation Updates: 6
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.
Here is a detailed description of the important features and improvements in this release:
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.
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.
-
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_keyandas_separate_log_fieldconfiguration 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. Feature Value: This feature allows users to customize error response templates based on actual conditions, enhancing the system's flexibility and user experience, especially by providing friendlier feedback in handling exceptions.
-
Related PR: #2460 Contributor: @erasernoob Change Log: This PR modified the message endpoint sending logic in the mcp-session plugin's SSE server, allowing it to pass query parameters to the REST API server and URL-encode the sessionID. Feature Value: By supporting the SSE server to pass query parameters to the REST API server, the system's flexibility and functional integration capabilities have been enhanced, making it easier for users to customize service requests.
-
Related PR: #2450 Contributor: @kenneth-bro Change Log: Added a sector market MCP Server, integrating the latest real-time market data and constituent stock information for industry and concept sectors. Feature Value: Provides users with detailed market data analysis tools, helping investors track the performance of industry and concept sectors in real time and make more informed investment decisions.
-
Related PR: #2440 Contributor: @johnlanni Change Log: This PR fixed two issues in istio and envoy and added a new wasm API to support injecting encoding filter chains during the encodeHeader phase. Feature Value: By addressing consistency hashing-related issues and providing a new API, this update enhances the system's stability and flexibility, allowing users to more finely control the request processing process.
-
Related PR: #2431 Contributor: @mirror58229 Change Log: This PR added default route support for WANX image and video synthesis and updated the relevant README files to reflect these changes. Feature Value: By introducing default route support, users can more flexibly handle WANX image and video synthesis requests, enhancing the system's availability and user experience.
-
Related PR: #2424 Contributor: @wydream Change Log: This PR added support for the OpenAI Fine-Tuning API in the ai-proxy plugin, including path routing, capability configuration, and related constant definitions. Feature Value: By introducing support for the Fine-Tuning API, users can now leverage this service for more advanced model fine-tuning tasks, enhancing the system's flexibility and functionality.
-
Related PR: #2409 Contributor: @johnlanni Change Log: Added a Wasm-Go plugin named mcp-router, supporting dynamic routing for MCP tool requests, including the creation of Dockerfile, Makefile, and related documentation. Feature Value: This plugin allows aggregating different tools from multiple backend MCP servers through a single gateway endpoint, simplifying multi-service integration and management, and enhancing the system's flexibility and scalability.
-
Related PR: #2404 Contributor: @007gzs Change Log: This PR added
reasoning_contentsupport for the AI data masking feature and supported returning multipleindexgroups in the request, enhancing the flexibility and diversity of AI responses. Feature Value: By adding support forreasoning_contentand allowing multipleindexgroups to be returned, users can more flexibly handle AI response data, enhancing the system's adaptability and user experience in complex scenarios. -
Related PR: #2391 Contributor: @daixijun Change Log: Adjusted the AI proxy's streaming response structure to output null when the usage, logprobs, and finish_reason fields are empty, maintaining consistency with the OpenAI interface. Feature Value: By maintaining consistency with the OpenAI interface, the system's compatibility and user experience have been improved, making it easier for developers to integrate and use APIs.
-
Related PR: #2389 Contributor: @NorthernBob Change Log: This PR implemented one-click Kubernetes deployment support for the plugin server and configured the default download URL for the plugin. Changes included adding and modifying multiple Helm template files to support the plugin server. Feature Value: By supporting one-click Kubernetes deployment and presetting the plugin download URL, the process of deploying and using plugins in K8s environments has been simplified, enhancing ease of use and efficiency.
-
Related PR: #2378 Contributor: @mirror58229 Change Log: This PR added support paths for WANXIANG image/video generation in the ai-proxy and added a new configuration item in ai-statistics to avoid OpenAI-related errors. Feature Value: Provides users with new image and video generation features while ensuring system stability and compatibility through the new configuration item, enhancing the user experience.
-
Related PR: #2343 Contributor: @hourmoneys Change Log: This PR introduced an MCP service for AI-based bidding information, including detailed Chinese and English README files and configuration descriptions. Feature Value: The new feature allows users to query bid lists by keyword, enhancing the ability of enterprises to acquire projects and customers, providing more comprehensive and accurate information support.
-
Related PR: #1925 Contributor: @kai2321 Change Log: This PR implemented the AI-image-reader plugin, parsing image content by interfacing with OCR services (such as Alibaba Cloud Lingji). Added related Go code and Chinese and English documentation. Feature Value: This feature enables users to automatically read and process text information in images using AI technology, enhancing the system's intelligence level and user experience.
-
Related PR: #2524 Contributor: @daixijun Change Log: This PR fixed the issue of the
stream_optionsparameter being misused on non-openai/v1/chatcompletions interfaces, limiting the parameter to only take effect on the specified interface to avoid errors. Feature Value: Ensured the correctness of API calls, preventing errors caused by misadded parameters, enhancing the system's stability and user experience. -
Related PR: #2516 Contributor: @HecarimV Change Log: This PR fixed the lack of system prompt support in the AI Proxy component by adding system message handling capability to Bedrock API requests. Specifically, it added a System field to the request body structure and updated the request construction logic to conditionally include system messages. Feature Value: Enhanced the AI proxy's support for Bedrock services, allowing users to include system-level instructions or information when sending requests, which helps in more precisely controlling the style and direction of generated content, enhancing user experience and application flexibility.
-
Related PR: #2497 Contributor: @johnlanni Change Log: This PR fixed the issue of incorrect decoding behavior when the configured URL path contains URL-encoded parts, achieved by modifying the lib-side code. Feature Value: This fix ensures that requests with URL-encoded parts in the path are correctly decoded, enhancing the system's stability and user experience.
-
Related PR: #2480 Contributor: @HecarimV Change Log: This PR fixed the issue of AWS Bedrock supporting additional request fields, ensuring that the AdditionalModelRequestFields field is properly initialized, avoiding potential null pointer exceptions. Feature Value: By adding support for additional model request fields, users can more flexibly configure AWS Bedrock services, enhancing the customizability and stability of API calls.
-
Related PR: #2475 Contributor: @daixijun Change Log: Fixed the 404 issue caused by incorrect customPath transmission when openaiCustomUrl is configured for a single interface and the path prefix is not /v1. Adjusted the request handling logic to ensure compatibility. Feature Value: This fix resolved the 404 errors encountered by users under specific conditions, enhancing the stability and user experience when using custom OpenAI service paths.
-
Related PR: #2469 Contributor: @luoxiner Change Log: Fixed the issue of excessive logging during MCP server discovery when Nacos is unavailable, reducing unnecessary log output by fixing the erroneous log recording call. Feature Value: Reduced the amount of logs generated when the Nacos service is unreachable, avoiding storage pressure and performance issues due to rapidly growing log files, enhancing the system's stability and user experience.
-
Related PR: #2445 Contributor: @johnlanni Change Log: Fixed the issue of the mcp server not returning a body when returning a status, changed to respond via sse; and refactored makeHttpResponse. Feature Value: Resolved potential errors due to missing response bodies, enhancing the system's stability and user experience, ensuring correct communication between the backend and frontend.
-
Related PR: #2443 Contributor: @Colstuwjx Change Log: This PR fixed an issue by adding a missing annotation in the controller service account, allowing users to set annotations for the controller service account. Feature Value: This change allows users to more flexibly configure service accounts, such as binding AWS IAM roles to the service account via annotations, enabling authentication for AWS resources.
-
Related PR: #2441 Contributor: @wydream Change Log: This PR standardized the naming conventions for API name constants and corrected the API name mapping error in the getApiName function, ensuring that API requests are correctly matched. Feature Value: By correcting API name spelling and format inconsistencies, the system's stability and reliability have been enhanced, avoiding functional failures or 404 errors due to path mismatches.
-
Related PR: #2423 Contributor: @johnlanni Change Log: This PR fixed a potential controller crash issue when configuring the MCP server for SSE forwarding, by modifying the relevant logic in the ingress_config.go file to prevent abnormal situations. Feature Value: Fixed the potential controller crash issue, enhancing the system's stability and reliability, ensuring that users do not encounter service interruptions when using the SSE forwarding feature.
-
Related PR: #2408 Contributor: @daixijun Change Log: Adjusted the Gemini API's finishReason to lowercase and fixed the missing finishReason content in the streaming response, ensuring consistency and completeness with the OpenAI API. Feature Value: This fix enhances API compatibility and stability, ensuring that users receive consistent and complete response results when using the Gemini provider, enhancing the user experience.
-
Related PR: #2405 Contributor: @Erica177 Change Log: Corrected the spelling error of
McpStreambleProtocol, ensuring the protocol support logic, type mapping, and route rewrite rules are correct. Feature Value: Fixed the protocol recognition and mapping issues caused by constant name spelling errors, enhancing the system's stability and reliability. -
Related PR: #2402 Contributor: @HecarimV Change Log: Fixed the Bedrock Sigv4 signature mismatch issue in the AI proxy and improved the modelId decoding logic to avoid potential data pollution risks. Feature Value: This fix enhances system stability, preventing service call failures due to incorrect model IDs, and improves the user experience and system reliability.
-
Related PR: #2398 Contributor: @Erica177 Change Log: Corrected the spelling error in the
McpStreambleProtocolconstant, changing 'mcp-streamble' to 'mcp-streamable', and adjusted related references to ensure the consistency and correctness of the protocol name. Feature Value: Fixed potential protocol matching failures or configuration parsing issues due to spelling errors, enhancing the system's stability and reliability, and avoiding service anomalies caused by such simple errors.
-
Related PR: #2458 Contributor: @johnlanni Change Log: This PR updated the mcp server's dependency on the wasm-go repository to the latest version, adjusting the dependency path in the go.mod file to ensure the project uses the latest codebase. Feature Value: By depending on the latest wasm-go repository, the project can utilize the latest features and performance optimizations, enhancing the system's stability and compatibility.
-
Related PR: #2403 Contributor: @johnlanni Change Log: This PR standardized the newline character markers in the MCP session filter, achieving consistency by modifying two lines of code in the sse.go file. Feature Value: Standardizing newline character markers reduces confusion caused by inconsistent formatting, enhancing code readability and maintainability, making it easier for developers to understand and use the related features.
-
Related PR: #2536 Contributor: @johnlanni Change Log: This PR primarily updated the version number and version information in relevant configuration files to prepare for the 2.1.5 release. Feature Value: By updating the version number, the latest software status is reflected, allowing users to clearly understand the current software version and its stability.
-
Related PR: #2503 Contributor: @CH3CHO Change Log: Corrected the spelling error of the configuration item name in the ai-proxy plugin README, changing
vertexGeminiSafetySettingtogeminiSafetySetting. Feature Value: Ensures the documentation is accurate, preventing users from being unable to set up correctly due to configuration item name errors, enhancing the user experience and document readability. -
Related PR: #2446 Contributor: @johnlanni Change Log: Updated the version number to 2.1.5-rc.1 and synchronized the version information in relevant files, including Makefile, VERSION file, and Helm charts. Feature Value: This PR primarily updated the project's version information, ensuring that all related configuration files and documents reflect the latest version number, providing accurate version tracking information for users.
-
Related PR: #2433 Contributor: @johnlanni Change Log: This PR added the English and Chinese release notes for version 2.1.4 and updated the license configuration file to exclude the release-notes directory. Feature Value: By providing detailed release notes, users can better understand the new features and fixed issues in the new version, making it easier to adopt and use the software's new features.
-
Related PR: #2418 Contributor: @xuruidong Change Log: Fixed a broken link issue in the mcp-servers README_zh.md file, ensuring the correctness and availability of the document links. Feature Value: By correcting the broken links in the documentation, the user experience when reading and using the documentation is enhanced, avoiding information retrieval barriers due to invalid links.
-
Related PR: #2327 Contributor: @hourmoneys Change Log: This PR primarily updated the mcp-server-related documentation, including content adjustments in README_ZH.md and mcp-server.yaml configuration files. Feature Value: By updating the documentation, users can more clearly understand and use the mcp-shebao-tools, providing detailed explanations and configuration examples, enhancing the user experience.
- 🚀 New Features: 19
- 🐛 Bug Fixes: 14
- ♻️ Refactoring Optimizations: 2
- 📚 Documentation Updates: 6
Total: 41 changes (including 2 significant updates)
Thank you to all contributors for their hard work! 🎉
This release includes 8 updates, covering multiple aspects such as feature enhancements, bug fixes, and performance optimizations.
- New Features: 5 items
- Bug Fixes: 2 items
- Testing Improvements: 1 item
This release contains 1 major update, which is recommended for special attention:
- Feature/issue 514 mcp server manage (#530): The newly added mcp server console management feature allows users to more conveniently manage and configure the mcp server through the interface, enhancing user experience and operational efficiency.
For more details, please refer to the important features section below.
Below are detailed descriptions of the key features and improvements in this release:
Related PR: #530 | Contributor: Thomas-Eliot
Usage Background
In modern microservice architectures, the mcp server serves as a critical component responsible for managing and facilitating communication between services. However, existing management systems lack centralized and visual management capabilities for the mcp server, leading to manual configuration and management by operations personnel, which is inefficient and prone to errors. To address this issue, a new mcp server console management feature has been added, allowing users to easily create, update, delete, and query mcp server instances through a graphical interface. This feature is primarily aimed at system administrators and operations personnel to improve their work efficiency and reduce errors.
Feature Details
This change mainly implements the following functionalities:
- Create mcp server: Users can create new mcp server instances by filling in the necessary parameters through the console interface.
- Update mcp server: Users can modify the configuration information of existing mcp servers and save it via the console interface.
- Delete mcp server: Users can select and delete mcp server instances through the console interface.
- Query mcp server: Users can query all mcp server instances and their detailed information.
Technically, this was achieved by building RESTful API interfaces using the Spring Boot framework and generating API documentation with Swagger. A new McpServerController class was added to handle HTTP requests related to the mcp server. Additionally, the Dockerfile was modified to include the copying and permission settings for mcp-related tools. Furthermore, adjustments were made to the SDK configuration files to support the new features.
Usage Instructions
To enable and configure this feature, follow these steps:
- Start the application: Ensure that the Higress Console application is correctly deployed and running.
- Access the console: Access the Higress Console URL through a web browser to enter the console interface.
- Create mcp server: In the console, select the "mcp server" tab, click the "Create" button, fill in the necessary parameters (such as name, type, etc.), and then click the "Save" button.
- Update mcp server: Find the instance you need to update in the mcp server list, click the "Edit" button, modify the relevant information, and then click the "Save" button.
- Delete mcp server: Find the instance you need to delete in the mcp server list, click the "Delete" button, and confirm the deletion operation.
- Query mcp server: View all instances and their detailed information in the mcp server list. Note: Before performing any operations, ensure that data is backed up to prevent data loss due to accidental operations.
Feature Value
By adding the mcp server console management feature, users can more conveniently manage and configure mcp server instances, significantly improving the system's usability and maintainability. Specifically, this feature brings the following benefits:
- Improved Efficiency: Users no longer need to manually write configuration files or execute complex command-line operations; they can manage mcp servers through a simple graphical interface.
- Reduced Error Rate: The visual operation interface reduces the likelihood of errors caused by manual configuration.
- Enhanced User Experience: An intuitive operation interface allows users to quickly get started, reducing the learning curve.
- Increased System Stability: Unified console management ensures consistency and standardization in configurations, reducing system instability caused by inconsistent configurations.
-
Related PR: #540 Contributor: @CH3CHO Change Log: This PR adds a new LLM provider type: vertex, by extending the
LlmProviderTypeenum class and adding a newVertexLlmProviderHandlerclass. Feature Value: Adding support for vertex as an LLM provider will allow users to utilize the services provided by vertex, enriching the system's functionality and meeting the needs of more scenarios. -
Related PR: #538 Contributor: @zhangjingcn Change Log: This PR introduces errorResponseTemplate support for the mcp-server plugin, allowing users to customize error response templates and correcting the documentation regarding error response trigger conditions and GJSON path escaping. Feature Value: By providing the ability to customize error responses, this feature enhances user experience and flexibility, enabling developers to adjust error message display based on actual needs, thus better controlling the application's behavior.
-
Related PR: #529 Contributor: @CH3CHO Change Log: This PR adds the functionality to configure multiple model mapping rules for AI routing upstreams, implemented through an added pop-up dialog for advanced configuration editing. Feature Value: Users can more flexibly manage model mappings for AI services, improving configuration efficiency and flexibility, and meeting the needs of diverse scenarios.
-
Related PR: #528 Contributor: @cr7258 Change Log: Changes the default PVC access mode from ReadWriteMany to ReadWriteOnce, which is more suitable for most default settings. Feature Value: This change reduces unnecessary complexity and improves resource utilization efficiency, while providing flexibility for users who need multiple replicas.
-
Related PR: #537 Contributor: @CH3CHO Change Log: Replaces
URL.parsewithnew URL()to resolve compatibility issues in older browser versions. Feature Value: Enhances the application's compatibility across different browser versions, ensuring a wider range of users can use the related features normally. -
Related PR: #525 Contributor: @NorthernBob Change Log: This PR corrects a spelling error in the configuration file, changing 'UrlPattern' to 'urlPattern', ensuring consistent variable naming. Feature Value: Correcting the spelling error ensures the correctness and consistency of the configuration file, avoiding service configuration issues due to case sensitivity, thereby improving system stability and user experience.
- Related PR: #526 Contributor: @CH3CHO Change Log: This PR adds a unit test case to check if the Wasm plugin image is the latest version. It compares the currently used image tag with the latest image tag manifest. Feature Value: This feature ensures that the Wasm plugin always uses the latest image, improving system stability and security, and avoiding security vulnerabilities or other issues caused by using outdated images.
- 🚀 New Features: 5 items
- 🐛 Bug Fixes: 2 items
- 🧪 Testing Improvements: 1 item
Total: 8 changes (including 1 major update)
Thank you to all contributors for their hard work! 🎉