-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v9.7.0 proposal #19040
v9.7.0 proposal #19040
Conversation
Currently the following deprecation warning is produced when compiling node_perf.cc: ./src/node_perf.cc:91:11: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations] node::MakeCallback(env->isolate(), ^ ../src/node.h:172:50: note: 'MakeCallback' has been explicitly marked deprecated here NODE_EXTERN v8::Local<v8::Value> MakeCallback( ^ 1 warning generated. This commit adds an async_context to the call and checks the maybe result. PR-URL: #18877 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
PR-URL: #18908 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: #18816 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This fixes a few rules by making sure the input is actually ready to be checked. Otherwise those can throw TypeErrors or result in faulty error messages. PR-URL: #18853 Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Removes extra erroor messages when Python is not installed. Removes "vswhere not found" message when no VS2017 installation is found. Adds support for DEBUG_HELPER to vcbuild.bat. Fixes: #16864 PR-URL: #17015 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Set `socket._httpMessage` to `null` before emitting the `'connect'` or `'upgrade'` event. PR-URL: #18865 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
PR-URL: #18859 Reviewed-By: James M Snell <jasnell@gmail.com>
When create a nest repl, will register `Runtime.executionContextCreated` listener to the inspector session.This patch will fix listener repeatedly register. PR-URL: #18881 Fixes: #18284 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Remove an erroneous CHECK that asserted the persistent object's internal field pointer still pointed to a valid object. If ClearWrap() has been called, the field pointer equals nullptr and that is expected behavior. PR-URL: #18898 Fixes: #18256 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matheus Marchini <matheus@sthima.com>
Ensure that the default `'drain'` listener is removed before the `'connect'` or `'upgrade'` event is emitted. PR-URL: #18866 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Remove link to the outdated members team PR-URL: #18878 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matheus Marchini <matheus@sthima.com>
No need to announce obvious example code as being example code. Remove unneeded "for example" text as one small way to try to keep the docs more concise.. PR-URL: #18890 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matheus Marchini <matheus@sthima.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
PR-URL: #18613 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
PR-URL: #18918 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
PR-URL: #18952 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit removes unneccessary node namespace qualifiers in node.cc for consistency. PR-URL: #18962 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
`readable.push()` supports `undefined` in non-object mode, but it was not previously documented. PR-URL: #18283 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Fixes: #18639 PR-URL: #18716 Refs: #18639 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matheus Marchini <matheus@sthima.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Because it is no longer possible to add someone to the nodejs GitHub organization if they do not have two-factor authentication enabled, update the text of the onboarding documentatino to reflect this. PR-URL: #18968 Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Shingo Inoue <leko.noor@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matheus Marchini <matheus@sthima.com>
PR-URL: #18960 Fixes: #18197 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Matheus Marchini <matheus@sthima.com> Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
Removed * Returns: {undefined} in doc/ to prevent confusing users PR-URL: #18951 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
I mistakenly introduced user defined variables using uppercase characters, reading the gyp documentation they state: "Predefined variables. By convention, these are named with CAPITAL_LETTERS. Predefined variables are set automatically by GYP" and also "By convention, user-defined variables are named with lowercase_letters." This commit renames the user defined variables to lowercase to follow the above mentioned convention. Backport-PR-URL: #18899 PR-URL: #16238 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
`node --prof foo.js` may not print the full profile log file, leaving the last line broken (for example `tick,`. When that happens, `readline` will be stuck in an infinite loop. This patch fixes it. Also introduced `common.isCPPSymbolsNotMapped` to avoid duplicated code on tick-processor tests. Backport-PR-URL: #18901 PR-URL: #18641 Reviewed-By: Khaidi Chu <i@2333.moe> Reviewed-By: Matheus Marchini <matheus@sthima.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Add libuv and zlib into node executable and shared lib. Also fix an issue that openssl is not fully included in node executable for macOS. Signed-off-by: Yihong Wang <yh.wang@ibm.com> Fixes: #17444 PR-URL: #18383 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This avoids routing writes through the full LibuvStreamWrap write machinery. In particular, it enables the next commit, because otherwise the callback passed to `_write()` would not be called synchronously for pipes on Windows (because the latter does not support `uv_try_write()`, even for blocking I/O). PR-URL: #18019 Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Tests are passing without it, and this otherwise makes the code harder to reason about because the `async` flag on the write request object would not be set even though the callback would still be pending. PR-URL: #18019 Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
PR-URL: #18019 Reviewed-By: James M Snell <jasnell@gmail.com>
This broke writing non-ASCII data to the console on Windows because the result would be codepage-dependent. This partially reverts 8b751f7. Fixes: #18189 Refs: #18019 PR-URL: #18214 Fixes: #18189 Refs: #18019 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Otherwise `this[kCurrentWriteRequest]` is set to a value even if one of the `write` calls throws. This is needed in order not to break tests in a later commit. PR-URL: #18676 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #18676 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Encapsulate stream requests more: - `WriteWrap` and `ShutdownWrap` classes are now tailored to the streams on which they are used. In particular, for most streams these are now plain `AsyncWrap`s and do not carry the overhead of unused libuv request data. - Provide generic `Write()` and `Shutdown()` methods that wrap around the actual implementations, and make *usage* of streams easier, rather than implementing; for example, wrap objects don’t need to be provided by callers anymore. - Use `EmitAfterWrite()` and `EmitAfterShutdown()` handlers to call the corresponding JS handlers, rather than always trying to call them. This makes usage of streams by other C++ code easier and leaner. Also fix up some tests that were previously not actually testing asynchronicity when the comments indicated that they would. PR-URL: #18676 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
The root cause is that `req_wrap` is created in `StreamBase::Write` and passed to `TLSWrap::DoWrite`. In the TLS case the object gets disposed and replaced with a new instance, but the caller's pointer is never updated. When the `StreamBase::Write` method returns, it returns a pointer to the freed object to the caller. In some cases when the object memory has already been reused an assert is hit in `WriteWrap::SetAllocatedStorage` because the pointer is non-null. PR-URL: #18860 Refs: #18676 Reviewed-By: Anna Henningsen <anna@addaleax.net>
Replace `v8::Isolate::GetCpuProfiler()` with `v8::CpuProfiler::New()` and cache the instance; creating and disposing an instance every loop tick is too expensive. Backport-PR-URL: #18959 PR-URL: #18534 Fixes: #18039 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
PR-URL: #18516 Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Thanks @addaleax. I wouldn't mind doing the next 9.x release, unless someone really had their heart set on this one. What do we think about timing for this since the last 9.x was on Friday? |
@rvagg The friday release was a one-off bugfix, so I’m not sure that really “counts”. I think it’s okay to release this this week, but really I just want to avoid situations where commits pile up for weeks without getting into a release. |
Notable Changes: * **libuv**: - Updated to libuv 1.19.2 (Colin Ihrig) [#18918](#18918) * **src**: - Add initial support for Node.js-specific post-mortem metadata (Matheus Marchini) [#14901](#14901) * **timers**: - The return value of `setImmediate()` now has `ref()` and `unref()` methods (Anatoli Papirovski) [#18139](#18139) * **util**: - It is now possible to get the name for a numerical platform-specific error code as a string (Joyee Cheung) [#18186](#18186) PR-URL: #19040 Prepared-By: Anna Henningsen <anna@addaleax.net>
tweaked, checked, tested, build underway now |
Notable Changes: * **libuv**: - Updated to libuv 1.19.2 (Colin Ihrig) [#18918](#18918) * **src**: - Add initial support for Node.js-specific post-mortem metadata (Matheus Marchini) [#14901](#14901) * **timers**: - The return value of `setImmediate()` now has `ref()` and `unref()` methods (Anatoli Papirovski) [#18139](#18139) * **util**: - It is now possible to get the name for a numerical platform-specific error code as a string (Joyee Cheung) [#18186](#18186) PR-URL: #19040 Prepared-By: Anna Henningsen <anna@addaleax.net>
all doneskies, thanks @addaleax |
Notable Changes: * **libuv**: - Updated to libuv 1.19.2 (Colin Ihrig) [nodejs#18918](nodejs#18918) * **src**: - Add initial support for Node.js-specific post-mortem metadata (Matheus Marchini) [nodejs#14901](nodejs#14901) * **timers**: - The return value of `setImmediate()` now has `ref()` and `unref()` methods (Anatoli Papirovski) [nodejs#18139](nodejs#18139) * **util**: - It is now possible to get the name for a numerical platform-specific error code as a string (Joyee Cheung) [nodejs#18186](nodejs#18186) PR-URL: nodejs#19040 Prepared-By: Anna Henningsen <anna@addaleax.net>
2018-02-27, Version 9.7.0 (Current), @???, prepared by @addaleax
Notable Changes
libuv:
src:
timers:
setImmediate()
now hasref()
andunref()
methods (Anatoli Papirovski) #18139util:
Commits
5ddef2988b
] - async_wrap: schedule destroy hook as unref (Anatoli Papirovski) #18241be9777c5f6
] - benchmark: add stream.pipe benchmarks (Mathias Buus) #186174012ae8885
] - build: fix coverage build (Yihong Wang) #184098c934990ef
] - build: add node_lib_target_name to cctest deps (Daniel Bevenius) #18576f7e1402923
] - build: include the libuv and zlib into node (Yihong Wang) #18383237a363dc7
] - build: make gyp user defined variables lowercase (Daniel Bevenius) #1623816ef386507
] - build, win: vcbuild improvements (Bartosz Sosnowski) #170154fa1f3197f
] - cluster: fix inspector port assignment (Santiago Gimeno) #18696ec55965501
] - deps: upgrade libuv to 1.19.2 (cjihrig) #189187fb72a5fa3
] - deps,src: align ssize_t ABI between Node & nghttp2 (Anna Henningsen) #18565dd917eb946
] - doc: add pending-deprecation to deprecations list (Сковорода Никита Андреевич) #18433287946ddff
] - doc: removeReturns: {undefined}
(Sho Miyamoto) #189514f454bde74
] - doc: mention git-node in the collaborator guide (Joyee Cheung) #189604bc54238b2
] - doc: update 2fa information in onboarding.md (Rich Trott) #18968b456e31964
] - doc: add process.debugPort to doc/api/process.md (flickz) #187166f177e7b5d
] - doc:readable.push(undefined)
in non-object mode (陈刚) #1828385322518ca
] - doc: remove extraneous "for example" text (Rich Trott) #1889038cf3cf494
] - doc: update description of 'clientError' event (Luigi Pinca) #18885e447580872
] - doc: fix link in onboarding.md (Justin Lee) #18878205a84cf09
] - doc: remove CII badge in README (Roman Reiss) #189081246902bae
] - errors: move error creation helpers to errors.js (Joyee Cheung) #18546b3fe55aada
] - errors: improve the description of ERR_INVALID_ARG_VALUE (Joyee Cheung) #18358112c9a3a19
] - http: remove default 'drain' listener on upgrade (Luigi Pinca) #18866c7f9608626
] - http: allow _httpMessage to be GC'ed (Luigi Pinca) #18865738b0a1f2e
] - lib: addprocess
to internal module wrapper (Anna Henningsen) #17198cfb78bc1df
] - process: use linked reusable queue for ticks (Mathias Buus) #186174acea14197
] - process: do not directly schedule _tickCallback in _fatalException (Anatoli Papirovski) #17841d348496345
] - process: refactor nextTick for clarity (Anatoli Papirovski) #17738cf0b95c4b1
] - process: use more direct sync I/O for stdio (Anna Henningsen) #18019b4c933dd44
] - promises: refactor rejection handling (Anatoli Papirovski) #1820701398b29e9
] - repl: fix tab-complete warning (killagu) #18881e33b9fa7b5
] - src: fix GetCpuProfiler() deprecation warning (Ben Noordhuis) #1853491694497ba
] - src: refactor WriteWrap and ShutdownWraps (Anna Henningsen) #18676fa691f7d95
] - src: only set JSStreamWrap write req afterwrite()
(Anna Henningsen) #18676296523a698
] - src: remove unnecessary async hooks check (Anatoli Papirovski) #182914de4c54069
] - src: expose uv.errmap to binding (Joyee Cheung) #17338189e566076
] - src: do not redefine private for GenDebugSymbols (Joyee Cheung) #1865307c6fb983b
] - src: use AliasedBuffer for TickInfo (Anatoli Papirovski) #17881684684e567
] - src: simplify handles for libuv streams (Anna Henningsen) #18334cb5ed45603
] - src: refactor stream callbacks and ownership (Anna Henningsen) #18334f60757796b
] - src: useDoTryWrite()
for not-all-Buffer writev()s too (Anna Henningsen) #18019f17987ba16
] - src: removeHasWriteQueue()
(Anna Henningsen) #180192282dceb29
] - src: remove node namespace qualifiers (Daniel Bevenius) #189626e7aa3d8f4
] - src: fix abort when taking a heap snapshot (Ben Noordhuis) #18898a17d6840e1
] - src: fix deprecation warning in node_perf.cc (Daniel Bevenius) #1887746fc507054
] - (SEMVER-MINOR) src, test: node internals' postmortem metadata (Matheus Marchini) #149017853a7fd2a
] - test: add test for stream unpipe with 'data' listeners (Anna Henningsen) #185163543c5543b
] - test: make sure WriteWrap tests are actually async (Anna Henningsen) #186767dd3c8af88
] - test: add url type check in Module options (JiaHerr Tee) #186641be5e33f03
] - test: replace assert.throws with expectsError (sreepurnajasti) #17997df0d78a7e9
] - test: stdio pipe behavior tests (Bartosz Sosnowski) #1861435cddae18f
] - test: fix cctest -Wunused-variable warning (Ben Noordhuis) #18530743cf33616
] - test: introduce SetUpTestCase/TearDownTestCase (Daniel Bevenius) #18558edba129df3
] - test: http2 compat response.write() error checks (Trivikram) #18859f2dd17bde9
] - (SEMVER-MINOR) timers: allow Immediates to be unrefed (Anatoli Papirovski) #1813937f253e88f
] - timers: refactor setImmediate error handling (Anatoli Papirovski) #178798474f86e9f
] - timers: make setImmediate() immune to tampering (Ben Noordhuis) #17736484e06d89a
] - tls: use after free in tls_wrap (Kyle Farnung) #18860efb4646539
] - tls_wrap: use DoTryWrite() (Anna Henningsen) #18676d255db3ae7
] - tools: ignore VS compiler output in deps/v8 (Michaël Zasso) #18952fc6ee39ea6
] - tools: fix custom eslint rule errors (Ruben Bridgewater) #18853f8691398e4
] - tools, test: fix prof polyfill readline (killagu) #1864138fd7902ef
] - tty: fix console printing on Windows (Anna Henningsen) #18214def51bafbd
] - url: reduce deplicated codes inautoEscapeStr
(Weijia Wang) #186138e31bf42cf
] - util: skip type checks in internal getSystemErrorName (Joyee Cheung) #1854628fa906ec1
] - (SEMVER-MINOR) util: implement util.getSystemErrorName() (Joyee Cheung) #1818638797b5804
] - vm: consolidate validation (Timothy O. Peters) #18816CI: https://ci.nodejs.org/job/node-test-commit/16536/CI: https://ci.nodejs.org/job/node-test-commit/16539/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1317/
CITGM for v9.x, for comparison: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1316/
Would be kinda cool if somebody from @nodejs/release could take it from here. :)