# 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:
  - 1.9.13-1 (nginx-plus-r9)
  - introduced standalone packages with dynamic modules
  - UDP proxy support added to the stream module
  - upstream: retrieving servers configuration via DNS SRV records
  - resolver: TCP fallback on retrieving large DNS responses
  - proxy: changed handling of non-idempotent requests (POST, LOCK, PATCH)
  - cache: improved meta-data accounting
  - core: support for automatic binding of worker processes to available CPUs
  - core: the "aio_write" directive (offload write operations to thread pools)
  - added support for setting custom "server_tokens" string
  - updated status dashboard


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:
  - 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.11.10-1 (nginx-plus-r12)
  - RTMP module updated to 1.1.11 (fixed building with openssl-1.1)


