# NGINX 1.31.5: Control API, predicate locations, early body inspection, and more

**URL:** <https://community.nginx.org/t/nginx-1-31-5-control-api-predicate-locations-early-body-inspection-and-more/10821>\
**Category:** Announcements\
**Tags:** nginx, release\
**Created:** [September 3, 2026, 6:56pm UTC](https://community.nginx.org/t/nginx-1-31-5-control-api-predicate-locations-early-body-inspection-and-more/10821 "2026-09-03T18:56:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![heo](https://drob5swvtjqxg.cloudfront.net/user_avatar/community.nginx.org/heo/32/5_2.png) [@heo](https://community.nginx.org/u/heo)\
**Post date:** [September 3, 2026, 6:56pm UTC](https://community.nginx.org/t/nginx-1-31-5-control-api-predicate-locations-early-body-inspection-and-more/10821/1 "2026-09-03T18:56:32Z")

</div>

NGINX 1.31.5 mainline is released. It’s a major leap forward in how NGINX evaluates and routes traffic.

Full writeup of features, changes, impact, and recognition is on the [blog](https://blog.nginx.org/blog/nginx-1-31-5-control-api-predicate-locations-early-body-inspection-and-more).

## Highlights

Four powerful capabilities landed directly in open-source core:

1. **Predicate variables in location blocks**
2. **Early request body inspection (`client_body_early_read`)**
3. **Native JSON parsing and variable extraction**
4. **NGINX Control API (open sourced from F5 NGINX Plus)**

Alongside major features, NGINX 1.31.5 includes continuous maintenance improvements such as:

1. Long FastCGI and uWSGI parameter names
2. Stricter checks on out-of-range and out-of-sequence input
3. Stability and memory-safety fixes

## **Resources**

NGINX 1.31.5 is available now as source code and as binary packages for major Linux distributions.

- **Download source and packages:** Visit [nginx.org](https://nginx.org/).
- **Release notes and changes:** Check out the full [CHANGES log](https://nginx.org/en/CHANGES).
- **Documentation:** Explore detailed directive specifications in the [NGINX documentation](https://nginx.org/en/docs/).

One reminder as you try the Control API: bind it to a UNIX domain socket on a path only privileged users can reach. It is an unauthenticated interface to NGINX internals, and it does not belong on a network port.

We’re proud of what the team built here, and we hope it makes NGINX easier to route with, and easier to operate.
