diff --git a/CHANGELOG.md b/CHANGELOG.md index 50494140ae0c32..20008f19ed34df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,8 @@ release. - 7.7.0
+ 7.7.1
+ 7.7.0
7.6.0
7.5.0
7.4.0
diff --git a/doc/changelogs/CHANGELOG_V7.md b/doc/changelogs/CHANGELOG_V7.md index b1d3310a0668e9..2b63c5a07c6abf 100644 --- a/doc/changelogs/CHANGELOG_V7.md +++ b/doc/changelogs/CHANGELOG_V7.md @@ -6,7 +6,8 @@ -7.7.0
+7.7.1
+7.7.0
7.6.0
7.5.0
7.4.0
@@ -28,6 +29,24 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + +## 2017-03-01, Version 7.7.1 (Current), @italoacasas + +### Notables changes + +Node.js 7.7.0 contains a bug that will prevent all native modules from building, this patch should fix the issue. Apologies to everyone who was affected by 7.7.0. + +### Commits + +* [[`c8e34b61f6`](https://github.com/nodejs/node/commit/c8e34b61f6)] - **build**: add missing src/tracing header files (Daniel Bevenius) [#10851](https://github.com/nodejs/node/pull/10851) +* [[`96f55f9e59`](https://github.com/nodejs/node/commit/96f55f9e59)] - **src**: move trace_event.h include to internal header (Ben Noordhuis) [#10959](https://github.com/nodejs/node/pull/10959) +* [[`30c80cbe6f`](https://github.com/nodejs/node/commit/30c80cbe6f)] - **src**: fix TracingController cleanup (Jason Ginchereau) [#10623](https://github.com/nodejs/node/pull/10623) +* [[`b89b2a7d36`](https://github.com/nodejs/node/commit/b89b2a7d36)] - **src**: always initialize tracing controller in agent (Matt Loring) [#10507](https://github.com/nodejs/node/pull/10507) +* [[`54e55e05ca`](https://github.com/nodejs/node/commit/54e55e05ca)] - **test**: make test-intl-no-icu-data more robust (Michaël Zasso) [#10992](https://github.com/nodejs/node/pull/10992) +* [[`7b253eb3ed`](https://github.com/nodejs/node/commit/7b253eb3ed)] - **test**: increase strictness for test-trace-event (Rich Trott) [#11065](https://github.com/nodejs/node/pull/11065) +* [[`3dc4a5f1f4`](https://github.com/nodejs/node/commit/3dc4a5f1f4)] - **tracing**: fix -Wunused-private-field warning (Santiago Gimeno) [#10416](https://github.com/nodejs/node/pull/10416) +* [[`8a918bf411`](https://github.com/nodejs/node/commit/8a918bf411)] - **tracing**: fix -Wreorder warning (Santiago Gimeno) [#10416](https://github.com/nodejs/node/pull/10416) + ## 2017-02-28, Version 7.7.0 (Current), @italoacasas @@ -47,8 +66,8 @@ This release contains a deprecation warning for `node --debug`. You can find mor ### Commits -* [[`18599fc3d7`](https://github.com/nodejs/node/commit/18599fc3d7)] - doc/url: various improvements to WHATWG API (Timothy Gu) -* [[`e7d37a3f09`](https://github.com/nodejs/node/commit/e7d37a3f09)] - tools/doc: add more intrinsic and custom types (Timothy Gu) +* [[`18599fc3d7`](https://github.com/nodejs/node/commit/18599fc3d7)] - doc/url: various improvements to WHATWG API (Timothy Gu) +* [[`e7d37a3f09`](https://github.com/nodejs/node/commit/e7d37a3f09)] - tools/doc: add more intrinsic and custom types (Timothy Gu) * [[`6bcc841786`](https://github.com/nodejs/node/commit/6bcc841786)] - **assert**: apply minor refactoring (Rich Trott) [#11511](https://github.com/nodejs/node/pull/11511) * [[`6a2f330dbd`](https://github.com/nodejs/node/commit/6a2f330dbd)] - **assert**: remove unneeded condition (Rich Trott) [#11314](https://github.com/nodejs/node/pull/11314) * [[`0762482339`](https://github.com/nodejs/node/commit/0762482339)] - **assert**: unlock the assert API (Rich Trott) [#11304](https://github.com/nodejs/node/pull/11304) @@ -56,8 +75,8 @@ This release contains a deprecation warning for `node --debug`. You can find mor * [[`3951bd9ac1`](https://github.com/nodejs/node/commit/3951bd9ac1)] - **benchmark**: strip BOM in dgram/bind-params (Anna Henningsen) [#11479](https://github.com/nodejs/node/pull/11479) * [[`e1573b9fb7`](https://github.com/nodejs/node/commit/e1573b9fb7)] - **benchmark**: add dgram bind(+/- params) benchmark (Vse Mozhet Byt) [#11313](https://github.com/nodejs/node/pull/11313) * [[`48f6660d78`](https://github.com/nodejs/node/commit/48f6660d78)] - **benchmark**: fix timer display in progress output (Brian White) [#11235](https://github.com/nodejs/node/pull/11235) -* [[`5a81031fd8`](https://github.com/nodejs/node/commit/5a81031fd8)] - **benchmark**: clean up legacy url benchmarks (Joyee Cheung) -* [[`7e37628c51`](https://github.com/nodejs/node/commit/7e37628c51)] - **benchmark**: add url/url-searchparams-sort.js (Timothy Gu) +* [[`5a81031fd8`](https://github.com/nodejs/node/commit/5a81031fd8)] - **benchmark**: clean up legacy url benchmarks (Joyee Cheung) +* [[`7e37628c51`](https://github.com/nodejs/node/commit/7e37628c51)] - **benchmark**: add url/url-searchparams-sort.js (Timothy Gu) * [[`4ffad094ba`](https://github.com/nodejs/node/commit/4ffad094ba)] - **buffer**: refactor slowToString (James M Snell) [#11358](https://github.com/nodejs/node/pull/11358) * [[`d08a8e68e8`](https://github.com/nodejs/node/commit/d08a8e68e8)] - **buffer**: avoid use of arguments (James M Snell) [#11358](https://github.com/nodejs/node/pull/11358) * [[`4408437796`](https://github.com/nodejs/node/commit/4408437796)] - **build**: add rule to clean addon tests build (Joyee Cheung) [#11519](https://github.com/nodejs/node/pull/11519) @@ -123,7 +142,7 @@ This release contains a deprecation warning for `node --debug`. You can find mor * [[`ef1731d972`](https://github.com/nodejs/node/commit/ef1731d972)] - **doc**: add missing function to test common doc (Rich Trott) [#11382](https://github.com/nodejs/node/pull/11382) * [[`c3c874f514`](https://github.com/nodejs/node/commit/c3c874f514)] - **doc**: dns examples implied string args were arrays (Sam Roberts) [#11350](https://github.com/nodejs/node/pull/11350) * [[`5f1a568ccc`](https://github.com/nodejs/node/commit/5f1a568ccc)] - **doc**: describe when stdout/err is sync (Sam Roberts) [#10884](https://github.com/nodejs/node/pull/10884) -* [[`5a2db15736`](https://github.com/nodejs/node/commit/5a2db15736)] - **doc**: add documentation for url.format(URL\[, options\]); (James M Snell) +* [[`5a2db15736`](https://github.com/nodejs/node/commit/5a2db15736)] - **doc**: add documentation for url.format(URL\[, options\]); (James M Snell) * [[`4d7c9427c1`](https://github.com/nodejs/node/commit/4d7c9427c1)] - **doc**: synchronize + update _toc.md and all.md (Vse Mozhet Byt) [#11206](https://github.com/nodejs/node/pull/11206) * [[`6a45265e81`](https://github.com/nodejs/node/commit/6a45265e81)] - **doc**: update code examples in domain.md (Vse Mozhet Byt) [#11110](https://github.com/nodejs/node/pull/11110) * [[`89b66dc636`](https://github.com/nodejs/node/commit/89b66dc636)] - **doc,test**: args to `buffer.copy` can be Uint8Arrays (Anna Henningsen) [#11486](https://github.com/nodejs/node/pull/11486) @@ -184,7 +203,7 @@ This release contains a deprecation warning for `node --debug`. You can find mor * [[`348f2ef59f`](https://github.com/nodejs/node/commit/348f2ef59f)] - **test**: improve crypto coverage (Akito Ito) [#11280](https://github.com/nodejs/node/pull/11280) * [[`e7978f04a4`](https://github.com/nodejs/node/commit/e7978f04a4)] - **test**: cover dgram socket close during cluster bind (cjihrig) [#11292](https://github.com/nodejs/node/pull/11292) * [[`66081d1ddb`](https://github.com/nodejs/node/commit/66081d1ddb)] - **test**: increase coverage of buffer (DavidCai) [#11312](https://github.com/nodejs/node/pull/11312) -* [[`7aaa960f4c`](https://github.com/nodejs/node/commit/7aaa960f4c)] - **test, url**: synchronize WPT url tests (Joyee Cheung) +* [[`7aaa960f4c`](https://github.com/nodejs/node/commit/7aaa960f4c)] - **test, url**: synchronize WPT url tests (Joyee Cheung) * [[`506a1cb03f`](https://github.com/nodejs/node/commit/506a1cb03f)] - **timer,domain**: maintain order of timer callbacks (John Barboza) [#10522](https://github.com/nodejs/node/pull/10522) * [[`4e327708a9`](https://github.com/nodejs/node/commit/4e327708a9)] - **(SEMVER-MINOR)** **tls**: new tls.TLSSocket() supports sec ctx options (Sam Roberts) [#11005](https://github.com/nodejs/node/pull/11005) * [[`f37ab7968e`](https://github.com/nodejs/node/commit/f37ab7968e)] - **tls**: do not crash on STARTTLS when OCSP requested (Fedor Indutny) [#10706](https://github.com/nodejs/node/pull/10706) @@ -197,8 +216,8 @@ This release contains a deprecation warning for `node --debug`. You can find mor * [[`5f10827248`](https://github.com/nodejs/node/commit/5f10827248)] - **url**: fix handling of ? in URLSearchParams creation (Timothy Gu) [#11372](https://github.com/nodejs/node/pull/11372) * [[`72da362d6e`](https://github.com/nodejs/node/commit/72da362d6e)] - **url**: fix file state clarification in binding (Daijiro Wachi) [#11123](https://github.com/nodejs/node/pull/11123) * [[`4366ab539f`](https://github.com/nodejs/node/commit/4366ab539f)] - **url**: implement URL.prototype.toJSON (Michaël Zasso) [#11236](https://github.com/nodejs/node/pull/11236) -* [[`8dbd562590`](https://github.com/nodejs/node/commit/8dbd562590)] - **url**: fix surrogate handling in encodeAuth() (Timothy Gu) -* [[`c25c16cc1b`](https://github.com/nodejs/node/commit/c25c16cc1b)] - **url**: add urlSearchParams.sort() (Timothy Gu) +* [[`8dbd562590`](https://github.com/nodejs/node/commit/8dbd562590)] - **url**: fix surrogate handling in encodeAuth() (Timothy Gu) +* [[`c25c16cc1b`](https://github.com/nodejs/node/commit/c25c16cc1b)] - **url**: add urlSearchParams.sort() (Timothy Gu) * [[`d8cb65aa6e`](https://github.com/nodejs/node/commit/d8cb65aa6e)] - **url, test**: synchronize WPT url tests for file URL (Daijiro Wachi) [#11123](https://github.com/nodejs/node/pull/11123) * [[`237db9c497`](https://github.com/nodejs/node/commit/237db9c497)] - **util**: cleanup internalUtil.deprecate (James M Snell) [#11450](https://github.com/nodejs/node/pull/11450) * [[`95bee8f202`](https://github.com/nodejs/node/commit/95bee8f202)] - **util**: eliminate unnecessary exports (James M Snell) [#11451](https://github.com/nodejs/node/pull/11451) diff --git a/node.gyp b/node.gyp index 20167458d4c5ef..c12fb4c0cf79f4 100644 --- a/node.gyp +++ b/node.gyp @@ -234,6 +234,9 @@ 'src/stream_base.h', 'src/stream_base-inl.h', 'src/stream_wrap.h', + 'src/tracing/agent.h', + 'src/tracing/node_trace_buffer.h', + 'src/tracing/node_trace_writer.h', 'src/tracing/trace_event.h' 'src/tree.h', 'src/util.h', diff --git a/src/node.h b/src/node.h index 24ebce87c8fdfc..1255a4af7f11ce 100644 --- a/src/node.h +++ b/src/node.h @@ -41,7 +41,6 @@ #include "v8.h" // NOLINT(build/include_order) #include "node_version.h" // NODE_MODULE_VERSION -#include "tracing/trace_event.h" #define NODE_MAKE_VERSION(major, minor, patch) \ ((major) * 0x1000 + (minor) * 0x100 + (patch)) diff --git a/src/node_internals.h b/src/node_internals.h index b68594162b8ab8..156d934d0ec004 100644 --- a/src/node_internals.h +++ b/src/node_internals.h @@ -8,6 +8,7 @@ #include "util-inl.h" #include "uv.h" #include "v8.h" +#include "tracing/trace_event.h" #include #include diff --git a/src/node_version.h b/src/node_version.h index 2065e0650b5e7f..ee30c0e8bbc545 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -5,7 +5,7 @@ #define NODE_MINOR_VERSION 7 #define NODE_PATCH_VERSION 1 -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) diff --git a/src/tracing/agent.cc b/src/tracing/agent.cc index 97a3e11a2c458c..ceab09e5a2789c 100644 --- a/src/tracing/agent.cc +++ b/src/tracing/agent.cc @@ -56,7 +56,9 @@ void Agent::Stop() { // Perform final Flush on TraceBuffer. We don't want the tracing controller // to flush the buffer again on destruction of the V8::Platform. tracing_controller_->StopTracing(); - delete tracing_controller_; + tracing_controller_->Initialize(nullptr); + tracing_controller_ = nullptr; + // Thread should finish when the tracing loop is stopped. uv_thread_join(&thread_); v8::platform::SetTracingController(platform_, nullptr); diff --git a/src/tracing/agent.h b/src/tracing/agent.h index 098f955192e0cf..f6cb5af97f4bbc 100644 --- a/src/tracing/agent.h +++ b/src/tracing/agent.h @@ -22,7 +22,7 @@ class Agent { uv_thread_t thread_; uv_loop_t tracing_loop_; v8::Platform* platform_ = nullptr; - TracingController* tracing_controller_; + TracingController* tracing_controller_ = nullptr; }; } // namespace tracing diff --git a/src/tracing/node_trace_buffer.cc b/src/tracing/node_trace_buffer.cc index 4773e08325a3ef..4e99361cbefee3 100644 --- a/src/tracing/node_trace_buffer.cc +++ b/src/tracing/node_trace_buffer.cc @@ -4,9 +4,9 @@ namespace node { namespace tracing { InternalTraceBuffer::InternalTraceBuffer(size_t max_chunks, uint32_t id, - NodeTraceWriter* trace_writer, NodeTraceBuffer* external_buffer) - : id_(id), flushing_(false), max_chunks_(max_chunks), - trace_writer_(trace_writer), external_buffer_(external_buffer) { + NodeTraceWriter* trace_writer) + : flushing_(false), max_chunks_(max_chunks), + trace_writer_(trace_writer), id_(id) { chunks_.resize(max_chunks); } @@ -89,8 +89,8 @@ void InternalTraceBuffer::ExtractHandle( NodeTraceBuffer::NodeTraceBuffer(size_t max_chunks, NodeTraceWriter* trace_writer, uv_loop_t* tracing_loop) : tracing_loop_(tracing_loop), trace_writer_(trace_writer), - buffer1_(max_chunks, 0, trace_writer, this), - buffer2_(max_chunks, 1, trace_writer, this) { + buffer1_(max_chunks, 0, trace_writer), + buffer2_(max_chunks, 1, trace_writer) { current_buf_.store(&buffer1_); flush_signal_.data = this; diff --git a/src/tracing/node_trace_buffer.h b/src/tracing/node_trace_buffer.h index 619799fdb21978..296c958b80e3fa 100644 --- a/src/tracing/node_trace_buffer.h +++ b/src/tracing/node_trace_buffer.h @@ -20,8 +20,7 @@ class NodeTraceBuffer; class InternalTraceBuffer { public: InternalTraceBuffer(size_t max_chunks, uint32_t id, - NodeTraceWriter* trace_writer, - NodeTraceBuffer* external_buffer); + NodeTraceWriter* trace_writer); TraceObject* AddTraceEvent(uint64_t* handle); TraceObject* GetEventByHandle(uint64_t handle); @@ -44,7 +43,6 @@ class InternalTraceBuffer { bool flushing_; size_t max_chunks_; NodeTraceWriter* trace_writer_; - NodeTraceBuffer* external_buffer_; std::vector> chunks_; size_t total_chunks_ = 0; uint32_t current_chunk_seq_ = 1; diff --git a/test/parallel/test-intl-no-icu-data.js b/test/parallel/test-intl-no-icu-data.js index ce5e9a08121cdc..695a4698b56738 100644 --- a/test/parallel/test-intl-no-icu-data.js +++ b/test/parallel/test-intl-no-icu-data.js @@ -4,6 +4,5 @@ require('../common'); const assert = require('assert'); const config = process.binding('config'); -// No-op when ICU case mappings are unavailable. -assert.strictEqual('ç'.toLocaleUpperCase('el'), 'ç'); +assert.deepStrictEqual(Intl.NumberFormat.supportedLocalesOf('en'), []); assert.strictEqual(config.icuDataDir, 'test/fixtures/empty/'); diff --git a/test/parallel/test-trace-event.js b/test/parallel/test-trace-event.js index 18734705834407..fde718d7bc06fb 100644 --- a/test/parallel/test-trace-event.js +++ b/test/parallel/test-trace-event.js @@ -21,15 +21,19 @@ proc_no_categories.once('exit', common.mustCall(() => { proc.once('exit', common.mustCall(() => { assert(common.fileExists(FILE_NAME)); - fs.readFile(FILE_NAME, (err, data) => { + fs.readFile(FILE_NAME, common.mustCall((err, data) => { const traces = JSON.parse(data.toString()).traceEvents; assert(traces.length > 0); // Values that should be present on all runs to approximate correctness. - assert(traces.some((trace) => { return trace.pid === proc.pid; })); - assert(traces.some((trace) => { return trace.cat === 'v8'; })); assert(traces.some((trace) => { - return trace.name === 'V8.ScriptCompiler'; + if (trace.pid !== proc.pid) + return false; + if (trace.cat !== 'v8') + return false; + if (trace.name !== 'V8.ScriptCompiler') + return false; + return true; })); - }); + })); })); }));