blob: e09f7cd2089c5235e6d131df5a62d7b4d02529bb [file] [log] [blame]
Changes with njs 0.2.2 19 Jun 2018
nginx modules:
*) Change: merged HTTP Response and Reply into Request.
New members of Request:
req.status (res.status)
req.parent (reply.parent)
req.requestBody (req.body)
req.responseBody (reply.body)
req.headersIn (req.headers)
req.headersOut (res.headers)
req.sendHeader() (res.sendHeader())
req.send() (res.send())
req.finish() (res.finish())
req.return() (res.return())
Deprecated members of Request:
req.body (use req.requestBody or req.responseBody)
req.headers (use req.headersIn or req.headersOut)
req.response
The deprecated properties will be removed in the following
releases.
*) Feature: HTTP internalRedirect() method.
Core:
*) Bugfix: fixed heap-buffer-overflow in crypto.createHmac().
Changes with njs 0.2.1 31 May 2018
nginx modules:
*) Feature: HTTP request body getter.
*) Improvement: moved njs vm to the main configuration.
*) Improvement: improved logging for js_set and js_content directives.
*) Improvement: setting status code to 500 by default in
js_content handler.
*) Improvement: added the debug for the returned status code in
js_content.
*) Bugfix: fixed error logging in js_include.
Core:
*) Feature: added array length setter.
*) Improvement: public header cleanup. njscript.h is renamed to njs.h.
*) Bugfix: fixed crypto update() method after digest() is called.
*) Bugfix: fixed crypto.createHmac() for keys with size >= alg size
and < 64.
*) Bugfix: fixed JSON.stringify() for arrays with empty cells.
*) Bugfix: fixed exception type for unsupported types in
JSON.stringify().
*) Bugfix: fixed handling of undefined arguments of functions.
*) Bugfix: fixed handling of missing arg of
Object.getOwnPropertyDescriptor().
*) Bugfix: fixed handling of properties in
Object.getOwnPropertyDescriptor().
*) Bugfix: fixed the writeable flag of Array.length property.
*) Bugfix: fixed return value type of clearTimeout().
*) Bugfix: fixed njs_vm_external_bind().
*) Bugfix: miscellaneous additional bugs have been fixed.
Changes with njs 0.2.0 3 Apr 2018
*) 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.
Changes with njs 0.1.15 20 Nov 2017
*) 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.
Changes with njs 0.1.14 09 Oct 2017
*) 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.
Changes with njs 0.1.13 31 Aug 2017
*) 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.
Changes with njs 0.1.12 08 Aug 2017
*) Feature: Interactive shell.
*) Bugfix: in Object.isSealed().
Changes with njs 0.1.11 27 Jun 2017
*) 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().
Changes with njs 0.1.10 04 Apr 2017
*) 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.
Changes with njs 0.1.9 01 Feb 2017
*) Bugfix: global variables were not initialized when njs was used
in nginx.
Changes with njs 0.1.8 24 Jan 2017
*) Change: the "strict" mode is enforced, variables must be explicitly
declared.
*) Feature: "for" and "for-in" loops support variable declaration.
*) Bugfix: global and function scopes have been fixed.
*) Bugfix: now "for-in" loop does not discard the last value of property
variable.
*) Bugfix: miscellaneous bugs and segmentation faults have been fixed.
Changes with njs 0.1.7 27 Dec 2016
*) Change: the "js_include" directive has been disabled at server and
location levels.
*) Feature: exponentiation operators.
*) Bugfix: miscellaneous bugs and segmentation faults have been fixed.
Changes with njs 0.1.6 13 Dec 2016
*) Change: the "js_set" directive has been disabled at server and
location levels.
*) Feature: ES6 Math methods.
*) Bugfix: miscellaneous bugs and segmentation faults have been fixed.