# changelog

author: Mikhail Isachenkov <im@nginx.com> - 2.2.1-2
changelog:
  - Added '--enable-bfd' option to configure script.
  - Added custom SELinux policy package on RHEL7/8, based on Fedora sources.


author: Konstantin Pavlov <thresh@nginx.com> - 18-2.el7.ngx
changelog:
  - Security: when using HTTP/2 a client might cause excessive memory
    consumption and CPU usage (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).


author: Andrei Belov <defan@nginx.com> - 19-1.el7.ngx
changelog:
  - Feature: metrics provided by the "status_zone" directive can be collected
    per location.
  - Feature: added a set of metrics related to DNS resolver functionality (the
    "status_zone" parameter of the "resolver" directive).
  - Feature: the "limit_req_dry_run" directive provides a way of testing
    request limiting configuration without actually blocking excessive
    requests.
  - Feature: key-value storage now has optimized mode for storing IP addresses
    in CIDR notation (the "type" parameter of the "keyval_zone" directive).
  - Feature: each key-value pair can now have its own custom expiration timer,
    either set at creation time for new entry, or modified for existing entry.
  - Feature: variables support in the "limit_rate" and "limit_rate_after"
    directives.
  - Feature: variables support in the "proxy_upload_rate" and
    "proxy_download_rate" directives in the stream module.
  - Feature: updated status dashboard with new visualizations for per-location
    statistic, resolver metrics, and zone sync status.


author: Andrei Belov <defan@nginx.com> - 20-1.el7.ngx
changelog:
  - Feature: key-value storage: support for matching a key based on a
    substring (the "type" parameter of the "keyval_zone" directive was
    extended with the "prefix" option).
  - Feature: DNS resolvers can now be specified in upstream context.
  - Feature: rate limiting: the $limit_req_status variable keeps the result of
    limiting a request processing rate. Corresponding metrics are available
    through the "/http/limit_reqs/" endpoint in the API module.
  - Feature: connection limiting: the "limit_conn_dry_run" directive. The
    $limit_conn_status variable keeps the result of limiting a number of
    connections. Correponding metrics are available through the
    "/http/limit_conns/" endpoint in the API module.
  - Feature: the $proxy_protocol_server_addr and $proxy_protocol_server_port
    variables.


author: Andrei Belov <defan@nginx.com> - 21-1.el7.ngx
changelog:
  - based on nginx/1.17.9 mainline version.
  - Feature: the grpc_pass directive can now contain variables.


author: Alexey Senin <asenin@nginx.com> - 22-1.el7.ngx
changelog:
  - based on nginx/1.19.0 mainline version.
  - Feature: client certificate validation with OCSP
  - Feature: unauthorized requests can now be delayed with the auth delay
    directive.
  - Feature: updated status dashboard with new visualizations of limit conn
    and limit req statistics.


author: Igor Ippolitov <iippolitov@nginx.com> - 23-1.el7.ngx
changelog:
  - based on nginx/1.19.5 mainline version.
  - Feature: the -e switch.
  - Feature: the same source files can now be specified in different modules
    while building addon modules.
  - Bugfix: SSL shutdown did not work when lingering close was used.
  - Bugfix: "upstream sent frame for closed stream" errors might occur when
    working with gRPC backends.
  - Bugfix: in request body filters internal API.


author: Igor Ippolitov <iippolitov@nginx.com> - 24-1.el7.ngx
changelog:
  - based on nginx/1.19.10 mainline version.
  - the default value of the "keepalive_requests" directive was changed to
    1000.
  - Feature: the "keepalive_time" directive.
  - Feature: the $connection_time variable.
  - Workaround: "gzip filter failed to use preallocated memory" alerts
    appeared in logs when using zlib-ng.


author: Alexey Senin <asenin@nginx.com> - 25-1.el7.ngx
changelog:
  - based on nginx/1.21.3 mainline version.
  - JWT authentication: ∗ support for signed and then encrypted Nested JWT
    with the nested parameter of the auth jwt type directive ∗ additional
    conditions for JWT validation can be specified with the auth jwt require
    directive ∗ the $jwt payload variable that returns either enclosed JWS
    token for Nested JWT, or JSON with claims for JWE ∗ multiple sources of
    JSON Web Key Sets can be specified in auth jwt key file and auth jwt key
    request directives ∗ asymmetric RSA-OAEP cryptographic algorithms for JWE
  - API version 7: HTTP status code statistics are now collected per-code, in
    addition to aggregation per-class, for upstreams, server zones, and
    location zones.
  - stream health checks: introduced the persistent parameter of the health
    check directive that enables persistence to mandatory health checks after
    reload.
  - TCP Fast Open support with the fastopen parameter of the listen directive
    in the stream module.
  - mail proxy: ∗ the number of errors before closing the connection can be
    specified with the max errors directive to mitigate against ALPACA attack
    ∗ support for POP3 and IMAP pipelining ∗ the Auth-SSL-Protocol and
    Auth-SSL-Cipher header lines are now passed to the mail proxy
    authentication server
  - Security hardening of HTTP request parsing. NGINX Plus will return an
    error if: ∗ spaces or control characters are found in the request line,
    header names, or the Host request header line ∗ the CONNECT method is used
    ∗ both Content-Length and Transfer-Encoding header lines are present in
    the request
  - request body filters API now permits buffering of the data being
    processed.
  - added support for dynamic SSL certificate loading for http, grpc and uwsgi
    backends.


author: Nginx Packaging <nginx-packaging@f5.com> - 26-1.el7.ngx
changelog:
  - based on nginx/1.21.5 mainline version.
  - JWT key caching with the auth jwt key cache directive
  - Enhanced ALPN support with the ssl alpn directive for stream, and the
    $ssl_alpn_protocol variable for HTTP and stream
  - The $ssl curve variable that returns the negotiated curve used for SSL
    handshake key exchange process
  - The proxy half close directive for stream that allows closing one side of
    a connection while the data is still transmitted
  - The mp4 start key frame directive in the MP4 module that forces a video to
    always start with a key frame


author: Nginx Packaging <nginx-packaging@f5.com> - 28-1.el7.ngx
changelog:
  - based on nginx/1.21.6 mainline version.
  - API version 8: SSL statistics for each HTTP upstream and stream upstream,
    SSL statistics for each HTTP server zone and stream server zone
  - HTTP health checks: introduced the keepalive time parameter
  - JWT Authentication: error code can be customized with the error parameter
    of the auth jwt require directive


author: Alexey Senin <asenin@nginx.com> - 22+1.1.0-1.el7.ngx
changelog:
  - Base version updated to 1.19.0-1 (nginx-plus-r22).
  - Change: Based on commit 72c8ee0
    https://github.com/stnoonan/spnego-http-auth-nginx-module/commit/72c8ee04c
    81f929ec84d5a6d126f789b77781a8c


author: Nginx Packaging <nginx-packaging@f5.com> - 27+0.1-1.el7.ngx
changelog:
  - Base version updated to 1.21.6-1 (nginx-plus-r27).
  - Added a patch to fix FTBFS on OpenSSL 3.0-based systems.


author: Igor Ippolitov <iippolitov@nginx.com> - 23+0.10.19-1.el7.ngx
changelog:
  - Base version updated to 1.19.5-1 (nginx-plus-r23).
  - Lua module updated to 0.10.19
  - Lua stream module added.
  - LuaJIT update to 2.1-20201027


author: Nginx Packaging <nginx-packaging@f5.com> - 27+0.10.21-1.el7.ngx
changelog:
  - Base version updated to 1.21.6-1 (nginx-plus-r27).
  - LuaJIT updated to 2.1-20220411
  - Lua module updated to 0.10.21
  - Stream lua module updated to 0.0.11
  - Lua lru cache updated to 0.11
  - Lua resty core updated to 0.1.23


author: Nginx Packaging <nginx-packaging@f5.com> - 28+0.10.22-2.el7.ngx
changelog:
  - Base version updated to 1.23.2-1 (nginx-plus-r28).
  - LuaJIT updated to 2.1-20220915
  - Lua module updated to 0.10.22
  - Lua lru cache updated to 0.13
  - Lua resty core updated to 0.1.24


author: Igor Ippolitov <iippolitov@nginx.com> - 24+0.3.1-1.el7.ngx
changelog:
  - Base version updated to 1.19.10-1 (nginx-plus-r24).
  - Version bumped to 0.3.1. Minor README changes.


author: Alexey Senin <asenin@nginx.com> - 25+0.7.0-1.el7.ngx
changelog:
  - njs module updated to 0.7.0
  - Feature: added HTTPS support for Fetch API.
  - Feature: added setReturnValue() method for http and stream.
  - Feature: introduced Async/Await implementation.
  - Feature: added WebCrypto API implementation.
  - Bugfix: fixed copying of closures for declared functions. The bug was
    introduced in 0.6.0.
  - Bugfix: fixed unhandled promise rejection in handle events.
  - Bugfix: fixed Response.headers getter in Fetch API.


author: Nginx Packaging <nginx-packaging@f5.com> - 27+0.24.0-1.el7.ngx
changelog:
  - Base version updated to 1.21.6-1 (nginx-plus-r27).
  - Updated jaeger-cpp to 0.9.0
  - OpenTracing moduled updated to 0.24.0


author: Igor Ippolitov <iippolitov@nginx.com> - 22+1.3.1-1.el7.ngx
changelog:
  - Version update to 1.3.1
  - main.js removed
  - Improvement: Add worker process memory usage stats.
  - Improvement: Change usage of js_include to js_import.


author: Nginx Packaging <nginx-packaging@f5.com> - 27+1.3.4-1.el7.ngx
changelog:
  - Base version updated to 1.21.6-1 (nginx-plus-r27).
  - Version update to 1.3.4 (git 2175c0da490ce9deafba3bab9815568ba7d88dc9)
  - NGINX Plus API v7 support


