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
@@ -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;
}));
- });
+ }));
}));
}));
|