node
node copied to clipboard
2024-12-04, Version 23.4.0 (Current), @targos
2024-12-05, Version 23.4.0 (Current), @targos
Notable Changes
Introducing experimental assert.partialDeepStrictEqual
Sometimes, when writing test, we want to validate that some specific properties
are present, and the mere presence of additional keys are not exactly relevant
for that specific test. For this use case, we can now use
assert.partialDeepStrictEqual
, which should be familiar to those already using
assert.deepStrictEqual
, with the main difference that it does not require all
properties in the actual
parameter to be present in the expected
parameter.
Here are a few examples of usage:
assert.partialDeepStrictEqual(
{ a: 1, b: 2, c: 3 },
{ a: 1, b: 2 },
);
assert.partialDeepStrictEqual(
[1, 2, 3, 4],
[2, 3],
);
assert.partialDeepStrictEqual(
{ a: { b: { c: 1, d: 2 } }, e: 3 },
{ a: { b: { c: 1 } } },
);
assert.partialDeepStrictEqual(
{ a: { b: { c: 1, d: 2 } }, e: 3 },
{ a: { b: { c: 1 } } },
);
assert.partialDeepStrictEqual(
new Set([{ a: 1 }, { b: 1 }]),
new Set([{ a: 1 }]),
);
assert.partialDeepStrictEqual(
{ a: new Set([{ a: 1 }, { b: 1 }]), b: new Map(), c: [1, 2, 3] },
{ a: new Set([{ a: 1 }]), c: [2] },
);
Contributed by Giovanni Bucci in #54630.
Other notable changes
- [
816d37a187
] - (SEMVER-MINOR) cli: implement--trace-env
and--trace-env-[js|native]-stack
(Joyee Cheung) #55604 - [
30d604180d
] - (SEMVER-MINOR) net: supportblockList
fornet.Server
(theanarkh) #56079 - [
4cdb03201e
] - (SEMVER-MINOR) process: deprecatefeatures.{ipv6,uv}
andfeatures.tls_*
(René) #55545 - [
efb9f05f59
] - (SEMVER-MINOR) doc,lib,src,test: unflagnode:sqlite
module (Colin Ihrig) #55890 - [
d777d4a52d
] - (SEMVER-MINOR) sqlite: addStatementSync.prototype.iterate
method (tpoisseau) #54213
Commits
- [
5b0ce376a2
] - assert: optimize partial comparison of twoSet
s (Antoine du Hamel) #55970 - [
a4f57f0293
] - (SEMVER-MINOR) assert: add partialDeepStrictEqual (Giovanni Bucci) #54630 - [
39c901307f
] - build: remove defaults for create-release-proposal (Rafael Gonzaga) #56042 - [
7133c0459f
] - build: avoid compiling with VS v17.12 (Stefan Stojanovic) #55930 - [
ce53f1689f
] - build: set node_arch to target_cpu in GN (Shelley Vohr) #55967 - [
2023b09d27
] - build: add create release proposal action (Rafael Gonzaga) #55690 - [
26ec99634c
] - build: use variable for crypto dep path (Shelley Vohr) #55928 - [
f48e289580
] - build: fix GN build for sqlite (Cheng) #55912 - [
fffabca6b8
] - build: compile bundled simdutf conditionally (Jakub Jirutka) #55886 - [
d8eb83c5c5
] - build: compile bundled simdjson conditionally (Jakub Jirutka) #55886 - [
83e02dc482
] - build: compile bundled ada conditionally (Jakub Jirutka) #55886 - [
816d37a187
] - (SEMVER-MINOR) cli: implement --trace-env and --trace-env-[js|native]-stack (Joyee Cheung) #55604 - [
93d36bf1c8
] - crypto: allow non-multiple of 8 in SubtleCrypto.deriveBits (Filip Skokan) #55296 - [
52dfe5af4b
] - deps: update sqlite to 3.47.1 (Node.js GitHub Bot) #56094 - [
3852b5c8d1
] - deps: update zlib to 1.3.0.1-motley-82a5fec (Node.js GitHub Bot) #55980 - [
f99f95f62f
] - deps: update corepack to 0.30.0 (Node.js GitHub Bot) #55977 - [
96e846de89
] - deps: update ngtcp2 to 1.9.0 (Node.js GitHub Bot) #55975 - [
d180a8aedb
] - deps: update simdutf to 5.6.3 (Node.js GitHub Bot) #55973 - [
288416a764
] - deps: upgrade npm to 10.9.1 (npm team) #55951 - [
cf3f7ac512
] - deps: update zlib to 1.3.0.1-motley-7e2e4d7 (Node.js GitHub Bot) #54432 - [
7768b3d054
] - deps: update simdjson to 3.10.1 (Node.js GitHub Bot) #54678 - [
9c6103833b
] - deps: update simdutf to 5.6.2 (Node.js GitHub Bot) #55889 - [
7b133d6220
] - dgram: check udp buffer size to avoid fd leak (theanarkh) #56084 - [
3b4ef93371
] - doc: rename file to advocacy-ambassador-program.md (Tobias Nießen) #56046 - [
59e4087d5e
] - doc: add added tag and fix typo sqlite.md (Bart Louwers) #56012 - [
a1b26608ae
] - doc: remove unused import from sample code (Blended Bram) #55570 - [
498f44ad73
] - doc: add FAQ to releases section (Rafael Gonzaga) #55992 - [
d48348afaa
] - doc: move history entry to class description (Luigi Pinca) #55991 - [
96926ce13c
] - doc: add history entry for textEncoder.encodeInto() (Luigi Pinca) #55990 - [
e92d51d511
] - doc: improve GN build documentation a bit (Shelley Vohr) #55968 - [
6be3824d6f
] - doc: fix deprecation codes (Filip Skokan) #56018 - [
fa2b35d28d
] - doc: remove confusing and outdated sentence (Luigi Pinca) #55988 - [
baed2763df
] - doc: deprecate passing invalid types infs.existsSync
(Carlos Espa) #55892 - [
a3f7db6b6d
] - doc: add doc for PerformanceObserver.takeRecords() (skyclouds2001) #55786 - [
770572423b
] - doc: add vetted courses to the ambassador benefits (Matteo Collina) #55934 - [
98f8f4a8a9
] - doc: ordernode:crypto
APIs alphabetically (Julian Gassner) #55831 - [
1e0decb44c
] - doc: doc how to add message for promotion (Michael Dawson) #55843 - [
ff48c29724
] - doc: add esm example for zlib (Leonardo Peixoto) #55946 - [
ccc5a6d552
] - doc: document approach for building wasm in deps (Michael Dawson) #55940 - [
c8bb8a6ac5
] - doc: fix Node.js 23 column in CHANGELOG.md (Richard Lau) #55935 - [
9d078802ad
] - doc: remove RedYetiDev from triagers team (Aviv Keller) #55947 - [
5a2a757119
] - doc: add esm examples to node:timers (Alfredo González) #55857 - [
f711a48e15
] - doc: fix relative path mention in --allow-fs (Rafael Gonzaga) #55791 - [
219f5f2627
] - doc: include git node release --promote to steps (Rafael Gonzaga) #55835 - [
f9d25ed3e4
] - doc: add history entry for import assertion removal (Antoine du Hamel) #55883 - [
efb9f05f59
] - (SEMVER-MINOR) doc,lib,src,test: unflag sqlite module (Colin Ihrig) #55890 - [
a37e5fe5f8
] - fs: lazily load ReadFileContext (Gürgün Dayıoğlu) #55998 - [
9289374248
] - http2: fix memory leak caused by premature listener removing (ywave620) #55966 - [
a2382303d7
] - lib: refactor code to improve readability (Pietro Marchini) #55995 - [
30f26ba254
] - lib: avoid excluding symlinks in recursive fs.readdir with filetypes (Juan José) #55714 - [
f262207356
] - meta: add releasers as CODEOWNERS to proposal action (Rafael Gonzaga) #56043 - [
b8ab5332a9
] - module: remove --experimental-default-type (Geoffrey Booth) #56092 - [
4be5047030
] - module: do not warn when require(esm) comes from node_modules (Joyee Cheung) #55960 - [
30d604180d
] - (SEMVER-MINOR) net: support blocklist for net.Server (theanarkh) #56079 - [
4cdb03201e
] - (SEMVER-MINOR) process: deprecatefeatures.{ipv6,uv}
andfeatures.tls_*
(René) #55545 - [
d09e57b26d
] - quic: update more QUIC implementation (James M Snell) #55986 - [
1fb30d6e86
] - quic: multiple updates to quic impl (James M Snell) #55971 - [
9e4f7aa808
] - sqlite: deps includesqlite3ext.h
(Alex Yang) #56010 - [
d777d4a52d
] - (SEMVER-MINOR) sqlite: addStatementSync.prototype.iterate
method (tpoisseau) #54213 - [
56c4da240d
] - src: use std::string_view for process emit fns (Yagiz Nizipli) #56086 - [
26ab8e9823
] - src: remove dead code in async_wrap (Gerhard Stöbich) #56065 - [
4dea44e468
] - src: avoid copy on getV8FastApiCallCount (Yagiz Nizipli) #56081 - [
b778a4fe46
] - src: fix check fd (theanarkh) #56000 - [
971f5f54df
] - src: safely remove the last line from dotenv (Shima Ryuhei) #55982 - [
497a9aea1c
] - src: fix kill signal on Windows (Hüseyin Açacak) #55514 - [
a8809fc0f5
] - test: move test-worker-arraybuffer-zerofill to parallel (Luigi Pinca) #56053 - [
6194435b9e
] - test: update WPT for url to 67880a4eb83ca9aa732eec4b35a1971ff5bf37ff (Node.js GitHub Bot) #55999 - [
f7567d46d8
] - test: make HTTP/1.0 connection test more robust (Arne Keller) #55959 - [
c157e026fc
] - test: convert readdir test to use test runner (Thomas Chetwin) #55750 - [
29362ce673
] - test: make x509 crypto tests work with BoringSSL (Shelley Vohr) #55927 - [
493e16c852
] - test: fix determining lower priority (Livia Medeiros) #55908 - [
99858ceb9f
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #55997 - [
7c3a4d4bcd
] - test_runner: refactor Promise chain in run() (Colin Ihrig) #55958 - [
95e8c4ef6c
] - test_runner: refactor build Promise in Suite() (Colin Ihrig) #55958 - [
c048865199
] - test_runner: simplify hook running logic (Colin Ihrig) #55963 - [
8197815fe8
] - test_runner: mark snapshot testing as stable (Colin Ihrig) #55897 - [
8a5d8c7669
] - test_runner: mark context.plan() as stable (Colin Ihrig) #55895 - [
98ce4652e2
] - tools: fix update-undici script (Michaël Zasso) #56069 - [
d6a6c8ace1
] - tools: allow dispatch oftools.yml
from forks (Antoine du Hamel) #56008 - [
cc96fce5eb
] - tools: fix nghttp3 updater script (Antoine du Hamel) #56007 - [
2cd939cb95
] - tools: filter release keys to reduce interactivity (Antoine du Hamel) #55950 - [
4b3919f1be
] - tools: update WPT updater (Antoine du Hamel) #56003 - [
54c46b8464
] - tools: add WPT updater for specific subsystems (Mert Can Altin) #54460 - [
32b1681b7f
] - tools: use tokenless Codecov uploads (Michaël Zasso) #55943 - [
475141e370
] - tools: add linter for release commit proposals (Antoine du Hamel) #55923 - [
d093820f64
] - tools: lint js indoc/**/*.md
(Livia Medeiros) #55904 - [
72eb710f0f
] - tools: fix riscv64 build failed (Lu Yahan) #52888 - [
882b70c83f
] - tools: bump cross-spawn from 7.0.3 to 7.0.5 in /tools/eslint (dependabot[bot]) #55894