# changelog

author: Konstantin Pavlov <thresh@nginx.com> - 1.2.24-1
changelog:
  - Updated keepalived to 1.2.24.
  - Fixed check scripts error handling, backported from git master:
    - ca955a7c1a6af324428ff04e24be68a180be127f
    - 46121a8b7e4af439c5ad9e4589fb80d414e0eefc
    - f5d9202b1d473823686a934e38d16ead9de84fbd


author: Konstantin Pavlov <thresh@nginx.com> - 1.3.6-1
changelog:
  - Updated keepalived to 1.3.6.
  - Backported the following patches from upstream to fix issues with VRRPv3:
   + 67275d2
   + eb64954
   + bcf2936
   + 0d52573
  -  Updated README for the upgrade path to the new VRRPv3 checksums.


author: Andrei Belov <defan@nginx.com>
changelog:
  - 2.0.0
  - refactored from previous Ruby-based version to Python
  - provides more metrics for N+ (server zones, caches)


author: Andrei Belov <defan@nginx.com>
changelog:
  - 2.0.0_9
  - fixed handling of caches configured without the "max_size" parameter
  - added support for HTTPS proxy


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.11.3-1 (nginx-plus-r10)
  - new dynamic modules available: ModSecurity, nginScript
  - support for client authorization using the JSON Web Token (JWT)
  - stream: variables, resolver, map/geo/geo_ip/split_clients modules
  - support for multiple SSL certificate types per server/SNI name
  - transparent proxy mode support
  - IP_BIND_ADDRESS_NO_PORT socket option for upstream connections
  - HTTP/2: unbuffered upload support, general bugfixes
  - new variables: $request_id, $proxy_protocol_port, $realip_remote_port


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.11.5-1 (nginx-plus-r11)
  - introduced dynamic modules binary compatibility mode
  - stream: more variables, custom logging, PROXY protocol, SNI routing
  - new stream metrics in the status module dataset (sessions, discarded)
  - cache manager unlink() throttling introduced
  - variables support in the "domain" parameter of the "sticky" directive
  - new variable: $upstream_bytes_received


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.11.10-1 (nginx-plus-r12)
  - status module dataset updated (nginx_build, slabs/, upstream server names)
  - status dashboard updated (N+ version, response times, shared zones usage)
  - cache: stale-while-revalidate and stale-if-error extensions support
  - cache: the "proxy_cache_max_range_offset" directive
  - cache: Vary and ETag header lengths increased to 128 bytes
  - added "mandatory" parameter to the "health_check" directive
  - UDP health checks now may be configured without specifying match block
  - added client SSL certificates verification in the stream module
  - $ssl_client_i_dn and $ssl_client_s_dn are now compliant with RFC 2253
  - $ssl_client_verify now includes a reason of failure
  - new variables: $ssl_client_v_end, $ssl_client_v_start,
    $ssl_client_v_remain, $ssl_curves, $ssl_ciphers
  - support for acccessing arbitrary JWT fields as variables
  - support for JSON escaping in access logs
  - WebP support added to the image filter module
  - duplicate configuration parts excluded from "nginx -T" output
  - various improvements in memory usage and performance


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.13.4-1 (nginx-plus-r13)
  - new REST API for accessing status metrics, configuring upstreams,
    managing key-value pairs
  - new module: ngx_http_keyval_module (creates variables based on
    key-value pairs managed by the API)
  - new module: ngx_http_mirror_module (implements mirroring of original
    requests by creating background mirror subrequests)
  - added support for HTTP trailers (the "add_trailer" directive)
  - core: the "worker_shutdown_timeout" directive
  - sticky cookie now includes "max-age" attribute when "expires" is set
  - added "header" parameter to the "sticky learn" directive
  - added "http_429" parameter to the "proxy_next_upstream" directive
  - added "sndbuf" and "rcvbuf" parameters to the "listen" directives
    in stream and mail modules
  - SSL renegotiation is now allowed on backend connections
  - added initial support for TLS 1.3


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.13.7-1 (nginx-plus-r14)
  - added refactored status dashboard (dashboard.html) that uses
    recently introduced API instead of older status and upstream_conf
    interfaces
  - new module: ngx_stream_keyval_module (creates variables based on
    key-value pairs managed by the API for use in stream proxy)
  - added support for complex JWT claims (the "auth_jwt_header_set"
    and "auth_jwt_claim_set" directives can now handle multiple
    values)
  - added support for a number of optional cryptographic algorithms
    in JWT authorization module
  - upstream servers configured with the "resolve" parameter
    are now being pre-resolved on configuration reload
  - the "drain" parameter of the upstream "server" directive
    can now be specified in configuration
  - new variable: $ssl_client_escaped_cert
  - swagger UI was adjusted to support custom ports in URLs


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.13.7-2 (nginx-plus-r14-p1)
  - updated status dashboard v2 (dashboard.html) to include fixes
    for HTTP basic auth support and missed tooltips


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.13.10-1 (nginx-plus-r15)
  - added gRPC proxy support
  - added HTTP/2 push support
  - introduced shared zones synchronization between NGINX Plus nodes,
    currently supported for sticky sessions (ngx_stream_zone_sync_module)
  - added an ability to completely disable any escaping in access log
    (the "escape=none" parameter of the "log_format" directive)
  - ngx_stream_ssl_preread_module now can extract list of protocols
    advertised by the client through ALPN ($ssl_preread_alpn_protocols)
  - it is no longer required to run nginx under superuser when using
    the "proxy_bind" directive with "transparent" parameter on Linux,
    as worker processes now inherit the CAP_NET_RAW capability from
    the master process
  - added the "auth_jwt_leeway" directive used to configure a leeway
    to account for clock skew when verifying "exp" and "nbf" claims,
    as per RFC 7519
  - new variable: $upstream_queue_time
  - status dashboard updated


author: Andrei Belov <defan@nginx.com>
changelog:
  - 1.13.10-2 (nginx-plus-r15-p1)
  - fixed dynamic module compatibility with nginx/1.13.10
  - status dashboard updated


author: Andrei Belov <defan@nginx.com> - 1.11.10-1.el6.ngx
changelog:
  - Based on nginx/1.11.10 mainline version.
  - Feature: status dataset extended with nginx build name ("nginx_build"),
    shared zones usage statistics (the "slabs/" subtree), and additional
    upstream fields ("name", "service").
    Status dashboard now shows NGINX Plus version, response time metrics,
    shared zones memory usage, and server names in upstreams.
  - Feature: support of "stale-while-revalidate" and "stale-if-error"
    extensions in the "Cache-Control" backend response header line.
  - Feature: the "proxy_cache_max_range_offset",
    "fastcgi_cache_max_range_offset", "scgi_cache_max_range_offset", and
    "uwsgi_cache_max_range_offset" directives.
  - Feature: nginx is now able to cache responses with the "Vary" header line
    up to 128 characters long (instead of 42 characters in previous versions).
  - Feature: the "mandatory" parameter of the "health_check" directive,
    requiring all new servers to pass the associated health check before
    accepting real traffic.
  - Feature: UDP health checks can now be configured without specifying match
    block.
  - Feature: client SSL certificates verification in the stream module.
  - Feature: format of the $ssl_client_s_dn and $ssl_client_i_dn variables has
    been changed to follow RFC 2253 (RFC 4514); values in the old format are
    available in the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy
    variables.
  - Change: now in case of a client certificate verification error the
    $ssl_client_verify variable contains a string with the failure reason, for
    example, "FAILED:certificate has expired".
  - Feature: the $ssl_ciphers, $ssl_curves, $ssl_client_v_start,
    $ssl_client_v_end, and $ssl_client_v_remain variables.
  - Feature: arbitrary JWT fields can now be accessed as variables.
  - Feature: JSON escaping in access logs (the "escape" parameter of the
    "log_format" directive).
  - Feature: WebP support in the ngx_http_image_filter_module.
  - Change: duplicate configuration parts excluded from "nginx -T" output.
  - Feature: various improvements in memory usage and performance.


author: Andrei Belov <defan@nginx.com> - 1.11.10-3.el6.ngx
changelog:
  - Bugfix: upstream response time might be calculated incorrectly if a client
    closed a connection before the upstream response headers were received.


author: Andrei Belov <defan@nginx.com> - 1.11.10-4.el6.ngx
changelog:
  - Security: a specially crafted request might result in an integer overflow
    and incorrect processing of ranges in the range filter, potentially
    resulting in sensitive information leak (CVE-2017-7529).


author: Andrei Belov <defan@nginx.com> - 1.13.4-1.el6.ngx
changelog:
  - Based on nginx/1.13.4 mainline version.
  - Feature: new REST API for accessing various status information,
    configuring upstream server groups on-the-fly, and managing key-value
    pairs.
    Swagger specification and UI is bundled in the nginx-plus packages for
    easy try-out.
  - Feature: ngx_http_keyval_module, used to create variables based on
    key-value pairs dynamically managed via the REST API.
  - Feature: ngx_http_mirror_module, implements mirroring of original requests
    by creating background mirror subrequests and ignoring their responses.
  - Feature: the "add_trailer" directive (support for HTTP trailers).
    Thanks to Piotr Sikora.
  - Feature: the "worker_shutdown_timeout" directive.
  - Change: sticky cookie now includes the "max-age" attribute when the
    "expires" option is set.
  - Feature: the "header" parameter of the "sticky learn" directive.
  - Feature: the "http_429" parameter of the "proxy_next_upstream",
    "fastcgi_next_upstream", "scgi_next_upstream", and "uwsgi_next_upstream"
    directives.
    Thanks to Piotr Sikora.
  - Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" directives
    of the mail proxy and stream modules.
  - Change: SSL renegotiation is now allowed on backend connections.
  - Feature: initial support for TLS 1.3.


author: Andrei Belov <defan@nginx.com> - 1.13.7-1.el6.ngx
changelog:
  - Based on nginx/1.13.7 mainline version.
  - Feature: refactored status dashboard (v2) that uses the REST API instead
    of older status and upstream_conf interfaces was added to packages as
    dashboard.html.
    Legacy dashboard (v1) is still available as status.html.
    Please note that older status and upstream_conf interfaces, as well as
    legacy dashboard, are going to be removed in NGINX Plus R16.
  - Feature: dynamic key-value pairs support added to the stream module.
    API version has changed to 2.
  - Feature: the "auth_jwt_header_set" and "auth_jwt_claim_set" directives can
    now handle multiple values, providing complex JWT claims support.
  - Feature: a number of additional cryptographic algorithms introduced in JWT
    authorization module.
  - Feature: upstream servers configured with the "resolve" parameter are now
    being pre-resolved on configuration reload.
  - Feature: the "drain" parameter of the upstream "server" directive can now
    be specified in configuration.
  - Feature: the $ssl_client_escaped_cert variable.
  - Bugfix: Swagger UI did not work with custom (non-standard) ports in URLs.


author: Andrei Belov <defan@nginx.com> - 15-1.el6.ngx
changelog:
  - Based on nginx/1.13.10 mainline version.
  - Feature: the ngx_http_grpc_module, providing gRPC proxy support.
  - Feature: HTTP/2 server push support; the "http2_push" and
    "http2_push_preload" directives.
  - Feature: the ngx_stream_zone_sync_module, providing shared zones
    synchronization between NGINX Plus nodes, currently supported for sticky
    sessions.
  - Feature: the "escape=none" parameter of the "log_format" directive, used
    to completely disable any escaping in access log.
  - Feature: the ngx_stream_ssl_preread_module can now extract list of
    protocols advertised by the client through ALPN (the
    $ssl_preread_alpn_protocols variable).
  - Change: it is no longer required to run nginx under superuser when using
    the "proxy_bind" directive with the "transparent" parameter on Linux, as
    worker processes now inherit the CAP_NET_RAW capability from the master
    process.
  - Feature: the "auth_jwt_leeway" directive, used to configure a leeway to
    account for clock skew when verifying "exp" and "nbf" claims, as per RFC
    7519.
  - Feature: the $upstream_queue_time variable.
  - Feature: status dashboard (v2) updated.


author: Andrei Belov <defan@nginx.com> - 15-2.el6.ngx
changelog:
  - Bugfix: dynamic modules compatibility between nginx-plus-15_1 and
    nginx/FOSS 1.13.10 was broken.
  - Bugfix: in status dashboard (v2).


author: Andrei Belov <defan@nginx.com> - 15-3.el6.ngx
changelog:
  - Bugfix: in the ngx_http_v2_module.
  - Bugfix: in the ngx_http_grpc_module.
  - Bugfix: in the ngx_http_mp4_module.
  - Bugfix: in the ngx_http_hls_module.


author: Andrei Belov <defan@nginx.com>
changelog:
  - nJScript module updated to 0.1.10
  - feature: nested functions and function closures
  - feature: Array.of(), Array.prototype.fill(), Array.prototype.find(),
    Array.prototype.findIndex() methods
  - bugfix: miscellaneous bugs and segmentation faults have been fixed


author: Andrei Belov <defan@nginx.com>
changelog:
  - base version updated to 1.11.10-4 (nginx-plus-r12-p3)
  - nJScript module updated to 0.1.11
  - feature: Object.keys(), Object.prototype.hasOwnProperty() methods
  - feature: Object.defineProperty(), Object.defineProperties(),
    Object.getOwnPropertyDescriptor() methods
  - feature: Object.getPrototypeOf(), Object.prototype.isPrototypeOf()
    methods
  - feature: Object.preventExtensions(), Object.isExtensible(),
    Object.freeze(), Object.isFrozen(), Object.seal(), Object.isSealed()
    methods
  - feature: scientific notation literals support
  - feature: hexadecimal literals support
  - bugfix: processing of large array indexes
  - bugfix: in parseInt() and Date.parse()


author: Andrei Belov <defan@nginx.com>
changelog:
  - base version updated to 1.13.4-1 (nginx-plus-r13)
  - nJScript module updated to 0.1.12
  - feature: interactive shell
  - bugfix: in Object.isSealed()


author: Andrei Belov <defan@nginx.com>
changelog:
  - nJScript module updated to 0.1.13
  - feature: console.log() and console.help() methods in interactive shell
  - feature: interactive shell prints backtrace on exception
  - feature: interactive shell by default if libedit is available
  - bugfix: processing of large files from stdin in command line mode
  - bugfix: improved editline detection


author: Andrei Belov <defan@nginx.com>
changelog:
  - base version updated to 1.13.7-1 (nginx-plus-r14)
  - nJScript module updated to 0.1.15
  - feature: JSON object
  - feature: object level completions in interactive shell
  - feature: various configure improvements
  - bugfix: miscellaneous bugs have been fixed in the core and
    interactive shell
  - feature: Error, EvalError, InternalError, RangeError,
    ReferenceError, SyntaxError, TypeError, URIError objects
  - feature: octal literals support
  - feature: File system access fs.readFile(), fs.readFileSync(),
    fs.appendFile(),  fs.appendFileSync(), fs.writeFile(),
    fs.writeFileSync() methods
  - feature: nginx modules print backtrace on exception
  - bugfix: miscellaneous bugs have been fixed


author: Andrei Belov <defan@nginx.com>
changelog:
  - base version updated to 1.13.10-1 (nginx-plus-r15)
  - nJScript module updated to 0.2.0
  - feature: reporting njs version by CLI
  - feature: textual description for type converting exceptions
  - feature: setTimeout() and clearTimeout() methods
  - feature: Byte string to hex, base64, base64url encodings
  - feature: Node.js style crypto methods
  - feature: HTTP and stream warn() and error() methods
  - feature: HTTP subrequest() method
  - feature: HTTP return() method
  - bugfix: miscellaneous bugs have been fixed in the core and
    interactive shell


author: Andrei Belov <defan@nginx.com>
changelog:
  - base version updated to 1.11.10-1 (nginx-plus-r12)
  - RTMP module updated to 1.1.11 (fixed building with openssl-1.1)


