Published The release of the main branch nginx 1.31.5, in which the development of new features continues. The parallel supported stable branch 1.30.x contains only changes related to the elimination of serious bugs and vulnerabilities. In the future, based on the main branch 1.31.x, a stable branch 1.32 will be formed. The project code is written in C and distributed under the BSD license.
In the new release:
- Added Rest API for external management, allowing you to remotely reload the configuration, receive settings data and view the status of workflows. To enable API support, the build option “–with-control-api” and the command line argument “-l” are provided. It is recommended to bind the API to a unix socket (nginx -l unix:/path/to/sock). To access the API, you can use the Curl utility.
- Added the ability to use a variable starting with the “$” character as the value of the Location directive. The value of the variable, calculated at execution time, determines the conditions for entering the Location block. Similar Locations can be used inside other Location blocks or themselves contain nested Locations. map $arg_foo $pred { bar 1; qux 1; } location $pred { root html; }
- Implemented the ngx_http_json_module module, which provides capabilities for parsing data in JSON format, extracting individual fields from JSON and using these fields as variables in the nginx configuration.
- Added directive “client_body_early_read“, the inclusion of which leads to the reading of the request body immediately after receiving the headers.
The release of njs is available at the same time
/Reports, release notes, official announcements.