Release Apache 3.6.0

admin 3 2025-01-16 编辑

Release Apache  3.6.0

We are glad to present Apache 3.6.0 with exciting new features, bug fixes, and other improvements to user experiences.

This new release adds a number of new features, including the support for using local DNS resolvers in service discovery, forwarding Dubbo traffic, the use of NGINX variables in opentelemetry plugin, and more.

There are also a few important changes included in this release. Should you find these changes impacting your operations, please plan your upgrade accordingly.

Breaking Changes​

Remove gRPC support between and etcd​

The support of gPRC communication between and etcd is removed in this release, which removes etcd.use_grpc option in the configuration files. The change resolves a few bugs.

If you are currently using gRPC between and etcd, please plan for a change to use HTTP.

For more information, see change proposal and PR #10015.

Remove Conf Server​

Conf server is removed following the removal of gRPC support between and etcd. The change resolves a few bugs.

If you are currently deploying in decoupled mode, please note that in this release, data plane (DP) instance no longer directly communicates with the control plane (CP) instance. Both instances now communicate with etcd. Please plan for a change to update the configurations accordingly as per the decoupled mode documentation.

For more information, see change proposal and PR #10012.

Enforce strict schema validation of the core resources​

Enforce strict schema validation on the core resources.

For example, if you configure a custom field to the upstream:

curl http://127.0.0.1:9180//admin/upstreams/1 -X PUT \  -H "X-API-KEY: ${ADMIN_API_KEY}" \  -d '{    "type": "roundrobin",    "nodes": {      "127.0.0.1:8080": 1    },    "custom_field": "this_is_not_allowed"  }'

You should receive a 400 response of the following:

{"error_msg":"invalid configuration: additional properties forbidden found .*"\}

For more information, see PR #10233.

New Features​

Support the use of local DNS resolvers for service discovery​

Support the configuration of local DNS resolvers for service discovery. The configuration files now offer a new option resolv_conf, where you can specify the path to the file with a list of local DNS resolvers.

You should configure only one of the servers and resolv_conf, such as the following:

conf/config.yaml
discovery:  dns:    # servers:    #  - "127.0.0.1:8600"          # Address of DNS server.    resolv_conf: /etc/resolv.conf  # Path to the local DNS resolver config.

For more information, see PR #9770.

Support direct forwarding of Dubbo traffic​

Support Dubbo protocol in xRPC, which allows to directly forward Dubbo traffic.

For more information, see PR #9660.

Support the use of NGINX variables in opentelemetry plugin​

Support the use of NGINX variables in opentelemetry plugin. For example, you can configure the configuration file as follows:

conf/config.yaml
http:  enable_access_log: true  access_log: "/dev/stdout"  access_log_format: '{"time": "$time_iso8601","opentelemetry_context_traceparent": "$opentelemetry_context_traceparent","opentelemetry_trace_id": "$opentelemetry_trace_id","opentelemetry_span_id": "$opentelemetry_span_id","remote_addr": "$remote_addr","uri": "$uri"}'  access_log_format_escape: jsonplugins:  - opentelemetryplugin_attr:  opentelemetry:    set_ngx_var: true

For more information, see PR #8871.

Support rewriting request body in external plugins​

Support the rewrite of request body in external (i.e. non-Lua) plugins.

For more information, see PR #9990.

Other Updates​

  • Support configuring the buffer size for the access log (PR #10225)
  • Remove Rust dependency to simplify installation (PR #10121)
  • Support HTTPS in traffic-split plugin (PR #9115)
  • Support UNIX sock host pattern in the chaitin-waf plugin (PR #10161)
  • Fix GraphQL POST request route matching exception (PR #10198)
  • Add error handlers for invalid cache_zone in the proxy-cache plugin (PR #10138)

Changelog​

For a complete list of changes in this release, please see CHANGELOG.

Release Apache 3.6.0

上一篇: Understanding the Significance of 3.4 as a Root in Mathematics
下一篇: Building a More Robust Apache Ingress Controller With Litmus Chaos
相关文章