Release of nginx 1.19.3 and njs 0.4.4

Created release of the main branch nginx 1.19.3, within which the development of new features continues (in the parallel stable branch branch 1.18 only changes related to fixing critical bugs and vulnerabilities are made).

Key changes:

  • The module is included ngx_stream_set_module, allowing you to assign a value to a variable

    server {
    listen 12345;
    set $true 1;
    }

  • The directive has been added proxy_cookie_flags to specify flags for Cookie in proxied connections. For example, to add the "httponly" flag to Cookie "one", and for all other Cookie flags, "nosecure" and "samesite=strict" can be used as follows:

    proxy_cookie_flags one httponly;
    proxy_cookie_flags ~ nosecure samesite=strict;

  • A similar directive userid_flags for adding flags to Cookie is also implemented for the ngx_http_userid module.

Simultaneously the release njs 0.4.4, a JavaScript interpreter for the nginx web server. The njs interpreter implements ECMAScript standards and allows extending nginx's capabilities for request processing through scripts in configuration. Scripts can be used in the configuration file for defining advanced logic for request processing, generating configurations, dynamically generating responses, modifying requests/responses, or quickly creating stubs to troubleshoot web applications. In the new version:

  • Support for visual digit grouping in numbers (e.g., "1_000") has been added.
  • Missing methods for %TypedArray%.prototype have been implemented: every(), filter(), find(), findIndex(), forEach(), includes(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
  • Missing methods for %TypedArray% have been implemented: from(), of().
  • The DataView object has been implemented.

    : >> (new DataView(buf.buffer)).getUint16()
    : 32974

  • The Buffer object has been implemented.

    : >> var buf = Buffer.from([0x80,206,177,206,178])
    : undefined
    : >> buf.slice(1).toString()
    : ‘αβ’
    : >> buf.toString(‘base64’)
    : ‘gM6xzrI=’

  • Support for the Buffer object has been added in the "crypto" and "fs" methods, and also ensures the return of a Buffer object instance in fs.readFile(), Hash.prototype.digest(), and Hmac.prototype.digest().
  • Support for ArrayBuffer has been added in the TextDecoder.prototype.decode() method.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster