API7 Gateway 3.5.0
Multiple Upstreams in a Service: For advanced scenarios such as canary deployments, blue-green deployments, or managing multiple clusters, a service can now utilize multiple upstreams.
Release Date: 2025-01-27
Features
Data Plane
- Multiple Upstreams in a Service: For advanced scenarios such as canary deployments, blue-green deployments, or managing multiple clusters, a service can now utilize multiple upstreams. In such cases, a default upstream serves as the primary target for most requests, while other upstreams can be used for specific purposes, such as routing traffic to a canary deployment or a secondary cluster. See the renewed Configure Canary Traffic Shifting for details.
The old Canary Rule function is no longer available.
- Supported custom configuration of DP metrics label through Prometheus (opens in Plugin Hub docs) plugin metadata.
- Optimized performance of data plane Prometheus metrics reporting.
- [Beta] Configured mTLS for upstream. API support is currently available. Full support is coming soon.
Plugins
- OpenID Connect (opens in Plugin Hub docs)
- Added
redirect_after_logout_urifor plugin that do not have anend_session_endpoint.#10653
- Added
- Zipkin (opens in Plugin Hub docs)
- Added Zipkin variable.#10361
- Proxy Rewrite (opens in Plugin Hub docs)
- GRPC web
- Supported configuring
allow-headers.#10904
- Supported configuring
- Mocking (opens in Plugin Hub docs)
- Supported adding headers.#9720
- OPA (opens in Plugin Hub docs)
- Supported sending headers upstream returned by OPA.#9710
- HTTP Logger (opens in Plugin Hub docs)
- Supported compressed responses in loggers.#10884
- Kafka Logger (opens in Plugin Hub docs)
- Supported compressed responses in loggers.#10884
- RocketMQ Logger (opens in Plugin Hub docs)
- Supported compressed responses in loggers.#10884
- Traffic Split (opens in Plugin Hub docs)
- Supported HTTPs.#9115
Admin APIs
- Added Multiple Upstreams related APIs:
- Create a upstream in a published service on a gateway group.
- Update a upstream in a published service on a gateway group.
- Patch a upstream in a published service on a gateway group.
- List all upstreams in a published service on a gateway group.
- Get a upstream in a published service on a gateway group.
- Delete a upstream in a published service on a gateway group.
- Updated Published Service APIs due to the new feature:Configured mTLS for upstreams:
- Create a published service on a gateway group
- Added properties:
client_certificate,ca_certificate,tls_verify.
- Added properties:
- Create a upstream in a published service on a gateway group
- Added properties:
client_certificate,ca_certificate,tls_verify.
- Added properties:
- Update published service(without publishing)
- Added properties:
client_certificate,ca_certificate,tls_verify.
- Added properties:
- Update a upstream in a published service on a gateway group
- Added properties:
client_certificate,ca_certificate,tls_verify.
- Added properties:
- Create a published service on a gateway group
Console (Dashboard)
- Multiple Upstreams in a Service: For advanced scenarios such as canary deployments, blue-green deployments, or managing multiple clusters, a service can now utilize multiple upstreams. In such cases, a default upstream serves as the primary target for most requests, while other upstreams can be used for specific purposes, such as routing traffic to a canary deployment or a secondary cluster. See the renewed Configure Canary Traffic Shifting for details.
- Prohibited new resource creation due to exceeding the License CPU limit.
- Added page size selection for API7 Portal dashboard pages.
- Supported both YAML/JSON format for plugin configurations.
- Improved UI for upstream health check configuration.
- Renamed Enable/Disable Plugin to Add/Delete Plugin for improved accuracy.
Fixes
Plugins
- Traffic Split (opens in Plugin Hub docs)
- Fixed issue: LRU Cache object creation function causes client request exceptions.
- Limit Conn (opens in Plugin Hub docs)
- Fixed issue: Report error attribute does not exist because using HTTP variable in stream mode.#9816
- Prometheus (opens in Plugin Hub docs)
- Fixed issue: Even after the Prometheus plugin is disabled, all features related to Prometheus are not entirely shut down..#11117
- OpenID Connect (opens in Plugin Hub docs)
- Fixed issue: The
redirect_uriwas set tongx.var.request_uriif not configured and caused the underlyinglua-resty-openidcmodule to raise error.#7690
- Fixed issue: The
- Zipkin (opens in Plugin Hub docs)
- Fixed issue: Getting a
nilvalue in log phase.#10666
- Fixed issue: Getting a
- Proxy Rewrite (opens in Plugin Hub docs)
- Fixed issue: Incompatibility problems arise from not setting
ngx.var.uri.#9309
- Fixed issue: Incompatibility problems arise from not setting
- Log Rotate
- Fixed issue: The use of
string.byteis less efficient thanstring.sub.#9984
- Fixed issue: The use of