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

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.

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.

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.