From f2531f1c56280969cad1333ac6e78b6417258d63 Mon Sep 17 00:00:00 2001 From: Robo Date: Thu, 13 Nov 2025 17:25:14 +0900 Subject: [PATCH] chore: update to Electron 39 (#275786) * chore: bump electron@39.0.0 * chore: update build * chore: bump distro * chore: update debian deps * chore: exclude dlls from symbol scan * chore: test with patch v8 headers * chore: bump rpm dependencies * chore: cleanup preinstall.js * chore: bump electron@39.1.1 * chore: remove unsupported FontationsLinuxSystemFonts feature flag * chore: bump electron@39.1.2 * chore: update nodejs build * temp: update distro * ci: fix location of preinstall invocation * chore: bump distro --- .npmrc | 5 +- build/.cachesalt | 2 +- build/azure-pipelines/linux/setup-env.sh | 8 +- .../steps/product-build-linux-compile.yml | 4 + build/checksums/electron.txt | 150 +++++++++--------- build/checksums/nodejs.txt | 14 +- build/filters.js | 2 + build/gulpfile.scan.mjs | 6 +- build/linux/debian/dep-lists.js | 6 +- build/linux/debian/dep-lists.ts | 6 +- build/linux/dependencies-generator.js | 2 +- build/linux/dependencies-generator.ts | 2 +- build/linux/rpm/dep-lists.js | 1 - build/linux/rpm/dep-lists.ts | 1 - .../custom-headers/v8-source-location.patch | 94 +++++++++++ build/npm/preinstall.js | 42 +++-- cgmanifest.json | 16 +- package-lock.json | 8 +- package.json | 4 +- remote/.npmrc | 4 +- src/main.ts | 3 +- .../electron-main/utilityProcess.ts | 2 +- 22 files changed, 252 insertions(+), 130 deletions(-) create mode 100644 build/npm/gyp/custom-headers/v8-source-location.patch diff --git a/.npmrc b/.npmrc index 5c19939fde2..c2975efada1 100644 --- a/.npmrc +++ b/.npmrc @@ -1,8 +1,7 @@ disturl="https://electronjs.org/headers" -target="37.7.0" -ms_build_id="12597478" +target="39.1.2" +ms_build_id="12766293" runtime="electron" build_from_source="true" legacy-peer-deps="true" timeout=180000 -npm_config_node_gyp="node build/npm/gyp/node_modules/node-gyp/bin/node-gyp.js" diff --git a/build/.cachesalt b/build/.cachesalt index d55dde3c035..2ada6502dbd 100644 --- a/build/.cachesalt +++ b/build/.cachesalt @@ -1 +1 @@ -2025-07-23T19:44:03.051Z +2025-11-13T05:15:29.922Z diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh index 8bd2af238c4..727df044aa2 100755 --- a/build/azure-pipelines/linux/setup-env.sh +++ b/build/azure-pipelines/linux/setup-env.sh @@ -25,7 +25,7 @@ fi if [ "$npm_config_arch" == "x64" ]; then # Download clang based on chromium revision used by vscode - curl -s https://raw.githubusercontent.com/chromium/chromium/138.0.7204.251/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux + curl -s https://raw.githubusercontent.com/chromium/chromium/142.0.7444.134/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux # Download libcxx headers and objects from upstream electron releases DEBUG=libcxx-fetcher \ @@ -37,9 +37,9 @@ if [ "$npm_config_arch" == "x64" ]; then # Set compiler toolchain # Flags for the client build are based on - # https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:build/config/arm.gni - # https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:build/config/compiler/BUILD.gn - # https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:build/config/c++/BUILD.gn + # https://source.chromium.org/chromium/chromium/src/+/refs/tags/142.0.7444.134:build/config/arm.gni + # https://source.chromium.org/chromium/chromium/src/+/refs/tags/142.0.7444.134:build/config/compiler/BUILD.gn + # https://source.chromium.org/chromium/chromium/src/+/refs/tags/142.0.7444.134:build/config/c++/BUILD.gn export CC="$PWD/.build/CR_Clang/bin/clang --gcc-toolchain=$VSCODE_CLIENT_SYSROOT_DIR/x86_64-linux-gnu" export CXX="$PWD/.build/CR_Clang/bin/clang++ --gcc-toolchain=$VSCODE_CLIENT_SYSROOT_DIR/x86_64-linux-gnu" export CXXFLAGS="-nostdinc++ -D__NO_INLINE__ -DSPDLOG_USE_STD_FORMAT -I$PWD/.build/libcxx_headers -isystem$PWD/.build/libcxx_headers/include -isystem$PWD/.build/libcxxabi_headers/include -fPIC -flto=thin -fsplit-lto-unit -D_LIBCPP_ABI_NAMESPACE=Cr -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE --sysroot=$VSCODE_CLIENT_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot" diff --git a/build/azure-pipelines/linux/steps/product-build-linux-compile.yml b/build/azure-pipelines/linux/steps/product-build-linux-compile.yml index 53a78c24c95..9dc3f9e120b 100644 --- a/build/azure-pipelines/linux/steps/product-build-linux-compile.yml +++ b/build/azure-pipelines/linux/steps/product-build-linux-compile.yml @@ -132,6 +132,10 @@ steps: source ./build/azure-pipelines/linux/setup-env.sh + # Run preinstall script before root dependencies are installed + # so that v8 headers are patched correctly for native modules. + node build/npm/preinstall.js + for i in {1..5}; do # try 5 times npm ci && break if [ $i -eq 5 ]; then diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt index ab1540038a3..5233572906c 100644 --- a/build/checksums/electron.txt +++ b/build/checksums/electron.txt @@ -1,75 +1,75 @@ -766c6904e9825e3342a28ddd0210204d42e40377d2ab7ee17f5f954fbebab8ae *chromedriver-v37.7.0-darwin-arm64.zip -4b24cf1e4c00ef73411c4b715a7c1198d0186d5dcac7a64137759fd987836931 *chromedriver-v37.7.0-darwin-x64.zip -d3635fdbd2a09e23fa9be99e954bd910e8cd2a06265d011b0ed42c9f947a4572 *chromedriver-v37.7.0-linux-arm64.zip -aca613941e5412ea016307a9e40c4b78e8caacc0451fb83166b67ed9da617a91 *chromedriver-v37.7.0-linux-armv7l.zip -22570d8f0f89f22b6175bba8ead9421ffe7316829a08d4b987d7c3adb4c2f153 *chromedriver-v37.7.0-linux-x64.zip -2a4a7f0a43cd611db609b8217687083cf7d88f0e10ab24116a205169b05d75c4 *chromedriver-v37.7.0-mas-arm64.zip -1cd0ec52b319b43ca08f5db0ecb4848b35b2babf1187757aea2904e3bc217dd1 *chromedriver-v37.7.0-mas-x64.zip -d7ee42b443c9b83efaaf0a75b3e5b50cdb3cb04540a57a8398babcfffeaadc2f *chromedriver-v37.7.0-win32-arm64.zip -55199f114621ecbb2365fe0e22b9b188bc013c2c0d7ff66f43f814ebebe38739 *chromedriver-v37.7.0-win32-ia32.zip -18c5e32bfd075a9b497c7e514a83dc18257cbc5119530c0372d61451138bdc78 *chromedriver-v37.7.0-win32-x64.zip -a6d46dfbbd5a7e0c31272eabe1068e8570f18df1559209e8ec239d0eeb0ee38f *electron-api.json -d05484feef95627bc407f1ef6c86dc7076c568f763afd162c718c65e736645e2 *electron-v37.7.0-darwin-arm64-dsym-snapshot.zip -59cc95edb7599fb24b2cc65b9313583465faeeb95a8822cb74b170ffe43d9aee *electron-v37.7.0-darwin-arm64-dsym.zip -e09febc22a7635fc2ca7de0bbeefb5aaba9fe91e6e15da3cb90ec12a2a0cd822 *electron-v37.7.0-darwin-arm64-symbols.zip -c962552e6de47f5eebf1c2932f21d66d556c351d90d70ccbae68a9d22ac17ba9 *electron-v37.7.0-darwin-arm64.zip -c083a859932a2a070cfc0c110f03c7573c1f83f6aef624aacac34fe16c0fb0c9 *electron-v37.7.0-darwin-x64-dsym-snapshot.zip -43758f15ef737505edc544aca5ae4a06636930ca5d95a32030d1c742acc07141 *electron-v37.7.0-darwin-x64-dsym.zip -c65b761a0481ee97c75f62add721b3427d0bde61c5545ebfd3a059b11cb8055a *electron-v37.7.0-darwin-x64-symbols.zip -4aebc43ef4de09086bf4487d1bc491de27f6aa1a2e8dd32622e8bf1deaf9a1ae *electron-v37.7.0-darwin-x64.zip -690855692f644997420b08b79cfa4a2b852f705982f754afb32877e55642b58a *electron-v37.7.0-linux-arm64-debug.zip -6cceaeabd2e7517d8562da6fc9a17a73fc0be5b0bb05b3732ff5b5ec2a08745e *electron-v37.7.0-linux-arm64-symbols.zip -c72c2e963dcdea65d500b23fff3f22806a2518a86b52236dceb825a1d194cd7e *electron-v37.7.0-linux-arm64.zip -eb3303f9d335e5bd518f91ceee7832348ed2943fecf965ab4312ac40e91644f1 *electron-v37.7.0-linux-armv7l-debug.zip -839b0c8c4c637aeb968fdd85cdfedf7e83398aa756724b83ea482b65f8f80e83 *electron-v37.7.0-linux-armv7l-symbols.zip -eecc89703c24b019fad14e3e8341a6e2bcd995c473c9c5e56bf1a4664d8630f7 *electron-v37.7.0-linux-armv7l.zip -42cb0ba3e380f6a10ab6ec56e9e9a2f55c7f71621daf605e94a0eba21c3c9f6c *electron-v37.7.0-linux-x64-debug.zip -03c3761ea84447022f5acb171f34b0129b44c3b54d8882addb67cac3572e1368 *electron-v37.7.0-linux-x64-symbols.zip -4ae04d20d0ea25bf3451e3d0eaa757190b5813fa58d17bbe3be4332836da6b25 *electron-v37.7.0-linux-x64.zip -23bf51bc222cf1384594ac2dba294899e0170f5695125b156b0d5c213eb81af6 *electron-v37.7.0-mas-arm64-dsym-snapshot.zip -a0799acdf988e48c45778c5a797bcece64531c2c0070ab14b066b477df52e837 *electron-v37.7.0-mas-arm64-dsym.zip -dcd1be8cf58bc07813e34d93903e8bf1f268ff02d1214b01d02298e6d83f01b2 *electron-v37.7.0-mas-arm64-symbols.zip -da5d2aaac129d90f36e65d091b630528ac0aff81ca0b9895089878c02a59d8fb *electron-v37.7.0-mas-arm64.zip -a4f489fe0aec2ab13605189ba80ca49042d11249a00c79a6d5456689288e3479 *electron-v37.7.0-mas-x64-dsym-snapshot.zip -1051763877e03d0d80fe5af3f6fdd50bf158f25c7d058a4755ca83fc036f9f69 *electron-v37.7.0-mas-x64-dsym.zip -95fe16c43a57ae8be98d4bb4dfce4b2c3e2f6c6ed1415ca757a1ee15727e476f *electron-v37.7.0-mas-x64-symbols.zip -8e59bf3fa4704a01cdeb3b38ec3beb4de118743af6974b41689b567f80c4939e *electron-v37.7.0-mas-x64.zip -52b7825a8fc4529f622665d46f9cceeacf50a7d75659c38b99c84a35d5d08f41 *electron-v37.7.0-win32-arm64-pdb.zip -9c9c6ce62bd1974f2bd703106fac45127270fcfc629b233572692b3870fcd733 *electron-v37.7.0-win32-arm64-symbols.zip -74e88ea46bb62f4d8698b1058963568b8ccd9debbdd5d755dfdf4303874446d5 *electron-v37.7.0-win32-arm64-toolchain-profile.zip -875ff30aa3148665fc028abb762cf265e5f0a79ed98d1cceec2441afa17b76ea *electron-v37.7.0-win32-arm64.zip -744ead04becabbceaef15a80f6e45539472f20ffb1651c9238a68daed3d4587d *electron-v37.7.0-win32-ia32-pdb.zip -dc8ab512983cecf68d7662fc05c20d46c73646996f2a8b1b53642a27b3b7ebb7 *electron-v37.7.0-win32-ia32-symbols.zip -74e88ea46bb62f4d8698b1058963568b8ccd9debbdd5d755dfdf4303874446d5 *electron-v37.7.0-win32-ia32-toolchain-profile.zip -d79cf6cc733691bce26b4c8830bc927ce028fbf6174aa17041559f5f71d69452 *electron-v37.7.0-win32-ia32.zip -4313294bf3de78ef12b3948a32990d6b2c5ce270f3ba7b6d81c582c02d4127e1 *electron-v37.7.0-win32-x64-pdb.zip -8f3ea7630b0945d2d26aec9c2236560050ea46d61f225ffeed25c5381a131aef *electron-v37.7.0-win32-x64-symbols.zip -74e88ea46bb62f4d8698b1058963568b8ccd9debbdd5d755dfdf4303874446d5 *electron-v37.7.0-win32-x64-toolchain-profile.zip -875cea08076dfa433189aa7e82263cff7f0aa3795a69172baeec4a85fb57bc05 *electron-v37.7.0-win32-x64.zip -a136e010d8757d8a61f06ba9d8fbd3ad057ab04d7d386ff3b0e1ba56ec4a5b64 *electron.d.ts -39d5a5663e491f4e5e4a60ded8d6361a8f4d905a220aa681adfabac1fa90d06f *ffmpeg-v37.7.0-darwin-arm64.zip -210e095fc7c629b411caf90f00958aa004ac33f2f6dd1291780a670c46f028cf *ffmpeg-v37.7.0-darwin-x64.zip -f0792bdd28ac2231e2d10bdb89da0221e9b15149a4761448e6bfd50ba8e76895 *ffmpeg-v37.7.0-linux-arm64.zip -5bd4adf23596c09bbb671952b73427f6701a7e9aee647979925e9cc4ff973045 *ffmpeg-v37.7.0-linux-armv7l.zip -561a7685536c133d2072e2e2b5a64ca3897bb8c71624158a6fe8e07cae9116c9 *ffmpeg-v37.7.0-linux-x64.zip -39d5a5663e491f4e5e4a60ded8d6361a8f4d905a220aa681adfabac1fa90d06f *ffmpeg-v37.7.0-mas-arm64.zip -210e095fc7c629b411caf90f00958aa004ac33f2f6dd1291780a670c46f028cf *ffmpeg-v37.7.0-mas-x64.zip -cb73c4eb1c68b7c1bc8d6962165a4f9f26a92560770d33b27945df2e778a5c37 *ffmpeg-v37.7.0-win32-arm64.zip -0663b6c70171b7abe2cf47a5d0f102da6f10fda69744ec6bc96bc32fde253cbd *ffmpeg-v37.7.0-win32-ia32.zip -9fa33053350c6c9d4420739f82083895dbb4a1d2904a1965ee94a83ab9507a3c *ffmpeg-v37.7.0-win32-x64.zip -bd6cbcc9cb6d9fc4b219b42104cfeaa69260cc7830234150056f0a929358681c *hunspell_dictionaries.zip -7032d6827a0bfe2f382742591241feb238c4fba5ee5db325987f55f56d1ac1e2 *libcxx-objects-v37.7.0-linux-arm64.zip -9a1beec72b821269bdab123025eb7ba54f31e2875b1cd97198952544bfb40ddd *libcxx-objects-v37.7.0-linux-armv7l.zip -f756deeb30afecfa2753ea7cd24e10bb922e3d64d40da5b64189a7d196815330 *libcxx-objects-v37.7.0-linux-x64.zip -1a664a8739a67b1b445ad11da1770d18ecb24a3038a70c2356ed653605175a19 *libcxx_headers.zip -c46a23338c31d465ddb4005e870b955da8886146e5ee92b2bab1c8bccf876a85 *libcxxabi_headers.zip -94e9f968e8de57aebfe0933db9a57dd8645690d8adf731fe2c4eb6b67a2b6534 *mksnapshot-v37.7.0-darwin-arm64.zip -868bd0900566cc32b3414ffe8dd5c229fb0e4953ccc8832c23eb3645c70e5a72 *mksnapshot-v37.7.0-darwin-x64.zip -69e896e2600368244f8f14f2b35857b2c571aabbffbb2277479a709852bba4a2 *mksnapshot-v37.7.0-linux-arm64-x64.zip -dc447c6a9b13ca8b7cf63ad9da9007b19398b6e234bc4b9538bb9e541dd4b57f *mksnapshot-v37.7.0-linux-armv7l-x64.zip -4cb3fe3e176173002b6085b8a87eb51bb6bdefd04ff4ff67a5aba26fce94655a *mksnapshot-v37.7.0-linux-x64.zip -5eef6889b798793eff86b9a5496c9b0ade49266ef885941817bf4520d6e48783 *mksnapshot-v37.7.0-mas-arm64.zip -22d7f4ce4eb6399fc5dc6e6468ed6c27ce6b9f2d434cab45d4646ec7e710589c *mksnapshot-v37.7.0-mas-x64.zip -8185f50df97b2f894560b739889a9d6c219cfa53ef64315fca23481e810edfc5 *mksnapshot-v37.7.0-win32-arm64-x64.zip -51679e701842079ac04fce0c52d3531c13fd4a42fa0cc481ae2a0f8310605ad9 *mksnapshot-v37.7.0-win32-ia32.zip -8415c984500f66c69b195fb31606e29c07e92544e2ed3a9093993f47cb5cb15d *mksnapshot-v37.7.0-win32-x64.zip +d109aa625511905b8814a1ae0894222d62e373ace74ba184264268f5c1adde54 *chromedriver-v39.1.2-darwin-arm64.zip +cdfc6405ca94eb187ff74d5787e952ba9a6444ff93488f230979603648c52b25 *chromedriver-v39.1.2-darwin-x64.zip +9e11646e02288e5a95511feac3f22d2c4e7f6801ec06bccb3484f2c5d10cd481 *chromedriver-v39.1.2-linux-arm64.zip +aea83d67ae4d4107a6e449a6b1ff5619b5cb852fed5389bcdd634c7fdbb12777 *chromedriver-v39.1.2-linux-armv7l.zip +2d4d3c0888f581e02608ee3c78a699f30ab4b77edb0f7e9daad3ba581fd04fd2 *chromedriver-v39.1.2-linux-x64.zip +b0c262c6e39e7fdf4a3d1b45a16f6d83cbdc01461e14d6d904e59c8926ed86c0 *chromedriver-v39.1.2-mas-arm64.zip +d2c4e8d7ee532c6c13dd1a475b52d30fce9287121f5dfdfbb45c6acc85132c2f *chromedriver-v39.1.2-mas-x64.zip +ee8eb02cb65d503d20ec5c24b0d40a2503e9b16c2380a9489a8578c6e3cc043e *chromedriver-v39.1.2-win32-arm64.zip +deaa014896290484a9141eb3a2fb3f03089ea572a23dee0362a7a2468c0982e9 *chromedriver-v39.1.2-win32-ia32.zip +d9763bd4bc881b86b58866b3be4ee02033b0e3f64459964f4463ec73febb9139 *chromedriver-v39.1.2-win32-x64.zip +9c714711150b054de6b96dd2fa6b31bbe81a9ae86fe4576f4b3e988d954f52e3 *electron-api.json +335fcf62b31b07982bab91d6b0b8b0245faf02c15d611065e79522597ceef928 *electron-v39.1.2-darwin-arm64-dsym-snapshot.zip +d6185c25c0f62c374d164459ba04e56ba490b98aea25c8ea2c7732f1849598a1 *electron-v39.1.2-darwin-arm64-dsym.zip +bd0aa10a872b16f4af57da7a43a88c9277971cd8f1a7da38005b12faf398bac0 *electron-v39.1.2-darwin-arm64-symbols.zip +0c7c9a957285ec02fd4d716f642e744e1ccde02d5fd1f9563112ac265671f38c *electron-v39.1.2-darwin-arm64.zip +c6806b96fcd6d20742160f317d84d88f358086aed2cb755d018796d051b915fa *electron-v39.1.2-darwin-x64-dsym-snapshot.zip +85343ed9d6985856f8fbb155c060625ed434307e498c3828622bbea83e41d733 *electron-v39.1.2-darwin-x64-dsym.zip +14e1b6464b2f8e1dc904d791bbfef24d350653ab8797590a9febe5abac83d75c *electron-v39.1.2-darwin-x64-symbols.zip +ae5ed2333ec3b00fe9a31f00e206cf33e82ac9a5f490e1713886c9eb8152faf4 *electron-v39.1.2-darwin-x64.zip +d616be0b625a7bef10ff117e665ae632175b887ca020c99f7e739da20ee815d2 *electron-v39.1.2-linux-arm64-debug.zip +38bf418473ee425cd49d16ccfa906db979b18619238b50a63097d9d03d257a55 *electron-v39.1.2-linux-arm64-symbols.zip +a8c96d7b358b4286a9f75b7bdd48a32514a88d52c69525b566304c9f6d9bc559 *electron-v39.1.2-linux-arm64.zip +0e6e046152d78dca28b79f9f1f1717f0cccc25eaf23785769a178caeaaa4bf9b *electron-v39.1.2-linux-armv7l-debug.zip +b1e59f97d67bfac2b2ef093d170d7be9f52dc73d21d0d4895f51d4fbb65f56f9 *electron-v39.1.2-linux-armv7l-symbols.zip +bc55e430581cc1c06e00fd2d7bd0c3e201c4316a28255290c76614bac3e2550f *electron-v39.1.2-linux-armv7l.zip +f16025ad2d110eb5d63feda6f0c24e2342cf8cc47d1a787d8864da8140dece94 *electron-v39.1.2-linux-x64-debug.zip +3b3aea3a0f1d095fd6af2b27c3f361b1b7a05e107e518f653789e925b990c304 *electron-v39.1.2-linux-x64-symbols.zip +06d68598576b02855cf848081c9b3117a4cb6e7f74b79afabdab0d3ab5810c3d *electron-v39.1.2-linux-x64.zip +2af62ba5bf3a3422afc83081563b9e65238a9b3dba3df05435d9823a524bf9c7 *electron-v39.1.2-mas-arm64-dsym-snapshot.zip +f6862c4d743c56f1af325759762ba22faf636c79f118f6674c979d3da097cb52 *electron-v39.1.2-mas-arm64-dsym.zip +f8ed135c61bece803b0b87e9a3757907f396624b0c79d5b0434d384a51fd616d *electron-v39.1.2-mas-arm64-symbols.zip +642bc416f23cd929f44436557495a0aa79814f46ba57ff77a2b9bc92dee1c974 *electron-v39.1.2-mas-arm64.zip +630dc22ef56959061736bc7443ef6aa01c060c2a29681ced5046bb64b101c7ba *electron-v39.1.2-mas-x64-dsym-snapshot.zip +1f6b4531695d2cdc6b31c6b8d724d3e33e2a48fce29139ad8e3397e0634cdc01 *electron-v39.1.2-mas-x64-dsym.zip +ceaa034375c8dd544ce0a589dfbc022f52c871452ad6a84e15102d109b929c04 *electron-v39.1.2-mas-x64-symbols.zip +1b4548d254f0ce1c40f17d35b9e8c39952006892e0fa3d4babe90b0ff802671d *electron-v39.1.2-mas-x64.zip +66055cf6480911bc6c59090e5b4511f1f041b6fdcdc56e29d19a71b469c0de6f *electron-v39.1.2-win32-arm64-pdb.zip +ab25f5d5d72fdaf0264590a0487aeb929323e45f775e2c56d671e46b8502c3e5 *electron-v39.1.2-win32-arm64-symbols.zip +380197ab051157f280de98e3f0d67e269bcddaff85035bcca26adfff7b7caf58 *electron-v39.1.2-win32-arm64-toolchain-profile.zip +a3c19664c83959448adfd8b88485d74109bf5f4bd8a075519868e09dbdd8fa2f *electron-v39.1.2-win32-arm64.zip +ed392dac12517c1cb33f487bfc52ebb807d37d46a493e62986608376eb1279c7 *electron-v39.1.2-win32-ia32-pdb.zip +13dd7e54c0b67b5e3e3309282356fafe17c8e9f6ee228dbc5be41d277a8efb1d *electron-v39.1.2-win32-ia32-symbols.zip +380197ab051157f280de98e3f0d67e269bcddaff85035bcca26adfff7b7caf58 *electron-v39.1.2-win32-ia32-toolchain-profile.zip +14abbf0cbca810ffb29ac152a4f652ee79eb361f3dc8800175e13a90e9273f7c *electron-v39.1.2-win32-ia32.zip +8b91312bb7add35baeab3a1213a41cb5e27c8e43aac78befe113ebf497ff747a *electron-v39.1.2-win32-x64-pdb.zip +267ff6a64efabd4717859d9b38bb46002f8eae18a917a7ec25a9b8002794e231 *electron-v39.1.2-win32-x64-symbols.zip +380197ab051157f280de98e3f0d67e269bcddaff85035bcca26adfff7b7caf58 *electron-v39.1.2-win32-x64-toolchain-profile.zip +aa993df5bfcc4019f287273d1244248e448228a94867c842f10ab25d16005bf2 *electron-v39.1.2-win32-x64.zip +96fe74c7cee04b7de292447ccf1e7d133606849a09edc93ba02c325aa9ccc7d7 *electron.d.ts +59a4fdf1a2b9032adb02c09a663761749a5f42d812dd9ae1e05cf13cafa2d829 *ffmpeg-v39.1.2-darwin-arm64.zip +ff7709b1b3f94931439b21e506adfffdfc2a9e5cea5cd59fab5658f9285546d6 *ffmpeg-v39.1.2-darwin-x64.zip +2b83422b70e47c03f3b12a5f77547c434adce65b5a06375faa89701523c972a2 *ffmpeg-v39.1.2-linux-arm64.zip +13eaed8fbb76fde55044261ff50931597e425a3366bd1a8ae7ab1f03e20fda6d *ffmpeg-v39.1.2-linux-armv7l.zip +9b6271eaf27800b9061c3a4049c4e5097f62b33cb4718cf6bb6e75e80cc0460d *ffmpeg-v39.1.2-linux-x64.zip +59a4fdf1a2b9032adb02c09a663761749a5f42d812dd9ae1e05cf13cafa2d829 *ffmpeg-v39.1.2-mas-arm64.zip +ff7709b1b3f94931439b21e506adfffdfc2a9e5cea5cd59fab5658f9285546d6 *ffmpeg-v39.1.2-mas-x64.zip +78d89beaf994911c904871bc9edc55f06d6a24961388f00b238eb7a576f0cf0e *ffmpeg-v39.1.2-win32-arm64.zip +f1b1095b40e08c5c565500b336a4cd8e7c30dc58430e6381d2ea26491d1cb8bc *ffmpeg-v39.1.2-win32-ia32.zip +0e59219869e2aae59ab3360a8de0d2f7474560167489fd41ed03cf400132387e *ffmpeg-v39.1.2-win32-x64.zip +b838c7821263cd0ad6e9d0e52dfeccd4fbaf5338473aba991cc1ecd620e7b367 *hunspell_dictionaries.zip +685ea6db28c99d70c3e4bc845951ba86f59c025359755afa9ba1c6efd357dc7f *libcxx-objects-v39.1.2-linux-arm64.zip +227953a3846f2f48327bd97c858c51fd4f50576225a8b6e8dff4b582b7137dc0 *libcxx-objects-v39.1.2-linux-armv7l.zip +6df88d5850d5eb2cd3c19b8dc3c4616d33e209b7bfd79b6222d72ca325115465 *libcxx-objects-v39.1.2-linux-x64.zip +183ab71adb5952d958442321b346a0e315db4023f5f9aadf75f7bce183907517 *libcxx_headers.zip +c98cce0091681bc367a48f66c5f4602961aa9cb6dd1a995d8969d6b39ce732f3 *libcxxabi_headers.zip +e2c0b9b080297176a36455d528cfbdbc86468e3b978cdc003ec25e29918d5d7c *mksnapshot-v39.1.2-darwin-arm64.zip +c1f6a9f882b46cf45a4f86e8f7036364551acbafe98b7bde39204db5a8702bb8 *mksnapshot-v39.1.2-darwin-x64.zip +b5241f0a1cae405ee653e5e2d8f7fa805f990788eeb84196919a442cbca26d09 *mksnapshot-v39.1.2-linux-arm64-x64.zip +c7e177f958db83333bf3be4f95be0a84be3d7c3a75a9b2d8aef15f57c9a4a698 *mksnapshot-v39.1.2-linux-armv7l-x64.zip +f3ef2a343bfffbc30abc2cfdc90916db88d84ba0a3cc3d9e63ddefe6e1fdc49a *mksnapshot-v39.1.2-linux-x64.zip +56d8cbd832d4a8933d92b8520e0d2b576c9383fef474b0886980e8392bdb4a83 *mksnapshot-v39.1.2-mas-arm64.zip +4a1f87dbf092cd1b92a8528b2a1bc6bd5fc99032fdd991a0fed0b8ae896eb8e2 *mksnapshot-v39.1.2-mas-x64.zip +5711e80ff7a360bffbbd3ed81d4e3f65c7d76b065cf3453c0726e0de52bc1133 *mksnapshot-v39.1.2-win32-arm64-x64.zip +829b6d7dd6b236c11841f5c34453df26afbb194c33c360f10080a0605d6f771a *mksnapshot-v39.1.2-win32-ia32.zip +6392d4234883b4ad9e8211537efb1010c8b0e3a1cafb3337bf760fe00cbb4d38 *mksnapshot-v39.1.2-win32-x64.zip diff --git a/build/checksums/nodejs.txt b/build/checksums/nodejs.txt index 7c35de5be61..43aace217e9 100644 --- a/build/checksums/nodejs.txt +++ b/build/checksums/nodejs.txt @@ -1,7 +1,7 @@ -cc04a76a09f79290194c0646f48fec40354d88969bec467789a5d55dd097f949 node-v22.20.0-darwin-arm64.tar.gz -00df9c5df3e4ec6848c26b70fb47bf96492f342f4bed6b17f12d99b3a45eeecc node-v22.20.0-darwin-x64.tar.gz -4181609e03dcb9880e7e5bf956061ecc0503c77a480c6631d868cb1f65a2c7dd node-v22.20.0-linux-arm64.tar.gz -607380e96e1543c5ca6dc8a9f5575181b2855b8769fb31d646ef9cf27224f300 node-v22.20.0-linux-armv7l.tar.gz -eeaccb0378b79406f2208e8b37a62479c70595e20be6b659125eb77dd1ab2a29 node-v22.20.0-linux-x64.tar.gz -f7dd5b44ef1bcd751107f89cc2e27f17b012be5e21b5f11f923eff84bb52a3e0 win-arm64/node.exe -fdddbf4581e046b8102815d56208d6a248950bb554570b81519a8a5dacfee95d win-x64/node.exe +c170d6554fba83d41d25a76cdbad85487c077e51fa73519e41ac885aa429d8af node-v22.21.1-darwin-arm64.tar.gz +8e3dc89614debe66c2a6ad2313a1adb06eb37db6cd6c40d7de6f7d987f7d1afd node-v22.21.1-darwin-x64.tar.gz +c86830dedf77f8941faa6c5a9c863bdfdd1927a336a46943decc06a38f80bfb2 node-v22.21.1-linux-arm64.tar.gz +40d3d09aee556abc297dd782864fcc6b9e60acd438ff0660ba9ddcd569c00920 node-v22.21.1-linux-armv7l.tar.gz +219a152ea859861d75adea578bdec3dce8143853c13c5187f40c40e77b0143b2 node-v22.21.1-linux-x64.tar.gz +707bbc8a9e615299ecdbff9040f88f59f20033ff1af923beee749b885cbd565d win-arm64/node.exe +471961cb355311c9a9dd8ba417eca8269ead32a2231653084112554cda52e8b3 win-x64/node.exe diff --git a/build/filters.js b/build/filters.js index 46bd95bc826..0e485164892 100644 --- a/build/filters.js +++ b/build/filters.js @@ -135,6 +135,7 @@ module.exports.indentationFilter = [ '!build/**/*.sh', '!build/azure-pipelines/**/*.js', '!build/azure-pipelines/**/*.config', + '!build/npm/gyp/custom-headers/*.patch', '!**/Dockerfile', '!**/Dockerfile.*', '!**/*.Dockerfile', @@ -176,6 +177,7 @@ module.exports.copyrightFilter = [ '!**/*.wasm', '!build/**/*.init', '!build/linux/libcxx-fetcher.*', + '!build/npm/gyp/custom-headers/*.patch', '!resources/linux/snap/snapcraft.yaml', '!resources/win32/bin/code.js', '!resources/completions/**', diff --git a/build/gulpfile.scan.mjs b/build/gulpfile.scan.mjs index a2f9a9c11fa..af6aa0b150b 100644 --- a/build/gulpfile.scan.mjs +++ b/build/gulpfile.scan.mjs @@ -29,7 +29,11 @@ const BUILD_TARGETS = [ ]; // The following files do not have PDBs downloaded for them during the download symbols process. -const excludedCheckList = ['d3dcompiler_47.dll']; +const excludedCheckList = [ + 'd3dcompiler_47.dll', + 'dxil.dll', + 'dxcompiler.dll', +]; BUILD_TARGETS.forEach(buildTarget => { const dashed = (/** @type {string | null} */ str) => (str ? `-${str}` : ``); diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js index 4ef448d454e..6282d354736 100644 --- a/build/linux/debian/dep-lists.js +++ b/build/linux/debian/dep-lists.js @@ -38,7 +38,7 @@ exports.referenceGeneratedDepsByArch = { 'libdbus-1-3 (>= 1.9.14)', 'libexpat1 (>= 2.1~beta3)', 'libgbm1 (>= 17.1.0~rc2)', - 'libglib2.0-0 (>= 2.37.3)', + 'libglib2.0-0 (>= 2.39.4)', 'libgtk-3-0 (>= 3.9.10)', 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', 'libnspr4 (>= 2:4.9-2~)', @@ -75,7 +75,7 @@ exports.referenceGeneratedDepsByArch = { 'libdbus-1-3 (>= 1.9.14)', 'libexpat1 (>= 2.1~beta3)', 'libgbm1 (>= 17.1.0~rc2)', - 'libglib2.0-0 (>= 2.37.3)', + 'libglib2.0-0 (>= 2.39.4)', 'libgtk-3-0 (>= 3.9.10)', 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', 'libnspr4 (>= 2:4.9-2~)', @@ -114,7 +114,7 @@ exports.referenceGeneratedDepsByArch = { 'libdbus-1-3 (>= 1.9.14)', 'libexpat1 (>= 2.1~beta3)', 'libgbm1 (>= 17.1.0~rc2)', - 'libglib2.0-0 (>= 2.37.3)', + 'libglib2.0-0 (>= 2.39.4)', 'libgtk-3-0 (>= 3.9.10)', 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', 'libnspr4 (>= 2:4.9-2~)', diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts index 5b7ccd51e09..941501b532c 100644 --- a/build/linux/debian/dep-lists.ts +++ b/build/linux/debian/dep-lists.ts @@ -38,7 +38,7 @@ export const referenceGeneratedDepsByArch = { 'libdbus-1-3 (>= 1.9.14)', 'libexpat1 (>= 2.1~beta3)', 'libgbm1 (>= 17.1.0~rc2)', - 'libglib2.0-0 (>= 2.37.3)', + 'libglib2.0-0 (>= 2.39.4)', 'libgtk-3-0 (>= 3.9.10)', 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', 'libnspr4 (>= 2:4.9-2~)', @@ -75,7 +75,7 @@ export const referenceGeneratedDepsByArch = { 'libdbus-1-3 (>= 1.9.14)', 'libexpat1 (>= 2.1~beta3)', 'libgbm1 (>= 17.1.0~rc2)', - 'libglib2.0-0 (>= 2.37.3)', + 'libglib2.0-0 (>= 2.39.4)', 'libgtk-3-0 (>= 3.9.10)', 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', 'libnspr4 (>= 2:4.9-2~)', @@ -114,7 +114,7 @@ export const referenceGeneratedDepsByArch = { 'libdbus-1-3 (>= 1.9.14)', 'libexpat1 (>= 2.1~beta3)', 'libgbm1 (>= 17.1.0~rc2)', - 'libglib2.0-0 (>= 2.37.3)', + 'libglib2.0-0 (>= 2.39.4)', 'libgtk-3-0 (>= 3.9.10)', 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1', 'libnspr4 (>= 2:4.9-2~)', diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js index ae05d175da8..1ba2001fa0f 100644 --- a/build/linux/dependencies-generator.js +++ b/build/linux/dependencies-generator.js @@ -26,7 +26,7 @@ const product = require("../../product.json"); // The reference dependencies, which one has to update when the new dependencies // are valid, are in dep-lists.ts const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true; -// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:chrome/installer/linux/BUILD.gn;l=64-80 +// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/142.0.7444.134:chrome/installer/linux/BUILD.gn;l=64-80 // and the Linux Archive build // Shared library dependencies that we already bundle. const bundledDeps = [ diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts index 46c6d6c099a..a3e4d2afb62 100644 --- a/build/linux/dependencies-generator.ts +++ b/build/linux/dependencies-generator.ts @@ -25,7 +25,7 @@ import product = require('../../product.json'); // are valid, are in dep-lists.ts const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true; -// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:chrome/installer/linux/BUILD.gn;l=64-80 +// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/142.0.7444.134:chrome/installer/linux/BUILD.gn;l=64-80 // and the Linux Archive build // Shared library dependencies that we already bundle. const bundledDeps = [ diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js index 2f742daf2f8..1bbef8a3261 100644 --- a/build/linux/rpm/dep-lists.js +++ b/build/linux/rpm/dep-lists.js @@ -257,7 +257,6 @@ exports.referenceGeneratedDepsByArch = { 'libgcc_s.so.1()(64bit)', 'libgcc_s.so.1(GCC_3.0)(64bit)', 'libgcc_s.so.1(GCC_3.3)(64bit)', - 'libgcc_s.so.1(GCC_4.0.0)(64bit)', 'libgcc_s.so.1(GCC_4.2.0)(64bit)', 'libgcc_s.so.1(GCC_4.5.0)(64bit)', 'libgio-2.0.so.0()(64bit)', diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts index 90b97bed301..783923f34d9 100644 --- a/build/linux/rpm/dep-lists.ts +++ b/build/linux/rpm/dep-lists.ts @@ -256,7 +256,6 @@ export const referenceGeneratedDepsByArch = { 'libgcc_s.so.1()(64bit)', 'libgcc_s.so.1(GCC_3.0)(64bit)', 'libgcc_s.so.1(GCC_3.3)(64bit)', - 'libgcc_s.so.1(GCC_4.0.0)(64bit)', 'libgcc_s.so.1(GCC_4.2.0)(64bit)', 'libgcc_s.so.1(GCC_4.5.0)(64bit)', 'libgio-2.0.so.0()(64bit)', diff --git a/build/npm/gyp/custom-headers/v8-source-location.patch b/build/npm/gyp/custom-headers/v8-source-location.patch new file mode 100644 index 00000000000..545eb9a118b --- /dev/null +++ b/build/npm/gyp/custom-headers/v8-source-location.patch @@ -0,0 +1,94 @@ +--- v8-source-location.h 2025-10-28 05:57:35 ++++ v8-source-location.h 2025-11-07 03:10:02 +@@ -6,12 +6,21 @@ + #define INCLUDE_SOURCE_LOCATION_H_ + + #include +-#include + #include + + #include "v8config.h" // NOLINT(build/include_directory) + ++#if defined(__has_builtin) ++#define V8_SUPPORTS_SOURCE_LOCATION \ ++ (__has_builtin(__builtin_FUNCTION) && __has_builtin(__builtin_FILE) && \ ++ __has_builtin(__builtin_LINE)) // NOLINT ++#elif defined(V8_CC_GNU) && __GNUC__ >= 7 + #define V8_SUPPORTS_SOURCE_LOCATION 1 ++#elif defined(V8_CC_INTEL) && __ICC >= 1800 ++#define V8_SUPPORTS_SOURCE_LOCATION 1 ++#else ++#define V8_SUPPORTS_SOURCE_LOCATION 0 ++#endif + + namespace v8 { + +@@ -25,10 +34,15 @@ + * Construct source location information corresponding to the location of the + * call site. + */ ++#if V8_SUPPORTS_SOURCE_LOCATION + static constexpr SourceLocation Current( +- const std::source_location& loc = std::source_location::current()) { +- return SourceLocation(loc); ++ const char* function = __builtin_FUNCTION(), ++ const char* file = __builtin_FILE(), size_t line = __builtin_LINE()) { ++ return SourceLocation(function, file, line); + } ++#else ++ static constexpr SourceLocation Current() { return SourceLocation(); } ++#endif // V8_SUPPORTS_SOURCE_LOCATION + #ifdef DEBUG + static constexpr SourceLocation CurrentIfDebug( + const std::source_location& loc = std::source_location::current()) { +@@ -49,21 +63,21 @@ + * + * \returns the function name as cstring. + */ +- constexpr const char* Function() const { return loc_.function_name(); } ++ constexpr const char* Function() const { return function_; } + + /** + * Returns the name of the current source file represented by this object. + * + * \returns the file name as cstring. + */ +- constexpr const char* FileName() const { return loc_.file_name(); } ++ constexpr const char* FileName() const { return file_; } + + /** + * Returns the line number represented by this object. + * + * \returns the line number. + */ +- constexpr size_t Line() const { return loc_.line(); } ++ constexpr size_t Line() const { return line_; } + + /** + * Returns a human-readable string representing this object. +@@ -71,18 +85,19 @@ + * \returns a human-readable string representing source location information. + */ + std::string ToString() const { +- if (loc_.line() == 0) { ++ if (!file_) { + return {}; + } +- return std::string(loc_.function_name()) + "@" + loc_.file_name() + ":" + +- std::to_string(loc_.line()); ++ return std::string(function_) + "@" + file_ + ":" + std::to_string(line_); + } + + private: +- constexpr explicit SourceLocation(const std::source_location& loc) +- : loc_(loc) {} ++ constexpr SourceLocation(const char* function, const char* file, size_t line) ++ : function_(function), file_(file), line_(line) {} + +- std::source_location loc_; ++ const char* function_ = nullptr; ++ const char* file_ = nullptr; ++ size_t line_ = 0u; + }; + + } // namespace v8 diff --git a/build/npm/preinstall.js b/build/npm/preinstall.js index e4b47859576..7cd8fc11605 100644 --- a/build/npm/preinstall.js +++ b/build/npm/preinstall.js @@ -15,7 +15,7 @@ if (!process.env['VSCODE_SKIP_NODE_VERSION_CHECK']) { } } -if (process.env['npm_execpath'].includes('yarn')) { +if (process.env.npm_execpath?.includes('yarn')) { console.error('\x1b[1;31m*** Seems like you are using `yarn` which is not supported in this repo any more, please use `npm i` instead. ***\x1b[0;0m'); throw new Error(); } @@ -32,9 +32,10 @@ if (process.platform === 'win32') { console.error('\x1b[1;31m*** set vs2022_install= (or vs2019_install for older versions)\x1b[0;0m'); throw new Error(); } - installHeaders(); } +installHeaders(); + if (process.arch !== os.arch()) { console.error(`\x1b[1;31m*** ARCHITECTURE MISMATCH: The node.js process is ${process.arch}, but your OS architecture is ${os.arch()}. ***\x1b[0;0m`); console.error(`\x1b[1;31m*** This can greatly increase the build time of vs code. ***\x1b[0;0m`); @@ -82,31 +83,52 @@ function hasSupportedVisualStudioVersion() { } function installHeaders() { - cp.execSync(`npm.cmd ${process.env['npm_command'] || 'ci'}`, { + const npm = process.platform === 'win32' ? 'npm.cmd' : 'npm'; + cp.execSync(`${npm} ${process.env.npm_command || 'ci'}`, { env: process.env, cwd: path.join(__dirname, 'gyp'), stdio: 'inherit' }); // The node gyp package got installed using the above npm command using the gyp/package.json - // file checked into our repository. So from that point it is save to construct the path + // file checked into our repository. So from that point it is safe to construct the path // to that executable - const node_gyp = path.join(__dirname, 'gyp', 'node_modules', '.bin', 'node-gyp.cmd'); - const result = cp.execFileSync(node_gyp, ['list'], { encoding: 'utf8', shell: true }); - const versions = new Set(result.split(/\n/g).filter(line => !line.startsWith('gyp info')).map(value => value)); + const node_gyp = process.platform === 'win32' + ? path.join(__dirname, 'gyp', 'node_modules', '.bin', 'node-gyp.cmd') + : path.join(__dirname, 'gyp', 'node_modules', '.bin', 'node-gyp'); const local = getHeaderInfo(path.join(__dirname, '..', '..', '.npmrc')); const remote = getHeaderInfo(path.join(__dirname, '..', '..', 'remote', '.npmrc')); - if (local !== undefined && !versions.has(local.target)) { + if (local !== undefined) { // Both disturl and target come from a file checked into our repository cp.execFileSync(node_gyp, ['install', '--dist-url', local.disturl, local.target], { shell: true }); } - if (remote !== undefined && !versions.has(remote.target)) { + if (remote !== undefined) { // Both disturl and target come from a file checked into our repository cp.execFileSync(node_gyp, ['install', '--dist-url', remote.disturl, remote.target], { shell: true }); } + + // On Linux, apply a patch to the downloaded headers + // Remove dependency on std::source_location to avoid bumping the required GCC version to 11+ + // Refs https://chromium-review.googlesource.com/c/v8/v8/+/6879784 + if (process.platform === 'linux') { + const homedir = os.homedir(); + const cachePath = process.env.XDG_CACHE_HOME || path.join(homedir, '.cache'); + const nodeGypCache = path.join(cachePath, 'node-gyp'); + const localHeaderPath = path.join(nodeGypCache, local.target, 'include', 'node'); + if (fs.existsSync(localHeaderPath)) { + console.log('Applying v8-source-location.patch to', localHeaderPath); + try { + cp.execFileSync('patch', ['-p0', '-i', path.join(__dirname, 'gyp', 'custom-headers', 'v8-source-location.patch')], { + cwd: localHeaderPath + }); + } catch (error) { + throw new Error(`Error applying v8-source-location.patch: ${error.message}`); + }; + } + } } /** @@ -114,7 +136,7 @@ function installHeaders() { * @returns {{ disturl: string; target: string } | undefined} */ function getHeaderInfo(rcFile) { - const lines = fs.readFileSync(rcFile, 'utf8').split(/\r\n?/g); + const lines = fs.readFileSync(rcFile, 'utf8').split(/\r\n|\n/g); let disturl, target; for (const line of lines) { let match = line.match(/\s*disturl=*\"(.*)\"\s*$/); diff --git a/cgmanifest.json b/cgmanifest.json index eba1487acbb..0896a02dc98 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -6,7 +6,7 @@ "git": { "name": "chromium", "repositoryUrl": "https://chromium.googlesource.com/chromium/src", - "commitHash": "54008792bf952b599e1a7416663711f6a07c8ce3" + "commitHash": "b6965f826881a60c51151cfc0a0175966a0a4e81" } }, "licenseDetail": [ @@ -40,7 +40,7 @@ "SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ], "isOnlyProductionDependency": true, - "version": "138.0.7204.251" + "version": "142.0.7444.134" }, { "component": { @@ -516,12 +516,12 @@ "git": { "name": "nodejs", "repositoryUrl": "https://github.com/nodejs/node", - "commitHash": "caa20e28dc1f21a97f7b2a7134973fd6435b65f0", - "tag": "22.20.0" + "commitHash": "6ac4ab19ad02803f03b54501193397563e99988e", + "tag": "22.21.1" } }, "isOnlyProductionDependency": true, - "version": "22.20.0" + "version": "22.21.1" }, { "component": { @@ -529,13 +529,13 @@ "git": { "name": "electron", "repositoryUrl": "https://github.com/electron/electron", - "commitHash": "dfc60f0f4246a542a45601f93572eca77bdff2f9", - "tag": "37.7.0" + "commitHash": "3495a3da69f800cab194d1884a513d3a2f7416fe", + "tag": "39.1.2" } }, "isOnlyProductionDependency": true, "license": "MIT", - "version": "37.7.0" + "version": "39.1.2" }, { "component": { diff --git a/package-lock.json b/package-lock.json index 30e321372b2..d1d41147797 100644 --- a/package-lock.json +++ b/package-lock.json @@ -98,7 +98,7 @@ "css-loader": "^6.9.1", "debounce": "^1.0.0", "deemon": "^1.13.6", - "electron": "37.7.0", + "electron": "39.1.2", "eslint": "^9.36.0", "eslint-formatter-compact": "^8.40.0", "eslint-plugin-header": "3.1.1", @@ -6336,9 +6336,9 @@ "dev": true }, "node_modules/electron": { - "version": "37.7.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-37.7.0.tgz", - "integrity": "sha512-LBzvfrS0aalynOsnC11AD7zeoU8eOois090mzLpQM3K8yZ2N04i2ZW9qmHOTFLrXlKvrwRc7EbyQf1u8XHMl6Q==", + "version": "39.1.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-39.1.2.tgz", + "integrity": "sha512-+/TwT9NWxyQGTm5WemJEJy+bWCpnKJ4PLPswI1yn1P63bzM0/8yAeG05yS+NfFaWH4yNQtGXZmAv87Bxa5RlLg==", "dev": true, "hasInstallScript": true, "license": "MIT", diff --git a/package.json b/package.json index 152354a232a..dcb5c4db39b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "code-oss-dev", "version": "1.107.0", - "distro": "14448fdebff821982801580aba09897633a6e91b", + "distro": "9e7222ac0b069a4c85faa3d1acf481f0ca2977a9", "author": { "name": "Microsoft Corporation" }, @@ -160,7 +160,7 @@ "css-loader": "^6.9.1", "debounce": "^1.0.0", "deemon": "^1.13.6", - "electron": "37.7.0", + "electron": "39.1.2", "eslint": "^9.36.0", "eslint-formatter-compact": "^8.40.0", "eslint-plugin-header": "3.1.1", diff --git a/remote/.npmrc b/remote/.npmrc index 40367a0138b..326fb9fd0f6 100644 --- a/remote/.npmrc +++ b/remote/.npmrc @@ -1,6 +1,6 @@ disturl="https://nodejs.org/dist" -target="22.20.0" -ms_build_id="365661" +target="22.21.1" +ms_build_id="374314" runtime="node" build_from_source="true" legacy-peer-deps="true" diff --git a/src/main.ts b/src/main.ts index 7b7e1da509e..e19dde49541 100644 --- a/src/main.ts +++ b/src/main.ts @@ -330,9 +330,8 @@ function configureCommandlineSwitchesSync(cliArgs: NativeParsedArgs) { // Following features are disabled from the runtime: // `CalculateNativeWinOcclusion` - Disable native window occlusion tracker (https://groups.google.com/a/chromium.org/g/embedder-dev/c/ZF3uHHyWLKw/m/VDN2hDXMAAAJ) - // `FontationsLinuxSystemFonts` - Revert to FreeType for system fonts on Linux Refs https://github.com/microsoft/vscode/issues/260391 const featuresToDisable = - `CalculateNativeWinOcclusion,FontationsLinuxSystemFonts,${app.commandLine.getSwitchValue('disable-features')}`; + `CalculateNativeWinOcclusion,${app.commandLine.getSwitchValue('disable-features')}`; app.commandLine.appendSwitch('disable-features', featuresToDisable); // Blink features to configure. diff --git a/src/vs/platform/utilityProcess/electron-main/utilityProcess.ts b/src/vs/platform/utilityProcess/electron-main/utilityProcess.ts index 14ea85b3a20..05d83649c01 100644 --- a/src/vs/platform/utilityProcess/electron-main/utilityProcess.ts +++ b/src/vs/platform/utilityProcess/electron-main/utilityProcess.ts @@ -134,7 +134,7 @@ export interface IUtilityProcessCrashEvent extends IUtilityProcessExitBaseEvent /** * The reason of the utility process crash. */ - readonly reason: 'clean-exit' | 'abnormal-exit' | 'killed' | 'crashed' | 'oom' | 'launch-failed' | 'integrity-failure'; + readonly reason: 'clean-exit' | 'abnormal-exit' | 'killed' | 'crashed' | 'oom' | 'launch-failed' | 'integrity-failure' | 'memory-eviction'; } export interface IUtilityProcessInfo {