Node.js — Node v22.9.0 (Current)
Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.
Rafael Gonzaga
Node v22.9.0 (Current)
2024-09-17, Version 22.9.0 (Current), @RafaelGSS
New API to retrieve execution Stack Trace
A new API getCallSite has been introduced to the util module. This API allows users to retrieve the stacktrace of the current execution. Example:
const util = require(’node:util’);function exampleFunction() { const callSites = util.getCallSite(); console.log(‘Call Sites:’); callSites.forEach((callSite, index) => { console.log(CallSite ${index + 1}:
); console.log(Function Name: ${callSite.functionName}
); console.log(Script Name: ${callSite.scriptName}
); console.log(Line Number: ${callSite.lineNumber}
); console.log(Column Number: ${callSite.column}
); }); // CallSite 1: // Function Name: exampleFunction // Script Name: /home/example.js // Line Number: 5 // Column Number: 26 // CallSite 2: // Function Name: anotherFunction // Script Name: /home/example.js // Line Number: 22 // Column Number: 3 // …}// A function to simulate another stack layerfunction anotherFunction() { exampleFunction();}anotherFunction();JavaScriptCopy to clipboard Thanks to Rafael Gonzaga for making this work on #54380.
Disable V8 Maglev
We have seen several crashes/unexpected JS behaviors with maglev on v22 (which ships V8 v12.4). The bugs lie in the codegen so it would be difficult for users to work around them or even figure out where the bugs are coming from. Some bugs are fixed in the upstream while some others probably remain.
As v22 will get stuck with V8 v12.4 as LTS, it will be increasingly difficult to backport patches for them even if the bugs are fixed. So disable it by default on v22 to reduce the churn and troubles for users.
Thanks to Joyee Cheung for making this work on #54384
Exposes X509_V_FLAG_PARTIAL_CHAIN to tls.createSecureContext
This releases introduces a new option to the API tls.createSecureContext. For now on users can use tls.createSecureContext({ allowPartialTrustChain: true }) to treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted.
Thanks to Anna Henningsen for making this work on #54790
Other Notable Changes
- 5c9599af5a - src: create handle scope in FastInternalModuleStat (Joyee Cheung) #54384
- e2307d87e8 - (SEMVER-MINOR)stream: relocate the status checking code in the onwritecomplete (YoonSoo_Shin) #54032
Deprecations
- 8433032948 - repl: doc-deprecate instantiating node:repl classes without new (Aviv Keller) #54842
- 8c4c85cf31 - zlib: deprecate instantiating classes without new (Yagiz Nizipli) #54708
Commits
- 027b0ffe84 - async_hooks: add an InactiveAsyncContextFrame class (Bryan English) #54510
- 022767028e - benchmark: –no-warnings to avoid DEP/ExpWarn log (Rafael Gonzaga) #54928
- af1988c147 - benchmark: add buffer.isAscii benchmark (RafaelGSS) #54740
- 40c6849964 - benchmark: add buffer.isUtf8 bench (RafaelGSS) #54740
- 237d7dfbde - benchmark: add access async version to bench (Rafael Gonzaga) #54747
- ebe91db827 - benchmark: enhance dc publish benchmark (Rafael Gonzaga) #54745
- 060164485b - benchmark: add match and doesNotMatch bench (RafaelGSS) #54734
- 2844180c7e - benchmark: add rejects and doesNotReject bench (RafaelGSS) #54734
- af7689ed02 - benchmark: add throws and doesNotThrow bench (RafaelGSS) #54734
- 456a1fe222 - benchmark: add strictEqual and notStrictEqual bench (RafaelGSS) #54734
- 721c63c858 - benchmark: adds groups to better separate benchmarks (Giovanni Bucci) #54393
- 68e45b406e - benchmark,doc: add CPU scaling governor to perf (Rafael Gonzaga) #54723
- d19efd7a50 - benchmark,doc: mention bar.R to the list of scripts (Rafael Gonzaga) #54722
- 1fb67afa2f - buffer: fix out of range for toString (Jason Zhang) #54553
- 85b5ed5d41 - buffer: re-enable Fast API for Buffer.write (Robert Nagy) #54526
- 9a075279ec - build: upgrade clang-format to v18 (Aviv Keller) #53957
- 69ec9d8d2b - build: fix conflicting V8 object print flags (Daeyeon Jeong) #54785
- 948bba396c - build: do not build with code cache for core coverage collection (Joyee Cheung) #54633
- 6200cf4fb6 - build: don’t store eslint locally (Aviv Keller) #54231
- 3b5ed97fe9 - build: turn off -Wrestrict (Richard Lau) #54737
- e38e305a35 - build,win: enable clang-cl compilation (Stefan Stojanovic) #54655
- 5bba0781b0 - crypto: reject dh,x25519,x448 in {Sign,Verify}Final (Huáng Jùnliàng) #53774
- 3981853c00 - crypto: return a clearer error when loading an unsupported pkcs12 (Tim Perry) #54485
- 02ac5376b9 - crypto: remove unused kHashTypes internal (Antoine du Hamel) #54627
- 323d9da3c9 - deps: update cjs-module-lexer to 1.4.1 (Node.js GitHub Bot) #54846
- bf4bf7cc6b - deps: update simdutf to 5.5.0 (Node.js GitHub Bot) #54434
- 61047dd130 - deps: upgrade npm to 10.8.3 (npm team) #54619
- 2351da5034 - deps: update cjs-module-lexer to 1.4.0 (Node.js GitHub Bot) #54713
- 0659516823 - deps: allow amaro to be externalizable (Michael Dawson) #54646
- 6a32645dbc - deps: fix sign-compare warning in ncrypto (Cheng) #54624
- 8f62f19197 - doc: fix broken Android building link (Niklas Wenzel) #54922
- 440c256d76 - doc: add support link for aduh95 (Antoine du Hamel) #54866
- 56aca2a1ca - doc: run license-builder (github-actionsbot) #54854
- 8931f569c6 - doc: experimental flag for global accessible APIs (Chengzhong Wu) #54330
- 6f8a6e9eb6 - doc: add ERR_INVALID_ADDRESS to errors.md (Aviv Keller) #54661
- c1b92e05e7 - doc: add support link for mcollina (Matteo Collina) #54786
- 1def18122a - doc: mark –conditions CLI flag as stable (Guy Bedford) #54209
- b8ae36b6c3 - doc: fix typo in recognizing-contributors (Tobias Nießen) #54822
- 2c2ae80924 - doc: clarify –max-old-space-size and –max-semi-space-size units (Alexandre ABRIOUX) #54477
- 5bd4be5ce7 - doc: replace –allow-fs-read by –allow-fs-write in related section (M1CK431) #54427
- c0f3e4603f - doc: add support link for marco-ippolito (Marco Ippolito) #54789
- dc69eb8276 - doc: fix typo in module.md (Tobias Nießen) #54794
- de225f5db9 - doc: specify that preloaded modules affect subprocesses (Aviv Keller) #52939
- 62b0007cbe - doc: clarify expandedSQL behavior (Tobias Nießen) #54685
- 1c7bdf95db - doc: render type references in SQLite docs (Tobias Nießen) #54684
- 5555095531 - doc: fix typo (Michael Dawson) #54640
- 754baa4efa - doc: fix webcrypto.md AES-GCM backticks (Filip Skokan) #54621
- 5bfb4bcf45 - doc: add documentation about os.tmpdir() overrides (Joyee Cheung) #54613
- 22d873208e - doc, build: fixup build docs (Aviv Keller) #54899
- 5e081a12b6 - doc, child_process: add esm snippets (Aviv Keller) #53616
- 2b68c30a26 - doc, meta: fix broken link in onboarding.md (Aviv Keller) #54886
- a624002fff - esm: throw ERR_REQUIRE_ESM instead of ERR_INTERNAL_ASSERTION (Antoine du Hamel) #54868
- 31d4ef91ee - esm: fix support for URL instances in import.meta.resolve (Antoine du Hamel) #54690
- 40ba89e452 - esm: use Undici/fetchdata: URL parser (Matthew Aitken) #54748
- 93116dd7b1 - fs: translate error code properly in cpSync (Jason Zhang) #54906
- 375cbb592e - fs: refactor rimraf to avoid using primordials (Yagiz Nizipli) #54834
- ee89c3149e - fs: respect dereference when copy symlink directory (Jason Zhang) #54732
- 7123bf7ca4 - http: reduce likelihood of race conditions on keep-alive timeout (jazelly) #54863
- 04ef3e4afd - https: only use default ALPNProtocols when appropriate (Brian White) #54411
- dc5593ba1e - lib: remove unnecessary async (jakecastelli) #54829
- 2b9a6373da - lib: make WeakRef safe in abort_controller (jazelly) #54791
- 5f02e1b850 - lib: move SymbolAsyncDispose polyfills to internal/util (Antoine du Hamel) #54853
- fc78ced7e4 - lib: convert signals to array before validation (Jason Zhang) #54714
- 21fef34a53 - lib: add note about removing node:sys module (Rafael Gonzaga) #54743
- a37d805489 - (SEMVER-MINOR)lib: add util.getCallSite() API (Rafael Gonzaga) #54380
- 2a1f56cce6 - lib: ensure no holey array in fixed_queue (Jason Zhang) #54537
- 540b1dbaf6 - lib: refactor SubtleCrypto experimental warnings (Filip Skokan) #54620
- b59c8b88c7 - lib,src: use built-in array buffer detach, transfer (Yagiz Nizipli) #54837
- c1cc046de9 - meta: bump peter-evans/create-pull-request from 6.1.0 to 7.0.1 (dependabotbot) #54820
- 82c08ef483 - meta: add Windows ARM64 to flaky-tests list (Aviv Keller) #54693
- df30e8efa1 - meta: ping @nodejs/performance on bench changes (Rafael Gonzaga) #54752
- bdd9fbb905 - meta: bump actions/setup-python from 5.1.1 to 5.2.0 (Rich Trott) #54691
- 19574a8403 - meta: update sccache to v0.8.1 (Aviv Keller) #54720
- 9ebcfb2b28 - meta: bump step-security/harden-runner from 2.9.0 to 2.9.1 (dependabotbot) #54704
- ea58feb959 - meta: bump actions/upload-artifact from 4.3.4 to 4.4.0 (dependabotbot) #54703
- c6bd9e443e - meta: bump github/codeql-action from 3.25.15 to 3.26.6 (dependabotbot) #54702
- 79b358af2e - meta: fix links in SECURITY.md (Aviv Keller) #54696
- 6c8a20d650 - meta: fix contributing codeowners (Aviv Keller) #54641
- b7284ed099 - module: do not warn for typeless package.json when there isn’t one (Joyee Cheung) #54045
- ddd24a6e63 - node-api: add external buffer creation benchmark (Chengzhong Wu) #54877
- 4a7576efae - node-api: add support for UTF-8 and Latin-1 property keys (Mert Can Altin) #52984
- 461e523498 - os: improve tmpdir performance (Yagiz Nizipli) #54709
- 94fb7ab2e7 - path: remove StringPrototypeCharCodeAt from posix.extname (Aviv Keller) #54546
- 67b1d4cb45 - repl: avoid interpreting ’npm’ as a command when errors are recoverable (Shima Ryuhei) #54848
- 8433032948 - repl: doc-deprecate instantiating node:repl classes without new (Aviv Keller) #54842
- 7766349dd0 - sqlite: fix segfault in expandedSQL (Tobias Nießen) #54687
- 4c1b98ba2b - sqlite: remove unnecessary auto assignment (Tobias Nießen) #54686
- 77d162adb6 - src: add –env-file-if-exists flag (Bosco Domingo) #53060
- 424bdc03b4 - src: add Cleanable class to Environment (Gabriel Schulhof) #54880
- fbd08e3a9f - src: switch crypto APIs to use Maybe<void> (James M Snell) #54775
- 5e72bd3545 - src: eliminate ManagedEVPPkey (James M Snell) #54751
- 97cbcfbb43 - src: fix unhandled error in structuredClone (Daeyeon Jeong) #54764
- b89cd8d19a - src: move hkdf, scrypto, pbkdf2 impl to ncrypto (James M Snell) #54651
- 5c9599af5a - src: create handle scope in FastInternalModuleStat (Joyee Cheung) #54384
- e2307d87e8 - (SEMVER-MINOR)stream: relocate the status checking code in the onwritecomplete (YoonSoo_Shin) #54032
- ff54cabef6 - test: adjust test-tls-junk-server for OpenSSL32 (Michael Dawson) #54926
- 23fb03beed - test: remove duplicate skip AIX (Wuli) #54917
- 2b5e70816a - test: adjust tls test for OpenSSL32 (Michael Dawson) #54909
- cefa692dcb - test: fix test-http2-socket-close.js (Hüseyin Açacak) #54900
- 097f6d3e7e - test: improve test-internal-fs-syncwritestream (Sunghoon) #54671
- ed736a689f - test: deflake test-dns (Luigi Pinca) #54902
- bb4849f595 - test: fix test test-tls-dhe for OpenSSL32 (Michael Dawson) #54903
- d9264bceca - test: use correct file naming syntax for util-parse-env (Aviv Keller) #53705
- 115a7ca42a - test: add missing await (Luigi Pinca) #54828
- 7a1d633d77 - test: move more url tests to node:test (Yagiz Nizipli) #54636
- ee385d62b9 - test: strip color chars in test-runner-run (Giovanni Bucci) #54552
- 2efec6221c - test: deflake test-http2-misbehaving-multiplex (Luigi Pinca) #54872
- b198a91404 - test: remove dead code in test-http2-misbehaving-multiplex (Luigi Pinca) #54860
- 194cb83f39 - test: reduce test-esm-loader-hooks-inspect-wait flakiness (Luigi Pinca) #54827
- 4b53558e8b - test: reduce the allocation size in test-worker-arraybuffer-zerofill (James M Snell) #54839
- c968d65d6d - test: fix test-tls-client-mindhsize for OpenSSL32 (Michael Dawson) #54739
- b998bb0933 - test: remove need to make fs call for zlib test (Yagiz Nizipli) #54814
- f084ea2e01 - test: use platform timeout (jakecastelli) #54591
- b10e434cf3 - test: add platform timeout support for riscv64 (jakecastelli) #54591
- b875f2d7de - test: reduce stack size for test-error-serdes (James M Snell) #54840
- d1a411480a - test: reduce fs calls in test-fs-existssync-false (Yagiz Nizipli) #54815
- b96ee30a09 - test: use node:test in test-cli-syntax.bad (Aviv Keller) #54513
- 5278b8b7a1 - test: move test-http-server-request-timeouts-mixed (James M Snell) #54841
- 8345a60d3a - test: fix Windows async-context-frame memory failure (Stephen Belanger) #54823
- cad404e1a1 - test: fix volatile for CauseSegfault with clang (Ivan Trubach) #54325
- 41682c7286 - test: set test-http2-socket-close as flaky (Yagiz Nizipli) #54802
- 1e1ac48711 - test: set test-worker-arraybuffer-zerofill as flaky (Yagiz Nizipli) #54802
- 56238debff - test: set test-runner-run-watch as flaky (Yagiz Nizipli) #54802
- 8291de1540 - test: set test-http-server-request-timeouts-mixed as flaky (Yagiz Nizipli) #54802
- 32d340e6b3 - test: set test-single-executable-application-empty as flaky (Yagiz Nizipli) #54802
- 6a2da4c4ca - test: set test-macos-app-sandbox as flaky (Yagiz Nizipli) #54802
- 2f408847a0 - test: set test-fs-utimes as flaky (Yagiz Nizipli) #54802
- e3b7c40ffc - test: set test-runner-run-watch as flaky (Yagiz Nizipli) #54802
- d2ede46946 - test: set test-sqlite-statement-sync as flaky (Yagiz Nizipli) #54802
- b9f3385808 - test: set test-writewrap as flaky (Yagiz Nizipli) #54802
- d55fec8f40 - test: set test-async-context-frame as flaky (Yagiz Nizipli) #54802
- 3dfb525f3e - test: set test-esm-loader-hooks-inspect-wait as flaky (Yagiz Nizipli) #54802
- b0458a88b4 - test: set test-http2-large-file as flaky (Yagiz Nizipli) #54802
- 5f6f8757e5 - test: set test-runner-watch-mode-complex as flaky (Yagiz Nizipli) #54802
- 4231af336d - test: set test-performance-function as flaky (Yagiz Nizipli) #54802
- 45ef2a868e - test: set test-debugger-heap-profiler as flaky (Yagiz Nizipli) #54802
- b5137f6405 - test: fix test-process-load-env-file when path contains ’ (Antoine du Hamel) #54511
- 960116905a - test: refactor fs-watch tests due to macOS issue (Santiago Gimeno) #54498
- f074d74bf3 - test: refactor test-esm-type-field-errors (Giovanni Bucci) #54368
- 67e30deced - test: move more zlib tests to node:test (Yagiz Nizipli) #54609
- fdb65111a3 - test: improve output of child process utilities (Joyee Cheung) #54622
- 55a12a4190 - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #54925
- de0f445a7f - test_runner: reimplement assert.ok to allow stack parsing (Aviv Keller) #54776
- a52c199d9d - (SEMVER-MINOR)test_runner: report coverage thresholds in test:coverage (Aviv Keller) #54813
- 6552fddef5 - test_runner: update kPatterns (Pietro Marchini) #54728
- 3396a4954d - test_runner: detect only tests when isolation is off (Colin Ihrig) #54832
- 021f59b6bc - test_runner: apply filtering when tests begin (Colin Ihrig) #54832
- 36da793350 - test_runner: allow –import with no isolation (Aviv Keller) #54697
- de73d1ee4b - test_runner: improve code coverage cleanup (Colin Ihrig) #54856
- 3d478728f2 - timers: avoid generating holey internal arrays (Gürgün Dayıoğlu) #54771
- b3d567ae0f - timers: document ref option for scheduler.wait (Paolo Insogna) #54605
- c2bf0134ce - (SEMVER-MINOR)tls: add allowPartialTrustChain flag (Anna Henningsen) #54790
- 608a611132 - tools: add readability/fn_size to filter (Rafael Gonzaga) #54744
- 93fab49099 - tools: add util scripts to land and rebase PRs (Antoine du Hamel) #54656
- d6df542ff8 - tools: remove readability/fn_size rule (Rafael Gonzaga) #54663
- 689d127ee7 - typings: fix TypedArray to a global type (1ilsang) #54063
- 071dff1d34 - typings: correct param type of SafePromisePrototypeFinally (Wuli) #54727
- 5243e3240c - Revert “v8: enable maglev on supported architectures” (Joyee Cheung) #54384
- ade9da5b3a - vm: add vm proto property lookup test (Chengzhong Wu) #54606
- 8385958b60 - zlib: add typings for better dx (Yagiz Nizipli) #54699
- 8c4c85cf31 - zlib: deprecate instantiating classes without new (Yagiz Nizipli) #54708
Windows 32-bit Installer: https://nodejs.org/dist/v22.9.0/node-v22.9.0-x86.msi Windows 64-bit Installer: https://nodejs.org/dist/v22.9.0/node-v22.9.0-x64.msi Windows ARM 64-bit Installer: https://nodejs.org/dist/v22.9.0/node-v22.9.0-arm64.msi Windows 32-bit Binary: https://nodejs.org/dist/v22.9.0/win-x86/node.exe Windows 64-bit Binary: https://nodejs.org/dist/v22.9.0/win-x64/node.exe Windows ARM 64-bit Binary: https://nodejs.org/dist/v22.9.0/win-arm64/node.exe macOS 64-bit Installer: https://nodejs.org/dist/v22.9.0/node-v22.9.0.pkg macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-darwin-arm64.tar.gz macOS Intel 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-darwin-x64.tar.gz Linux 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-linux-x64.tar.xz Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-linux-ppc64le.tar.xz Linux s390x 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-linux-s390x.tar.xz AIX 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-aix-ppc64.tar.gz ARMv7 32-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-linux-armv7l.tar.xz ARMv8 64-bit Binary: https://nodejs.org/dist/v22.9.0/node-v22.9.0-linux-arm64.tar.xz Source Code: https://nodejs.org/dist/v22.9.0/node-v22.9.0.tar.gz Other release files: https://nodejs.org/dist/v22.9.0/ Documentation: https://nodejs.org/docs/v22.9.0/api/
SHASUMS
—–BEGINPGPSIGNEDMESSAGE—–Hash:SHA2566cdaa6e3c5c7cf0596dd5a3deafc63d22987eb7da95eca1fffccd168a70f4b1enode-v22.9.0-aix-ppc64.tar.gz0930031b9cf40a5d6dab8a5c4c80d051698e6df581e3623ec6902619f3434874node-v22.9.0-arm64.msi7d62217f64491524db6bcfb059049d64fd6a9adcae52565ed54aaad365a55afdnode-v22.9.0-darwin-arm64.tar.gz2e01a251a29ce603721d83c896d157e7b7b22de1ae8f84336641390daf7fc125node-v22.9.0-darwin-arm64.tar.xz2d68692990a38078e1895763ff68f8ef0105299134e7f5654ddafaac69d4fa59node-v22.9.0-darwin-x64.tar.gz6b9e9df47fab128ed58f5b8e781d90604355ab55dbdafb0e876a3ae933557d2dnode-v22.9.0-darwin-x64.tar.xz4035e59c26405889d97cc257f5a30088b58990d720124147469b42c66402ce2dnode-v22.9.0-headers.tar.gzfc595974bcd61bb617d5da0dcdd8ef2c89fedfed954b75f02697d3e98027008dnode-v22.9.0-headers.tar.xz4497750edeba40349fae55c058103a7c3c606adb209839c087739d2184c25d8anode-v22.9.0-linux-arm64.tar.gz5b19718b78a4b632896a52a90246b41e7b8c569a57c0676ff0dd24b30b55275dnode-v22.9.0-linux-arm64.tar.xz67dbabeee7cee24fa56cb9ceba01dd9f41d7644d95744e0bd66897d472e6188cnode-v22.9.0-linux-armv7l.tar.gzcdcd2f0a30184a2c633eeafc0d0317013cc8665ee1254c2da1563761579d85afnode-v22.9.0-linux-armv7l.tar.xzf3baf6120602e13436ab30bbe55593599a6f5681efe33ea21f77550af7cfde83node-v22.9.0-linux-ppc64le.tar.gz86dad0b0db3003538c804ebdcce7ac0f0e3b245d842fd554620ba8230d536808node-v22.9.0-linux-ppc64le.tar.xz70ee74fc334075f5822d46bd1c0286fcfb1547e0d55278c0dab5cefc70783af5node-v22.9.0-linux-s390x.tar.gz8adc776e92e8b03fb3c422754856267357f3eaa95686b18067f31d6987f1778cnode-v22.9.0-linux-s390x.tar.xz1efa7ba49fbb80b2110ebed50224705ca23b1edbdd1e3210e293faa006540488node-v22.9.0-linux-x64.tar.gz1bfae9ef21ab43c92d8274f1bd032bf61f42ea004192a18d4c64477508626142node-v22.9.0-linux-x64.tar.xz7a0a0a3998d989fe117f358e17ae0542ba264d2ae5c5681fc9d9ce8a666ce7b2node-v22.9.0-win-arm64.7z85c838f9100599d4a16d9e4b64344d7dc0991e10751db4d5a9e9473f0b67cce2node-v22.9.0-win-arm64.zip805d4f842b2f85907fc28d1d631971bac5c1df691d7040cfa5e46d02534f98dfnode-v22.9.0-win-x64.7z8af226c0aa71fefe5228e881f4b5c5d90a8b41c290b96f44f56990d8dc3fac1cnode-v22.9.0-win-x64.zip3a6b798464794a0ac2452cf51e55df6f60f09598f724dd3eb890d64d99d81e5bnode-v22.9.0-win-x86.7z16204fc98ff2370e49283c7f653ee8b8845c92b5e2bfcb8a4453219dea8f7b81node-v22.9.0-win-x86.zip55cd8bada120341a16bdc06e1dcf7af25d8879875ae09525637125a661c3faabnode-v22.9.0-x64.msi90651995e20f55dbf495aafffc053ab7d551dd47f6d942b226183093552c5e73node-v22.9.0-x86.msi5a70e38868121c5cd1b4c5ba9330c461c2afd5ffe26091f19fe8e4b014559b08node-v22.9.0.pkg296854aa1dca140b0462c2415637d0419e42af91114538a7e6fdf623971a6833node-v22.9.0.tar.gza55aeb368dee93432f610127cf94ce682aac07b93dcbbaadd856df122c9239dfnode-v22.9.0.tar.xz4076261755ffc71ea4c78446f113ce5cf8d92c69d8ef4d78e07785381eb5160awin-arm64/node.exead65afe5b192644fec9d599c77f0e38a8421d0d7ad2389679882a288c8df444bwin-arm64/node.libca8b0c10f26a2f4758a241285f037dcf554c295d1bfe88aaa074c6e580eeb4eewin-arm64/node_pdb.7z2d27f1e746a806690acb70880c3d1422ad12348baadd73dc730cc6e4df2013f7win-arm64/node_pdb.zipcf5c4dc82434c181171d6bef146d4374742ef2bb89ca31d2ab83ffff210ea1b1win-x64/node.exe3581a06b68c4584d146372113eaa8c4d102127222e5041195ba38f185eef419cwin-x64/node.libdc385fb2d62d8dc6ed18e4cb53c94dbdefe85ec06b0634e19de24f4e30c4c56awin-x64/node_pdb.7z82dfcc4826004fe6bbf2244b7b461ddaa5a1e8294a356d70e6200fca293fe261win-x64/node_pdb.zip317aeafe7dfeb5093534fe0be6de946c302bb39c40ba8de47bc51a8b305afad3win-x86/node.exe45399070d1d247cf223d12e80d3e638635af24d2f7a4714bc8e38a6a918f162awin-x86/node.lib628455f63aaaa8c29d115b462d600974262874765588ccd253db4b1ce7b815f5win-x86/node_pdb.7z18d2ff4cec79ceb1ecf1729bc0872d8d2ecde814c8540a65d4c43ef28d3b9816win-x86/node_pdb.zip—–BEGINPGPSIGNATURE—–iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmbp7t8ACgkQi+q0389VXvTuxAv+NouvgETBs60HgGsbzKcvFS1ddHkwRYnutCjHHaU0bN2NBFrJisqUt5j4NJpYVfpQiVNUwlp4K57BxcZAQd6ck5v0REcjGYNbWmM/h5AcoRRURw7c684a1F6i9zKdXUTEbj69SFayPYTlZBZBqsi6kJmGDy+FnahASmgjML7HQDYr95qauPPY7jb8mBdbNbpYhCikV/nZzyZ/S0Ann0VT6Dap6v0/y94q6rF361AT3QdVyhN5UXfLx1YBBAcq3KWK+Lx/JTWsm6PjG5p2sQi1pih0NDQKSR7oGjSVMrdwqOl+NISB3yusK/QX+iBNSWrpxMJhQCaJruLj6NjbgEcls5Urpx5KPkBmArN+jO2a/k+hwvSMn6NR6jOJHRECUN9iC4Tz+ye3QVwWkx2YSn86svz5/vSen1UiruZq9I3sGiwf8VOweoJ9/FYEGu9N7c/v1+JixIq1R9j/z33JhbpF8mWHjYW36oc1t9hekCpiwOI9Ty32tU78aAu5lBx53dvo=jPws—–ENDPGPSIGNATURE—–PrevNode v20.18.0 (LTS)NextNode v22.8.0 (Current)
FAQ
ใครเป็นผู้คิดค้นเกมรูเล็ต?
ใครเป็นผู้คิดค้นเกมรูเล็ต? ต้นกำเนิดที่แท้จริงของรูเล็ตเป็นประเด็นที่มีการถกเถียงและการเก็งกำไรกันมากในหมู่นักประวัติศาสตร์และผู้ชื่นชอบการพนัน แม้ว่าจะไม่มีความเห็นพ้องต้องกันที่ชัดเจนเกี่ยวกับนักประดิษฐ์ของเกม แต่ก็มีทฤษฎีหลายประการเกี่ยวกับการสร้างเกมดังกล่าว ทฤษฎีที่ได้รับความนิยมมากที่สุดประการหนึ่งคือเกมนี้คิดค้นโดยนักคณิตศาสตร์ชาวฝรั่งเศสชื่อเบลส ปาสกาลในศตวรรษที่ 17 ตามทฤษฎีนี้ ปาสคาลกำลังพยายามพัฒนาเครื่องจักรเคลื่อนที่ตลอดไป เมื่อเขาสร้างวงล้อรูเล็ตโดยไม่ได้ตั้งใจ แม้ว่าเรื่องราวนี้จะมีการเผยแพร่อย่างกว้างขวาง แต่ก็ยังไม่มีหลักฐานที่เป็นรูปธรรมเพียงเล็กน้อยที่จะสนับสนุนเรื่องนี้ อีกทฤษฎีหนึ่งชี้ให้เห็นว่ารูเล็ตถูกสร้างขึ้นในศตวรรษที่ 18 โดยชาวฝรั่งเศสชื่อ Francois Blanc Blanc เป็นผู้ก่อตั้งคาสิโน Monte Carlo อันโด่งดัง และว่ากันว่าเขาได้พัฒนาเกมสำหรับคาสิโนโดยเฉพาะเพื่อดึงดูดลูกค้ามากขึ้น ทฤษฎีนี้ได้รับการสนับสนุนจากข้อเท็จจริงที่ว่าวงล้อรูเล็ตอันแรกมีเลขศูนย์ตัวเดียว ซึ่งเป็นนวัตกรรมที่ได้รับการยกย่องจาก Blanc ซึ่งทำให้บ้านมีข้อได้เปรียบที่ต่ำกว่า นักประวัติศาสตร์บางคนยังเสนอว่าเกมรูเล็ตมีรากฐานมาจากกรุงโรมโบราณหรือจีน ซึ่งมีการเล่นเกมที่คล้ายกันที่เกี่ยวข้องกับวงล้อหมุนและการเดิมพัน
อนาคตของเกมรูเล็ตจะเป็นอย่างไร?
อนาคตของเกมรูเล็ตจะเป็นอย่างไร? อนาคตที่เป็นไปได้ประการหนึ่งสำหรับรูเล็ตคือการบูรณาการเทคโนโลยีเสมือนจริงและความเป็นจริงเสริม สิ่งนี้จะช่วยให้ผู้เล่นได้ดื่มด่ำในสภาพแวดล้อมของคาสิโนเสมือนจริงและเพลิดเพลินไปกับประสบการณ์การเล่นเกมที่สมจริงและน่าดึงดูดยิ่งขึ้น อนาคตที่เป็นไปได้อีกประการหนึ่งสำหรับรูเล็ตคือการเติบโตอย่างต่อเนื่องของเกมออนไลน์ เมื่อผู้คนหันมาใช้อินเทอร์เน็ตเพื่อเล่นเกมมากขึ้นเรื่อยๆ คาสิโนออนไลน์ก็มีแนวโน้มที่จะได้รับความนิยมมากขึ้นเรื่อยๆ สิ่งนี้อาจนำไปสู่การพัฒนาเกมรูเล็ตประเภทใหม่และนวัตกรรมที่ออกแบบมาเพื่อการเล่นออนไลน์โดยเฉพาะ ในที่สุด การขยายตัวอย่างต่อเนื่องของเทคโนโลยีสกุลเงินดิจิทัลและบล็อกเชนอาจส่งผลกระทบอย่างมีนัยสำคัญต่ออนาคตของรูเล็ต เนื่องจากผู้เล่นมองหาวิธีในการทำธุรกรรมที่ปลอดภัยและไม่เปิดเผยตัวตนมากขึ้น จึงเป็นไปได้ที่เราจะเห็นคาสิโนออนไลน์ที่ยอมรับสกุลเงินดิจิทัล เช่น Bitcoin เป็นรูปแบบการชำระเงินมากขึ้น
ชื่อรูเล็ตมีที่มาอย่างไร?
ชื่อรูเล็ตมีที่มาอย่างไร? ที่มาของชื่อ ârouletteâ เป็นภาษาฝรั่งเศส และแปลว่า âlittle wheelâ ชื่อนี้ได้มาจากข้อเท็จจริงที่ว่าเกมนี้เล่นบนวงล้อเล็กๆ ที่หมุนไปรอบๆ โดยผู้เล่นเดิมพันว่าลูกบอลจะตกลงไปที่ใด คำว่า ârouletteâ ถูกใช้ครั้งแรกในบริบทปัจจุบันในศตวรรษที่ 18 แม้ว่าตัวเกมจะมีมาก่อนหน้านี้มากก็ตาม นักประวัติศาสตร์บางคนเชื่อว่าเกมนี้อาจได้รับอิทธิพลจากเกมโบราณหลายประเภท รวมถึงเกม Baige Piao ของจีน ซึ่งใช้วงล้อหมุนเพื่อกำหนดผลลัพธ์ อีกทฤษฎีหนึ่งคือเกมนี้ได้รับแรงบันดาลใจจากเกม Biribi ของอิตาลี ซึ่งเล่นโดยใช้วงล้อและเกี่ยวข้องกับการเดิมพันตัวเลข เกมรูเล็ตได้กลายเป็นหนึ่งในเกมคาสิโนที่ได้รับความนิยมมากที่สุดในโลกโดยไม่คำนึงถึงต้นกำเนิดที่แน่นอน และชื่อของมันก็มีความหมายเหมือนกันกับการพนันและโอกาส
WPT Global มีแอพมือถือหรือไม่?
WPT Global Mobile App: คุณสมบัติ ความพร้อมใช้งาน และวิธีการดาวน์โหลด WPT Global หนึ่งในแพลตฟอร์มโป๊กเกอร์ออนไลน์ที่เติบโตเร็วที่สุด นำเสนอแอปมือถือที่สะดวกและใช้งานง่ายสำหรับทั้งอุปกรณ์ iOS และ Android บทความนี้จะแนะนำคุณเกี่ยวกับฟีเจอร์ ความพร้อมใช้งาน และกระบวนการดาวน์โหลดของแอป ความพร้อมใช้งานและความเข้ากันได้ แอปมือถือ WPT Global มีให้บริการสำหรับ: 1. อุปกรณ์ iOS (iPhone และ iPad) ที่ใช้ iOS 13.0 ขึ้นไป 2. อุปกรณ์ Android คุณสมบัติหลัก แอปมือถือ WPT Global นำเสนอคุณสมบัติเด่นหลายประการ: 1. เข้าถึงเกมเงินสด การแข่งขัน และรูปแบบโป๊กเกอร์อื่นๆ 2. โหมดมืดเพื่อประสบการณ์การรับชมที่ดียิ่งขึ้น 3. ล็อบบี้ที่จัดกลุ่มเพื่อการเข้าถึงเกมที่รวดเร็วยิ่งขึ้น 4. ฟังก์ชั่นหลายตาราง 5. อวตาร NFT 6. ส่วนต่อประสานที่ใช้งานง่ายพร้อมการนำทางที่ราบรื่น 7. การตั้งค่าที่ปรับแต่งได้ (พื้นหลังของโต๊ะ สำรับ ฯลฯ) 8. ตัวเลือกการเติมเงินอัตโนมัติและขนาดเดิมพันแบบกำหนดเอง วิธีดาวน์โหลดแอป WPT Global Mobile สำหรับผู้ใช้ iOS: 1. เปิด Apple App Store บนอุปกรณ์ของคุณ
เรื่องอื้อฉาวและการโต้เถียงเกี่ยวกับรูเล็ตที่มีชื่อเสียงตลอดประวัติศาสตร์มีอะไรบ้าง?
เรื่องอื้อฉาวและการโต้เถียงเกี่ยวกับรูเล็ตที่มีชื่อเสียงตลอดประวัติศาสตร์มีอะไรบ้าง? 1. Eudaemons ในปี 1970 กลุ่มนักศึกษาฟิสิกส์ที่มหาวิทยาลัยแคลิฟอร์เนีย ซานตาครูซ ใช้คอมพิวเตอร์เพื่อทำนายผลลัพธ์ของเกมรูเล็ตในคาสิโนเนวาดา พวกเขาเรียกตัวเองว่า “พวก Eudaemons” และทำกำไรได้มากมายก่อนที่การดำเนินงานจะปิดตัวลง 2. The Ritz-Carlton Scandal – ในปี 2004 ทีมนักพนันชาวยุโรปตะวันออกใช้เครื่องสแกนเลเซอร์และคอมพิวเตอร์เพื่อคาดเดาว่าลูกบอลจะตกลงไปบนวงล้อรูเล็ตที่คาสิโน Ritz-Carlton ในลอนดอนที่ใด พวกเขาทำเงินได้ 1.3 ล้านปอนด์ก่อนที่จะถูกจับได้ 3. เรื่องราวของกอนซาโล การ์เซีย-เปลาโย – นักพนันชาวสเปน กอนซาโล การ์เซีย-เปลาโย ใช้คอมพิวเตอร์เพื่อวิเคราะห์การหมุนรูเล็ตหลายพันรอบที่คาสิโน Gran Madrid ในกรุงมาดริดในช่วงทศวรรษ 1990 เขาค้นพบว่าตัวเลขบางตัวบนวงล้อมีแนวโน้มที่จะถูกตีมากกว่าตัวเลขอื่นๆ และได้รับรางวัลหลายล้านดอลลาร์ก่อนที่จะถูกแบนจากคาสิโน 4. เรื่องอื้อฉาวเกี่ยวกับวงล้ออคติ ในยุค 1870 วิศวกรชาวอังกฤษ โจเซฟ แจ็กเกอร์ ค้นพบว่าหนึ่งในวงล้อรูเล็ตที่คาสิโน Beaux-Arts ในมอนติคาร์โล มีอคติและมีแนวโน้มที่จะได้ตัวเลขที่แน่นอนบ่อยกว่า เขาได้รับโชคลาภก่อนที่คาสิโนจะติดและเปลี่ยนวงล้อ 5. เรื่องอื้อฉาวของ Monique Laurent ในปี 1970 Monique Laurent เจ้ามือการพนันชาวฝรั่งเศสทำงานที่ Casino Deauville ใน Normandy และควบคุมวงล้อรูเล็ตตามความต้องการของเธอ เธอและน้องชายหาเงินได้มากกว่าหนึ่งล้านฟรังก์ก่อนจะถูกจับกุมและถูกตัดสินจำคุก
WPT Global - แพลตฟอร์มโป๊กเกอร์ออนไลน์ที่มีชื่อเสียงที่สุดในโลก! ที่นี่คือสวรรค์ของผู้ที่ชื่นชอบโป๊กเกอร์ คลิกที่นี่เพื่อเรียนรู้วิธีดาวน์โหลด WPT Global
เว็บไซต์นี้เพียงรวบรวมบทความที่เกี่ยวข้อง หากต้องการดูต้นฉบับ กรุณาคัดลอกและเปิดลิงก์ด้านล่าง:Node.js — Node v22.9.0 (Current)