Skip to content
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

v4.4.5 proposal #6824

Merged
merged 76 commits into from
May 24, 2016
Merged

v4.4.5 proposal #6824

merged 76 commits into from
May 24, 2016

Conversation

MylesBorins
Copy link
Contributor

@MylesBorins MylesBorins commented May 18, 2016

2016-05-24, Version 4.4.5 'Argon' (LTS), @thealphanerd

Notable Changes

  • buffer:
    • Buffer no longer errors if you call lastIndexOf with a search term longer than the buffer (Anna Henningsen) #6511
  • contextify:
    • Context objects are now properly garbage collected, this solves a problem some individuals were experiencing with extreme memory growth (Ali Ijaz Sheikh) #6871
  • deps:
    • update npm to 2.15.5 (Rebecca Turner) #6663
  • http:
    • Invalid status codes can no longer be sent. Limited to 3 digit numbers between 100 - 999 (Brian White) #6291

Commits

  • [59a977dd22] - assert: respect assert.doesNotThrow message. (Ilya Shaisultanov) #2407
  • [8b077faa82] - buffer: fix UCS2 indexOf for odd buffer length (Anna Henningsen) #6511
  • [12a9699fcf] - buffer: fix needle length misestimation for UCS2 (Anna Henningsen) #6511
  • [292b1b733e] - build: fix make tar-headers for Linux (Gibson Fahnestock) #5978
  • [918d33ad4b] - build: add script to create Android .mk files (Robert Chiras) #5544
  • [4ad71847bc] - build: add suport for x86 architecture (Robert Chiras) #5544
  • [6ad85914b1] - child_process: add nullptr checks after allocs (Anna Henningsen) #6256
  • [823f726f66] - contextify: tie lifetimes of context & sandbox (Ali Ijaz Sheikh) #5800
  • [9ddb44ba61] - contextify: cache sandbox and context in locals (Ali Ijaz Sheikh) #5392
  • [8ebdcd65b0] - contextify: replace deprecated SetWeak usage (Ali Ijaz Sheikh) #5392
  • [9e6d8170f7] - contextify: cleanup weak ref for sandbox (Ali Ijaz Sheikh) #5392
  • [b6fc15347d] - contextify: cleanup weak ref for global proxy (Ali Ijaz Sheikh) #5392
  • [0dc875e2c7] - deps: upgrade npm in LTS to 2.15.5 (Rebecca Turner)
  • [3c50350f41] - deps: fix null pointer checks in v8 (Michaël Zasso) #6669
  • [a40730b4b4] - deps: backport IsValid changes from 4e8736d in V8 (Michaël Zasso) #6669
  • [855604c53a] - deps: upgrade npm in LTS to 2.15.4 (Rebecca Turner) #6663
  • [433fb9a968] - deps: cherry-pick 1383d00 from v8 upstream (Fedor Indutny) #6179
  • [d1fca27ef8] - deps: backport 125ac66 from v8 upstream (Myles Borins) #6086
  • [df299019a0] - deps: upgrade npm in LTS to 2.15.2 (Kat Marchán)
  • [50f02bd8d6] - doc: update vm.runInDebugContext() example (Ben Noordhuis) #6757
  • [b872feade3] - doc: replace functions with arrow functions (abouthiroppy) #6203
  • [7160229be4] - doc: note that zlib.flush acts after pending writes (Anna Henningsen) #6172
  • [d069f2de8c] - doc: add full example for zlib.flush() (Anna Henningsen) #6172
  • [59814acfef] - doc: describe child.kill() pitfalls on linux (Robert Jefe Lindstaedt) #2098
  • [840c09492d] - doc: update openssl.org hash links (silverwind) #6817
  • [126fdc3171] - doc: fix issues related to page scrolling (Roman Reiss)
  • [29e25d8489] - doc: add steps for running addons + npm tests (Myles Borins) #6231
  • [fcc6a347f7] - doc: get rid of sneaky hard tabs in CHANGELOG (Myles Borins) #6608
  • [369569018e] - doc: revert backported commits (Myles Borins) #6530
  • [4ec9ae8a1c] - doc: explain differences in console.assert between node and browsers (James M Snell) #6169
  • [df5ce6fad4] - doc: native module reloading is not supported (Bryan English) #6168
  • [30f354f72b] - doc: clarify fs.watch() and inodes on linux, os x (Joran Dirk Greef) #6099
  • [29f821b73d] - doc: clarifies http.serverResponse implementation (Allen Hernandez) #6072
  • [6d560094f4] - doc: minor argument formatting in stream.markdown (James M Snell) #6016
  • [6a197ec617] - doc: fix http response event, Agent#getName (Matthew Douglass) #5993
  • [620a261240] - http: disallow sending obviously invalid status codes (Brian White) #6291
  • [9a8b53124d] - http: unref socket timer on parser execute (Fedor Indutny) #6286
  • [b28e44deb2] - http: Corrects IPv6 address in Host header (Mihai Potra) #5314
  • [2fac15ba94] - src: fix FindFirstCharacter argument alignment (Anna Henningsen) #6511
  • [2942cff069] - src: add missing 'inline' keywords (Ben Noordhuis) #6056
  • [e0eebf412e] - src,tools: remove null sentinel from source array (Ben Noordhuis) #5418
  • [8f18414cd5] - src,tools: drop nul byte from built-in source code (Ben Noordhuis) #5418
  • [d7a3ea457b] - src,tools: allow utf-8 in built-in js source code (Ben Noordhuis) #5418
  • [51c0808b55] - stream: Fix readableState.awaitDrain mechanism (Anna Henningsen) #6023
  • [49a5941d30] - test: fix test-debug-port-cluster flakiness (Rich Trott) #6769
  • [f8144e4c4a] - test: add logging for test-debug-port-cluster (Rich Trott) #6769
  • [773ea20d0e] - test: include component in tap output (Ben Noordhuis) #6653
  • [333369e1ff] - test: increase the platform timeout for AIX (Michael Dawson) #6342
  • [06e5fafe84] - test: add tests for console.assert (Evan Lucas) #6302
  • [f60ba54811] - test: add zlib close-after-error regression test (Anna Henningsen) #6270
  • [24ac16f4be] - test: fix flaky test-http-set-timeout-server (Santiago Gimeno) #6248
  • [5002a71357] - test: assert - fixed error messages to match the tests (surya panikkal) #6241
  • [0f9405dd33] - test: move more tests from sequential to parallel (Santiago Gimeno) #6187
  • [37cc249218] - test: fix test-net-settimeout flakiness (Santiago Gimeno) #6166
  • [69dcbb642f] - test: fix flaky test-child-process-fork-net (Rich Trott) #6138
  • [a97a6a9d69] - test: fix issues for ESLint 2.7.0 (silverwind) #6132
  • [a865975909] - test: fix flaky test-http-client-abort (Rich Trott) #6124
  • [25d4b5b1e9] - test: move some test from sequential to parallel (Santiago Gimeno) #6087
  • [28040ccf49] - test: refactor test-file-write-stream3 (Rich Trott) #6050
  • [3a67a05ed4] - test: enforce strict mode for test-domain-crypto (Rich Trott) #6047
  • [0b376cb3f9] - test: fix pummel test failures (Rich Trott) #6012
  • [7b60b8f8e9] - test: fix flakiness of stringbytes-external (Ali Ijaz Sheikh) #6705
  • [cc4c5187ed] - test: ensure test-npm-install uses correct node (Myles Borins) #6658
  • [3d4d5777bc] - test: refactor http-end-throw-socket-handling (Santiago Gimeno) #5676
  • [c76f214b90] - test,tools: enable linting for undefined vars (Rich Trott) #6255
  • [9222689215] - test,vm: enable strict mode for vm tests (Rich Trott) #6209
  • [b8c9d6b64e] - tools: enable linting for v8_prof_processor.js (Rich Trott) #6262
  • [8fa202947d] - tools: lint rule for assert.fail() (Rich Trott) #6261
  • [1aa6c5b7a9] - tools: update ESLint to 2.7.0 (silverwind) #6132
  • [68c7de4372] - tools: remove simplejson dependency (Sakthipriyan Vairamani) #6101
  • [4fb4ba98a8] - tools: remove disabling of already-disabled rule (Rich Trott) #6013
  • [4e6ea7f01a] - tools: remove obsolete npm test-legacy command (Kat Marchán)
  • [4c73ab4302] - tools,doc: fix json for grouped optional params (firedfox) #5977
  • [c893cd33d1] - tools,doc: parse types in braces everywhere (Alexander Makarenko) #5329
  • [48684af55f] - zlib: fix use after null when calling .close (James Lal) #5982

bnoordhuis and others added 30 commits May 17, 2016 17:24
IPv6 addresses in Host header (URI), must be enclosed within
square brackets, in order to properly separate the host address
from any port reference.

PR-URL: #5314
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
In 6899094 (#2325),
the conditions for increasing `readableState.awaitDrain` when
writing to a piping destination returns false were changed so
that they could not actually be met, effectively leaving
`readableState.awaitDrain` with a constant value of 0.

This patch changes the conditions to testing whether the
stream for which `.write()` returned false is still a piping
destination, which was likely the intention of the original
patch.

Fixes: #5820
Fixes: #5257
PR-URL: #6023
Reviewed-By: Brian White <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Special handling to detect when user has supplied a custom message.
Added a test for user message.
When testing if `actual` value is an error use
`util.isError` instead of `instanceof`.

Fixes: #2385
PR-URL: #2407
Reviewed-By: James M Snell <[email protected]>
Also add `EvalError`, `RangeError`, `ReferenceError`, `SyntaxError`,
`TypeError`, `URIError` to list of global types. Fix errors.markdown
copy accordingly.

Fixes: #5325.
PR-URL: #5329
Reviewed-By: James M Snell <[email protected]>
Modified android-configure script to support also x86 arch.
Currently added support only for ia32 target arch.
Also, compile openssl without asm, since using the asm sources will make
node fail to run on Android, because it adds text relocations.

Signed-off-by: Robert Chiras <[email protected]>
PR-URL: #5544
Reviewed-By: Ben Noordhuis <[email protected]>
The create_android_makefiles script will create .mk files for node and
all of its dependencies ready to be build using Android build system.

Signed-off-by: Robert Chiras <[email protected]>
PR-URL: #5544
Reviewed-By: Ben Noordhuis <[email protected]>
Remove timer to avoid the test timing out occasionally.

PR-URL: #5676
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Claudio Rodriguez <[email protected]>
Current tools/doc/json.js only supports one bracket style for optional
params methodName(param0[,param1],param2). Add support to other styles
such as methodName(param0,[param1,]param2) or
methodName(param0[,param1,param2]) or
methodName(param0[,param1[,param2]]).

PR-URL: #5977
Fixes: #5976
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Robert Lindstädt <[email protected]>
Reviewed-By: Roman Reiss <[email protected]>
The tar-headers target tries to find and delete links in the
tar folder, which fails as no links are found. Use rm -f to
avoid this.

Remove the config.gypi dependency, as the target runs configure
itself.

PR-URL: #5978
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Removes the options block from the http 'response' event and attaches
it to Agent#getName where it belongs. Removes socketPath and documents
localAddress option.

PR-URL: #5993
Reviewed-By: James M Snell <[email protected]>
`require-buffer` is only enabled in the `lib` directory. There is no
need to disable it in `test`.

PR-URL: #6013
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Fixes: #4350
PR-URL: #6016
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Roman Klauke <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
The BaseObject constructor and destructor should not have external
linkage because BaseObject is a header-only construct.  Add the
necessary 'inline' keywords.

PR-URL: #6056
Reviewed-By: Colin Ihrig <[email protected]>
Since http.serverResponse does not inherit from Stream.writable
it does not pass the test `serverResponse instanceof stream.Writable`.
This commit clarifies that serverResponse does not inherit from
stream.Writable and therefore should not be expected to pass the above
test

Fixes: #6046
PR-URL: #6072
Reviewed-By: Claudio Rodriguez <[email protected]>
Reviewed-By: Robert Lindstaedt <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: James M Snell <[email protected]>
As requested in #5221

Original commit message:

  fix debug command processor wrt restart frame.

  [email protected]
  BUG=v8:4757
  LOG=N

  Review URL: https://codereview.chromium.org/1700693002

  Cr-Commit-Position: refs/heads/master@{#33983}

PR-URL: #6086
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: James M Snell <[email protected]>
On Linux and OS X systems, `fs.watch()` resolves the watched path to an
inode. This clarifies that `fs.watch()` watches the inode and not the
path. If the inode of the path subsequently changes, `fs.watch()` will
continue watching the original inode and events for the path will no
longer be emitted. This is expected behavior.

Fixes: #5039
PR-URL: #6099
Reviewed-By: James M Snell <[email protected]>
Clarify in docs for require.cache that reloading native modules
isn't supported.

Related: #6160
PR-URL: #6168
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Brian White <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Provide an example for implementing browser like behavior for console.assert.

This "fixes" #5340 by providing an
alternative to changing Node.js' implemented behavior. Instead, we
document the differences and show how to work around them if
browser like semantics are desired.

Fixes: #5340
PR-URL: #6169
Reviewed-By: Robert Jefe Lindstädt <[email protected]>
Reviewed-By: Jeff Harris <@techjeffharris>
Original commit message:

    tools: fix tickprocessor Cpp symbols on mac

    Despite man page documentation:

        -f Display the symbol table of a dynamic library flat (as one
           file not separate modules).

    `nm` on mac treats `-f` as a shorthand for `-format`. The `-f` argument
    does not seem to be required, so just remove it completely.

    (For `-format` documentation - see `nm --help` on mac).

    BUG=

    Review URL: https://codereview.chromium.org/1840633002

    Cr-Commit-Position: refs/heads/master@{#35445}

Fix: #5903
PR-URL: #6179
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
This reverts changes found in daf3ef6 0943001 that incorrectly
updated the docs for `path.format`

PR-URL: #6530
Reviewed-By: James M Snell <[email protected]>
My editor did something strange. Sorry about that

PR-URL: #6608
Reviewed-By: Colin Ihrig <[email protected]>
Currently we do not document how to run the test suite for native
modules or for npm. This commit updates BUILDING.md with the
information needed to do so. It includes a caveat about Node v4
and earlier requiring `make install` to be run before running the npm
test suite.

PR-URL: #6231
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
PR-URL: #6663
Reviewed-By: Myles Borins <[email protected]>
V8 erroneously did null pointer checks on `this`.
It can lead to a SIGSEGV crash if node is compiled with GCC 6.
Backport relevant changes from [1] that fix this issue.

[1]: https://codereview.chromium.org/1900423002

Fixes: #6272

PR-URL: #6669
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
fix null pointer checks in V8's FrameStateDescriptor

PR-URL: #6669
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Print test name as (for example) "parallel/test-assert".  Tests that are
scraped from the addons documentation are all named test.js, making it
hard to decipher what test is running when only the filename is printed.

Fixes: #6651
PR-URL: #6653
Reviewed-By: James M Snell <[email protected]>
The debugger needs to be active now before one is allowed to query the
list of scripts.  Replace the example with one that works without
installing a debug event listener first.

Fixes: #4862
PR-URL: #6757
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
@nodejs-github-bot nodejs-github-bot added doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. npm Issues and PRs related to the npm client dependency or the npm registry. labels May 18, 2016
@mscdex mscdex added the v4.x label May 18, 2016
@Fishrock123
Copy link
Contributor

update ESLint to 2.7.0 (silverwind) #6132

Not noteworthy since it's only for internal tooling and will only confuse people.

@jasnell
Copy link
Member

jasnell commented May 18, 2016

I would highlight @addaleax's buffer fix.

@MylesBorins
Copy link
Contributor Author

updated notable changes with suggestions

Cleanup how node_contextify keeps weak references in order to prepare
for new style phantom weakness API. We didn't need to keep a weak
reference to the context's global proxy, as the context holds it.

PR-URL: #5392
Reviewed-By: Ben Noordhuis <[email protected]>
Simplify how node_contextify was keeping a weak reference to the
sandbox object in order to prepare for new style phantom weakness V8
API. It is simpler (and more robust) for the context to hold a
reference to the sandbox in an embedder data field. Doing otherwise
meant that the sandbox could become weak while the context was still
alive. This wasn't a problem because we would make the reference
strong at that point.

Since the sandbox must live at least as long as the context, it
would be better for the context to hold onto the sandbox.

PR-URL: #5392
Reviewed-By: Ben Noordhuis <[email protected]>
When the previous set of changes (bfff07b) it was possible to have the
context get garbage collected while sandbox was still live. We need to
tie the lifetime of the context to the lifetime of the sandbox.

This is a backport of #5786 to v5.x.

Ref: #5786
PR-URL: #5800
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@MylesBorins
Copy link
Contributor Author

@MylesBorins MylesBorins changed the title V4.4.5 proposal v4.4.5 proposal May 20, 2016
Trott added 2 commits May 23, 2016 10:58
The test is currently flaky and CI provides no real information because
the test times out rather than failing on an assertion. Add logging to
gather more information about the failure.

Refs: #6754
PR-URL: #6769
Reviewed-By: Colin Ihrig <[email protected]>
Remove port increment by `1337` which appears to sometimes result in a
port that is already in use. There is no reason not to use
`common.PORT`.

PR-URL: #6769
Fixes: #6754
Reviewed-By: Colin Ihrig <[email protected]>
@MylesBorins
Copy link
Contributor Author

MylesBorins commented May 23, 2016

One more round of ci + citgm with the added test fix

ci: https://ci.nodejs.org/job/node-test-pull-request/2746/
citgm: https://ci.nodejs.org/view/Node.js-citgm/job/thealphanerd-smoker/278/

ci is green... citgm has some failures on ppc that look unrelated

Notable changes:

* **buffer**:
  * Buffer no longer errors if you call lastIndexOf with a search term
    longer than the buffer (Anna Henningsen)
    #6511

* contextify:
  * Context objects are now properly garbage collected, this solves a
    problem some individuals were experiencing with extreme memory
    growth (Ali Ijaz Sheikh)
    #6871

* deps:
  * update npm to 2.15.5 (Rebecca Turner)
    #6663

* http:
  * Invalid status codes can no longer be sent. Limited to 3 digit
    numbers between 100 - 999 (Brian White)
    #6291
@MylesBorins MylesBorins merged commit 6330f48 into v4.x May 24, 2016
MylesBorins pushed a commit that referenced this pull request May 24, 2016
@MylesBorins MylesBorins deleted the v4.4.5-proposal branch June 1, 2016 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. npm Issues and PRs related to the npm client dependency or the npm registry.
Projects
None yet
Development

Successfully merging this pull request may close these issues.