diff --git a/BUILDING.md b/BUILDING.md index c56be2ad54e9cb..064da2473dee23 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -243,8 +243,8 @@ transition before the year-end deadline. * `gcc` and `g++` >= 6.3 or newer, or * GNU Make 3.81 or newer * Python (see note above) - * Python 2.7 - * Python 3.5, 3.6, and 3.7 are experimental. + * Python 2.7 + * Python 3.5, 3.6, and 3.7 are experimental. Installation via Linux package manager can be achieved with: @@ -259,8 +259,8 @@ FreeBSD and OpenBSD users may also need to install `libexecinfo`. * Xcode Command Line Tools >= 8 for macOS * Python (see note above) - * Python 2.7 - * Python 3.5, 3.6, and 3.7 are experimental. + * Python 2.7 + * Python 3.5, 3.6, and 3.7 are experimental. macOS users can install the `Xcode Command Line Tools` by running `xcode-select --install`. Alternatively, if you already have the full Xcode diff --git a/doc/api/addons.md b/doc/api/addons.md index b0bb330d32bbaa..59d708a71f7d1f 100644 --- a/doc/api/addons.md +++ b/doc/api/addons.md @@ -17,34 +17,34 @@ for more information on N-API. When not using N-API, implementing Addons is complicated, involving knowledge of several components and APIs: - - V8: the C++ library Node.js currently uses to provide the - JavaScript implementation. V8 provides the mechanisms for creating objects, - calling functions, etc. V8's API is documented mostly in the - `v8.h` header file (`deps/v8/include/v8.h` in the Node.js source - tree), which is also available [online][v8-docs]. - - - [libuv][]: The C library that implements the Node.js event loop, its worker - threads and all of the asynchronous behaviors of the platform. It also - serves as a cross-platform abstraction library, giving easy, POSIX-like - access across all major operating systems to many common system tasks, such - as interacting with the filesystem, sockets, timers, and system events. libuv - also provides a pthreads-like threading abstraction that may be used to - power more sophisticated asynchronous Addons that need to move beyond the - standard event loop. Addon authors are encouraged to think about how to - avoid blocking the event loop with I/O or other time-intensive tasks by - off-loading work via libuv to non-blocking system operations, worker threads - or a custom use of libuv's threads. - - - Internal Node.js libraries. Node.js itself exports a number of C++ APIs - that Addons can use — the most important of which is the - `node::ObjectWrap` class. - - - Node.js includes a number of other statically linked libraries including - OpenSSL. These other libraries are located in the `deps/` directory in the - Node.js source tree. Only the libuv, OpenSSL, V8 and zlib symbols are - purposefully re-exported by Node.js and may be used to various extents by - Addons. - See [Linking to Node.js' own dependencies][] for additional information. +- V8: the C++ library Node.js currently uses to provide the + JavaScript implementation. V8 provides the mechanisms for creating objects, + calling functions, etc. V8's API is documented mostly in the + `v8.h` header file (`deps/v8/include/v8.h` in the Node.js source + tree), which is also available [online][v8-docs]. + +- [libuv][]: The C library that implements the Node.js event loop, its worker + threads and all of the asynchronous behaviors of the platform. It also + serves as a cross-platform abstraction library, giving easy, POSIX-like + access across all major operating systems to many common system tasks, such + as interacting with the filesystem, sockets, timers, and system events. libuv + also provides a pthreads-like threading abstraction that may be used to + power more sophisticated asynchronous Addons that need to move beyond the + standard event loop. Addon authors are encouraged to think about how to + avoid blocking the event loop with I/O or other time-intensive tasks by + off-loading work via libuv to non-blocking system operations, worker threads + or a custom use of libuv's threads. + +- Internal Node.js libraries. Node.js itself exports a number of C++ APIs + that Addons can use — the most important of which is the + `node::ObjectWrap` class. + +- Node.js includes a number of other statically linked libraries including + OpenSSL. These other libraries are located in the `deps/` directory in the + Node.js source tree. Only the libuv, OpenSSL, V8 and zlib symbols are + purposefully re-exported by Node.js and may be used to various extents by + Addons. + See [Linking to Node.js' own dependencies][] for additional information. All of the following examples are available for [download][] and may be used as the starting-point for an Addon. diff --git a/doc/api/buffer.md b/doc/api/buffer.md index ab7fcac31a7765..6e55ec9942accf 100644 --- a/doc/api/buffer.md +++ b/doc/api/buffer.md @@ -1363,11 +1363,11 @@ changes: If `value` is: - * a string, `value` is interpreted according to the character encoding in - `encoding`. - * a `Buffer` or [`Uint8Array`][], `value` will be used in its entirety. - To compare a partial `Buffer`, use [`buf.slice()`][]. - * a number, `value` will be interpreted as an unsigned 8-bit integer +* a string, `value` is interpreted according to the character encoding in + `encoding`. +* a `Buffer` or [`Uint8Array`][], `value` will be used in its entirety. + To compare a partial `Buffer`, use [`buf.slice()`][]. +* a number, `value` will be interpreted as an unsigned 8-bit integer value between `0` and `255`. ```js diff --git a/doc/api/child_process.md b/doc/api/child_process.md index 412092d7d13c50..c9856ac550331d 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -43,19 +43,19 @@ and asynchronous alternatives to [`child_process.spawn()`][] and [`child_process.spawnSync()`][]. Each of these alternatives are implemented on top of [`child_process.spawn()`][] or [`child_process.spawnSync()`][]. - * [`child_process.exec()`][]: spawns a shell and runs a command within that - shell, passing the `stdout` and `stderr` to a callback function when - complete. - * [`child_process.execFile()`][]: similar to [`child_process.exec()`][] except - that it spawns the command directly without first spawning a shell by - default. - * [`child_process.fork()`][]: spawns a new Node.js process and invokes a - specified module with an IPC communication channel established that allows - sending messages between parent and child. - * [`child_process.execSync()`][]: a synchronous version of - [`child_process.exec()`][] that will block the Node.js event loop. - * [`child_process.execFileSync()`][]: a synchronous version of - [`child_process.execFile()`][] that will block the Node.js event loop. +* [`child_process.exec()`][]: spawns a shell and runs a command within that + shell, passing the `stdout` and `stderr` to a callback function when + complete. +* [`child_process.execFile()`][]: similar to [`child_process.exec()`][] except + that it spawns the command directly without first spawning a shell by + default. +* [`child_process.fork()`][]: spawns a new Node.js process and invokes a + specified module with an IPC communication channel established that allows + sending messages between parent and child. +* [`child_process.execSync()`][]: a synchronous version of + [`child_process.exec()`][] that will block the Node.js event loop. +* [`child_process.execFileSync()`][]: a synchronous version of + [`child_process.execFile()`][] that will block the Node.js event loop. For certain use cases, such as automating shell scripts, the [synchronous counterparts][] may be more convenient. In many cases, however, diff --git a/doc/api/http2.md b/doc/api/http2.md index deceafd3ade0cd..b5b71265ecf98d 100644 --- a/doc/api/http2.md +++ b/doc/api/http2.md @@ -1977,20 +1977,20 @@ changes: exceed this limit will result in a `'frameError'` event being emitted and the stream being closed and destroyed. * `paddingStrategy` {number} Identifies the strategy used for determining the - amount of padding to use for `HEADERS` and `DATA` frames. **Default:** - `http2.constants.PADDING_STRATEGY_NONE`. Value may be one of: - * `http2.constants.PADDING_STRATEGY_NONE` - Specifies that no padding is - to be applied. - * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum - amount of padding, as determined by the internal implementation, is to - be applied. - * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply - enough padding to ensure that the total frame length, including the - 9-byte header, is a multiple of 8. For each frame, however, there is a - maximum allowed number of padding bytes that is determined by current - flow control state and settings. If this maximum is less than the - calculated amount needed to ensure alignment, the maximum will be used - and the total frame length will *not* necessarily be aligned at 8 bytes. + amount of padding to use for `HEADERS` and `DATA` frames. **Default:** + `http2.constants.PADDING_STRATEGY_NONE`. Value may be one of: + * `http2.constants.PADDING_STRATEGY_NONE` - Specifies that no padding is + to be applied. + * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum + amount of padding, as determined by the internal implementation, is to + be applied. + * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply + enough padding to ensure that the total frame length, including the + 9-byte header, is a multiple of 8. For each frame, however, there is a + maximum allowed number of padding bytes that is determined by current + flow control state and settings. If this maximum is less than the + calculated amount needed to ensure alignment, the maximum will be used + and the total frame length will *not* necessarily be aligned at 8 bytes. * `peerMaxConcurrentStreams` {number} Sets the maximum number of concurrent streams for the remote peer as if a `SETTINGS` frame had been received. Will be overridden if the remote peer sets its own value for @@ -2091,20 +2091,20 @@ changes: exceed this limit will result in a `'frameError'` event being emitted and the stream being closed and destroyed. * `paddingStrategy` {number} Identifies the strategy used for determining the - amount of padding to use for `HEADERS` and `DATA` frames. **Default:** - `http2.constants.PADDING_STRATEGY_NONE`. Value may be one of: - * `http2.constants.PADDING_STRATEGY_NONE` - Specifies that no padding is - to be applied. - * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum - amount of padding, as determined by the internal implementation, is to - be applied. - * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply - enough padding to ensure that the total frame length, including the - 9-byte header, is a multiple of 8. For each frame, however, there is a - maximum allowed number of padding bytes that is determined by current - flow control state and settings. If this maximum is less than the - calculated amount needed to ensure alignment, the maximum will be used - and the total frame length will *not* necessarily be aligned at 8 bytes. + amount of padding to use for `HEADERS` and `DATA` frames. **Default:** + `http2.constants.PADDING_STRATEGY_NONE`. Value may be one of: + * `http2.constants.PADDING_STRATEGY_NONE` - Specifies that no padding is + to be applied. + * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum + amount of padding, as determined by the internal implementation, is to + be applied. + * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply + enough padding to ensure that the total frame length, including the + 9-byte header, is a multiple of 8. For each frame, however, there is a + maximum allowed number of padding bytes that is determined by current + flow control state and settings. If this maximum is less than the + calculated amount needed to ensure alignment, the maximum will be used + and the total frame length will *not* necessarily be aligned at 8 bytes. * `peerMaxConcurrentStreams` {number} Sets the maximum number of concurrent streams for the remote peer as if a `SETTINGS` frame had been received. Will be overridden if the remote peer sets its own value for @@ -2191,20 +2191,20 @@ changes: exceed this limit will result in a `'frameError'` event being emitted and the stream being closed and destroyed. * `paddingStrategy` {number} Identifies the strategy used for determining the - amount of padding to use for `HEADERS` and `DATA` frames. **Default:** - `http2.constants.PADDING_STRATEGY_NONE`. Value may be one of: - * `http2.constants.PADDING_STRATEGY_NONE` - Specifies that no padding is - to be applied. - * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum - amount of padding, as determined by the internal implementation, is to - be applied. - * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply - enough padding to ensure that the total frame length, including the - 9-byte header, is a multiple of 8. For each frame, however, there is a - maximum allowed number of padding bytes that is determined by current - flow control state and settings. If this maximum is less than the - calculated amount needed to ensure alignment, the maximum will be used - and the total frame length will *not* necessarily be aligned at 8 bytes. + amount of padding to use for `HEADERS` and `DATA` frames. **Default:** + `http2.constants.PADDING_STRATEGY_NONE`. Value may be one of: + * `http2.constants.PADDING_STRATEGY_NONE` - Specifies that no padding is + to be applied. + * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum + amount of padding, as determined by the internal implementation, is to + be applied. + * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply + enough padding to ensure that the total frame length, including the + 9-byte header, is a multiple of 8. For each frame, however, there is a + maximum allowed number of padding bytes that is determined by current + flow control state and settings. If this maximum is less than the + calculated amount needed to ensure alignment, the maximum will be used + and the total frame length will *not* necessarily be aligned at 8 bytes. * `peerMaxConcurrentStreams` {number} Sets the maximum number of concurrent streams for the remote peer as if a `SETTINGS` frame had been received. Will be overridden if the remote peer sets its own value for diff --git a/doc/api/n-api.md b/doc/api/n-api.md index beded54d851137..8c02d418bf4eb9 100644 --- a/doc/api/n-api.md +++ b/doc/api/n-api.md @@ -4029,35 +4029,36 @@ napi_status napi_define_class(napi_env env, napi_value* result); ``` - - `[in] env`: The environment that the API is invoked under. - - `[in] utf8name`: Name of the JavaScript constructor function; this is - not required to be the same as the C++ class name, though it is recommended - for clarity. - - `[in] length`: The length of the `utf8name` in bytes, or `NAPI_AUTO_LENGTH` -if it is null-terminated. - - `[in] constructor`: Callback function that handles constructing instances - of the class. (This should be a static method on the class, not an actual - C++ constructor function.) - - `[in] data`: Optional data to be passed to the constructor callback as - the `data` property of the callback info. - - `[in] property_count`: Number of items in the `properties` array argument. - - `[in] properties`: Array of property descriptors describing static and - instance data properties, accessors, and methods on the class - See `napi_property_descriptor`. - - `[out] result`: A `napi_value` representing the constructor function for - the class. +- `[in] env`: The environment that the API is invoked under. +- `[in] utf8name`: Name of the JavaScript constructor function; this is + not required to be the same as the C++ class name, though it is recommended + for clarity. +- `[in] length`: The length of the `utf8name` in bytes, or `NAPI_AUTO_LENGTH` + if it is null-terminated. +- `[in] constructor`: Callback function that handles constructing instances + of the class. (This should be a static method on the class, not an actual + C++ constructor function.) +- `[in] data`: Optional data to be passed to the constructor callback as + the `data` property of the callback info. +- `[in] property_count`: Number of items in the `properties` array argument. +- `[in] properties`: Array of property descriptors describing static and + instance data properties, accessors, and methods on the class + See `napi_property_descriptor`. +- `[out] result`: A `napi_value` representing the constructor function for + the class. Returns `napi_ok` if the API succeeded. Defines a JavaScript class that corresponds to a C++ class, including: - - A JavaScript constructor function that has the class name and invokes the - provided C++ constructor callback. - - Properties on the constructor function corresponding to _static_ data - properties, accessors, and methods of the C++ class (defined by - property descriptors with the `napi_static` attribute). - - Properties on the constructor function's `prototype` object corresponding to - _non-static_ data properties, accessors, and methods of the C++ class - (defined by property descriptors without the `napi_static` attribute). + +- A JavaScript constructor function that has the class name and invokes the + provided C++ constructor callback. +- Properties on the constructor function corresponding to _static_ data + properties, accessors, and methods of the C++ class (defined by + property descriptors with the `napi_static` attribute). +- Properties on the constructor function's `prototype` object corresponding to + _non-static_ data properties, accessors, and methods of the C++ class + (defined by property descriptors without the `napi_static` attribute). The C++ constructor callback should be a static method on the class that calls the actual class constructor, then wraps the new C++ instance in a JavaScript @@ -4091,16 +4092,16 @@ napi_status napi_wrap(napi_env env, napi_ref* result); ``` - - `[in] env`: The environment that the API is invoked under. - - `[in] js_object`: The JavaScript object that will be the wrapper for the - native object. - - `[in] native_object`: The native instance that will be wrapped in the - JavaScript object. - - `[in] finalize_cb`: Optional native callback that can be used to free the - native instance when the JavaScript object is ready for garbage-collection. - - `[in] finalize_hint`: Optional contextual hint that is passed to the - finalize callback. - - `[out] result`: Optional reference to the wrapped object. +- `[in] env`: The environment that the API is invoked under. +- `[in] js_object`: The JavaScript object that will be the wrapper for the + native object. +- `[in] native_object`: The native instance that will be wrapped in the + JavaScript object. +- `[in] finalize_cb`: Optional native callback that can be used to free the + native instance when the JavaScript object is ready for garbage-collection. +- `[in] finalize_hint`: Optional contextual hint that is passed to the + finalize callback. +- `[out] result`: Optional reference to the wrapped object. Returns `napi_ok` if the API succeeded. @@ -4145,9 +4146,9 @@ napi_status napi_unwrap(napi_env env, void** result); ``` - - `[in] env`: The environment that the API is invoked under. - - `[in] js_object`: The object associated with the native instance. - - `[out] result`: Pointer to the wrapped native instance. +- `[in] env`: The environment that the API is invoked under. +- `[in] js_object`: The object associated with the native instance. +- `[out] result`: Pointer to the wrapped native instance. Returns `napi_ok` if the API succeeded. @@ -4172,9 +4173,9 @@ napi_status napi_remove_wrap(napi_env env, void** result); ``` - - `[in] env`: The environment that the API is invoked under. - - `[in] js_object`: The object associated with the native instance. - - `[out] result`: Pointer to the wrapped native instance. +- `[in] env`: The environment that the API is invoked under. +- `[in] js_object`: The object associated with the native instance. +- `[out] result`: Pointer to the wrapped native instance. Returns `napi_ok` if the API succeeded. @@ -4200,16 +4201,16 @@ napi_status napi_add_finalizer(napi_env env, napi_ref* result); ``` - - `[in] env`: The environment that the API is invoked under. - - `[in] js_object`: The JavaScript object to which the native data will be - attached. - - `[in] native_object`: The native data that will be attached to the JavaScript - object. - - `[in] finalize_cb`: Native callback that will be used to free the - native data when the JavaScript object is ready for garbage-collection. - - `[in] finalize_hint`: Optional contextual hint that is passed to the - finalize callback. - - `[out] result`: Optional reference to the JavaScript object. +- `[in] env`: The environment that the API is invoked under. +- `[in] js_object`: The JavaScript object to which the native data will be + attached. +- `[in] native_object`: The native data that will be attached to the JavaScript + object. +- `[in] finalize_cb`: Native callback that will be used to free the + native data when the JavaScript object is ready for garbage-collection. +- `[in] finalize_hint`: Optional contextual hint that is passed to the + finalize callback. +- `[out] result`: Optional reference to the JavaScript object. Returns `napi_ok` if the API succeeded. diff --git a/doc/api/process.md b/doc/api/process.md index 7c156e94923308..cd2b31f4474347 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -723,8 +723,8 @@ added: v6.1.0 * `previousValue` {Object} A previous return value from calling `process.cpuUsage()` * Returns: {Object} - * `user` {integer} - * `system` {integer} + * `user` {integer} + * `system` {integer} The `process.cpuUsage()` method returns the user and system CPU time usage of the current process, in an object with properties `user` and `system`, whose @@ -1450,10 +1450,10 @@ changes: --> * Returns: {Object} - * `rss` {integer} - * `heapTotal` {integer} - * `heapUsed` {integer} - * `external` {integer} + * `rss` {integer} + * `heapTotal` {integer} + * `heapUsed` {integer} + * `external` {integer} The `process.memoryUsage()` method returns an object describing the memory usage of the Node.js process measured in bytes. @@ -1866,45 +1866,45 @@ added: v12.6.0 * Returns: {Object} the resource usage for the current process. All of these values come from the `uv_getrusage` call which returns a [`uv_rusage_t` struct][uv_rusage_t]. - * `userCPUTime` {integer} maps to `ru_utime` computed in microseconds. - It is the same value as [`process.cpuUsage().user`][process.cpuUsage]. - * `systemCPUTime` {integer} maps to `ru_stime` computed in microseconds. - It is the same value as [`process.cpuUsage().system`][process.cpuUsage]. - * `maxRSS` {integer} maps to `ru_maxrss` which is the maximum resident set - size used in kilobytes. - * `sharedMemorySize` {integer} maps to `ru_ixrss` but is not supported by - any platform. - * `unsharedDataSize` {integer} maps to `ru_idrss` but is not supported by - any platform. - * `unsharedStackSize` {integer} maps to `ru_isrss` but is not supported by - any platform. - * `minorPageFault` {integer} maps to `ru_minflt` which is the number of - minor page faults for the process, see - [this article for more details][wikipedia_minor_fault]. - * `majorPageFault` {integer} maps to `ru_majflt` which is the number of - major page faults for the process, see - [this article for more details][wikipedia_major_fault]. This field is not - supported on Windows. - * `swappedOut` {integer} maps to `ru_nswap` but is not supported by any - platform. - * `fsRead` {integer} maps to `ru_inblock` which is the number of times the - file system had to perform input. - * `fsWrite` {integer} maps to `ru_oublock` which is the number of times the - file system had to perform output. - * `ipcSent` {integer} maps to `ru_msgsnd` but is not supported by any - platform. - * `ipcReceived` {integer} maps to `ru_msgrcv` but is not supported by any - platform. - * `signalsCount` {integer} maps to `ru_nsignals` but is not supported by any - platform. - * `voluntaryContextSwitches` {integer} maps to `ru_nvcsw` which is the - number of times a CPU context switch resulted due to a process voluntarily - giving up the processor before its time slice was completed (usually to - await availability of a resource). This field is not supported on Windows. - * `involuntaryContextSwitches` {integer} maps to `ru_nivcsw` which is the - number of times a CPU context switch resulted due to a higher priority - process becoming runnable or because the current process exceeded its - time slice. This field is not supported on Windows. + * `userCPUTime` {integer} maps to `ru_utime` computed in microseconds. + It is the same value as [`process.cpuUsage().user`][process.cpuUsage]. + * `systemCPUTime` {integer} maps to `ru_stime` computed in microseconds. + It is the same value as [`process.cpuUsage().system`][process.cpuUsage]. + * `maxRSS` {integer} maps to `ru_maxrss` which is the maximum resident set + size used in kilobytes. + * `sharedMemorySize` {integer} maps to `ru_ixrss` but is not supported by + any platform. + * `unsharedDataSize` {integer} maps to `ru_idrss` but is not supported by + any platform. + * `unsharedStackSize` {integer} maps to `ru_isrss` but is not supported by + any platform. + * `minorPageFault` {integer} maps to `ru_minflt` which is the number of + minor page faults for the process, see + [this article for more details][wikipedia_minor_fault]. + * `majorPageFault` {integer} maps to `ru_majflt` which is the number of + major page faults for the process, see + [this article for more details][wikipedia_major_fault]. This field is not + supported on Windows. + * `swappedOut` {integer} maps to `ru_nswap` but is not supported by any + platform. + * `fsRead` {integer} maps to `ru_inblock` which is the number of times the + file system had to perform input. + * `fsWrite` {integer} maps to `ru_oublock` which is the number of times the + file system had to perform output. + * `ipcSent` {integer} maps to `ru_msgsnd` but is not supported by any + platform. + * `ipcReceived` {integer} maps to `ru_msgrcv` but is not supported by any + platform. + * `signalsCount` {integer} maps to `ru_nsignals` but is not supported by any + platform. + * `voluntaryContextSwitches` {integer} maps to `ru_nvcsw` which is the + number of times a CPU context switch resulted due to a process voluntarily + giving up the processor before its time slice was completed (usually to + await availability of a resource). This field is not supported on Windows. + * `involuntaryContextSwitches` {integer} maps to `ru_nivcsw` which is the + number of times a CPU context switch resulted due to a higher priority + process becoming runnable or because the current process exceeded its + time slice. This field is not supported on Windows. ```js console.log(process.resourceUsage()); diff --git a/doc/api/repl.md b/doc/api/repl.md index 193e82240b7cbe..f8a5a07e240b61 100644 --- a/doc/api/repl.md +++ b/doc/api/repl.md @@ -600,17 +600,17 @@ undefined Various behaviors of the Node.js REPL can be customized using the following environment variables: - - `NODE_REPL_HISTORY` - When a valid path is given, persistent REPL history - will be saved to the specified file rather than `.node_repl_history` in the - user's home directory. Setting this value to `''` (an empty string) will - disable persistent REPL history. Whitespace will be trimmed from the value. - On Windows platforms environment variables with empty values are invalid so - set this variable to one or more spaces to disable persistent REPL history. - - `NODE_REPL_HISTORY_SIZE` - Controls how many lines of history will be - persisted if history is available. Must be a positive number. - **Default:** `1000`. - - `NODE_REPL_MODE` - May be either `'sloppy'` or `'strict'`. **Default:** - `'sloppy'`, which will allow non-strict mode code to be run. +- `NODE_REPL_HISTORY` - When a valid path is given, persistent REPL history + will be saved to the specified file rather than `.node_repl_history` in the + user's home directory. Setting this value to `''` (an empty string) will + disable persistent REPL history. Whitespace will be trimmed from the value. + On Windows platforms environment variables with empty values are invalid so + set this variable to one or more spaces to disable persistent REPL history. +- `NODE_REPL_HISTORY_SIZE` - Controls how many lines of history will be + persisted if history is available. Must be a positive number. + **Default:** `1000`. +- `NODE_REPL_MODE` - May be either `'sloppy'` or `'strict'`. **Default:** + `'sloppy'`, which will allow non-strict mode code to be run. ### Persistent History diff --git a/doc/api/url.md b/doc/api/url.md index 94551f162b8eef..a65cb2a6786053 100644 --- a/doc/api/url.md +++ b/doc/api/url.md @@ -1143,9 +1143,9 @@ The formatting process operates as follows: colon (`:`) character, the literal string `:` will be appended to `result`. * If either of the following conditions is true, then the literal string `//` will be appended to `result`: - * `urlObject.slashes` property is true; - * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or - `file`; + * `urlObject.slashes` property is true; + * `urlObject.protocol` begins with `http`, `https`, `ftp`, `gopher`, or + `file`; * If the value of the `urlObject.auth` property is truthy, and either `urlObject.host` or `urlObject.hostname` are not `undefined`, the value of `urlObject.auth` will be coerced into a string and appended to `result` diff --git a/doc/api/vm.md b/doc/api/vm.md index 530853736384e5..c657aeb07d2885 100644 --- a/doc/api/vm.md +++ b/doc/api/vm.md @@ -90,12 +90,12 @@ changes: `import()` will reject with [`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`][]. This option is part of the experimental API for the `--experimental-modules` flag, and should not be considered stable. - * `specifier` {string} specifier passed to `import()` - * `module` {vm.SourceTextModule} - * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a - `vm.SourceTextModule` is recommended in order to take advantage of error - tracking, and to avoid issues with namespaces that contain `then` - function exports. + * `specifier` {string} specifier passed to `import()` + * `module` {vm.SourceTextModule} + * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a + `vm.SourceTextModule` is recommended in order to take advantage of error + tracking, and to avoid issues with namespaces that contain `then` + function exports. If `options` is a string, then it specifies the filename. @@ -432,12 +432,12 @@ const contextifiedSandbox = vm.createContext({ secret: 42 }); * `importModuleDynamically` {Function} Called during evaluation of this module when `import()` is called. If this option is not specified, calls to `import()` will reject with [`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`][]. - * `specifier` {string} specifier passed to `import()` - * `module` {vm.SourceTextModule} - * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a - `vm.SourceTextModule` is recommended in order to take advantage of error - tracking, and to avoid issues with namespaces that contain `then` - function exports. + * `specifier` {string} specifier passed to `import()` + * `module` {vm.SourceTextModule} + * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a + `vm.SourceTextModule` is recommended in order to take advantage of error + tracking, and to avoid issues with namespaces that contain `then` + function exports. Creates a new ES `Module` object. @@ -817,12 +817,12 @@ changes: `import()` will reject with [`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`][]. This option is part of the experimental API for the `--experimental-modules` flag, and should not be considered stable. - * `specifier` {string} specifier passed to `import()` - * `module` {vm.SourceTextModule} - * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a - `vm.SourceTextModule` is recommended in order to take advantage of error - tracking, and to avoid issues with namespaces that contain `then` - function exports. + * `specifier` {string} specifier passed to `import()` + * `module` {vm.SourceTextModule} + * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a + `vm.SourceTextModule` is recommended in order to take advantage of error + tracking, and to avoid issues with namespaces that contain `then` + function exports. * Returns: {any} the result of the very last statement executed in the script. The `vm.runInContext()` method compiles `code`, runs it within the context of @@ -915,12 +915,12 @@ changes: `import()` will reject with [`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`][]. This option is part of the experimental API for the `--experimental-modules` flag, and should not be considered stable. - * `specifier` {string} specifier passed to `import()` - * `module` {vm.SourceTextModule} - * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a - `vm.SourceTextModule` is recommended in order to take advantage of error - tracking, and to avoid issues with namespaces that contain `then` - function exports. + * `specifier` {string} specifier passed to `import()` + * `module` {vm.SourceTextModule} + * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a + `vm.SourceTextModule` is recommended in order to take advantage of error + tracking, and to avoid issues with namespaces that contain `then` + function exports. * Returns: {any} the result of the very last statement executed in the script. The `vm.runInNewContext()` first contextifies the given `sandbox` object (or @@ -993,12 +993,12 @@ changes: `import()` will reject with [`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`][]. This option is part of the experimental API for the `--experimental-modules` flag, and should not be considered stable. - * `specifier` {string} specifier passed to `import()` - * `module` {vm.SourceTextModule} - * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a - `vm.SourceTextModule` is recommended in order to take advantage of error - tracking, and to avoid issues with namespaces that contain `then` - function exports. + * `specifier` {string} specifier passed to `import()` + * `module` {vm.SourceTextModule} + * Returns: {Module Namespace Object|vm.SourceTextModule} Returning a + `vm.SourceTextModule` is recommended in order to take advantage of error + tracking, and to avoid issues with namespaces that contain `then` + function exports. * Returns: {any} the result of the very last statement executed in the script. `vm.runInThisContext()` compiles `code`, runs it within the context of the diff --git a/doc/changelogs/CHANGELOG_ARCHIVE.md b/doc/changelogs/CHANGELOG_ARCHIVE.md index 6bd1bb5ef68fbc..7ac84ca05d8f50 100644 --- a/doc/changelogs/CHANGELOG_ARCHIVE.md +++ b/doc/changelogs/CHANGELOG_ARCHIVE.md @@ -2991,819 +2991,819 @@ https://github.com/nodejs/node/commit/f711d5343b29d1e72e87107315708e40951a7826 https://github.com/nodejs/node/commit/557ba6bd97bad3afe0f9bd3ac07efac0a39978c1 - * Fixed no 'end' event on long chunked HTTP messages - https://github.com/joyent/node/issues/77 +* Fixed no 'end' event on long chunked HTTP messages + https://github.com/joyent/node/issues/77 - * Remove legacy modules http_old and tcp_old - * Support DNS MX queries (Jérémy Lal) +* Remove legacy modules http_old and tcp_old +* Support DNS MX queries (Jérémy Lal) - * Fix large socket write (tlb@tlb.org) - * Fix child process exit codes (Felix Geisendörfer) +* Fix large socket write (tlb@tlb.org) +* Fix child process exit codes (Felix Geisendörfer) - * Allow callers to disable PHP/Rails style parameter munging in - querystring.stringify (Thomas Lee) +* Allow callers to disable PHP/Rails style parameter munging in + querystring.stringify (Thomas Lee) - * Upgrade V8 to 2.2.6 +* Upgrade V8 to 2.2.6 ## 2010.04.23, Version 0.1.92 https://github.com/nodejs/node/commit/caa828a242f39b6158084ef4376355161c14fe34 - * OpenSSL support. Still undocumented (see tests). (Rhys Jones) - * API: Unhandled 'error' events throw. +* OpenSSL support. Still undocumented (see tests). (Rhys Jones) +* API: Unhandled 'error' events throw. - * Script class with eval-function-family in binding('evals') plus tests. - (Herbert Vojcik) +* Script class with eval-function-family in binding('evals') plus tests. + (Herbert Vojcik) - * stream.setKeepAlive (Julian Lamb) - * Bugfix: Force no body on http 204 and 304 +* stream.setKeepAlive (Julian Lamb) +* Bugfix: Force no body on http 204 and 304 - * Upgrade Waf to 1.5.16, V8 to 2.2.4.2 +* Upgrade Waf to 1.5.16, V8 to 2.2.4.2 ## 2010.04.15, Version 0.1.91 https://github.com/nodejs/node/commit/311d7dee19034ff1c6bc9098c36973b8d687eaba - * Add incoming.httpVersion - * Object.prototype problem with C-Ares binding +* Add incoming.httpVersion +* Object.prototype problem with C-Ares binding - * REPL can be run from multiple different streams. (Matt Ranney) - * After V8 heap is compact, don't use a timer every 2 seconds. +* REPL can be run from multiple different streams. (Matt Ranney) +* After V8 heap is compact, don't use a timer every 2 seconds. - * Improve nextTick implementation. - * Add primitive support for Upgrading HTTP connections. - (See commit log for docs 760bba5) +* Improve nextTick implementation. +* Add primitive support for Upgrading HTTP connections. + (See commit log for docs 760bba5) - * Add timeout and maxBuffer options to child_process.exec - * Fix bugs. +* Add timeout and maxBuffer options to child_process.exec +* Fix bugs. - * Upgrade V8 to 2.2.3.1 +* Upgrade V8 to 2.2.3.1 ## 2010.04.09, Version 0.1.90 https://github.com/nodejs/node/commit/07e64d45ffa1856e824c4fa6afd0442ba61d6fd8 - * Merge writing of networking system (net2) - - New Buffer object for binary data. - - Support UNIX sockets, Pipes - - Uniform stream API - - Currently no SSL - - Legacy modules can be accessed at 'http_old' and 'tcp_old' +* Merge writing of networking system (net2) + - New Buffer object for binary data. + - Support UNIX sockets, Pipes + - Uniform stream API + - Currently no SSL + - Legacy modules can be accessed at 'http_old' and 'tcp_old' - * Replace udns with c-ares. (Krishna Rajendran) - * New documentation system using Markdown and Ronn - (Tim Caswell, Micheil Smith) +* Replace udns with c-ares. (Krishna Rajendran) +* New documentation system using Markdown and Ronn + (Tim Caswell, Micheil Smith) - * Better idle-time GC - * Countless small bug fixes. +* Better idle-time GC +* Countless small bug fixes. - * Upgrade V8 to 2.2.X, WAF 1.5.15 +* Upgrade V8 to 2.2.X, WAF 1.5.15 ## 2010.03.19, Version 0.1.33 https://github.com/nodejs/node/commit/618296ef571e873976f608d91a3d6b9e65fe8284 - * Include lib/ directory in node executable. Compile on demand. - * evalcx clean ups (Isaac Z. Schlueter, Tim-Smart) +* Include lib/ directory in node executable. Compile on demand. +* evalcx clean ups (Isaac Z. Schlueter, Tim-Smart) - * Various fixes, clean ups - * V8 upgraded to 2.1.5 +* Various fixes, clean ups +* V8 upgraded to 2.1.5 ## 2010.03.12, Version 0.1.32 https://github.com/nodejs/node/commit/61c801413544a50000faa7f58376e9b33ba6254f - * Optimize event emitter for single listener - * Add process.evalcx, require.registerExtension (Tim Smart) +* Optimize event emitter for single listener +* Add process.evalcx, require.registerExtension (Tim Smart) - * Replace --cflags with --vars - * Fix bugs in fs.create*Stream (Felix Geisendörfer) +* Replace --cflags with --vars +* Fix bugs in fs.create*Stream (Felix Geisendörfer) - * Deprecate process.mixin, process.unloop - * Remove the 'Error: (no message)' exceptions, print stack - trace instead +* Deprecate process.mixin, process.unloop +* Remove the 'Error: (no message)' exceptions, print stack + trace instead - * INI parser bug fixes (Isaac Schlueter) - * FreeBSD fixes (Vanilla Hsu) +* INI parser bug fixes (Isaac Schlueter) +* FreeBSD fixes (Vanilla Hsu) - * Upgrade to V8 2.1.3, WAF 1.5.14a, libev +* Upgrade to V8 2.1.3, WAF 1.5.14a, libev ## 2010.03.05, Version 0.1.31 https://github.com/nodejs/node/commit/39b63dfe1737d46a8c8818c92773ef181fd174b3 - * API: - - Move process.watchFile into fs module - - Move process.inherits to sys +* API: + - Move process.watchFile into fs module + - Move process.inherits to sys - * Improve Solaris port - * tcp.Connection.prototype.write now returns boolean to indicate if - argument was flushed to the kernel buffer. +* Improve Solaris port +* tcp.Connection.prototype.write now returns boolean to indicate if + argument was flushed to the kernel buffer. - * Added fs.link, fs.symlink, fs.readlink, fs.realpath - (Rasmus Andersson) +* Added fs.link, fs.symlink, fs.readlink, fs.realpath + (Rasmus Andersson) - * Add setgid,getgid (James Duncan) - * Improve sys.inspect (Benjamin Thomas) +* Add setgid,getgid (James Duncan) +* Improve sys.inspect (Benjamin Thomas) - * Allow passing env to child process (Isaac Schlueter) - * fs.createWriteStream, fs.createReadStream (Felix Geisendörfer) +* Allow passing env to child process (Isaac Schlueter) +* fs.createWriteStream, fs.createReadStream (Felix Geisendörfer) - * Add INI parser (Rob Ellis) - * Bugfix: fs.readFile handling encoding (Jacek Becela) +* Add INI parser (Rob Ellis) +* Bugfix: fs.readFile handling encoding (Jacek Becela) - * Upgrade V8 to 2.1.2 +* Upgrade V8 to 2.1.2 ## 2010.02.22, Version 0.1.30 https://github.com/nodejs/node/commit/bb0d1e65e1671aaeb21fac186b066701da0bc33b - * Major API Changes - - Promises removed. See - http://groups.google.com/group/nodejs/msg/426f3071f3eec16b - http://groups.google.com/group/nodejs/msg/df199d233ff17efa - The API for fs was - fs.readdir("/usr").addCallback(function (files) { - puts("/usr files: " + files); - }); - It is now - fs.readdir("/usr", function (err, files) { - if (err) throw err; - puts("/usr files: " + files); - }); - - Synchronous fs operations exposed, use with care. - - tcp.Connection.prototype.readPause() and readResume() - renamed to pause() and resume() - - http.ServerResponse.prototype.sendHeader() renamed to - writeHeader(). Now accepts reasonPhrase. - - * Compact garbage on idle. - * Configurable debug ports, and --debug-brk (Zoran Tomicic) - - * Better command line option parsing (Jeremy Ashkenas) - * Add fs.chmod (Micheil Smith), fs.lstat (Isaac Z. Schlueter) - - * Fixes to process.mixin (Rasmus Andersson, Benjamin Thomas) - * Upgrade V8 to 2.1.1 +* Major API Changes + - Promises removed. See + http://groups.google.com/group/nodejs/msg/426f3071f3eec16b + http://groups.google.com/group/nodejs/msg/df199d233ff17efa + The API for fs was + fs.readdir("/usr").addCallback(function (files) { + puts("/usr files: " + files); + }); + It is now + fs.readdir("/usr", function (err, files) { + if (err) throw err; + puts("/usr files: " + files); + }); + - Synchronous fs operations exposed, use with care. + - tcp.Connection.prototype.readPause() and readResume() + renamed to pause() and resume() + - http.ServerResponse.prototype.sendHeader() renamed to + writeHeader(). Now accepts reasonPhrase. + +* Compact garbage on idle. +* Configurable debug ports, and --debug-brk (Zoran Tomicic) + +* Better command line option parsing (Jeremy Ashkenas) +* Add fs.chmod (Micheil Smith), fs.lstat (Isaac Z. Schlueter) + +* Fixes to process.mixin (Rasmus Andersson, Benjamin Thomas) +* Upgrade V8 to 2.1.1 ## 2010.02.17, Version 0.1.29 https://github.com/nodejs/node/commit/87d5e5b316a4276bcf881f176971c1a237dcdc7a - * Major API Changes - - Remove 'file' module - - require('posix') -----------------> require('fs') - - fs.cat ---------------------------> fs.readFile - - file.write -----------------------> fs.writeFile - - TCP 'receive' event --------------> 'data' - - TCP 'eof' event ------------------> 'end' - - TCP send() -----------------------> write() - - HTTP sendBody() ------------------> write() - - HTTP finish() --------------------> close() - - HTTP 'body' event ----------------> 'data' - - HTTP 'complete' event ------------> 'end' - - http.Client.prototype.close() (formerly finish()) no longer - takes an argument. Add the 'response' listener manually. - - Allow strings for the flag argument to fs.open - ("r", "r+", "w", "w+", "a", "a+") - - * Added multiple arg support for sys.puts(), print(), etc. - (tj@vision-media.ca) - - * sys.inspect(Date) now shows the date value (Mark Hansen) - * Calculate page size with getpagesize for armel (Jérémy Lal) - - * Bugfix: stderr flushing. - * Bugfix: Promise late chain (Yuichiro MASUI) - - * Bugfix: wait() on fired promises - (Felix Geisendörfer, Jonas Pfenniger) - - * Bugfix: Use InstanceTemplate() instead of PrototypeTemplate() for - accessor methods. Was causing a crash with Eclipse debugger. - (Zoran Tomicic) - - * Bugfix: Throw from connection.connect if resolving. - (Reported by James Golick) +* Major API Changes + - Remove 'file' module + - require('posix') -----------------> require('fs') + - fs.cat ---------------------------> fs.readFile + - file.write -----------------------> fs.writeFile + - TCP 'receive' event --------------> 'data' + - TCP 'eof' event ------------------> 'end' + - TCP send() -----------------------> write() + - HTTP sendBody() ------------------> write() + - HTTP finish() --------------------> close() + - HTTP 'body' event ----------------> 'data' + - HTTP 'complete' event ------------> 'end' + - http.Client.prototype.close() (formerly finish()) no longer + takes an argument. Add the 'response' listener manually. + - Allow strings for the flag argument to fs.open + ("r", "r+", "w", "w+", "a", "a+") + +* Added multiple arg support for sys.puts(), print(), etc. + (tj@vision-media.ca) + +* sys.inspect(Date) now shows the date value (Mark Hansen) +* Calculate page size with getpagesize for armel (Jérémy Lal) + +* Bugfix: stderr flushing. +* Bugfix: Promise late chain (Yuichiro MASUI) + +* Bugfix: wait() on fired promises + (Felix Geisendörfer, Jonas Pfenniger) + +* Bugfix: Use InstanceTemplate() instead of PrototypeTemplate() for + accessor methods. Was causing a crash with Eclipse debugger. + (Zoran Tomicic) + +* Bugfix: Throw from connection.connect if resolving. + (Reported by James Golick) ## 2010.02.09, Version 0.1.28 https://github.com/nodejs/node/commit/49de41ef463292988ddacfb01a20543b963d9669 - * Use Google's jsmin.py which can be used for evil. - * Add posix.truncate() +* Use Google's jsmin.py which can be used for evil. +* Add posix.truncate() - * Throw errors from server.listen() - * stdio bugfix (test by Mikeal Rogers) +* Throw errors from server.listen() +* stdio bugfix (test by Mikeal Rogers) - * Module system refactor (Felix Geisendörfer, Blaine Cook) - * Add process.setuid(), getuid() (Michael Carter) +* Module system refactor (Felix Geisendörfer, Blaine Cook) +* Add process.setuid(), getuid() (Michael Carter) - * sys.inspect refactor (Tim Caswell) - * Multipart library rewrite (isaacs) +* sys.inspect refactor (Tim Caswell) +* Multipart library rewrite (isaacs) ## 2010.02.03, Version 0.1.27 https://github.com/nodejs/node/commit/0cfa789cc530848725a8cb5595224e78ae7b9dd0 - * Implemented __dirname (Felix Geisendörfer) - * Downcase process.ARGV, process.ENV, GLOBAL - (now process.argv, process.env, global) +* Implemented __dirname (Felix Geisendörfer) +* Downcase process.ARGV, process.ENV, GLOBAL + (now process.argv, process.env, global) - * Bug Fix: Late promise promise callbacks firing - (Felix Geisendörfer, Jonas Pfenniger) +* Bug Fix: Late promise promise callbacks firing + (Felix Geisendörfer, Jonas Pfenniger) - * Make assert.AssertionError instance of Error - * Removed inline require call for querystring - (self@cloudhead.net) +* Make assert.AssertionError instance of Error +* Removed inline require call for querystring + (self@cloudhead.net) - * Add support for MX, TXT, and SRV records in DNS module. - (Blaine Cook) +* Add support for MX, TXT, and SRV records in DNS module. + (Blaine Cook) - * Bugfix: HTTP client automatically reconnecting - * Adding OS X .dmg build scripts. (Standa Opichal) +* Bugfix: HTTP client automatically reconnecting +* Adding OS X .dmg build scripts. (Standa Opichal) - * Bugfix: ObjectWrap memory leak - * Bugfix: Multipart handle Content-Type headers with charset - (Felix Geisendörfer) +* Bugfix: ObjectWrap memory leak +* Bugfix: Multipart handle Content-Type headers with charset + (Felix Geisendörfer) - * Upgrade http-parser to fix header overflow attack. - * Upgrade V8 to 2.1.0 +* Upgrade http-parser to fix header overflow attack. +* Upgrade V8 to 2.1.0 - * Various other bug fixes, performance improvements. +* Various other bug fixes, performance improvements. ## 2010.01.20, Version 0.1.26 https://github.com/nodejs/node/commit/da00413196e432247346d9e587f8c78ce5ceb087 - * Bugfix, HTTP eof causing crash (Ben Williamson) - * Better error message on SyntaxError +* Bugfix, HTTP eof causing crash (Ben Williamson) +* Better error message on SyntaxError - * API: Move Promise and EventEmitter into 'events' module - * API: Add process.nextTick() +* API: Move Promise and EventEmitter into 'events' module +* API: Add process.nextTick() - * Allow optional params to setTimeout, setInterval - (Micheil Smith) +* Allow optional params to setTimeout, setInterval + (Micheil Smith) - * API: change some Promise behavior (Felix Geisendörfer) - - Removed Promise.cancel() - - Support late callback binding - - Make unhandled Promise errors throw an exception +* API: change some Promise behavior (Felix Geisendörfer) + - Removed Promise.cancel() + - Support late callback binding + - Make unhandled Promise errors throw an exception - * Upgrade V8 to 2.0.6.1 - * Solaris port (Erich Ocean) +* Upgrade V8 to 2.0.6.1 +* Solaris port (Erich Ocean) ## 2010.01.09, Version 0.1.25 https://github.com/nodejs/node/commit/39ca93549af91575ca9d4cbafd1e170fbcef3dfa - * sys.inspect() improvements (Tim Caswell) - * path module improvements (isaacs, Benjamin Thomas) +* sys.inspect() improvements (Tim Caswell) +* path module improvements (isaacs, Benjamin Thomas) - * API: request.uri -> request.url - It is no longer an object, but a string. The 'url' module - was added to parse that string. That is, node no longer - parses the request URL automatically. - require('url').parse(request.url) - is roughly equivalent to the old request.uri object. - (isaacs) +* API: request.uri -> request.url + It is no longer an object, but a string. The 'url' module + was added to parse that string. That is, node no longer + parses the request URL automatically. + require('url').parse(request.url) + is roughly equivalent to the old request.uri object. + (isaacs) - * Bugfix: Several libeio related race conditions. - * Better errors for multipart library (Felix Geisendörfer) +* Bugfix: Several libeio related race conditions. +* Better errors for multipart library (Felix Geisendörfer) - * Bugfix: Update node-waf version to 1.5.10 - * getmem for freebsd (Vanilla Hsu) +* Bugfix: Update node-waf version to 1.5.10 +* getmem for freebsd (Vanilla Hsu) ## 2009.12.31, Version 0.1.24 https://github.com/nodejs/node/commit/642c2773a7eb2034f597af1cd404b9e086b59632 - * Bugfix: don't chunk responses to HTTP/1.0 clients, even if - they send Connection: Keep-Alive (e.g. wget) +* Bugfix: don't chunk responses to HTTP/1.0 clients, even if + they send Connection: Keep-Alive (e.g. wget) - * Bugfix: libeio race condition - * Bugfix: Don't segfault on unknown http method +* Bugfix: libeio race condition +* Bugfix: Don't segfault on unknown http method - * Simplify exception reporting - * Upgrade V8 to 2.0.5.4 +* Simplify exception reporting +* Upgrade V8 to 2.0.5.4 ## 2009.12.22, Version 0.1.23 https://github.com/nodejs/node/commit/f91e347eeeeac1a8bd6a7b462df0321b60f3affc - * Bugfix: require("../blah") issues (isaacs) - * Bugfix: posix.cat (Jonas Pfenniger) +* Bugfix: require("../blah") issues (isaacs) +* Bugfix: posix.cat (Jonas Pfenniger) - * Do not pause request for multipart parsing (Felix Geisendörfer) +* Do not pause request for multipart parsing (Felix Geisendörfer) ## 2009.12.19, Version 0.1.22 https://github.com/nodejs/node/commit/a2d809fe902f6c4102dba8f2e3e9551aad137c0f - * Bugfix: child modules get wrong id with "index.js" (isaacs) - * Bugfix: require("../foo") cycles (isaacs) +* Bugfix: child modules get wrong id with "index.js" (isaacs) +* Bugfix: require("../foo") cycles (isaacs) - * Bugfix: require() should throw error if module does. - * New URI parser stolen from Narwhal (isaacs) +* Bugfix: require() should throw error if module does. +* New URI parser stolen from Narwhal (isaacs) - * Bugfix: correctly check kqueue and epoll. (Rasmus Andersson) - * Upgrade WAF to 1.5.10 +* Bugfix: correctly check kqueue and epoll. (Rasmus Andersson) +* Upgrade WAF to 1.5.10 - * Bugfix: posix.statSync() was crashing - * Statically define string symbols for performance improvement +* Bugfix: posix.statSync() was crashing +* Statically define string symbols for performance improvement - * Bugfix: ARGV[0] weirdness - * Added superCtor to ctor.super_ instead superCtor.prototype. - (Johan Dahlberg) +* Bugfix: ARGV[0] weirdness +* Added superCtor to ctor.super_ instead superCtor.prototype. + (Johan Dahlberg) - * http-parser supports webdav methods - * API: http.Client.prototype.request() (Christopher Lenz) +* http-parser supports webdav methods +* API: http.Client.prototype.request() (Christopher Lenz) ## 2009.12.06, Version 0.1.21 https://github.com/nodejs/node/commit/c6affb64f96a403a14d20035e7fbd6d0ce089db5 - * Feature: Add HTTP client TLS support (Rhys Jones) - * Bugfix: use --jobs=1 with WAF +* Feature: Add HTTP client TLS support (Rhys Jones) +* Bugfix: use --jobs=1 with WAF - * Bugfix: Don't use chunked encoding for 1.0 requests - * Bugfix: Duplicated header weren't handled correctly +* Bugfix: Don't use chunked encoding for 1.0 requests +* Bugfix: Duplicated header weren't handled correctly - * Improve sys.inspect (Xavier Shay) - * Upgrade v8 to 2.0.3 +* Improve sys.inspect (Xavier Shay) +* Upgrade v8 to 2.0.3 - * Use CommonJS assert API (Felix Geisendörfer, Karl Guertin) +* Use CommonJS assert API (Felix Geisendörfer, Karl Guertin) ## 2009.11.28, Version 0.1.20 https://github.com/nodejs/node/commit/aa42c6790da8ed2cd2b72051c07f6251fe1724d8 - * Add gnutls version to configure script - * Add V8 heap info to process.memoryUsage() +* Add gnutls version to configure script +* Add V8 heap info to process.memoryUsage() - * process.watchFile callback has 2 arguments with the stat object - (choonkeat@gmail.com) +* process.watchFile callback has 2 arguments with the stat object + (choonkeat@gmail.com) ## 2009.11.28, Version 0.1.19 https://github.com/nodejs/node/commit/633d6be328708055897b72327b88ac88e158935f - * Feature: Initial TLS support for TCP servers and clients. - (Rhys Jones) +* Feature: Initial TLS support for TCP servers and clients. + (Rhys Jones) - * Add options to process.watchFile() - * Add process.umask() (Friedemann Altrock) +* Add options to process.watchFile() +* Add process.umask() (Friedemann Altrock) - * Bugfix: only detach timers when active. - * Bugfix: lib/file.js write(), shouldn't always emit errors or success - (onne@onnlucky.com) +* Bugfix: only detach timers when active. +* Bugfix: lib/file.js write(), shouldn't always emit errors or success + (onne@onnlucky.com) - * Bugfix: Memory leak in fs.write - (Reported by onne@onnlucky.com) +* Bugfix: Memory leak in fs.write + (Reported by onne@onnlucky.com) - * Bugfix: Fix regular expressions detecting outgoing message headers. - (Reported by Elliott Cable) +* Bugfix: Fix regular expressions detecting outgoing message headers. + (Reported by Elliott Cable) - * Improvements to Multipart parser (Felix Geisendörfer) - * New HTTP parser +* Improvements to Multipart parser (Felix Geisendörfer) +* New HTTP parser - * Upgrade v8 to 2.0.2 +* Upgrade v8 to 2.0.2 ## 2009.11.17, Version 0.1.18 https://github.com/nodejs/node/commit/027829d2853a14490e6de9fc5f7094652d045ab8 - * Feature: process.watchFile() process.unwatchFile() - * Feature: "uncaughtException" event on process - (Felix Geisendörfer) +* Feature: process.watchFile() process.unwatchFile() +* Feature: "uncaughtException" event on process + (Felix Geisendörfer) - * Feature: 'drain' event to tcp.Connection - * Bugfix: Promise.timeout() blocked the event loop - (Felix Geisendörfer) +* Feature: 'drain' event to tcp.Connection +* Bugfix: Promise.timeout() blocked the event loop + (Felix Geisendörfer) - * Bugfix: sendBody() and chunked utf8 strings - (Felix Geisendörfer) +* Bugfix: sendBody() and chunked utf8 strings + (Felix Geisendörfer) - * Supply the strerror as a second arg to the tcp.Connection close - event (Johan Sørensen) +* Supply the strerror as a second arg to the tcp.Connection close + event (Johan Sørensen) - * Add EventEmitter.removeListener (frodenius@gmail.com) - * Format JSON for inspecting objects (Felix Geisendörfer) +* Add EventEmitter.removeListener (frodenius@gmail.com) +* Format JSON for inspecting objects (Felix Geisendörfer) - * Upgrade libev to latest CVS +* Upgrade libev to latest CVS ## 2009.11.07, Version 0.1.17 https://github.com/nodejs/node/commit/d1f69ef35dac810530df8249d523add168e09f03 - * Feature: process.chdir() (Brandon Beacher) - * Revert http parser upgrade. (b893859c34f05db5c45f416949ebc0eee665cca6) - Broke keep-alive. +* Feature: process.chdir() (Brandon Beacher) +* Revert http parser upgrade. (b893859c34f05db5c45f416949ebc0eee665cca6) + Broke keep-alive. - * API: rename process.inherits to sys.inherits +* API: rename process.inherits to sys.inherits ## 2009.11.03, Version 0.1.16 https://github.com/nodejs/node/commit/726865af7bbafe58435986f4a193ff11c84e4bfe - * API: Use CommonJS-style module requiring - - require("/sys.js") becomes require("sys") - - require("circle.js") becomes require("./circle") - - process.path.join() becomes require("path").join() - - __module becomes module +* API: Use CommonJS-style module requiring + - require("/sys.js") becomes require("sys") + - require("circle.js") becomes require("./circle") + - process.path.join() becomes require("path").join() + - __module becomes module - * API: Many namespacing changes - - Move node.\* into process.\* - - Move node.dns into module "dns" - - Move node.fs into module "posix" - - process is no longer the global object. GLOBAL is. - For more information on the API changes see: - http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/6 - http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/14 +* API: Many namespacing changes + - Move node.\* into process.\* + - Move node.dns into module "dns" + - Move node.fs into module "posix" + - process is no longer the global object. GLOBAL is. +For more information on the API changes see: + http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/6 + http://thread.gmane.org/gmane.comp.lang.javascript.nodejs/14 - * Feature: process.platform, process.memoryUsage() - * Feature: promise.cancel() (Felix Geisendörfer) +* Feature: process.platform, process.memoryUsage() +* Feature: promise.cancel() (Felix Geisendörfer) - * Upgrade V8 to 1.3.18 +* Upgrade V8 to 1.3.18 ## 2009.10.28, Version 0.1.15 https://github.com/nodejs/node/commit/eca2de73ed786b935507fd1c6faccd8df9938fd3 - * Many build system fixes (esp. for OSX users) - * Feature: promise.timeout() (Felix Geisendörfer) +* Many build system fixes (esp. for OSX users) +* Feature: promise.timeout() (Felix Geisendörfer) - * Feature: Added external interface for signal handlers, process.pid, and - process.kill() (Brandon Beacher) +* Feature: Added external interface for signal handlers, process.pid, and + process.kill() (Brandon Beacher) - * API: Rename node.libraryPaths to require.paths - * Bugfix: 'data' event for stdio should emit a string +* API: Rename node.libraryPaths to require.paths +* Bugfix: 'data' event for stdio should emit a string - * Large file support - * Upgrade http_parser +* Large file support +* Upgrade http_parser - * Upgrade v8 to 1.3.16 +* Upgrade v8 to 1.3.16 ## 2009.10.09, Version 0.1.14 https://github.com/nodejs/node/commit/d79b6e9f7ffad4c6aabbe5bd89108e2005366469 - * Feature: Improved addon builds with node-waf - * Feature: node.SignalHandler (Brandon Beacher) +* Feature: Improved addon builds with node-waf +* Feature: node.SignalHandler (Brandon Beacher) - * Feature: Enable V8 debugging (but still need to make a debugger) - * API: Rename library /utils.js to /sys.js +* Feature: Enable V8 debugging (but still need to make a debugger) +* API: Rename library /utils.js to /sys.js - * Clean up Node's build system - * Don't use parseUri for HTTP server +* Clean up Node's build system +* Don't use parseUri for HTTP server - * Remove node.pc - * Don't use /bin/sh to create child process except with exec() +* Remove node.pc +* Don't use /bin/sh to create child process except with exec() - * API: Add __module to reference current module - * API: Remove include() add node.mixin() +* API: Add __module to reference current module +* API: Remove include() add node.mixin() - * Normalize http headers; "Content-Length" becomes "content-length" - * Upgrade V8 to 1.3.15 +* Normalize http headers; "Content-Length" becomes "content-length" +* Upgrade V8 to 1.3.15 ## 2009.09.30, Version 0.1.13 https://github.com/nodejs/node/commit/9c9d67eb6ce1162c8da05ff59624f6c3ade19bf7 - * Feature: Multipart stream parser (Felix Geisendörfer) - * API: Move node.puts(), node.exec() and others to /utils.js +* Feature: Multipart stream parser (Felix Geisendörfer) +* API: Move node.puts(), node.exec() and others to /utils.js - * API: Move http, tcp libraries to /http.js and /tcp.js - * API: Rename node.exit() to process.exit() +* API: Move http, tcp libraries to /http.js and /tcp.js +* API: Rename node.exit() to process.exit() - * Bugfix: require() and include() should work in callbacks. - * Pass the Host header in http.cat calls +* Bugfix: require() and include() should work in callbacks. +* Pass the Host header in http.cat calls - * Add warning when coroutine stack size grows too large. - * Enhance repl library (Ray Morgan) +* Add warning when coroutine stack size grows too large. +* Enhance repl library (Ray Morgan) - * Bugfix: build script for - GCC 4.4 (removed -Werror in V8), - on Linux 2.4, - and with Python 2.4.4. +* Bugfix: build script for + GCC 4.4 (removed -Werror in V8), + on Linux 2.4, + and with Python 2.4.4. - * Add read() and write() to /file.js to read and write - whole files at once. +* Add read() and write() to /file.js to read and write + whole files at once. ## 2009.09.24, Version 0.1.12 https://github.com/nodejs/node/commit/2f56ccb45e87510de712f56705598b3b4e3548ec - * Feature: System modules, node.libraryPaths - * API: Remove "raw" encoding, rename "raws" to "binary". +* Feature: System modules, node.libraryPaths +* API: Remove "raw" encoding, rename "raws" to "binary". - * API: Added connection.setNoDElay() to disable Nagle algo. - * Decrease default TCP server backlog to 128 +* API: Added connection.setNoDElay() to disable Nagle algo. +* Decrease default TCP server backlog to 128 - * Bugfix: memory leak involving node.fs.* methods. - * Upgrade v8 to 1.3.13 +* Bugfix: memory leak involving node.fs.* methods. +* Upgrade v8 to 1.3.13 ## 2009.09.18, Version 0.1.11 https://github.com/nodejs/node/commit/5ddc4f5d0c002bac0ae3d62fc0dc58f0d2d83ec4 - * API: default to utf8 encoding for node.fs.cat() - * API: add node.exec() +* API: default to utf8 encoding for node.fs.cat() +* API: add node.exec() - * API: node.fs.read() takes a normal encoding parameter. - * API: Change arguments of emit(), emitSuccess(), emitError() +* API: node.fs.read() takes a normal encoding parameter. +* API: Change arguments of emit(), emitSuccess(), emitError() - * Bugfix: node.fs.write() was stack allocating buffer. - * Bugfix: ReportException shouldn't forget the top frame. +* Bugfix: node.fs.write() was stack allocating buffer. +* Bugfix: ReportException shouldn't forget the top frame. - * Improve buffering for HTTP outgoing messages - * Fix and reenable x64 macintosh build. +* Improve buffering for HTTP outgoing messages +* Fix and reenable x64 macintosh build. - * Upgrade v8 to 1.3.11 +* Upgrade v8 to 1.3.11 ## 2009.09.11, Version 0.1.10 https://github.com/nodejs/node/commit/12bb0d46ce761e3d00a27170e63b40408c15b558 - * Feature: raw string encoding "raws" - * Feature: access to environ through "ENV" +* Feature: raw string encoding "raws" +* Feature: access to environ through "ENV" - * Feature: add isDirectory, isFile, isSocket, ... methods - to stats object. +* Feature: add isDirectory, isFile, isSocket, ... methods + to stats object. - * Bugfix: Internally use full paths when loading modules - this fixes a shebang loading problem. +* Bugfix: Internally use full paths when loading modules + this fixes a shebang loading problem. - * Bugfix: Add '--' command line argument for separating v8 - args from program args. +* Bugfix: Add '--' command line argument for separating v8 + args from program args. - * Add man page. - * Add node-repl +* Add man page. +* Add node-repl - * Upgrade v8 to 1.3.10 +* Upgrade v8 to 1.3.10 ## 2009.09.05, Version 0.1.9 https://github.com/nodejs/node/commit/ba6c5e38d54de30adfce69a21bafc81c35b07a03 - * Bugfix: Compile on Snow Leopard. - * Bugfix: Malformed URIs raising exceptions. +* Bugfix: Compile on Snow Leopard. +* Bugfix: Malformed URIs raising exceptions. ## 2009.09.04, Version 0.1.8 https://github.com/nodejs/node/commit/734e86b9e568de5f694ae290a2b5c9395b70937c - * Feature: External modules - * Feature: setTimeout() for node.tcp.Connection +* Feature: External modules +* Feature: setTimeout() for node.tcp.Connection - * Feature: add node.cwd(), node.fs.readdir(), node.fs.mkdir() - * Bugfix: promise.wait() releasing out of order. +* Feature: add node.cwd(), node.fs.readdir(), node.fs.mkdir() +* Bugfix: promise.wait() releasing out of order. - * Bugfix: Asyncly do getaddrinfo() on Apple. - * Disable useless evcom error messages. +* Bugfix: Asyncly do getaddrinfo() on Apple. +* Disable useless evcom error messages. - * Better stack traces. - * Built natively on x64. +* Better stack traces. +* Built natively on x64. - * Upgrade v8 to 1.3.9 +* Upgrade v8 to 1.3.9 ## 2009.08.27, Version 0.1.7 https://github.com/nodejs/node/commit/31db4f1ed837f3835937f60d31368bdb31998386 - * Feature: global 'process' object. Emits "exit". - * Feature: promise.wait() +* Feature: global 'process' object. Emits "exit". +* Feature: promise.wait() - * Feature: node.stdio - * Feature: EventEmitters emit "newListener" when listeners are - added +* Feature: node.stdio +* Feature: EventEmitters emit "newListener" when listeners are + added - * API: Use flat object instead of array-of-arrays for HTTP - headers. +* API: Use flat object instead of array-of-arrays for HTTP + headers. - * API: Remove buffered file object (node.File) - * API: require(), include() are synchronous. (Uses - continuations.) +* API: Remove buffered file object (node.File) +* API: require(), include() are synchronous. (Uses + continuations.) - * API: Deprecate onLoad and onExit. - * API: Rename node.Process to node.ChildProcess +* API: Deprecate onLoad and onExit. +* API: Rename node.Process to node.ChildProcess - * Refactor node.Process to take advantage of evcom_reader/writer. - * Upgrade v8 to 1.3.7 +* Refactor node.Process to take advantage of evcom_reader/writer. +* Upgrade v8 to 1.3.7 ## 2009.08.22, Version 0.1.6 https://github.com/nodejs/node/commit/9c97b1db3099d61cd292aa59ec2227a619f3a7ab - * Bugfix: Ignore SIGPIPE. +* Bugfix: Ignore SIGPIPE. ## 2009.08.21, Version 0.1.5 https://github.com/nodejs/node/commit/a73998d6f491227e595524dc70589369fb458224 - * Bugfix: Buggy connections could crash node.js. Now check - connection before sending data every time (Kevin van Zonneveld) +* Bugfix: Buggy connections could crash node.js. Now check + connection before sending data every time (Kevin van Zonneveld) - * Bugfix: stdin fd (0) being ignored by node.File. (Abe Fettig) - * API: Remove connection.fullClose() +* Bugfix: stdin fd (0) being ignored by node.File. (Abe Fettig) +* API: Remove connection.fullClose() - * API: Return the EventEmitter from addListener for chaining. - * API: tcp.Connection "disconnect" event renamed to "close" +* API: Return the EventEmitter from addListener for chaining. +* API: tcp.Connection "disconnect" event renamed to "close" - * Upgrade evcom - Upgrade v8 to 1.3.6 +* Upgrade evcom + Upgrade v8 to 1.3.6 ## 2009.08.13, Version 0.1.4 https://github.com/nodejs/node/commit/0f888ed6de153f68c17005211d7e0f960a5e34f3 - * Major refactor to evcom. - * Enable test-tcp-many-clients. +* Major refactor to evcom. +* Enable test-tcp-many-clients. - * Add -m32 gcc flag to udns. - * Add connection.readPause() and connection.readResume() - Add IncomingMessage.prototype.pause() and resume(). +* Add -m32 gcc flag to udns. +* Add connection.readPause() and connection.readResume() + Add IncomingMessage.prototype.pause() and resume(). - * Fix http benchmark. Wasn't correctly dispatching. - * Bugfix: response.setBodyEncoding("ascii") not working. +* Fix http benchmark. Wasn't correctly dispatching. +* Bugfix: response.setBodyEncoding("ascii") not working. - * Bugfix: Negative ints in HTTP's on_body and node.fs.read() - * Upgrade v8 to 1.3.4 - Upgrade libev to 3.8 - Upgrade http_parser to v0.2 +* Bugfix: Negative ints in HTTP's on_body and node.fs.read() +* Upgrade v8 to 1.3.4 + Upgrade libev to 3.8 + Upgrade http_parser to v0.2 ## 2009.08.06, Version 0.1.3 https://github.com/nodejs/node/commit/7464d423103b96c400d6875d390c19b637532ebf - * Upgrade v8 to 1.3.2 - * Bugfix: node.http.ServerRequest.setBodyEncoding('ascii') not - working +* Upgrade v8 to 1.3.2 +* Bugfix: node.http.ServerRequest.setBodyEncoding('ascii') not + working - * Bugfix: node.encodeUtf8 was broken. (Connor Dunn) - * Add ranlib to udns Makefile. +* Bugfix: node.encodeUtf8 was broken. (Connor Dunn) +* Add ranlib to udns Makefile. - * Upgrade evcom - fix accepting too many connections issue. - * Initial support for shebang +* Upgrade evcom - fix accepting too many connections issue. +* Initial support for shebang - * Add simple command line switches - * Add node.version API +* Add simple command line switches +* Add node.version API ## 2009.08.01, Version 0.1.2 https://github.com/nodejs/node/commit/e10fbab00fd8325a7d05d1f854292143b8361e1f - * Add DNS API - * node.tcp.Server's backlog option is now an argument to listen() +* Add DNS API +* node.tcp.Server's backlog option is now an argument to listen() - * Upgrade V8 to 1.3.1 - * Bugfix: Default to chunked for client requests without - Content-Length. +* Upgrade V8 to 1.3.1 +* Bugfix: Default to chunked for client requests without + Content-Length. - * Bugfix: Line numbers in stack traces. - * Bugfix: negative integers in raw encoding stream +* Bugfix: Line numbers in stack traces. +* Bugfix: negative integers in raw encoding stream - * Bugfix: node.fs.File was not passing args to promise callbacks. +* Bugfix: node.fs.File was not passing args to promise callbacks. ## 2009.07.27, Version 0.1.1 https://github.com/nodejs/node/commit/77d407df2826b20e9177c26c0d2bb4481e497937 - * Simplify and clean up ObjectWrap. - * Upgrade liboi (which is now called evcom) - Upgrade libev to 3.7 - Upgrade V8 to 1.2.14 +* Simplify and clean up ObjectWrap. +* Upgrade liboi (which is now called evcom) + Upgrade libev to 3.7 + Upgrade V8 to 1.2.14 - * Array.prototype.encodeUtf8 renamed to node.encodeUtf8(array) - * Move EventEmitter.prototype.emit() completely into C++. +* Array.prototype.encodeUtf8 renamed to node.encodeUtf8(array) +* Move EventEmitter.prototype.emit() completely into C++. - * Bugfix: Fix memory leak in event emitters. - http://groups.google.com/group/nodejs/browse_thread/thread/a8d1dfc2fd57a6d1 +* Bugfix: Fix memory leak in event emitters. + http://groups.google.com/group/nodejs/browse_thread/thread/a8d1dfc2fd57a6d1 - * Bugfix: Had problems reading scripts with non-ascii characters. - * Bugfix: Fix Detach() in node::Server +* Bugfix: Had problems reading scripts with non-ascii characters. +* Bugfix: Fix Detach() in node::Server - * Bugfix: Sockets not properly reattached if reconnected during - disconnect event. +* Bugfix: Sockets not properly reattached if reconnected during + disconnect event. - * Bugfix: Server-side clients not attached between creation and - on_connect. +* Bugfix: Server-side clients not attached between creation and + on_connect. - * Add 'close' event to node.tcp.Server - * Simplify and clean up http.js. (Takes more advantage of event - infrastructure.) +* Add 'close' event to node.tcp.Server +* Simplify and clean up http.js. (Takes more advantage of event + infrastructure.) - * Add benchmark scripts. Run with "make benchmark". +* Add benchmark scripts. Run with "make benchmark". ## 2009.06.30, Version 0.1.0 https://github.com/nodejs/node/commit/813b53938b40484f63e7324c030e33711f26a149 - * Update documentation, use asciidoc. - * EventEmitter and Promise interfaces. (Breaks previous API.) +* Update documentation, use asciidoc. +* EventEmitter and Promise interfaces. (Breaks previous API.) - * Remove node.Process constructor in favor of node.createProcess - * Add -m32 flags for compiling on x64 platforms. - (Thanks to András Bártházi) +* Remove node.Process constructor in favor of node.createProcess +* Add -m32 flags for compiling on x64 platforms. + (Thanks to András Bártházi) - * Upgrade v8 to 1.2.10 and libev to 3.6 - * Bugfix: Timer::RepeatSetter wasn't working. +* Upgrade v8 to 1.2.10 and libev to 3.6 +* Bugfix: Timer::RepeatSetter wasn't working. - * Bugfix: Spawning many processes in a loop - (reported by Felix Geisendörfer) +* Bugfix: Spawning many processes in a loop + (reported by Felix Geisendörfer) ## 2009.06.24, Version 0.0.6 https://github.com/nodejs/node/commit/fbe0be19ebfb422d8fa20ea5204c1713e9214d5f - * Load modules via HTTP URLs (Urban Hafner) - * Bugfix: Add HTTPConnection->size() and HTTPServer->size() +* Load modules via HTTP URLs (Urban Hafner) +* Bugfix: Add HTTPConnection->size() and HTTPServer->size() - * New node.Process API - * Clean up build tools, use v8's test runner. +* New node.Process API +* Clean up build tools, use v8's test runner. - * Use ev_unref() instead of starting/stopping the eio thread - pool watcher. +* Use ev_unref() instead of starting/stopping the eio thread + pool watcher. ## 2009.06.18, Version 0.0.5 https://github.com/nodejs/node/commit/ec5f3dbae11ed121d24744861a8fce55636ecd66 - * Support for IPv6 - * Remove namespace node.constants +* Support for IPv6 +* Remove namespace node.constants - * Upgrade v8 to 1.2.8.1 - * Accept ports as strings in the TCP client and server. +* Upgrade v8 to 1.2.8.1 +* Accept ports as strings in the TCP client and server. - * Bugfix: HTTP Client race - * Bugfix: freeaddrinfo() wasn't getting called after - getaddrinfo() for TCP servers +* Bugfix: HTTP Client race +* Bugfix: freeaddrinfo() wasn't getting called after + getaddrinfo() for TCP servers - * Add "opening" to TCP client readyState - * Add remoteAddress to TCP client +* Add "opening" to TCP client readyState +* Add remoteAddress to TCP client - * Add global print() function. +* Add global print() function. ## 2009.06.13, Version 0.0.4 https://github.com/nodejs/node/commit/916b9ca715b229b0703f0ed6c2fc065410fb189c - * Add interrupt() method to server-side HTTP requests. - * Bugfix: onBodyComplete was not getting called on server-side - HTTP +* Add interrupt() method to server-side HTTP requests. +* Bugfix: onBodyComplete was not getting called on server-side + HTTP ## 2009.06.11, Version 0.0.3 https://github.com/nodejs/node/commit/4cfc982c776475eb65fb1080e6b575a86505a347 - * Many bug fixes including the problem with http.Client on - macintosh +* Many bug fixes including the problem with http.Client on + macintosh - * Upgrades v8 to 1.2.7 - * Adds onExit hook +* Upgrades v8 to 1.2.7 +* Adds onExit hook - * Guard against buffer overflow in http parser - * require() and include() now need the ".js" extension +* Guard against buffer overflow in http parser +* require() and include() now need the ".js" extension - * http.Client uses identity transfer encoding by default. +* http.Client uses identity transfer encoding by default. diff --git a/doc/changelogs/CHANGELOG_V10.md b/doc/changelogs/CHANGELOG_V10.md index 1ae5588f65e9fa..3b9ab8a153b556 100644 --- a/doc/changelogs/CHANGELOG_V10.md +++ b/doc/changelogs/CHANGELOG_V10.md @@ -761,7 +761,7 @@ for details on patched vulnerabilities. A fix for the following CVE is included in this release: - * Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) +* Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) ### Notable Changes @@ -1449,18 +1449,18 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) - * Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) - * Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) - * OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) - * OpenSSL: Timing vulnerability in ECDSA signature generation (CVE-2019-0735) +* Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) +* Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) +* Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) +* OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) +* OpenSSL: Timing vulnerability in ECDSA signature generation (CVE-2019-0735) ### Notable Changes * **deps**: Upgrade to OpenSSL 1.1.0j, fixing CVE-2018-0734 and CVE-2019-0735 * **http**: - * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) - * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) + * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) + * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) * **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina) ### Commits @@ -2200,9 +2200,9 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * CVE-2018-0732 (OpenSSL) - * CVE-2018-7166 (Node.js) - * CVE-2018-12115 (Node.js) +* CVE-2018-0732 (OpenSSL) +* CVE-2018-7166 (Node.js) +* CVE-2018-12115 (Node.js) ### Notable Changes diff --git a/doc/changelogs/CHANGELOG_V11.md b/doc/changelogs/CHANGELOG_V11.md index a67dbfcb17893c..10c4ad56621353 100644 --- a/doc/changelogs/CHANGELOG_V11.md +++ b/doc/changelogs/CHANGELOG_V11.md @@ -828,7 +828,7 @@ for details on patched vulnerabilities. A fix for the following CVE is included in this release: - * Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) +* Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) ### Notable Changes @@ -1642,94 +1642,95 @@ A fix for the following CVE is included in this release: * add inspection getter option (Ruben Bridgewater) [#24852](https://github.com/nodejs/node/pull/24852) ### Commits - * [[`bf4faf3ffc`](https://github.com/nodejs/node/commit/bf4faf3ffc)] - **assert,util**: harden comparison (Ruben Bridgewater) [#24831](https://github.com/nodejs/node/pull/24831) - * [[`302081bafc`](https://github.com/nodejs/node/commit/302081bafc)] - **build**: make lint-addon-docs run only if needed (Daniel Bevenius) [#24993](https://github.com/nodejs/node/pull/24993) - * [[`cc8a805e31`](https://github.com/nodejs/node/commit/cc8a805e31)] - **build**: fix compiler version detection (Richard Lau) [#24879](https://github.com/nodejs/node/pull/24879) - * [[`bde5df20d6`](https://github.com/nodejs/node/commit/bde5df20d6)] - **doc**: fix node.1 --http-parser sort order (cjihrig) [#25045](https://github.com/nodejs/node/pull/25045) - * [[`a9f239fb60`](https://github.com/nodejs/node/commit/a9f239fb60)] - **doc**: add EventTarget link to worker\_threads (Azard) [#25058](https://github.com/nodejs/node/pull/25058) - * [[`00ce972305`](https://github.com/nodejs/node/commit/00ce972305)] - **doc**: make README formatting more consistent (wenjun ye) [#25003](https://github.com/nodejs/node/pull/25003) - * [[`dbdea36190`](https://github.com/nodejs/node/commit/dbdea36190)] - **doc**: add codebytere's info to release team (Shelley Vohr) [#25022](https://github.com/nodejs/node/pull/25022) - * [[`877f8a0094`](https://github.com/nodejs/node/commit/877f8a0094)] - **doc**: revise internal vs. public API in Collaborator Guide (Rich Trott) [#24975](https://github.com/nodejs/node/pull/24975) - * [[`f0bcacdcc6`](https://github.com/nodejs/node/commit/f0bcacdcc6)] - **doc**: update a link of npm repository (Daijiro Wachi) [#24969](https://github.com/nodejs/node/pull/24969) - * [[`1e096291d6`](https://github.com/nodejs/node/commit/1e096291d6)] - **doc**: fix author-ready conflict (Ruben Bridgewater) [#25015](https://github.com/nodejs/node/pull/25015) - * [[`b2e6cbddd8`](https://github.com/nodejs/node/commit/b2e6cbddd8)] - **doc**: update Useful CI Jobs section of Collaborator Guide (Rich Trott) [#24916](https://github.com/nodejs/node/pull/24916) - * [[`9bfbb6822b`](https://github.com/nodejs/node/commit/9bfbb6822b)] - **doc**: add class worker documentation (yoshimoto koki) [#24849](https://github.com/nodejs/node/pull/24849) - * [[`0220cd3260`](https://github.com/nodejs/node/commit/0220cd3260)] - **doc**: remove bad link to irc info (Richard Lau) [#24967](https://github.com/nodejs/node/pull/24967) - * [[`a6a3829962`](https://github.com/nodejs/node/commit/a6a3829962)] - **doc**: simplify author ready (Ruben Bridgewater) [#24893](https://github.com/nodejs/node/pull/24893) - * [[`cda1da9200`](https://github.com/nodejs/node/commit/cda1da9200)] - **doc**: update "Testing and CI" in Collaborator Guide (Rich Trott) [#24884](https://github.com/nodejs/node/pull/24884) - * [[`81dce68a9d`](https://github.com/nodejs/node/commit/81dce68a9d)] - **doc**: update http doc for new Agent()/support options in socket.connect() (Beni von Cheni) [#24846](https://github.com/nodejs/node/pull/24846) - * [[`643ca14d2c`](https://github.com/nodejs/node/commit/643ca14d2c)] - **doc**: fix order of events when request is aborted (Luigi Pinca) [#24779](https://github.com/nodejs/node/pull/24779) - * [[`c300aaa208`](https://github.com/nodejs/node/commit/c300aaa208)] - **doc**: update LICENSE file (Anna Henningsen) [#24898](https://github.com/nodejs/node/pull/24898) - * [[`c4f3cf9759`](https://github.com/nodejs/node/commit/c4f3cf9759)] - **doc**: revise Waiting for Approvals documentation (Rich Trott) [#24845](https://github.com/nodejs/node/pull/24845) - * [[`56b2a7274c`](https://github.com/nodejs/node/commit/56b2a7274c)] - **inspector**: split the HostPort being used and the one parsed from CLI (Joyee Cheung) [#24772](https://github.com/nodejs/node/pull/24772) - * [[`2456a545a6`](https://github.com/nodejs/node/commit/2456a545a6)] - **lib**: ensure readable stream flows to end (Mikko Rantanen) [#24918](https://github.com/nodejs/node/pull/24918) - * [[`79c52a9f88`](https://github.com/nodejs/node/commit/79c52a9f88)] - **lib**: improve error creation performance (Ruben Bridgewater) [#24747](https://github.com/nodejs/node/pull/24747) - * [[`25dae6cffd`](https://github.com/nodejs/node/commit/25dae6cffd)] - **module**: use validateString in modules/esm (ZYSzys) [#24868](https://github.com/nodejs/node/pull/24868) - * [[`2a11e6aaf3`](https://github.com/nodejs/node/commit/2a11e6aaf3)] - **module**: use validateString in modules/cjs (ZYSzys) [#24863](https://github.com/nodejs/node/pull/24863) - * [[`f4d5c358d9`](https://github.com/nodejs/node/commit/f4d5c358d9)] - **net**: use strict comparisons for fd (cjihrig) [#25014](https://github.com/nodejs/node/pull/25014) - * [[`5f60ed7647`](https://github.com/nodejs/node/commit/5f60ed7647)] - **path**: replace assertPath() with validator (cjihrig) [#24840](https://github.com/nodejs/node/pull/24840) - * [[`f43f45a26c`](https://github.com/nodejs/node/commit/f43f45a26c)] - **process**: properly close file descriptor on exit (Ruben Bridgewater) [#24972](https://github.com/nodejs/node/pull/24972) - * [[`8b109f05d9`](https://github.com/nodejs/node/commit/8b109f05d9)] - **process**: simplify check in previousValueIsValid() (cjihrig) [#24836](https://github.com/nodejs/node/pull/24836) - * [[`2e94f3b798`](https://github.com/nodejs/node/commit/2e94f3b798)] - **querystring**: remove eslint-disable (cjihrig) [#24995](https://github.com/nodejs/node/pull/24995) - * [[`5f8950b652`](https://github.com/nodejs/node/commit/5f8950b652)] - **src**: emit 'params' instead of 'data' for NodeTracing.dataCollected (Kelvin Jin) [#24949](https://github.com/nodejs/node/pull/24949) - * [[`d0270f3a5c`](https://github.com/nodejs/node/commit/d0270f3a5c)] - **src**: add GetLoadedLibraries routine (Gireesh Punathil) [#24825](https://github.com/nodejs/node/pull/24825) - * [[`f8547019c7`](https://github.com/nodejs/node/commit/f8547019c7)] - **src**: include node\_internals.h in node\_metadata.cc (Daniel Bevenius) [#24933](https://github.com/nodejs/node/pull/24933) - * [[`5a1289d128`](https://github.com/nodejs/node/commit/5a1289d128)] - **src**: create env-\>inspector\_console\_api\_object earlier (Joyee Cheung) [#24906](https://github.com/nodejs/node/pull/24906) - * [[`d7605725df`](https://github.com/nodejs/node/commit/d7605725df)] - **src**: remove use of CallOnForegroundThread() (cjihrig) [#24925](https://github.com/nodejs/node/pull/24925) - * [[`08c6b2126c`](https://github.com/nodejs/node/commit/08c6b2126c)] - **src**: use Local version of ToBoolean() (cjihrig) [#24924](https://github.com/nodejs/node/pull/24924) - * [[`5206f3add5`](https://github.com/nodejs/node/commit/5206f3add5)] - **src**: do not alias new and old signal masks (Sam Roberts) [#24810](https://github.com/nodejs/node/pull/24810) - * [[`94d02cabb9`](https://github.com/nodejs/node/commit/94d02cabb9)] - **src**: fix warning for potential snprintf truncation (Sam Roberts) [#24810](https://github.com/nodejs/node/pull/24810) - * [[`9b000e5088`](https://github.com/nodejs/node/commit/9b000e5088)] - **src**: remove finalized\_ member from Hash class (Daniel Bevenius) [#24822](https://github.com/nodejs/node/pull/24822) - * [[`90d481ea45`](https://github.com/nodejs/node/commit/90d481ea45)] - **src**: remove unused env variables in node\_util (Daniel Bevenius) [#24820](https://github.com/nodejs/node/pull/24820) - * [[`d449c36500`](https://github.com/nodejs/node/commit/d449c36500)] - **stream**: re-use existing `once()` implementation (Anna Henningsen) [#24991](https://github.com/nodejs/node/pull/24991) - * [[`39af61faa2`](https://github.com/nodejs/node/commit/39af61faa2)] - **stream**: fix end-of-stream for HTTP/2 (Anna Henningsen) [#24926](https://github.com/nodejs/node/pull/24926) - * [[`4f0d17b019`](https://github.com/nodejs/node/commit/4f0d17b019)] - **test**: remove unnecessary linter comment (cjihrig) [#25013](https://github.com/nodejs/node/pull/25013) - * [[`ab1801b8ad`](https://github.com/nodejs/node/commit/ab1801b8ad)] - **test**: use global.gc() instead of gc() (cjihrig) [#25012](https://github.com/nodejs/node/pull/25012) - * [[`ddff644172`](https://github.com/nodejs/node/commit/ddff644172)] - **test**: run eslint on test file and fix errors (Ruben Bridgewater) [#25009](https://github.com/nodejs/node/pull/25009) - * [[`110fd39dfe`](https://github.com/nodejs/node/commit/110fd39dfe)] - **test**: remove dead code (Ruben Bridgewater) [#25009](https://github.com/nodejs/node/pull/25009) - * [[`e04e85460f`](https://github.com/nodejs/node/commit/e04e85460f)] - **test**: use blocks instead of async IIFE (Anna Henningsen) [#24989](https://github.com/nodejs/node/pull/24989) - * [[`eb9e6e6576`](https://github.com/nodejs/node/commit/eb9e6e6576)] - **test**: adding history regression test case (Anto Aravinth) [#24843](https://github.com/nodejs/node/pull/24843) - * [[`ac919efbaf`](https://github.com/nodejs/node/commit/ac919efbaf)] - **test**: mark test-child-process-execfile flaky (Rich Trott) [#25051](https://github.com/nodejs/node/pull/25051) - * [[`1e3fb0ae03`](https://github.com/nodejs/node/commit/1e3fb0ae03)] - **test**: mark test-child-process-exit-code flaky (Rich Trott) [#25050](https://github.com/nodejs/node/pull/25050) - * [[`7e0dbc6e01`](https://github.com/nodejs/node/commit/7e0dbc6e01)] - **test**: improve WPT runner name matching (Joyee Cheung) [#24826](https://github.com/nodejs/node/pull/24826) - * [[`da984be0a3`](https://github.com/nodejs/node/commit/da984be0a3)] - **test**: remove reference to whatwg in file names under test/wpt (Joyee Cheung) [#24826](https://github.com/nodejs/node/pull/24826) - * [[`282589456c`](https://github.com/nodejs/node/commit/282589456c)] - **test**: mark test-worker-memory flaky on Windows CI (Rich Trott) [#25042](https://github.com/nodejs/node/pull/25042) - * [[`9bd42671c9`](https://github.com/nodejs/node/commit/9bd42671c9)] - **test**: mark test-cli-node-options flaky on arm (Rich Trott) [#25032](https://github.com/nodejs/node/pull/25032) - * [[`a4ef54a0a6`](https://github.com/nodejs/node/commit/a4ef54a0a6)] - **test**: mark test-child-process-execsync flaky on AIX (Rich Trott) [#25031](https://github.com/nodejs/node/pull/25031) - * [[`900a412f3f`](https://github.com/nodejs/node/commit/900a412f3f)] - **test**: increase error information in test-cli-syntax-\* (Rich Trott) [#25021](https://github.com/nodejs/node/pull/25021) - * [[`d5b0ce15d3`](https://github.com/nodejs/node/commit/d5b0ce15d3)] - **test**: refactor test-enable-in-init (Mitch Hankins) [#24976](https://github.com/nodejs/node/pull/24976) - * [[`649a7289dc`](https://github.com/nodejs/node/commit/649a7289dc)] - **test**: from functools import reduce in test/testpy/\_\_init\_\_.py (cclauss) [#24954](https://github.com/nodejs/node/pull/24954) - * [[`d366676cc5`](https://github.com/nodejs/node/commit/d366676cc5)] - **test**: split test-cli-syntax into multiple tests (Rich Trott) [#24922](https://github.com/nodejs/node/pull/24922) - * [[`e61bbda85d`](https://github.com/nodejs/node/commit/e61bbda85d)] - **test**: improve internet/test-dns (Ilarion Halushka) [#24927](https://github.com/nodejs/node/pull/24927) - * [[`016e35210c`](https://github.com/nodejs/node/commit/016e35210c)] - **(SEMVER-MINOR)** **test**: test TLS client authentication (Sam Roberts) [#24733](https://github.com/nodejs/node/pull/24733) - * [[`e050a5756f`](https://github.com/nodejs/node/commit/e050a5756f)] - **test**: replace callback with arrows (Shubham Urkade) [#24866](https://github.com/nodejs/node/pull/24866) - * [[`22b6befa14`](https://github.com/nodejs/node/commit/22b6befa14)] - **test**: mark test-cli-syntax as flaky/unreliable (Rich Trott) [#24957](https://github.com/nodejs/node/pull/24957) - * [[`56fd127ef0`](https://github.com/nodejs/node/commit/56fd127ef0)] - **test**: do not lint macros files (again) (cclauss) [#24886](https://github.com/nodejs/node/pull/24886) - * [[`bc71e9e0d6`](https://github.com/nodejs/node/commit/bc71e9e0d6)] - **test**: prepare test/pseudo-tty/testcfg.py Python 3 (cclauss) [#24887](https://github.com/nodejs/node/pull/24887) - * [[`f41443cc5c`](https://github.com/nodejs/node/commit/f41443cc5c)] - **test**: move test-cli-syntax to sequential (Rich Trott) [#24907](https://github.com/nodejs/node/pull/24907) - * [[`592bad1b0b`](https://github.com/nodejs/node/commit/592bad1b0b)] - **test**: move http2 test to parallel (Rich Trott) [#24877](https://github.com/nodejs/node/pull/24877) - * [[`91ce957037`](https://github.com/nodejs/node/commit/91ce957037)] - **test**: make http2 timeout test robust (Rich Trott) [#24877](https://github.com/nodejs/node/pull/24877) - * [[`3d87688fba`](https://github.com/nodejs/node/commit/3d87688fba)] - **test**: fix wrong parameter (zhmushan) [#24844](https://github.com/nodejs/node/pull/24844) - * [[`6db760c231`](https://github.com/nodejs/node/commit/6db760c231)] - **test**: improve test-net-socket-timeout (Rich Trott) [#24859](https://github.com/nodejs/node/pull/24859) - * [[`526ff1d1d2`](https://github.com/nodejs/node/commit/526ff1d1d2)] - **test**: prepare test/pseudo-tty/testcfg.py for Python 3 (cclauss) [#24791](https://github.com/nodejs/node/pull/24791) - * [[`a5c57861a9`](https://github.com/nodejs/node/commit/a5c57861a9)] - **test**: refactor test-fs-write-file-sync.js (cjihrig) [#24834](https://github.com/nodejs/node/pull/24834) - * [[`a5c8af7af4`](https://github.com/nodejs/node/commit/a5c8af7af4)] - **test**: prepare test/message/testcfg.py for Python 3 (cclauss) [#24793](https://github.com/nodejs/node/pull/24793) - * [[`390e050ae0`](https://github.com/nodejs/node/commit/390e050ae0)] - **(SEMVER-MINOR)** **tls**: support "BEGIN TRUSTED CERTIFICATE" for ca: (Sam Roberts) [#24733](https://github.com/nodejs/node/pull/24733) - * [[`16a75beffc`](https://github.com/nodejs/node/commit/16a75beffc)] - **tools**: prepare ./tools/compress\_json.py for Python 3 (cclauss) [#24889](https://github.com/nodejs/node/pull/24889) - * [[`b60808a2da`](https://github.com/nodejs/node/commit/b60808a2da)] - **tools**: prepare tools/testp.py for Python 3 (cclauss) [#24890](https://github.com/nodejs/node/pull/24890) - * [[`1f61c89a7f`](https://github.com/nodejs/node/commit/1f61c89a7f)] - **tools**: prepare tools/icu/icutrim.py for Python 3 (cclauss) [#24888](https://github.com/nodejs/node/pull/24888) - * [[`e140d41789`](https://github.com/nodejs/node/commit/e140d41789)] - **tools**: capitalize sentences (Ruben Bridgewater) [#24808](https://github.com/nodejs/node/pull/24808) - * [[`ad6104dbac`](https://github.com/nodejs/node/commit/ad6104dbac)] - **tools**: update ESLint to 5.10.0 (cjihrig) [#24903](https://github.com/nodejs/node/pull/24903) - * [[`ac46e27714`](https://github.com/nodejs/node/commit/ac46e27714)] - **tools**: do not lint tools/inspector\_protocol or tools/markupsafe (cclauss) [#24882](https://github.com/nodejs/node/pull/24882) - * [[`c3dda00e48`](https://github.com/nodejs/node/commit/c3dda00e48)] - **tools**: prepare tools/js2c.py for Python 3 (cclauss) [#24798](https://github.com/nodejs/node/pull/24798) - * [[`7cac76cdd5`](https://github.com/nodejs/node/commit/7cac76cdd5)] - **tools**: prepare tools/specialize\_node\_d.py for Python 3 (cclauss) [#24797](https://github.com/nodejs/node/pull/24797) - * [[`15632c3867`](https://github.com/nodejs/node/commit/15632c3867)] - **tools**: prepare tools/test.py for Python 3 (cclauss) [#24799](https://github.com/nodejs/node/pull/24799) - * [[`022599c0e1`](https://github.com/nodejs/node/commit/022599c0e1)] - **tools**: prepare tools/genv8constants.py for Python 3 (cclauss) [#24801](https://github.com/nodejs/node/pull/24801) - * [[`e7b77ead74`](https://github.com/nodejs/node/commit/e7b77ead74)] - **url**: remove an eslint-disable comment (cjihrig) [#24995](https://github.com/nodejs/node/pull/24995) - * [[`59317470e3`](https://github.com/nodejs/node/commit/59317470e3)] - **util**: inspect all prototypes (Ruben Bridgewater) [#24974](https://github.com/nodejs/node/pull/24974) - * [[`a1f0da1d40`](https://github.com/nodejs/node/commit/a1f0da1d40)] - **util**: remove todo (Ruben Bridgewater) [#24982](https://github.com/nodejs/node/pull/24982) - * [[`117e99121c`](https://github.com/nodejs/node/commit/117e99121c)] - **(SEMVER-MINOR)** **util**: add inspection getter option (Ruben Bridgewater) [#24852](https://github.com/nodejs/node/pull/24852) - * [[`331f6044b9`](https://github.com/nodejs/node/commit/331f6044b9)] - **worker**: drain messages from internal message port (Yael Hermon) [#24932](https://github.com/nodejs/node/pull/24932) + +* [[`bf4faf3ffc`](https://github.com/nodejs/node/commit/bf4faf3ffc)] - **assert,util**: harden comparison (Ruben Bridgewater) [#24831](https://github.com/nodejs/node/pull/24831) +* [[`302081bafc`](https://github.com/nodejs/node/commit/302081bafc)] - **build**: make lint-addon-docs run only if needed (Daniel Bevenius) [#24993](https://github.com/nodejs/node/pull/24993) +* [[`cc8a805e31`](https://github.com/nodejs/node/commit/cc8a805e31)] - **build**: fix compiler version detection (Richard Lau) [#24879](https://github.com/nodejs/node/pull/24879) +* [[`bde5df20d6`](https://github.com/nodejs/node/commit/bde5df20d6)] - **doc**: fix node.1 --http-parser sort order (cjihrig) [#25045](https://github.com/nodejs/node/pull/25045) +* [[`a9f239fb60`](https://github.com/nodejs/node/commit/a9f239fb60)] - **doc**: add EventTarget link to worker\_threads (Azard) [#25058](https://github.com/nodejs/node/pull/25058) +* [[`00ce972305`](https://github.com/nodejs/node/commit/00ce972305)] - **doc**: make README formatting more consistent (wenjun ye) [#25003](https://github.com/nodejs/node/pull/25003) +* [[`dbdea36190`](https://github.com/nodejs/node/commit/dbdea36190)] - **doc**: add codebytere's info to release team (Shelley Vohr) [#25022](https://github.com/nodejs/node/pull/25022) +* [[`877f8a0094`](https://github.com/nodejs/node/commit/877f8a0094)] - **doc**: revise internal vs. public API in Collaborator Guide (Rich Trott) [#24975](https://github.com/nodejs/node/pull/24975) +* [[`f0bcacdcc6`](https://github.com/nodejs/node/commit/f0bcacdcc6)] - **doc**: update a link of npm repository (Daijiro Wachi) [#24969](https://github.com/nodejs/node/pull/24969) +* [[`1e096291d6`](https://github.com/nodejs/node/commit/1e096291d6)] - **doc**: fix author-ready conflict (Ruben Bridgewater) [#25015](https://github.com/nodejs/node/pull/25015) +* [[`b2e6cbddd8`](https://github.com/nodejs/node/commit/b2e6cbddd8)] - **doc**: update Useful CI Jobs section of Collaborator Guide (Rich Trott) [#24916](https://github.com/nodejs/node/pull/24916) +* [[`9bfbb6822b`](https://github.com/nodejs/node/commit/9bfbb6822b)] - **doc**: add class worker documentation (yoshimoto koki) [#24849](https://github.com/nodejs/node/pull/24849) +* [[`0220cd3260`](https://github.com/nodejs/node/commit/0220cd3260)] - **doc**: remove bad link to irc info (Richard Lau) [#24967](https://github.com/nodejs/node/pull/24967) +* [[`a6a3829962`](https://github.com/nodejs/node/commit/a6a3829962)] - **doc**: simplify author ready (Ruben Bridgewater) [#24893](https://github.com/nodejs/node/pull/24893) +* [[`cda1da9200`](https://github.com/nodejs/node/commit/cda1da9200)] - **doc**: update "Testing and CI" in Collaborator Guide (Rich Trott) [#24884](https://github.com/nodejs/node/pull/24884) +* [[`81dce68a9d`](https://github.com/nodejs/node/commit/81dce68a9d)] - **doc**: update http doc for new Agent()/support options in socket.connect() (Beni von Cheni) [#24846](https://github.com/nodejs/node/pull/24846) +* [[`643ca14d2c`](https://github.com/nodejs/node/commit/643ca14d2c)] - **doc**: fix order of events when request is aborted (Luigi Pinca) [#24779](https://github.com/nodejs/node/pull/24779) +* [[`c300aaa208`](https://github.com/nodejs/node/commit/c300aaa208)] - **doc**: update LICENSE file (Anna Henningsen) [#24898](https://github.com/nodejs/node/pull/24898) +* [[`c4f3cf9759`](https://github.com/nodejs/node/commit/c4f3cf9759)] - **doc**: revise Waiting for Approvals documentation (Rich Trott) [#24845](https://github.com/nodejs/node/pull/24845) +* [[`56b2a7274c`](https://github.com/nodejs/node/commit/56b2a7274c)] - **inspector**: split the HostPort being used and the one parsed from CLI (Joyee Cheung) [#24772](https://github.com/nodejs/node/pull/24772) +* [[`2456a545a6`](https://github.com/nodejs/node/commit/2456a545a6)] - **lib**: ensure readable stream flows to end (Mikko Rantanen) [#24918](https://github.com/nodejs/node/pull/24918) +* [[`79c52a9f88`](https://github.com/nodejs/node/commit/79c52a9f88)] - **lib**: improve error creation performance (Ruben Bridgewater) [#24747](https://github.com/nodejs/node/pull/24747) +* [[`25dae6cffd`](https://github.com/nodejs/node/commit/25dae6cffd)] - **module**: use validateString in modules/esm (ZYSzys) [#24868](https://github.com/nodejs/node/pull/24868) +* [[`2a11e6aaf3`](https://github.com/nodejs/node/commit/2a11e6aaf3)] - **module**: use validateString in modules/cjs (ZYSzys) [#24863](https://github.com/nodejs/node/pull/24863) +* [[`f4d5c358d9`](https://github.com/nodejs/node/commit/f4d5c358d9)] - **net**: use strict comparisons for fd (cjihrig) [#25014](https://github.com/nodejs/node/pull/25014) +* [[`5f60ed7647`](https://github.com/nodejs/node/commit/5f60ed7647)] - **path**: replace assertPath() with validator (cjihrig) [#24840](https://github.com/nodejs/node/pull/24840) +* [[`f43f45a26c`](https://github.com/nodejs/node/commit/f43f45a26c)] - **process**: properly close file descriptor on exit (Ruben Bridgewater) [#24972](https://github.com/nodejs/node/pull/24972) +* [[`8b109f05d9`](https://github.com/nodejs/node/commit/8b109f05d9)] - **process**: simplify check in previousValueIsValid() (cjihrig) [#24836](https://github.com/nodejs/node/pull/24836) +* [[`2e94f3b798`](https://github.com/nodejs/node/commit/2e94f3b798)] - **querystring**: remove eslint-disable (cjihrig) [#24995](https://github.com/nodejs/node/pull/24995) +* [[`5f8950b652`](https://github.com/nodejs/node/commit/5f8950b652)] - **src**: emit 'params' instead of 'data' for NodeTracing.dataCollected (Kelvin Jin) [#24949](https://github.com/nodejs/node/pull/24949) +* [[`d0270f3a5c`](https://github.com/nodejs/node/commit/d0270f3a5c)] - **src**: add GetLoadedLibraries routine (Gireesh Punathil) [#24825](https://github.com/nodejs/node/pull/24825) +* [[`f8547019c7`](https://github.com/nodejs/node/commit/f8547019c7)] - **src**: include node\_internals.h in node\_metadata.cc (Daniel Bevenius) [#24933](https://github.com/nodejs/node/pull/24933) +* [[`5a1289d128`](https://github.com/nodejs/node/commit/5a1289d128)] - **src**: create env-\>inspector\_console\_api\_object earlier (Joyee Cheung) [#24906](https://github.com/nodejs/node/pull/24906) +* [[`d7605725df`](https://github.com/nodejs/node/commit/d7605725df)] - **src**: remove use of CallOnForegroundThread() (cjihrig) [#24925](https://github.com/nodejs/node/pull/24925) +* [[`08c6b2126c`](https://github.com/nodejs/node/commit/08c6b2126c)] - **src**: use Local version of ToBoolean() (cjihrig) [#24924](https://github.com/nodejs/node/pull/24924) +* [[`5206f3add5`](https://github.com/nodejs/node/commit/5206f3add5)] - **src**: do not alias new and old signal masks (Sam Roberts) [#24810](https://github.com/nodejs/node/pull/24810) +* [[`94d02cabb9`](https://github.com/nodejs/node/commit/94d02cabb9)] - **src**: fix warning for potential snprintf truncation (Sam Roberts) [#24810](https://github.com/nodejs/node/pull/24810) +* [[`9b000e5088`](https://github.com/nodejs/node/commit/9b000e5088)] - **src**: remove finalized\_ member from Hash class (Daniel Bevenius) [#24822](https://github.com/nodejs/node/pull/24822) +* [[`90d481ea45`](https://github.com/nodejs/node/commit/90d481ea45)] - **src**: remove unused env variables in node\_util (Daniel Bevenius) [#24820](https://github.com/nodejs/node/pull/24820) +* [[`d449c36500`](https://github.com/nodejs/node/commit/d449c36500)] - **stream**: re-use existing `once()` implementation (Anna Henningsen) [#24991](https://github.com/nodejs/node/pull/24991) +* [[`39af61faa2`](https://github.com/nodejs/node/commit/39af61faa2)] - **stream**: fix end-of-stream for HTTP/2 (Anna Henningsen) [#24926](https://github.com/nodejs/node/pull/24926) +* [[`4f0d17b019`](https://github.com/nodejs/node/commit/4f0d17b019)] - **test**: remove unnecessary linter comment (cjihrig) [#25013](https://github.com/nodejs/node/pull/25013) +* [[`ab1801b8ad`](https://github.com/nodejs/node/commit/ab1801b8ad)] - **test**: use global.gc() instead of gc() (cjihrig) [#25012](https://github.com/nodejs/node/pull/25012) +* [[`ddff644172`](https://github.com/nodejs/node/commit/ddff644172)] - **test**: run eslint on test file and fix errors (Ruben Bridgewater) [#25009](https://github.com/nodejs/node/pull/25009) +* [[`110fd39dfe`](https://github.com/nodejs/node/commit/110fd39dfe)] - **test**: remove dead code (Ruben Bridgewater) [#25009](https://github.com/nodejs/node/pull/25009) +* [[`e04e85460f`](https://github.com/nodejs/node/commit/e04e85460f)] - **test**: use blocks instead of async IIFE (Anna Henningsen) [#24989](https://github.com/nodejs/node/pull/24989) +* [[`eb9e6e6576`](https://github.com/nodejs/node/commit/eb9e6e6576)] - **test**: adding history regression test case (Anto Aravinth) [#24843](https://github.com/nodejs/node/pull/24843) +* [[`ac919efbaf`](https://github.com/nodejs/node/commit/ac919efbaf)] - **test**: mark test-child-process-execfile flaky (Rich Trott) [#25051](https://github.com/nodejs/node/pull/25051) +* [[`1e3fb0ae03`](https://github.com/nodejs/node/commit/1e3fb0ae03)] - **test**: mark test-child-process-exit-code flaky (Rich Trott) [#25050](https://github.com/nodejs/node/pull/25050) +* [[`7e0dbc6e01`](https://github.com/nodejs/node/commit/7e0dbc6e01)] - **test**: improve WPT runner name matching (Joyee Cheung) [#24826](https://github.com/nodejs/node/pull/24826) +* [[`da984be0a3`](https://github.com/nodejs/node/commit/da984be0a3)] - **test**: remove reference to whatwg in file names under test/wpt (Joyee Cheung) [#24826](https://github.com/nodejs/node/pull/24826) +* [[`282589456c`](https://github.com/nodejs/node/commit/282589456c)] - **test**: mark test-worker-memory flaky on Windows CI (Rich Trott) [#25042](https://github.com/nodejs/node/pull/25042) +* [[`9bd42671c9`](https://github.com/nodejs/node/commit/9bd42671c9)] - **test**: mark test-cli-node-options flaky on arm (Rich Trott) [#25032](https://github.com/nodejs/node/pull/25032) +* [[`a4ef54a0a6`](https://github.com/nodejs/node/commit/a4ef54a0a6)] - **test**: mark test-child-process-execsync flaky on AIX (Rich Trott) [#25031](https://github.com/nodejs/node/pull/25031) +* [[`900a412f3f`](https://github.com/nodejs/node/commit/900a412f3f)] - **test**: increase error information in test-cli-syntax-\* (Rich Trott) [#25021](https://github.com/nodejs/node/pull/25021) +* [[`d5b0ce15d3`](https://github.com/nodejs/node/commit/d5b0ce15d3)] - **test**: refactor test-enable-in-init (Mitch Hankins) [#24976](https://github.com/nodejs/node/pull/24976) +* [[`649a7289dc`](https://github.com/nodejs/node/commit/649a7289dc)] - **test**: from functools import reduce in test/testpy/\_\_init\_\_.py (cclauss) [#24954](https://github.com/nodejs/node/pull/24954) +* [[`d366676cc5`](https://github.com/nodejs/node/commit/d366676cc5)] - **test**: split test-cli-syntax into multiple tests (Rich Trott) [#24922](https://github.com/nodejs/node/pull/24922) +* [[`e61bbda85d`](https://github.com/nodejs/node/commit/e61bbda85d)] - **test**: improve internet/test-dns (Ilarion Halushka) [#24927](https://github.com/nodejs/node/pull/24927) +* [[`016e35210c`](https://github.com/nodejs/node/commit/016e35210c)] - **(SEMVER-MINOR)** **test**: test TLS client authentication (Sam Roberts) [#24733](https://github.com/nodejs/node/pull/24733) +* [[`e050a5756f`](https://github.com/nodejs/node/commit/e050a5756f)] - **test**: replace callback with arrows (Shubham Urkade) [#24866](https://github.com/nodejs/node/pull/24866) +* [[`22b6befa14`](https://github.com/nodejs/node/commit/22b6befa14)] - **test**: mark test-cli-syntax as flaky/unreliable (Rich Trott) [#24957](https://github.com/nodejs/node/pull/24957) +* [[`56fd127ef0`](https://github.com/nodejs/node/commit/56fd127ef0)] - **test**: do not lint macros files (again) (cclauss) [#24886](https://github.com/nodejs/node/pull/24886) +* [[`bc71e9e0d6`](https://github.com/nodejs/node/commit/bc71e9e0d6)] - **test**: prepare test/pseudo-tty/testcfg.py Python 3 (cclauss) [#24887](https://github.com/nodejs/node/pull/24887) +* [[`f41443cc5c`](https://github.com/nodejs/node/commit/f41443cc5c)] - **test**: move test-cli-syntax to sequential (Rich Trott) [#24907](https://github.com/nodejs/node/pull/24907) +* [[`592bad1b0b`](https://github.com/nodejs/node/commit/592bad1b0b)] - **test**: move http2 test to parallel (Rich Trott) [#24877](https://github.com/nodejs/node/pull/24877) +* [[`91ce957037`](https://github.com/nodejs/node/commit/91ce957037)] - **test**: make http2 timeout test robust (Rich Trott) [#24877](https://github.com/nodejs/node/pull/24877) +* [[`3d87688fba`](https://github.com/nodejs/node/commit/3d87688fba)] - **test**: fix wrong parameter (zhmushan) [#24844](https://github.com/nodejs/node/pull/24844) +* [[`6db760c231`](https://github.com/nodejs/node/commit/6db760c231)] - **test**: improve test-net-socket-timeout (Rich Trott) [#24859](https://github.com/nodejs/node/pull/24859) +* [[`526ff1d1d2`](https://github.com/nodejs/node/commit/526ff1d1d2)] - **test**: prepare test/pseudo-tty/testcfg.py for Python 3 (cclauss) [#24791](https://github.com/nodejs/node/pull/24791) +* [[`a5c57861a9`](https://github.com/nodejs/node/commit/a5c57861a9)] - **test**: refactor test-fs-write-file-sync.js (cjihrig) [#24834](https://github.com/nodejs/node/pull/24834) +* [[`a5c8af7af4`](https://github.com/nodejs/node/commit/a5c8af7af4)] - **test**: prepare test/message/testcfg.py for Python 3 (cclauss) [#24793](https://github.com/nodejs/node/pull/24793) +* [[`390e050ae0`](https://github.com/nodejs/node/commit/390e050ae0)] - **(SEMVER-MINOR)** **tls**: support "BEGIN TRUSTED CERTIFICATE" for ca: (Sam Roberts) [#24733](https://github.com/nodejs/node/pull/24733) +* [[`16a75beffc`](https://github.com/nodejs/node/commit/16a75beffc)] - **tools**: prepare ./tools/compress\_json.py for Python 3 (cclauss) [#24889](https://github.com/nodejs/node/pull/24889) +* [[`b60808a2da`](https://github.com/nodejs/node/commit/b60808a2da)] - **tools**: prepare tools/testp.py for Python 3 (cclauss) [#24890](https://github.com/nodejs/node/pull/24890) +* [[`1f61c89a7f`](https://github.com/nodejs/node/commit/1f61c89a7f)] - **tools**: prepare tools/icu/icutrim.py for Python 3 (cclauss) [#24888](https://github.com/nodejs/node/pull/24888) +* [[`e140d41789`](https://github.com/nodejs/node/commit/e140d41789)] - **tools**: capitalize sentences (Ruben Bridgewater) [#24808](https://github.com/nodejs/node/pull/24808) +* [[`ad6104dbac`](https://github.com/nodejs/node/commit/ad6104dbac)] - **tools**: update ESLint to 5.10.0 (cjihrig) [#24903](https://github.com/nodejs/node/pull/24903) +* [[`ac46e27714`](https://github.com/nodejs/node/commit/ac46e27714)] - **tools**: do not lint tools/inspector\_protocol or tools/markupsafe (cclauss) [#24882](https://github.com/nodejs/node/pull/24882) +* [[`c3dda00e48`](https://github.com/nodejs/node/commit/c3dda00e48)] - **tools**: prepare tools/js2c.py for Python 3 (cclauss) [#24798](https://github.com/nodejs/node/pull/24798) +* [[`7cac76cdd5`](https://github.com/nodejs/node/commit/7cac76cdd5)] - **tools**: prepare tools/specialize\_node\_d.py for Python 3 (cclauss) [#24797](https://github.com/nodejs/node/pull/24797) +* [[`15632c3867`](https://github.com/nodejs/node/commit/15632c3867)] - **tools**: prepare tools/test.py for Python 3 (cclauss) [#24799](https://github.com/nodejs/node/pull/24799) +* [[`022599c0e1`](https://github.com/nodejs/node/commit/022599c0e1)] - **tools**: prepare tools/genv8constants.py for Python 3 (cclauss) [#24801](https://github.com/nodejs/node/pull/24801) +* [[`e7b77ead74`](https://github.com/nodejs/node/commit/e7b77ead74)] - **url**: remove an eslint-disable comment (cjihrig) [#24995](https://github.com/nodejs/node/pull/24995) +* [[`59317470e3`](https://github.com/nodejs/node/commit/59317470e3)] - **util**: inspect all prototypes (Ruben Bridgewater) [#24974](https://github.com/nodejs/node/pull/24974) +* [[`a1f0da1d40`](https://github.com/nodejs/node/commit/a1f0da1d40)] - **util**: remove todo (Ruben Bridgewater) [#24982](https://github.com/nodejs/node/pull/24982) +* [[`117e99121c`](https://github.com/nodejs/node/commit/117e99121c)] - **(SEMVER-MINOR)** **util**: add inspection getter option (Ruben Bridgewater) [#24852](https://github.com/nodejs/node/pull/24852) +* [[`331f6044b9`](https://github.com/nodejs/node/commit/331f6044b9)] - **worker**: drain messages from internal message port (Yael Hermon) [#24932](https://github.com/nodejs/node/pull/24932) ## 2018-12-07, Version 11.4.0 (Current), @BridgeAR @@ -2087,18 +2088,18 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) - * Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) - * Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) - * OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) - * OpenSSL: Timing vulnerability in ECDSA signature generation (CVE-2019-0735) +* Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) +* Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) +* Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) +* OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) +* OpenSSL: Timing vulnerability in ECDSA signature generation (CVE-2019-0735) ### Notable Changes * **deps**: Upgrade to OpenSSL 1.1.0j, fixing CVE-2018-0734 and CVE-2019-0735 * **http**: - * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) - * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) + * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) + * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) * **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina) ### Commits diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index fc93e6a9525df7..2879c58b7179ed 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -1450,109 +1450,109 @@ Vulnerabilities fixed: ### Notable Changes * **assert**: - * validate required arguments (Ruben Bridgewater) [#26641](https://github.com/nodejs/node/pull/26641) - * adjust loose assertions (Ruben Bridgewater) [#25008](https://github.com/nodejs/node/pull/25008) + * validate required arguments (Ruben Bridgewater) [#26641](https://github.com/nodejs/node/pull/26641) + * adjust loose assertions (Ruben Bridgewater) [#25008](https://github.com/nodejs/node/pull/25008) * **async_hooks**: - * remove deprecated `emitBefore` and `emitAfter` (Matteo Collina) [#26530](https://github.com/nodejs/node/pull/26530) - * remove promise object from resource (Andreas Madsen) [#23443](https://github.com/nodejs/node/pull/23443) + * remove deprecated `emitBefore` and `emitAfter` (Matteo Collina) [#26530](https://github.com/nodejs/node/pull/26530) + * remove promise object from resource (Andreas Madsen) [#23443](https://github.com/nodejs/node/pull/23443) * **bootstrap**: make Buffer and process non-enumerable (Ruben Bridgewater) [#24874](https://github.com/nodejs/node/pull/24874) * **buffer**: - * use stricter range checks (Ruben Bridgewater) [#27045](https://github.com/nodejs/node/pull/27045) - * harden `SlowBuffer` creation (ZYSzys) [#26272](https://github.com/nodejs/node/pull/26272) - * harden validation of buffer allocation size (ZYSzys) [#26162](https://github.com/nodejs/node/pull/26162) - * do proper error propagation in addon methods (Anna Henningsen) [#23939](https://github.com/nodejs/node/pull/23939) + * use stricter range checks (Ruben Bridgewater) [#27045](https://github.com/nodejs/node/pull/27045) + * harden `SlowBuffer` creation (ZYSzys) [#26272](https://github.com/nodejs/node/pull/26272) + * harden validation of buffer allocation size (ZYSzys) [#26162](https://github.com/nodejs/node/pull/26162) + * do proper error propagation in addon methods (Anna Henningsen) [#23939](https://github.com/nodejs/node/pull/23939) * **child_process**: - * remove `options.customFds` (cjihrig) [#25279](https://github.com/nodejs/node/pull/25279) - * harden fork arguments validation (ZYSzys) [#27039](https://github.com/nodejs/node/pull/27039) - * use non-infinite `maxBuffer` defaults (kohta ito) [#23027](https://github.com/nodejs/node/pull/23027) + * remove `options.customFds` (cjihrig) [#25279](https://github.com/nodejs/node/pull/25279) + * harden fork arguments validation (ZYSzys) [#27039](https://github.com/nodejs/node/pull/27039) + * use non-infinite `maxBuffer` defaults (kohta ito) [#23027](https://github.com/nodejs/node/pull/23027) * **console**: don't use ANSI escape codes when `TERM=dumb` (Vladislav Kaminsky) [#26261](https://github.com/nodejs/node/pull/26261) * **crypto**: - * remove legacy native handles (Tobias Nießen) [#27011](https://github.com/nodejs/node/pull/27011) - * decode missing passphrase errors (Tobias Nießen) [#25208](https://github.com/nodejs/node/pull/25208) - * remove `Cipher.setAuthTag()` and `Decipher.getAuthTag()` (Tobias Nießen) [#26249](https://github.com/nodejs/node/pull/26249) - * remove deprecated `crypto._toBuf()` (Tobias Nießen) [#25338](https://github.com/nodejs/node/pull/25338) - * set `DEFAULT\_ENCODING` property to non-enumerable (Antoine du Hamel) [#23222](https://github.com/nodejs/node/pull/23222) + * remove legacy native handles (Tobias Nießen) [#27011](https://github.com/nodejs/node/pull/27011) + * decode missing passphrase errors (Tobias Nießen) [#25208](https://github.com/nodejs/node/pull/25208) + * remove `Cipher.setAuthTag()` and `Decipher.getAuthTag()` (Tobias Nießen) [#26249](https://github.com/nodejs/node/pull/26249) + * remove deprecated `crypto._toBuf()` (Tobias Nießen) [#25338](https://github.com/nodejs/node/pull/25338) + * set `DEFAULT\_ENCODING` property to non-enumerable (Antoine du Hamel) [#23222](https://github.com/nodejs/node/pull/23222) * **deps**: - * update V8 to 7.4.288.13 (Michaël Zasso, cjihrig, Refael Ackermann, Anna Henningsen, Ujjwal Sharma) [#26685](https://github.com/nodejs/node/pull/26685) - * bump minimum icu version to 63 (Ujjwal Sharma) [#25852](https://github.com/nodejs/node/pull/25852) - * update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu) [#26327](https://github.com/nodejs/node/pull/26327) + * update V8 to 7.4.288.13 (Michaël Zasso, cjihrig, Refael Ackermann, Anna Henningsen, Ujjwal Sharma) [#26685](https://github.com/nodejs/node/pull/26685) + * bump minimum icu version to 63 (Ujjwal Sharma) [#25852](https://github.com/nodejs/node/pull/25852) + * update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu) [#26327](https://github.com/nodejs/node/pull/26327) * **errors**: update error name (Ruben Bridgewater) [#26738](https://github.com/nodejs/node/pull/26738) * **fs**: - * use proper .destroy() implementation for SyncWriteStream (Matteo Collina) [#26690](https://github.com/nodejs/node/pull/26690) - * improve mode validation (Ruben Bridgewater) [#26575](https://github.com/nodejs/node/pull/26575) - * harden validation of start option in `createWriteStream()` (ZYSzys) [#25579](https://github.com/nodejs/node/pull/25579) - * make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) [#23709](https://github.com/nodejs/node/pull/23709) + * use proper .destroy() implementation for SyncWriteStream (Matteo Collina) [#26690](https://github.com/nodejs/node/pull/26690) + * improve mode validation (Ruben Bridgewater) [#26575](https://github.com/nodejs/node/pull/26575) + * harden validation of start option in `createWriteStream()` (ZYSzys) [#25579](https://github.com/nodejs/node/pull/25579) + * make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) [#23709](https://github.com/nodejs/node/pull/23709) * **http**: - * validate timeout in `ClientRequest()` (cjihrig) [#26214](https://github.com/nodejs/node/pull/26214) - * return HTTP 431 on `HPE_HEADER_OVERFLOW` error (Albert Still) [#25605](https://github.com/nodejs/node/pull/25605) - * switch default parser to llhttp (Anna Henningsen) [#24870](https://github.com/nodejs/node/pull/24870) - * Runtime-deprecate `outgoingMessage._headers` and `outgoingMessage._headerNames` (Morgan Roderick) [#24167](https://github.com/nodejs/node/pull/24167) + * validate timeout in `ClientRequest()` (cjihrig) [#26214](https://github.com/nodejs/node/pull/26214) + * return HTTP 431 on `HPE_HEADER_OVERFLOW` error (Albert Still) [#25605](https://github.com/nodejs/node/pull/25605) + * switch default parser to llhttp (Anna Henningsen) [#24870](https://github.com/nodejs/node/pull/24870) + * Runtime-deprecate `outgoingMessage._headers` and `outgoingMessage._headerNames` (Morgan Roderick) [#24167](https://github.com/nodejs/node/pull/24167) * **lib**: - * remove `Atomics.wake()` (Gus Caplan) [#27033](https://github.com/nodejs/node/pull/27033) - * move DTRACE\_\* probes out of global scope (James M Snell) [#26541](https://github.com/nodejs/node/pull/26541) - * deprecate `_stream_wrap` (Sam Roberts) [#26245](https://github.com/nodejs/node/pull/26245) - * use ES6 class inheritance style (Ruben Bridgewater) [#24755](https://github.com/nodejs/node/pull/24755) + * remove `Atomics.wake()` (Gus Caplan) [#27033](https://github.com/nodejs/node/pull/27033) + * move DTRACE\_\* probes out of global scope (James M Snell) [#26541](https://github.com/nodejs/node/pull/26541) + * deprecate `_stream_wrap` (Sam Roberts) [#26245](https://github.com/nodejs/node/pull/26245) + * use ES6 class inheritance style (Ruben Bridgewater) [#24755](https://github.com/nodejs/node/pull/24755) * **module**: - * remove unintended access to deps/ (Anna Henningsen) [#25138](https://github.com/nodejs/node/pull/25138) - * improve error message for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh) [#25690](https://github.com/nodejs/node/pull/25690) - * requireStack property for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh) [#25690](https://github.com/nodejs/node/pull/25690) - * remove dead code (Ruben Bridgewater) [#26983](https://github.com/nodejs/node/pull/26983) - * make `require('.')` never resolve outside the current directory (Ruben Bridgewater) [#26973](https://github.com/nodejs/node/pull/26973) - * throw an error for invalid package.json main entries (Ruben Bridgewater) [#26823](https://github.com/nodejs/node/pull/26823) - * don't search in `require.resolve.paths` (cjihrig) [#23683](https://github.com/nodejs/node/pull/23683) + * remove unintended access to deps/ (Anna Henningsen) [#25138](https://github.com/nodejs/node/pull/25138) + * improve error message for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh) [#25690](https://github.com/nodejs/node/pull/25690) + * requireStack property for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh) [#25690](https://github.com/nodejs/node/pull/25690) + * remove dead code (Ruben Bridgewater) [#26983](https://github.com/nodejs/node/pull/26983) + * make `require('.')` never resolve outside the current directory (Ruben Bridgewater) [#26973](https://github.com/nodejs/node/pull/26973) + * throw an error for invalid package.json main entries (Ruben Bridgewater) [#26823](https://github.com/nodejs/node/pull/26823) + * don't search in `require.resolve.paths` (cjihrig) [#23683](https://github.com/nodejs/node/pull/23683) * **net**: - * remove `Server.listenFD()` (cjihrig) [#27127](https://github.com/nodejs/node/pull/27127) - * do not add `.host` and `.port` properties to DNS error (Ruben Bridgewater) [#26751](https://github.com/nodejs/node/pull/26751) - * emit "write after end" errors in the next tick (Ouyang Yadong) [#24457](https://github.com/nodejs/node/pull/24457) - * deprecate `_setSimultaneousAccepts()` undocumented function (James M Snell) [#23760](https://github.com/nodejs/node/pull/23760) + * remove `Server.listenFD()` (cjihrig) [#27127](https://github.com/nodejs/node/pull/27127) + * do not add `.host` and `.port` properties to DNS error (Ruben Bridgewater) [#26751](https://github.com/nodejs/node/pull/26751) + * emit "write after end" errors in the next tick (Ouyang Yadong) [#24457](https://github.com/nodejs/node/pull/24457) + * deprecate `_setSimultaneousAccepts()` undocumented function (James M Snell) [#23760](https://github.com/nodejs/node/pull/23760) * **os**: - * implement `os.type()` using `uv_os_uname()` (cjihrig) [#25659](https://github.com/nodejs/node/pull/25659) - * remove `os.getNetworkInterfaces()` (cjihrig) [#25280](https://github.com/nodejs/node/pull/25280) + * implement `os.type()` using `uv_os_uname()` (cjihrig) [#25659](https://github.com/nodejs/node/pull/25659) + * remove `os.getNetworkInterfaces()` (cjihrig) [#25280](https://github.com/nodejs/node/pull/25280) * **process**: - * make global.process, global.Buffer getters (Guy Bedford) [#26882](https://github.com/nodejs/node/pull/26882) - * move DEP0062 (node --debug) to end-of-life (Joyee Cheung) [#25828](https://github.com/nodejs/node/pull/25828) - * exit on --debug and --debug-brk after option parsing (Joyee Cheung) [#25828](https://github.com/nodejs/node/pull/25828) - * improve `--redirect-warnings` handling (Ruben Bridgewater) [#24965](https://github.com/nodejs/node/pull/24965) + * make global.process, global.Buffer getters (Guy Bedford) [#26882](https://github.com/nodejs/node/pull/26882) + * move DEP0062 (node --debug) to end-of-life (Joyee Cheung) [#25828](https://github.com/nodejs/node/pull/25828) + * exit on --debug and --debug-brk after option parsing (Joyee Cheung) [#25828](https://github.com/nodejs/node/pull/25828) + * improve `--redirect-warnings` handling (Ruben Bridgewater) [#24965](https://github.com/nodejs/node/pull/24965) * **readline**: support TERM=dumb (Vladislav Kaminsky) [#26261](https://github.com/nodejs/node/pull/26261) * **repl**: - * add welcome message (gengjiawen) [#25947](https://github.com/nodejs/node/pull/25947) - * fix terminal default setting (Ruben Bridgewater) [#26518](https://github.com/nodejs/node/pull/26518) - * check colors with `.getColorDepth()` (Vladislav Kaminsky) [#26261](https://github.com/nodejs/node/pull/26261) - * deprecate REPLServer.rli (Ruben Bridgewater) [#26260](https://github.com/nodejs/node/pull/26260) + * add welcome message (gengjiawen) [#25947](https://github.com/nodejs/node/pull/25947) + * fix terminal default setting (Ruben Bridgewater) [#26518](https://github.com/nodejs/node/pull/26518) + * check colors with `.getColorDepth()` (Vladislav Kaminsky) [#26261](https://github.com/nodejs/node/pull/26261) + * deprecate REPLServer.rli (Ruben Bridgewater) [#26260](https://github.com/nodejs/node/pull/26260) * **src**: - * remove unused `INT_MAX` constant (Sam Roberts) [#27078](https://github.com/nodejs/node/pull/27078) - * update `NODE_MODULE_VERSION` to 72 (Ujjwal Sharma) [#26685](https://github.com/nodejs/node/pull/26685) - * remove `AddPromiseHook()` (Anna Henningsen) [#26574](https://github.com/nodejs/node/pull/26574) - * clean up `MultiIsolatePlatform` interface (Anna Henningsen) [#26384](https://github.com/nodejs/node/pull/26384) - * properly configure default heap limits (Ali Ijaz Sheikh) [#25576](https://github.com/nodejs/node/pull/25576) - * remove `icuDataDir` from node config (GauthamBanasandra) [#24780](https://github.com/nodejs/node/pull/24780) + * remove unused `INT_MAX` constant (Sam Roberts) [#27078](https://github.com/nodejs/node/pull/27078) + * update `NODE_MODULE_VERSION` to 72 (Ujjwal Sharma) [#26685](https://github.com/nodejs/node/pull/26685) + * remove `AddPromiseHook()` (Anna Henningsen) [#26574](https://github.com/nodejs/node/pull/26574) + * clean up `MultiIsolatePlatform` interface (Anna Henningsen) [#26384](https://github.com/nodejs/node/pull/26384) + * properly configure default heap limits (Ali Ijaz Sheikh) [#25576](https://github.com/nodejs/node/pull/25576) + * remove `icuDataDir` from node config (GauthamBanasandra) [#24780](https://github.com/nodejs/node/pull/24780) * **tls**: - * support TLSv1.3 (Sam Roberts) [#26209](https://github.com/nodejs/node/pull/26209) - * return correct version from `getCipher()` (Sam Roberts) [#26625](https://github.com/nodejs/node/pull/26625) - * check arg types of renegotiate() (Sam Roberts) [#25876](https://github.com/nodejs/node/pull/25876) - * add code for `ERR_TLS_INVALID_PROTOCOL_METHOD` (Sam Roberts) [#24729](https://github.com/nodejs/node/pull/24729) - * emit a warning when servername is an IP address (Rodger Combs) [#23329](https://github.com/nodejs/node/pull/23329) - * disable TLS v1.0 and v1.1 by default (Ben Noordhuis) [#23814](https://github.com/nodejs/node/pull/23814) - * remove unused arg to createSecureContext() (Sam Roberts) [#24241](https://github.com/nodejs/node/pull/24241) - * deprecate `Server.prototype.setOptions()` (cjihrig) [#23820](https://github.com/nodejs/node/pull/23820) - * load `NODE_EXTRA_CA_CERTS` at startup (Ouyang Yadong) [#23354](https://github.com/nodejs/node/pull/23354) + * support TLSv1.3 (Sam Roberts) [#26209](https://github.com/nodejs/node/pull/26209) + * return correct version from `getCipher()` (Sam Roberts) [#26625](https://github.com/nodejs/node/pull/26625) + * check arg types of renegotiate() (Sam Roberts) [#25876](https://github.com/nodejs/node/pull/25876) + * add code for `ERR_TLS_INVALID_PROTOCOL_METHOD` (Sam Roberts) [#24729](https://github.com/nodejs/node/pull/24729) + * emit a warning when servername is an IP address (Rodger Combs) [#23329](https://github.com/nodejs/node/pull/23329) + * disable TLS v1.0 and v1.1 by default (Ben Noordhuis) [#23814](https://github.com/nodejs/node/pull/23814) + * remove unused arg to createSecureContext() (Sam Roberts) [#24241](https://github.com/nodejs/node/pull/24241) + * deprecate `Server.prototype.setOptions()` (cjihrig) [#23820](https://github.com/nodejs/node/pull/23820) + * load `NODE_EXTRA_CA_CERTS` at startup (Ouyang Yadong) [#23354](https://github.com/nodejs/node/pull/23354) * **util**: - * remove `util.print()`, `util.puts()`, `util.debug()` and `util.error()` (cjihrig) [#25377](https://github.com/nodejs/node/pull/25377) - * change inspect compact and breakLength default (Ruben Bridgewater) [#27109](https://github.com/nodejs/node/pull/27109) - * improve inspect edge cases (Ruben Bridgewater) [#27109](https://github.com/nodejs/node/pull/27109) - * only the first line of the error message (Simon Zünd) [#26685](https://github.com/nodejs/node/pull/26685) - * don't set the prototype of callbackified functions (Ruben Bridgewater) [#26893](https://github.com/nodejs/node/pull/26893) - * rename callbackified function (Ruben Bridgewater) [#26893](https://github.com/nodejs/node/pull/26893) - * increase function length when using `callbackify()` (Ruben Bridgewater) [#26893](https://github.com/nodejs/node/pull/26893) - * prevent tampering with internals in `inspect()` (Ruben Bridgewater) [#26577](https://github.com/nodejs/node/pull/26577) - * prevent Proxy traps being triggered by `.inspect()` (Ruben Bridgewater) [#26241](https://github.com/nodejs/node/pull/26241) - * prevent leaking internal properties (Ruben Bridgewater) [#24971](https://github.com/nodejs/node/pull/24971) - * protect against monkeypatched Object prototype for inspect() (Rich Trott) [#25953](https://github.com/nodejs/node/pull/25953) - * treat format arguments equally (Roman Reiss) [#23162](https://github.com/nodejs/node/pull/23162) + * remove `util.print()`, `util.puts()`, `util.debug()` and `util.error()` (cjihrig) [#25377](https://github.com/nodejs/node/pull/25377) + * change inspect compact and breakLength default (Ruben Bridgewater) [#27109](https://github.com/nodejs/node/pull/27109) + * improve inspect edge cases (Ruben Bridgewater) [#27109](https://github.com/nodejs/node/pull/27109) + * only the first line of the error message (Simon Zünd) [#26685](https://github.com/nodejs/node/pull/26685) + * don't set the prototype of callbackified functions (Ruben Bridgewater) [#26893](https://github.com/nodejs/node/pull/26893) + * rename callbackified function (Ruben Bridgewater) [#26893](https://github.com/nodejs/node/pull/26893) + * increase function length when using `callbackify()` (Ruben Bridgewater) [#26893](https://github.com/nodejs/node/pull/26893) + * prevent tampering with internals in `inspect()` (Ruben Bridgewater) [#26577](https://github.com/nodejs/node/pull/26577) + * prevent Proxy traps being triggered by `.inspect()` (Ruben Bridgewater) [#26241](https://github.com/nodejs/node/pull/26241) + * prevent leaking internal properties (Ruben Bridgewater) [#24971](https://github.com/nodejs/node/pull/24971) + * protect against monkeypatched Object prototype for inspect() (Rich Trott) [#25953](https://github.com/nodejs/node/pull/25953) + * treat format arguments equally (Roman Reiss) [#23162](https://github.com/nodejs/node/pull/23162) * **win, fs**: detect if symlink target is a directory (Bartosz Sosnowski) [#23724](https://github.com/nodejs/node/pull/23724) * **zlib**: - * throw TypeError if callback is missing (Anna Henningsen) [#24929](https://github.com/nodejs/node/pull/24929) - * make “bare” constants un-enumerable (Anna Henningsen) [#24824](https://github.com/nodejs/node/pull/24824) + * throw TypeError if callback is missing (Anna Henningsen) [#24929](https://github.com/nodejs/node/pull/24929) + * make “bare” constants un-enumerable (Anna Henningsen) [#24824](https://github.com/nodejs/node/pull/24824) ### Semver-Major Commits diff --git a/doc/changelogs/CHANGELOG_V4.md b/doc/changelogs/CHANGELOG_V4.md index e48f436b3a5b85..9a9a55e7a2c64b 100644 --- a/doc/changelogs/CHANGELOG_V4.md +++ b/doc/changelogs/CHANGELOG_V4.md @@ -2079,35 +2079,36 @@ This release also includes over 70 fixes to our docs and over 50 fixes to tests. ### Notable changes The SEMVER-MINOR changes include: - * **deps**: - - An update to v8 that introduces a new flag --perf_basic_prof_only_functions (Ali Ijaz Sheikh) [#3609](https://github.com/nodejs/node/pull/3609) - * **http**: - - A new feature in http(s) agent that catches errors on *keep alived* connections (José F. Romaniello) [#4482](https://github.com/nodejs/node/pull/4482) - * **src**: - - Better support for Big-Endian systems (Bryon Leung) [#3410](https://github.com/nodejs/node/pull/3410) - * **tls**: - - A new feature that allows you to pass common SSL options to `tls.createSecurePair` (Коренберг Марк) [#2441](https://github.com/nodejs/node/pull/2441) - * **tools**: - - a new flag `--prof-process` which will execute the tick processor on the provided isolate files (Matt Loring) [#4021](https://github.com/nodejs/node/pull/4021) + +* **deps**: + - An update to v8 that introduces a new flag --perf_basic_prof_only_functions (Ali Ijaz Sheikh) [#3609](https://github.com/nodejs/node/pull/3609) +* **http**: + - A new feature in http(s) agent that catches errors on *keep alived* connections (José F. Romaniello) [#4482](https://github.com/nodejs/node/pull/4482) +* **src**: + - Better support for Big-Endian systems (Bryon Leung) [#3410](https://github.com/nodejs/node/pull/3410) +* **tls**: + - A new feature that allows you to pass common SSL options to `tls.createSecurePair` (Коренберг Марк) [#2441](https://github.com/nodejs/node/pull/2441) +* **tools**: + - a new flag `--prof-process` which will execute the tick processor on the provided isolate files (Matt Loring) [#4021](https://github.com/nodejs/node/pull/4021) Notable semver patch changes include: - * **buld**: - - Support python path that includes spaces. This should be of particular interest to our Windows users who may have python living in `c:/Program Files` (Felix Becker) [#4841](https://github.com/nodejs/node/pull/4841) - * **https**: - - A potential fix for [#3692](https://github.com/nodejs/node/issues/3692) HTTP/HTTPS client requests throwing EPROTO (Fedor Indutny) [#4982](https://github.com/nodejs/node/pull/4982) - * **installer**: - - More readable profiling information from isolate tick logs (Matt Loring) [#3032](https://github.com/nodejs/node/pull/3032) - * **npm**: - - upgrade to npm 2.14.20 (Kat Marchán) [#5510](https://github.com/nodejs/node/pull/5510) - * **process**: - - Add support for symbols in event emitters. Symbols didn't exist when it was written ¯\_(ツ)_/¯ (cjihrig) [#4798](https://github.com/nodejs/node/pull/4798) - * **querystring**: - - querystring.parse() is now 13-22% faster! (Brian White) [#4675](https://github.com/nodejs/node/pull/4675) - * **streams**: - - performance improvements for moving small buffers that shows a 5% throughput gain. IoT projects have been seen to be as much as 10% faster with this change! (Matteo Collina) [#4354](https://github.com/nodejs/node/pull/4354) - * **tools**: - - eslint has been updated to version 2.1.0 (Rich Trott) [#5214](https://github.com/nodejs/node/pull/5214) +* **buld**: + - Support python path that includes spaces. This should be of particular interest to our Windows users who may have python living in `c:/Program Files` (Felix Becker) [#4841](https://github.com/nodejs/node/pull/4841) +* **https**: + - A potential fix for [#3692](https://github.com/nodejs/node/issues/3692) HTTP/HTTPS client requests throwing EPROTO (Fedor Indutny) [#4982](https://github.com/nodejs/node/pull/4982) +* **installer**: + - More readable profiling information from isolate tick logs (Matt Loring) [#3032](https://github.com/nodejs/node/pull/3032) +* **npm**: + - upgrade to npm 2.14.20 (Kat Marchán) [#5510](https://github.com/nodejs/node/pull/5510) +* **process**: + - Add support for symbols in event emitters. Symbols didn't exist when it was written ¯\_(ツ)_/¯ (cjihrig) [#4798](https://github.com/nodejs/node/pull/4798) +* **querystring**: + - querystring.parse() is now 13-22% faster! (Brian White) [#4675](https://github.com/nodejs/node/pull/4675) +* **streams**: + - performance improvements for moving small buffers that shows a 5% throughput gain. IoT projects have been seen to be as much as 10% faster with this change! (Matteo Collina) [#4354](https://github.com/nodejs/node/pull/4354) +* **tools**: + - eslint has been updated to version 2.1.0 (Rich Trott) [#5214](https://github.com/nodejs/node/pull/5214) ### Commits @@ -3328,10 +3329,10 @@ This list of changes is relative to the last io.js v3.x branch release, v3.3.0. * **timers**: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel) [#2540](https://github.com/nodejs/node/pull/2540), (Julien Gilli) [nodejs/node-v0.x-archive#8751](https://github.com/nodejs/node-v0.x-archive/pull/8751) [nodejs/node-v0.x-archive#8905](https://github.com/nodejs/node-v0.x-archive/pull/8905) * **util**: The `util.is*()` functions have been deprecated, beginning with deprecation warnings in the documentation for this release, users are encouraged to seek more robust alternatives in the npm registry, (Sakthipriyan Vairamani) [#2447](https://github.com/nodejs/node/pull/2447). * **v8**: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) [#2632](https://github.com/nodejs/node/pull/2632). - - Implement new `TypedArray` prototype methods: `copyWithin()`, `every()`, `fill()`, `filter()`, `find()`, `findIndex()`, `forEach()`, `indexOf()`, `join()`, `lastIndexOf()`, `map()`, `reduce()`, `reduceRight()`, `reverse()`, `slice()`, `some()`, `sort()`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information. - - Implement new `TypedArray.from()` and `TypedArray.of()` functions. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information. - - Implement arrow functions, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions for further information. - - Full ChangeLog available at https://github.com/v8/v8-git-mirror/blob/4.5.103/ChangeLog + - Implement new `TypedArray` prototype methods: `copyWithin()`, `every()`, `fill()`, `filter()`, `find()`, `findIndex()`, `forEach()`, `indexOf()`, `join()`, `lastIndexOf()`, `map()`, `reduce()`, `reduceRight()`, `reverse()`, `slice()`, `some()`, `sort()`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information. + - Implement new `TypedArray.from()` and `TypedArray.of()` functions. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information. + - Implement arrow functions, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions for further information. + - Full ChangeLog available at https://github.com/v8/v8-git-mirror/blob/4.5.103/ChangeLog ### Known issues diff --git a/doc/changelogs/CHANGELOG_V5.md b/doc/changelogs/CHANGELOG_V5.md index 2de04fbb2453b8..5fb784162f318d 100644 --- a/doc/changelogs/CHANGELOG_V5.md +++ b/doc/changelogs/CHANGELOG_V5.md @@ -221,10 +221,10 @@ This is a security release. All Node.js users should consult the security releas ### Notable changes -**http**: +* **http**: * Enclose IPv6 Host header in square brackets. This will enable proper separation of the host address from any port reference (Mihai Potra) [#5314](https://github.com/nodejs/node/pull/5314) -**path**: +* **path**: * Make win32.isAbsolute more consistent (Brian White) [#6028](https://github.com/nodejs/node/pull/6028) ### Commits @@ -405,13 +405,13 @@ This is a security release. All Node.js users should consult the security releas * **contextify**: Fixed a memory consumption issue related to heavy use of `vm.createContext` and `vm.runInNewContext`. (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/5392 * **governance**: The following members have been added as collaborators: - - Andreas Madsen (@AndreasMadsen) - - Benjamin Gruenbaum (@benjamingr) - - Claudio Rodriguez (@claudiorodriguez) - - Glen Keane (@thekemkid) - - Jeremy Whitlock (@whitlockjc) - - Matt Loring (@matthewloring) - - Phillip Johnsen (@phillipj) + - Andreas Madsen (@AndreasMadsen) + - Benjamin Gruenbaum (@benjamingr) + - Claudio Rodriguez (@claudiorodriguez) + - Glen Keane (@thekemkid) + - Jeremy Whitlock (@whitlockjc) + - Matt Loring (@matthewloring) + - Phillip Johnsen (@phillipj) * **lib**: copy arguments object instead of leaking it (Nathan Woltman) https://github.com/nodejs/node/pull/4361 * **src**: allow both -i and -e flags to be used at the same time (Rich Trott) diff --git a/doc/changelogs/CHANGELOG_V6.md b/doc/changelogs/CHANGELOG_V6.md index f108288481d22f..914c9e9a00d60f 100644 --- a/doc/changelogs/CHANGELOG_V6.md +++ b/doc/changelogs/CHANGELOG_V6.md @@ -110,9 +110,9 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * Node.js: Denial of Service with keep-alive HTTP connections (CVE-2019-5739) - * Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) - * OpenSSL: 0-byte record padding oracle (CVE-2019-1559) +* Node.js: Denial of Service with keep-alive HTTP connections (CVE-2019-5739) +* Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) +* OpenSSL: 0-byte record padding oracle (CVE-2019-1559) ### Notable Changes @@ -178,22 +178,22 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * Node.js: Debugger port 5858 listens on any interface by default (CVE-2018-12120) - * Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) - * Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) - * Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) - * Node.js: HTTP request splitting (CVE-2018-12116) - * OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) - * OpenSSL: Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) +* Node.js: Debugger port 5858 listens on any interface by default (CVE-2018-12120) +* Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) +* Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) +* Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) +* Node.js: HTTP request splitting (CVE-2018-12116) +* OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) +* OpenSSL: Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) ### Notable Changes * **debugger**: Backport of [nodejs/node#8106](https://github.com/nodejs/node/pull/8106) to prevent the debugger from listening on `0.0.0.0`. It now defaults to `127.0.0.1`. Reported by Ben Noordhuis. (CVE-2018-12120 / Ben Noordhuis). * **deps**: Upgrade to OpenSSL 1.0.2q, fixing CVE-2018-0734 and CVE-2018-5407 * **http**: - * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) - * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) - * Two-byte characters are now strictly disallowed for the `path` option in HTTP client requests. Paths containing characters outside of the range `\u0021` - `\u00ff` will now be rejected with a `TypeError`. This behavior can be reverted if necessary by supplying the `--security-revert=CVE-2018-12116` command line argument (this is not recommended). Reported as security concern for Node.js 6 and 8 by [Arkadiy Tetelman](https://twitter.com/arkadiyt) ([Lob](https://lob.com)), fixed by backporting a change by Benno Fünfstück applied to Node.js 10 and later. (CVE-2018-12116 / Matteo Collina) + * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) + * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) + * Two-byte characters are now strictly disallowed for the `path` option in HTTP client requests. Paths containing characters outside of the range `\u0021` - `\u00ff` will now be rejected with a `TypeError`. This behavior can be reverted if necessary by supplying the `--security-revert=CVE-2018-12116` command line argument (this is not recommended). Reported as security concern for Node.js 6 and 8 by [Arkadiy Tetelman](https://twitter.com/arkadiyt) ([Lob](https://lob.com)), fixed by backporting a change by Benno Fünfstück applied to Node.js 10 and later. (CVE-2018-12116 / Matteo Collina) * **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina) ### Commits @@ -223,8 +223,8 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * CVE-2018-0732 (OpenSSL) - * CVE-2018-12115 (Node.js) +* CVE-2018-0732 (OpenSSL) +* CVE-2018-12115 (Node.js) ### Notable Changes @@ -2229,9 +2229,9 @@ This is a special LTS to fix a number of regressions that were found on the 6.10 This includes: - * a fix for memory leak in the crypto module that was introduced in 6.10.1 - * a fix for a regression introduced to the windows repl in 6.10.0 - * a backported fix for V8 to stop a segfault that could occur when using spread syntax +* a fix for memory leak in the crypto module that was introduced in 6.10.1 +* a fix for a regression introduced to the windows repl in 6.10.0 +* a backported fix for V8 to stop a segfault that could occur when using spread syntax It also includes an upgrade to zlib 1.2.11 to fix a [number of low severity CVEs](http://seclists.org/oss-sec/2016/q4/602) that were present in zlib 1.2.8. @@ -2826,14 +2826,14 @@ are updates to dependencies. * **build**: shared library support is now working for AIX builds (Stewart Addison) [#9675](https://github.com/nodejs/node/pull/9675) * **deps**: - - *npm*: upgrade npm to 3.10.10 (Rebecca Turner) [#9847](https://github.com/nodejs/node/pull/9847) - - *V8*: Destructuring of arrow function arguments via computed property no longer throws (Michaël Zasso) [#10386](https://github.com/nodejs/node/pull/10386) + - *npm*: upgrade npm to 3.10.10 (Rebecca Turner) [#9847](https://github.com/nodejs/node/pull/9847) + - *V8*: Destructuring of arrow function arguments via computed property no longer throws (Michaël Zasso) [#10386](https://github.com/nodejs/node/pull/10386) * **inspector**: /json/version returns object, not an object wrapped in an array (Ben Noordhuis) [#9762](https://github.com/nodejs/node/pull/9762) * **module**: using --debug-brk and --eval together now works as expected (Kelvin Jin) [#8876](https://github.com/nodejs/node/pull/8876) * **process**: improve performance of nextTick up to 20% (Evan Lucas) [#8932](https://github.com/nodejs/node/pull/8932) * **repl**: - - the division operator will no longer be accidentally parsed as regex (Teddy Katz) [#10103](https://github.com/nodejs/node/pull/10103) - - improved support for generator functions (Teddy Katz) [#9852](https://github.com/nodejs/node/pull/9852) + - the division operator will no longer be accidentally parsed as regex (Teddy Katz) [#10103](https://github.com/nodejs/node/pull/10103) + - improved support for generator functions (Teddy Katz) [#9852](https://github.com/nodejs/node/pull/9852) * **timers**: Re canceling a cancelled timers will no longer throw (Jeremiah Senkpiel) [#9685](https://github.com/nodejs/node/pull/9685) ### Commits @@ -3162,10 +3162,10 @@ commits which are updates to dependencies. * **buffer**: coerce slice parameters consistently (Sakthipriyan Vairamani (thefourtheye)) [#9101](https://github.com/nodejs/node/pull/9101) * **deps**: - - *npm*: upgrade npm to 3.10.9 (Kat Marchán) [#9286](https://github.com/nodejs/node/pull/9286) - - *V8*: Various fixes to destructuring edge cases - - cherry-pick 3c39bac from V8 upstream (Cristian Cavalli) [#9138](https://github.com/nodejs/node/pull/9138) - - cherry pick 7166503 from upstream v8 (Cristian Cavalli) [#9173](https://github.com/nodejs/node/pull/9173) + - *npm*: upgrade npm to 3.10.9 (Kat Marchán) [#9286](https://github.com/nodejs/node/pull/9286) + - *V8*: Various fixes to destructuring edge cases + - cherry-pick 3c39bac from V8 upstream (Cristian Cavalli) [#9138](https://github.com/nodejs/node/pull/9138) + - cherry pick 7166503 from upstream v8 (Cristian Cavalli) [#9173](https://github.com/nodejs/node/pull/9173) * **gtest**: the test reporter now outputs tap comments as yamlish (Johan Bergström) [#9262](https://github.com/nodejs/node/pull/9262) * **inspector**: inspector now prompts user to use 127.0.0.1 rather than localhost (Eugene Ostroukhov) [#9451](https://github.com/nodejs/node/pull/9451) * **tls**: fix memory leak when writing data to TLSWrap instance during handshake (Fedor Indutny) [#9586](https://github.com/nodejs/node/pull/9586) diff --git a/doc/changelogs/CHANGELOG_V7.md b/doc/changelogs/CHANGELOG_V7.md index c3a33b3ee6ae24..7c903c35fb331b 100644 --- a/doc/changelogs/CHANGELOG_V7.md +++ b/doc/changelogs/CHANGELOG_V7.md @@ -786,10 +786,10 @@ This release contains **v8 5.5**, you can read more about this version in the of ### Notable changes * **deps**: - * update V8 to 5.5 (Michaël Zasso) [#11029](https://github.com/nodejs/node/pull/11029) - * upgrade libuv to 1.11.0 (cjihrig) [#11094](https://github.com/nodejs/node/pull/11094) - * add node-inspect 1.10.4 (Jan Krems) [#10187](https://github.com/nodejs/node/pull/10187) - * upgrade zlib to 1.2.11 (Sam Roberts) [#10980](https://github.com/nodejs/node/pull/10980) + * update V8 to 5.5 (Michaël Zasso) [#11029](https://github.com/nodejs/node/pull/11029) + * upgrade libuv to 1.11.0 (cjihrig) [#11094](https://github.com/nodejs/node/pull/11094) + * add node-inspect 1.10.4 (Jan Krems) [#10187](https://github.com/nodejs/node/pull/10187) + * upgrade zlib to 1.2.11 (Sam Roberts) [#10980](https://github.com/nodejs/node/pull/10980) * **lib**: build `node inspect` into `node` (Anna Henningsen) [#10187](https://github.com/nodejs/node/pull/10187) * **crypto**: Remove expired certs from CNNIC whitelist (Shigeki Ohtsu) [#9469](https://github.com/nodejs/node/pull/9469) * **inspector**: add --inspect-brk (Josh Gavant) [#11149](https://github.com/nodejs/node/pull/11149) diff --git a/doc/changelogs/CHANGELOG_V8.md b/doc/changelogs/CHANGELOG_V8.md index 0e7a3e393c4dcf..1e3e9b3df1379a 100644 --- a/doc/changelogs/CHANGELOG_V8.md +++ b/doc/changelogs/CHANGELOG_V8.md @@ -169,8 +169,8 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) - * OpenSSL: 0-byte record padding oracle (CVE-2019-1559) +* Node.js: Slowloris HTTP Denial of Service with keep-alive (CVE-2019-5737) +* OpenSSL: 0-byte record padding oracle (CVE-2019-1559) ### Notable Changes @@ -321,20 +321,20 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) - * Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) - * Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) - * Node.js: HTTP request splitting (CVE-2018-12116) - * OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) - * OpenSSL: Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) +* Node.js: Denial of Service with large HTTP headers (CVE-2018-12121) +* Node.js: Slowloris HTTP Denial of Service (CVE-2018-12122 / Node.js) +* Node.js: Hostname spoofing in URL parser for javascript protocol (CVE-2018-12123) +* Node.js: HTTP request splitting (CVE-2018-12116) +* OpenSSL: Timing vulnerability in DSA signature generation (CVE-2018-0734) +* OpenSSL: Microarchitecture timing vulnerability in ECC scalar multiplication (CVE-2018-5407) ### Notable Changes * **deps**: Upgrade to OpenSSL 1.0.2q, fixing CVE-2018-0734 and CVE-2018-5407 * **http**: - * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) - * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) - * Two-byte characters are now strictly disallowed for the `path` option in HTTP client requests. Paths containing characters outside of the range `\u0021` - `\u00ff` will now be rejected with a `TypeError`. This behavior can be reverted if necessary by supplying the `--security-revert=CVE-2018-12116` command line argument (this is not recommended). Reported as security concern for Node.js 6 and 8 by [Arkadiy Tetelman](https://twitter.com/arkadiyt) ([Lob](https://lob.com)), fixed by backporting a change by Benno Fünfstück applied to Node.js 10 and later. (CVE-2018-12116 / Matteo Collina) + * Headers received by HTTP servers must not exceed 8192 bytes in total to prevent possible Denial of Service attacks. Reported by Trevor Norris. (CVE-2018-12121 / Matteo Collina) + * A timeout of 40 seconds now applies to servers receiving HTTP headers. This value can be adjusted with `server.headersTimeout`. Where headers are not completely received within this period, the socket is destroyed on the next received chunk. In conjunction with `server.setTimeout()`, this aids in protecting against excessive resource retention and possible Denial of Service. Reported by Jan Maybach ([liebdich.com](https://liebdich.com)). (CVE-2018-12122 / Matteo Collina) + * Two-byte characters are now strictly disallowed for the `path` option in HTTP client requests. Paths containing characters outside of the range `\u0021` - `\u00ff` will now be rejected with a `TypeError`. This behavior can be reverted if necessary by supplying the `--security-revert=CVE-2018-12116` command line argument (this is not recommended). Reported as security concern for Node.js 6 and 8 by [Arkadiy Tetelman](https://twitter.com/arkadiyt) ([Lob](https://lob.com)), fixed by backporting a change by Benno Fünfstück applied to Node.js 10 and later. (CVE-2018-12116 / Matteo Collina) * **url**: Fix a bug that would allow a hostname being spoofed when parsing URLs with `url.parse()` with the `'javascript:'` protocol. Reported by [Martin Bajanik](https://twitter.com/_bayotop) ([Kentico](https://kenticocloud.com/)). (CVE-2018-12123 / Matteo Collina) ### Commits @@ -829,8 +829,8 @@ for details on patched vulnerabilities. Fixes for the following CVEs are included in this release: - * CVE-2018-0732 (OpenSSL) - * CVE-2018-12115 (Node.js) +* CVE-2018-0732 (OpenSSL) +* CVE-2018-12115 (Node.js) ### Notable Changes @@ -3475,10 +3475,10 @@ Big thanks to @addaleax who prepared the vast majority of this release. [[`dc3f6b9ac1`](https://github.com/nodejs/node/commit/dc3f6b9ac1)] [#14235](https://github.com/nodejs/node/pull/14235) * `npm` Changelogs: - - [v5.0.4](https://github.com/npm/npm/releases/tag/v5.0.4) - - [v5.1.0](https://github.com/npm/npm/releases/tag/v5.1.0) - - [v5.2.0](https://github.com/npm/npm/releases/tag/v5.2.0) - - [v5.3.0](https://github.com/npm/npm/releases/tag/v5.3.0) + - [v5.0.4](https://github.com/npm/npm/releases/tag/v5.0.4) + - [v5.1.0](https://github.com/npm/npm/releases/tag/v5.1.0) + - [v5.2.0](https://github.com/npm/npm/releases/tag/v5.2.0) + - [v5.3.0](https://github.com/npm/npm/releases/tag/v5.3.0) ### Commits diff --git a/doc/guides/adding-new-napi-api.md b/doc/guides/adding-new-napi-api.md index aad0e6ba7ab9ca..dc8d9dda233f31 100644 --- a/doc/guides/adding-new-napi-api.md +++ b/doc/guides/adding-new-napi-api.md @@ -6,16 +6,16 @@ a set of principles and guidelines to keep in mind while adding a new N-API API. * A new API **must** adhere to N-API API shape and spirit. - * **Must** be a C API. - * **Must** not throw exceptions. - * **Must** return `napi_status`. - * **Should** consume `napi_env`. - * **Must** operate only on primitive data types, pointers to primitive - datatypes or opaque handles. - * **Must** be a necessary API and not a nice to have. Convenience APIs - belong in node-addon-api. - * **Must** not change the signature of an existing N-API API or break - ABI compatibility with other versions of Node.js. + * **Must** be a C API. + * **Must** not throw exceptions. + * **Must** return `napi_status`. + * **Should** consume `napi_env`. + * **Must** operate only on primitive data types, pointers to primitive + datatypes or opaque handles. + * **Must** be a necessary API and not a nice to have. Convenience APIs + belong in node-addon-api. + * **Must** not change the signature of an existing N-API API or break + ABI compatibility with other versions of Node.js. * New API **should** be agnostic towards the underlying JavaScript VM. * New API PRs **must** have a corresponding documentation update. * New API PRs **must** be tagged as **n-api**. @@ -31,19 +31,19 @@ N-API API. * A new API **must** be considered experimental for at least one minor version release of Node.js before it can be considered for promotion out of experimental. - * Experimental APIs **must** be documented as such. - * Experimental APIs **must** require an explicit compile-time flag - (`#define`) to be set to opt-in. - * Experimental APIs **must** be considered for backport. - * Experimental status exit criteria **must** involve at least the - following: - * A new PR **must** be opened in `nodejs/node` to remove experimental - status. This PR **must** be tagged as **n-api** and **semver-minor**. - * Exiting an API from experimental **must** be signed off by the team. - * If a backport is merited, an API **must** have a down-level - implementation. - * The API **should** be used by a published real-world module. Use of - the API by a real-world published module will contribute favorably - to the decision to take an API out of experimental status. - * The API **must** be implemented in a Node.js implementation with an - alternate VM. + * Experimental APIs **must** be documented as such. + * Experimental APIs **must** require an explicit compile-time flag + (`#define`) to be set to opt-in. + * Experimental APIs **must** be considered for backport. + * Experimental status exit criteria **must** involve at least the + following: + * A new PR **must** be opened in `nodejs/node` to remove experimental + status. This PR **must** be tagged as **n-api** and **semver-minor**. + * Exiting an API from experimental **must** be signed off by the team. + * If a backport is merited, an API **must** have a down-level + implementation. + * The API **should** be used by a published real-world module. Use of + the API by a real-world published module will contribute favorably + to the decision to take an API out of experimental status. + * The API **must** be implemented in a Node.js implementation with an + alternate VM. diff --git a/doc/guides/contributing/pull-requests.md b/doc/guides/contributing/pull-requests.md index 5cc8f7d17fc732..db615b8622a46b 100644 --- a/doc/guides/contributing/pull-requests.md +++ b/doc/guides/contributing/pull-requests.md @@ -105,10 +105,10 @@ $ git checkout -b my-branch -t upstream/master The vast majority of Pull Requests opened against the `nodejs/node` repository includes changes to one or more of the following: - - the C/C++ code contained in the `src` directory - - the JavaScript code contained in the `lib` directory - - the documentation in `doc/api` - - tests within the `test` directory. +- the C/C++ code contained in the `src` directory +- the JavaScript code contained in the `lib` directory +- the documentation in `doc/api` +- tests within the `test` directory. If you are modifying code, please be sure to run `make lint` from time to time to ensure that the changes follow the Node.js code style guide. diff --git a/doc/guides/diagnostic-tooling-support-tiers.md b/doc/guides/diagnostic-tooling-support-tiers.md index 1368cdd666048e..62bca48e1b7af7 100644 --- a/doc/guides/diagnostic-tooling-support-tiers.md +++ b/doc/guides/diagnostic-tooling-support-tiers.md @@ -18,16 +18,16 @@ the following tiers. early warning of potential issues. No commit to the current and LTS release branches should break this tool/API if the next major release is within 1 month. In addition: - * The maintainers of the tool must remain responsive when there - are problems; - * The tool must be actively used by the ecosystem; - * The tool must be heavily depended on; - * The tool must have a guide or other documentation in the Node.js GitHub - organization or website; - * The tool must be working on all supported platforms; - * The tool must only be using APIs exposed by Nodejs as opposed to - its dependencies; and - * The tool must be open source. + * The maintainers of the tool must remain responsive when there + are problems; + * The tool must be actively used by the ecosystem; + * The tool must be heavily depended on; + * The tool must have a guide or other documentation in the Node.js GitHub + organization or website; + * The tool must be working on all supported platforms; + * The tool must only be using APIs exposed by Nodejs as opposed to + its dependencies; and + * The tool must be open source. * Tier 2 - Must be working(CI tests passing) for all LTS releases. An LTS release will not be shipped if the test @@ -35,13 +35,13 @@ the following tiers. in this tier it must have a good test suite and that test suite and a job must exist in the Node.js CI so that it can be run as part of the release process. In addition: - * The maintainers of the tool must remain responsive when - there are problems; - * The tool must be actively used by the ecosystem; - * The tool must be heavily depended on; - * The tool must have a guide or other documentation in the Node.js GitHub - organization or website; - * The tool must be open source. + * The maintainers of the tool must remain responsive when + there are problems; + * The tool must be actively used by the ecosystem; + * The tool must be heavily depended on; + * The tool must have a guide or other documentation in the Node.js GitHub + organization or website; + * The tool must be open source. * Tier 3 - If possible its test suite will be run at least nightly in the Node.js CI and issues opened for diff --git a/doc/offboarding.md b/doc/offboarding.md index 5b7a1e1231e8d7..3db892b0f3de3d 100644 --- a/doc/offboarding.md +++ b/doc/offboarding.md @@ -10,7 +10,7 @@ Emeritus or leaves the project. moving to Collaborator Emeritus. * Determine what GitHub teams the Collaborator belongs to. In consultation with the Collaborator, determine which of those teams they should be removed from. - * Some teams may also require a pull request to remove the Collaborator from - a team listing. For example, if someone is removed from @nodejs/build, - they should also be removed from the Build WG README.md file in the - https://github.com/nodejs/build repository. + * Some teams may also require a pull request to remove the Collaborator from + a team listing. For example, if someone is removed from @nodejs/build, + they should also be removed from the Build WG README.md file in the + https://github.com/nodejs/build repository.