6 hours ago
higress

v2.2.6

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, and snapshots—to record version hashes, source commits, baseline commits, and plugin dependency relationships. It also updates the ai-agent and ai-cache plugin versions to 2.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 the server.passthroughInstructions configuration option, enabling optional passthrough of upstream instructions strings in MCP proxy discovery responses. It reuses existing RouteCall and 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 commit 383f79d, 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. Adds url.PathEscape for 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 causing 503 errors when global_inflight_enabled is enabled. Changes the return value of the asynchronous scheduling path to HeaderStopAllIterationAndWatermark, ensuring callbacks correctly resume request processing.
    Feature Value: Prevents users from encountering persistent 503 cluster_not_found errors 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 the hmac-auth-apisix plugin by adopting crypto/subtle.ConstantTimeCompare for 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 OpenAI content field. Models content as Option<MessageContent> to support either string or content fragment arrays; maps null/missing values to None, 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-request HttpContext, 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-free data line 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 the 2025-11-25 MCP protocol version in the MCP server, extending initialization handshake logic to recognize and respond correctly to this version, while retaining the 2025-06-18 fallback mechanism and enforcing strict rejection of unknown versions.
    Feature Value: Allows MCP clients to successfully complete initialization negotiation using the 2025-11-25 protocol 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 path uid and the actual authenticated subject, strengthening 401/403 error 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 enabling user-level-server, avoiding privilege bypass risks due to path spoofing.

  • Related PR: #5293
    Contributor: @johnlanni
    Change Log: Removes the dangerous x-higress-mcpserver-config request header during the DecodeHeaders phase 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 integrating wasm-go v1.2.0’s RequireRequestBody() API, ensuring ext-auth and hmac-auth-apisix plugins force-read and pass raw request bodies for binary, gRPC, and encoding-oriented Content-Types (e.g., application/octet-stream) when with_request_body is 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 request Content-Type when with_request_body:true is 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 only object type 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 of signed_headers in the hmac-auth-apisix plugin: when not explicitly configured, it now defaults to signing the date header, binding the request signature to a timestamp and enabling clock_skew validation; previously, omission resulted in static string-to-sign containing 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 the cluster-key-rate-limit and replay-protection plugins, uniformly handling all Redis exception types, and ensuring fail_closed returns a fixed 503 without emitting the X-RateLimit header 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_open ensures service availability, while fail_closed strictly 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 evaluating rewrite.host, causing non-HTML requests that should have been skipped still injected x-higress-tag and rewrote :authority.
    Feature Value: Ensures requests matching skippedByHeaders configurations (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 historical Retry-After/WWW-Authenticate headers.
    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 by usage field fragmentation across chunks, introducing sseFramer for unified frame parsing and performing deferred parsing of incomplete tail segments at endOfStream, ensuring accurate counting of every usage event.
    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: Fixes outputParser panics 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 negative kv_cache_usage_perc samples in KV cache utilization metrics by adding validation for negative values in ParseCompactVLLMMetrics, preventing incorrect mapping to 1.0 (maximum score) via transformOneMinus, 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: Fixes MessageWindow::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 the truncateString function of the jsonrpc-converter plugin 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 the mode parameter in the cluster_metrics load-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 missing mode values, 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 the global_least_request load-balancing strategy: when Redis EVAL returns an exception or SetUpstreamOverrideHost fails, 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 for tool 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 synchronous DispatchHttpCall failure by modifying the opaCall function to send 503 responses 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 corrects RetryDelayTime units 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 --agentrun flag in the hgctl agent deploy command: declares the cloud variable earlier in deploy.go and passes it correctly to DeployHandler, and corrects getAgentType logic to avoid overwriting user-specified deployment types.
    Feature Value: Users can now truly control agent deployment targets (local vs. cloud) via the --agentrun flag, 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 HTTP 500 errors 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 when jsonSchema is present, preventing nil-map-to-null conversion exceptions.
    Feature Value: Users no longer encounter unexpected 500 errors when invoking AI APIs in schema-free mode—significantly improving service stability; retains existing schema-based functionality and error-code semantics (e.g., 1001 remains unchanged), ensuring backward compatibility and observability.

  • Related PR: #5126
    Contributor: @Metastarx
    Change Log: Fixes panics in the ai-rag plugin 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, 5xx errors, invalid JSON)—improving RAG functionality stability and user-experience reliability, ensuring production-service continuity.

  • Related PR: #5124
    Contributor: @johnlanni
    Change Log: Adds the DuplicateTopLevelMember helper function, detecting duplicate top-level model fields in request bodies via single-pass structural scanning to avoid JSON parsing ambiguity; performs pre-validation in the AI load balancer and returns 400 errors 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 duplicate model fields—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-empty username/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 the qwen3guard plugin returning non-streaming JSON responses for stream=true requests, adding SSE streaming denial-response support; dynamically selects Content-Type and response format by parsing the stream field in requests and updating README documentation.
    Feature Value: Aligns interception denial responses with the client’s stream flag, resolving empty-message display issues in streaming clients like Dify caused by missing data: frames—improving compatibility and user experience, ensuring denyMessage renders correctly in workflows.

  • Related PR: #5085
    Contributor: @Metastarx
    Change Log: Fixes panics in ai-proxy when parsing malformed content sections (e.g., empty image_url objects, non-string fields, missing input_audio/file fields) 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 of 500 responses, 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, and trim operations 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: Fixes token rate limiter panics and fail-open bypass caused by malformed real-IP request headers (e.g., ] or ]:80); replaces vulnerable strings.Split with safe strings.TrimPrefix for IPv6 bracket removal and enhances IP parsing robustness.
    Feature Value: Prevents attackers from bypassing rate limiting via malicious real-IP headers, 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 buffers application/json responses 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 for Int/Float/Boolean variables to prevent attackers from injecting arbitrary fields into the variables object 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 MCP tools/list and tools/call with the RouteCall SDK under legacy/modern/auto strategies—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: Fixes index-out-of-range panics in Chroma vector provider’s parseQueryResponse function when handling empty responses (e.g., missing ids field or empty ids array), adding boundary checks and error-handling logic to ensure HTTP callbacks complete normally and invoke handleQueryResults.
    Feature Value: Prevents entire AI cache query requests from hanging or crashing due to abnormal empty Chroma service responses (e.g., unknown collection errors, empty ids arrays)—improving system stability and fault tolerance, ensuring continued availability of AI-related features for users.

  • Related PR: #4950
    Contributor: @yyqdbngt
    Change Log: Fixes ParseIP panic caused by empty-string slicing when parsing malformed IPv6-formatted Real-IP headers (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 malicious X-Forwarded-For headers, improving gateway stability and security when per-IP rate limiting relies on header-extracted IPs.

  • Related PR: #4948
    Contributor: @yyqdbngt
    Change Log: Fixes geo-ip plugin ParseIP panic when processing malformed Real-IP headers (e.g., "]" or "]:80") caused by empty-string slicing, replacing strings.Split with strings.TrimPrefix for safe IPv6 address extraction and enhancing boundary validation.
    Feature Value: Prevents WASM plugin crashes triggered by malicious X-Forwarded-For headers, 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-input prompt in upstream request-body construction for the ChatGPT proxy plugin by importing the encoding/json package and using json.Marshal to safely serialize prompt and 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 malformed Real-IP request 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 malicious X-Forwarded-For headers, 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 in FilterGrayRule of the frontend-gray plugin when rules are nil, adding safety checks for GetRule returning nil, 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 by recoverFunc in 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: upgrades VERSION file and appVersion in helm/core and helm/higress Chart.yaml from 2.2.5 to 2.2.6, and synchronizes the higress-core dependency version in Chart.lock to 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 version 1.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 for mcp-server v2.0.3 to legacy paths (1.0.0/2.0.0) during plugin-server builds, and adds compatibility tests verifying this behavior—ensuring legacy WasmPlugin CRs 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 to 1.26.10, replacing prior dynamic reading via go.mod, adds toolchain version pinning and verification guidance to RELEASE.md, and cleans up obsolete GO_VERSION variables in prebuild.sh.
    Feature Value: Improves reproducibility and consistency of release builds, avoiding toolchain version drift due to differing go directives 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 ports 15010 and 15051 from 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: Removes golangci-lint source dependencies (go.mod/go.sum/pin.go) in favor of the official precompiled binary v2.15.0, secured via fixed SHA-256 checksum validation; migrates configuration to v2 schema 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-prone fmt.Sprintf string concatenation for generating MCP server filter configurations in Ingress with typed-struct–based encoding/json serialization—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 in annotation-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-in codespell checker—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, and mcp-router source 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 the wasm-go plugin README: the frontend-gray plugin’s incorrect injection field name (should be injection.body.first/last, not after) and the ip-restriction plugin’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 the ip-restriction header 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.md and README_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 the securityToken configuration option in the English ai-security-guard plugin 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 the ai-security-guard plugin, 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 English ai-proxy plugin 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 the injection.body configuration field in the Chinese frontend-gray plugin 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 multiple wasm-go plugins (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 from ubuntu-latest to ubuntu-22.04 to avoid oniguruma compilation 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 to ubuntu-22.04, avoiding build failures caused by ubuntu-latest upgrading to Ubuntu 26 and GCC 15’s incompatibility with oniguruma C source; only adjusts the prepare job 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 in ext-auth and hmac-auth-apisix plugins—using x/net/http2 to 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 Actions translate steps with full 40-character SHAs, fixing persistent translate step 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, enabling continue-on-error for the translate step, 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 deprecated openjdk:21-jdk-slim to the officially recommended eclipse-temurin:21-jdk, modifying only the FROM instruction 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 the openjdk image 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 automatic Host header 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 new DirectRoute and 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; extended route.tsx and PluginList component 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 the higress.io/rewrite-target annotation; 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 constant STATIC_SERVICE_PORT = 80 in 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 the RouteForm component 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 the VPort (virtual port) attribute, extending registration center configuration capabilities in MCP Bridge; added the vport field in ServiceSource, and implemented vport parsing 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 the sortWasmPluginMatchRules logic—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 converting AiRoute to ConfigMap—removed the version field from the data JSON payload to avoid conflicts with the version information embedded in the ConfigMap metadata—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—making AiRoute-based configuration management more stable and predictable.

  • Related PR: #618
    Contributor: @CH3CHO
    Change Log: Refactored API authentication logic in SystemController, introducing the @AllowAnonymous annotation 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 unique key props; corrected the type of the Consumer.name field (changed from boolean to string); 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 the type field (indicating service origin) in the ServiceSource class, 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 invalid type values—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 in document.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 in DashboardServiceImpl to ignore hop-to-hop headers (e.g., transfer-encoding) per RFC 2616 Section 13.5.1, preventing reverse proxy forwarding of the transfer-encoding: chunked header—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 the transfer-encoding: chunked header—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 the Consumer interface’s name field—correcting it from boolean to string—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 typed name field—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 @PostMapping endpoint in LlmProvidersController, 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 the frontend-gray plugin documentation to mark the rewrite, backendVersion, and enabled fields as optional; updated the rules.name path reference to grayDeployments[].name; and synchronized field descriptions and terminology in both Chinese and English README files and spec.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_sandbox was 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.
18 hours ago
fluent-bit

Experimental browser SDK d9464c001e4ab5a17b8dac566e4f7ab25c2bcb0b

Experimental browser SDK from master. Optimized and ASan browser validation passed. Validation: https://github.com/fluent/fluent-bit/actions/runs/42638577545 Download the archive, verify its checksum, and deploy the complete SDK on your application origin. HTTPS and COOP/COEP are required. This is not a production support promise.

19 hours ago
orientdb

3.2.58

This patch release saw fixes is multiple areas done by multiple contributors, in the specific fixes in LIKE operator and remote spatial done by @mvanhorn, fixes in use of spatial index in functions done by @sblommers, the rest done by the maintainers, following the list of changes

Changes

Core

  • Fix like operator to match in the wildcard also new line terminators #10895

Lucene

  • Use spacial index in equality operations, issue #10893

Remote

  • Avoid to encode document to spatial types in remote client, issue #10929

Distributed

  • Make sure to drop cached sync backup in case of error like out of disk space, issue #10987

Artifacts

orientdb-community-3.2.58.tar.gz orientdb-community-3.2.58.zip

orientdb-tp3-3.2.58.tar.gz orientdb-tp3-3.2.58.zip

agent-3.2.58.jar

22 hours ago
MeiliSearch

v1.56.2 🐫

Meilisearch v1.56.2 removes a leftover debug statement that could impede performance and was a regression from v1.56.1. Upgrading from previous versions of Meilisearch is strongly recommended.

It also updates several dependencies.

🦋 Fixes

🔩 Miscellaneous

Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.56.1...v1.56.2

1 days ago
fluent-bit

Experimental browser SDK 8590ef6a819e36b84ee14ae325f46ea10b3ef852

Experimental browser SDK from master. Optimized and ASan browser validation passed. Validation: https://github.com/fluent/fluent-bit/actions/runs/42575727358 Download the archive, verify its checksum, and deploy the complete SDK on your application origin. HTTPS and COOP/COEP are required. This is not a production support promise.

1 days ago
fluent-bit

Experimental browser SDK e0149076aeff009d35fd495e55379cb78f1eb53f

Experimental browser SDK from master. Optimized and ASan browser validation passed. Validation: https://github.com/fluent/fluent-bit/actions/runs/42546763161 Download the archive, verify its checksum, and deploy the complete SDK on your application origin. HTTPS and COOP/COEP are required. This is not a production support promise.

1 days ago
fluent-bit

Fluent Bit 5.2.0

https://fluentbit.io/announcements/v5.2.0/

What's Changed

New Contributors

Full Changelog: https://github.com/fluent/fluent-bit/compare/v5.1.5...v5.2.0

1 days ago
seaweedfs

4.53

What's Changed

New Contributors

Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.52...4.53

2 days ago
fluent-bit

Experimental browser SDK fc966e90da4d99afc36bee42e3ac444dcab9372e

Experimental browser SDK from master. Optimized and ASan browser validation passed. Validation: https://github.com/fluent/fluent-bit/actions/runs/42444933244 Download the archive, verify its checksum, and deploy the complete SDK on your application origin. HTTPS and COOP/COEP are required. This is not a production support promise.

2 days ago
fluent-bit

Experimental browser SDK 28ebf30c97d5bcb9ac6e3af3794023f1ebc92543

Experimental browser SDK from master. Optimized and ASan browser validation passed. Validation: https://github.com/fluent/fluent-bit/actions/runs/42431835660 Download the archive, verify its checksum, and deploy the complete SDK on your application origin. HTTPS and COOP/COEP are required. This is not a production support promise.