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

v12.22.4 proposal #39500

Merged
merged 23 commits into from Jul 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
98ac3c4
build: label PRs with GitHub Action instead of nodejs-github-bot
phillipj Mar 6, 2021
499e56b
build: fix label-pr workflow
targos Apr 25, 2021
93a1a3c
deps: V8: cherry-pick 530080c44af2
miladfarca May 3, 2021
bbceab4
deps: V8: backport 1b1eda0876aa
targos Jul 3, 2021
2b54156
deps: V8: cherry-pick 92e6d3317082
targos Jul 3, 2021
492b0d6
deps: V8: cherry-pick e6f62a41f5ee
targos Jul 3, 2021
a73275f
deps: V8: cherry-pick 7b3332844212
targos Jul 3, 2021
add7b5b
deps: V8: cherry-pick cc641f6be756
targos Jul 3, 2021
f4377b1
deps: V8: cherry-pick 7c182bd65f42
targos Jul 3, 2021
8046daf
deps: V8: cherry-pick 0b3a4ecf7083
targos Jul 7, 2021
15b91fa
deps: V8: backport 895949419186
targos Jul 7, 2021
906b43e
deps: V8: update build dependencies
targos Jul 3, 2021
7d5a2f9
deps: update to cjs-module-lexer@1.1.1
guybedford Mar 30, 2021
b3c698a
deps: update to cjs-module-lexer@1.2.1
guybedford Apr 28, 2021
30ce0e6
src: update cares_wrap OpenBSD defines
addaleax May 13, 2021
f552c45
src: move CHECK in AddIsolateFinishedCallback
indutny Mar 31, 2021
e459c79
deps: V8: cherry-pick 035c305ce776
targos May 1, 2021
39e9cd5
deps: restore minimum ICU version to 65
richardlau Jun 17, 2021
e11a862
deps: update to c-ares 1.17.1
lxdicted Nov 21, 2020
b263f25
http2: on receiving rst_stream with cancel code add it to pending list
kumarak Jul 26, 2021
ddc8dde
deps: upgrade npm to 6.14.14
darcyclarke Jul 27, 2021
3e4bc1b
module: fix legacy `node` specifier resolution to resolve `"main"` field
aduh95 Jun 9, 2021
2fdf989
2021-07-29, Version 12.22.4 'Erbium' (LTS)
richardlau Jul 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
195 changes: 195 additions & 0 deletions .github/label-pr-config.yml
@@ -0,0 +1,195 @@
## Order of entries in this map *does* matter for the resolved labels
## earlier entries override later entries
subSystemLabels:
# src subsystems
/^src\/async-wrap/: c++, async_wrap
/^src\/(?:base64|node_buffer|string_)/: c++, buffer
/^src\/cares/: c++, cares
/^src\/(?:process_wrap|spawn_)/: c++, child_process
/^src\/(?:node_)?crypto/: c++, crypto
/^src\/(?:debug-|node_debug)/: c++, debugger
/^src\/udp_/: c++, dgram
/^src\/(?:fs_|node_file|node_stat_watcher)/: c++, fs
/^src\/node_http_parser/: c++, http_parser
/^src\/node_i18n/: c++, intl
/^src\/uv\./: c++, libuv
/^src\/(?:connect(?:ion)?|pipe|tcp)_/: c++, net
/^src\/node_os/: c++, os
/^src\/(?:node_main|signal_)/: c++, process
/^src\/timer_/: c++, timers
/^src\/(?:CNNICHashWhitelist|node_root_certs|tls_)/: c++, tls
/^src\/tty_/: c++, tty
/^src\/node_url/: c++, url-whatwg
/^src\/node_util/: c++, util
/^src\/(?:node_v8|v8abbr)/: c++, V8 Engine
/^src\/node_contextify/: c++, vm
/^src\/.*win32.*/: c++, windows
/^src\/node_zlib/: c++, zlib
/^src\/tracing/: c++, tracing
/^src\/node_api/: c++, n-api
/^src\/node_http2/: c++, http2, dont-land-on-v6.x
/^src\/node_report/: c++, report
/^src\/node_wasi/: c++, wasi
/^src\/node_worker/: c++, worker
/^src\/quic\/*/: c++, quic, dont-land-on-v14.x, dont-land-on-v12.x
/^src\/node_bob*/: c++, quic, dont-land-on-v14.x, dont-land-on-v12.x

# don't label python files as c++
/^src\/.+\.py$/: lib / src, needs-ci

# properly label changes to v8 inspector integration-related files
/^src\/inspector_/: c++, inspector, needs-ci

# don't want to label it a c++ update when we're "only" bumping the Node.js version
/^src\/(?!node_version\.h)/: c++
# BUILDING.md should be marked as 'build' in addition to 'doc'
/^BUILDING\.md$/: build, doc
# meta is a very specific label for things that are policy and or meta-info related
/^([A-Z]+$|CODE_OF_CONDUCT|ROADMAP|WORKING_GROUPS|GOVERNANCE|CHANGELOG|\.mail|\.git.+)/: meta
# things that edit top-level .md files are always a doc change
/^\w+\.md$/: doc
# different variants of *Makefile and build files
/^(tools\/)?(Makefile|BSDmakefile|create_android_makefiles|\.travis\.yml)$/: build, needs-ci
/^tools\/(install\.py|genv8constants\.py|getnodeversion\.py|js2c\.py|utils\.py|configure\.d\/.*)$/: build, needs-ci
/^vcbuild\.bat$/: build, windows, needs-ci
/^(android-)?configure|node\.gyp|common\.gypi$/: build, needs-ci
# more specific tools
/^tools\/gyp/: tools, build, needs-ci
/^tools\/doc\//: tools, doc
/^tools\/icu\//: tools, intl, needs-ci
/^tools\/(?:osx-pkg\.pmdoc|pkgsrc)\//: tools, macos, install
/^tools\/(?:(?:mac)?osx-)/: tools, macos
/^tools\/test-npm/: tools, test, npm
/^tools\/test/: tools, test
/^tools\/(?:certdata|mkssldef|mk-ca-bundle)/: tools, openssl, tls
/^tools\/msvs\//: tools, windows, install, needs-ci
/^tools\/[^/]+\.bat$/: tools, windows, needs-ci
/^tools\/make-v8/: tools, V8 Engine, needs-ci
/^tools\/(code_cache|snapshot|v8_gypfiles)/: needs-ci,
/^tools\/build-addons.js/: needs-ci,
# all other tool changes should be marked as such
/^tools\//: tools
/^\.eslint|\.remark|\.editorconfig/: tools

## Dependencies
# libuv needs an explicit mapping, as the ordinary /deps/ mapping below would
# end up as libuv changes labeled with "uv" (which is a non-existing label)
/^deps\/uv\//: libuv
/^deps\/v8\/tools\/gen-postmortem-metadata\.py/: V8 Engine, post-mortem
/^deps\/v8\//: V8 Engine
/^deps\/uvwasi\//: wasi
/^deps\/nghttp2\/nghttp2\.gyp/: build, http2, dont-land-on-v6.x
/^deps\/nghttp2\//: http2, dont-land-on-v6.x
/^deps\/ngtcp2\//: quic, dont-land-on-v14.x, dont-land-on-v12.x
/^deps\/nghttp3\//: quic, dont-land-on-v14.x, dont-land-on-v12.x
/^deps\/([^/]+)/: $1

## JS subsystems
# Oddities first
/^lib\/(punycode|\w+\/freelist|sys\.js)/: ''
/^lib\/constants\.js$/: lib / src
/^lib\/_(debug_agent|debugger)\.js$/: debugger
/^lib(\/\w+)?\/(_)?link(ed)?list/: timers
/^lib\/\w+\/bootstrap_node/: lib / src
/^lib\/\w+\/v8_prof_/: tools
/^lib\/\w+\/socket_list/: net
/^lib\/\w+\/streams$/: stream
/^lib\/.*http2/: http2, dont-land-on-v6.x
/^lib\/worker_threads.js$/: worker
/^lib\/internal\/url\.js$/: url-whatwg
/^lib\/internal\/modules\/esm/: ES Modules
/^lib\/internal\/quic\/*/: quic, dont-land-on-v14.x, dont-land-on-v12.x

# All other lib/ files map directly
/^lib\/_(\w+)_\w+\.js?$/: $1 # e.g. _(stream)_wrap
/^lib(\/internal)?\/(\w+)\.js?$/: $2 # other .js files
/^lib\/internal\/(\w+)(?:\/|$)/: $1 # internal subfolders

exlusiveLabels:
# more specific tests
/^test\/addons\//: test, addons
/^test\/debugger\//: test, debugger
/^test\/doctool\//: test, doc, tools
/^test\/timers\//: test, timers
/^test\/pseudo-tty\//: test, tty
/^test\/inspector\//: test, inspector
/^test\/cctest\/test_inspector/: test, inspector
/^test\/cctest\/test_url/: test, url-whatwg
/^test\/addons-napi\//: test, n-api
/^test\/async-hooks\//: test, async_hooks
/^test\/report\//: test, report
/^test\/fixtures\/es-module/: test, ES Modules
/^test\/es-module\//: test, ES Modules

/^test\//: test

# specific map for webcrypto.md as it should be labeled 'crypto'
/^doc\/api\/webcrypto.md$/: doc, crypto
# specific map for modules.md as it should be labeled 'module' not 'modules'
/^doc\/api\/modules.md$/: doc, module
# specific map for esm.md as it should be labeled 'ES Modules' not 'esm'
/^doc\/api\/esm.md$/: doc, ES Modules
# n-api is treated separately since it is not a JS core module but is still
# considered a subsystem of sorts
/^doc\/api\/n-api.md$/: doc, n-api
# quic
/^doc\/api\/quic.md$/: doc, quic, dont-land-on-v14.x, dont-land-on-v12.x
# add worker label to PRs that affect doc/api/worker_threads.md
/^doc\/api\/worker_threads.md$/: doc, worker
# automatically tag JS subsystem-specific API doc changes
/^doc\/api\/(\w+)\.md$/: doc, $1
# add deprecations label to PRs that affect doc/api/deprecations.md
/^doc\/api\/deprecations.md$/: doc, deprecations

/^doc\//: doc

# more specific benchmarks
/^benchmark\/buffers\//: benchmark, buffer
/^benchmark\/(?:arrays|es)\//: benchmark, V8 Engine
/^benchmark\/_http/: benchmark, http
/^benchmark\/(?:misc|fixtures)\//: benchmark
/^benchmark\/streams\//: benchmark, stream
/^benchmark\/([^/]+)\//: benchmark, $1

/^benchmark\//: benchmark

allJsSubSystems:
- assert
- async_hooks
- buffer
- child_process
- cluster
- console
- crypto
- debugger
- dgram
- dns
- domain
- events
- esm
- fs
- http
- https
- http2
- module
- net
- os
- path
- process
- querystring
- quic
- readline
- repl
- report
- stream
- string_decoder
- timers
- tls
- tty
- url
- util
- v8
- vm
- wasi
- worker
- zlib
14 changes: 14 additions & 0 deletions .github/workflows/label-pr.yml
@@ -0,0 +1,14 @@
name: Label PRs

on:
pull_request_target:
types: [opened]

jobs:
label:
runs-on: ubuntu-latest

steps:
- uses: nodejs/node-pr-labeler@v1
with:
configuration-path: .github/label-pr-config.yml
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -28,7 +28,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.22.3">12.22.3</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.22.4">12.22.4</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.3">12.22.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.2">12.22.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.1">12.22.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.22.0">12.22.0</a><br/>
Expand Down
2 changes: 1 addition & 1 deletion common.gypi
Expand Up @@ -34,7 +34,7 @@

# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
'v8_embedder_string': '-node.46',
'v8_embedder_string': '-node.56',

##### V8 defaults for Node.js #####

Expand Down
1 change: 1 addition & 0 deletions deps/cares/cares.gyp
Expand Up @@ -75,6 +75,7 @@
'src/ares__parse_into_addrinfo.c',
'src/ares_parse_aaaa_reply.c',
'src/ares_parse_a_reply.c',
'src/ares_parse_caa_reply.c',
'src/ares_parse_mx_reply.c',
'src/ares_parse_naptr_reply.c',
'src/ares_parse_ns_reply.c',
Expand Down
13 changes: 13 additions & 0 deletions deps/cares/include/ares.h
Expand Up @@ -528,6 +528,15 @@ struct ares_addr6ttl {
int ttl;
};

struct ares_caa_reply {
struct ares_caa_reply *next;
int critical;
unsigned char *property;
size_t plength; /* plength excludes null termination */
unsigned char *value;
size_t length; /* length excludes null termination */
};

struct ares_srv_reply {
struct ares_srv_reply *next;
char *host;
Expand Down Expand Up @@ -637,6 +646,10 @@ CARES_EXTERN int ares_parse_aaaa_reply(const unsigned char *abuf,
struct ares_addr6ttl *addrttls,
int *naddrttls);

CARES_EXTERN int ares_parse_caa_reply(const unsigned char* abuf,
int alen,
struct ares_caa_reply** caa_out);

CARES_EXTERN int ares_parse_ptr_reply(const unsigned char *abuf,
int alen,
const void *addr,
Expand Down
4 changes: 2 additions & 2 deletions deps/cares/include/ares_version.h
Expand Up @@ -6,12 +6,12 @@
#define ARES_COPYRIGHT "2004 - 2020 Daniel Stenberg, <daniel@haxx.se>."

#define ARES_VERSION_MAJOR 1
#define ARES_VERSION_MINOR 16
#define ARES_VERSION_MINOR 17
#define ARES_VERSION_PATCH 1
#define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\
(ARES_VERSION_MINOR<<8)|\
(ARES_VERSION_PATCH))
#define ARES_VERSION_STR "1.16.1"
#define ARES_VERSION_STR "1.17.1"

#if (ARES_VERSION >= 0x010700)
# define CARES_HAVE_ARES_LIBRARY_INIT 1
Expand Down
7 changes: 7 additions & 0 deletions deps/cares/include/nameser.h
Expand Up @@ -88,6 +88,7 @@ typedef enum __ns_type {
ns_t_maila = 254, /* Transfer mail agent records. */
ns_t_any = 255, /* Wildcard match. */
ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
ns_t_caa = 257, /* Certification Authority Authorization. */
ns_t_max = 65536
} ns_type;

Expand Down Expand Up @@ -204,8 +205,14 @@ typedef enum __ns_rcode {
#define T_AXFR ns_t_axfr
#define T_MAILB ns_t_mailb
#define T_MAILA ns_t_maila
#define T_CAA ns_t_caa
#define T_ANY ns_t_any

#endif /* HAVE_ARPA_NAMESER_COMPAT_H */

/* Android's bionic arpa/nameser_compat.h, nor glibc versions prior to 2.25 have T_OPT defined */
#ifndef T_OPT
# define T_OPT ns_t_opt
#endif

#endif /* ARES_NAMESER_H */
8 changes: 6 additions & 2 deletions deps/cares/src/ares__readaddrinfo.c
Expand Up @@ -163,6 +163,10 @@ int ares__readaddrinfo(FILE *fp,
continue;
}

/* Zero-out 'addr' struct, as there are members that we may not set, especially
* for ipv6. We don't want garbage data */
memset(&addr, 0, sizeof(addr));

/*
* Convert address string to network address for the requested families.
* Actual address family possible values are AF_INET and AF_INET6 only.
Expand All @@ -179,7 +183,7 @@ int ares__readaddrinfo(FILE *fp,
}

node->ai_family = addr.sa.sa_family = AF_INET;
node->ai_addrlen = sizeof(sizeof(addr.sa4));
node->ai_addrlen = sizeof(addr.sa4);
node->ai_addr = ares_malloc(sizeof(addr.sa4));
if (!node->ai_addr)
{
Expand All @@ -200,7 +204,7 @@ int ares__readaddrinfo(FILE *fp,
}

node->ai_family = addr.sa.sa_family = AF_INET6;
node->ai_addrlen = sizeof(sizeof(addr.sa6));
node->ai_addrlen = sizeof(addr.sa6);
node->ai_addr = ares_malloc(sizeof(addr.sa6));
if (!node->ai_addr)
{
Expand Down