Higress
📋 Release Overview
This release includes 76 updates covering feature enhancements, bug fixes, performance optimizations, and more.
Distribution of Updates
- New Features: 2
- Bug Fixes: 49
- Refactoring & Optimizations: 8
- Documentation Updates: 10
- Test Improvements: 7
📝 Full Changelog
🚀 New Features (Features)
-
Related PR: #5328
Contributor: @higress-release-automation[bot]
Change Log: This PR prepares the plugin snapshot v2.2.6 release by introducing three JSON manifest files—evidence,plans, andsnapshots—to record version hashes, source commits, baseline commits, and plugin dependency relationships. It also updates theai-agentandai-cacheplugin versions to2.0.4.
Feature Value: Ensures traceability and verifiability of the plugin release process, improving version consistency and supply-chain security; users can reliably deploy specific plugin versions based on authoritative snapshots, reducing runtime anomalies caused by version mismatches. -
Related PR: #5263
Contributor: @sunxia0
Change Log: Introduces theserver.passthroughInstructionsconfiguration option, enabling optional passthrough of upstreaminstructionsstrings in MCP proxy discovery responses. It reuses existingRouteCalland authentication policies, safely extracting and injecting only valid instructions; excessively long or invalid values are automatically omitted from the field.
Feature Value: Enables the MCP gateway to flexibly preserve upstream services’ original instruction descriptions, enhancing completeness and traceability of tool discovery information; users may enable it on demand to avoid client behavioral deviations due to lost instructions, without disrupting existing authentication, routing, or error-handling semantics.
🐛 Bug Fixes (Bug Fixes)
-
Related PR: #5323
Contributor: @johnlanni
Change Log: Upgrades the Istio submodule to commit383f79d, integrating an SRDS gateway cache fix: route caching now depends solely on the actually selected HTTP/HTTP3 gateways; modifications to unselected gateways precisely invalidate only corresponding host cache entries, eliminating O(n²)-complexity cache invalidation overhead.
Feature Value: Significantly improves configuration propagation speed and control-plane responsiveness under large-scale Ingress scenarios, avoiding latency jitter caused by global cache refreshes and enhancing gateway service stability and scalability; users experience faster application of route changes. -
Related PR: #5321
Contributor: @johnlanni
Change Log: Fixes a path traversal vulnerability arising from unescaped path parameters in REST-to-MCP request URLs. Addsurl.PathEscapefor path-segment escaping, multi-layer encoding validation (e.g.,%2e%2e), explicit enable/disable switches for unsafe path parameters, and supporting template functions—enhancing Nacos/registry configuration passthrough capabilities.
Feature Value: Prevents maliciously crafted path parameters from bypassing interface boundaries to access backend sensitive endpoints, improving MCP gateway security; default blocking of dangerous path patterns post-upgrade reduces risks of privilege escalation due to misconfigured templates, while providing secure migration options to ensure compatibility. -
Related PR: #5317
Contributor: @johnlanni
Change Log: Fixes an issue where requests may stall indefinitely causing503errors whenglobal_inflight_enabledis enabled. Changes the return value of the asynchronous scheduling path toHeaderStopAllIterationAndWatermark, ensuring callbacks correctly resume request processing.
Feature Value: Prevents users from encountering persistent503 cluster_not_founderrors after enabling global concurrency limiting, enhancing the stability and availability of the AI load balancer under high-concurrency scenarios and ensuring service continuity. -
Related PR: #5316
Contributor: @johnlanni
Change Log: Fixes a signature verification security vulnerability in thehmac-auth-apisixplugin by adoptingcrypto/subtle.ConstantTimeComparefor constant-time signature comparison and removing signature logging to prevent side-channel attacks and sensitive information leakage.
Feature Value: Enhances API authentication security by mitigating timing-attack risks that could allow signature bypass; simultaneously eliminates plaintext signature logs, satisfying security compliance requirements and protecting users’ keys and credentials from accidental exposure. -
Related PR: #5315
Contributor: @johnlanni
Change Log: Fixes strictness issues in the AI data sanitization plugin’s parsing of the OpenAIcontentfield. ModelscontentasOption<MessageContent>to support either string or content fragment arrays; mapsnull/missing values toNone, and rejects malformed structures with fail-closed behavior.
Feature Value: Improves plugin robustness and security, preventing silent parsing failures due to invalid OpenAI message bodies and ensuring malformed requests are explicitly intercepted with appropriate error responses—strengthening the API gateway’s ability to validate AI service protocol conformance. -
Related PR: #5311
Contributor: @zhihao-yuan
Change Log: Fixes ID confusion and incorrect usage statistics in Claude streaming responses caused by shared state across multiple concurrent requests. Moves state fields (messageId,usage,serviceTier) from provider-level to per-requestHttpContext, ensuring isolation of streaming responses.
Feature Value: Prevents users from receiving incorrect response IDs or mixed token usage data during concurrent Claude service calls, enhancing AI proxy service stability and billing accuracy, and ensuring reliability of streaming experiences in multi-user/multi-session contexts. -
Related PR: #5309
Contributor: @sunxia0
Change Log: Fixes MCP server SSE response parsing logic to prioritize standard'data: {...}'format matching; if no match occurs, the first whitespace-freedataline is cached as a fallback, preventing early whitespace-free notifications from overwriting subsequent valid-format responses.
Feature Value: Resolves backend compatibility issues, ensuring MCP services with varying SSE formats initialize and extract responses correctly; improves system robustness and cross-platform compatibility, reducing connection failures or data loss caused by format discrepancies. -
Related PR: #5305
Contributor: @sunxia0
Change Log: Fixes missing support for the2025-11-25MCP protocol version in the MCP server, extending initialization handshake logic to recognize and respond correctly to this version, while retaining the2025-06-18fallback mechanism and enforcing strict rejection of unknown versions.
Feature Value: Allows MCP clients to successfully complete initialization negotiation using the2025-11-25protocol version, improving protocol compatibility and service stability; avoids handshake failures due to unregistered versions, ensuring smooth coexistence and evolution of legacy and new tool clients. -
Related PR: #5294
Contributor: @johnlanni
Change Log: Fixes MCP user-level access control logic by binding user identity to the authenticated consumer, verifying consistency between the URL pathuidand the actual authenticated subject, strengthening401/403error responses, and refactoring Redis key generation logic to be based on(serverName, consumer)for user-level configuration and rate limiting management.
Feature Value: Strengthens MCP service security and permission isolation, preventing unauthorized access to user-specific services; users gain more precise personalized configurations, rate limits, and allowlist controls when enablinguser-level-server, avoiding privilege bypass risks due to path spoofing. -
Related PR: #5293
Contributor: @johnlanni
Change Log: Removes the dangerousx-higress-mcpserver-configrequest header during theDecodeHeadersphase at the Ingress layer and in MCP-related routing configurations, preventing its malicious construction and impact on dynamic user-level MCP server configuration—including coverage of custom VirtualService and controller-generated routes.
Feature Value: Enhances system security and configuration isolation by preventing clients from forging configuration headers that cause the server to misapply unintended MCP service configurations, ensuring reliable and independent MCP session configurations for each tenant in multi-tenant environments and lowering potential security and runtime anomaly risks. -
Related PR: #5292
Contributor: @johnlanni
Change Log: Fixes multi-tenancy data isolation issues in the AI cache plugin by incorporating consumer identity (x-mse-consumer) into SHA256 hash computation to construct versioned cache keys (v2:prefix+hex(consumer\0rawKey)), ensuring full isolation of cached data across authenticated consumers, with legacy unversioned keys automatically invalidated.
Feature Value: Prevents cross-user cache pollution or unauthorized access, improving AI service multi-tenancy security and reliability; cold starts triggered post-upgrade are expected behavior; English and Chinese READMEs have been updated synchronously with migration notes to reduce operational risk. -
Related PR: #5291
Contributor: @johnlanni
Change Log: Fixes a plugin request body validation defect by integratingwasm-go v1.2.0’sRequireRequestBody()API, ensuringext-authandhmac-auth-apisixplugins force-read and pass raw request bodies for binary, gRPC, and encoding-oriented Content-Types (e.g.,application/octet-stream) whenwith_request_bodyis enabled—avoiding body skipping due to type recognition mismatches.
Feature Value: Improves reliability and consistency of request-body–dependent authorization plugins, guaranteeing stable triggering of authorization calls regardless of requestContent-Typewhenwith_request_body:trueis configured—preventing authorization omissions or logic anomalies caused by undelivered bodies and strengthening API security protection. -
Related PR: #5289
Contributor: @johnlanni
Change Log: Fixes JSON Schema validation of request bodies supporting onlyobjecttype by adopting a defensive decoder directly handling raw byte streams, enabling validation of all top-level JSON types (array,string,number,boolean, and malformed JSON), thus avoiding validation skip due to deserialization failure.
Feature Value: Enhances robustness and security of API gateway request-body validation, ensuring non-object JSON (e.g., arrays, strings) is validated correctly and preventing illegitimate or unexpected JSON formats from bypassing validation logic—improving server-side data consistency and defensive capability. -
Related PR: #5288
Contributor: @johnlanni
Change Log: Fixes the default behavior ofsigned_headersin thehmac-auth-apisixplugin: when not explicitly configured, it now defaults to signing thedateheader, binding the request signature to a timestamp and enablingclock_skewvalidation; previously, omission resulted in staticstring-to-signcontaining only the key ID, completely losing replay protection and timeliness guarantees.
Feature Value: Enhances HMAC authentication security and compatibility, aligning plugin behavior with Apache APISIX semantics; users obtain date-based clock skew validation out-of-the-box without additional configuration, effectively defending against replay attacks and reducing security risks from missing critical signed headers. -
Related PR: #5287
Contributor: @johnlanni
Change Log: Adds configurable Redis failure handling modes (fail_open/fail_closed) to thecluster-key-rate-limitandreplay-protectionplugins, uniformly handling all Redis exception types, and ensuringfail_closedreturns a fixed503without emitting theX-RateLimitheader to distinguish infrastructure failures from business rate limiting.
Feature Value: Enhances plugin reliability and observability when Redis is unavailable; users can select degradation strategies according to business tolerance:fail_openensures service availability, whilefail_closedstrictly blocks requests and clearly signals infrastructure failure, aiding rapid root-cause diagnosis by operations teams. -
Related PR: #5283
Contributor: @lxcxjxhx
Change Log: Fixes a header-skip order bug in the canary feature: the original logic skipped header checks before evaluatingrewrite.host, causing non-HTML requests that should have been skipped still injectedx-higress-tagand rewrote:authority.
Feature Value: Ensures requests matchingskippedByHeadersconfigurations (e.g., API requests) are correctly skipped from canary processing, avoiding unnecessary header injection and host rewriting—improving routing accuracy and service stability, which is critical for users relying on headers to control canary behavior. -
Related PR: #5282
Contributor: @sunxia0
Change Log: Fixes compatibility issues between Modern and Legacy business logic in the MCP server: unifies request budgeting, tool execution sharing, and descriptor handling, removes redundant schema preparation logic, and ensures HTTP error responses correctly retain historicalRetry-After/WWW-Authenticateheaders.
Feature Value: Improves MCP service stability and consistency in hybrid deployment scenarios, preventing request failures or authentication anomalies due to split business policies and ensuring seamless user migration during upgrades—lowering operational complexity and compatibility risk. -
Related PR: #5277
Contributor: @qinfeng0214
Change Log: Fixes token usage undercounting in streaming SSE responses caused byusagefield fragmentation across chunks, introducingsseFramerfor unified frame parsing and performing deferred parsing of incomplete tail segments atendOfStream, ensuring accurate counting of everyusageevent.
Feature Value: Resolves token usage undercounting in AI services’ streaming-response scenarios, safeguarding quota control and rate-limiting accuracy—preventing users from being erroneously rate-limited or overspending, thereby enhancing billing and resource-management reliability. -
Related PR: #5273
Contributor: @qinfeng0214
Change Log: FixesoutputParserpanics caused by slice-out-of-bounds errors when encountering single code fences or nonstandard model outputs, enhances boundary-checking logic, and adds comprehensive unit tests covering various anomalous response scenarios.
Feature Value: Improves AI proxy robustness and stability, preventing service crashes due to minor model output formatting deviations and ensuring reliable and available AI capability invocation for users in real-world scenarios. -
Related PR: #5270
Contributor: @qinfeng0214
Change Log: Fixes erroneous acceptance of negativekv_cache_usage_percsamples in KV cache utilization metrics by adding validation for negative values inParseCompactVLLMMetrics, preventing incorrect mapping to1.0(maximum score) viatransformOneMinus, which would reverse routing logic.
Feature Value: Prevents AI endpoint misrouting due to metric anomalies, ensuring overloaded endpoints are not mistakenly deemed idle—improving service routing accuracy and system stability and guaranteeing users’ requests are correctly distributed to genuinely available inference nodes. -
Related PR: #5260
Contributor: @Metastarx
Change Log: Fixes potential overriding of user-managed Secrets during automatic HTTPS certificate renewal by adding Secret annotation validation logic: only Secrets managed by Higress are allowed for update, and domain matching is enforced, alongside improved error log handling.
Feature Value: Prevents accidental overwriting of user-defined TLS certificates, enhancing system security and stability; users can confidently manage their own Secrets without risking service disruption or credential loss due to certificate updates, strengthening production environment reliability. -
Related PR: #5242
Contributor: @dxz0069
Change Log: FixesMessageWindow::pop()panic caused by unchecked length in non-UTF-8 streaming response bodies, adding an early-return guard (len <= byte_window_size) in the non-UTF-8 branch to prevent mid-response crashes.
Feature Value: Improves stability and robustness of the AI data sanitization plugin when processing abnormally encoded streaming responses, preventing service interruption due to invalid byte streams—ensuring continuity and reliability of user API calls. -
Related PR: #5224
Contributor: @lljjcc426
Change Log: Fixes incorrect UTF-8 multibyte character truncation in thetruncateStringfunction of thejsonrpc-converterplugin by locating the nearest rune start position (utf8.RuneStart) to ensure prefixes and suffixes are valid UTF-8 strings—avoiding invalid UTF-8 sequences in header values.
Feature Value: Prevents invalid UTF-8 sequences in HTTP headers resulting from truncation, avoiding downstream service parsing failures or security-triggered blocks; improves internationalization compatibility and stability of JSON-RPC and MCP protocols, ensuring proper passthrough of Unicode-character–containing request headers (e.g., Chinese). -
Related PR: #5219
Contributor: @zhaohai666
Change Log: Adds strict validation of themodeparameter in thecluster_metricsload-balancing strategy, accepting only four legal values (LeastBusy,LeastFirstTokenLatency,LeastTotalLatency,Adaptive); illegal values trigger immediate errors and initialization rejection to prevent silent fallback to uniform random routing.
Feature Value: Prevents undetected load-balancing strategy failures caused by typos, case mismatches, or missingmodevalues, improving configuration reliability and operational observability—ensuring AI traffic distribution adheres to intended policies and avoiding potential performance degradation. -
Related PR: #5216
Contributor: @qinfeng0214
Change Log: Fixes incorrect host counter rollback in theglobal_least_requestload-balancing strategy: when RedisEVALreturns an exception orSetUpstreamOverrideHostfails, already-incremented host counters were not reverted, causing subsequent requests to incorrectly avoid that host.
Feature Value: Improves accuracy and stability of the AI load balancer, preventing traffic distribution skew and prolonged erroneous host exclusion caused by inaccurate counters—ensuring high service availability and optimal resource utilization. -
Related PR: #5209
Contributor: @zhihao-yuan
Change Log: Refactors streaming response handling logic, separating text-content and protocol-event processing; adds full support fortool call,role,refusal, unknown fields, and error events; optimizes end-frame and empty-frame handling to prevent tool-call content loss and premature consumption of[DONE].
Feature Value: Fixes loss of tool-call names and parameters in streaming responses within the AI data sanitization plugin, ensuring agents correctly receive and execute tool calls—significantly improving Higress’s stability and compatibility as an AI gateway in complex agent scenarios. -
Related PR: #5208
Contributor: @BenRobinson-hub
Change Log: Fixes request hanging in the OPA plugin upon synchronousDispatchHttpCallfailure by modifying theopaCallfunction to send503responses instead of indefinite suspension on synchronous errors—avoiding downstream client timeouts—and adds unit test coverage for synchronous call errors.
Feature Value: Enhances reliability and observability of the OPA policy decision service, preventing indefinite Envoy proxy request hangs due to upstream OPA service unavailability—ensuring rapid failure and clear error responses for user requests and reducing cascading failure risk. -
Related PR: #5205
Contributor: @Metastarx
Change Log: Adds read-write mutual exclusion locks to the Nacos MCP registry, encapsulating access to shared data structures—tool descriptors, RPC contexts, service sets, and listeners—within lock-protected helper functions to avoid fatal errors from concurrent reads/writes.
Feature Value: Fixes gateway crashes under high concurrency due to race conditions, significantly improving service stability and reliability—ensuring the Nacos registry operates normally during continuous refreshes and multi-request access, lowering production environment failure risk. -
Related PR: #5204
Contributor: @tju-yxq
Change Log: Fixes connection leakage in the Eureka HTTP client caused by un-closed response bodies and correctsRetryDelayTimeunits to milliseconds to ensure retry delay configuration takes effect properly; adds comprehensive unit tests covering related logic.
Feature Value: Avoids resource exhaustion and memory leaks caused by unclosed HTTP connections, improving long-term stability of the service registry; correct retry delay time interpretation makes fault recovery behavior more predictable and enhances system resilience during Eureka outages. -
Related PR: #5199
Contributor: @lizexinxin
Change Log: Fixes incorrect application of SSL redirect annotations to MCP server Ingress resources by adding MCP server Ingress detection and skipping logic in the redirect parsing routine, supplemented with corresponding unit tests to verify correctness.
Feature Value: Prevents unintended redirection of MCP server traffic, ensuring HTTP/TLS listeners correctly point to target clusters—improving accuracy and stability of multi-cluster service routing and guaranteeing control-plane communication reliability. -
Related PR: #5145
Contributor: @NUAAwqy
Change Log: Fixes the ignored--agentrunflag in thehgctl agent deploycommand: declares thecloudvariable earlier indeploy.goand passes it correctly toDeployHandler, and correctsgetAgentTypelogic to avoid overwriting user-specified deployment types.
Feature Value: Users can now truly control agent deployment targets (local vs. cloud) via the--agentrunflag, resolving the prior issue where this parameter was effectively inert—enhancing CLI tool reliability and documentation trustworthiness, ensuring automation workflows execute as intended. -
Related PR: #5144
Contributor: @yx9o
Change Log: Fixes HTTP500errors in the AI JSON Response plugin when no JSON schema is provided, caused by attempting to compile an empty schema. Adds conditional logic to enable compilation and validation only whenjsonSchemais present, preventing nil-map-to-null conversion exceptions.
Feature Value: Users no longer encounter unexpected500errors when invoking AI APIs in schema-free mode—significantly improving service stability; retains existing schema-based functionality and error-code semantics (e.g.,1001remains unchanged), ensuring backward compatibility and observability. -
Related PR: #5126
Contributor: @Metastarx
Change Log: Fixes panics in theai-ragplugin caused by unvalidated empty embedding arrays in embedding interface responses, adding status-code checks, JSON deserialization error handling, and explicit rejection logic for empty embedding arrays—enhancing robustness.
Feature Value: Prevents plugin crashes and request failures due to abnormal upstream service responses (e.g., quota exceeded,5xxerrors, invalid JSON)—improving RAG functionality stability and user-experience reliability, ensuring production-service continuity. -
Related PR: #5124
Contributor: @johnlanni
Change Log: Adds theDuplicateTopLevelMemberhelper function, detecting duplicate top-levelmodelfields in request bodies via single-pass structural scanning to avoid JSON parsing ambiguity; performs pre-validation in the AI load balancer and returns400errors to halt subsequent routing, auth, and mapping logic.
Feature Value: Enhances robustness and consistency of OpenAI-compatible interfaces, preventing unpredictable routing or auth behaviors caused by duplicatemodelfields—ensuring users receive clear error feedback, lowering debugging costs, and improving API reliability. -
Related PR: #5122
Contributor: @johnlanni
Change Log: Enforces HTTP Basic authentication for the MCP server database server type (GORM backend) during configuration parsing, validating non-emptyusername/password, aligning database service authentication behavior with RAG service—improving security.
Feature Value: Prevents unauthorized access to the database MCP service, avoiding sensitive data leakage; requires users to provide valid credentials in configuration, raising the security baseline for production environments and complying with least-privilege principles and enterprise security compliance requirements. -
Related PR: #5121
Contributor: @Metastarx
Change Log: Fixes inconsistent message publishing and subscription for MCP SSE sessions during Redis backend hot updates: binds each SSE session to its initial Redis client to prevent mixing old/new Redis clients due to filter config hot updates—ensuring messages always remain in closed-loop transmission within original pub/sub channels.
Feature Value: Guarantees strong consistency and reliability of MCP SSE sessions, preventing response loss or corruption in user sessions; improves system stability during dynamic configuration updates, lowering operational complexity and online failure risk. -
Related PR: #5092
Contributor: @Metastarx
Change Log: Fixes theqwen3guardplugin returning non-streaming JSON responses forstream=truerequests, adding SSE streaming denial-response support; dynamically selectsContent-Typeand response format by parsing thestreamfield in requests and updating README documentation.
Feature Value: Aligns interception denial responses with the client’sstreamflag, resolving empty-message display issues in streaming clients like Dify caused by missingdata:frames—improving compatibility and user experience, ensuringdenyMessagerenders correctly in workflows. -
Related PR: #5085
Contributor: @Metastarx
Change Log: Fixes panics inai-proxywhen parsing malformedcontentsections (e.g., emptyimage_urlobjects, non-string fields, missinginput_audio/filefields) by returning structured error responses instead—enhancing service robustness.
Feature Value: Prevents service crashes due to noncompliant user messages, improving API stability and availability; users receive clear error prompts instead of500responses, facilitating rapid identification and correction of request data issues. -
Related PR: #5083
Contributor: @Metastarx
Change Log: Fixes invalid JSON formatting in AI proxy plugin streaming SSE responses: the original hand-written JSON template failed to JSON-escape model outputs, breaking JSON structure with quotes, backslashes, and newlines, andtrimoperations erroneously removed legitimate leading/trailing quotes; replaced with standard JSON serialization to ensure valid SSE frames.
Feature Value: Ensures all standards-compliant SSE clients can correctly parse AI streaming responses, avoiding conversation interruption or display anomalies caused by JSON parsing failures—improving plugin stability and compatibility in production, especially critical for frontend applications strictly adhering to SSE specifications. -
Related PR: #5082
Contributor: @Metastarx
Change Log: Fixestokenrate limiter panics andfail-openbypass caused by malformedreal-IPrequest headers (e.g.,]or]:80); replaces vulnerablestrings.Splitwith safestrings.TrimPrefixfor IPv6 bracket removal and enhances IP parsing robustness.
Feature Value: Prevents attackers from bypassing rate limiting via maliciousreal-IPheaders, ensuring mandatory enforcement of AI token rate-limiting policies; improves gateway stability and security under anomalous traffic, avoiding critical protection failures due to panic recovery. -
Related PR: #5080
Contributor: @zhihao-yuan
Change Log: Fixes token undercounting and omission in non-streaming JSON responses: fully buffersapplication/jsonresponses hitting rate-limit rules before parsing to avoid incomplete JSON parsing from fragmented responses; optimizes MIME-type recognition to support case-insensitivity and parameters, excluding nonstandard cases like JSONP.
Feature Value: Improves accuracy of AI token usage statistics, ensuring rate-limiting policies enforce strictly; prevents undetected overspending due to undercounting, safeguarding service stability and billing compliance; users gain more reliable rate limiting without modifying business code. -
Related PR: #5079
Contributor: @Metastarx
Change Log: Fixes GraphQL variable injection vulnerabilities: enforces strict type validation and JSON escaping forInt/Float/Booleanvariables to prevent attackers from injecting arbitrary fields into thevariablesobject via malicious query parameters—preventing server-side logic tampering.
Feature Value: Enhances GraphQL gateway security, preventing privilege escalation or service anomalies caused by variable pollution; users gain protection without modifying business code, lowering API exploit risk and strengthening production environment stability. -
Related PR: #5029
Contributor: @sunxia0
Change Log: Fixes MCP server main-route proxy compatibility issues, restoring correct integration of HTTP MCPtools/listandtools/callwith theRouteCallSDK underlegacy/modern/autostrategies—ensuring request filtering, header/path rewriting, timeout, retry, and hashing policies work properly, while maintaining control-RPC execution as sidecalls.
Feature Value: Resolves tool-call failure issues in MCP services under multi-strategy routing, improving routing compatibility and stability; users restore cross-strategy tool-call capability without changing existing configurations and ensure correct passthrough of critical contextual headers (e.g.,Cookie, tenant headers), lowering upgrade risk. -
Related PR: #5000
Contributor: @Metastarx
Change Log: Fixesindex-out-of-rangepanics in Chroma vector provider’sparseQueryResponsefunction when handling empty responses (e.g., missingidsfield or emptyidsarray), adding boundary checks and error-handling logic to ensure HTTP callbacks complete normally and invokehandleQueryResults.
Feature Value: Prevents entire AI cache query requests from hanging or crashing due to abnormal empty Chroma service responses (e.g., unknown collection errors, emptyidsarrays)—improving system stability and fault tolerance, ensuring continued availability of AI-related features for users. -
Related PR: #4950
Contributor: @yyqdbngt
Change Log: FixesParseIPpanic caused by empty-string slicing when parsing malformed IPv6-formattedReal-IPheaders (e.g.,']'or']:80') by adopting safe substring extraction logic and adding boundary checks.
Feature Value: Prevents attackers from triggering cluster rate-limiting plugin crashes via maliciousX-Forwarded-Forheaders, improving gateway stability and security when per-IP rate limiting relies on header-extracted IPs. -
Related PR: #4948
Contributor: @yyqdbngt
Change Log: Fixesgeo-ippluginParseIPpanic when processing malformedReal-IPheaders (e.g.,"]"or"]:80") caused by empty-string slicing, replacingstrings.Splitwithstrings.TrimPrefixfor safe IPv6 address extraction and enhancing boundary validation.
Feature Value: Prevents WASM plugin crashes triggered by maliciousX-Forwarded-Forheaders, improving gateway stability and security in proxy scenarios and ensuring service availability under anomalous traffic. -
Related PR: #4946
Contributor: @btlqql
Change Log: Fixes unescaped user-inputpromptin upstream request-body construction for the ChatGPT proxy plugin by importing theencoding/jsonpackage and usingjson.Marshalto safely serializepromptand other fields—preventing JSON formatting errors or semantic tampering caused by quotes, backslashes, and newlines.
Feature Value: Prevents API request failures or silent content modification caused by malicious/special-character prompts, improving service stability and security; users submitting prompts with quotes, backslashes, or newlines can transmit them accurately to upstream models—ensuring interaction consistency and reliability. -
Related PR: #4944
Contributor: @btlqql
Change Log: Fixes panics in the IP restriction plugin when parsing malformedReal-IPrequest headers (e.g.,']'or']:80') caused by empty-string slicing, adopting safe string-trimming logic and adding boundary validation.
Feature Value: Prevents WASM plugin crashes triggered by maliciousX-Forwarded-Forheaders, improving gateway robustness and security when IP sources are header-configured—avoiding service interruption risks. -
Related PR: #4882
Contributor: @Metastarx
Change Log: Fixes nil-pointer dereference inFilterGrayRuleof thefrontend-grayplugin when rules arenil, adding safety checks forGetRulereturningnil, and introducing gray-deployment-and-rule-name consistency validation during config parsing to prevent silent failure due to missing rules.
Feature Value: Prevents panic-induced silent swallowing byrecoverFuncin canary releases caused by config mismatches, ensuring configuration errors surface promptly and fail fast—improving canary stability and observability and guaranteeing reliability of user traffic routing.
♻️ Refactoring & Optimizations (Refactoring)
-
Related PR: #5330
Contributor: @johnlanni
Change Log: This PR primarily updates the project version number: upgradesVERSIONfile andappVersioninhelm/coreandhelm/higress Chart.yamlfrom2.2.5to2.2.6, and synchronizes thehigress-coredependency version inChart.lockto ensure Helm chart version consistency.
Feature Value: Provides users with a standardized v2.2.6 release package, ensuring strict version alignment of all components (core, console, plugin-server) during Helm deployments—improving installation stability and reproducibility and lowering operational upgrade risk. -
Related PR: #5324
Contributor: @johnlanni
Change Log: Upgrades Envoy data-plane dependencies to version1.36.12, updating submodule commits, Go module replacement paths, and build image URLs, and synchronizing references to amd64/arm64 multi-architecture release packages—ensuring build consistency and upstream compatibility.
Feature Value: Enhances Higress gateway security, stability, and performance; users transparently benefit from Envoy’s latest patches and optimizations, lowering potential vulnerability risks and improving deployment reliability and compatibility across multi-architecture environments. -
Related PR: #5319
Contributor: @johnlanni
Change Log: Modifies CI workflows to automatically publish WASM content formcp-server v2.0.3to legacy paths (1.0.0/2.0.0) duringplugin-serverbuilds, and adds compatibility tests verifying this behavior—ensuring legacyWasmPluginCRs continue loading without modification.
Feature Value: Ensures smooth upgrades for existing users, preventing runtime loading failures due to plugin path changes; lowers migration cost and enhances backward compatibility and stability—especially critical for production plugin configurations relying on fixed paths. -
Related PR: #5314
Contributor: @johnlanni
Change Log: Unifies and explicitly pins the Go toolchain version in CI/CD workflows to1.26.10, replacing prior dynamic reading viago.mod, adds toolchain version pinning and verification guidance toRELEASE.md, and cleans up obsoleteGO_VERSIONvariables inprebuild.sh.
Feature Value: Improves reproducibility and consistency of release builds, avoiding toolchain version drift due to differinggodirectives in modules; users receive more stable, verifiable binary artifacts, strengthening security audit and compliance capabilities. -
Related PR: #5312
Contributor: @johnlanni
Change Log: Changes the controller’s xDS gRPC listener address from wildcard binding (:15051/:15010) to loopback-only binding (127.0.0.1), and removes the exposed plaintext xDS ports15010and15051from the Service—tightening the default network attack surface.
Feature Value: Enhances controller security by preventing non-local components from accidentally accessing sensitive xDS interfaces; reduces attack surface, aligning with the principle of least privilege—functionally transparent to users but strengthens production deployment security baselines. -
Related PR: #5276
Contributor: @johnlanni
Change Log: Removesgolangci-lintsource dependencies (go.mod/go.sum/pin.go) in favor of the official precompiled binaryv2.15.0, secured via fixed SHA-256 checksum validation; migrates configuration tov2schema while retaining the 10-minute timeout limit.
Feature Value: Reduces build dependency complexity and security risk, accelerating CI lint-stage execution; avoids indirect dependency contamination of the project module graph, improving maintainability and reproducibility; no functional impact for end users but strengthens the stability and compliance of the code-quality assurance system. -
Related PR: #5125
Contributor: @johnlanni
Change Log: Replaces error-pronefmt.Sprintfstring concatenation for generating MCP server filter configurations in Ingress with typed-struct–basedencoding/jsonserialization—enhancing automatic field-value escaping and type safety, and unifying rendering logic.
Feature Value: Improves robustness and maintainability of configuration generation, avoiding Envoy configuration failures caused by JSON injection or formatting errors—making Ingress rule matching more stable and reliable, indirectly enhancing accuracy and security of user service routing and traffic management. -
Related PR: #5123
Contributor: @johnlanni
Change Log: Disables server reflection for xDS configuration push gRPC listeners in production environments to prevent easy enumeration of services and RPC interfaces; adds new unit tests explicitly locking down default gRPC configuration to enhance traceability of config changes and regression protection.
Feature Value: Enhances controller security in production environments by reducing the attack surface; locking default configuration via tests improves system stability and maintainability and reduces potential runtime anomalies caused by implicit config changes—delivering significant value to operations and security teams.
📚 Documentation Updates (Documentation)
-
Related PR: #5318
Contributor: @johnlanni
Change Log: Fixes four lingering Git conflict markers (<<<<<<<,=======,>>>>>>>) in the MCP server Chinese README, adjusts the positions of sections “Main Request Forwarding Compatibility” and “Explicitly Deferred Scope” to align with the English version structure—ensuring readability and maintainability.
Feature Value: Eliminates confusing conflict markers in documentation, improving user reading experience and technical documentation credibility; unifies Chinese/English README structure, lowering multilingual maintenance cost and preventing developers from misconfiguring due to misinterpreting conflict content. -
Related PR: #5206
Contributor: @tju-yxq
Change Log: Corrects erroneous descriptions in migration documentation regarding Nginx annotation compatibility: removes 12 authentication-related annotations Higress does not implement (e.g.,auth-type/auth-secret/auth-realm), retaining only truly supported annotations, and synchronizes mapping relationships inannotation-mapping.md.
Feature Value: Prevents users from misusing unsupported Nginx authentication annotations causing configuration failures or behavioral anomalies—improving documentation accuracy and migration reliability; helps developers quickly identify genuinely available Higress-native annotations, lowering migration cognitive load and debugging time. -
Related PR: #5054
Contributor: @dusk5-Surtr
Change Log: Corrects spelling errors in multiple plugin READMEs and code comments, including'Json Web Toke'→'Json Web Token','ture'→'true', etc., identified and fixed using the project’s built-incodespellchecker—no functional or behavioral changes involved.
Feature Value: Improves documentation professionalism and readability, avoiding user misunderstandings caused by typos—especially ensuring accuracy of key terms like Boolean values in configuration instructions, enhancing developer confidence in plugin functionality and correct usage. -
Related PR: #5036
Contributor: @sunxia0
Change Log: Synchronizes Chinese/English READMEs and official website guides for the MCP Server plugin, embedding complete configuration documentation (including protocol strategies, toolsets, REST tools, credential handling, proxy examples, andmcp-routersource links) directly into the plugin repository docs, removing website-specific metadata and standardizing whitespace.
Feature Value: Improves developer experience by enabling one-stop, authoritative configuration documentation access within the repository—eliminating need to navigate to the website for MCP Server plugin deployment and debugging, lowering entry barriers and enhancing doc maintainability and multilingual consistency. -
Related PR: #5030
Contributor: @Black-Break
Change Log: Corrects two critical errors in thewasm-goplugin README: thefrontend-grayplugin’s incorrect injection field name (should beinjection.body.first/last, notafter) and theip-restrictionplugin’s HTTP header name casing error (x-real-iP→x-real-ip), ensuring strict documentation–code alignment.
Feature Value: Prevents users from misconfiguring plugins due to referencing incorrect documentation, improving configuration accuracy and out-of-the-box experience; particularly, fixing theip-restrictionheader name prevents case-sensitive auth failures, enhancing production stability. -
Related PR: #4996
Contributor: @github-actions[bot]
Change Log: This PR adds bilingual release notes files (README.mdandREADME_ZH.md) for v2.2.5, contributing 1,678 lines covering categorized statistics of 133 updates, new features, bug fixes, refactoring, and documentation improvements—automatically generated by GitHub Actions.
Feature Value: Provides users with a structured, searchable overview of version changes, significantly improving version transparency and upgrade decision efficiency; bilingual support lowers understanding barriers for domestic and international users, enhancing community friendliness and product professionalism. -
Related PR: #4916
Contributor: @muzimu217
Change Log: Adds documentation for thesecurityTokenconfiguration option in the Englishai-security-guardplugin README, supporting Alibaba Cloud STS temporary credential authentication—already implemented in Chinese docs and code but omitted in English docs.
Feature Value: Enables English-speaking users to fully understand all configurable options of theai-security-guardplugin, preventing oversight of security token configuration due to documentation gaps—improving multilingual user adoption of the plugin’s security capabilities and trust. -
Related PR: #4915
Contributor: @muzimu217
Change Log: Corrects a field-name error in the Englishai-proxyplugin README for Vertex provider security configuration, replacing the nonexistent'vertexGeminiSafetySetting'with the code-actual and used'geminiSafetySetting'—ensuring doc–source alignment.
Feature Value: Prevents users from misconfiguring security settings due to doc-induced errors, improving configuration accuracy and debugging efficiency, and enhancing documentation credibility and developer experience. -
Related PR: #4781
Contributor: @muzimu217
Change Log: Corrects erroneous descriptions of theinjection.bodyconfiguration field in the Chinesefrontend-grayplugin README, replacing the invalid'after'field name with the code-supported'first'and'last'—ensuring strict doc–source alignment.
Feature Value: Prevents gray injection functionality failure due to misconfiguration based on incorrect documentation, improving configuration accuracy and debugging efficiency, reducing online issue risks from doc ambiguity, and enhancing plugin usability and maintainability. -
Related PR: #4140
Contributor: @yyyCode
Change Log: Corrects spelling errors across multiplewasm-goplugins (ai-proxy,cors,transformer) and MCP server configuration files (mcp-business-credit-rating), including'compatiable'→'compatible','explictly'→'explicitly','protocal'→'protocol','arbitary'→'arbitrary', and tool name'bussiness-credit-rating'→'business-credit-rating'.
Feature Value: Improves documentation and configuration accuracy and professionalism, avoiding user misinterpretation of configuration meanings or confusion in debug logs due to typos; correcting the tool name ensures correct MCP protocol identification, safeguarding plugin registration and invocation reliability—indirectly enhancing system maintainability and collaboration efficiency.
🧪 Test Improvements (Testing)
-
Related PR: #5329
Contributor: @johnlanni
Change Log: Fixes the plugin preparation validation workflow’s execution environment fromubuntu-latesttoubuntu-22.04to avoidonigurumacompilation failures caused by Ubuntu 26’s bundled GCC 15, ensuring Rust artifacts rebuild stably in CI.
Feature Value: Improves CI build stability and predictability, preventing unexpected compilation failures due to system toolchain upgrades—ensuring smooth plugin release pipelines and lowering maintainer effort spent troubleshooting non-functional build issues. -
Related PR: #5326
Contributor: @johnlanni
Change Log: Pins the plugin release preparation CI job toubuntu-22.04, avoiding build failures caused byubuntu-latestupgrading to Ubuntu 26 and GCC 15’s incompatibility withonigurumaC source; only adjusts thepreparejob environment, leaving Wasm build containers unaffected.
Feature Value: Ensures stable and reliable plugin release processes, preventing compilation interruptions caused by system environment changes; guarantees users consistently receive fully tested plugin release candidates—enhancing delivery quality and trustworthiness. -
Related PR: #5322
Contributor: @johnlanni
Change Log: Adds end-to-end SRDS scaling regression protection tests: creates 200/400 Ingress resources in stages and measures latency for new Ingresses to become effective, validating gateway route-propagation performance stability—supported by CI workflows and configurable threshold validation.
Feature Value: Guarantees timely route activation during Ingress scale growth, preventing performance regressions from impacting business rollout speed; provides quantifiable SLA assurance capabilities for large-scale Ingress scenarios—enhancing production stability and operational observability. -
Related PR: #5320
Contributor: @johnlanni
Change Log: Adds a manually triggered CI workflow supporting appending additional tags to published plugin images in public registries, reusing existing registry configurations with dry-run and overwrite control—improving version-release flexibility.
Feature Value: Enables maintainers to rapidly patch or supplement plugin image tags (e.g., retroactively applying semantic-version tags) without rebuilding and repushing images—shortening incident response time and enhancing version-management reliability and operational efficiency. -
Related PR: #5286
Contributor: @johnlanni
Change Log: Adds regression tests for HTTP/2 DATA frame body handling, covering multi-frame, empty-frame, and end-of-stream body parsing logic inext-authandhmac-auth-apisixplugins—usingx/net/http2to parse real H2 frames and drive host simulators to execute plugin callbacks, improving test determinism in protocol-boundary scenarios.
Feature Value: Strengthens HTTP/2 protocol compatibility assurance, proactively capturing body-processing defects in edge cases like DATA frame fragmentation and empty frames—reducing production risks of authentication failures or data truncation from H2 streaming-body parsing anomalies and improving gateway stability/reliability in high-concurrency microservice H2 communication. -
Related PR: #5239
Contributor: @johnlanni
Change Log: Replaces shortened 7-character commit SHAs referenced in GitHub Actionstranslatesteps with full 40-character SHAs, fixing persistenttranslatestep failures caused by GitHub’s lack of support for short SHA resolution—ensuring stable execution of multilingual content translation in CI.
Feature Value: Fixes stability issues in the PR merge pipeline’s translation step, preventing CI failures due to action-reference invalidation—improving feedback reliability for developers submitting PRs and automation workflow success rates, ensuring continuous availability of documentation internationalization. -
Related PR: #5211
Contributor: @johnlanni
Change Log: Enhances the resilience of the content translation workflow against upstream API instability by pinning GitHub Action commit hashes, enablingcontinue-on-errorfor thetranslatestep, and optimizing error-handling logic—reducing CI failures caused by intermittent external service rejections (e.g., long Chinese texts).
Feature Value: Improves CI workflow stability and reliability, avoiding false negatives from transient upstream translation API rejections—reducing developer wait times for retries and accelerating PR review and merge efficiency, improving collaboration experience.
📊 Release Statistics
- 🚀 New Features: 2
- 🐛 Bug Fixes: 49
- ♻️ Refactoring & Optimizations: 8
- 📚 Documentation Updates: 10
- 🧪 Test Improvements: 7
Total: 76 changes
Thanks to all contributors for their hard work! 🎉
Higress Console
📋 Overview of This Release
This release includes 19 updates, covering feature enhancements, bug fixes, performance optimizations, and more.
Distribution of Updates
- New Features: 8
- Bug Fixes: 9
- Documentation Updates: 2
📝 Full Change Log
🚀 New Features (Features)
-
Related PR: #622
Contributor: @CH3CHO
Change Log: Switched the base image in the backend Dockerfile from the deprecatedopenjdk:21-jdk-slimto the officially recommendedeclipse-temurin:21-jdk, modifying only theFROMinstruction to ensure continued security updates and long-term support for the JDK runtime environment.
Feature Value: Enhances container image security and maintainability, preventing build failures or vulnerability risks caused by deprecation of theopenjdkimage repository; users benefit from a more stable and compliant Java runtime environment without any code changes. -
Related PR: #621
Contributor: @Thomas-Eliot
Change Log: Enhanced MCP Server interaction capabilities, including automaticHostheader rewriting for DNS backends, transport protocol selection, full path replacement, and correct parsing of the special character@in DSN strings under database (DB) scenarios; introduced newDirectRouteand DB configuration classes along with related constants.
Feature Value: Improves flexibility and compatibility when integrating MCP Servers, reduces user configuration complexity, prevents path ambiguity and DSN parsing errors, enabling developers to integrate diverse MCP services more stably and conveniently—thus strengthening platform extensibility and usability. -
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 displaying an "Enabled" label in the configuration panel; extendedroute.tsxandPluginListcomponent logic, integrated i18n internationalization support, and adapted plugin query logic for AI route types.
Feature Value: Users can intuitively view and verify enabled plugins directly within the AI route management interface—consistent with the experience for standard routes—enhancing transparency and maintainability of AI route configurations, reducing misconfiguration risks, and improving platform consistency and operational uniformity. -
Related PR: #604
Contributor: @CH3CHO
Change Log: Added support for regular-expression-based path rewriting via thehigress.io/rewrite-targetannotation; extended Kubernetes constant definitions and route configuration transformation logic, and added corresponding unit test cases as well as internationalized frontend and backend copy.
Feature Value: Enables users to flexibly define path rewrite rules using regular expressions, improving routing accuracy and flexibility—ideal for complex URL transformation scenarios—and significantly enhancing the gateway’s adaptability in microservice and API governance contexts. -
Related PR: #603
Contributor: @CH3CHO
Change Log: Defined the constantSTATIC_SERVICE_PORT = 80in the static service source form component and explicitly displayed this fixed port in the UI, making it clear to users that static services default to port 80—improving configuration transparency and predictability.
Feature Value: Users configuring static service sources can clearly see the preset port 80, reducing configuration errors caused by port-related misunderstandings, boosting operational efficiency and deployment success rates—especially beneficial for newcomers rapidly grasping service binding logic. -
Related PR: #602
Contributor: @CH3CHO
Change Log: Added search functionality to the upstream service selection component for AI routes, enhancing input interaction logic in theRouteFormcomponent to support dynamic filtering and rapid targeting of desired services, thereby improving configuration efficiency.
Feature Value: Users configuring AI routes can perform real-time searches for upstream services, eliminating the need to manually scroll through lengthy service lists—significantly shortening configuration time and lowering the probability of incorrect selections—enhancing platform usability and operational efficiency. -
Related PR: #566
Contributor: @OuterCyrex
Change Log: Added support for Tongyi Qwen (Qwen), a large language model service, including custom service configuration, internet search enablement, and file ID upload; introduced Qwen-specific handler classes, frontend multilingual translation entries, and a dedicated Provider configuration form component.
Feature Value: Empowers users to flexibly integrate self-hosted or privately deployed Qwen services, supporting advanced capabilities such as internet-connected search and file-context injection—enhancing the AI gateway’s compatibility with domestic large language models and its enterprise customization capability. -
Related PR: #552
Contributor: @lcfang
Change Log: Introduced theVPort(virtual port) attribute, extending registration center configuration capabilities in MCP Bridge; added thevportfield inServiceSource, and implementedvportparsing and propagation in both the Kubernetes model transformer and CRD definition—ensuring routing compatibility when service instance ports vary across environments.
Feature Value: Resolves routing failures caused by dynamically changing backend ports in registration centers (e.g., Eureka/Nacos); users can configure a unified virtual port (vport) to guarantee routing stability and cross-environment deployment compatibility—reducing operational configuration complexity.
🐛 Bug Fixes (Bug Fixes)
-
Related PR: #620
Contributor: @CH3CHO
Change Log: Fixed a typographical error in thesortWasmPluginMatchRuleslogic—correcting misspelled variable names or conditional expressions—to ensure proper execution of WASM plugin match rule sorting and prevent potential null pointer exceptions or logic inconsistencies caused by naming errors.
Feature Value: Enhances the stability and reliability of WASM plugin match rule sorting, preventing runtime exceptions or erroneous rule ordering due to coding typos—ensuring that users’ custom WASM plugin policies take effect as intended and strengthening overall system robustness. -
Related PR: #619
Contributor: @CH3CHO
Change Log: Fixed duplicate version information persistence when convertingAiRoutetoConfigMap—removed theversionfield from thedataJSON payload to avoid conflicts with the version information embedded in theConfigMapmetadata—ensuring configuration consistency.
Feature Value: Improves the accuracy and reliability of Kubernetes resource configuration, preventing parsing anomalies or deployment failures caused by redundant version fields—makingAiRoute-based configuration management more stable and predictable. -
Related PR: #618
Contributor: @CH3CHO
Change Log: Refactored API authentication logic inSystemController, introducing the@AllowAnonymousannotation to explicitly mark endpoints requiring no authentication, and explicitly declaring exempt permissions in multiple controllers (e.g.,Healthz,Landing,Session) to eliminate unauthorized access security vulnerabilities stemming from default authentication policies.
Feature Value: Fixes an authentication bypass security vulnerability in system controllers, preventing unauthenticated users from accessing sensitive interfaces—significantly improving platform security and compliance—and safeguarding user data and system resources against unauthorized access or abuse. -
Related PR: #617
Contributor: @CH3CHO
Change Log: Fixed React warnings during frontend list rendering caused by missing uniquekeyprops; corrected the type of theConsumer.namefield (changed frombooleantostring); optimized image loading strategies to comply with Content Security Policy (CSP).
Feature Value: Enhances frontend application stability and user experience—eliminating console errors that interfere with development debugging, fixing type mismatches that could cause runtime exceptions, and resolving image loading failures to ensure UI elements render correctly. -
Related PR: #614
Contributor: @lc0138
Change Log: Fixed the type definition issue for thetypefield (indicating service origin) in theServiceSourceclass, adding dictionary-value validation logic to allow only legitimate registry types—preventing runtime type errors and illegal data writes.
Feature Value: Strengthens the robustness and security of service origin configuration—preventing service discovery failures or system anomalies caused by invalidtypevalues—and ensures configuration reliability and stability in multi-registry environments. -
Related PR: #613
Contributor: @lc0138
Change Log: Fixed the missing Content Security Policy (CSP) configuration on the frontend by adding the appropriate<meta>tag and related security headers indocument.tsx, mitigating client-side injection attacks such as XSS and enhancing overall application security.
Feature Value: Effectively mitigates cross-site scripting (XSS) and other security risks arising from incomplete CSP enforcement on the frontend—strengthening the security of user data and UI interactions, reducing the likelihood of malicious script execution, and improving system compliance and trustworthiness. -
Related PR: #612
Contributor: @zhwaaaaaa
Change Log: Added logic inDashboardServiceImplto ignore hop-to-hop headers (e.g.,transfer-encoding) per RFC 2616 Section 13.5.1, preventing reverse proxy forwarding of thetransfer-encoding: chunkedheader—which previously caused Grafana dashboard pages to fail loading.
Feature Value: Fixes the issue where Grafana dashboard pages failed to load due to reverse proxy passthrough of thetransfer-encoding: chunkedheader—improving console stability and user experience, and ensuring reliable operation of monitoring dashboards. -
Related PR: #609
Contributor: @CH3CHO
Change Log: Fixed a type error in theConsumerinterface’snamefield—correcting it frombooleantostring—to align the frontend data structure with actual backend response values and prevent runtime errors or type-checking failures caused by type mismatches.
Feature Value: Improves type safety and code robustness—preventing UI rendering anomalies, form submission failures, or TypeScript compilation errors resulting from an incorrectly typednamefield—and ensures accurate display and interaction with consumer information. -
Related PR: #605
Contributor: @SaladDay
Change Log: Refined the regular expression validation rule for AI route names—adding support for the dot (.) character while restricting alphabetic characters to lowercase only (a-z); updated both Chinese and English error messages to match the revised validation logic—ensuring UI prompts accurately reflect actual validation behavior.
Feature Value: Resolves issues where users were incorrectly blocked from creating AI routes containing dots in their names—enhancing form validation accuracy and UI consistency; prevents configuration failures caused by misleading error messages—strengthening system robustness and usability.
📚 Documentation Updates (Documentation)
-
Related PR: #611
Contributor: @qshuai
Change Log: Fixed an inaccurate summary description in the OpenAPI documentation for the@PostMappingendpoint inLlmProvidersController, correcting the erroneous “Add a new route” text to a description aligned with the endpoint’s actual function—ensuring API documentation accuracy.
Feature Value: Improves API documentation accuracy and readability, helping developers correctly understand the endpoint’s purpose (LLM provider management) and avoid integration errors due to misleading descriptions—enhancing the usability and professionalism of the console’s API. -
Related PR: #610
Contributor: @heimanba
Change Log: Updated thefrontend-grayplugin documentation to mark therewrite,backendVersion, andenabledfields as optional; updated therules.namepath reference tograyDeployments[].name; and synchronized field descriptions and terminology in both Chinese and EnglishREADMEfiles andspec.yaml—improving documentation accuracy and configuration flexibility.
Feature Value: Grants users greater configuration flexibility and lowers the barrier to adoption; corrects field association descriptions and ensures consistent terminology—avoiding configuration misunderstandings or deployment failures caused by documentation inaccuracies—and enhances developer experience and plugin reliability.
📊 Release Statistics
- 🚀 New Features: 8
- 🐛 Bug Fixes: 9
- 📚 Documentation Updates: 2
Total: 19 changes
Thank you to all contributors for your hard work! 🎉
Upgrade notes
- Console: existing sessions are invalidated once after upgrade; users must sign in again. Default limits are 30 minutes idle / 8 hours absolute and can be disabled with
0. Basic auth is disabled by default. LLM provider keys are returned only at creation time; duplicate creates return 409. - mcp-e2bdev:
execute_code_sandboxwas removed. The MCP server now only creates and kills sandboxes. - REST-to-MCP: path arguments are escaped before being placed into the request URL. Path values containing
/, dot segments,?/#or pre-encoded data need migration, or the explicit unsafe compatibility switch. - Envoy: the data plane is upgraded to 1.36.12 through the proxy v2.2.6 packages.