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.5.0 proposal #7688

Merged
merged 261 commits into from
Aug 16, 2016
Merged

v4.5.0 proposal #7688

merged 261 commits into from
Aug 16, 2016

Conversation

MylesBorins
Copy link
Contributor

@MylesBorins MylesBorins commented Jul 12, 2016

2016-07-14, Version 4.5.0 'Argon' (LTS), @thealphanerd

Notable Changes

This list is not yet complete. Please comment in the thread with commits you think should be included. Descriptions will also be updated in a later release candidate.

Semver Minor:

  • buffer:
    • backport new buffer constructor APIs to v4.x (Сковорода Никита Андреевич) #7562
    • backport --zero-fill-buffers cli option (James M Snell) #5745
  • build:
    • add Intel Vtune profiling support (Chunyang Dai) #5527
  • repl:
    • copying tabs shouldn't trigger completion (Eugene Obrezkov) #5958
  • src:
    • add node::FreeEnvironment public API (Cheng Zhao) #3098
  • test:
    • run v8 tests from node tree (Bryon Leung) #4704
  • V8:
    • Add post portem data to imrpove object inspection and function's context variables inspection (Fedor Indutny) #3779

Semver Patch:

  • buffer:
    • ignore negative allocation lengths (Anna Henningsen) #7562
  • libuv:
    • upgrade libuv to 1.9.1 (Saúl Ibarra Corretgé) #6796
    • upgrade libuv to 1.9.0 (Saúl Ibarra Corretgé) #5994
  • npm:
    • upgrade to 2.15.9 (Kat Marchán) #7692

Commits

  • [a4888926a2] - assert: remove unneeded arguments special handling (Rich Trott) #7413
  • [39e24742f8] - assert: allow circular references (Rich Trott) #6432
  • [271927f29e] - async_wrap: pass uid to JS as double (Trevor Norris) #7096
  • [747f107188] - async_wrap: don't abort on callback exception (Trevor Norris) #5756
  • [c06e2b07b6] - async_wrap: notify post if intercepted exception (Trevor Norris) #5756
  • [0642a146b3] - async_wrap: setupHooks now accepts object (Trevor Norris) #5756
  • [75ecf8eb07] - async_wrap: add parent uid to init hook (Andreas Madsen) #4600
  • [e10eebffa5] - async_wrap: make uid the first argument in init (Andreas Madsen) #4600
  • [13d465bcf6] - async_wrap: add uid to all asyncWrap hooks (Andreas Madsen) #4600
  • [046d651118] - benchmark: fix child-process-exec-stdout on win (Bartosz Sosnowski) #7178
  • [4b464ce4bf] - benchmark: remove unused variables (Rich Trott) #7600
  • [b95e5d7948] - benchmark: add benchmark for url.format() (Rich Trott) #7250
  • [1bd62c7c34] - benchmark: add benchmark for Buffer.concat (Anna Henningsen) #7054
  • [08cd81b050] - benchmark: add util.format benchmark (Evan Lucas) #5360
  • [7dbb0d0084] - buffer: fix dataview-set benchmark (Ingvar Stepanyan) #6922
  • [200429e9e1] - buffer: ignore negative allocation lengths (Anna Henningsen) #7562
  • [709048134c] - (SEMVER-MINOR) buffer: backport new buffer constructor APIs to v4.x (Сковорода Никита Андреевич) #7562
  • [fb03e57de2] - (SEMVER-MINOR) buffer: backport --zero-fill-buffers cli option (James M Snell) #5745
  • [236491e698] - build: update build-addons when node-gyp changes (Lance Ball) #6787
  • [8a7c5fdbd2] - build: add REPLACEME tag for version info in docs (Ben Noordhuis) #6864
  • [da1e13fde7] - build: add Make doc-only target (Jesse McCarthy) #3888
  • [0db3aa9afa] - build: remove unused files from CPPLINT_FILES (Ben Noordhuis) #7462
  • [5290c9d38c] - build: use BUILDTYPE when building V8 in Makefile (Michaël Zasso) #7482
  • [79bd39c202] - build: add v8 requirement to test-v8* in Makefile (Michaël Zasso) #7482
  • [65b75b51a6] - build: unbreak configure with python 2.6 (Ben Noordhuis) #6874
  • [8513232c82] - build: split CI rules in Makefile (João Reis) #7317
  • [13d0e463b0] - build: enable compilation for linuxOne (Michael Dawson) #5941
  • [834ea2c5c0] - (SEMVER-MINOR) build,src: add Intel Vtune profiling support (Chunyang Dai) #5527
  • [ea20796e9d] - build,test: fix build-addons dependency chain (Ben Noordhuis) #6652
  • [6a08535dd1] - child_process: preserve argument type (Rich Trott) #7391
  • [fd05b0b289] - _Revert_ "child_process: measure buffer length in bytes" (Rich Trott) #7391
  • [8eb18e4289] - child_process: measure buffer length in bytes (Rich Trott) #6764
  • [4ee863d956] - child_process: allow buffer encoding in spawnSync (cjihrig) #6939
  • [0b8124f205] - child_process: emit IPC messages on next tick (cjihrig) #6909
  • [20d3378969] - cluster: reset handle index on close (Santiago Gimeno) #6981
  • [09349a8b92] - cluster: don't send messages if no IPC channel (Santiago Gimeno) #7132
  • [6ece2a0322] - cluster: rewrite debug ports consistently (cjihrig) #7050
  • [8cba3b2f72] - cluster: guard against undefined message handlers (cjihrig) #6902
  • [f152adf5b7] - cluster: close ownerless handles on disconnect() (cjihrig) #6909
  • [65624440bf] - crypto: allow GCM ciphers to have longer IV length (Michael Wain) #6376
  • [1e0cede3a6] - crypto: update root certificates (Ben Noordhuis) #7363
  • [3be5cdcd43] - debugger: remove obsolete setTimeout (Rich Trott) #7154
  • [74a5e911c0] - debugger: propagate --debug-port= to debuggee (Ben Noordhuis) #3470
  • [af4940d63b] - deps: upgrade npm in LTS to 2.15.9 (Kat Marchán) #7692
  • [da7b74b9bc] - deps: upgrade libuv to 1.9.1 (Saúl Ibarra Corretgé) #6796
  • [94eb980ca5] - deps: upgrade libuv to 1.9.0 (Saúl Ibarra Corretgé) #5994
  • [4107b5d200] - deps: backport 22c5e46 from V8 (Julien Gilli) #7584
  • [e06ab64705] - deps: update to http-parser 2.7.0 (Fedor Indutny) #6279
  • [1164f542db] - deps: fix segfault during gc (Ali Ijaz Sheikh) #7303
  • [d9e9d9fb11] - deps: backport e7cc609 from upstream V8 (Ali Ijaz Sheikh) #7303
  • [9809992436] - (SEMVER-MINOR) deps: backport 9c927d0f01 from V8 upstream (Myles Borins) #7451
  • [da9595fc47] - (SEMVER-MINOR) deps: cherry-pick 68e89fb from v8's upstream (Fedor Indutny) #3779
  • [e9ff0f8fb2] - doc: make doc-only -> fallback to user binary (Robert Jefe Lindstaedt) #6906
  • [b869cdb876] - doc: fix deprecation warnings in addon examples (Ben Noordhuis) #6652
  • [ec25f38120] - doc: add added: information for buffer (Anna Henningsen) #6495
  • [1e86d16812] - doc: buffers are not sent over IPC with a socket (Tim Kuijsten) #6951
  • [5c1d8e1f0f] - doc: add added: information for http (Anna Henningsen) #7392
  • [60c054bc11] - doc: add information for IncomingMessage.destroy() (Rich Trott) #7237
  • [1a5c025f32] - doc: remove superfluos backticks in process.md (Anna Henningsen) #7681
  • [fcb4e410e4] - doc: add added: information for process (Bryan English) #6589
  • [9b8565c42a] - doc: add added: information for tls (Italo A. Casas) #7018
  • [fd4aa6c16a] - doc: correct added: information for fs.access (Richard Lau) #7299
  • [1e9d27cbcc] - doc: add added: information for fs (Anna Henningsen) #6717
  • [2244a3c250] - doc: adds 'close' events to fs.ReadStream and fs.WriteStream (Jenna Vuong) #6499
  • [88f46b886a] - doc: add added: information for timers (Anna Henningsen) #7493
  • [a53253a232] - doc: add added: information for zlib (Anna Henningsen) #6840
  • [7abfb6e8dc] - doc: add added: information for vm (Anna Henningsen) #7011
  • [3e3471fb5f] - doc: add added: information for v8 (Rich Trott) #6684
  • [1758f02ec1] - doc: add added: information for url (Bryan English) #6593
  • [3c8f19fcdf] - doc: add added: in for tty (Rich Trott) #6783
  • [5b50b1c255] - doc: add added: info for string_decoder (Rich Trott) #6741
  • [4474e83b78] - doc: add added: information for repl (Anna Henningsen) #7256
  • [e6d7bfcbe7] - doc: add added: information for readline (Julian Duque) #6996
  • [eec0c635ee] - doc: add added: information for querystring (Bryan English) #6593
  • [a870cdcd1f] - doc: add added: information for punycode (Daniel Wang) #6805
  • [f1a37ad749] - doc: add added: information for path (Julian Duque) #6985
  • [8b53f4b27c] - doc: add added: information for os (Bryan English) #6609
  • [78d361b22b] - doc: add added information for net (Italo A. Casas) #7038
  • [b08ff33c01] - doc: add added: information for https (Anna Henningsen) #7392
  • [1d99059bb1] - doc: add added: information for dns (Julian Duque) #7021
  • [a0ca24b798] - doc: add added: information for console (Adrian Estrada) #6995
  • [eb08c17a20] - doc: add added: data for cli.md (Rich Trott) #6960
  • [ec9038478f] - doc: add added: information for child_process (Anna Henningsen) #6927
  • [e52b2b07d7] - doc: add added: information for assert (Rich Trott) #6688
  • [75e4f74c54] - doc: fix cluster worker 'message' event (cjihrig) #7309
  • [de5e2357fc] - doc: dns.resolve fix callback argument description (Quentin Headen) #7532
  • [0f903bb722] - doc: add benchmark who-to-CC info (Rich Trott) #7604
  • [700c6d9be8] - doc: added information on how to run the linter. (Diosney Sarmiento) #7534
  • [537f33351e] - doc: fix minor style issues in http.md (Rich Trott) #7528
  • [33a08b0414] - doc: add bartosz sosnowski to colaborators (Bartosz Sosnowski) #7567
  • [186af29298] - doc: fix detached child stdio example (cjihrig) #7540
  • [066cefb6de] - doc: improve usage of zero/0 (Rich Trott) #7466
  • [6c94c67b73] - doc: fix "sign.verify" typo in crypto doc. (Ruslan Iusupov) #7411
  • [35ee35cba2] - doc: clarify child_process stdout/stderr types (sartrey) #7361
  • [71ef71cff8] - doc: add CTC meeting minutes 2016-06-15 (Josh Gavant) #7320
  • [13d60cab7c] - doc: add lance to collaborators (Lance Ball) #7407
  • [9122b3b665] - doc: update "who to cc in issues" chart (Jeremiah Senkpiel) #6694
  • [ccb278d330] - doc: mention http request "aborted" events (Kyle E. Mitchell) #7270
  • [868af29f2b] - doc: add RReverser to collaborators (Ingvar Stepanyan) #7370
  • [f8fe474825] - doc: fixing minor typo in AtExit hooks section (Daniel Bevenius) #7485
  • [4a7e333287] - doc: use Buffer.byteLength for Content-Length (kimown) #7274
  • [85f70b36e4] - doc: clarify use of 0 port value (Rich Trott) #7206
  • [57ba51ec46] - doc: fix IRC link (Ilkka Myller) #7210
  • [ef37a2e80f] - doc: add internal link in GOVERNANCE.md (Rich Trott) #7279
  • [c9ef04a1b2] - doc: fix events typo (Greyson Parrelli) #7329
  • [0013af61de] - doc: fix header depth of util.isSymbol (James M Snell) #7138
  • [96de3f8820] - doc: Add CII Best Practices badge to README.md (David A. Wheeler) #6819
  • [146cba1f60] - doc: improve debugger doc prose (Rich Trott) #7007
  • [694e34458b] - doc: fix typos in WORKING_GROUPS.md (Joao Andrade) #7032
  • [fbdc16a8a4] - doc: update labels and CI info in onboarding doc (Rich Trott) #7006
  • [1c65f1e3f6] - doc: add info on what's used for fswatch on AIX (Michael Dawson) #6837
  • [72e8ee570a] - doc: improve server.listen() documentation prose (Rich Trott) #7000
  • [649d201d63] - doc: improve server.address() doc text (Rich Trott) #7001
  • [e2e85ced1d] - doc: clarified use of sexual language in the CoC (Bryan Hughes) #6973
  • [f395f6f5b2] - doc: add yorkie to collaborators (Yazhong Liu) #7004
  • [c5051ef643] - doc: add firedfox to collaborators (Daniel Wang) #6961
  • [2ef08323c6] - doc: add bmeck to collaborators (Bradley Meck) #6962
  • [d1a0a146b3] - doc: Add CTC meeting minutes for 2016-05-04 (Michael Dawson) #6579
  • [0a85987899] - doc: update build instructions for Windows (João Reis) #7285
  • [629a76f9fb] - doc: remove cluster.setupMaster() myth (cjihrig) #7179
  • [5b807ac791] - doc: specify how to link issues in commit log (Luigi Pinca) #7161
  • [350f4cf292] - doc: server.listen truncates socket path on unix (Jean Regisser) #6659
  • [7813af7f16] - doc: Add resolveNaptr and naptr rrtype docs (Doug Wade) #6586
  • [5380743208] - doc: document socket.destroyed (Tushar Mathur) #6128
  • [f0edf87df1] - doc: add vm example, be able to require modules (Robert Jefe Lindstaedt) #5323
  • [9121e94e62] - doc: note that process.config can and will be changed (James M Snell) #6266
  • [c237ac3d68] - doc: git mv to .md (Robert Jefe Lindstaedt) #4747
  • [6324723cc1] - doc,dgram: fix addMembership documentation (Santiago Gimeno) #7244
  • [15bb0beab2] - doc,test: add How to write a Node.js test guide (Santiago Gimeno) #6984
  • [9d13337183] - http: wait for both prefinish/end to keepalive (Fedor Indutny) #7149
  • [ece428ea63] - http: fix no dumping after maybeReadMore (Fedor Indutny) #7211
  • [07fd52e5aa] - http: skip body and next message of CONNECT res (Fedor Indutny) #6279
  • [6f312b3a91] - http_parser: use MakeCallback (Trevor Norris) #5419
  • [373ffc5bad] - installer: don't install node_internals.h (Ben Noordhuis) #6913
  • [5782ec2427] - module: don't cache uninitialized builtins (Anna Henningsen) #6907
  • [c8e9adb135] - repl: fix tab completion for defined commands (Prince J Wesley) #7364
  • [a3fa5db5ca] - (SEMVER-MINOR) repl: copying tabs shouldn't trigger completion (Eugene Obrezkov) #5958
  • [d86332799c] - src: clean up string_search (Brian White) #7174
  • [3eea55167d] - src: fix memory leak in WriteBuffers() error path (Ben Noordhuis) #7374
  • [23797eb037] - src: remove obsolete NOLINT comments (Ben Noordhuis) #7462
  • [5aff60e832] - src: lint v8abbr.h (Ben Noordhuis) #7462
  • [42e7c9d266] - src: lint node_lttng_tp.h (Ben Noordhuis) #7462
  • [27c2d25be6] - src: lint node_win32_perfctr_provider.cc (Ben Noordhuis) #7462
  • [4f4d3e77ef] - src: fix whitespace/indent cpplint warnings (Ben Noordhuis) #7462
  • [066064d65f] - src: fix whitespace/blank_line cpplint warnings (Ben Noordhuis) #7462
  • [44cbe0356d] - src: fix runtime/references cpplint warnings (Ben Noordhuis) #7462
  • [f530a36c65] - src: fix runtime/int cpplint warnings (Ben Noordhuis) #7462
  • [d6595adcdb] - src: fix runtime/indentation_namespace warnings (Ben Noordhuis) #7462
  • [68db091aba] - src: fix readability/nolint cpplint warnings (Ben Noordhuis) #7462
  • [4748bed736] - src: fix readability/namespace cpplint warnings (Ben Noordhuis) #7462
  • [785211702a] - src: fix readability/inheritance cpplint warnings (Ben Noordhuis) #7462
  • [c90ae7fb72] - src: fix readability/constructors cpplint warnings (Ben Noordhuis) #7462
  • [16f2497994] - src: fix readability/braces cpplint warnings (Ben Noordhuis) #7462
  • [c8f78a2682] - src: fix build/header_guard cpplint warnings (Ben Noordhuis) #7462
  • [ccc701e1d5] - src: fix build/c++tr1 cpplint warnings (Ben Noordhuis) #7462
  • [dda81b44b0] - src: unify implementations of Utf8Value etc. (Anna Henningsen) #6357
  • [db2b23f06f] - src: fix sporadic deadlock in SIGUSR1 handler (Ben Noordhuis) #5904
  • [53a67ed6d7] - src: fix bad logic in uid/gid checks (Ben Noordhuis) #7374
  • [e6a27a70d8] - src: fix use-after-return in zlib bindings (Ben Noordhuis) #7374
  • [61de6e9b47] - src: remove deprecated HMAC_Init, use HMAC_Init_ex (Ben Noordhuis) #7374
  • [7305e7b9d2] - src: remove duplicate HMAC_Init calls (Ben Noordhuis) #7374
  • [38baf6a0b7] - src: remove unused md_ data members (Ben Noordhuis) #7374
  • [e103044b68] - src: remove unused data member write_queue_size_ (Ben Noordhuis) #7374
  • [67937bca0a] - src: guard against starting fs watcher twice (Ben Noordhuis) #7374
  • [c03bd57ac6] - src: check uv_async_init() return value (Ben Noordhuis) #7374
  • [2b0dce5a5b] - src: don't use locale-sensitive strcasecmp() (Ben Noordhuis) #6582
  • [9c31c738fc] - src: remove unused #include statement (Ben Noordhuis) #6582
  • [426aa0a5e8] - src: fix Windows segfault with --eval (Bryce Simonds) #6938
  • [b21d145c2a] - (SEMVER-MINOR) src: add node::FreeEnvironment public API (Cheng Zhao) #3098
  • [b9136c0c03] - src: add process.binding('config') (James M Snell) #6266
  • [c3d87eee49] - src: reword command and add ternary (Trevor Norris) #5756
  • [68f391bf3b] - src: remove unnecessary check (Brian White) #5233
  • [981bbcd925] - src: remove TryCatch in MakeCallback (Trevor Norris) #4507
  • [48b7b71352] - src: remove unused TickInfo::in_tick() (Trevor Norris) #4507
  • [d77b28c6b3] - src: remove unused of TickInfo::last_threw() (Trevor Norris) #4507
  • [cb291d5c7f] - src: add AsyncCallbackScope (Trevor Norris) #4507
  • [2eb097f212] - src: fix MakeCallback error handling (Trevor Norris) #4507
  • [63356df39c] - src,http: fix uncaughtException miss in http (Trevor Norris) #5591
  • [ee7040568d] - src,http_parser: remove KickNextTick call (Trevor Norris) #5756
  • [9a8acad6ff] - test: use random ports where possible (Brian White) #7045
  • [223c0e2010] - test: skip doctool tests when js-yaml is missing (Anna Henningsen) #7218
  • [3681b9b868] - test: refactor doctool tests (Rich Trott) #6719
  • [686d7b329c] - test: build addons with V8_DEPRECATION_WARNINGS=1 (Ben Noordhuis) #6652
  • [8404e34665] - _Revert_ "test: mark test-vm-timeout flaky on windows" (Anna Henningsen) #7373
  • [eab9ced2ee] - test: fix flaky test-vm-timeout (Anna Henningsen) #7373
  • [a31d3161f5] - test: add test for exec() known issue (Rich Trott) #7375
  • [1baa145a16] - test: remove internet/test-tls-connnect-cnnic (Ben Noordhuis) #7363
  • [e3097b7cdf] - test: test isFullWidthCodePoint with invalid input (Rich Trott) #7422
  • [f0b0fc49f9] - test: update weak module for gc tests (Rich Trott) #7014
  • [1d100f6853] - test: remove unused vars from http/https tests (Rich Trott) #7598
  • [3241536d95] - test: remove unused var in net-server-try-ports (Rich Trott) #7597
  • [7bd7c235fa] - test: remove unused var from stream2 test (Rich Trott) #7596
  • [4d36a67738] - test: remove unused var from child-process-fork (Rich Trott) #7599
  • [b5e516a42c] - test: remove unused var in test-tls-server-verify (Rich Trott) #7595
  • [db35efa6c1] - test: fix flaky test-net-write-slow (Rich Trott) #7555
  • [8273824ca3] - test: remove common.PORT from http tests (Rich Trott) #7467
  • [5129f3f2cd] - test: mark test-vm-timeout flaky on windows (Rich Trott) #7359
  • [79b45886c1] - test: add tests for some stream.Readable uses (Anna Henningsen) #7260
  • [65b5cccee9] - test: fix spawn on windows (Brian White) #7049
  • [96ed883d2f] - test: enable test-debug-brk-no-arg (Rich Trott) #7143
  • [8724c442f3] - test: add test for uid/gid setting in spawn (Rich Trott) #7084
  • [042e858dfb] - test: make test-child-process-fork-net more robust (Rich Trott) #7033
  • [2a59e4e73d] - test: improve debug-break-on-uncaught reliability (Rich Trott) #6793
  • [77325d585e] - test: remove disabled eio race test (Rich Trott) #7083
  • [5b1f54678b] - test: remove non-incremental common.PORT changes (Rich Trott) #7055
  • [44228dfdef] - test: remove common.PORT from gc tests (Rich Trott) #7013
  • [644bfe14a6] - test: fix test-debug-port-numbers on OS X (Santiago Gimeno) #7046
  • [cde3014f78] - test: remove modifcation to common.PORT (Rich Trott) #6990
  • [8c412af7ac] - test: verify cluster worker exit (cjihrig) #6993
  • [7d6acefbcc] - test: listen on and connect to 127.0.0.1 (Ben Noordhuis) #7524
  • [ecf5c1cb25] - test: refactor spawnSync() cwd test (cjihrig) #6939
  • [9cccaa3c80] - test: fix component printing on windows (Ben Noordhuis) #6915
  • [af4b56d6be] - test: pass python path to node-gyp (hefangshi) #6646
  • [7c55f59214] - test: make stdout buffer test more robust (Rich Trott) #6633
  • [3aef9b813f] - test: unmark test-http-regr-Segfault in node::Environment::KickNextTick #2928 as flaky (Rich Trott) #6540
  • [2259e5db69] - test: avoid test-cluster-master-* flakiness (Stefan Budeanu) #6531
  • [5f444ed6a3] - test: add tests for stream3 buffering using cork (Alex J Burke) #6493
  • [01b314d165] - test: test TTY problems by fakeing a TTY using openpty (Jeremiah Senkpiel) #6895
  • [55f8689711] - test: add test for responses to HTTP CONNECT req (Josh Leder) #6279
  • [9aec1ddb4f] - test: test cluster worker disconnection on error (Santiago Gimeno) #6909
  • [c0a42bc040] - test: verify IPC messages are emitted on next tick (Santiago Gimeno) #6909
  • [9606f768ea] - (SEMVER-MINOR) test: run v8 tests from node tree (Bryon Leung) #4704
  • [efdeb69c9a] - test: work around debugger not killing inferior (Ben Noordhuis) #7037
  • [e3f9bc893f] - test: use strictEqual consistently in agent test (Ben Noordhuis) #6654
  • [1186b7a401] - test: add addons test for MakeCallback (Trevor Norris) #4507
  • [8f76d7db03] - test,tools: test yaml parsing of doctool (Anna Henningsen) #6495
  • [e544b1c40c] - test,win: skip addons/load-long-path on WOW64 (Alexis Campailla) #6675
  • [b956635e41] - tls: catch certCbDone exceptions (Fedor Indutny) #6887
  • [06327e5eed] - tls: use process.binding('config') to detect fips mode (James M Snell) #7551
  • [c807287e80] - tls,https: respect address family when connecting (Ben Noordhuis) #6654
  • [9ef6e23088] - tools: make sure doctool anchors respect includes (Anna Henningsen) #6943
  • [f9f85a006f] - tools: restore change of signatures to opts hashes (Jesse McCarthy) #6690
  • [607173bbac] - tools: fix regression in doctool (Myles Borins) #6680
  • [ed193ad8ae] - tools: fix tools/doc/addon-verify.js regression (Anna Henningsen) #6652
  • [8b88c384f0] - tools: lint for object literal spacing (Rich Trott) #6592
  • [96b5aa8710] - tools: update marked dependency (Daniel Wang) #6396
  • [ea137637b7] - tools: allow multiple added: version entries (Anna Henningsen) #6495
  • [2832a60426] - tools: parse documentation metadata (Tristian Flanagan) #6495
  • [0149cb0577] - tools: add mock-y js-yaml dependency to doctool (Anna Henningsen) #6495
  • [68e9fd47c6] - tools: fix -Wunused-variable warning (Ben Noordhuis) #7462
  • [4a2bd2d515] - tools: allow cpplint to run outside git repo (Ben Noordhuis) #7462
  • [09e98a4457] - tools: add back --mode=tap to cpplint (Ben Noordhuis) #7462
  • [e74f199fe2] - tools: disable unwanted cpplint rules again (Ben Noordhuis) #7462
  • [391fc80487] - tools: update cpplint to r456 (Ben Noordhuis) #7462
  • [efadf7639f] - tools: update certdata.txt (Ben Noordhuis) #7363
  • [d7ce99214d] - tools: update ESLint, fix unused vars bug (Rich Trott) #7601
  • [242d6c7323] - tools: remove unused variable (Rich Trott) #7594
  • [7182f5f876] - tools: fix license builder to work with icu-small (Myles Borins) #7119
  • [140b84dd7d] - tools: print stderr on bad test.py vmArch check (Jeremiah Senkpiel) #6786
  • [4c423e649c] - tools: explicit path for V8 test tap output (Myles Borins) #7460
  • [d50f16969d] - tools,doc: add example usage for REPLACEME tag (Anna Henningsen) #6864
  • [b07c3a6ea6] - tty: use blocking mode on OS X (Jeremiah Senkpiel) #6895
  • [a1719a94e9] - udp: use libuv API to get file descriptor (Saúl Ibarra Corretgé) #6908
  • [7779639a11] - unix,stream: fix getting the correct fd for a handle (Saúl Ibarra Corretgé) #6753
  • [d0bf09d3ad] - util: improve format() performance further (Brian White) #5360
  • [72fb281961] - util: improve util.format performance (Evan Lucas) #5360
  • [855759757a] - vm: don't print out arrow message for custom error (Anna Henningsen) #7398
  • [b9dfdfe1d3] - vm: don't abort process when stack space runs out (Anna Henningsen) #6907
  • [0bfedd13a9] - win,build: add creation of zip and 7z package (Bartosz Sosnowski) #5995
  • [7d66752f1f] - zlib: release callback and buffer after processing (Matt Lavin) #6955

AndreasMadsen and others added 30 commits July 12, 2016 10:59
When the parent uid is required it is not necessary to store the uid in
the parent handle object.

Ref: #7048
PR-URL: #4600
Reviewed-By: Trevor Norris <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Make `HTTPParser` an instance of `AsyncWrap` and make it use
`MakeCallback`. This means that async wrap hooks will be called on
consumed TCP sockets as well as on non-consumed ones.

Additional uses of `AsyncCallbackScope` are necessary to prevent
improper state from progressing that triggers failure in the
test-http-pipeline-flood.js test. Optimally this wouldn't be necessary,
but for the time being it's the most sure way to allow operations to
proceed as they have.

Ref: #7048
Fix: #4416
PR-URL: #5419
Reviewed-By: Fedor Indutny <[email protected]>
In AsyncWrap::MakeCallback always return empty handle if there is an
error. In the future this should change to return a v8::MaybeLocal, but
that major change will have to wait for v6.x, and these changes are
meant to be backported to v4.x.

The HTTParser call to AsyncWrap::MakeCallback failed because it expected
a thrown call to return an empty handle.

In node::MakeCallback return an empty handle if the call is
in_makecallback(), otherwise return v8::Undefined() as usual to preserve
backwards compatibility.

Ref: #7048
Fixes: #5555
PR-URL: #5591
Reviewed-By: Julien Gilli <[email protected]>
Now that HTTPParser uses MakeCallback it is unnecessary to manually
process the nextTickQueue.

The KickNextTick function is now no longer needed so code has moved back
to node::MakeCallback to simplify implementation.

Include minor cleanup moving Environment::tick_info() call below the
early return to save an operation.

Ref: #7048
PR-URL: #5756
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Andreas Madsen <[email protected]>
Make comment clear that Undefined() is returned for legacy
compatibility. This will change in the future as a semver-major change,
but to be able to port this to previous releases it needs to stay as is.

Ref: #7048
PR-URL: #5756
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Andreas Madsen <[email protected]>
The number of callbacks accepted to setupHooks was getting unwieldy.
Instead change the implementation to accept an object with all callbacks

Ref: #7048
PR-URL: #5756
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Andreas Madsen <[email protected]>
The second argument of the post callback is a boolean indicating whether
the callback threw and was intercepted by uncaughtException or a domain.

Currently node::MakeCallback has no way of retrieving a uid for the
object. This is coming in a future patch.

Ref: #7048
PR-URL: #5756
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Andreas Madsen <[email protected]>
Rather than abort if the init/pre/post/final/destroy callbacks throw,
force the exception to propagate and not be made catchable. This way
the application is still not allowed to proceed but also allowed the
location of the failure to print before exiting. Though the stack itself
may not be of much use since all callbacks except init are called from
the bottom of the call stack.

    /tmp/async-test.js:14
      throw new Error('pre');
      ^
    Error: pre
        at InternalFieldObject.pre (/tmp/async-test.js:14:9)

Ref: #7048
PR-URL: #5756
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Andreas Madsen <[email protected]>
Passing the uid via v8::Integer::New() converts it to a uint32_t. Which
will trim the value early. Instead use v8::Number::New() to convert the
int64_t to a double so that JS can see the full 2^53 range of uid's.

Ref: #7048
PR-URL: #7096
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Andreas Madsen <[email protected]>
Respect the `{ family: 6 }` address family property when connecting to
a remote peer over TLS.

Fixes: #4139
Fixes: #6440
PR-URL: #6654
Reviewed-By: Colin Ihrig <[email protected]>
Update parallel/test-http-agent-getname to use assert.strictEqual()
consistently and const-ify variables while we're here.

PR-URL: #6654
Reviewed-By: Colin Ihrig <[email protected]>
Before this commit `node --debug-port=1234 debug t.js` ignored the
--debug-port= argument, binding to the default port 5858 instead,
making it impossible to debug more than one process on the same
machine that way.

This commit also reduces the number of places where the default port
is hard-coded by one.

Fixes: #3345
PR-URL: #3470
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: James M Snell <[email protected]>
On UNIX platforms, the debugger doesn't reliably kill the inferior when
killed by a signal.  Work around that by spawning the debugger in its
own process group and killing the process group instead of just the
debugger process.

This is a hack to get the continuous integration back to green, it
doesn't address the underlying issue, which is that the debugger
shouldn't leave stray processes behind.

Fixes: #7034
PR-URL: #7037
Refs: #3470
Reviewed-By: Colin Ihrig <[email protected]>
Changes to Node core in order to allow compilation for linuxOne.

The ../archs/linux32-s390x/opensslconf.h and
../archs/linux64-s390x/opensslconf.h were automatically
generated by running make linux-ppc linux-ppc64 in the
deps/openssl/config directory as per our standard
practice

After these changes we still need a version of v8
which supports linuxOne but that will be coming soon
in the 5.1 version of v8.  Until then with these changes
we'll be able to create a hybrid build which pulls in
v8 from the http://github/andrewlow repo.

PR-URL: #5941
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Ported by exinfinitum from a PR by jasnell:
see nodejs/node-v0.x-archive#14185

Allows the running of v8 tests on node's packaged v8 source code.

Note that the limited win32 support added by jasnell has NOT been ported,
and so these tests are currently UNIX ONLY.

Note that gclient depot tools
(see https://commondatastorage.googleapis.com/
chrome-infra-docs/flat/depot_tools/docs/html/
depot_tools_tutorial.html#_setting_up) and subversion are required
to run tests.

To perform tests, run the following commands:

make v8 DESTCPU=(ARCH)
make test-v8 DESTCPU=(ARCH)

where (ARCH) is your CPU architecture, e.g. x64, ia32.
DESTCPU MUST be specified for this to work properly.

Can also do tests on debug build by using "make test-v8 DESTCPU=(ARCH)
BUILDTYPE=Debug", or perform intl or benchmark tests via make
test-v8-intl or test-v8-benchmarks respectively.

Note that by default, quickcheck and TAP output are disabled, and i18n
is enabled. To activate these options, use options"QUICKCHECK=True" and
"ENABLE_V8_TAP=True" respectively.

Use "DISABLE_V8_I18N" to disable i18n.

Use V8_BUILD_OPTIONS to allow custom user-defined flags to be
appended onto "make v8".

Any tests performed after changes to the packaged v8 file will require
recompiling of v8, which can be done using "make v8 DESTCPU=(ARCH)".

Finally, two additional files necessary for one of the v8 tests have
been added to the v8 folder.

PR-URL: #4704
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: targos - Michaël Zasso <[email protected]>
Original commit message:

    [test] Set default locale in test runner

    BUG=v8:4437,v8:2899,chromium:604310
    LOG=n

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

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

PR-URL: #7451
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Currently we do not specific an absolute path for the tap output of the
V8 test suite. This is proving to be unreliable across release lines.

By prepending `$(PWD)` to each path we can guarantee it will always be
in the root folder.

PR-URL: #7460
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #6955
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Yuval Brik <[email protected]>
Make less assumptions about what objects will be available when
vm context creation or error message printing fail because V8
runs out of JS stack space.

Ref: #6899
PR-URL: #6907
Reviewed-By: Ben Noordhuis <[email protected]>
Don't cache the exported values of fully uninitialized builtins.
This works by adding an additional `loading` flag that is only
active during initial loading of an internal module and checking
that either the module is fully loaded or is in that state before
using its cached value.

This has the effect that builtins modules which could not be loaded
(e.g. because compilation failed due to missing stack space) can be
loaded at a later point.

Fixes: #6899

Ref: #6899
PR-URL: #6907
Reviewed-By: Ben Noordhuis <[email protected]>
This is part 1/2 of the fixes from v8:4871. This fixes a segfault in
verify-heap.

Original commit message:
  [crankshaft] Write fillers for folded old space allocations during verify-heap

  If we don't write fillers, we crash during PagedSpace verification when we try
  to iterate over dead memory (unused folded allocation slots).

  BUG=v8:4871,chromium:580959
  LOG=N

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

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

Fixes: #5900
V8-Bug: https://bugs.chromium.org/p/v8/issues/detail?id=4871

PR-URL: #7303
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
This is part 2/2 of the fixes needed for v8:4871. This fix never landed
upstream because the bug is not present in active V8 version. The patch
is available from the upstream v8 bug however.

The segfault occurs at the intersection of the following three
conditions that are dependent on the allocation pattern of an
application: A pretenured (1) allocation site has to be optimized into
a merged allocation by the allocation folding optimization (2) and
there needs to be overflow of the store buffer (3).

This patch disables the allocation folding optimization for pretenured
allocations. This may have some, hopefully negligible, performance
impact on real world applications.

Fixes: #5900

PR-URL: #7303
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Currently, if an IPC event handler throws an error, it can
cause the message to not be consumed, leading to messages piling
up. This commit causes IPC events to be emitted on the next tick,
allowing the channel's processing logic to move forward as
normal.

Fixes: #6561
PR-URL: #6909
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
The test in this commit runs correctly if IPC messages are
properly consumed and emitted. Otherwise, the test times out.

Fixes: #6561
PR-URL: #6909
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
When a worker is disconnecting, it shuts down all of the handles
it is waiting on. It is possible that a handle does not have an
owner, which causes a crash. This commit closes such handles
without accessing the missing owner.

Fixes: #6561
PR-URL: #6909
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
By manually copying arguments and breaking the try/catch out, we are
able to improve the performance of util.format by 20-100% (depending on
the types).

PR-URL: #5360
Reviewed-By: James M Snell <[email protected]>
Replacing the regexp and replace function with a loop improves
performance by ~60-200%.

PR-URL: #5360
Reviewed-By: James M Snell <[email protected]>
This test checks that ownerless cluster worker handles are closed
correctly on disconnection.

Fixes: #6561
PR-URL: #6909
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Some CI jobs compile Node and run the tests on different machines.
This change enables collaborators to have finer control over what runs
on these jobs, such as the exact suites to run. The test-ci rule was
split into js and native, to allow for addons to be compiled only on
the machines that are going to run them.

Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Santiago Gimeno <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Jeremiah Senkpiel <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
PR-URL: #7317
Adds `2` as a return value of `on_headers_complete`, this mode will be
used to fix handling responses to `CONNECT` requests.

See: #6198
PR-URL: #6279
Reviewed-By: Brian White <[email protected]>
Reviewed-By: James M Snell <[email protected]>
mwain and others added 6 commits July 14, 2016 12:45
GCM cipher IV length can be >=1 bytes.
When not the default 12 bytes (96 bits) sets the IV length using
`EVP_CIPHER_CTX_ctrl` with type `EVP_CTRL_GCM_SET_IVLEN`

PR-URL: #6376
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Fedor Indutny <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Shigeki Ohtsu <[email protected]>
This commit removes some unnecessary signed checks on unsigned
variables.

PR-URL: #7174
Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #7692
Reviewed-By: Myles Borins <[email protected]>
This helps to prevent issues where a failed test can keep a bound
socket open long enough to cause other tests to fail with EADDRINUSE
because the same port number is used.

PR-URL: #7045
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Rod Vagg <[email protected]>
Backported from
99bf6fa

We can tell when `node-gyp` is changed by creating a prerequisite on
`deps/npm/node_modules/node-gyp/package.json`. The prerequisite is added
to the `test/addons/.buildstamp` since `build-addons` is .PHONY.

Testing for this change was entirely manual.

  $ make clean test-build # Initial build
  $ make test-build # Make sure build-addons doesn't rebuild
  $ touch deps/npm/node_modules/node-gyp/package.json # simulate change
  $ make test-build # Ensure build-addons rebuilds

PR-URL: #6787
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
This benchmark fails on Windows when trying to execute command which
is more than 32k in size. This commits skips this one case when running
under Windows.

PR-URL: #7178
Reviewed-By: Trott - Rich Trott <[email protected]>
Reviewed-By: orangemocha - Alexis Campailla <[email protected]>
@Fishrock123
Copy link
Contributor

Add post portem data to imrpove

improve, mortem

@Trott
Copy link
Member

Trott commented Aug 9, 2016

Whoops, deleted previous comment. It's out as an RC. Rad.

@bnoordhuis
Copy link
Member

W.r.t. notable changes, maybe also call out that the list of TLS root certificates has been updated. There were quite a few added and removed, see the commit log of 8c73688 for details.

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Aug 15, 2016

I have gone ahead and updated the PR to reflect all above notes. One last run of CI and citgm... as long as there are no glaring issues I intent to ship this tomorrow

🎉🎉🎉🎉

ci: https://ci.nodejs.org/job/node-test-commit/4583/

citgm: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/353/

edit: CI is good. CITGM failures appear to be unrelated to this release.

@juliankrispel
Copy link

image 👍 👍 👍 👍 👍 👍 👍 👍

Notable Changes:

Semver Minor:

* buffer:
 * backport new buffer constructor APIs to v4.x
   (Сковорода Никита Андреевич)
   #7562
 * backport --zero-fill-buffers cli option (James M Snell)
   #5745
* build:
  * add Intel Vtune profiling support (Chunyang Dai)
    #5527
* repl:
  * copying tabs shouldn't trigger completion (Eugene Obrezkov)
    #5958
* src:
  * add node::FreeEnvironment public API (Cheng Zhao)
    #3098
* test:
  * run v8 tests from node tree (Bryon Leung)
    #4704
* V8:
  * Add post mortem data to improve object inspection and function's
    context variables inspection (Fedor Indutny)
    #3779

Semver Patch:

* **buffer**:
  * ignore negative allocation lengths (Anna Henningsen)
    #7562
* **crypto**:
  * update root certificates (Ben Noordhuis)
    #7363
* **libuv**:
  * upgrade libuv to 1.9.1 (Saúl Ibarra Corretgé)
    #6796
  * upgrade libuv to 1.9.0 (Saúl Ibarra Corretgé)
    #5994
* **npm**:
  * upgrade to 2.15.9 (Kat Marchán)
    #7692
@MylesBorins MylesBorins merged commit 50577fa into v4.x Aug 16, 2016
MylesBorins pushed a commit that referenced this pull request Aug 16, 2016
@MylesBorins MylesBorins deleted the v4.5.0-proposal branch August 16, 2016 16:05
@ChALkeR
Copy link
Member

ChALkeR commented Aug 16, 2016

Yay!

@AndreasMadsen
Copy link
Member

Yes!. No more mails about AsyncWrap 💯 👍

@Trott Trott removed the ctc-agenda label Oct 20, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.