node/CHANGELOG.md

1461 lines
57 KiB
Markdown
Raw Normal View History

# Node.js Changelog
Select a Node.js version below to view the changelog history:
2022-04-19, Version 18.0.0 (Current) Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (https://github.com/nodejs/node/pull/42607) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (https://github.com/nodejs/node/pull/40773) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (https://github.com/nodejs/node/pull/41479) fetch (experimental): An experimental fetch API is available on the global scope by default. The implementation is based upon https://undici.nodejs.org/#/, an HTTP/1.1 client written for Node.js by contributors to the project. Through this addition, the following globals are made available: `fetch` , `FormData`, `Headers`, `Request`, `Response`. Disable this API with the `--no-experimental-fetch` command-line flag. Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811. HTTP Timeouts: `server.headersTimeout`, which limits the amount of time the parser will wait to receive the complete HTTP headers, is now set to `60000` (60 seconds) by default. `server.requestTimeout`, which sets the timeout value in milliseconds for receiving the entire request from the client, is now set to `300000` (5 minutes) by default. If these timeouts expire, the server responds with status 408 without forwarding the request to the request listener and then closes the connection. Both timeouts must be set to a non-zero value to protect against potential Denial-of-Service attacks in case the server is deployed without a reverse proxy in front. Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263. Test Runner module (experimental): The `node:test` module facilitates the creation of JavaScript tests that report results in TAP format. This module is only available under the `node:` scheme. Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325. Toolchain and Compiler Upgrades: - Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux (RHEL) 8 and are compatible with Linux distributions based on glibc 2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04. - Prebuilt binaries for macOS now require macOS 10.15 or later. - For AIX the minimum supported architecture has been raised from Power 7 to Power 8. Prebuilt binaries for 32-bit Windows will initially not be available due to issues building the V8 dependency in Node.js. We hope to restore 32-bit Windows binaries for Node.js 18 with a future V8 update. Node.js does not support running on operating systems that are no longer supported by their vendor. For operating systems where their vendor has planned to end support earlier than April 2025, such as Windows 8.1 (January 2023) and Windows Server 2012 R2 (October 2023), support for Node.js 18 will end at the earlier date. Full details about the supported toolchains and compilers are documented in the Node.js `BUILDING.md` file. Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292, https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659 , and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and https://github.com/nodejs/node/pull/42666. V8 10.1: The V8 engine is updated to version 10.1, which is part of Chromium 101. Compared to the version included in Node.js 17.9.0, the following new features are included: - The `findLast` and `findLastIndex` array methods. - Improvements to the `Intl.Locale` API. - The `Intl.supportedValuesOf` function. - Improved performance of class fields and private class methods (the initialization of them is now as fast as ordinary property stores). The data format returned by the serialization API (`v8.serialize(value)`) has changed, and cannot be deserialized by earlier versions of Node.js. On the other hand, it is still possible to deserialize the previous format, as the API is backwards-compatible. Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657. Web Streams API (experimental): Node.js now exposes the experimental implementation of the Web Streams API on the global scope. This means the following APIs are now globally available: - `ReadableStream`, `ReadableStreamDefaultReader`, `ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`, `ReadableByteStreamController`, `ReadableStreamDefaultController`, `TransformStream`, `TransformStreamDefaultController`, `WritableStream`, `WritableStreamDefaultWriter`, `WritableStreamDefaultController`, `ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`, `TextDecoderStream`, `CompressionStream`, `DecompressionStream`. Contributed James Snell in https://github.com/nodejs/node/pull/39062, and Antoine du Hamel in https://github.com/nodejs/node/pull/42225. Other Notable Changes: - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (https://github.com/nodejs/node/pull/41305) - doc: add RafaelGSS to collaborators (RafaelGSS) (https://github.com/nodejs/node/pull/42718) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (https://github.com/nodejs/node/pull/42163) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (https://github.com/nodejs/node/pull/41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (https://github.com/nodejs/node/pull/41271) Semver-Major Commits: - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020) - (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated optimizations (Rongjian Zhang) (https://github.com/nodejs/node/pull/38545) - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) (https://github.com/nodejs/node/pull/42666) - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) (https://github.com/nodejs/node/pull/42292) - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) (https://github.com/nodejs/node/pull/42105) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (https://github.com/nodejs/node/pull/41305) - (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill` (Bar Admoni) (https://github.com/nodejs/node/pull/34312) - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841) - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) (https://github.com/nodejs/node/pull/42123) - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) (https://github.com/nodejs/node/pull/42124) - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) (https://github.com/nodejs/node/pull/42002) - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) (https://github.com/nodejs/node/pull/41600) - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) (https://github.com/nodejs/node/pull/42657) - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) (https://github.com/nodejs/node/pull/42657) - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) (https://github.com/nodejs/node/pull/41610) - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) (https://github.com/nodejs/node/pull/40907) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) (https://github.com/nodejs/node/pull/42659) - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) (https://github.com/nodejs/node/pull/42604) - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (https://github.com/nodejs/node/pull/42607) - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) (https://github.com/nodejs/node/pull/41263) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (https://github.com/nodejs/node/pull/42163) - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) (https://github.com/nodejs/node/pull/41811) - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678) - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) (https://github.com/nodejs/node/pull/42325) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) (https://github.com/nodejs/node/pull/28006) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896) - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) (https://github.com/nodejs/node/pull/42464) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (https://github.com/nodejs/node/pull/40773) - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) (https://github.com/nodejs/node/pull/42225) - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) (https://github.com/nodejs/node/pull/41954) - (SEMVER-MAJOR) stream: revert revert `map` spec compliance (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933) - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766) - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) (https://github.com/nodejs/node/pull/40852) - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) (https://github.com/nodejs/node/pull/40696) - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) (https://github.com/nodejs/node/pull/42325) - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) (https://github.com/nodejs/node/pull/37408) - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) (https://github.com/nodejs/node/pull/41561) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (https://github.com/nodejs/node/pull/41479) - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) (https://github.com/nodejs/node/pull/42313) - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) (https://github.com/nodejs/node/pull/42577) - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) (https://github.com/nodejs/node/pull/41373) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (https://github.com/nodejs/node/pull/41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (https://github.com/nodejs/node/pull/41271) PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
* [Node.js 18](doc/changelogs/CHANGELOG_V18.md) **Current**
* [Node.js 17](doc/changelogs/CHANGELOG_V17.md) **Current**
* [Node.js 16](doc/changelogs/CHANGELOG_V16.md) **Long Term Support**
* [Node.js 15](doc/changelogs/CHANGELOG_V15.md) End-of-Life
* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) Long Term Support
* [Node.js 13](doc/changelogs/CHANGELOG_V13.md) End-of-Life
* [Node.js 12](doc/changelogs/CHANGELOG_V12.md) Long Term Support
* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) End-of-Life
* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) End-of-Life
* [Node.js 9](doc/changelogs/CHANGELOG_V9.md) End-of-Life
* [Node.js 8](doc/changelogs/CHANGELOG_V8.md) End-of-Life
* [Node.js 7](doc/changelogs/CHANGELOG_V7.md) End-of-Life
* [Node.js 6](doc/changelogs/CHANGELOG_V6.md) End-of-Life
* [Node.js 5](doc/changelogs/CHANGELOG_V5.md) End-of-Life
* [Node.js 4](doc/changelogs/CHANGELOG_V4.md) End-of-Life
* [io.js](doc/changelogs/CHANGELOG_IOJS.md) End-of-Life
* [Node.js 0.12](doc/changelogs/CHANGELOG_V012.md) End-of-Life
* [Node.js 0.10](doc/changelogs/CHANGELOG_V010.md) End-of-Life
* [Archive](doc/changelogs/CHANGELOG_ARCHIVE.md)
Please use the following table to find the changelog for a specific Node.js
release.
<table>
<tr>
2022-04-19, Version 18.0.0 (Current) Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (https://github.com/nodejs/node/pull/42607) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (https://github.com/nodejs/node/pull/40773) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (https://github.com/nodejs/node/pull/41479) fetch (experimental): An experimental fetch API is available on the global scope by default. The implementation is based upon https://undici.nodejs.org/#/, an HTTP/1.1 client written for Node.js by contributors to the project. Through this addition, the following globals are made available: `fetch` , `FormData`, `Headers`, `Request`, `Response`. Disable this API with the `--no-experimental-fetch` command-line flag. Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811. HTTP Timeouts: `server.headersTimeout`, which limits the amount of time the parser will wait to receive the complete HTTP headers, is now set to `60000` (60 seconds) by default. `server.requestTimeout`, which sets the timeout value in milliseconds for receiving the entire request from the client, is now set to `300000` (5 minutes) by default. If these timeouts expire, the server responds with status 408 without forwarding the request to the request listener and then closes the connection. Both timeouts must be set to a non-zero value to protect against potential Denial-of-Service attacks in case the server is deployed without a reverse proxy in front. Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263. Test Runner module (experimental): The `node:test` module facilitates the creation of JavaScript tests that report results in TAP format. This module is only available under the `node:` scheme. Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325. Toolchain and Compiler Upgrades: - Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux (RHEL) 8 and are compatible with Linux distributions based on glibc 2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04. - Prebuilt binaries for macOS now require macOS 10.15 or later. - For AIX the minimum supported architecture has been raised from Power 7 to Power 8. Prebuilt binaries for 32-bit Windows will initially not be available due to issues building the V8 dependency in Node.js. We hope to restore 32-bit Windows binaries for Node.js 18 with a future V8 update. Node.js does not support running on operating systems that are no longer supported by their vendor. For operating systems where their vendor has planned to end support earlier than April 2025, such as Windows 8.1 (January 2023) and Windows Server 2012 R2 (October 2023), support for Node.js 18 will end at the earlier date. Full details about the supported toolchains and compilers are documented in the Node.js `BUILDING.md` file. Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292, https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659 , and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and https://github.com/nodejs/node/pull/42666. V8 10.1: The V8 engine is updated to version 10.1, which is part of Chromium 101. Compared to the version included in Node.js 17.9.0, the following new features are included: - The `findLast` and `findLastIndex` array methods. - Improvements to the `Intl.Locale` API. - The `Intl.supportedValuesOf` function. - Improved performance of class fields and private class methods (the initialization of them is now as fast as ordinary property stores). The data format returned by the serialization API (`v8.serialize(value)`) has changed, and cannot be deserialized by earlier versions of Node.js. On the other hand, it is still possible to deserialize the previous format, as the API is backwards-compatible. Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657. Web Streams API (experimental): Node.js now exposes the experimental implementation of the Web Streams API on the global scope. This means the following APIs are now globally available: - `ReadableStream`, `ReadableStreamDefaultReader`, `ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`, `ReadableByteStreamController`, `ReadableStreamDefaultController`, `TransformStream`, `TransformStreamDefaultController`, `WritableStream`, `WritableStreamDefaultWriter`, `WritableStreamDefaultController`, `ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`, `TextDecoderStream`, `CompressionStream`, `DecompressionStream`. Contributed James Snell in https://github.com/nodejs/node/pull/39062, and Antoine du Hamel in https://github.com/nodejs/node/pull/42225. Other Notable Changes: - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (https://github.com/nodejs/node/pull/41305) - doc: add RafaelGSS to collaborators (RafaelGSS) (https://github.com/nodejs/node/pull/42718) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (https://github.com/nodejs/node/pull/42163) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (https://github.com/nodejs/node/pull/41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (https://github.com/nodejs/node/pull/41271) Semver-Major Commits: - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020) - (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated optimizations (Rongjian Zhang) (https://github.com/nodejs/node/pull/38545) - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) (https://github.com/nodejs/node/pull/42666) - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) (https://github.com/nodejs/node/pull/42292) - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) (https://github.com/nodejs/node/pull/42105) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (https://github.com/nodejs/node/pull/41305) - (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill` (Bar Admoni) (https://github.com/nodejs/node/pull/34312) - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841) - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) (https://github.com/nodejs/node/pull/42123) - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) (https://github.com/nodejs/node/pull/42124) - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) (https://github.com/nodejs/node/pull/42002) - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) (https://github.com/nodejs/node/pull/41600) - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) (https://github.com/nodejs/node/pull/42657) - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) (https://github.com/nodejs/node/pull/42657) - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) (https://github.com/nodejs/node/pull/41610) - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) (https://github.com/nodejs/node/pull/40907) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) (https://github.com/nodejs/node/pull/42659) - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) (https://github.com/nodejs/node/pull/42604) - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (https://github.com/nodejs/node/pull/42607) - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) (https://github.com/nodejs/node/pull/41263) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (https://github.com/nodejs/node/pull/42163) - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) (https://github.com/nodejs/node/pull/41811) - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678) - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) (https://github.com/nodejs/node/pull/42325) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) (https://github.com/nodejs/node/pull/28006) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896) - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) (https://github.com/nodejs/node/pull/42464) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (https://github.com/nodejs/node/pull/40773) - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) (https://github.com/nodejs/node/pull/42225) - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) (https://github.com/nodejs/node/pull/41954) - (SEMVER-MAJOR) stream: revert revert `map` spec compliance (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933) - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766) - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) (https://github.com/nodejs/node/pull/40852) - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) (https://github.com/nodejs/node/pull/40696) - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) (https://github.com/nodejs/node/pull/42325) - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) (https://github.com/nodejs/node/pull/37408) - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) (https://github.com/nodejs/node/pull/41561) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (https://github.com/nodejs/node/pull/41479) - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) (https://github.com/nodejs/node/pull/42313) - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) (https://github.com/nodejs/node/pull/42577) - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) (https://github.com/nodejs/node/pull/41373) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (https://github.com/nodejs/node/pull/41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (https://github.com/nodejs/node/pull/41271) PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
<th title="Current"><a href="doc/changelogs/CHANGELOG_V18.md">18</a> (Current)</th>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V17.md">17</a> (Current)</th>
<th title="LTS Until 2024-04"><a href="doc/changelogs/CHANGELOG_V16.md">16</a> (LTS)</th>
<th title="LTS Until 2023-04"><a href="doc/changelogs/CHANGELOG_V14.md">14</a> (LTS)</th>
<th title="LTS Until 2022-04"><a href="doc/changelogs/CHANGELOG_V12.md">12</a> (LTS)</th>
</tr>
<tr>
2021-10-19, Version 17.0.0 (Current) Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [https://github.com/nodejs/node/pull/39793] - doc: deprecate (doc-only) http abort related (dr-js) [https://github.com/nodejs/node/pull/36670] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) [https://github.com/nodejs/node/pull/40121] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) [https://github.com/nodejs/node/pull/40117] OpenSSL 3.0: Node.js now includes OpenSSL 3.0, specifically https://github.com/quictls/openssl which provides QUIC support. While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes. If you hit an `ERR_OSSL_EVP_UNSUPPORTED` error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, `--openssl-legacy-provider`, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions. For details about all the features in OpenSSL 3.0 please see https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final. (Daniel Bevenius) [https://github.com/nodejs/node/pull/38512] Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478 V8 9.5: The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the `Intl.DisplayNames` API and Extended `timeZoneName` options in the `Intl.DateTimeFormat` API. You can read more details in the V8 9.5 release post https://v8.dev/blog/v8-release-95. (Michaël Zasso) [https://github.com/nodejs/node/pull/40178] Readline Promise API: The `readline` module provides an interface for reading data from a Readable stream (such as `process.stdin`) one line at a time. (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] Other Notable Changes: - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) [https://github.com/nodejs/node/pull/39987] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) [https://github.com/nodejs/node/pull/38332] - deps: upgrade npm to 8.1.0 (npm team) [https://github.com/nodejs/node/pull/40463] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) [https://github.com/nodejs/node/pull/39331] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) [https://github.com/nodejs/node/pull/39759] - (SEMVER-MAJOR) lib: expose `DOMException` as global (Khaidi Chu) [https://github.com/nodejs/node/pull/39176] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) [https://github.com/nodejs/node/pull/39235] Semver-Major Commits: - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) [https://github.com/nodejs/node/pull/38807] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) [https://github.com/nodejs/node/pull/38807] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) [https://github.com/nodejs/node/pull/40178] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) [https://github.com/nodejs/node/pull/38512] - (SEMVER-MAJOR) dgram: tighten `address` validation in `socket.send` (Voltrex) [https://github.com/nodejs/node/pull/39190] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [https://github.com/nodejs/node/pull/39793] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) [https://github.com/nodejs/node/pull/39987] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) [https://github.com/nodejs/node/pull/40179] - (SEMVER-MAJOR) errors: disp ver on fatal except that causes exit (Divlo) [https://github.com/nodejs/node/pull/38332] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) [https://github.com/nodejs/node/pull/38684] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) [https://github.com/nodejs/node/pull/38259] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) [https://github.com/nodejs/node/pull/39759] - (SEMVER-MAJOR) lib: expose `DOMException` as global (Khaidi Chu) [https://github.com/nodejs/node/pull/39176] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) [https://github.com/nodejs/node/pull/40121] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) [https://github.com/nodejs/node/pull/40117] - (SEMVER-MAJOR) readline: validate `AbortSignal`s and remove unused event listeners (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] - (SEMVER-MAJOR) readline: refactor `Interface` to ES2015 class (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] - (SEMVER-MAJOR) src: allow CAP\_NET\_BIND\_SERVICE in SafeGetenv (Daniel Bevenius) [https://github.com/nodejs/node/pull/37727] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) [https://github.com/nodejs/node/pull/39603] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) [https://github.com/nodejs/node/pull/38362] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) [https://github.com/nodejs/node/pull/38700] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) [https://github.com/nodejs/node/pull/39639] - (SEMVER-MAJOR) stream: do not emit `end` on readable error (Szymon Marczak) [https://github.com/nodejs/node/pull/39607] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) [https://github.com/nodejs/node/pull/39364] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) [https://github.com/nodejs/node/pull/39342] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) [https://github.com/nodejs/node/pull/39346] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) [https://github.com/nodejs/node/pull/39294] - (SEMVER-MAJOR) stream: throw on premature close in Readable\ (Darshan Sen) [https://github.com/nodejs/node/pull/39117] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) [https://github.com/nodejs/node/pull/39235] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) [https://github.com/nodejs/node/pull/34385] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) [https://github.com/nodejs/node/pull/38505] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) [https://github.com/nodejs/node/pull/39752] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) [https://github.com/nodejs/node/pull/38631] PR-URL: https://github.com/nodejs/node/pull/40119
2021-09-15 00:55:37 +00:00
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V18.md#18.10.0">18.10.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.9.1">18.9.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.9.0">18.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.8.0">18.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.7.0">18.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.6.0">18.6.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.5.0">18.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.4.0">18.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.3.0">18.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.2.0">18.2.0</a><br/>
2022-05-17, Version 18.2.0 (Current) Notable changes: OpenSSL 3.0.3 This update can be treated as a security release as the issues addressed in OpenSSL 3.0.3 slightly affect Node.js 18. See https://nodejs.org/en/blog/vulnerability/openssl-fixes-in-regular-releases-may2022/ for more information on how the May 2022 OpenSSL releases affect other Node.js release lines. - deps: update archs files for quictls/openssl-3.0.3+quic (RafaelGSS) https://github.com/nodejs/node/pull/43022 - deps: upgrade openssl sources to quictls/openssl-3.0.3 (RafaelGSS) https://github.com/nodejs/node/pull/43022 Other notable changes: - _Revert_ "deps: add template for generated headers" (Daniel Bevenius) https://github.com/nodejs/node/pull/42978 - deps: update undici to 5.2.0 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/43059 - deps: upgrade npm to 8.9.0 (npm team) https://github.com/nodejs/node/pull/42968 - (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) https://github.com/nodejs/node/pull/42768 - (SEMVER-MINOR) http: added connection closing methods (Shogun) https://github.com/nodejs/node/pull/42812 - doc: add LiviaMedeiros to collaborators (LiviaMedeiros) https://github.com/nodejs/node/pull/43039 - doc: add release key for Juan Arboleda (Juan José) https://github.com/nodejs/node/pull/42961 - (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) https://github.com/nodejs/node/pull/42768 - (SEMVER-MINOR) http: added connection closing methods (Paolo Insogna) https://github.com/nodejs/node/pull/42812 - (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) https://github.com/nodejs/node/pull/42725 PR-URL: https://github.com/nodejs/node/pull/43036
2022-05-10 13:10:45 +00:00
<a href="doc/changelogs/CHANGELOG_V18.md#18.1.0">18.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V18.md#18.0.0">18.0.0</a><br/>
2022-04-19, Version 18.0.0 (Current) Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (https://github.com/nodejs/node/pull/42607) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (https://github.com/nodejs/node/pull/40773) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (https://github.com/nodejs/node/pull/41479) fetch (experimental): An experimental fetch API is available on the global scope by default. The implementation is based upon https://undici.nodejs.org/#/, an HTTP/1.1 client written for Node.js by contributors to the project. Through this addition, the following globals are made available: `fetch` , `FormData`, `Headers`, `Request`, `Response`. Disable this API with the `--no-experimental-fetch` command-line flag. Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811. HTTP Timeouts: `server.headersTimeout`, which limits the amount of time the parser will wait to receive the complete HTTP headers, is now set to `60000` (60 seconds) by default. `server.requestTimeout`, which sets the timeout value in milliseconds for receiving the entire request from the client, is now set to `300000` (5 minutes) by default. If these timeouts expire, the server responds with status 408 without forwarding the request to the request listener and then closes the connection. Both timeouts must be set to a non-zero value to protect against potential Denial-of-Service attacks in case the server is deployed without a reverse proxy in front. Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263. Test Runner module (experimental): The `node:test` module facilitates the creation of JavaScript tests that report results in TAP format. This module is only available under the `node:` scheme. Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325. Toolchain and Compiler Upgrades: - Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux (RHEL) 8 and are compatible with Linux distributions based on glibc 2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04. - Prebuilt binaries for macOS now require macOS 10.15 or later. - For AIX the minimum supported architecture has been raised from Power 7 to Power 8. Prebuilt binaries for 32-bit Windows will initially not be available due to issues building the V8 dependency in Node.js. We hope to restore 32-bit Windows binaries for Node.js 18 with a future V8 update. Node.js does not support running on operating systems that are no longer supported by their vendor. For operating systems where their vendor has planned to end support earlier than April 2025, such as Windows 8.1 (January 2023) and Windows Server 2012 R2 (October 2023), support for Node.js 18 will end at the earlier date. Full details about the supported toolchains and compilers are documented in the Node.js `BUILDING.md` file. Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292, https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659 , and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and https://github.com/nodejs/node/pull/42666. V8 10.1: The V8 engine is updated to version 10.1, which is part of Chromium 101. Compared to the version included in Node.js 17.9.0, the following new features are included: - The `findLast` and `findLastIndex` array methods. - Improvements to the `Intl.Locale` API. - The `Intl.supportedValuesOf` function. - Improved performance of class fields and private class methods (the initialization of them is now as fast as ordinary property stores). The data format returned by the serialization API (`v8.serialize(value)`) has changed, and cannot be deserialized by earlier versions of Node.js. On the other hand, it is still possible to deserialize the previous format, as the API is backwards-compatible. Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657. Web Streams API (experimental): Node.js now exposes the experimental implementation of the Web Streams API on the global scope. This means the following APIs are now globally available: - `ReadableStream`, `ReadableStreamDefaultReader`, `ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`, `ReadableByteStreamController`, `ReadableStreamDefaultController`, `TransformStream`, `TransformStreamDefaultController`, `WritableStream`, `WritableStreamDefaultWriter`, `WritableStreamDefaultController`, `ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`, `TextDecoderStream`, `CompressionStream`, `DecompressionStream`. Contributed James Snell in https://github.com/nodejs/node/pull/39062, and Antoine du Hamel in https://github.com/nodejs/node/pull/42225. Other Notable Changes: - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (https://github.com/nodejs/node/pull/41305) - doc: add RafaelGSS to collaborators (RafaelGSS) (https://github.com/nodejs/node/pull/42718) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (https://github.com/nodejs/node/pull/42163) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (https://github.com/nodejs/node/pull/41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (https://github.com/nodejs/node/pull/41271) Semver-Major Commits: - (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep equal checks (Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020) - (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated optimizations (Rongjian Zhang) (https://github.com/nodejs/node/pull/38545) - (SEMVER-MAJOR) buffer: expose Blob as a global (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) buffer: graduate Blob from experimental (James M Snell) (https://github.com/nodejs/node/pull/41270) - (SEMVER-MAJOR) build: make x86 Windows support temporarily experimental (Michaël Zasso) (https://github.com/nodejs/node/pull/42666) - (SEMVER-MAJOR) build: bump macOS deployment target to 10.15 (Richard Lau) (https://github.com/nodejs/node/pull/42292) - (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to experimental (Michaël Zasso) (https://github.com/nodejs/node/pull/42105) - (SEMVER-MAJOR) child\_process: improve argument validation (Rich Trott) (https://github.com/nodejs/node/pull/41305) - (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill` (Bar Admoni) (https://github.com/nodejs/node/pull/34312) - (SEMVER-MAJOR) crypto: cleanup validation (Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841) - (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName (Tobias Nießen) (https://github.com/nodejs/node/pull/42123) - (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject (Tobias Nießen) (https://github.com/nodejs/node/pull/42124) - (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName (Tobias Nießen) (https://github.com/nodejs/node/pull/42002) - (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior (Tobias Nießen) (https://github.com/nodejs/node/pull/41600) - (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2 (Michaël Zasso) (https://github.com/nodejs/node/pull/42657) - (SEMVER-MAJOR) deps: update V8 to 10.1.124.6 (Michaël Zasso) (https://github.com/nodejs/node/pull/42657) - (SEMVER-MAJOR) deps: update V8 to 9.8.177.9 (Michaël Zasso) (https://github.com/nodejs/node/pull/41610) - (SEMVER-MAJOR) deps: update V8 to 9.7.106.18 (Michaël Zasso) (https://github.com/nodejs/node/pull/40907) - (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup` options type coercion (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux (Richard Lau) (https://github.com/nodejs/node/pull/42659) - (SEMVER-MAJOR) doc: update AIX minimum supported arch (Richard Lau) (https://github.com/nodejs/node/pull/42604) - (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) (https://github.com/nodejs/node/pull/42607) - (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic (Paolo Insogna) (https://github.com/nodejs/node/pull/41263) - (SEMVER-MAJOR) http: make TCP noDelay enabled by default (Paolo Insogna) (https://github.com/nodejs/node/pull/42163) - (SEMVER-MAJOR) lib: enable fetch by default (Michaël Zasso) (https://github.com/nodejs/node/pull/41811) - (SEMVER-MAJOR) lib: replace validator and error (Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678) - (SEMVER-MAJOR) module,repl: support 'node:'-only core modules (Colin Ihrig) (https://github.com/nodejs/node/pull/42325) - (SEMVER-MAJOR) net: make `server.address()` return an integer for `family` (Antoine du Hamel) (https://github.com/nodejs/node/pull/41431) - (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty() on process.env (Himself65) (https://github.com/nodejs/node/pull/28006) - (SEMVER-MAJOR) process: runtime deprecate multipleResolves (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896) - (SEMVER-MAJOR) readline: fix question still called after closed (Xuguang Mei) (https://github.com/nodejs/node/pull/42464) - (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy) (https://github.com/nodejs/node/pull/40773) - (SEMVER-MAJOR) stream: expose web streams globals, remove runtime experimental warning (Antoine du Hamel) (https://github.com/nodejs/node/pull/42225) - (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream is readable (Xuguang Mei) (https://github.com/nodejs/node/pull/41954) - (SEMVER-MAJOR) stream: revert revert `map` spec compliance (Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933) - (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream (Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766) - (SEMVER-MAJOR) stream: don't emit finish after destroy (Robert Nagy) (https://github.com/nodejs/node/pull/40852) - (SEMVER-MAJOR) stream: add errored and closed props (Robert Nagy) (https://github.com/nodejs/node/pull/40696) - (SEMVER-MAJOR) test: add initial test module (Colin Ihrig) (https://github.com/nodejs/node/pull/42325) - (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax (Rabbit) (https://github.com/nodejs/node/pull/37408) - (SEMVER-MAJOR) tls: represent registeredID numerically always (Tobias Nießen) (https://github.com/nodejs/node/pull/41561) - (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life (Tobias Nießen) (https://github.com/nodejs/node/pull/41479) - (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname (Rich Trott) (https://github.com/nodejs/node/pull/42313) - (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent (Darshan Sen) (https://github.com/nodejs/node/pull/42577) - (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails (Antonio Román) (https://github.com/nodejs/node/pull/41373) - (SEMVER-MAJOR) worker: expose BroadcastChannel as a global (James M Snell) (https://github.com/nodejs/node/pull/41271) - (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported (James M Snell) (https://github.com/nodejs/node/pull/41271) PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V17.md#17.9.1">17.9.1</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.9.0">17.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.8.0">17.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.7.2">17.7.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.7.1">17.7.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.7.0">17.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.6.0">17.6.0</a><br/>
2022-02-22, Version 17.6.0 (Current) Notable changes: - doc: deprecate notice for process methods (Yash Ladha) https://github.com/nodejs/node/pull/41587 - stream: revert `map` spec compliance (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41931 - build: remove broken x32 arch support (Ben Noordhuis) https://github.com/nodejs/node/pull/41905 - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) https://github.com/nodejs/node/pull/36328 - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) https://github.com/nodejs/node/pull/41819 - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) https://github.com/nodejs/node/pull/41956 - (SEMVER-MINOR) readline: bind keystroke `ctrl`+`6` to redo (Ray) https://github.com/nodejs/node/pull/41662 - process: deprecate multipleResolves (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41872 - Documentation-only. Dependency updates: - deps: upgrade npm to 8.5.1 (npm-robot) https://github.com/nodejs/node/pull/42039 - deps: update undici to 3e267ece5f (Michaël Zasso) https://github.com/nodejs/node/pull/41955 - deps: upgrade npm to 8.5.0 (npm-robot) https://github.com/nodejs/node/pull/41925 New collaborators: - doc: add marsonya to collaborators (Akhil Marsonya) https://github.com/nodejs/node/pull/41991 - doc: add joesepi to collaborators (Joe Sepi) https://github.com/nodejs/node/pull/41914 PR-URL: https://github.com/nodejs/node/pull/42072
2022-02-21 06:28:32 +00:00
<a href="doc/changelogs/CHANGELOG_V17.md#17.5.0">17.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.4.0">17.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.3.1">17.3.1</a><br/>
2022-01-10, Version 17.3.1 (Current) This is a security release. Notable changes: Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) - Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly. - Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531 Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) - Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints. - Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532 Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) - Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification. - Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44533 Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) - Due to the formatting logic of the `console.table()` function it was not safe to allow user controlled input to be passed to the `properties` parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be `__proto__`. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype. - Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21824 PR-URL: https://github.com/nodejs-private/node-private/pull/311
2022-01-08 01:38:03 +00:00
<a href="doc/changelogs/CHANGELOG_V17.md#17.3.0">17.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.2.0">17.2.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.1.0">17.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.0.1">17.0.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V17.md#17.0.0">17.0.0</a><br/>
2021-10-19, Version 17.0.0 (Current) Notable Changes: Deprecations and Removals: - (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [https://github.com/nodejs/node/pull/39793] - doc: deprecate (doc-only) http abort related (dr-js) [https://github.com/nodejs/node/pull/36670] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) [https://github.com/nodejs/node/pull/40121] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) [https://github.com/nodejs/node/pull/40117] OpenSSL 3.0: Node.js now includes OpenSSL 3.0, specifically https://github.com/quictls/openssl which provides QUIC support. While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes. If you hit an `ERR_OSSL_EVP_UNSUPPORTED` error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, `--openssl-legacy-provider`, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions. For details about all the features in OpenSSL 3.0 please see https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final. (Daniel Bevenius) [https://github.com/nodejs/node/pull/38512] Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478 V8 9.5: The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the `Intl.DisplayNames` API and Extended `timeZoneName` options in the `Intl.DateTimeFormat` API. You can read more details in the V8 9.5 release post https://v8.dev/blog/v8-release-95. (Michaël Zasso) [https://github.com/nodejs/node/pull/40178] Readline Promise API: The `readline` module provides an interface for reading data from a Readable stream (such as `process.stdin`) one line at a time. (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] Other Notable Changes: - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) [https://github.com/nodejs/node/pull/39987] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) [https://github.com/nodejs/node/pull/38332] - deps: upgrade npm to 8.1.0 (npm team) [https://github.com/nodejs/node/pull/40463] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) [https://github.com/nodejs/node/pull/39331] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) [https://github.com/nodejs/node/pull/39759] - (SEMVER-MAJOR) lib: expose `DOMException` as global (Khaidi Chu) [https://github.com/nodejs/node/pull/39176] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) [https://github.com/nodejs/node/pull/39235] Semver-Major Commits: - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) [https://github.com/nodejs/node/pull/38807] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) [https://github.com/nodejs/node/pull/38807] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) [https://github.com/nodejs/node/pull/40178] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) [https://github.com/nodejs/node/pull/38512] - (SEMVER-MAJOR) dgram: tighten `address` validation in `socket.send` (Voltrex) [https://github.com/nodejs/node/pull/39190] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options (Antoine du Hamel) [https://github.com/nodejs/node/pull/39793] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) [https://github.com/nodejs/node/pull/39987] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) [https://github.com/nodejs/node/pull/40179] - (SEMVER-MAJOR) errors: disp ver on fatal except that causes exit (Divlo) [https://github.com/nodejs/node/pull/38332] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) [https://github.com/nodejs/node/pull/38684] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) [https://github.com/nodejs/node/pull/38259] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) [https://github.com/nodejs/node/pull/39759] - (SEMVER-MAJOR) lib: expose `DOMException` as global (Khaidi Chu) [https://github.com/nodejs/node/pull/39176] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) [https://github.com/nodejs/node/pull/40121] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) [https://github.com/nodejs/node/pull/40117] - (SEMVER-MAJOR) readline: validate `AbortSignal`s and remove unused event listeners (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] - (SEMVER-MAJOR) readline: refactor `Interface` to ES2015 class (Antoine du Hamel) [https://github.com/nodejs/node/pull/37947] - (SEMVER-MAJOR) src: allow CAP\_NET\_BIND\_SERVICE in SafeGetenv (Daniel Bevenius) [https://github.com/nodejs/node/pull/37727] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) [https://github.com/nodejs/node/pull/39603] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) [https://github.com/nodejs/node/pull/38362] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) [https://github.com/nodejs/node/pull/38700] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) [https://github.com/nodejs/node/pull/39639] - (SEMVER-MAJOR) stream: do not emit `end` on readable error (Szymon Marczak) [https://github.com/nodejs/node/pull/39607] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) [https://github.com/nodejs/node/pull/39364] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) [https://github.com/nodejs/node/pull/39342] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) [https://github.com/nodejs/node/pull/39346] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) [https://github.com/nodejs/node/pull/39294] - (SEMVER-MAJOR) stream: throw on premature close in Readable\ (Darshan Sen) [https://github.com/nodejs/node/pull/39117] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) [https://github.com/nodejs/node/pull/39235] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) [https://github.com/nodejs/node/pull/34385] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) [https://github.com/nodejs/node/pull/38505] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) [https://github.com/nodejs/node/pull/39752] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) [https://github.com/nodejs/node/pull/38631] PR-URL: https://github.com/nodejs/node/pull/40119
2021-09-15 00:55:37 +00:00
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V16.md#16.17.1">16.17.1</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.17.0">16.17.0</a><br/>
2022-08-16, Version 16.17.0 'Gallium' (LTS) Notable changes: Adds `util.parseArgs` helper for higher level command-line argument parsing. Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi, Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband. https://github.com/nodejs/node/pull/42675 Node.js ESM Loader hooks now support multiple custom loaders, and composition is achieved via "chaining": `foo-loader` calls `bar-loader` calls `qux-loader` (a custom loader _must_ now signal a short circuit when intentionally not calling the next). See the ESM docs (https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details. Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias. https://github.com/nodejs/node/pull/42623 The `node:test` module, which was initially introduced in Node.js v18.0.0, is now available with all the changes done to it up to Node.js v18.7.0. To better align Node.js' experimental implementation of the Web Crypto API with other runtimes, several changes were made: * Support for CFRG curves was added, with the `'Ed25519'`, `'Ed448'`, `'X25519'`, and `'X448'` algorithms. * The proprietary `'NODE-DSA'`, `'NODE-DH'`, `'NODE-SCRYPT'`, `'NODE-ED25519'`, `'NODE-ED448'`, `'NODE-X25519'`, and `'NODE-X448'` algorithms were removed. * The proprietary `'node.keyObject'` import/export format was removed. Contributed by Filip Skokan. https://github.com/nodejs/node/pull/42507 https://github.com/nodejs/node/pull/43310 Updated Corepack to 0.12.1 - https://github.com/nodejs/node/pull/43965 Updated ICU to 71.1 - https://github.com/nodejs/node/pull/42655 Updated npm to 8.15.0 - https://github.com/nodejs/node/pull/43917 Updated Undici to 5.8.0 - https://github.com/nodejs/node/pull/43886 (SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) https://github.com/nodejs/node/pull/42427 (SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) https://github.com/nodejs/node/pull/42816 (SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) https://github.com/nodejs/node/pull/43176 doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) https://github.com/nodejs/node/pull/43738 (SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) https://github.com/nodejs/node/pull/42714 (SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) https://github.com/nodejs/node/pull/43885 (SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) https://github.com/nodejs/node/pull/43514 (SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) https://github.com/nodejs/node/pull/42601 (SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) https://github.com/nodejs/node/pull/42768 (SEMVER-MINOR) http: add drop request event for http server (theanarkh) https://github.com/nodejs/node/pull/43806 (SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) https://github.com/nodejs/node/pull/43580 (SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) https://github.com/nodejs/node/pull/43361 (SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) https://github.com/nodejs/node/pull/41397 (SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) http2: compat support for array headers (OneNail) https://github.com/nodejs/node/pull/42901 (SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) https://github.com/nodejs/node/pull/40951 (SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) https://github.com/nodejs/node/pull/42714 (SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) https://github.com/nodejs/node/pull/43396 (SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) https://github.com/nodejs/node/pull/42325 (SEMVER-MINOR) net: add drop event for net server (theanarkh) https://github.com/nodejs/node/pull/43582 (SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) https://github.com/nodejs/node/pull/43112 (SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) https://github.com/nodejs/node/pull/36510 (SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) https://github.com/nodejs/node/pull/42725 (SEMVER-MINOR) report: add more heap infos in process report (theanarkh) https://github.com/nodejs/node/pull/43116 (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) https://github.com/nodejs/node/pull/40478 (SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) https://github.com/nodejs/node/pull/42757 (SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) https://github.com/nodejs/node/pull/43124 (SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) https://github.com/nodejs/node/pull/41849 (SEMVER-MINOR) stream: add writableAborted (Robert Nagy) https://github.com/nodejs/node/pull/40802 (SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) https://github.com/nodejs/node/pull/41008 (SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) https://github.com/nodejs/node/pull/43329 (SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) https://github.com/nodejs/node/pull/42784 (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) https://github.com/nodejs/node/pull/42849 PR-URL: https://github.com/nodejs/node/pull/44098
2022-08-02 12:34:18 +00:00
<a href="doc/changelogs/CHANGELOG_V16.md#16.16.0">16.16.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.15.1">16.15.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.15.0">16.15.0</a><br/>
2022-04-26, Version 16.15.0 'Gallium' (LTS) Notable changes: Add fetch API Adds experimental support to the fetch API. This adds the `--experimental-fetch` flag that installs the `fetch`, `Request`, `Response`, `Headers`, and `FormData` globals. * (SEMVER-MINOR) add fetch (Michaël Zasso) https://github.com/nodejs/node/pull/41749 * (SEMVER-MINOR) add FormData global when fetch is enabled (Michaël Zasso) https://github.com/nodejs/node/pull/41956 Other notable changes * build: * remove broken x32 arch support (Ben Noordhuis) https://github.com/nodejs/node/pull/41905 * crypto: * (SEMVER-MINOR) add KeyObject.prototype.equals method (Filip Skokan) https://github.com/nodejs/node/pull/42093 * doc: * add @ShogunPanda to collaborators (Paolo Insogna) https://github.com/nodejs/node/pull/42362 * add JakobJingleheimer to collaborators list (Jacob Smith) https://github.com/nodejs/node/pull/42185 * add joesepi to collaborators (Joe Sepi) https://github.com/nodejs/node/pull/41914 * add marsonya to collaborators (Akhil Marsonya) https://github.com/nodejs/node/pull/41991 * deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia Medeiros) https://github.com/nodejs/node/pull/42149 * deprecate notice for process methods (Yash Ladha) https://github.com/nodejs/node/pull/41587 * esm: * (SEMVER-MINOR) support https remotely and http locally under flag (Bradley Farias) https://github.com/nodejs/node/pull/36328 * module: * (SEMVER-MINOR) unflag esm json modules (Geoffrey Booth) https://github.com/nodejs/node/pull/41736 * node-api: * (SEMVER-MINOR) add node_api_symbol_for() (Darshan Sen) https://github.com/nodejs/node/pull/41329 * process: * deprecate multipleResolves (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41872 * stream: * (SEMVER-MINOR) support some and every (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41573 * (SEMVER-MINOR) add toArray (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41553 * (SEMVER-MINOR) add forEach method (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41445 PR-URL: https://github.com/nodejs/node/pull/42847
2022-04-24 01:03:46 +00:00
<a href="doc/changelogs/CHANGELOG_V16.md#16.14.2">16.14.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.14.1">16.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.14.0">16.14.0</a><br/>
2022-02-08, Version 16.14.0 'Gallium' (LTS) Notable changes: Importing JSON modules now requires experimental import assertions syntax This release adds experimental support for the import assertions stage 3 proposal. To keep Node.js ESM implementation as compatible as possible with the HTML spec, import assertions are now required to import JSON modules (still behind the `--experimental-json-modules` CLI flag): ```mjs import info from './package.json' assert { type: 'json' }; ``` Or use dynamic import: ```mjs const info = await import('./package.json', { assert: { type: 'json' } }); ``` Contributed by Antoine du Hamel and Geoffrey Booth https://github.com/nodejs/node/pull/40250 Other notable changes: * async_hooks: * (SEMVER-MINOR) expose async_wrap providers (Rafael Gonzaga) https://github.com/nodejs/node/pull/40760 * child_process: * (SEMVER-MINOR) add support for URL to `cp.fork` (Antoine du Hamel) https://github.com/nodejs/node/pull/41225 * doc: * add @Mesteery to collaborators (Mestery) https://github.com/nodejs/node/pull/41543 * add @bnb as a collaborator (Tierney Cyren) https://github.com/nodejs/node/pull/41100 * esm: * (SEMVER-MINOR) graduate capturerejections to supported (James M Snell) https://github.com/nodejs/node/pull/41267 * (SEMVER-MINOR) add EventEmitterAsyncResource to core (James M Snell) https://github.com/nodejs/node/pull/41246 * events: * (SEMVER-MINOR) propagate weak option for kNewListener (James M Snell) https://github.com/nodejs/node/pull/40899 * fs: * (SEMVER-MINOR) accept URL as argument for `fs.rm` and `fs.rmSync` (Antoine du Hamel) https://github.com/nodejs/node/pull/41132 * lib: * (SEMVER-MINOR) make AbortSignal cloneable/transferable (James M Snell) https://github.com/nodejs/node/pull/41050 * (SEMVER-MINOR) add AbortSignal.timeout (James M Snell) https://github.com/nodejs/node/pull/40899 * (SEMVER-MINOR) add reason to AbortSignal (James M Snell) https://github.com/nodejs/node/pull/40807 * (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) https://github.com/nodejs/node/pull/40433 * (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) https://github.com/nodejs/node/pull/40433 * loader: * (SEMVER-MINOR) return package format from defaultResolve if known (Gabriel Bota) https://github.com/nodejs/node/pull/40980 * perf_hooks: * (SEMVER-MINOR) multiple fixes for Histogram (James M Snell) https://github.com/nodejs/node/pull/41153 * process: * (SEMVER-MINOR) add `getActiveResourcesInfo()` (Darshan Sen) https://github.com/nodejs/node/pull/40813 * src: * (SEMVER-MINOR) add x509.fingerprint512 to crypto module (3nprob) https://github.com/nodejs/node/pull/39809 * (SEMVER-MINOR) add flags for controlling process behavior (Cheng Zhao) https://github.com/nodejs/node/pull/40339 * stream: * (SEMVER-MINOR) add filter method to readable (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41354 * (SEMVER-MINOR) add isReadable helper (Robert Nagy) https://github.com/nodejs/node/pull/41199 * (SEMVER-MINOR) add map method to Readable (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/40815 * deprecate thenable support (Antoine du Hamel) https://github.com/nodejs/node/pull/40860 * util: * (SEMVER-MINOR) pass through the inspect function to custom inspect functions (Ruben Bridgewater) https://github.com/nodejs/node/pull/41019 * (SEMVER-MINOR) add numericSeparator to util.inspect (Ruben Bridgewater) https://github.com/nodejs/node/pull/41003 * (SEMVER-MINOR) always visualize cause property in errors during inspection (Ruben Bridgewater) https://github.com/nodejs/node/pull/41002 * timers: * (SEMVER-MINOR) add experimental scheduler api (James M Snell) https://github.com/nodejs/node/pull/40909 * v8: * (SEMVER-MINOR) multi-tenant promise hook api (Stephen Belanger) https://github.com/nodejs/node/pull/39283 PR-URL: https://github.com/nodejs/node/pull/41804
2022-02-01 05:34:51 +00:00
<a href="doc/changelogs/CHANGELOG_V16.md#16.13.2">16.13.2</a><br/>
2022-01-10, Version 16.13.2 'Gallium' (LTS) This is a security release. Notable changes: Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) - Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly. - Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531 Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) - Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints. - Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532 Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) - Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification. - Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44533 Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) - Due to the formatting logic of the `console.table()` function it was not safe to allow user controlled input to be passed to the `properties` parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be `__proto__`. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype. - Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21824 PR-URL: https://github.com/nodejs-private/node-private/pull/312
2022-01-10 14:34:34 +00:00
<a href="doc/changelogs/CHANGELOG_V16.md#16.13.1">16.13.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.13.0">16.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.12.0">16.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.11.1">16.11.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.11.0">16.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.10.0">16.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.9.1">16.9.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.9.0">16.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.8.0">16.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.7.0">16.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.6.2">16.6.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.6.1">16.6.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.6.0">16.6.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.5.0">16.5.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.4.2">16.4.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.4.1">16.4.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.4.0">16.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.3.0">16.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.2.0">16.2.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.1.0">16.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V16.md#16.0.0">16.0.0</a><br/>
2021-04-20, Version 16.0.0 (Current) Notable changes: Deprecations and Removals: - **(SEMVER-MAJOR)** **fs**: remove permissive rmdir recursive (Antoine du Hamel) [https://github.com/nodejs/node/pull/37216] - **(SEMVER-MAJOR)** **fs**: runtime deprecate rmdir recursive option (Antoine du Hamel) [https://github.com/nodejs/node/pull/37302] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('http_parser') (James M Snell) [https://github.com/nodejs/node/pull/37813] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('url') (James M Snell) [https://github.com/nodejs/node/pull/37799] - **(SEMVER-MAJOR)** **lib**: make process.binding('util') return only type checkers (Anna Henningsen) [https://github.com/nodejs/node/pull/37819] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('crypto') (James M Snell) [https://github.com/nodejs/node/pull/37790] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('signal_wrap') (James M Snell) [https://github.com/nodejs/node/pull/37800] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('v8') (James M Snell) [https://github.com/nodejs/node/pull/37789] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('async_wrap') (James M Snell) [https://github.com/nodejs/node/pull/37576] - **(SEMVER-MAJOR)** **module**: remove module.createRequireFromPath (Antoine du Hamel) [https://github.com/nodejs/node/pull/37201] - **(SEMVER-MAJOR)** **module**: runtime deprecate subpath folder mappings (Antoine du Hamel) [https://github.com/nodejs/node/pull/37215] - **(SEMVER-MAJOR)** **module**: runtime deprecate "main" index and extension lookups (Antoine du Hamel) [https://github.com/nodejs/node/pull/37206] - **(SEMVER-MAJOR)** **module**: runtime deprecate invalid package.json main entries (Antoine du Hamel) [https://github.com/nodejs/node/pull/37204] - **(SEMVER-MAJOR)** **process**: runtime deprecate changing process.config (James M Snell) [https://github.com/nodejs/node/pull/36902] Stable Timers Promises API: The Timers Promises API provides an alternative set of timer functions that return Promise objects. Added in Node.js v15.0.0, in this release they graduate from experimental status to stable. Contributed by James Snell - [https://github.com/nodejs/node/pull/38112] Toolchain and Compiler Upgrades: Node.js v16.0.0 will be the first release where we ship prebuilt binaries for Apple Silicon. While we’ll be providing separate tarballs for the Intel (`darwin-x64`) and ARM (`darwin-arm64`) architectures the macOS installer (`.pkg`) will be shipped as a ‘fat’ (multi-architecture) binary. - **(SEMVER-MAJOR)** **build**: remove support for Python 2 (Christian Clauss) [https://github.com/nodejs/node/pull/36691] - **(SEMVER-MAJOR)** **build**: default PYTHON to python3 in Makefile (Michaël Zasso) [https://github.com/nodejs/node/pull/37764] - **build**: update Makefile to support fat binary (Ash Cripps) [https://github.com/nodejs/node/pull/37861] - **(SEMVER-MAJOR)** **build**: enable ASLR (PIE) on OS X (woodfairy) [https://github.com/nodejs/node/pull/35704] - **build**: warn for gcc versions earlier than 8.3.0 (Richard Lau) [https://github.com/nodejs/node/pull/37935] - **(SEMVER-MAJOR)** **doc**: update minimum supported Xcode to 11 (Michaël Zasso) [https://github.com/nodejs/node/pull/37872] - **(SEMVER-MAJOR)** **doc**: update minimum supported GCC to 8.3 (Michaël Zasso) [https://github.com/nodejs/node/pull/37871] - **(SEMVER-MAJOR)** **doc**: update AIX to GCC8 for v16.x (Ash Cripps) [https://github.com/nodejs/node/pull/37677] - **tools**: set arch in Distribution.xml (Ash Cripps) [https://github.com/nodejs/node/pull/38261] V8 9.0: The V8 JavaScript engine is updated to V8 9.0, including performance tweaks and improvements. This update also brings the ECMAScript RegExp Match Indices, which provide the start and end indices of the captured string. The indices array is available via the `.indices` property on match objects when the regular expression has the `/d` flag. Contributed by Michaël Zasso - [https://github.com/nodejs/node/pull/37587] Other Notable Changes: - **(SEMVER-MINOR)** **assert**: graduate assert.match and assert.doesNotMatch (James M Snell) [https://github.com/nodejs/node/pull/38111] - **(SEMVER-MAJOR)** **buffer**: expose btoa and atob as globals (James M Snell) [https://github.com/nodejs/node/pull/37786] - **(SEMVER-MAJOR)** **deps**: bump minimum ICU version to 68 (Michaël Zasso) [https://github.com/nodejs/node/pull/37330] - **deps**: update ICU to 69.1 (Michaël Zasso) [https://github.com/nodejs/node/pull/38178] - **deps**: update llhttp to 6.0.0 (Fedor Indutny) [https://github.com/nodejs/node/pull/38277] - **deps**: upgrade npm to 7.10.0 (Ruy Adorno) [https://github.com/nodejs/node/pull/38254] - **(SEMVER-MINOR)** **http**: add http.ClientRequest.getRawHeaderNames() (simov) [https://github.com/nodejs/node/pull/37660] - **(SEMVER-MAJOR)** **lib,src**: update cluster to use Parent (Michael Dawson) [https://github.com/nodejs/node/pull/36478] - **(SEMVER-MINOR)** **module**: add support for `node:`‑prefixed `require(…)` calls (ExE Boss) [https://github.com/nodejs/node/pull/37246] - **(SEMVER-MINOR)** **perf_hooks**: add histogram option to timerify (James M Snell) [https://github.com/nodejs/node/pull/37475] - **(SEMVER-MINOR)** **repl**: add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) [https://github.com/nodejs/node/pull/37246] - **(SEMVER-MINOR)** **util**: add getSystemErrorMap() impl (eladkeyshawn) [https://github.com/nodejs/node/pull/38101] Semver-Major Commits: - **(SEMVER-MAJOR)** **async_hooks**: add thisArg to AsyncResource.bind (James M Snell) [https://github.com/nodejs/node/pull/36782] - **(SEMVER-MAJOR)** **buffer**: expose btoa and atob as globals (James M Snell) [https://github.com/nodejs/node/pull/37786] - **(SEMVER-MAJOR)** **build**: remove support for Python 2 (Christian Clauss) [https://github.com/nodejs/node/pull/36691] - **(SEMVER-MAJOR)** **build**: default PYTHON to python3 in Makefile (Michaël Zasso) [https://github.com/nodejs/node/pull/37764] - **(SEMVER-MAJOR)** **build**: update Makefile to support fat binary (Ash Cripps) [https://github.com/nodejs/node/pull/37861] - **(SEMVER-MAJOR)** **build**: include minimal V8 headers in distribution (Michaël Zasso) [https://github.com/nodejs/node/pull/37570] - **(SEMVER-MAJOR)** **build**: use C++11 ABI with libstdc++ (Anna Henningsen) [https://github.com/nodejs/node/pull/36634] - **(SEMVER-MAJOR)** **build**: enable ASLR (PIE) on OS X (woodfairy) [https://github.com/nodejs/node/pull/35704] - **(SEMVER-MAJOR)** **deps**: update V8 to 9.0.257.11 (Michaël Zasso) [https://github.com/nodejs/node/pull/37587] - **(SEMVER-MAJOR)** **deps**: bump minimum ICU version to 68 (Michaël Zasso) [https://github.com/nodejs/node/pull/37330] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.9.255.19 (Michaël Zasso) [https://github.com/nodejs/node/pull/37330] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.8.278.17 (Michaël Zasso) [https://github.com/nodejs/node/pull/36139] - **(SEMVER-MAJOR)** **deps**: update V8 to 8.7.220 (Michaël Zasso) [https://github.com/nodejs/node/pull/35700] - **(SEMVER-MAJOR)** **dns**: use url module instead of punycode for IDNA (Antoine du Hamel) [https://github.com/nodejs/node/pull/35091] - **(SEMVER-MAJOR)** **doc**: update minimum supported Xcode to 11 (Michaël Zasso) [https://github.com/nodejs/node/pull/37872] - **(SEMVER-MAJOR)** **doc**: update minimum supported GCC to 8.3 (Michaël Zasso) [https://github.com/nodejs/node/pull/37871] - **(SEMVER-MAJOR)** **doc**: update AIX to GCC8 for v16.x (Ash Cripps) [https://github.com/nodejs/node/pull/37677] - **(SEMVER-MAJOR)** **doc**: add http.IncomingMessage#connection (Pranshu Srivastava) [https://github.com/nodejs/node/pull/33768] - **(SEMVER-MAJOR)** **events**: change EventTarget handler exception behavior (Nitzan Uziely) [https://github.com/nodejs/node/pull/37237] - **(SEMVER-MAJOR)** **fs**: remove permissive rmdir recursive (Antoine du Hamel) [https://github.com/nodejs/node/pull/37216] - **(SEMVER-MAJOR)** **fs**: add validation for fd and path (Dylan Elliott) [https://github.com/nodejs/node/pull/35187] - **(SEMVER-MAJOR)** **fs**: runtime deprecate rmdir recursive option (Antoine du Hamel) [https://github.com/nodejs/node/pull/37302] - **(SEMVER-MAJOR)** **fs**: fix flag and mode validation (James M Snell) [https://github.com/nodejs/node/pull/37480] - **(SEMVER-MAJOR)** **http**: use objects with null prototype in Agent (Michaël Zasso) [https://github.com/nodejs/node/pull/36409] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('http_parser') (James M Snell) [https://github.com/nodejs/node/pull/37813] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('url') (James M Snell) [https://github.com/nodejs/node/pull/37799] - **(SEMVER-MAJOR)** **lib**: make process.binding('util') return only type checkers (Anna Henningsen) [https://github.com/nodejs/node/pull/37819] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('crypto') (James M Snell) [https://github.com/nodejs/node/pull/37790] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('signal_wrap') (James M Snell) [https://github.com/nodejs/node/pull/37800] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('v8') (James M Snell) [https://github.com/nodejs/node/pull/37789] - **(SEMVER-MAJOR)** **lib**: aggregate errors to avoid error swallowing (Antoine du Hamel) [https://github.com/nodejs/node/pull/37460] - **(SEMVER-MAJOR)** **lib**: runtime deprecate access to process.binding('async_wrap') (James M Snell) [https://github.com/nodejs/node/pull/37576] - **(SEMVER-MAJOR)** **lib**: remove usage of url.parse (raisinten) [https://github.com/nodejs/node/pull/36853] - **(SEMVER-MAJOR)** **lib**: add error handling for input stream (rexagod) [https://github.com/nodejs/node/pull/31603] - **(SEMVER-MAJOR)** **lib,src**: update cluster to use Parent (Michael Dawson) [https://github.com/nodejs/node/pull/36478] - **(SEMVER-MAJOR)** **module**: runtime deprecate subpath folder mappings (Antoine du Hamel) [https://github.com/nodejs/node/pull/37215] - **(SEMVER-MAJOR)** **module**: runtime deprecate "main" index and extension lookups (Antoine du Hamel) [https://github.com/nodejs/node/pull/37206] - **(SEMVER-MAJOR)** **module**: runtime deprecate invalid package.json main entries (Antoine du Hamel) [https://github.com/nodejs/node/pull/37204] - **(SEMVER-MAJOR)** **module**: remove module.createRequireFromPath (Antoine du Hamel) [https://github.com/nodejs/node/pull/37201] - **(SEMVER-MAJOR)** **module**: only set cache when finding module succeeds (Yongsheng Zhang) [https://github.com/nodejs/node/pull/36642] - **(SEMVER-MAJOR)** **perf_hooks**: make performance a global (James M Snell) [https://github.com/nodejs/node/pull/37970] - **(SEMVER-MAJOR)** **perf_hooks**: complete overhaul of the implementation (James M Snell) [https://github.com/nodejs/node/pull/37136] - **(SEMVER-MAJOR)** **process**: disallow adding options to process.allowedNodeEnvironmentFlags (Antoine du Hamel) [https://github.com/nodejs/node/pull/36660] - **(SEMVER-MAJOR)** **process**: runtime deprecate changing process.config (James M Snell) [https://github.com/nodejs/node/pull/36902] - **(SEMVER-MAJOR)** **readline**: cursorTo throw error on NaN (Zijian Liu) [https://github.com/nodejs/node/pull/36379] - **(SEMVER-MAJOR)** **src**: mark internally exported functions as explicitly internal (Tyler Ang-Wanek) [https://github.com/nodejs/node/pull/37000] - **(SEMVER-MAJOR)** **src**: inline AsyncCleanupHookHandle in headers (Tyler Ang-Wanek) [https://github.com/nodejs/node/pull/37000] - **(SEMVER-MAJOR)** **src**: clean up embedder API (Anna Henningsen) [https://github.com/nodejs/node/pull/35897] - **(SEMVER-MAJOR)** **worker**: send correct error status for worker init (Yash Ladha) [https://github.com/nodejs/node/pull/36242] PR-URL: https://github.com/nodejs/node/pull/37678
2021-03-03 15:36:13 +00:00
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V14.md#14.20.1">14.20.1</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.20.0">14.20.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.19.3">14.19.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.19.2">14.19.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.19.1">14.19.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.19.0">14.19.0</a><br/>
2022-02-01, Version 14.19.0 'Fermium' (LTS) Notable changes: Corepack: Node.js now includes Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development. In practical terms, Corepack will let you use Yarn and pnpm without having to install them - just like what currently happens with npm, which is shipped in Node.js by default. Contributed by Maël Nison - https://github.com/nodejs/node/pull/39608 ICU updated: ICU has been updated to 70.1. This updates timezone database to 2021a3, including bringing forward the start for DST for Jordan from March to February. Contributed by Michaël Zasso - https://github.com/nodejs/node/pull/40658 New option to disable loading of native addons: A new command line option `--no-addons` has been added to disallow loading of native addons. Contributed by Dominic Elm - https://github.com/nodejs/node/pull/39977 Updated Root Certificates: Root certificates have been updated to those from Mozilla's Network Security Services 3.71. Contributed by Richard Lau - https://github.com/nodejs/node/pull/40280 Other Notable Changes: crypto: * (SEMVER-MINOR) make FIPS related options always available (Vít Ondruch) https://github.com/nodejs/node/pull/36341 lib: * (SEMVER-MINOR) add unsubscribe method to non-active DC channels (simon-id) https://github.com/nodejs/node/pull/40433 * (SEMVER-MINOR) add return value for DC channel.unsubscribe (simon-id) https://github.com/nodejs/node/pull/40433 module: * (SEMVER-MINOR) support pattern trailers (Guy Bedford) https://github.com/nodejs/node/pull/39635 src: * (SEMVER-MINOR) make napi_create_reference accept symbol (JckXia) https://github.com/nodejs/node/pull/39926 PR-URL: https://github.com/nodejs/node/pull/41696
2022-01-25 18:22:09 +00:00
<a href="doc/changelogs/CHANGELOG_V14.md#14.18.3">14.18.3</a><br/>
2022-01-10, Version 14.18.3 'Fermium' (LTS) This is a security release. Notable changes: Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) - Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly. - Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531 Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) - Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints. - Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532 Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) - Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification. - Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44533 Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) - Due to the formatting logic of the `console.table()` function it was not safe to allow user controlled input to be passed to the `properties` parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be `__proto__`. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype. - Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21824 PR-URL: https://github.com/nodejs-private/node-private/pull/310
2022-01-07 14:55:47 +00:00
<a href="doc/changelogs/CHANGELOG_V14.md#14.18.2">14.18.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.18.1">14.18.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.18.0">14.18.0</a><br/>
2021-09-28, Version 14.18.0 'Fermium' (LTS) Notable changes: assert: * change status of legacy asserts (James M Snell) https://github.com/nodejs/node/pull/38113 buffer: * (SEMVER-MINOR) introduce Blob (James M Snell) https://github.com/nodejs/node/pull/36811 * (SEMVER-MINOR) add base64url encoding option (Filip Skokan) https://github.com/nodejs/node/pull/36952 child_process: * (SEMVER-MINOR) allow `options.cwd` receive a URL (Khaidi Chu) https://github.com/nodejs/node/pull/38862 * (SEMVER-MINOR) add timeout to spawn and fork (Nitzan Uziely) https://github.com/nodejs/node/pull/37256 * (SEMVER-MINOR) allow promisified exec to be cancel (Carlos Fuentes) https://github.com/nodejs/node/pull/34249 * (SEMVER-MINOR) add 'overlapped' stdio flag (Thiago Padilha) https://github.com/nodejs/node/pull/29412 cli: * (SEMVER-MINOR) add -C alias for --conditions flag (Guy Bedford) https://github.com/nodejs/node/pull/38755 * (SEMVER-MINOR) add --node-memory-debug option (Anna Henningsen) https://github.com/nodejs/node/pull/35537 dns: * (SEMVER-MINOR) add "tries" option to Resolve options (Luan Devecchi) https://github.com/nodejs/node/pull/39610 * (SEMVER-MINOR) allow `--dns-result-order` to change default dns verbatim (Ouyang Yadong) https://github.com/nodejs/node/pull/38099 doc: * (SEMVER-MINOR) add missing change to resolver ctor (Luan Devecchi) https://github.com/nodejs/node/pull/39610 * refactor fs docs structure (James M Snell) https://github.com/nodejs/node/pull/37170 errors: * (SEMVER-MINOR) remove experimental from --enable-source-maps (Benjamin Coe) https://github.com/nodejs/node/pull/37362 esm: * deprecate legacy main lookup for modules (Guy Bedford) https://github.com/nodejs/node/pull/36918 fs: * (SEMVER-MINOR) allow empty string for temp directory prefix (Voltrex) https://github.com/nodejs/node/pull/39028 * (SEMVER-MINOR) allow no-params fsPromises fileHandle read (Nitzan Uziely) https://github.com/nodejs/node/pull/38287 * (SEMVER-MINOR) add support for async iterators to `fsPromises.writeFile` (HiroyukiYagihashi) https://github.com/nodejs/node/pull/37490 * improve fsPromises readFile performance (Nitzan Uziely) https://github.com/nodejs/node/pull/37608 * (SEMVER-MINOR) add fsPromises.watch() (James M Snell) https://github.com/nodejs/node/pull/37179 * (SEMVER-MINOR) allow `position` parameter to be a `BigInt` in read and readSync (Darshan Sen) https://github.com/nodejs/node/pull/36190 http2: * (SEMVER-MINOR) add support for sensitive headers (Anna Henningsen) https://github.com/nodejs/node/pull/34145 * (SEMVER-MINOR) allow setting the local window size of a session (Yongsheng Zhang) https://github.com/nodejs/node/pull/35978 inspector: * mark as stable (Gireesh Punathil) https://github.com/nodejs/node/pull/37748 module: * (SEMVER-MINOR) add support for `URL` to `import.meta.resolve` (Antoine du Hamel) https://github.com/nodejs/node/pull/38587 * (SEMVER-MINOR) add support for `node:`‑prefixed `require(…)` calls (ExE Boss) https://github.com/nodejs/node/pull/37246 net: * (SEMVER-MINOR) introduce net.BlockList (James M Snell) https://github.com/nodejs/node/pull/34625 node-api: * (SEMVER-MINOR) allow retrieval of add-on file name (Gabriel Schulhof) https://github.com/nodejs/node/pull/37195 os: * (SEMVER-MINOR) add os.devNull (Luigi Pinca) https://github.com/nodejs/node/pull/38569 perf_hooks: * (SEMVER-MINOR) introduce createHistogram (James M Snell) https://github.com/nodejs/node/pull/37155 process: * (SEMVER-MINOR) add api to enable source-maps programmatically (legendecas) https://github.com/nodejs/node/pull/39085 * (SEMVER-MINOR) add `'worker'` event (James M Snell) https://github.com/nodejs/node/pull/38659 * (SEMVER-MINOR) add direct access to rss without iterating pages (Adrien Maret) https://github.com/nodejs/node/pull/34291 readline: * (SEMVER-MINOR) add AbortSignal support to interface (Nitzan Uziely) https://github.com/nodejs/node/pull/37932 * (SEMVER-MINOR) add support for the AbortController to the question method (Mattias Runge-Broberg) https://github.com/nodejs/node/pull/33676 * (SEMVER-MINOR) add history event and option to set initial history (Mattias Runge-Broberg) https://github.com/nodejs/node/pull/33662 repl: * (SEMVER-MINOR) add auto‑completion for `node:`‑prefixed `require(…)` calls (ExE Boss) https://github.com/nodejs/node/pull/37246 src: * (SEMVER-MINOR) call overload ctor from the original ctor (Darshan Sen) https://github.com/nodejs/node/pull/39768 * (SEMVER-MINOR) add a constructor overload for CallbackScope (Darshan Sen) https://github.com/nodejs/node/pull/39768 * (SEMVER-MINOR) allow to negate boolean CLI flags (Michaël Zasso) https://github.com/nodejs/node/pull/39023 * (SEMVER-MINOR) add --heapsnapshot-near-heap-limit option (Joyee Cheung) https://github.com/nodejs/node/pull/33010 * (SEMVER-MINOR) add way to get IsolateData and allocator from Environment (Anna Henningsen) https://github.com/nodejs/node/pull/36441 * (SEMVER-MINOR) allow preventing SetPrepareStackTraceCallback (Shelley Vohr) https://github.com/nodejs/node/pull/36447 * (SEMVER-MINOR) add maybe versions of EmitExit and EmitBeforeExit (Anna Henningsen) https://github.com/nodejs/node/pull/35486 stream: * (SEMVER-MINOR) add readableDidRead if has been read from (Robert Nagy) https://github.com/nodejs/node/pull/39589 * (SEMVER-MINOR) pipeline accept Buffer as a valid first argument (Nitzan Uziely) https://github.com/nodejs/node/pull/37739 tls: * (SEMVER-MINOR) allow reading data into a static buffer (Andrey Pechkurov) https://github.com/nodejs/node/pull/35753 tools: * (SEMVER-MINOR) add `Worker` to type-parser (James M Snell) https://github.com/nodejs/node/pull/38659 url: * (SEMVER-MINOR) expose urlToHttpOptions utility (Yongsheng Zhang) https://github.com/nodejs/node/pull/35960 util: * (SEMVER-MINOR) expose toUSVString (Robert Nagy) https://github.com/nodejs/node/pull/39814 v8: * (SEMVER-MINOR) implement v8.stopCoverage() (Joyee Cheung) https://github.com/nodejs/node/pull/33807 * (SEMVER-MINOR) implement v8.takeCoverage() (Joyee Cheung) https://github.com/nodejs/node/pull/33807 worker: * (SEMVER-MINOR) add setEnvironmentData/getEnvironmentData (James M Snell) https://github.com/nodejs/node/pull/37486 PR-URL: https://github.com/nodejs/node/pull/39990
2021-09-04 13:29:35 +00:00
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.6">14.17.6</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.5">14.17.5</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.4">14.17.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.3">14.17.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.2">14.17.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.1">14.17.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.17.0">14.17.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.16.1">14.16.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.16.0">14.16.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.15.5">14.15.5</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.15.4">14.15.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.15.3">14.15.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.15.2">14.15.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.15.1">14.15.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.15.0">14.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.14.0">14.14.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.13.1">14.13.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.13.0">14.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.12.0">14.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.11.0">14.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.10.1">14.10.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.10.0">14.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.9.0">14.9.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.8.0">14.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.7.0">14.7.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.6.0">14.6.0</a><br/>
2020-07-21, Version 14.6.0 (Current) Notable changes: deps: * upgrade npm to 6.14.6 (claudiahdz) https://github.com/nodejs/node/pull/34246 * upgrade to libuv 1.38.1 (Colin Ihrig) https://github.com/nodejs/node/pull/34187 * (SEMVER-MINOR) update V8 to 8.4.371.19 (Michaël Zasso) [#33579](https://github.com/nodejs/node/pull/33579) module: * (SEMVER-MINOR) deprecate module.parent (Antoine du HAMEL) https://github.com/nodejs/node/pull/32217 * (SEMVER-MINOR) package "imports" field (Guy Bedford) https://github.com/nodejs/node/pull/34117 src: * (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) https://github.com/nodejs/node/pull/34303 * (SEMVER-MINOR) allow embedders to disable esm loader (Shelley Vohr) https://github.com/nodejs/node/pull/34060 tls: * (SEMVER-MINOR) make 'createSecureContext' honor more options (Mateusz Krawczuk) https://github.com/nodejs/node/pull/33974 vm: * (SEMVER-MINOR) add run-after-evaluate microtask mode (Anna Henningsen) https://github.com/nodejs/node/pull/34023 worker: * (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) https://github.com/nodejs/node/pull/34303 New Collaborators: * add danielleadams to collaborators (Danielle Adams) https://github.com/nodejs/node/pull/34360 * add sxa as collaborator (Stewart X Addison) https://github.com/nodejs/node/pull/34338 * add ruyadorno to collaborators (Ruy Adorno) https://github.com/nodejs/node/pull/34297 PR-URL: https://github.com/nodejs/node/pull/34371
2020-07-15 18:11:29 +00:00
<a href="doc/changelogs/CHANGELOG_V14.md#14.5.0">14.5.0</a><br/>
2020-06-30, Version 14.5.0 (Current) Notable changes: build: * (SEMVER-MINOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/33376 cli: * (SEMVER-MINOR) add alias for report-directory to make it consistent (AshCripps) https://github.com/nodejs/node/pull/33587 crypto: * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) https://github.com/nodejs/node/pull/33360 deps: * (SEMVER-MINOR) V8: cherry-pick 0d6debcc5f08 (Michaël Zasso) https://github.com/nodejs/node/pull/33376 * (SEMVER-MINOR) update V8 to 8.3.110.9 (Michaël Zasso) https://github.com/nodejs/node/pull/33376 dgram: * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) https://github.com/nodejs/node/pull/22413 events: * (SEMVER-MINOR) initial implementation of experimental EventTarget (James M Snell) https://github.com/nodejs/node/pull/33556 fs: * (SEMVER-MINOR) implement lutimes (Maël Nison) https://github.com/nodejs/node/pull/33399 http: * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) https://github.com/nodejs/node/pull/33803 * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) https://github.com/nodejs/node/pull/33617 * (SEMVER-MINOR) return this from OutgoingMessage#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) return this from ClientRequest#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) added scheduling option to http agent (delvedor) https://github.com/nodejs/node/pull/33278 http2: * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) https://github.com/nodejs/node/pull/33994 * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) https://github.com/nodejs/node/pull/33160 process: * (SEMVER-MINOR) add unhandled-rejection throw and warn-with-error-code (Dan Fabulich) https://github.com/nodejs/node/pull/33475 src: * (SEMVER-MINOR) store key data in separate class (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) add NativeKeyObject base class (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) rename internal key handles to KeyObjectHandle (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) add equality operators for BaseObjectPtr (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) introduce BaseObject base FunctionTemplate (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) add public APIs to manage v8::TracingController (Anna Henningsen) https://github.com/nodejs/node/pull/33850 stream*: * runtime deprecate Transform._transformState (Robert Nagy) https://github.com/nodejs/node/pull/32763 win: * (SEMVER-MINOR) allow skipping the supported platform check (João Reis) https://github.com/nodejs/node/pull/33176 worker: * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) https://github.com/nodejs/node/pull/33979 * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) https://github.com/nodejs/node/pull/33772 worker,fs: * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) https://github.com/nodejs/node/pull/33772 zlib: * (SEMVER-MINOR) add `maxOutputLength` option (unknown) https://github.com/nodejs/node/pull/33516 PR-URL: https://github.com/nodejs/node/pull/34093
2020-06-28 03:26:32 +00:00
<a href="doc/changelogs/CHANGELOG_V14.md#14.4.0">14.4.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.3.0">14.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.2.0">14.2.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.1.0">14.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V14.md#14.0.0">14.0.0</a><br/>
2020-04-21, Version 14.0.0 (Current) Deprecations: - (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) [#31166](https://github.com/nodejs/node/pull/31166) - (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) [#28396](https://github.com/nodejs/node/pull/28396) - (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) [#31164](https://github.com/nodejs/node/pull/31164) - (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) [#31167](https://github.com/nodejs/node/pull/31167) - (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell)[#31169](https://github.com/nodejs/node/pull/31169) - (SEMVER-MAJOR) src: remove deprecated wasm type check (Clemens Backes) [#32116](https://github.com/nodejs/node/pull/32116) - (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL (James M Snell) [#31165](https://github.com/nodejs/node/pull/31165) - (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) [#32232](https://github.com/nodejs/node/pull/32232) - (SEMVER-MINOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) [#32499](https://github.com/nodejs/node/pull/32499) ECMAScript Modules - Experimental Warning Removal: - module: remove experimental modules warning (Guy Bedford) [#31974](https://github.com/nodejs/node/pull/31974) In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental. As of Node.js 14 there is no longer this warning when using ESM in Node.js. However, the ESM implementation in Node.js remains experimental. As per our stability index: “The feature is not subject to Semantic Versioning rules. Non-backward compatible changes or removal may occur in any future release.” Users should be cautious when using the feature in production environments. Please keep in mind that the implementation of ESM in Node.js differs from the developer experience you might be familiar with. Most transpilation workflows support features such as optional file extensions or JSON modules that the Node.js ESM implementation does not support. It is highly likely that modules from transpiled environments will require a certain degree of refactoring to work in Node.js. It is worth mentioning that many of our design decisions were made with two primary goals. Spec compliance and Web Compatibility. It is our belief that the current implementation offers a future proof model to authoring ESM modules that paves the path to Universal JavaScript. Please read more in our documentation. The ESM implementation in Node.js is still experimental but we do believe that we are getting very close to being able to call ESM in Node.js “stable”. Removing the warning is a huge step in that direction. New V8 ArrayBuffer API: * **src**: migrate to new V8 ArrayBuffer API (Thang Tran) [#30782](https://github.com/nodejs/node/pull/30782) Multiple ArrayBuffers pointing to the same base address are no longer allowed by V8. This may impact native addons. Toolchain and Compiler Upgrades: - (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps)[#32454](https://github.com/nodejs/node/pull/32454) - (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) [#31954](https://github.com/nodejs/node/pull/31954) It is expected that there will be an ABI mismatch on ARM between the Node.js binary and native addons. Native addons are only broken if they interact with `std::shared_ptr`. This is expected to be fixed in a later version of Node.js 14. - [#30786](https://github.com/nodejs/node/issues/30786) Update to V8 8.1: - (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) [#32116](https://github.com/nodejs/node/pull/32116) Other Notable Changes: - cli, report: move --report-on-fatalerror to stable (Colin Ihrig) [#32496](https://github.com/nodejs/node/pull/32496) - deps: upgrade to libuv 1.37.0 (Colin Ihrig) [#32866](https://github.com/nodejs/node/pull/32866) - fs: add fs/promises alias module (Gus Caplan) [#31553](https://github.com/nodejs/node/pull/31553) PR-URL: https://github.com/nodejs/node/pull/32181
2020-03-10 17:16:08 +00:00
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.22.12">12.22.12</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.11">12.22.11</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.10">12.22.10</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.9">12.22.9</a><br/>
2022-01-10, Version 12.22.9 'Erbium' (LTS) This is a security release. Notable changes: Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531) - Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly. - Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531 Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532) - Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints. - Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the `--security-revert` command-line option. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44532 Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533) - Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification. - Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44533 Prototype pollution via `console.table` properties (Low)(CVE-2022-21824) - Due to the formatting logic of the `console.table()` function it was not safe to allow user controlled input to be passed to the `properties` parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be `__proto__`. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype. - Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to. - More details will be available at https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-21824 PR-URL: https://github.com/nodejs-private/node-private/pull/309
2022-01-07 12:40:06 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.8">12.22.8</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.7">12.22.7</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.6">12.22.6</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.5">12.22.5</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.4">12.22.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.3">12.22.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.2">12.22.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.1">12.22.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.0">12.22.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.21.0">12.21.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.2">12.20.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.1">12.20.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.20.0">12.20.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.19.1">12.19.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.19.0">12.19.0</a><br/>
2020-10-06, Version 12.19.0 'Erbium' (LTS) Notable changes: assert: * (SEMVER-MINOR) port common.mustCall() to assert (ConorDavenport) https://github.com/nodejs/node/pull/31982 async_hooks: * (SEMVER-MINOR) add AsyncResource.bind utility (James M Snell) https://github.com/nodejs/node/pull/34574 buffer: * (SEMVER-MINOR) also alias BigUInt methods (Anna Henningsen) https://github.com/nodejs/node/pull/34960 * (SEMVER-MINOR) alias UInt ➡️ Uint in buffer methods (Anna Henningsen) https://github.com/nodejs/node/pull/34729 build: * (SEMVER-MINOR) add build flag for OSS-Fuzz integration (davkor) https://github.com/nodejs/node/pull/34761 cli: * (SEMVER-MINOR) add alias for report-directory to make it consistent (Ash Cripps) https://github.com/nodejs/node/pull/33587 crypto: * (SEMVER-MINOR) allow KeyObjects in postMessage (Tobias Nießen) https://github.com/nodejs/node/pull/33360 * (SEMVER-MINOR) add randomInt function (Oli Lalonde) https://github.com/nodejs/node/pull/34600 deps: * upgrade to libuv 1.39.0 (Colin Ihrig) https://github.com/nodejs/node/pull/34915 * upgrade npm to 6.14.7 (claudiahdz) https://github.com/nodejs/node/pull/34468 * upgrade to libuv 1.38.1 (Colin Ihrig) https://github.com/nodejs/node/pull/34187 dgram: * (SEMVER-MINOR) add IPv6 scope id suffix to received udp6 dgrams (Pekka Nikander) https://github.com/nodejs/node/pull/14500 * (SEMVER-MINOR) allow typed arrays in .send() (Sarat Addepalli) https://github.com/nodejs/node/pull/22413 doc: * (SEMVER-MINOR) Add maxTotalSockets option to agent constructor (rickyes) https://github.com/nodejs/node/pull/33617 * (SEMVER-MINOR) add basic embedding example documentation (Anna Henningsen) https://github.com/nodejs/node/pull/30467 * add Ricky Zhou to collaborators (rickyes) https://github.com/nodejs/node/pull/34676 * add release key for Ruy Adorno (Ruy Adorno) https://github.com/nodejs/node/pull/34628 * add DerekNonGeneric to collaborators (Derek Lewis) https://github.com/nodejs/node/pull/34602 * add AshCripps to collaborators (Ash Cripps) https://github.com/nodejs/node/pull/34494 * add HarshithaKP to collaborators (Harshitha K P) https://github.com/nodejs/node/pull/34417 * add rexagod to collaborators (Pranshu Srivastava) https://github.com/nodejs/node/pull/34457 * add release key for Richard Lau (Richard Lau) https://github.com/nodejs/node/pull/34397 * add danielleadams to collaborators (Danielle Adams) https://github.com/nodejs/node/pull/34360 * add sxa as collaborator (Stewart X Addison) https://github.com/nodejs/node/pull/34338 * add ruyadorno to collaborators (Ruy Adorno) https://github.com/nodejs/node/pull/34297 * (SEMVER-MAJOR) deprecate process.umask() with no arguments (Colin Ihrig) https://github.com/nodejs/node/pull/32499 embedding: * (SEMVER-MINOR) make Stop() stop Workers (Anna Henningsen) https://github.com/nodejs/node/pull/32531 * (SEMVER-MINOR) provide hook for custom process.exit() behaviour (Anna Henningsen) https://github.com/nodejs/node/pull/32531 fs: * (SEMVER-MINOR) implement lutimes (Maël Nison) https://github.com/nodejs/node/pull/33399 http: * (SEMVER-MINOR) add maxTotalSockets to agent class (rickyes) https://github.com/nodejs/node/pull/33617 * (SEMVER-MINOR) return this from IncomingMessage#destroy() (Colin Ihrig) https://github.com/nodejs/node/pull/32789 * (SEMVER-MINOR) expose host and protocol on ClientRequest (wenningplus) https://github.com/nodejs/node/pull/33803 http2: * (SEMVER-MINOR) return this for Http2ServerRequest#setTimeout (Pranshu Srivastava) https://github.com/nodejs/node/pull/33994 * (SEMVER-MINOR) do not modify explicity set date headers (Pranshu Srivastava) https://github.com/nodejs/node/pull/33160 module: * (SEMVER-MINOR) named exports for CJS via static analysis (Guy Bedford) https://github.com/nodejs/node/pull/35249 * (SEMVER-MINOR) exports pattern support (Guy Bedford) https://github.com/nodejs/node/pull/34718 * (SEMVER-MINOR) package "imports" field (Guy Bedford) https://github.com/nodejs/node/pull/34117 * (SEMVER-MINOR) deprecate module.parent (Antoine du HAMEL) https://github.com/nodejs/node/pull/32217 n-api: * (SEMVER-MINOR) create N-API version 7 (Gabriel Schulhof) https://github.com/nodejs/node/pull/35199 * (SEMVER-MINOR) support type-tagging objects (Gabriel Schulhof) https://github.com/nodejs/node/pull/28237 n-api,src: * (SEMVER-MINOR) provide asynchronous cleanup hooks (Anna Henningsen) https://github.com/nodejs/node/pull/34572 perf_hooks: * (SEMVER-MINOR) add idleTime and event loop util (Trevor Norris) https://github.com/nodejs/node/pull/34938 timers: * (SEMVER-MINOR) allow timers to be used as primitives (Denys Otrishko) https://github.com/nodejs/node/pull/34017 tls: * (SEMVER-MINOR) make 'createSecureContext' honor more options (Mateusz Krawczuk) https://github.com/nodejs/node/pull/33974 worker: * (SEMVER-MINOR) add public method for marking objects as untransferable (Anna Henningsen) https://github.com/nodejs/node/pull/33979 * (SEMVER-MINOR) emit `'messagerror'` events for failed deserialization (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow passing JS wrapper objects via postMessage (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) allow transferring/cloning generic BaseObjects (Anna Henningsen) https://github.com/nodejs/node/pull/33772 * (SEMVER-MINOR) add option to track unmanaged file descriptors (Anna Henningsen) https://github.com/nodejs/node/pull/34303 * (SEMVER-MINOR) add stack size resource limit option (Anna Henningsen) https://github.com/nodejs/node/pull/33085 worker,fs: * (SEMVER-MINOR) make FileHandle transferable (Anna Henningsen) https://github.com/nodejs/node/pull/33772 zlib: * (SEMVER-MINOR) add `maxOutputLength` option (unknown) https://github.com/nodejs/node/pull/33516 * switch to lazy init for zlib streams (Andrey Pechkurov) https://github.com/nodejs/node/pull/34048 PR-URL: https://github.com/nodejs/node/pull/35401
2020-09-28 17:54:13 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.4">12.18.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.3">12.18.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.2">12.18.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.1">12.18.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.18.0">12.18.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.17.0">12.17.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.3">12.16.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.2">12.16.2</a><br/>
2020-04-21, Version 14.0.0 (Current) Deprecations: - (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) [#31166](https://github.com/nodejs/node/pull/31166) - (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) [#28396](https://github.com/nodejs/node/pull/28396) - (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) [#31164](https://github.com/nodejs/node/pull/31164) - (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) [#31167](https://github.com/nodejs/node/pull/31167) - (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell)[#31169](https://github.com/nodejs/node/pull/31169) - (SEMVER-MAJOR) src: remove deprecated wasm type check (Clemens Backes) [#32116](https://github.com/nodejs/node/pull/32116) - (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL (James M Snell) [#31165](https://github.com/nodejs/node/pull/31165) - (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) [#32232](https://github.com/nodejs/node/pull/32232) - (SEMVER-MINOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) [#32499](https://github.com/nodejs/node/pull/32499) ECMAScript Modules - Experimental Warning Removal: - module: remove experimental modules warning (Guy Bedford) [#31974](https://github.com/nodejs/node/pull/31974) In Node.js 13 we removed the need to include the --experimental-modules flag, but when running EcmaScript Modules in Node.js, this would still result in a warning ExperimentalWarning: The ESM module loader is experimental. As of Node.js 14 there is no longer this warning when using ESM in Node.js. However, the ESM implementation in Node.js remains experimental. As per our stability index: “The feature is not subject to Semantic Versioning rules. Non-backward compatible changes or removal may occur in any future release.” Users should be cautious when using the feature in production environments. Please keep in mind that the implementation of ESM in Node.js differs from the developer experience you might be familiar with. Most transpilation workflows support features such as optional file extensions or JSON modules that the Node.js ESM implementation does not support. It is highly likely that modules from transpiled environments will require a certain degree of refactoring to work in Node.js. It is worth mentioning that many of our design decisions were made with two primary goals. Spec compliance and Web Compatibility. It is our belief that the current implementation offers a future proof model to authoring ESM modules that paves the path to Universal JavaScript. Please read more in our documentation. The ESM implementation in Node.js is still experimental but we do believe that we are getting very close to being able to call ESM in Node.js “stable”. Removing the warning is a huge step in that direction. New V8 ArrayBuffer API: * **src**: migrate to new V8 ArrayBuffer API (Thang Tran) [#30782](https://github.com/nodejs/node/pull/30782) Multiple ArrayBuffers pointing to the same base address are no longer allowed by V8. This may impact native addons. Toolchain and Compiler Upgrades: - (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps)[#32454](https://github.com/nodejs/node/pull/32454) - (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) [#32812](https://github.com/nodejs/node/pull/32812) - (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) [#31954](https://github.com/nodejs/node/pull/31954) It is expected that there will be an ABI mismatch on ARM between the Node.js binary and native addons. Native addons are only broken if they interact with `std::shared_ptr`. This is expected to be fixed in a later version of Node.js 14. - [#30786](https://github.com/nodejs/node/issues/30786) Update to V8 8.1: - (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) [#32116](https://github.com/nodejs/node/pull/32116) Other Notable Changes: - cli, report: move --report-on-fatalerror to stable (Colin Ihrig) [#32496](https://github.com/nodejs/node/pull/32496) - deps: upgrade to libuv 1.37.0 (Colin Ihrig) [#32866](https://github.com/nodejs/node/pull/32866) - fs: add fs/promises alias module (Gus Caplan) [#31553](https://github.com/nodejs/node/pull/31553) PR-URL: https://github.com/nodejs/node/pull/32181
2020-03-10 17:16:08 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.1">12.16.1</a><br/>
2020-02-18, Version 12.16.1 'Erbium' (LTS) Notable changes: Node.js 12.16.0 included 6 regressions that are being fixed in this release **Accidental Unflagging of Self Resolving Modules**: 12.16.0 included a large update to the ESM implementation. One of the new features, Self Referential Modules, was accidentally released without requiring the `--experimental-modules` flag. This release is being made to appropriately flag the feature. **Process Cleanup Changed Introduced WASM-Related Assertion**: A change during Node.js process cleanup led to a crash in combination with specific usage of WASM. This has been fixed by partially reverted said change. A regression test and a full fix are being worked on and will likely be included in future 12.x and 13.x releases. **Use Largepages Runtime Option Introduced Linking Failure**: A Semver-Minor change to introduce `--use-largepages` as a runtime option introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out in a Current release. The feature has been reverted, but will be able to reland with a fix in a future Semver-Minor release. **Async Hooks was Causing an Exception When Handling Errors**: Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed and the change could re land in a future Semver-Patch release if the regression is reliably fixed. **New Enumerable Read-Only Property on EventEmitter breaks @types/extend** A new property for enumerating events was added to the EventEmitter class. This broke existing code that was using the `@types/extend` module for extending classses as `@types/extend` was attemping to write over the existing field which the new change made read-only. As this is the first property on EventEmitter that is read-only this feature could be considered Semver-Major. The new feature has been reverted but could re land in a future Semver-Minor release if a non breaking way of applying it is found. **Exceptions in the HTTP parser were not emitting an uncaughtException** A refactoring to Node.js interanls resulted in a bug where errors in the HTTP parser were not being emitted by `process.on('uncaughtException')`. The fix to this bug has been included in this release. PR-URL: https://github.com/nodejs/node/pull/31781
2020-02-13 23:03:18 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.0">12.16.0</a><br/>
2020-02-11, Version 12.16.0 'Erbium' (LTS) Notable changes: New assert APIs The `assert` module now provides experimental `assert.match()` and `assert.doesNotMatch()` methods. They will validate that the first argument is a string and matches (or does not match) the provided regular expression This is an experimental feature. Ruben Bridgewater [#30929](https://github.com/nodejs/node/pull/30929). Advanced serialization for IPC The `child_process` and `cluster` modules now support a `serialization` option to change the serialization mechanism used for IPC. The option can have one of two values: * `'json'` (default): `JSON.stringify()` and `JSON.parse()` are used. This is how message serialization was done before. * `'advanced'`: The serialization API of the `v8` module is used. It is based on the HTML structured clone algorithm. and is able to serialize more built-in JavaScript object types, such as `BigInt`, `Map`, `Set` etc. as well as circular data structures. Anna Henningsen [#30162](https://github.com/nodejs/node/pull/30162). CLI flags The new `--trace-exit` CLI flag makes Node.js print a stack trace whenever the Node.js environment is exited proactively (i.e. by invoking the `process.exit()` function or pressing Ctrl+C). legendecas [#30516](https://github.com/nodejs/node/pull/30516). ___ The new `--trace-uncaught` CLI flag makes Node.js print a stack trace at the time of throwing uncaught exceptions, rather than at the creation of the `Error` object, if there is any. This option is not enabled by default because it may affect garbage collection behavior negatively. Anna Henningsen [#30025](https://github.com/nodejs/node/pull/30025). ___ The `--disallow-code-generation-from-strings` V8 CLI flag is now whitelisted in the `NODE_OPTIONS` environment variable. Shelley Vohr [#30094](https://github.com/nodejs/node/pull/30094). New crypto APIs For DSA and ECDSA, a new signature encoding is now supported in addition to the existing one (DER). The `verify` and `sign` methods accept a `dsaEncoding` option, which can have one of two values: * `'der'` (default): DER-encoded ASN.1 signature structure encoding `(r, s)`. * `'ieee-p1363'`: Signature format `r || s` as proposed in IEEE-P1363. Tobias Nießen [#29292](https://github.com/nodejs/node/pull/29292). ___ A new method was added to `Hash`: `Hash.prototype.copy`. It makes it possible to clone the internal state of a `Hash` object into a new `Hash` object, allowing to compute the digest between updates. Ben Noordhuis [#29910](https://github.com/nodejs/node/pull/29910). Dependency updates libuv was updated to 1.34.0. This includes fixes to `uv_fs_copyfile()` and `uv_interface_addresses()` and adds two new functions: `uv_sleep()` and `uv_fs_mkstemp()`. Colin Ihrig [#30783](https://github.com/nodejs/node/pull/30783). ___ V8 was updated to 7.8.279.23. This includes performance improvements to object destructuring, RegExp match failures and WebAssembly startup time. The official release notes are available at https://v8.dev/blog/v8-release-78. Michaël Zasso [#30109](https://github.com/nodejs/node/pull/30109). New EventEmitter APIs The new `EventEmitter.on` static method allows to async iterate over events. Matteo Collina [#27994](https://github.com/nodejs/node/pull/27994). ___ It is now possible to monitor `'error'` events on an `EventEmitter` without consuming the emitted error by installing a listener using the symbol `EventEmitter.errorMonitor`. Gerhard Stoebich [#30932](https://github.com/nodejs/node/pull/30932). ___ Using `async` functions with event handlers is problematic, because it can lead to an unhandled rejection in case of a thrown exception. The experimental `captureRejections` option in the `EventEmitter` constructor or the global setting change this behavior, installing a `.then(undefined, handler)` handler on the `Promise`. This handler routes the exception asynchronously to the `Symbol.for('nodejs.rejection')` method if there is one, or to the `'error'` event handler if there is none. Setting `EventEmitter.captureRejections = true` will change the default for all new instances of `EventEmitter`. This is an experimental feature. Matteo Collina [#27867](https://github.com/nodejs/node/pull/27867). Performance Hooks are no longer experimental The `perf_hooks` module is now considered a stable API. legendecas [#31101](https://github.com/nodejs/node/pull/31101). Introduction of experimental WebAssembly System Interface (WASI) support A new core module, `wasi`, is introduced to provide an implementation of the [WebAssembly System Interface](https://wasi.dev/) specification. WASI gives sandboxed WebAssembly applications access to the underlying operating system via a collection of POSIX-like functions. This is an experimental feature. Colin Ihrig [#30258](https://github.com/nodejs/node/pull/30258). PR-URL: https://github.com/nodejs/node/pull/31691
2020-02-08 00:08:57 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.15.0">12.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.14.1">12.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.14.0">12.14.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.13.1">12.13.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.13.0">12.13.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.12.0">12.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.11.1">12.11.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.11.0">12.11.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.10.0">12.10.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.9.1">12.9.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.9.0">12.9.0</a><br/>
2019-08-20, Version 12.9.0 (Current) Notable changes: * crypto: * Added an oaepHash option to asymmetric encryption which allows users to specify a hash function when using OAEP padding. https://github.com/nodejs/node/pull/28335 * deps: * Updated V8 to 7.6.303.29. https://github.com/nodejs/node/pull/28955 * Improves the performance of various APIs such as `JSON.parse` and methods called on frozen arrays. * Adds the Promise.allSettled method. * Improves support of `BigInt` in `Intl` methods. * For more information: https://v8.dev/blog/v8-release-76 * Updated libuv to 1.31.0. https://github.com/nodejs/node/pull/29070 * `UV_FS_O_FILEMAP` has been added for faster access to memory mapped files on Windows. * `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid filenames on Windows. It previously returned `UV_ENOENT`. * The `uv_fs_statfs()` API has been added. * The `uv_os_environ()` and `uv_os_free_environ()` APIs have been added. * fs: * Added `fs.writev`, `fs.writevSync` and `filehandle.writev` (promise version) methods. They allow to write an array of `ArrayBufferView`s to a file descriptor. https://github.com/nodejs/node/pull/25925 https://github.com/nodejs/node/pull/29186 * http: * Added three properties to `OutgoingMessage.prototype`: `writableObjectMode`, `writableLength` and `writableHighWaterMark` https://github.com/nodejs/node/pull/29018 * stream: * Added an new property `readableEnded` to readable streams. Its value is set to `true` when the `'end'` event is emitted. https://github.com/nodejs/node/pull/28814 * Added an new property `writableEnded` to writable streams. Its value is set to `true` after `writable.end()` has been called. https://github.com/nodejs/node/pull/28934 PR-URL: https://github.com/nodejs/node/pull/29210
2019-08-19 19:14:22 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.8.1">12.8.1</a><br/>
2019-08-15, Version 12.8.1 (Current) This is a security release. Notable changes: Node.js, as well as many other implementations of HTTP/2, have been found vulnerable to Denial of Service attacks. See https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md for more information. Vulnerabilities fixed: * CVE-2019-9511 “Data Dribble”: The attacker requests a large amount of data from a specified resource over multiple streams. They manipulate window size and stream priority to force the server to queue the data in 1-byte chunks. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service. * CVE-2019-9512 “Ping Flood”: The attacker sends continual pings to an HTTP/2 peer, causing the peer to build an internal queue of responses. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service. * CVE-2019-9513 “Resource Loop”: The attacker creates multiple request streams and continually shuffles the priority of the streams in a way that causes substantial churn to the priority tree. This can consume excess CPU, potentially leading to a denial of service. * CVE-2019-9514 “Reset Flood”: The attacker opens a number of streams and sends an invalid request over each stream that should solicit a stream of RST_STREAM frames from the peer. Depending on how the peer queues the RST_STREAM frames, this can consume excess memory, CPU,or both, potentially leading to a denial of service. * CVE-2019-9515 “Settings Flood”: The attacker sends a stream of SETTINGS frames to the peer. Since the RFC requires that the peer reply with one acknowledgement per SETTINGS frame, an empty SETTINGS frame is almost equivalent in behavior to a ping. Depending on how efficiently this data is queued, this can consume excess CPU, memory, or both, potentially leading to a denial of service. * CVE-2019-9516 “0-Length Headers Leak”: The attacker sends a stream of headers with a 0-length header name and 0-length header value, optionally Huffman encoded into 1-byte or greater headers. Some implementations allocate memory for these headers and keep the allocation alive until the session dies. This can consume excess memory, potentially leading to a denial of service. * CVE-2019-9517 “Internal Data Buffering”: The attacker opens the HTTP/2 window so the peer can send without constraint; however, they leave the TCP window closed so the peer cannot actually write (many of) the bytes on the wire. The attacker then sends a stream of requests for a large response object. Depending on how the servers queue the responses, this can consume excess memory, CPU, or both, potentially leading to a denial of service. * CVE-2019-9518 “Empty Frames Flood”: The attacker sends a stream of frames with an empty payload and without the end-of-stream flag. These frames can be DATA, HEADERS, CONTINUATION and/or PUSH_PROMISE. The peer spends time processing each frame disproportionate to attack bandwidth. This can consume excess CPU, potentially leading to a denial of service. (Discovered by Piotr Sikora of Google) PR-URL: https://github.com/nodejs/node/pull/29133
2019-08-15 08:18:41 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.8.0">12.8.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.7.0">12.7.0</a><br/>
2019-07-23, Version 12.7.0 (Current) Notable changes: * deps: * Updated nghttp2 to 1.39.1. https://github.com/nodejs/node/pull/28448 * Updated npm to 6.10.0. https://github.com/nodejs/node/pull/28525 * esm: * Implemented experimental "pkg-exports" proposal. A new `"exports"` field can be added to a module's `package.json` file to provide custom subpath aliasing. See https://github.com/jkrems/proposal-pkg-exports/ for more information. https://github.com/nodejs/node/pull/28568 * http: * Added `response.writableFinished`. https://github.com/nodejs/node/pull/28681 * Exposed `headers`, `rawHeaders` and other fields on an `http.ClientRequest` `"information"` event. https://github.com/nodejs/node/pull/28459 * inspector: * Added `inspector.waitForDebugger()`. https://github.com/nodejs/node/pull/28453 * policy: * Added `--policy-integrity=sri` CLI option to mitigate policy tampering. If a policy integrity is specified and the policy does not have that integrity, Node.js will error prior to running any code. https://github.com/nodejs/node/pull/28734 * readline,tty: * Exposed stream API from various methods which write characters. https://github.com/nodejs/node/pull/28674 https://github.com/nodejs/node/pull/28721 * src: * Use cgroups to get memory limits. This improves the way we set the memory ceiling for a Node.js process. Previously we would use the physical memory size to estimate the necessary V8 heap sizes. The physical memory size is not necessarily the correct limit, e.g. if the process is running inside a docker container or is otherwise constrained. This change adds the ability to get a memory limit set by linux cgroups, which is used by docker containers to set resource constraints. https://docs.docker.com/config/containers/resource_constraints/ https://github.com/nodejs/node/pull/27508 PR-URL: https://github.com/nodejs/node/pull/28817
2019-07-23 08:29:14 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.6.0">12.6.0</a><br/>
2019-07-03, Version 12.6.0 (Current) Notable changes: * build: * Experimental support for building Node.js on MIPS architecture is back. https://github.com/nodejs/node/pull/27992 * child_process: * The promisified versions of `child_process.exec` and `child_process.execFile` now both return a `Promise` which has the child instance attached to their `child` property. https://github.com/nodejs/node/pull/28325 * deps: * Updated libuv to 1.30.1. https://github.com/nodejs/node/pull/28449, https://github.com/nodejs/node/pull/28511 * Support for the Haiku platform has been added. * The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to 1024. * `uv_fs_copyfile()` now works properly when the source and destination files are the same. * process: * A new method, `process.resourceUsage()` was added. It returns resource usage for the current process, such as CPU time. https://github.com/nodejs/node/pull/28018 * src: * Fixed an issue related to stdio that could lead to a crash of the process in some circumstances. https://github.com/nodejs/node/pull/28490 * stream: * Added a `writableFinished` property to writable streams. It indicates that all the data has been flushed to the underlying system. https://github.com/nodejs/node/pull/28007 * worker: * Fixed an issue that prevented worker threads to listen for data on stdin. https://github.com/nodejs/node/pull/28153 * meta: * Added Jiawen Geng (https://github.com/gengjiawen) to collaborators. https://github.com/nodejs/node/pull/28322 PR-URL: https://github.com/nodejs/node/pull/28508
2019-07-02 08:12:51 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.5.0">12.5.0</a><br/>
2019-06-27, Version 12.5.0 (Current) Notable changes: * build: * The startup time is reduced by enabling V8 snapshots by default https://github.com/nodejs/node/pull/28181 * deps: * Updated `V8` to 7.5.288.22 https://github.com/nodejs/node/pull/27375 * The numeric separator (v8.dev/features/numeric-separators) feature is now enabled by default * Updated `OpenSSL` to 1.1.1c https://github.com/nodejs/node/pull/28211 * inspector: * The `--inspect-publish-uid` flag was added to specify ways of the inspector web socket url exposure https://github.com/nodejs/node/pull/27741 * n-api: * Accessors on napi_define_* are now ECMAScript-compliant https://github.com/nodejs/node/pull/27851 * report: * The cpu info got added to the report output https://github.com/nodejs/node/pull/28188 * src: * Restore the original state of the stdio file descriptors on exit to prevent leaving stdio in raw or non-blocking mode https://github.com/nodejs/node/pull/24260 * tools,gyp: * Introduce MSVS 2019 https://github.com/nodejs/node/pull/27375 * util: * inspect: * Array grouping became more compact and uses more columns than before https://github.com/nodejs/node/pull/28059 https://github.com/nodejs/node/pull/28070 * Long strings will not be split at 80 characters anymore. Instead they will be split on new lines https://github.com/nodejs/node/pull/28055 * worker: * `worker.terminate()` now returns a promise and using the callback is deprecated https://github.com/nodejs/node/pull/28021 PR-URL: https://github.com/nodejs/node/pull/28268
2019-06-17 19:31:37 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.4.0">12.4.0</a><br/>
2019-06-03 12:10:53 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.3.1">12.3.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.3.0">12.3.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.2.0">12.2.0</a><br/>
2019-05-07, Version 12.2.0 (Current) Notable changes: * deps: * Updated llhttp to 1.1.3. This fixes a bug that made Node.js' HTTP parser refuse any request URL that contained the "|" (vertical bar) character. https://github.com/nodejs/node/pull/27595 * tls: * Added an `enableTrace()` method to `TLSSocket` and an `enableTrace` option to `tls.createServer()`. When enabled, TSL packet trace information is written to `stderr`. This can be used to debug TLS connection problems. https://github.com/nodejs/node/pull/27497 https://github.com/nodejs/node/pull/27376 * cli: * Added a `--trace-tls` command-line flag that enables tracing of TLS connections without the need to modify existing application code. https://github.com/nodejs/node/pull/27497 * Added a `--cpu-prof-interval` command-line flag. It can be used to specify the sampling interval for the CPU profiles generated by `--cpu-prof`. https://github.com/nodejs/node/pull/27535 * module: * Added the `createRequire()` method. It allows to create a require function from a file URL object, a file URL string or an absolute path string. The existing `createRequireFromPath()` method is now deprecated https://github.com/nodejs/node/pull/27405. * Throw on `require('./path.mjs')`. This is technically a breaking change that should have landed with Node.js 12.0.0. It is necessary to have this to keep the possibility for a future minor version to load ES Modules with the require function. https://github.com/nodejs/node/pull/27417 * repl: * The REPL now supports multi-line statements using `BigInt` literals as well as public and private class fields and methods. https://github.com/nodejs/node/pull/27400 * The REPL now supports tab autocompletion of file paths with `fs` methods. https://github.com/nodejs/node/pull/26648 * meta: * Added Christian Clauss (https://github.com/cclauss) to collaborators. https://github.com/nodejs/node/pull/27554 PR-URL: https://github.com/nodejs/node/pull/27578
2019-05-06 12:40:25 +00:00
<a href="doc/changelogs/CHANGELOG_V12.md#12.1.0">12.1.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.0.0">12.0.0</a><br/>
2019-04-23, Version 12.0.0 (Current) 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) * 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) PR-URL: https://github.com/nodejs/node/pull/26930
2019-03-22 13:19:46 +00:00
</td>
</tr>
</table>
## Notes
* The [Node.js Long Term Support plan](https://github.com/nodejs/Release) covers
LTS releases.
* Release versions in **bold** text are the most recent supported releases.
***
***
## 2016-05-06, Version 0.12.14 (Maintenance), @rvagg
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.14">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.14</a>.
## 2016-05-06, Version 0.10.45 (Maintenance), @rvagg
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.45">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.45</a>.
## 2016-05-05, Version 6.1.0 (Current), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V6.md#6.1.0">Moved to doc/changelogs/CHANGELOG\_V6.md#6.1.0</a>.
## 2016-05-05, Version 5.11.1 (Stable), @evanlucas
<a href="doc/changelogs/CHANGELOG_V5.md#5.11.1">Moved to doc/changelogs/CHANGELOG\_V5.md#5.11.1</a>.
## 2016-05-05, Version 4.4.4 'Argon' (LTS), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.4.4">Moved to doc/changelogs/CHANGELOG\_V4.md#4.4.4</a>.
2016-04-26, Version 6.0.0 (Current) Release The following significant (semver-major) changes have been made since the previous Node v5.0.0 release. * Buffer * New Buffer constructors have been added [#4682](https://github.com/nodejs/node/pull/4682) * Previously deprecated Buffer APIs are removed [#5048](https://github.com/nodejs/node/pull/5048), [#4594](https://github.com/nodejs/node/pull/4594) * Improved error handling [#4514](https://github.com/nodejs/node/pull/4514) * Cluster * Worker emitted as first argument in 'message' event [#5361](https://github.com/nodejs/node/pull/5361). * Crypto * Improved error handling [#3100](https://github.com/nodejs/node/pull/3100), [#5611](https://github.com/nodejs/node/pull/5611) * Simplified Certificate class bindings [#5382](https://github.com/nodejs/node/pull/5382) * Improved control over FIPS mode [#5181](https://github.com/nodejs/node/pull/5181) * pbkdf2 digest overloading is deprecated [#4047](https://github.com/nodejs/node/pull/4047) * Dependencies * Reintroduce shared c-ares build support [#5775](https://github.com/nodejs/node/pull/5775). * V8 updated to 5.0.71.31 [#6111](https://github.com/nodejs/node/pull/6111). * DNS * Add resolvePtr API to query plain DNS PTR records [#4921](https://github.com/nodejs/node/pull/4921). * Domains * Clear stack when no error handler [#4659](https://github.com/nodejs/node/pull/4659). * File System * The `fs.realpath()` and `fs.realpathSync()` methods have been updated to use a more efficient libuv implementation. This change includes the removal of the `cache` argument and the method can throw new errors [#3594](https://github.com/nodejs/node/pull/3594) * FS apis can now accept and return paths as Buffers [#5616](https://github.com/nodejs/node/pull/5616). * Error handling and type checking improvements [#5616](https://github.com/nodejs/node/pull/5616), [#5590](https://github.com/nodejs/node/pull/5590), [#4518](https://github.com/nodejs/node/pull/4518), [#3917](https://github.com/nodejs/node/pull/3917). * fs.read's string interface is deprecated [#4525](https://github.com/nodejs/node/pull/4525) * HTTP * 'clientError' can now be used to return custom errors from an HTTP server [#4557](https://github.com/nodejs/node/pull/4557). * Modules * Current directory is now prioritized for local lookups [#5689](https://github.com/nodejs/node/pull/5689) * Symbolic links are preserved when requiring modules [#5950](https://github.com/nodejs/node/pull/5950) * Net * DNS hints no longer implicitly set [#6021](https://github.com/nodejs/node/pull/6021). * Improved error handling and type checking [#5981](https://github.com/nodejs/node/pull/5981), [#5733](https://github.com/nodejs/node/pull/5733), [#2904](https://github.com/nodejs/node/pull/2904) * OS X * MACOSX_DEPLOYMENT_TARGET has been bumped up to 10.7 [#6402](https://github.com/nodejs/node/pull/6402). * Path * Improved type checking [#5348](https://github.com/nodejs/node/pull/5348). * Process * Introduce process warnings API [#4782](https://github.com/nodejs/node/pull/4782). * Throw exception when non-function passed to nextTick [#3860](https://github.com/nodejs/node/pull/3860). * Readline * Emit key info unconditionally [#6024](https://github.com/nodejs/node/pull/6024) * REPL * Assignment to `_` will emit a warning. [#5535](https://github.com/nodejs/node/pull/5535) * Timers * Fail early when callback is not a function [#4362](https://github.com/nodejs/node/pull/4362) * TLS * Rename 'clientError' to 'tlsClientError' [#4557](https://github.com/nodejs/node/pull/4557) * SHA1 used for sessionIdContext [#3866](https://github.com/nodejs/node/pull/3866) * TTY * Previously deprecated setRawMode wrapper is removed [#2528](https://github.com/nodejs/node/pull/2528). * Util * Changes to Error object formatting [#4582](https://github.com/nodejs/node/pull/4582). * Windows * Windows XP and Vista are no longer supported [#5167](https://github.com/nodejs/node/pull/5167), [#5167](https://github.com/nodejs/node/pull/5167).
2016-04-26 00:22:07 +00:00
## 2016-04-26, Version 6.0.0 (Current), @jasnell
<a href="doc/changelogs/CHANGELOG_V6.md#6.0.0">Moved to doc/changelogs/CHANGELOG\_V6.md#6.0.0</a>.
2016-04-26, Version 6.0.0 (Current) Release The following significant (semver-major) changes have been made since the previous Node v5.0.0 release. * Buffer * New Buffer constructors have been added [#4682](https://github.com/nodejs/node/pull/4682) * Previously deprecated Buffer APIs are removed [#5048](https://github.com/nodejs/node/pull/5048), [#4594](https://github.com/nodejs/node/pull/4594) * Improved error handling [#4514](https://github.com/nodejs/node/pull/4514) * Cluster * Worker emitted as first argument in 'message' event [#5361](https://github.com/nodejs/node/pull/5361). * Crypto * Improved error handling [#3100](https://github.com/nodejs/node/pull/3100), [#5611](https://github.com/nodejs/node/pull/5611) * Simplified Certificate class bindings [#5382](https://github.com/nodejs/node/pull/5382) * Improved control over FIPS mode [#5181](https://github.com/nodejs/node/pull/5181) * pbkdf2 digest overloading is deprecated [#4047](https://github.com/nodejs/node/pull/4047) * Dependencies * Reintroduce shared c-ares build support [#5775](https://github.com/nodejs/node/pull/5775). * V8 updated to 5.0.71.31 [#6111](https://github.com/nodejs/node/pull/6111). * DNS * Add resolvePtr API to query plain DNS PTR records [#4921](https://github.com/nodejs/node/pull/4921). * Domains * Clear stack when no error handler [#4659](https://github.com/nodejs/node/pull/4659). * File System * The `fs.realpath()` and `fs.realpathSync()` methods have been updated to use a more efficient libuv implementation. This change includes the removal of the `cache` argument and the method can throw new errors [#3594](https://github.com/nodejs/node/pull/3594) * FS apis can now accept and return paths as Buffers [#5616](https://github.com/nodejs/node/pull/5616). * Error handling and type checking improvements [#5616](https://github.com/nodejs/node/pull/5616), [#5590](https://github.com/nodejs/node/pull/5590), [#4518](https://github.com/nodejs/node/pull/4518), [#3917](https://github.com/nodejs/node/pull/3917). * fs.read's string interface is deprecated [#4525](https://github.com/nodejs/node/pull/4525) * HTTP * 'clientError' can now be used to return custom errors from an HTTP server [#4557](https://github.com/nodejs/node/pull/4557). * Modules * Current directory is now prioritized for local lookups [#5689](https://github.com/nodejs/node/pull/5689) * Symbolic links are preserved when requiring modules [#5950](https://github.com/nodejs/node/pull/5950) * Net * DNS hints no longer implicitly set [#6021](https://github.com/nodejs/node/pull/6021). * Improved error handling and type checking [#5981](https://github.com/nodejs/node/pull/5981), [#5733](https://github.com/nodejs/node/pull/5733), [#2904](https://github.com/nodejs/node/pull/2904) * OS X * MACOSX_DEPLOYMENT_TARGET has been bumped up to 10.7 [#6402](https://github.com/nodejs/node/pull/6402). * Path * Improved type checking [#5348](https://github.com/nodejs/node/pull/5348). * Process * Introduce process warnings API [#4782](https://github.com/nodejs/node/pull/4782). * Throw exception when non-function passed to nextTick [#3860](https://github.com/nodejs/node/pull/3860). * Readline * Emit key info unconditionally [#6024](https://github.com/nodejs/node/pull/6024) * REPL * Assignment to `_` will emit a warning. [#5535](https://github.com/nodejs/node/pull/5535) * Timers * Fail early when callback is not a function [#4362](https://github.com/nodejs/node/pull/4362) * TLS * Rename 'clientError' to 'tlsClientError' [#4557](https://github.com/nodejs/node/pull/4557) * SHA1 used for sessionIdContext [#3866](https://github.com/nodejs/node/pull/3866) * TTY * Previously deprecated setRawMode wrapper is removed [#2528](https://github.com/nodejs/node/pull/2528). * Util * Changes to Error object formatting [#4582](https://github.com/nodejs/node/pull/4582). * Windows * Windows XP and Vista are no longer supported [#5167](https://github.com/nodejs/node/pull/5167), [#5167](https://github.com/nodejs/node/pull/5167).
2016-04-26 00:22:07 +00:00
## 2016-04-20, Version 5.11.0 (Stable), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V5.md#5.11.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.11.0</a>.
## 2016-04-05, Version 5.10.1 (Stable), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V5.md#5.10.1">Moved to doc/changelogs/CHANGELOG\_V5.md#5.10.1</a>.
## 2016-03-31, Version 0.10.44 (Maintenance), @rvagg
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.44">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.44</a>.
2016-03-31 Version 5.10.0 (Stable) Release Notable changes: * buffer: * make byteLength work with ArrayBuffer & DataView (Jackson Tian) [#5255](https://github.com/nodejs/node/pull/5255) * backport --zero-fill-buffers command line option (James M Snell) [#5744](https://github.com/nodejs/node/pull/5744) * backport new buffer constructor APIs (James M Snell) [#5763](https://github.com/nodejs/node/pull/5763) * add swap16() and swap32() methods (James M Snell) [#5724](https://github.com/nodejs/node/pull/5724) * fs: add the fs.mkdtemp() function. (Florian MARGAINE) [#5333](https://github.com/nodejs/node/pull/5333) * net: emit host in lookup event (HUANG Wei) [#5598](https://github.com/nodejs/node/pull/5598) * node: --no-browser-globals configure flag (Fedor Indutny) [#5853](https://github.com/nodejs/node/pull/5853) * npm: Upgrade to v3.8.3. Fixes a security flaw in the use of authentication tokens in HTTP requests that would allow an attacker to set up a server that could collect tokens from users of the command-line interface. Authentication tokens have previously been sent with every request made by the CLI for logged-in users, regardless of the destination of the request. This update fixes this by only including those tokens for requests made against the registry or registries used for the current install. (Forrest L Norvell) [npm/node#6](https://github.com/npm/node/pull/6) * repl: support standalone blocks (Prince J Wesley) [#5581](https://github.com/nodejs/node/pull/5581) * src: override v8 thread defaults using cli options (Tom Gallacher) [#4344](https://github.com/nodejs/node/pull/4344) PR-URL: https://github.com/nodejs/node/pull/5970
2016-03-31 11:10:24 +00:00
## 2016-03-31, Version 5.10.0 (Stable), @evanlucas
<a href="doc/changelogs/CHANGELOG_V5.md#5.10.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.10.0</a>.
2016-03-31 Version 5.10.0 (Stable) Release Notable changes: * buffer: * make byteLength work with ArrayBuffer & DataView (Jackson Tian) [#5255](https://github.com/nodejs/node/pull/5255) * backport --zero-fill-buffers command line option (James M Snell) [#5744](https://github.com/nodejs/node/pull/5744) * backport new buffer constructor APIs (James M Snell) [#5763](https://github.com/nodejs/node/pull/5763) * add swap16() and swap32() methods (James M Snell) [#5724](https://github.com/nodejs/node/pull/5724) * fs: add the fs.mkdtemp() function. (Florian MARGAINE) [#5333](https://github.com/nodejs/node/pull/5333) * net: emit host in lookup event (HUANG Wei) [#5598](https://github.com/nodejs/node/pull/5598) * node: --no-browser-globals configure flag (Fedor Indutny) [#5853](https://github.com/nodejs/node/pull/5853) * npm: Upgrade to v3.8.3. Fixes a security flaw in the use of authentication tokens in HTTP requests that would allow an attacker to set up a server that could collect tokens from users of the command-line interface. Authentication tokens have previously been sent with every request made by the CLI for logged-in users, regardless of the destination of the request. This update fixes this by only including those tokens for requests made against the registry or registries used for the current install. (Forrest L Norvell) [npm/node#6](https://github.com/npm/node/pull/6) * repl: support standalone blocks (Prince J Wesley) [#5581](https://github.com/nodejs/node/pull/5581) * src: override v8 thread defaults using cli options (Tom Gallacher) [#4344](https://github.com/nodejs/node/pull/4344) PR-URL: https://github.com/nodejs/node/pull/5970
2016-03-31 11:10:24 +00:00
## 2016-03-31, Version 4.4.2 'Argon' (LTS), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.4.2">Moved to doc/changelogs/CHANGELOG\_V4.md#4.4.2</a>.
## 2016-03-31, Version 0.12.13 (LTS), @rvagg
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.13">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.13</a>.
## 2016-03-23, Version 5.9.1 (Stable), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V5.md#5.9.1">Moved to doc/changelogs/CHANGELOG\_V5.md#5.9.1</a>.
## 2016-03-22, Version 4.4.1 'Argon' (LTS), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.4.1">Moved to doc/changelogs/CHANGELOG\_V4.md#4.4.1</a>.
## 2016-03-16, Version 5.9.0 (Stable), @evanlucas
<a href="doc/changelogs/CHANGELOG_V5.md#5.9.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.9.0</a>.
## 2016-03-08, Version 5.8.0 (Stable), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V5.md#5.8.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.8.0</a>.
2016-03-08, Version 4.4.0 'Argon' (LTS) In December we announced that we would be doing a minor release in order to get a number of voted on SEMVER-MINOR changes into LTS. Our ability to release this was delayed due to the unforeseen security release v4.3. We are quickly bumping to v4.4 in order to bring you the features that we had committed to releasing. This release also includes over 70 fixes to our docs and over 50 fixes to tests. The SEMVER-MINOR changes include: * deps: - An update to v8 that introduces a new flag --perf_basic_prof_only_functions (Ali Ijaz Sheikh) 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) https://github.com/nodejs/node/pull/4482 * src: - Better support for Big-Endian systems (Bryon Leung) https://github.com/nodejs/node/pull/3410 * tls: - A new feature that allows you to pass common SSL options to `tls.createSecurePair` (Коренберг Марк) 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) 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) https://github.com/nodejs/node/pull/4841 * https: - A potential fix for https://github.com/nodejs/node/issues/3692 HTTP/HTTPS client requests throwing EPROTO (Fedor Indutny) https://github.com/nodejs/node/pull/4982 * installer: - More readable profiling information from isolate tick logs (Matt Loring) https://github.com/nodejs/node/pull/3032 * *npm: - upgrade to npm 2.14.20 (Kat Marchán) https://github.com/nodejs/node/pull/5510 * process: - Add support for symbols in event emitters. Symbols didn't exist when it was written ¯\_(ツ)_/¯ (cjihrig) https://github.com/nodejs/node/pull/4798 * querystring: - querystring.parse() is now 13-22% faster! (Brian White) 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) https://github.com/nodejs/node/pull/4354 * tools: - eslint has been updated to version 2.1.0 (Rich Trott) https://github.com/nodejs/node/pull/5214 PR-URL: https://github.com/nodejs/node/pull/5301
2016-02-18 16:54:32 +00:00
## 2016-03-08, Version 4.4.0 'Argon' (LTS), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.4.0">Moved to doc/changelogs/CHANGELOG\_V4.md#4.4.0</a>.
2016-03-08, Version 4.4.0 'Argon' (LTS) In December we announced that we would be doing a minor release in order to get a number of voted on SEMVER-MINOR changes into LTS. Our ability to release this was delayed due to the unforeseen security release v4.3. We are quickly bumping to v4.4 in order to bring you the features that we had committed to releasing. This release also includes over 70 fixes to our docs and over 50 fixes to tests. The SEMVER-MINOR changes include: * deps: - An update to v8 that introduces a new flag --perf_basic_prof_only_functions (Ali Ijaz Sheikh) 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) https://github.com/nodejs/node/pull/4482 * src: - Better support for Big-Endian systems (Bryon Leung) https://github.com/nodejs/node/pull/3410 * tls: - A new feature that allows you to pass common SSL options to `tls.createSecurePair` (Коренберг Марк) 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) 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) https://github.com/nodejs/node/pull/4841 * https: - A potential fix for https://github.com/nodejs/node/issues/3692 HTTP/HTTPS client requests throwing EPROTO (Fedor Indutny) https://github.com/nodejs/node/pull/4982 * installer: - More readable profiling information from isolate tick logs (Matt Loring) https://github.com/nodejs/node/pull/3032 * *npm: - upgrade to npm 2.14.20 (Kat Marchán) https://github.com/nodejs/node/pull/5510 * process: - Add support for symbols in event emitters. Symbols didn't exist when it was written ¯\_(ツ)_/¯ (cjihrig) https://github.com/nodejs/node/pull/4798 * querystring: - querystring.parse() is now 13-22% faster! (Brian White) 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) https://github.com/nodejs/node/pull/4354 * tools: - eslint has been updated to version 2.1.0 (Rich Trott) https://github.com/nodejs/node/pull/5214 PR-URL: https://github.com/nodejs/node/pull/5301
2016-02-18 16:54:32 +00:00
## 2016-03-08, Version 0.12.12 (LTS), @rvagg
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.12">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.12</a>.
2016-03-04 Version 0.10.43 (Maintenance) Release Notable changes: * http_parser: Update to http-parser 1.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) https://github.com/nodejs/node/pull/5242 * domains: - Prevent an exit due to an exception being thrown rather than emitting an 'uncaughtException' event on the `process` object when no error handler is set on the domain within which an error is thrown and an 'uncaughtException' event listener is set on `process`. (Julien Gilli) https://github.com/nodejs/node/pull/3887 - Fix an issue where the process would not abort in the proper function call if an error is thrown within a domain with no error handler and `--abort-on-uncaught-exception` is used. (Julien Gilli) https://github.com/nodejs/node/pull/3887 * openssl: Upgrade from 1.0.1r to 1.0.1s (Ben Noordhuis) https://github.com/nodejs/node/pull/5508 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 - Remove SSLv2 support, the `--enable-ssl2` command line argument will now produce an error. The DROWN Attack (https://drownattack.com/) creates a vulnerability where SSLv2 is enabled by a server, even if a client connection is not using SSLv2. The SSLv2 protocol is widely considered unacceptably broken and should not be supported. More information is available at https://www.openssl.org/news/vulnerabilities.html#2016-0800 PR-URL: https://github.com/nodejs/node/pull/5404
2016-03-04 02:00:10 +00:00
2016-03-03 Version 0.12.11 (LTS) Release Notable changes: * http_parser: Update to http-parser 2.3.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) https://github.com/nodejs/node/pull/5241 * domains: - Prevent an exit due to an exception being thrown rather than emitting an 'uncaughtException' event on the `process` object when no error handler is set on the domain within which an error is thrown and an 'uncaughtException' event listener is set on `process`. (Julien Gilli) https://github.com/nodejs/node/pull/3885 - Fix an issue where the process would not abort in the proper function call if an error is thrown within a domain with no error handler and `--abort-on-uncaught-exception` is used. (Julien Gilli) https://github.com/nodejs/node/pull/3885 * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5509 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 PR-URL: https://github.com/nodejs/node/pull/5403
2016-03-04 01:59:40 +00:00
## 2016-03-03, Version 0.12.11 (LTS), @rvagg
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.11">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.11</a>.
2016-03-03 Version 0.12.11 (LTS) Release Notable changes: * http_parser: Update to http-parser 2.3.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) https://github.com/nodejs/node/pull/5241 * domains: - Prevent an exit due to an exception being thrown rather than emitting an 'uncaughtException' event on the `process` object when no error handler is set on the domain within which an error is thrown and an 'uncaughtException' event listener is set on `process`. (Julien Gilli) https://github.com/nodejs/node/pull/3885 - Fix an issue where the process would not abort in the proper function call if an error is thrown within a domain with no error handler and `--abort-on-uncaught-exception` is used. (Julien Gilli) https://github.com/nodejs/node/pull/3885 * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5509 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 PR-URL: https://github.com/nodejs/node/pull/5403
2016-03-04 01:59:40 +00:00
2016-03-02, Version 5.7.1 (Stable) Notable changes: * governance: The Core Technical Committee (CTC) added four new members to help guide Node.js core development: Evan Lucas, Rich Trott, Ali Ijaz Sheikh and Сковорода Никита Андреевич (Nikita Skovoroda). * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5507 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 * Fixed several regressions that appeared in v5.7.0: - path.relative(): - Output is no longer unnecessarily verbose (Brian White) https://github.com/nodejs/node/pull/5389 - Resolving UNC paths on Windows now works correctly (Owen Smith) https://github.com/nodejs/node/pull/5456 - Resolving paths with prefixes now works correctly from the root directory (Owen Smith) https://github.com/nodejs/node/pull/5490 - url: Fixed an off-by-one error with `parse()` (Brian White) https://github.com/nodejs/node/pull/5394 - dgram: Now correctly handles a default address case when offset and length are specified (Matteo Collina) https://github.com/nodejs/node/pull/5407 PR-URL: https://github.com/nodejs/node/pull/5464
2016-03-02 23:46:04 +00:00
## 2016-03-02, Version 5.7.1 (Stable), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V5.md#5.7.1">Moved to doc/changelogs/CHANGELOG\_V5.md#5.7.1</a>.
2016-03-02, Version 5.7.1 (Stable) Notable changes: * governance: The Core Technical Committee (CTC) added four new members to help guide Node.js core development: Evan Lucas, Rich Trott, Ali Ijaz Sheikh and Сковорода Никита Андреевич (Nikita Skovoroda). * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5507 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0705 - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0797 - Fix a defect that makes the CacheBleed Attack (https://ssrg.nicta.com.au/projects/TS/cachebleed/) possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at https://www.openssl.org/news/vulnerabilities.html#2016-0702 * Fixed several regressions that appeared in v5.7.0: - path.relative(): - Output is no longer unnecessarily verbose (Brian White) https://github.com/nodejs/node/pull/5389 - Resolving UNC paths on Windows now works correctly (Owen Smith) https://github.com/nodejs/node/pull/5456 - Resolving paths with prefixes now works correctly from the root directory (Owen Smith) https://github.com/nodejs/node/pull/5490 - url: Fixed an off-by-one error with `parse()` (Brian White) https://github.com/nodejs/node/pull/5394 - dgram: Now correctly handles a default address case when offset and length are specified (Matteo Collina) https://github.com/nodejs/node/pull/5407 PR-URL: https://github.com/nodejs/node/pull/5464
2016-03-02 23:46:04 +00:00
2016-03-02, Version 4.3.2 'Argon' (LTS) This is a security release with only a single commit, an update to openssl due to a recent security advisory. You can read more about the security advisory on the Node.js website https://nodejs.org/en/blog/vulnerability/openssl-march-2016/ * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5507 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at CVE-2016-0705 https://www.openssl.org/news/vulnerabilities.html#2016-0705. - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at CVE-2016-0797 https://www.openssl.org/news/vulnerabilities.html#2016-0797. - Fix a defect that makes the _CacheBleed Atta https://ssrg.nicta.com.au/projects/TS/cachebleed/ _ possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at CVE-2016-0702 https://www.openssl.org/news/vulnerabilities.html#2016-0702. PR-URL: https://github.com/nodejs/node/pull/5526
2016-03-02 17:48:15 +00:00
## 2016-03-02, Version 4.3.2 'Argon' (LTS), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.3.2">Moved to doc/changelogs/CHANGELOG\_V4.md#4.3.2</a>.
2016-03-02, Version 4.3.2 'Argon' (LTS) This is a security release with only a single commit, an update to openssl due to a recent security advisory. You can read more about the security advisory on the Node.js website https://nodejs.org/en/blog/vulnerability/openssl-march-2016/ * openssl: Upgrade from 1.0.2f to 1.0.2g (Ben Noordhuis) https://github.com/nodejs/node/pull/5507 - Fix a double-free defect in parsing malformed DSA keys that may potentially be used for DoS or memory corruption attacks. It is likely to be very difficult to use this defect for a practical attack and is therefore considered low severity for Node.js users. More info is available at CVE-2016-0705 https://www.openssl.org/news/vulnerabilities.html#2016-0705. - Fix a defect that can cause memory corruption in certain very rare cases relating to the internal `BN_hex2bn()` and `BN_dec2bn()` functions. It is believed that Node.js is not invoking the code paths that use these functions so practical attacks via Node.js using this defect are _unlikely_ to be possible. More info is available at CVE-2016-0797 https://www.openssl.org/news/vulnerabilities.html#2016-0797. - Fix a defect that makes the _CacheBleed Atta https://ssrg.nicta.com.au/projects/TS/cachebleed/ _ possible. This defect enables attackers to execute side-channel attacks leading to the potential recovery of entire RSA private keys. It only affects the Intel Sandy Bridge (and possibly older) microarchitecture when using hyper-threading. Newer microarchitectures, including Haswell, are unaffected. More info is available at CVE-2016-0702 https://www.openssl.org/news/vulnerabilities.html#2016-0702. PR-URL: https://github.com/nodejs/node/pull/5526
2016-03-02 17:48:15 +00:00
2016-02-23, Version 5.7.0 (Stable) * buffer: - You can now supply an encoding argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]]). See the API documentation for details on how this works. (Trevor Norris) #4935 - Buffer#indexOf() no longer requires a byteOffset argument if you also wish to specify an encoding: Buffer#indexOf(val[, byteOffset][, encoding]). (Trevor Norris) #4803 * child_process: spawn() and spawnSync() now support a 'shell' option to allow for optional execution of the given command inside a shell. If set to true, cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat. and .cmd files to be executed with spawn() and spawnSync(). (Colin Ihrig) #4598 * http_parser: Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) #5237 * dgram: socket.send() now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. (Matteo Collina) #4374 * http: Fix a bug where handling headers will mistakenly trigger an 'upgrade' event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. (Fedor Indutny) #4337 * net: Added a listening Boolean property to net and http servers to indicate whether the server is listening for connections. (José Moreira) #4743 * node: The C++ node::MakeCallback() API is now reentrant and calling it from inside another MakeCallback() call no longer causes the nextTick queue or Promises microtask queue to be processed out of order. (Trevor Norris) #4507 * tls: Add a new tlsSocket.getProtocol() method to get the negotiated TLS protocol version of the current connection. (Brian White) #4995 * vm: Introduce new 'produceCachedData' and 'cachedData' options to new vm.Script() to interact with V8's code cache. When a new vm.Script object is created with the 'produceCachedData' set to true a Buffer with V8's code cache data will be produced and stored in cachedData property of the returned object. This data in turn may be supplied back to another vm.Script() object with a 'cachedData' option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. (Fedor Indutny) #4777 * performance: Improvements in: - process.nextTick() (Ruben Bridgewater) #5092 - path module (Brian White) #5123 - querystring module (Brian White) #5012 - streams module when processing small chunks (Matteo Collina) #4354 PR-URL: https://github.com/nodejs/node/pull/5295
2016-02-18 05:51:45 +00:00
## 2016-02-23, Version 5.7.0 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V5.md#5.7.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.7.0</a>.
2016-02-23, Version 5.7.0 (Stable) * buffer: - You can now supply an encoding argument when filling a Buffer Buffer#fill(string[, start[, end]][, encoding]), supplying an existing Buffer will also work with Buffer#fill(buffer[, start[, end]]). See the API documentation for details on how this works. (Trevor Norris) #4935 - Buffer#indexOf() no longer requires a byteOffset argument if you also wish to specify an encoding: Buffer#indexOf(val[, byteOffset][, encoding]). (Trevor Norris) #4803 * child_process: spawn() and spawnSync() now support a 'shell' option to allow for optional execution of the given command inside a shell. If set to true, cmd.exe will be used on Windows and /bin/sh elsewhere. A path to a custom shell can also be passed to override these defaults. On Windows, this option allows .bat. and .cmd files to be executed with spawn() and spawnSync(). (Colin Ihrig) #4598 * http_parser: Update to http-parser 2.6.2 to fix an unintentionally strict limitation of allowable header characters. (James M Snell) #5237 * dgram: socket.send() now supports accepts an array of Buffers or Strings as the first argument. See the API docs for details on how this works. (Matteo Collina) #4374 * http: Fix a bug where handling headers will mistakenly trigger an 'upgrade' event where the server is just advertising its protocols. This bug can prevent HTTP clients from communicating with HTTP/2 enabled servers. (Fedor Indutny) #4337 * net: Added a listening Boolean property to net and http servers to indicate whether the server is listening for connections. (José Moreira) #4743 * node: The C++ node::MakeCallback() API is now reentrant and calling it from inside another MakeCallback() call no longer causes the nextTick queue or Promises microtask queue to be processed out of order. (Trevor Norris) #4507 * tls: Add a new tlsSocket.getProtocol() method to get the negotiated TLS protocol version of the current connection. (Brian White) #4995 * vm: Introduce new 'produceCachedData' and 'cachedData' options to new vm.Script() to interact with V8's code cache. When a new vm.Script object is created with the 'produceCachedData' set to true a Buffer with V8's code cache data will be produced and stored in cachedData property of the returned object. This data in turn may be supplied back to another vm.Script() object with a 'cachedData' option if the supplied source is the same. Successfully executing a script from cached data can speed up instantiation time. See the API docs for details. (Fedor Indutny) #4777 * performance: Improvements in: - process.nextTick() (Ruben Bridgewater) #5092 - path module (Brian White) #5123 - querystring module (Brian White) #5012 - streams module when processing small chunks (Matteo Collina) #4354 PR-URL: https://github.com/nodejs/node/pull/5295
2016-02-18 05:51:45 +00:00
## 2016-02-16, Version 4.3.1 'Argon' (LTS), @thealphanerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.3.1">Moved to doc/changelogs/CHANGELOG\_V4.md#4.3.1</a>.
## 2016-02-09, Version 5.6.0 (Stable), @jasnell
<a href="doc/changelogs/CHANGELOG_V5.md#5.6.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.6.0</a>.
## 2016-02-09, Version 4.3.0 'Argon' (LTS), @jasnell
<a href="doc/changelogs/CHANGELOG_V4.md#4.3.0">Moved to doc/changelogs/CHANGELOG\_V4.md#4.3.0</a>.
## 2016-02-09, Version 0.12.10 (LTS), @jasnell
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.10">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.10</a>.
## 2016-02-09, Version 0.10.42 (Maintenance), @jasnell
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.42">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.42</a>.
## 2016-01-21, Version 4.2.6 'Argon' (LTS), @TheAlphaNerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.6">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.6</a>.
## 2016-01-20, Version 5.5.0 (Stable), @evanlucas
<a href="doc/changelogs/CHANGELOG_V5.md#5.5.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.5.0</a>.
## 2016-01-20, Version 4.2.5 'Argon' (LTS), @TheAlphaNerd
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.5">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.5</a>.
## 2016-01-12, Version 5.4.1 (Stable), @TheAlphaNerd
<a href="doc/changelogs/CHANGELOG_V5.md#5.4.1">Moved to doc/changelogs/CHANGELOG\_V5.md#5.4.1</a>.
## 2016-01-06, Version 5.4.0 (Stable), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V5.md#5.4.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.4.0</a>.
## 2015-12-23, Version 4.2.4 'Argon' (LTS), @jasnell
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.4">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.4</a>.
## 2015-12-16, Version 5.3.0 (Stable), @cjihrig
<a href="doc/changelogs/CHANGELOG_V5.md#5.3.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.3.0</a>.
2015-12-08 00:21:40 +00:00
## 2015-12-09, Version 5.2.0 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V5.md#5.2.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.2.0</a>.
2015-12-08 00:21:40 +00:00
## 2015-12-04, Version 5.1.1 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V5.md#5.1.1">Moved to doc/changelogs/CHANGELOG\_V5.md#5.1.1</a>.
## 2015-12-04, Version 4.2.3 'Argon' (LTS), @rvagg
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.3">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.3</a>.
## 2015-12-04, Version 0.12.9 (LTS), @rvagg
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.9">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.9</a>.
## 2015-12-04, Version 0.10.41 (Maintenance), @rvagg
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.41">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.41</a>.
## 2015.11.25, Version 0.12.8 (LTS), @rvagg
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.8">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.8</a>.
## 2015-11-17, Version 5.1.0 (Stable), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V5.md#5.1.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.1.0</a>.
## 2015-11-03, Version 4.2.2 'Argon' (LTS), @jasnell
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.2">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.2</a>.
2015-10-29, Version 5.0.0 (Stable) Notable changes: * buffer: (Breaking) Removed both 'raw' and 'raws' encoding types from Buffer, these have been deprecated for a long time (Sakthipriyan Vairamani) #2859. * console: (Breaking) Values reported by console.time() now have 3 decimals of accuracy added (Michaël Zasso) #3166. * fs: - fs.readFile*(), fs.writeFile*(), and fs.appendFile*() now also accept a file descriptor as their first argument (Johannes Wüller) #3163. - (Breaking) In fs.readFile(), if an encoding is specified and the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3485. - (Breaking) In fs.read() (using the fs.read(fd, length, position, encoding, callback) form), if the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3503. * http: - Fixed a bug where pipelined http requests would stall (Fedor Indutny) #3342. - (Breaking) When parsing HTTP, don't add duplicates of the following headers: Retry-After, ETag, Last-Modified, Server, Age, Expires. This is in addition to the following headers which already block duplicates: Content-Type, Content-Length, User-Agent, Referer, Host, Authorization, Proxy-Authorization, If-Modified-Since, If-Unmodified-Since, From, Location, Max-Forwards (James M Snell) #3090. - (Breaking) The callback argument to OutgoingMessage#setTimeout() must be a function or a TypeError is thrown (James M Snell) #3090. - (Breaking) HTTP methods and header names must now conform to the RFC 2616 "token" rule, a list of allowed characters that excludes control characters and a number of separator characters. Specifically, methods and header names must now match /^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/ or a TypeError will be thrown (James M Snell) #2526. * node: - (Breaking) Deprecated the _linklist module (Rich Trott) #3078. - (Breaking) Removed require.paths and require.registerExtension(), both had been previously set to throw Error when accessed (Sakthipriyan Vairamani) #2922. * npm: Upgraded to version 3.3.6 from 2.14.7, see https://github.com/npm/npm/releases/tag/v3.3.6 for more details. This is a major version bump for npm and it has seen a significant amount of change. Please see the original npm v3.0.0 release notes for a list of major changes (Rebecca Turner) #3310. * src: (Breaking) Bumped NODE_MODULE_VERSION to 47 from 46, this is necessary due to the V8 upgrade. Native add-ons will need to be recompiled (Rod Vagg) #3400. * timers: Attempt to reuse the timer handle for setTimeout().unref(). This fixes a long-standing known issue where unrefed timers would perviously hold beforeExit open (Fedor Indutny) #3407. * tls: - Added ALPN Support (Shigeki Ohtsu) #2564. - TLS options can now be passed in an object to createSecurePair() (Коренберг Марк) #2441. - (Breaking) The default minimum DH key size for tls.connect() is now 1024 bits and a warning is shown when DH key size is less than 2048 bits. This a security consideration to prevent "logjam" attacks. A new minDHSize TLS option can be used to override the default. (Shigeki Ohtsu) #1831. * util: - (Breaking) util.p() was deprecated for years, and has now been removed (Wyatt Preul) #3432. - (Breaking) util.inherits() can now work with ES6 classes. This is considered a breaking change because of potential subtle side-effects caused by a change from directly reassigning the prototype of the constructor using `ctor.prototype = Object.create(superCtor.prototype, { constructor: { ... } })` to using `Object.setPrototypeOf(ctor.prototype, superCtor.prototype)` (Michaël Zasso) #3455. * v8: (Breaking) Upgraded to 4.6.85.25 from 4.5.103.35 (Ali Ijaz Sheikh) #3351. - Implements the spread operator, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator for further information. - Implements new.target, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target for further information. * zlib: Decompression now throws on truncated input (e.g. unexpected end of file) (Yuval Brik) #2595. PR-URL: https://github.com/nodejs/node/pull/3466
2015-10-21 03:18:30 +00:00
## 2015-10-29, Version 5.0.0 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V5.md#5.0.0">Moved to doc/changelogs/CHANGELOG\_V5.md#5.0.0</a>.
2015-10-29, Version 5.0.0 (Stable) Notable changes: * buffer: (Breaking) Removed both 'raw' and 'raws' encoding types from Buffer, these have been deprecated for a long time (Sakthipriyan Vairamani) #2859. * console: (Breaking) Values reported by console.time() now have 3 decimals of accuracy added (Michaël Zasso) #3166. * fs: - fs.readFile*(), fs.writeFile*(), and fs.appendFile*() now also accept a file descriptor as their first argument (Johannes Wüller) #3163. - (Breaking) In fs.readFile(), if an encoding is specified and the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3485. - (Breaking) In fs.read() (using the fs.read(fd, length, position, encoding, callback) form), if the internal toString() fails the error is no longer thrown but is passed to the callback (Evan Lucas) #3503. * http: - Fixed a bug where pipelined http requests would stall (Fedor Indutny) #3342. - (Breaking) When parsing HTTP, don't add duplicates of the following headers: Retry-After, ETag, Last-Modified, Server, Age, Expires. This is in addition to the following headers which already block duplicates: Content-Type, Content-Length, User-Agent, Referer, Host, Authorization, Proxy-Authorization, If-Modified-Since, If-Unmodified-Since, From, Location, Max-Forwards (James M Snell) #3090. - (Breaking) The callback argument to OutgoingMessage#setTimeout() must be a function or a TypeError is thrown (James M Snell) #3090. - (Breaking) HTTP methods and header names must now conform to the RFC 2616 "token" rule, a list of allowed characters that excludes control characters and a number of separator characters. Specifically, methods and header names must now match /^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/ or a TypeError will be thrown (James M Snell) #2526. * node: - (Breaking) Deprecated the _linklist module (Rich Trott) #3078. - (Breaking) Removed require.paths and require.registerExtension(), both had been previously set to throw Error when accessed (Sakthipriyan Vairamani) #2922. * npm: Upgraded to version 3.3.6 from 2.14.7, see https://github.com/npm/npm/releases/tag/v3.3.6 for more details. This is a major version bump for npm and it has seen a significant amount of change. Please see the original npm v3.0.0 release notes for a list of major changes (Rebecca Turner) #3310. * src: (Breaking) Bumped NODE_MODULE_VERSION to 47 from 46, this is necessary due to the V8 upgrade. Native add-ons will need to be recompiled (Rod Vagg) #3400. * timers: Attempt to reuse the timer handle for setTimeout().unref(). This fixes a long-standing known issue where unrefed timers would perviously hold beforeExit open (Fedor Indutny) #3407. * tls: - Added ALPN Support (Shigeki Ohtsu) #2564. - TLS options can now be passed in an object to createSecurePair() (Коренберг Марк) #2441. - (Breaking) The default minimum DH key size for tls.connect() is now 1024 bits and a warning is shown when DH key size is less than 2048 bits. This a security consideration to prevent "logjam" attacks. A new minDHSize TLS option can be used to override the default. (Shigeki Ohtsu) #1831. * util: - (Breaking) util.p() was deprecated for years, and has now been removed (Wyatt Preul) #3432. - (Breaking) util.inherits() can now work with ES6 classes. This is considered a breaking change because of potential subtle side-effects caused by a change from directly reassigning the prototype of the constructor using `ctor.prototype = Object.create(superCtor.prototype, { constructor: { ... } })` to using `Object.setPrototypeOf(ctor.prototype, superCtor.prototype)` (Michaël Zasso) #3455. * v8: (Breaking) Upgraded to 4.6.85.25 from 4.5.103.35 (Ali Ijaz Sheikh) #3351. - Implements the spread operator, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator for further information. - Implements new.target, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target for further information. * zlib: Decompression now throws on truncated input (e.g. unexpected end of file) (Yuval Brik) #2595. PR-URL: https://github.com/nodejs/node/pull/3466
2015-10-21 03:18:30 +00:00
## 2015-10-13, Version 4.2.1 'Argon' (LTS), @jasnell
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.1">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.1</a>.
## 2015-10-07, Version 4.2.0 'Argon' (LTS), @jasnell
<a href="doc/changelogs/CHANGELOG_V4.md#4.2.0">Moved to doc/changelogs/CHANGELOG\_V4.md#4.2.0</a>.
## 2015-10-05, Version 4.1.2 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V4.md#4.1.2">Moved to doc/changelogs/CHANGELOG\_V4.md#4.1.2</a>.
## 2015-09-22, Version 4.1.1 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V4.md#4.1.1">Moved to doc/changelogs/CHANGELOG\_V4.md#4.1.1</a>.
2015-09-15 20:47:47 +00:00
## 2015-09-17, Version 4.1.0 (Stable), @Fishrock123
<a href="doc/changelogs/CHANGELOG_V4.md#4.1.0">Moved to doc/changelogs/CHANGELOG\_V4.md#4.1.0</a>.
2015-09-15 20:47:47 +00:00
## 2015-09-15, io.js Version 3.3.1 @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#3.3.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#3.3.1</a>.
2015-09-08, Version 4.0.0 (Stable) Release This list of changes is relative to the last io.js v3.x branch release, v3.3.0. Please see the list of notable changes in the v3.x, v2.x and v1.x releases for a more complete list of changes from 0.12.x. Note, that some changes in the v3.x series as well as major breaking changes in this release constitute changes required for full convergence of the Node.js and io.js projects. * child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent, i.e. .send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620. * node: Rename "io.js" code to "Node.js" (cjihrig) #2367. * node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. (Rod Vagg) #2700. * npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more details, (Kat Marchán) #2696. * timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#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. * v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) #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 PR-URL: https://github.com/nodejs/node/pull/2742 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-09-07 03:54:43 +00:00
## 2015-09-08, Version 4.0.0 (Stable), @rvagg
<a href="doc/changelogs/CHANGELOG_V4.md#4.0.0">Moved to doc/changelogs/CHANGELOG\_V6.md#6.0.0</a>.
2015-09-08, Version 4.0.0 (Stable) Release This list of changes is relative to the last io.js v3.x branch release, v3.3.0. Please see the list of notable changes in the v3.x, v2.x and v1.x releases for a more complete list of changes from 0.12.x. Note, that some changes in the v3.x series as well as major breaking changes in this release constitute changes required for full convergence of the Node.js and io.js projects. * child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent, i.e. .send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620. * node: Rename "io.js" code to "Node.js" (cjihrig) #2367. * node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. (Rod Vagg) #2700. * npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more details, (Kat Marchán) #2696. * timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#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. * v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) #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 PR-URL: https://github.com/nodejs/node/pull/2742 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-09-07 03:54:43 +00:00
## 2015-09-02, Version 3.3.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#3.3.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#3.3.0</a>.
## 2015-08-25, Version 3.2.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#3.2.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#3.2.0</a>.
## 2015-08-18, Version 3.1.0, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#3.1.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#3.1.0</a>.
2015-08-04 io.js v3.0.0 Release Notable changes: * buffer: - Due to changes in V8, it has been necessary to reimplement Buffer on top of V8's Uint8Array. While every effort has been made to maintain performance, users are likely to experience a different performance profile depending on how Buffer is used. (Trevor Norris) #1825. - Buffer can now take ArrayBuffers as a constructor argument (Trevor Norris) #2002. - When a single buffer is passed to Buffer.concat(), a new, copied Buffer object will be returned; previous behavior was to return the original Buffer object (Sakthipriyan Vairamani) #1937. * build: PPC support has been added to core to allow compiling on pLinux BE and LE (AIX support coming soon) (Michael Dawson) #2124. * dgram: If an error occurs within socket.send() and a callback has been provided, the error is only passed as the first argument to the callback and not emitted on the socket object; previous behavior was to do both (Matteo Collina & Chris Dickinson) #1796 * freelist: Deprecate the undocumented freelist core module (Sakthipriyan Vairamani) #2176. * http: - Status codes now all use the official IANA names as per RFC7231, e.g. http.STATUS_CODES[414] now returns 'URI Too Long' rather than 'Request-URI Too Large' (jomo) #1470. - Calling .getName() on an HTTP agent no longer returns a trailing colon, HTTPS agents will no longer return an extra colon near the middle of the string (Brendan Ashworth) #1617. * node: - NODE_MODULE_VERSION has been bumped to 45 to reflect the break in ABI (Rod Vagg) #2096. - Introduce a new process.release object that contains a name property set to 'io.js' and sourceUrl, headersUrl and libUrl (Windows only) properties containing URLs for the relevant resources; this is intended to be used by node-gyp (Rod Vagg) #2154. - The version of node-gyp bundled with io.js now downloads and uses a tarball of header files from iojs.org rather than the full source for compiling native add-ons; it is hoped this is a temporary floating patch and the change will be upstreamed to node-gyp soon (Rod Vagg) #2066. * repl: Persistent history is now enabled by default. The history file is located at ~/.node_repl_history, which can be overridden by the new environment variable NODE_REPL_HISTORY. This deprecates the previous NODE_REPL_HISTORY_FILE variable. Additionally, the format of the file has been changed to plain text to better handle file corruption. (Jeremiah Senkpiel) #2224. * smalloc: The smalloc module has been removed as it is no longer possible to provide the API due to changes in V8 (Ben Noordhuis) #2022. * tls: Add server.getTicketKeys() and server.setTicketKeys() methods for TLS session key rotation (Fedor Indutny) #2227. * v8: Upgraded to 4.4.63.26 - ES6: Enabled computed property names - ES6: Array can now be subclassed in strict mode - ES6: Implement rest parameters in staging, use the --harmony-rest-parameters command line flag - ES6: Implement the spread operator in staging, use the --harmony-spreadcalls command line flag - Removed SetIndexedPropertiesToExternalArrayData and related APIs, forcing a shift to Buffer to be reimplemented based on Uint8Array - Introduction of Maybe and MaybeLocal C++ API for objects which may or may not have a value. - Added support for PPC PR-URL: https://github.com/nodejs/io.js/pull/2299
2015-08-01 02:10:43 +00:00
## 2015-08-04, Version 3.0.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#3.0.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#3.0.0</a>.
2015-08-04 io.js v3.0.0 Release Notable changes: * buffer: - Due to changes in V8, it has been necessary to reimplement Buffer on top of V8's Uint8Array. While every effort has been made to maintain performance, users are likely to experience a different performance profile depending on how Buffer is used. (Trevor Norris) #1825. - Buffer can now take ArrayBuffers as a constructor argument (Trevor Norris) #2002. - When a single buffer is passed to Buffer.concat(), a new, copied Buffer object will be returned; previous behavior was to return the original Buffer object (Sakthipriyan Vairamani) #1937. * build: PPC support has been added to core to allow compiling on pLinux BE and LE (AIX support coming soon) (Michael Dawson) #2124. * dgram: If an error occurs within socket.send() and a callback has been provided, the error is only passed as the first argument to the callback and not emitted on the socket object; previous behavior was to do both (Matteo Collina & Chris Dickinson) #1796 * freelist: Deprecate the undocumented freelist core module (Sakthipriyan Vairamani) #2176. * http: - Status codes now all use the official IANA names as per RFC7231, e.g. http.STATUS_CODES[414] now returns 'URI Too Long' rather than 'Request-URI Too Large' (jomo) #1470. - Calling .getName() on an HTTP agent no longer returns a trailing colon, HTTPS agents will no longer return an extra colon near the middle of the string (Brendan Ashworth) #1617. * node: - NODE_MODULE_VERSION has been bumped to 45 to reflect the break in ABI (Rod Vagg) #2096. - Introduce a new process.release object that contains a name property set to 'io.js' and sourceUrl, headersUrl and libUrl (Windows only) properties containing URLs for the relevant resources; this is intended to be used by node-gyp (Rod Vagg) #2154. - The version of node-gyp bundled with io.js now downloads and uses a tarball of header files from iojs.org rather than the full source for compiling native add-ons; it is hoped this is a temporary floating patch and the change will be upstreamed to node-gyp soon (Rod Vagg) #2066. * repl: Persistent history is now enabled by default. The history file is located at ~/.node_repl_history, which can be overridden by the new environment variable NODE_REPL_HISTORY. This deprecates the previous NODE_REPL_HISTORY_FILE variable. Additionally, the format of the file has been changed to plain text to better handle file corruption. (Jeremiah Senkpiel) #2224. * smalloc: The smalloc module has been removed as it is no longer possible to provide the API due to changes in V8 (Ben Noordhuis) #2022. * tls: Add server.getTicketKeys() and server.setTicketKeys() methods for TLS session key rotation (Fedor Indutny) #2227. * v8: Upgraded to 4.4.63.26 - ES6: Enabled computed property names - ES6: Array can now be subclassed in strict mode - ES6: Implement rest parameters in staging, use the --harmony-rest-parameters command line flag - ES6: Implement the spread operator in staging, use the --harmony-spreadcalls command line flag - Removed SetIndexedPropertiesToExternalArrayData and related APIs, forcing a shift to Buffer to be reimplemented based on Uint8Array - Introduction of Maybe and MaybeLocal C++ API for objects which may or may not have a value. - Added support for PPC PR-URL: https://github.com/nodejs/io.js/pull/2299
2015-08-01 02:10:43 +00:00
## 2015-07-28, Version 2.5.0, @cjihrig
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.5.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.5.0</a>.
## 2015-07-17, Version 2.4.0, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.4.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.4.0</a>.
## 2015-07-09, Version 2.3.4, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.3.4">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.3.4</a>.
## 2015-07-09, Version 1.8.4, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.8.4">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.8.4</a>.
## 2015-07-09, Version 0.12.7 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.7">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.7</a>.
## 2015-07-04, Version 2.3.3, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.3.3">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.3.3</a>.
## 2015-07-04, Version 1.8.3, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.8.3">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.8.3</a>.
## 2015-07-03, Version 0.12.6 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.6">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.6</a>.
## 2015-07-01, Version 2.3.2, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.3.2">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.3.2</a>.
## 2015-06-23, Version 2.3.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.3.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.3.1</a>.
## 2015-06-22, Version 0.12.5 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.5">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.5</a>.
## 2015-06-18, Version 0.10.39 (Maintenance)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.39">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.39</a>.
## 2015-06-13, Version 2.3.0, @rvagg
2015-06-12 05:01:26 +00:00
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.3.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.3.0</a>.
2015-06-12 05:01:26 +00:00
## 2015-06-01, Version 2.2.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.2.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.2.1</a>.
## 2015-05-31, Version 2.2.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.2.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.2.0</a>.
2015-05-24 03:56:20 +00:00
## 2015-05-24, Version 2.1.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.1.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.1.0</a>.
## 2015-05-22, Version 0.12.4 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.4">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.4</a>.
## 2015-05-17, Version 1.8.2, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.8.2">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.8.2</a>.
2015-05-15 23:28:16 +00:00
## 2015-05-15, Version 2.0.2, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.0.2">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.0.2</a>.
## 2015-05-13, Version 0.12.3 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.3">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.3</a>.
## 2015-05-07, Version 2.0.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.0.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.0.1</a>.
2015-05-04 io.js v2.0.0 Release PR-URL: https://github.com/iojs/io.js/pull/1532 Notable Changes: * crypto: significantly reduced memory usage for TLS (Fedor Indutny & Сковорода Никита Андреевич) #1529 * net: socket.connect() now accepts a 'lookup' option for a custom DNS resolution mechanism, defaults to dns.lookup() (Evan Lucas) #1505 * npm: Upgrade npm to 2.9.0. See the v2.8.4 and v2.9.0 release notes for details. Notable items: - Add support for default author field to make npm init -y work without user-input (@othiym23) npm/npm/d8eee6cf9d - Include local modules in npm outdated and npm update (@ArnaudRinquin) npm/npm#7426 - The prefix used before the version number on npm version is now configurable via tag-version-prefix (@kkragenbrink) npm/npm#8014 * os: os.tmpdir() is now cross-platform consistent and will no longer returns a path with a trailling slash on any platform (Christian Tellnes) #747 * process: - process.nextTick() performance has been improved by between 2-42% across the benchmark suite, notable because this is heavily used across core (Brian White) #1548 - New process.geteuid(), process.seteuid(id), process.getegid() and process.setegid(id) methods allow you to get and set effective UID and GID of the process (Evan Lucas) #1536 * repl: - REPL history can be persisted across sessions if the NODE_REPL_HISTORY_FILE environment variable is set to a user accessible file, NODE_REPL_HISTORY_SIZE can set the maximum history size and defaults to 1000 (Chris Dickinson) #1513 - The REPL can be placed in to one of three modes using the NODE_REPL_MODE environment variable: sloppy, strict or magic (default); the new magic mode will automatically run "strict mode only" statements in strict mode (Chris Dickinson) #1513 * smalloc: the 'smalloc' module has been deprecated due to changes coming in V8 4.4 that will render it unusable * util: add Promise, Map and Set inspection support (Christopher Monsanto) #1471 * V8: upgrade to 4.2.77.18, see the ChangeLog for full details. Notable items: - Classes have moved out of staging; the class keyword is now usable in strict mode without flags - Object literal enhancements have moved out of staging; shorthand method and property syntax is now usable ({ method() { }, property }) - Rest parameters (function(...args) {}) are implemented in staging behind the --harmony-rest-parameters flag - Computed property names ({['foo'+'bar']:'bam'}) are implemented in staging behind the --harmony-computed-property-names flag - Unicode escapes ('\u{xxxx}') are implemented in staging behind the --harmony_unicode flag and the --harmony_unicode_regexps flag for use in regular expressions * Windows: - Random process termination on Windows fixed (Fedor Indutny) #1512 / #1563 - The delay-load hook introduced to fix issues with process naming (iojs.exe / node.exe) has been made opt-out for native add-ons. Native add-ons should include 'win_delay_load_hook': 'false' in their binding.gyp to disable this feature if they experience problems . (Bert Belder) #1433 * Governance: - Rod Vagg (@rvagg) was added to the Technical Committee (TC) - Jeremiah Senkpiel (@Fishrock123) was added to the Technical Committee (TC)
2015-04-29 10:49:00 +00:00
## 2015-05-04, Version 2.0.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#2.0.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#2.0.0</a>.
2015-05-04 io.js v2.0.0 Release PR-URL: https://github.com/iojs/io.js/pull/1532 Notable Changes: * crypto: significantly reduced memory usage for TLS (Fedor Indutny & Сковорода Никита Андреевич) #1529 * net: socket.connect() now accepts a 'lookup' option for a custom DNS resolution mechanism, defaults to dns.lookup() (Evan Lucas) #1505 * npm: Upgrade npm to 2.9.0. See the v2.8.4 and v2.9.0 release notes for details. Notable items: - Add support for default author field to make npm init -y work without user-input (@othiym23) npm/npm/d8eee6cf9d - Include local modules in npm outdated and npm update (@ArnaudRinquin) npm/npm#7426 - The prefix used before the version number on npm version is now configurable via tag-version-prefix (@kkragenbrink) npm/npm#8014 * os: os.tmpdir() is now cross-platform consistent and will no longer returns a path with a trailling slash on any platform (Christian Tellnes) #747 * process: - process.nextTick() performance has been improved by between 2-42% across the benchmark suite, notable because this is heavily used across core (Brian White) #1548 - New process.geteuid(), process.seteuid(id), process.getegid() and process.setegid(id) methods allow you to get and set effective UID and GID of the process (Evan Lucas) #1536 * repl: - REPL history can be persisted across sessions if the NODE_REPL_HISTORY_FILE environment variable is set to a user accessible file, NODE_REPL_HISTORY_SIZE can set the maximum history size and defaults to 1000 (Chris Dickinson) #1513 - The REPL can be placed in to one of three modes using the NODE_REPL_MODE environment variable: sloppy, strict or magic (default); the new magic mode will automatically run "strict mode only" statements in strict mode (Chris Dickinson) #1513 * smalloc: the 'smalloc' module has been deprecated due to changes coming in V8 4.4 that will render it unusable * util: add Promise, Map and Set inspection support (Christopher Monsanto) #1471 * V8: upgrade to 4.2.77.18, see the ChangeLog for full details. Notable items: - Classes have moved out of staging; the class keyword is now usable in strict mode without flags - Object literal enhancements have moved out of staging; shorthand method and property syntax is now usable ({ method() { }, property }) - Rest parameters (function(...args) {}) are implemented in staging behind the --harmony-rest-parameters flag - Computed property names ({['foo'+'bar']:'bam'}) are implemented in staging behind the --harmony-computed-property-names flag - Unicode escapes ('\u{xxxx}') are implemented in staging behind the --harmony_unicode flag and the --harmony_unicode_regexps flag for use in regular expressions * Windows: - Random process termination on Windows fixed (Fedor Indutny) #1512 / #1563 - The delay-load hook introduced to fix issues with process naming (iojs.exe / node.exe) has been made opt-out for native add-ons. Native add-ons should include 'win_delay_load_hook': 'false' in their binding.gyp to disable this feature if they experience problems . (Bert Belder) #1433 * Governance: - Rod Vagg (@rvagg) was added to the Technical Committee (TC) - Jeremiah Senkpiel (@Fishrock123) was added to the Technical Committee (TC)
2015-04-29 10:49:00 +00:00
## 2015-04-20, Version 1.8.1, @chrisdickinson
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.8.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.8.1</a>.
## 2015-04-14, Version 1.7.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.7.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.7.1</a>.
## 2015-04-14, Version 1.7.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.7.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.7.0</a>.
## 2015-04-06, Version 1.6.4, @Fishrock123
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.6.4">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.6.4</a>.
## 2015-03-31, Version 1.6.3, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.6.3">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.6.3</a>.
## 2015-03-31, Version 0.12.2 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.2">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.2</a>.
## 2015-03-23, Version 1.6.2, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.6.2">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.6.2</a>.
## 2015-03-23, Version 0.12.1 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.1">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.1</a>.
## 2015-03-23, Version 0.10.38 (Maintenance)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.38">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.38</a>.
## 2015-03-20, Version 1.6.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.6.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.6.1</a>.
## 2015-03-19, Version 1.6.0, @chrisdickinson
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.6.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.6.0</a>.
## 2015-03-11, Version 0.10.37 (Maintenance)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.37">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.37</a>.
## 2015-03-09, Version 1.5.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.5.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.5.1</a>.
## 2015-03-06, Version 1.5.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.5.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.5.0</a>.
## 2015-03-02, Version 1.4.3, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.4.3">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.4.3</a>.
## 2015-02-28, Version 1.4.2, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.4.2">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.4.2</a>.
## 2015-02-26, Version 1.4.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.4.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.4.1</a>.
## 2015-02-20, Version 1.3.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.3.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.3.0</a>.
## 2015-02-10, Version 1.2.0, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.2.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.2.0</a>.
## 2015-02-06, Version 0.12.0 (Stable)
<a href="doc/changelogs/CHANGELOG_V012.md#0.12.0">Moved to doc/changelogs/CHANGELOG\_V012.md#0.12.0</a>.
## 2015-02-03, Version 1.1.0, @chrisdickinson
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.1.0">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.1.0</a>.
## 2015-01-26, Version 0.10.36 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.36">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.36</a>.
## 2015-01-24, Version 1.0.4, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.0.4">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.0.4</a>.
## 2015-01-20, Version 1.0.3, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.0.3">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.0.3</a>.
## 2015-01-16, Version 1.0.2, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.0.2">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.0.2</a>.
## 2015-01-14, Version 1.0.1, @rvagg
<a href="doc/changelogs/CHANGELOG_IOJS.md#1.0.1">Moved to doc/changelogs/CHANGELOG\_IOJS.md#1.0.1</a>.
## 2014.09.24, Version 0.11.14 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.14">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.14</a>.
## 2014.05.01, Version 0.11.13 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.13">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.13</a>.
## 2014.03.11, Version 0.11.12 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.12</a>.
## 2014.01.29, Version 0.11.11 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.11</a>.
## 2013.12.31, Version 0.11.10 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.10</a>.
## 2013.11.20, Version 0.11.9 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.9</a>.
## 2013.10.30, Version 0.11.8 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.8</a>.
## 2013.08.21, Version 0.11.7 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.7</a>.
## 2013.08.21, Version 0.11.6 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.6</a>.
## 2013.08.06, Version 0.11.5 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.5</a>.
## 2013.07.12, Version 0.11.4 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.4</a>.
## 2013.06.26, Version 0.11.3 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.3</a>.
## 2013.05.13, Version 0.11.2 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.2</a>.
## 2013.04.19, Version 0.11.1 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.1</a>.
## 2013.03.28, Version 0.11.0 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.11.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.11.0</a>.
## 2014.12.22, Version 0.10.35 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.35">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.35</a>.
## 2014.12.17, Version 0.10.34 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.34">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.34</a>.
## 2014.10.20, Version 0.10.33 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.33">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.33</a>.
## 2014.09.16, Version 0.10.32 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.32">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.32</a>.
## 2014.08.19, Version 0.10.31 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.31">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.31</a>.
## 2014.07.31, Version 0.10.30 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.30">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.30</a>.
## 2014.06.05, Version 0.10.29 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.29">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.29</a>.
## 2014.05.01, Version 0.10.28 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.28">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.28</a>.
## 2014.05.01, Version 0.10.27 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.27">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.27</a>.
## 2014.02.18, Version 0.10.26 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.26">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.26</a>.
## 2014.01.23, Version 0.10.25 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.25">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.25</a>.
## 2013.12.18, Version 0.10.24 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.24">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.24</a>.
## 2013.12.12, Version 0.10.23 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.23">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.23</a>.
## 2013.11.12, Version 0.10.22 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.22">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.22</a>.
## 2013.10.18, Version 0.10.21 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.21">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.21</a>.
## 2013.09.30, Version 0.10.20 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.20">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.20</a>.
## 2013.09.24, Version 0.10.19 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.19">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.19</a>.
## 2013.09.04, Version 0.10.18 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.18">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.18</a>.
## 2013.08.21, Version 0.10.17 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.17">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.17</a>.
## 2013.08.16, Version 0.10.16 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.16">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.16</a>.
## 2013.07.25, Version 0.10.15 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.15">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.15</a>.
## 2013.07.25, Version 0.10.14 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.14">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.14</a>.
## 2013.07.09, Version 0.10.13 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.13">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.13</a>.
## 2013.06.18, Version 0.10.12 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.12">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.12</a>.
## 2013.06.13, Version 0.10.11 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.11">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.11</a>.
## 2013.06.04, Version 0.10.10 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.10">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.10</a>.
## 2013.05.30, Version 0.10.9 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.9">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.9</a>.
## 2013.05.24, Version 0.10.8 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.8">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.8</a>.
## 2013.05.17, Version 0.10.7 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.7">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.7</a>.
## 2013.05.14, Version 0.10.6 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.6">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.6</a>.
## 2013.04.23, Version 0.10.5 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.5">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.5</a>.
## 2013.04.11, Version 0.10.4 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.4">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.4</a>.
## 2013.04.03, Version 0.10.3 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.3">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.3</a>.
## 2013.03.28, Version 0.10.2 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.2">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.2</a>.
## 2013.03.21, Version 0.10.1 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.1">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.1</a>.
## 2013.03.11, Version 0.10.0 (Stable)
<a href="doc/changelogs/CHANGELOG_V010.md#0.10.0">Moved to doc/changelogs/CHANGELOG\_V010.md#0.10.0</a>.
## 2013.03.06, Version 0.9.12 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.12</a>.
## 2013.03.01, Version 0.9.11 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.11</a>.
## 2013.02.19, Version 0.9.10 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.10</a>.
## 2013.02.07, Version 0.9.9 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.9</a>.
## 2013.01.24, Version 0.9.8 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.8</a>.
## 2013.01.18, Version 0.9.7 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.7</a>.
## 2013.01.11, Version 0.9.6 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.6</a>.
## 2012.12.30, Version 0.9.5 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.5</a>.
## 2012.12.21, Version 0.9.4 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.4</a>.
## 2012.10.24, Version 0.9.3 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.3</a>.
## 2012.09.17, Version 0.9.2 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.2</a>.
## 2012.08.28, Version 0.9.1 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.1</a>.
## 2012.07.20, Version 0.9.0 (Unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.9.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.9.0</a>.
## 2013.06.13, Version 0.8.25 (maintenance)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.25">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.25</a>.
## 2013.06.04, Version 0.8.24 (maintenance)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.24">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.24</a>.
## 2013.04.09, Version 0.8.23 (maintenance)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.23">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.23</a>.
## 2013.03.07, Version 0.8.22 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.22">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.22</a>.
## 2013.02.25, Version 0.8.21 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.21">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.21</a>.
## 2013.02.15, Version 0.8.20 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.20">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.20</a>.
## 2013.02.06, Version 0.8.19 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.19">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.19</a>.
## 2013.01.18, Version 0.8.18 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.18">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.18</a>.
## 2013.01.09, Version 0.8.17 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.17">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.17</a>.
## 2012.12.13, Version 0.8.16 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.16">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.16</a>.
## 2012.11.26, Version 0.8.15 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.15">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.15</a>.
## 2012.10.25, Version 0.8.14 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.14">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.14</a>.
## 2012.10.25, Version 0.8.13 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.13">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.13</a>.
## 2012.10.12, Version 0.8.12 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.12</a>.
## 2012.09.27, Version 0.8.11 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.11</a>.
## 2012.09.25, Version 0.8.10 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.10</a>.
## 2012.09.11, Version 0.8.9 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.9</a>.
## 2012.08.22, Version 0.8.8 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.8</a>.
## 2012.08.15, Version 0.8.7 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.7</a>.
## 2012.08.07, Version 0.8.6 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.6</a>.
## 2012.08.02, Version 0.8.5 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.5</a>.
## 2012.07.25, Version 0.8.4 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.4</a>.
## 2012.07.19, Version 0.8.3 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.3</a>.
## 2012.07.09, Version 0.8.2 (Stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.2</a>.
## 2012.06.29, Version 0.8.1 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.1</a>.
## 2012.06.25, Version 0.8.0 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.8.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.8.0</a>.
## 2012.06.19, Version 0.7.12 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.12</a>.
## 2012.06.15, Version 0.7.11 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.11</a>.
## 2012.06.11, Version 0.7.10 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.10</a>.
## 2012.05.28, Version 0.7.9 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.9</a>.
## 2012.04.18, Version 0.7.8 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.8</a>.
## 2012.03.30, Version 0.7.7 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.7</a>.
## 2012.03.13, Version 0.7.6 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.6</a>.
## 2012.02.23, Version 0.7.5 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.5</a>.
## 2012.02.14, Version 0.7.4 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.4</a>.
## 2012.02.07, Version 0.7.3 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.3</a>.
## 2012.02.01, Version 0.7.2 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.2</a>.
## 2012.01.23, Version 0.7.1 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.1</a>.
## 2012.01.16, Version 0.7.0 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.7.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.7.0</a>.
## 2012.07.10 Version 0.6.20 (maintenance)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.20">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.20</a>.
## 2012.06.06 Version 0.6.19 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.19">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.19</a>.
## 2012.05.15 Version 0.6.18 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.18">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.18</a>.
## 2012.05.04 Version 0.6.17 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.17">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.17</a>.
## 2012.04.30 Version 0.6.16 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.16">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.16</a>.
## 2012.04.09 Version 0.6.15 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.15">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.15</a>.
## 2012.03.22 Version 0.6.14 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.14">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.14</a>.
## 2012.03.15 Version 0.6.13 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.13">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.13</a>.
## 2012.03.02 Version 0.6.12 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.12</a>.
## 2012.02.17 Version 0.6.11 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.11</a>.
## 2012.02.02, Version 0.6.10 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.10</a>.
## 2012.01.27, Version 0.6.9 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.9</a>.
## 2012.01.19, Version 0.6.8 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.8</a>.
## 2012.01.06, Version 0.6.7 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.7</a>.
## 2011.12.14, Version 0.6.6 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.6</a>.
## 2011.12.04, Version 0.6.5 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.5</a>.
## 2011.12.02, Version 0.6.4 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.4</a>.
## 2011.11.25, Version 0.6.3 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.3</a>.
## 2011.11.18, Version 0.6.2 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.2</a>.
## 2011.11.11, Version 0.6.1 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.1</a>.
## 2011.11.04, Version 0.6.0 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.6.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.6.0</a>.
## 2011.10.21, Version 0.5.10 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.10</a>.
## 2011.10.10, Version 0.5.9 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.9</a>.
## 2011.09.30, Version 0.5.8 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.8</a>.
## 2011.09.16, Version 0.5.7 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.7</a>.
## 2011.09.08, Version 0.5.6 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.6</a>.
## 2011.08.26, Version 0.5.5 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.5</a>.
## 2011.08.12, Version 0.5.4 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.4</a>.
## 2011.08.01, Version 0.5.3 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.3</a>.
## 2011.07.22, Version 0.5.2 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.2</a>.
## 2011.07.14, Version 0.5.1 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.1</a>.
## 2011.07.05, Version 0.5.0 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.5.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.5.0</a>.
## 2011.09.15, Version 0.4.12 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.12</a>.
## 2011.08.17, Version 0.4.11 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.11</a>.
## 2011.07.19, Version 0.4.10 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.10</a>.
## 2011.06.29, Version 0.4.9 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.9</a>.
## 2011.05.20, Version 0.4.8 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.8</a>.
## 2011.04.22, Version 0.4.7 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.7</a>.
## 2011.04.13, Version 0.4.6 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.6</a>.
## 2011.04.01, Version 0.4.5 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.5</a>.
## 2011.03.26, Version 0.4.4 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.4</a>.
## 2011.03.18, Version 0.4.3 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.3</a>.
## 2011.03.02, Version 0.4.2 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.2</a>.
## 2011.02.19, Version 0.4.1 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.1</a>.
## 2011.02.10, Version 0.4.0 (stable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.4.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.4.0</a>.
## 2011.02.04, Version 0.3.8 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.8</a>.
## 2011.01.27, Version 0.3.7 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.7</a>.
## 2011.01.21, Version 0.3.6 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.6</a>.
## 2011.01.16, Version 0.3.5 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.5</a>.
## 2011.01.08, Version 0.3.4 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.4</a>.
## 2011.01.02, Version 0.3.3 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.3</a>.
## 2010.12.16, Version 0.3.2 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.2</a>.
## 2010.11.16, Version 0.3.1 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.1</a>.
## 2010.10.23, Version 0.3.0 (unstable)
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.3.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.3.0</a>.
## 2010.08.20, Version 0.2.0
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.2.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.2.0</a>.
## 2010.08.13, Version 0.1.104
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.104">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.104</a>.
## 2010.08.04, Version 0.1.103
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.103">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.103</a>.
## 2010.07.25, Version 0.1.102
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.102">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.102</a>.
## 2010.07.16, Version 0.1.101
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.101">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.101</a>.
## 2010.07.03, Version 0.1.100
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.100">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.100</a>.
## 2010.06.21, Version 0.1.99
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.99">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.99</a>.
## 2010.06.11, Version 0.1.98
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.98">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.98</a>.
## 2010.05.29, Version 0.1.97
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.97">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.97</a>.
## 2010.05.21, Version 0.1.96
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.96">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.96</a>.
## 2010.05.13, Version 0.1.95
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.95">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.95</a>.
## 2010.05.06, Version 0.1.94
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.94">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.94</a>.
## 2010.04.29, Version 0.1.93
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.93">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.93</a>.
## 2010.04.23, Version 0.1.92
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.92">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.92</a>.
## 2010.04.15, Version 0.1.91
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.91">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.91</a>.
## 2010.04.09, Version 0.1.90
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.90">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.90</a>.
## 2010.03.19, Version 0.1.33
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.33">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.33</a>.
## 2010.03.12, Version 0.1.32
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.32">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.32</a>.
## 2010.03.05, Version 0.1.31
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.31">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.31</a>.
## 2010.02.22, Version 0.1.30
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.30">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.30</a>.
## 2010.02.17, Version 0.1.29
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.29">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.29</a>.
## 2010.02.09, Version 0.1.28
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.28">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.28</a>.
## 2010.02.03, Version 0.1.27
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.27">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.27</a>.
## 2010.01.20, Version 0.1.26
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.26">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.26</a>.
## 2010.01.09, Version 0.1.25
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.25">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.25</a>.
## 2009.12.31, Version 0.1.24
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.24">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.24</a>.
## 2009.12.22, Version 0.1.23
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.23">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.23</a>.
## 2009.12.19, Version 0.1.22
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.22">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.22</a>.
## 2009.12.06, Version 0.1.21
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.21">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.21</a>.
## 2009.11.28, Version 0.1.20
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.20">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.20</a>.
## 2009.11.28, Version 0.1.19
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.19">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.19</a>.
## 2009.11.17, Version 0.1.18
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.18">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.18</a>.
## 2009.11.07, Version 0.1.17
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.17">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.17</a>.
## 2009.11.03, Version 0.1.16
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.16">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.16</a>.
## 2009.10.28, Version 0.1.15
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.15">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.15</a>.
## 2009.10.09, Version 0.1.14
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.14">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.14</a>.
## 2009.09.30, Version 0.1.13
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.13">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.13</a>.
## 2009.09.24, Version 0.1.12
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.12">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.12</a>.
## 2009.09.18, Version 0.1.11
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.11">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.11</a>.
## 2009.09.11, Version 0.1.10
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.10">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.10</a>.
## 2009.09.05, Version 0.1.9
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.9">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.9</a>.
## 2009.09.04, Version 0.1.8
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.8">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.8</a>.
## 2009.08.27, Version 0.1.7
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.7">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.7</a>.
## 2009.08.22, Version 0.1.6
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.6</a>.
## 2009.08.21, Version 0.1.5
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.5">Moved to doc/changelogs/CHANGELOG\_V6.md#6.0.0</a>.
## 2009.08.13, Version 0.1.4
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.4</a>.
## 2009.08.06, Version 0.1.3
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.3</a>.
## 2009.08.01, Version 0.1.2
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.2">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.2</a>.
## 2009.07.27, Version 0.1.1
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.1">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.1</a>.
## 2009.06.30, Version 0.1.0
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.1.0">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.1.0</a>.
## 2009.06.24, Version 0.0.6
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.0.6">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.0.6</a>.
## 2009.06.18, Version 0.0.5
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.0.5">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.0.5</a>.
## 2009.06.13, Version 0.0.4
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.0.4">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.0.4</a>.
## 2009.06.11, Version 0.0.3
<a href="doc/changelogs/CHANGELOG_ARCHIVE.md#0.0.3">Moved to doc/changelogs/CHANGELOG\_ARCHIVE.md#0.0.3</a>.