Skip to main content

Release Apache APISIX 2.10.0

· 3 min read

Apache APISIX 2.10.0 is released!

Apache APISIX 2.10.0 is officially released! 🎉 This is the first LTS release of Apache APISIX with support for 10+ new features and new plugins. Have a quick read to learn about the new features in version 2.10.0!

Milestone: The First LTS Release

This 2.10.0 release is a milestone for Apache APISIX, as Apache APISIX 2.10.0 is our first LTS (Long Time Support) release.

We will be releasing subsequent patch versions on top of Apache APISIX 2.10.0, i.e. 2.10.1, 2.10.2, etc. These releases will backport bugfixes from the main branch.

In October, we plan to release the first patch for the first LTS version, Apache APISIX 2.10.1.

We will then release alternating version lines 2.10.x (e.g. 2.10.2) and 2.x (e.g. 2.11.0) to keep the features iterative while ensuring that the LTS version gets the newer bugfixes.

New Feature: Add Hosts Attribute to Service

In Apache APISIX 2.10.0, we added the hosts property to service. Like the other fields in service, route can inherit the hosts attribute from service.

For example, the following configurations are equivalent in Apache APISIX 2.10.0:

# services/1
{
"hosts": ["bar.com"]
}
# routes/1
{
"upstream": {
"nodes": {
"127.0.0.1:1980": 1
},
"type": "roundrobin"
},
"service_id": "1",
"uri": "/hello"
}
# routes/1
{
"upstream": {
"nodes": {
"127.0.0.1:1980": 1
},
"type": "roundrobin"
},
"hosts": ["bar.com"],
"uri": "/hello"
}

With this change, the relationship between route and service in Apache APISIX is becoming more and more similar to the relationship between location and server in Nginx. This change brings service back into the core Apache APISIX configuration: Route, Upstream, and Service.

New Feature: Support Setting the Ratio of Mirror Requests

The proxy-mirror plugin's support for setting the ratio of mirrored requests is a feature users have been waiting for, and we support it on Apache APISIX 2.10.

By setting sample_ratio, you can control the number of requests that are mirrored to the test service. For example, the following configuration with sample_ratio set to 0.5 will mirror half of the requests to the test service.

{
"plugins": {
"proxy-mirror": {
"host": "http://127.0.0.1:1986",
"sample_ratio": 0.5
}
},
"upstream": {
"nodes": {
"127.0.0.1:1980": 1
},
"type": "roundrobin"
},
"uri": "/hello"
}

New Plugin: APISIX Python Plugin Runner

Following Java Plugin Runner and Go Plugin Runner, there is a new Plugin Runner for Apache APISIX.

The Apache APISIX Python Plugin Runner has been released in version 0.1.0 on September 6.

Python is a popular programming language that has always been known for its ease of use and flexibility. Now you and I can use the language to write plugins for Apache APISIX.

In addition to the Python Plugin Runner, our community partners are also developing Plugin Runners for other programming languages, such as the JavaScript Plugin Runner, and everyone is welcome to participate in the development.

Download

In addition to the above new features and components, the Apache APISIX 2.10.0 release introduces more than a dozen new features and plugins, for details please see the Change log corresponding to this release CHANGELOG.md#2100).

Download Apache APISIX 2.10.0