f0d2d8cf92
This PR contains the following updates: | Package | Type | Update | Change | Pending | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---|---| | [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | | minor | `20.17.0` -> `20.18.0` | | [![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v20.17.0/v20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v20.17.0/v20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [node](https://redirect.github.com/nodejs/node) | final | minor | `20.16.0-alpine` -> `20.18.0-alpine` | | [![age](https://developer.mend.io/api/mc/badges/age/docker/node/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/node/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/node/20.16.0/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/20.16.0/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [node](https://redirect.github.com/nodejs/node) | stage | minor | `20.16.0-alpine` -> `20.18.0-alpine` | | [![age](https://developer.mend.io/api/mc/badges/age/docker/node/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/docker/node/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/docker/node/20.16.0/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/docker/node/20.16.0/20.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | patch | [`20.16.3` -> `20.16.12`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.3/20.16.12) | `20.17.1` (+4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.3/20.16.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.3/20.16.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>nodejs/node (node)</summary> ### [`v20.18.0`](https://redirect.github.com/nodejs/node/releases/tag/v20.18.0): 2024-10-03, Version 20.18.0 'Iron' (LTS), @​targos [Compare Source](https://redirect.github.com/nodejs/node/compare/v20.17.0...v20.18.0) ##### Notable Changes ##### Experimental Network Inspection Support in Node.js This update introduces the initial support for network inspection in Node.js. Currently, this is an experimental feature, so you need to enable it using the `--experimental-network-inspection` flag. With this feature enabled, you can inspect network activities occurring within a JavaScript application. To use network inspection, start your Node.js application with the following command: ```console $ node --inspect-wait --experimental-network-inspection index.js ``` Please note that the network inspection capabilities are in active development. We are actively working on enhancing this feature and will continue to expand its functionality in future updates. - Network inspection is limited to the `http` and `https` modules only. - The Network tab in Chrome DevTools will not be available until the [feature request on the Chrome DevTools side](https://issues.chromium.org/issues/353924015) is addressed. Contributed by Kohei Ueno in [#​53593](https://redirect.github.com/nodejs/node/pull/53593) and [#​54246](https://redirect.github.com/nodejs/node/pull/54246) ##### Exposes X509\_V_FLAG_PARTIAL_CHAIN to tls.createSecureContext This releases introduces a new option to the API `tls.createSecureContext`. From now on, `tls.createSecureContext({ allowPartialTrustChain: true })` can be used to treat intermediate (non-self-signed) certificates in the trust CA certificate list as trusted. Contributed by Anna Henningsen in [#​54790](https://redirect.github.com/nodejs/node/pull/54790) ##### New option for vm.createContext() to create a context with a freezable globalThis Node.js implements a flavor of `vm.createContext()` and friends that creates a context without contextifying its global object when vm.constants.DONT_CONTEXTIFY is used. This is suitable when users want to freeze the context (impossible when the global is contextified i.e. has interceptors installed) or speed up the global access if they don't need the interceptor behavior. Contributed by Joyee Cheung in [#​54394](https://redirect.github.com/nodejs/node/pull/54394) ##### Deprecations - \[[`64aa31f6e5`](https://redirect.github.com/nodejs/node/commit/64aa31f6e5)] - **repl**: doc-deprecate instantiating `node:repl` classes without `new` (Aviv Keller) [#​54842](https://redirect.github.com/nodejs/node/pull/54842) - \[[`4c52ee3d7f`](https://redirect.github.com/nodejs/node/commit/4c52ee3d7f)] - **zlib**: deprecate instantiating classes without new (Yagiz Nizipli) [#​54708](https://redirect.github.com/nodejs/node/pull/54708) ##### Other Notable Changes - \[[`b80da2f964`](https://redirect.github.com/nodejs/node/commit/b80da2f964)] - **buffer**: optimize createFromString (Robert Nagy) [#​54324](https://redirect.github.com/nodejs/node/pull/54324) - \[[`02b36cbd2d`](https://redirect.github.com/nodejs/node/commit/02b36cbd2d)] - **(SEMVER-MINOR)** **lib**: add EventSource Client (Aras Abbasi) [#​51575](https://redirect.github.com/nodejs/node/pull/51575) - \[[`879546a9bf`](https://redirect.github.com/nodejs/node/commit/879546a9bf)] - **(SEMVER-MINOR)** **src,lib**: add performance.uvMetricsInfo (Rafael Gonzaga) [#​54413](https://redirect.github.com/nodejs/node/pull/54413) - \[[`f789f4c92d`](https://redirect.github.com/nodejs/node/commit/f789f4c92d)] - **(SEMVER-MINOR)** **test_runner**: support module mocking (Colin Ihrig) [#​52848](https://redirect.github.com/nodejs/node/pull/52848) - \[[`4eb0749b6c`](https://redirect.github.com/nodejs/node/commit/4eb0749b6c)] - **(SEMVER-MINOR)** **url**: implement parse method for safer URL parsing (Ali Hassan) [#​52280](https://redirect.github.com/nodejs/node/pull/52280) ##### Commits - \[[`013c48f0e9`](https://redirect.github.com/nodejs/node/commit/013c48f0e9)] - **benchmark**: --no-warnings to avoid DEP/ExpWarn log (Rafael Gonzaga) [#​54928](https://redirect.github.com/nodejs/node/pull/54928) - \[[`194fc113ac`](https://redirect.github.com/nodejs/node/commit/194fc113ac)] - **benchmark**: add buffer.isAscii benchmark (RafaelGSS) [#​54740](https://redirect.github.com/nodejs/node/pull/54740) - \[[`7410d51cb9`](https://redirect.github.com/nodejs/node/commit/7410d51cb9)] - **benchmark**: add buffer.isUtf8 bench (RafaelGSS) [#​54740](https://redirect.github.com/nodejs/node/pull/54740) - \[[`2393f21e8a`](https://redirect.github.com/nodejs/node/commit/2393f21e8a)] - **benchmark**: add access async version to bench (Rafael Gonzaga) [#​54747](https://redirect.github.com/nodejs/node/pull/54747) - \[[`b8779721f0`](https://redirect.github.com/nodejs/node/commit/b8779721f0)] - **benchmark**: enhance dc publish benchmark (Rafael Gonzaga) [#​54745](https://redirect.github.com/nodejs/node/pull/54745) - \[[`4078aa83ff`](https://redirect.github.com/nodejs/node/commit/4078aa83ff)] - **benchmark**: add match and doesNotMatch bench (RafaelGSS) [#​54734](https://redirect.github.com/nodejs/node/pull/54734) - \[[`66acab9976`](https://redirect.github.com/nodejs/node/commit/66acab9976)] - **benchmark**: add rejects and doesNotReject bench (RafaelGSS) [#​54734](https://redirect.github.com/nodejs/node/pull/54734) - \[[`6db777fb3a`](https://redirect.github.com/nodejs/node/commit/6db777fb3a)] - **benchmark**: add throws and doesNotThrow bench (RafaelGSS) [#​54734](https://redirect.github.com/nodejs/node/pull/54734) - \[[`8f101560ce`](https://redirect.github.com/nodejs/node/commit/8f101560ce)] - **benchmark**: add strictEqual and notStrictEqual bench (RafaelGSS) [#​54734](https://redirect.github.com/nodejs/node/pull/54734) - \[[`2c9e4c936e`](https://redirect.github.com/nodejs/node/commit/2c9e4c936e)] - **benchmark**: adds groups to better separate benchmarks (Giovanni Bucci) [#​54393](https://redirect.github.com/nodejs/node/pull/54393) - \[[`671c3ac633`](https://redirect.github.com/nodejs/node/commit/671c3ac633)] - **benchmark**: fix benchmark for file path and URL conversion (Early Riser) [#​54190](https://redirect.github.com/nodejs/node/pull/54190) - \[[`8c8708cb5b`](https://redirect.github.com/nodejs/node/commit/8c8708cb5b)] - **benchmark**: use assert.ok searchparams (Rafael Gonzaga) [#​54334](https://redirect.github.com/nodejs/node/pull/54334) - \[[`8b71fa79e2`](https://redirect.github.com/nodejs/node/commit/8b71fa79e2)] - **benchmark**: add stream.compose benchmark (jakecastelli) [#​54308](https://redirect.github.com/nodejs/node/pull/54308) - \[[`93ee36e3a0`](https://redirect.github.com/nodejs/node/commit/93ee36e3a0)] - **benchmark**: rename count to n (Rafael Gonzaga) [#​54271](https://redirect.github.com/nodejs/node/pull/54271) - \[[`f2971b6f0b`](https://redirect.github.com/nodejs/node/commit/f2971b6f0b)] - **benchmark**: change assert() to assert.ok() (Rafael Gonzaga) [#​54254](https://redirect.github.com/nodejs/node/pull/54254) - \[[`f48f2c212c`](https://redirect.github.com/nodejs/node/commit/f48f2c212c)] - **benchmark**: support --help in CLI (Aviv Keller) [#​53358](https://redirect.github.com/nodejs/node/pull/53358) - \[[`0309b0520b`](https://redirect.github.com/nodejs/node/commit/0309b0520b)] - **benchmark**: remove force option as force defaults to true (Yelim Koo) [#​54203](https://redirect.github.com/nodejs/node/pull/54203) - \[[`b6e8305b2d`](https://redirect.github.com/nodejs/node/commit/b6e8305b2d)] - **benchmark**: use assert.ok instead of assert (Rafael Gonzaga) [#​54176](https://redirect.github.com/nodejs/node/pull/54176) - \[[`90c660d26a`](https://redirect.github.com/nodejs/node/commit/90c660d26a)] - **benchmark**: add require-esm benchmark (Joyee Cheung) [#​52166](https://redirect.github.com/nodejs/node/pull/52166) - \[[`1b8584b52e`](https://redirect.github.com/nodejs/node/commit/1b8584b52e)] - **benchmark,doc**: add CPU scaling governor to perf (Rafael Gonzaga) [#​54723](https://redirect.github.com/nodejs/node/pull/54723) - \[[`0b9161b330`](https://redirect.github.com/nodejs/node/commit/0b9161b330)] - **benchmark,doc**: mention bar.R to the list of scripts (Rafael Gonzaga) [#​54722](https://redirect.github.com/nodejs/node/pull/54722) - \[[`84bf93b7ea`](https://redirect.github.com/nodejs/node/commit/84bf93b7ea)] - **buffer**: allow invalid encoding in from (Robert Nagy) [#​54533](https://redirect.github.com/nodejs/node/pull/54533) - \[[`d04246a0d7`](https://redirect.github.com/nodejs/node/commit/d04246a0d7)] - **buffer**: optimize byteLength for common encodings (Robert Nagy) [#​54342](https://redirect.github.com/nodejs/node/pull/54342) - \[[`f36831f694`](https://redirect.github.com/nodejs/node/commit/f36831f694)] - **buffer**: optimize createFromString (Robert Nagy) [#​54324](https://redirect.github.com/nodejs/node/pull/54324) - \[[`f5f40c8088`](https://redirect.github.com/nodejs/node/commit/f5f40c8088)] - **buffer**: optimize for common encodings (Robert Nagy) [#​54319](https://redirect.github.com/nodejs/node/pull/54319) - \[[`76c37703be`](https://redirect.github.com/nodejs/node/commit/76c37703be)] - **buffer**: add JSDoc to blob bytes method (Roberto Simonini) [#​54117](https://redirect.github.com/nodejs/node/pull/54117) - \[[`3012d31404`](https://redirect.github.com/nodejs/node/commit/3012d31404)] - **buffer**: use faster integer argument check (Robert Nagy) [#​54089](https://redirect.github.com/nodejs/node/pull/54089) - \[[`3505782801`](https://redirect.github.com/nodejs/node/commit/3505782801)] - **buffer**: make indexOf(byte) faster (Tobias Nießen) [#​53455](https://redirect.github.com/nodejs/node/pull/53455) - \[[`d285fc1f68`](https://redirect.github.com/nodejs/node/commit/d285fc1f68)] - **build**: upgrade clang-format to v18 (Aviv Keller) [#​53957](https://redirect.github.com/nodejs/node/pull/53957) - \[[`d288ec3b0a`](https://redirect.github.com/nodejs/node/commit/d288ec3b0a)] - **build**: fix conflicting V8 object print flags (Daeyeon Jeong) [#​54785](https://redirect.github.com/nodejs/node/pull/54785) - \[[`e862eecac9`](https://redirect.github.com/nodejs/node/commit/e862eecac9)] - **build**: do not build with code cache for core coverage collection (Joyee Cheung) [#​54633](https://redirect.github.com/nodejs/node/pull/54633) - \[[`f7a606eb96`](https://redirect.github.com/nodejs/node/commit/f7a606eb96)] - **build**: turn off `-Wrestrict` (Richard Lau) [#​54737](https://redirect.github.com/nodejs/node/pull/54737) - \[[`71ca2665e4`](https://redirect.github.com/nodejs/node/commit/71ca2665e4)] - **build**: reclaim disk space on macOS GHA runner (jakecastelli) [#​54658](https://redirect.github.com/nodejs/node/pull/54658) - \[[`82d8051c39`](https://redirect.github.com/nodejs/node/commit/82d8051c39)] - **build**: don't clean obj.target directory if it doesn't exist (Joyee Cheung) [#​54337](https://redirect.github.com/nodejs/node/pull/54337) - \[[`6e550b1f26`](https://redirect.github.com/nodejs/node/commit/6e550b1f26)] - **build**: update `ruff` to `0.5.2` (Aviv Keller) [#​53909](https://redirect.github.com/nodejs/node/pull/53909) - \[[`e2ea7b26d7`](https://redirect.github.com/nodejs/node/commit/e2ea7b26d7)] - **build**: fix ./configure --help format error (Zhenwei Jin) [#​53066](https://redirect.github.com/nodejs/node/pull/53066) - \[[`eb2402d569`](https://redirect.github.com/nodejs/node/commit/eb2402d569)] - **build**: enable building with shared uvwasi lib (Pooja D P) [#​43987](https://redirect.github.com/nodejs/node/pull/43987) - \[[`45732314d4`](https://redirect.github.com/nodejs/node/commit/45732314d4)] - **build**: sync V8 warning cflags with BUILD.gn (Michaël Zasso) [#​52873](https://redirect.github.com/nodejs/node/pull/52873) - \[[`6e0a2bb54c`](https://redirect.github.com/nodejs/node/commit/6e0a2bb54c)] - **build**: harmonize Clang checks (Michaël Zasso) [#​52873](https://redirect.github.com/nodejs/node/pull/52873) - \[[`3f78d4eb28`](https://redirect.github.com/nodejs/node/commit/3f78d4eb28)] - **cli**: add `--expose-gc` flag available to `NODE_OPTIONS` (Juan José) [#​53078](https://redirect.github.com/nodejs/node/pull/53078) - \[[`a110409b2a`](https://redirect.github.com/nodejs/node/commit/a110409b2a)] - **console**: use validateOneOf for colorMode validation (HEESEUNG) [#​54245](https://redirect.github.com/nodejs/node/pull/54245) - \[[`231ab788ea`](https://redirect.github.com/nodejs/node/commit/231ab788ea)] - **crypto**: reject dh,x25519,x448 in {Sign,Verify}Final (Huáng Jùnliàng) [#​53774](https://redirect.github.com/nodejs/node/pull/53774) - \[[`a5984e4570`](https://redirect.github.com/nodejs/node/commit/a5984e4570)] - **crypto**: return a clearer error when loading an unsupported pkcs12 (Tim Perry) [#​54485](https://redirect.github.com/nodejs/node/pull/54485) - \[[`f287cd77bd`](https://redirect.github.com/nodejs/node/commit/f287cd77bd)] - **crypto**: remove unused `kHashTypes` internal (Antoine du Hamel) [#​54627](https://redirect.github.com/nodejs/node/pull/54627) - \[[`1fc904f8c4`](https://redirect.github.com/nodejs/node/commit/1fc904f8c4)] - **deps**: update cjs-module-lexer to 1.4.1 (Node.js GitHub Bot) [#​54846](https://redirect.github.com/nodejs/node/pull/54846) - \[[`95b55c39b1`](https://redirect.github.com/nodejs/node/commit/95b55c39b1)] - **deps**: update simdutf to 5.5.0 (Node.js GitHub Bot) [#​54434](https://redirect.github.com/nodejs/node/pull/54434) - \[[`cf6ded5dd3`](https://redirect.github.com/nodejs/node/commit/cf6ded5dd3)] - **deps**: update cjs-module-lexer to 1.4.0 (Node.js GitHub Bot) [#​54713](https://redirect.github.com/nodejs/node/pull/54713) - \[[`7f8edce3f1`](https://redirect.github.com/nodejs/node/commit/7f8edce3f1)] - **deps**: update c-ares to v1.33.1 (Node.js GitHub Bot) [#​54549](https://redirect.github.com/nodejs/node/pull/54549) - \[[`9a4a7b7ecc`](https://redirect.github.com/nodejs/node/commit/9a4a7b7ecc)] - **deps**: update undici to 6.19.8 (Node.js GitHub Bot) [#​54456](https://redirect.github.com/nodejs/node/pull/54456) - \[[`87ca1d7fee`](https://redirect.github.com/nodejs/node/commit/87ca1d7fee)] - **deps**: update simdutf to 5.3.4 (Node.js GitHub Bot) [#​54312](https://redirect.github.com/nodejs/node/pull/54312) - \[[`d3a743f182`](https://redirect.github.com/nodejs/node/commit/d3a743f182)] - **deps**: update zlib to 1.3.0.1-motley-71660e1 (Node.js GitHub Bot) [#​53464](https://redirect.github.com/nodejs/node/pull/53464) - \[[`926981aa9f`](https://redirect.github.com/nodejs/node/commit/926981aa9f)] - **deps**: update zlib to 1.3.0.1-motley-c2469fd (Node.js GitHub Bot) [#​53464](https://redirect.github.com/nodejs/node/pull/53464) - \[[`654c8d1fdc`](https://redirect.github.com/nodejs/node/commit/654c8d1fdc)] - **deps**: update zlib to 1.3.0.1-motley-68e57e6 (Node.js GitHub Bot) [#​53464](https://redirect.github.com/nodejs/node/pull/53464) - \[[`2477e79172`](https://redirect.github.com/nodejs/node/commit/2477e79172)] - **deps**: update zlib to 1.3.0.1-motley-8b7eff8 (Node.js GitHub Bot) [#​53464](https://redirect.github.com/nodejs/node/pull/53464) - \[[`3d8113faf5`](https://redirect.github.com/nodejs/node/commit/3d8113faf5)] - **deps**: update zlib to 1.3.0.1-motley-e432200 (Node.js GitHub Bot) [#​53464](https://redirect.github.com/nodejs/node/pull/53464) - \[[`ac294e3db4`](https://redirect.github.com/nodejs/node/commit/ac294e3db4)] - **deps**: update zlib to 1.3.0.1-motley-887bb57 (Node.js GitHub Bot) [#​53464](https://redirect.github.com/nodejs/node/pull/53464) - \[[`239588b968`](https://redirect.github.com/nodejs/node/commit/239588b968)] - **deps**: update c-ares to v1.33.0 (Node.js GitHub Bot) [#​54198](https://redirect.github.com/nodejs/node/pull/54198) - \[[`6e7de37ed3`](https://redirect.github.com/nodejs/node/commit/6e7de37ed3)] - **deps**: update undici to 6.19.7 (Node.js GitHub Bot) [#​54286](https://redirect.github.com/nodejs/node/pull/54286) - \[[`38aa9d6ea9`](https://redirect.github.com/nodejs/node/commit/38aa9d6ea9)] - **deps**: update acorn to 8.12.1 (Node.js GitHub Bot) [#​53465](https://redirect.github.com/nodejs/node/pull/53465) - \[[`d30145f663`](https://redirect.github.com/nodejs/node/commit/d30145f663)] - **deps**: update undici to 6.19.5 (Node.js GitHub Bot) [#​54076](https://redirect.github.com/nodejs/node/pull/54076) - \[[`c169d9c12b`](https://redirect.github.com/nodejs/node/commit/c169d9c12b)] - **deps**: update simdutf to 5.3.1 (Node.js GitHub Bot) [#​54196](https://redirect.github.com/nodejs/node/pull/54196) - \[[`92f3447957`](https://redirect.github.com/nodejs/node/commit/92f3447957)] - **doc**: add missing EventSource docs to globals (Matthew Aitken) [#​55022](https://redirect.github.com/nodejs/node/pull/55022) - \[[`2879ce9681`](https://redirect.github.com/nodejs/node/commit/2879ce9681)] - **doc**: fix broken Android building link (Niklas Wenzel) [#​54922](https://redirect.github.com/nodejs/node/pull/54922) - \[[`096623b59a`](https://redirect.github.com/nodejs/node/commit/096623b59a)] - **doc**: add support link for aduh95 (Antoine du Hamel) [#​54866](https://redirect.github.com/nodejs/node/pull/54866) - \[[`1dfd238781`](https://redirect.github.com/nodejs/node/commit/1dfd238781)] - **doc**: run license-builder (github-actions\[bot]) [#​54854](https://redirect.github.com/nodejs/node/pull/54854) - \[[`a6c748fffb`](https://redirect.github.com/nodejs/node/commit/a6c748fffb)] - **doc**: experimental flag for global accessible APIs (Chengzhong Wu) [#​54330](https://redirect.github.com/nodejs/node/pull/54330) - \[[`d48a22fa14`](https://redirect.github.com/nodejs/node/commit/d48a22fa14)] - **doc**: add `ERR_INVALID_ADDRESS` to `errors.md` (Aviv Keller) [#​54661](https://redirect.github.com/nodejs/node/pull/54661) - \[[`4a840cecfa`](https://redirect.github.com/nodejs/node/commit/4a840cecfa)] - **doc**: add support link for mcollina (Matteo Collina) [#​54786](https://redirect.github.com/nodejs/node/pull/54786) - \[[`ec22d86512`](https://redirect.github.com/nodejs/node/commit/ec22d86512)] - **doc**: mark `--conditions` CLI flag as stable (Guy Bedford) [#​54209](https://redirect.github.com/nodejs/node/pull/54209) - \[[`77c702ca07`](https://redirect.github.com/nodejs/node/commit/77c702ca07)] - **doc**: fix typo in recognizing-contributors (Tobias Nießen) [#​54822](https://redirect.github.com/nodejs/node/pull/54822) - \[[`62953ef9fb`](https://redirect.github.com/nodejs/node/commit/62953ef9fb)] - **doc**: clarify `--max-old-space-size` and `--max-semi-space-size` units (Alexandre ABRIOUX) [#​54477](https://redirect.github.com/nodejs/node/pull/54477) - \[[`e2bab0f2b2`](https://redirect.github.com/nodejs/node/commit/e2bab0f2b2)] - **doc**: replace --allow-fs-read by --allow-fs-write in related section (M1CK431) [#​54427](https://redirect.github.com/nodejs/node/pull/54427) - \[[`9cbfd5b33a`](https://redirect.github.com/nodejs/node/commit/9cbfd5b33a)] - **doc**: add support link for marco-ippolito (Marco Ippolito) [#​54789](https://redirect.github.com/nodejs/node/pull/54789) - \[[`53167b29ef`](https://redirect.github.com/nodejs/node/commit/53167b29ef)] - **doc**: fix typo (Michael Dawson) [#​54640](https://redirect.github.com/nodejs/node/pull/54640) - \[[`87f78a35f7`](https://redirect.github.com/nodejs/node/commit/87f78a35f7)] - **doc**: fix webcrypto.md AES-GCM backticks (Filip Skokan) [#​54621](https://redirect.github.com/nodejs/node/pull/54621) - \[[`7c83c15221`](https://redirect.github.com/nodejs/node/commit/7c83c15221)] - **doc**: add documentation about os.tmpdir() overrides (Joyee Cheung) [#​54613](https://redirect.github.com/nodejs/node/pull/54613) - \[[`4bfd832d70`](https://redirect.github.com/nodejs/node/commit/4bfd832d70)] - **doc**: add support me link for anonrig (Yagiz Nizipli) [#​54611](https://redirect.github.com/nodejs/node/pull/54611) - \[[`22a103e5ec`](https://redirect.github.com/nodejs/node/commit/22a103e5ec)] - **doc**: add alert on REPL from TCP socket (Rafael Gonzaga) [#​54594](https://redirect.github.com/nodejs/node/pull/54594) - \[[`b6374c24e1`](https://redirect.github.com/nodejs/node/commit/b6374c24e1)] - **doc**: fix typo in styleText description (Rafael Gonzaga) [#​54616](https://redirect.github.com/nodejs/node/pull/54616) - \[[`2f5b98ee1f`](https://redirect.github.com/nodejs/node/commit/2f5b98ee1f)] - **doc**: add getHeapStatistics() property descriptions (Benji Marinacci) [#​54584](https://redirect.github.com/nodejs/node/pull/54584) - \[[`482302b99b`](https://redirect.github.com/nodejs/node/commit/482302b99b)] - **doc**: fix information about including coverage files (Aviv Keller) [#​54527](https://redirect.github.com/nodejs/node/pull/54527) - \[[`b3708e7df4`](https://redirect.github.com/nodejs/node/commit/b3708e7df4)] - **doc**: support collaborators - talk amplification (Michael Dawson) [#​54508](https://redirect.github.com/nodejs/node/pull/54508) - \[[`c86fe23012`](https://redirect.github.com/nodejs/node/commit/c86fe23012)] - **doc**: add note about shasum generation failure (Marco Ippolito) [#​54487](https://redirect.github.com/nodejs/node/pull/54487) - \[[`d53e6cf755`](https://redirect.github.com/nodejs/node/commit/d53e6cf755)] - **doc**: fix capitalization in module.md (shallow-beach) [#​54488](https://redirect.github.com/nodejs/node/pull/54488) - \[[`cdc6713f18`](https://redirect.github.com/nodejs/node/commit/cdc6713f18)] - **doc**: add esm examples to node:https (Alfredo González) [#​54399](https://redirect.github.com/nodejs/node/pull/54399) - \[[`1ac1fe4e65`](https://redirect.github.com/nodejs/node/commit/1ac1fe4e65)] - **doc**: fix error description of the max header size (Egawa Ryo) [#​54125](https://redirect.github.com/nodejs/node/pull/54125) - \[[`244542b720`](https://redirect.github.com/nodejs/node/commit/244542b720)] - **doc**: add git node security --cleanup (Rafael Gonzaga) [#​54381](https://redirect.github.com/nodejs/node/pull/54381) - \[[`69fb71f54c`](https://redirect.github.com/nodejs/node/commit/69fb71f54c)] - **doc**: add note on weakness of permission model (Tobias Nießen) [#​54268](https://redirect.github.com/nodejs/node/pull/54268) - \[[`83b2cb908b`](https://redirect.github.com/nodejs/node/commit/83b2cb908b)] - **doc**: add versions when `--watch-preserve-output` was added (Théo LUDWIG) [#​54328](https://redirect.github.com/nodejs/node/pull/54328) - \[[`460fb49483`](https://redirect.github.com/nodejs/node/commit/460fb49483)] - **doc**: replace v19 mention in Current release (Rafael Gonzaga) [#​54361](https://redirect.github.com/nodejs/node/pull/54361) - \[[`994b46a160`](https://redirect.github.com/nodejs/node/commit/994b46a160)] - **doc**: correct peformance entry types (Jason Zhang) [#​54263](https://redirect.github.com/nodejs/node/pull/54263) - \[[`f142e668cb`](https://redirect.github.com/nodejs/node/commit/f142e668cb)] - **doc**: fix typo in method name in the sea doc (Eliyah Sundström) [#​54027](https://redirect.github.com/nodejs/node/pull/54027) - \[[`9529a30dba`](https://redirect.github.com/nodejs/node/commit/9529a30dba)] - **doc**: mark process.nextTick legacy (Marco Ippolito) [#​51280](https://redirect.github.com/nodejs/node/pull/51280) - \[[`7e25fabb91`](https://redirect.github.com/nodejs/node/commit/7e25fabb91)] - **doc**: add esm examples to node:http2 (Alfredo González) [#​54292](https://redirect.github.com/nodejs/node/pull/54292) - \[[`6a4f05e384`](https://redirect.github.com/nodejs/node/commit/6a4f05e384)] - **doc**: explicitly mention node:fs module restriction (Rafael Gonzaga) [#​54269](https://redirect.github.com/nodejs/node/pull/54269) - \[[`53f5c54997`](https://redirect.github.com/nodejs/node/commit/53f5c54997)] - **doc**: warn for windows build bug (Jason Zhang) [#​54217](https://redirect.github.com/nodejs/node/pull/54217) - \[[`07bde054f3`](https://redirect.github.com/nodejs/node/commit/07bde054f3)] - **doc**: make some parameters optional in `tracingChannel.traceCallback` (Deokjin Kim) [#​54068](https://redirect.github.com/nodejs/node/pull/54068) - \[[`62bf03b5f1`](https://redirect.github.com/nodejs/node/commit/62bf03b5f1)] - **doc**: add esm examples to node:dns (Alfredo González) [#​54172](https://redirect.github.com/nodejs/node/pull/54172) - \[[`fb2b19184b`](https://redirect.github.com/nodejs/node/commit/fb2b19184b)] - **doc**: add KevinEady as a triager (Chengzhong Wu) [#​54179](https://redirect.github.com/nodejs/node/pull/54179) - \[[`24976bfba0`](https://redirect.github.com/nodejs/node/commit/24976bfba0)] - **doc**: add esm examples to node:console (Alfredo González) [#​54108](https://redirect.github.com/nodejs/node/pull/54108) - \[[`4e7edc40f7`](https://redirect.github.com/nodejs/node/commit/4e7edc40f7)] - **doc**: fix sea assets example (Sadzurami) [#​54192](https://redirect.github.com/nodejs/node/pull/54192) - \[[`322b5d91e1`](https://redirect.github.com/nodejs/node/commit/322b5d91e1)] - **doc**: add links to security steward companies (Aviv Keller) [#​52981](https://redirect.github.com/nodejs/node/pull/52981) - \[[`6ab271510e`](https://redirect.github.com/nodejs/node/commit/6ab271510e)] - **doc**: move `onread` option from `socket.connect()` to `new net.socket()` (sendoru) [#​54194](https://redirect.github.com/nodejs/node/pull/54194) - \[[`39c30ea08f`](https://redirect.github.com/nodejs/node/commit/39c30ea08f)] - **doc**: move release key for Myles Borins (Richard Lau) [#​54059](https://redirect.github.com/nodejs/node/pull/54059) - \[[`e9fc54804a`](https://redirect.github.com/nodejs/node/commit/e9fc54804a)] - **doc**: refresh instructions for building node from source (Liran Tal) [#​53768](https://redirect.github.com/nodejs/node/pull/53768) - \[[`f131dc625a`](https://redirect.github.com/nodejs/node/commit/f131dc625a)] - **doc**: add documentation for blob.bytes() method (jaexxin) [#​54114](https://redirect.github.com/nodejs/node/pull/54114) - \[[`8d41bb900b`](https://redirect.github.com/nodejs/node/commit/8d41bb900b)] - **doc**: add missing new lines to custom test reporter examples (Eddie Abbondanzio) [#​54152](https://redirect.github.com/nodejs/node/pull/54152) - \[[`2acaeaba77`](https://redirect.github.com/nodejs/node/commit/2acaeaba77)] - **doc**: update list of Triagers on the `README.md` (Antoine du Hamel) [#​54138](https://redirect.github.com/nodejs/node/pull/54138) - \[[`fff8eb2792`](https://redirect.github.com/nodejs/node/commit/fff8eb2792)] - **doc**: expand troubleshooting section (Liran Tal) [#​53808](https://redirect.github.com/nodejs/node/pull/53808) - \[[`402121520f`](https://redirect.github.com/nodejs/node/commit/402121520f)] - **doc**: clarify `useCodeCache` setting for cross-platform SEA generation (Yelim Koo) [#​53994](https://redirect.github.com/nodejs/node/pull/53994) - \[[`272484b8b2`](https://redirect.github.com/nodejs/node/commit/272484b8b2)] - **doc**: test for cli options (Aras Abbasi) [#​51623](https://redirect.github.com/nodejs/node/pull/51623) - \[[`c4d0ca4710`](https://redirect.github.com/nodejs/node/commit/c4d0ca4710)] - **doc, build**: fixup build docs (Aviv Keller) [#​54899](https://redirect.github.com/nodejs/node/pull/54899) - \[[`2e3e17748b`](https://redirect.github.com/nodejs/node/commit/2e3e17748b)] - **doc, child_process**: add esm snippets (Aviv Keller) [#​53616](https://redirect.github.com/nodejs/node/pull/53616) - \[[`c40b4b4f27`](https://redirect.github.com/nodejs/node/commit/c40b4b4f27)] - **doc, meta**: fix broken link in `onboarding.md` (Aviv Keller) [#​54886](https://redirect.github.com/nodejs/node/pull/54886) - \[[`beff587b94`](https://redirect.github.com/nodejs/node/commit/beff587b94)] - **doc, meta**: add missing `,` to `BUILDING.md` (Aviv Keller) [#​54409](https://redirect.github.com/nodejs/node/pull/54409) - \[[`c114585430`](https://redirect.github.com/nodejs/node/commit/c114585430)] - **doc, meta**: replace command with link to keys (Aviv Keller) [#​53745](https://redirect.github.com/nodejs/node/pull/53745) - \[[`0843077a99`](https://redirect.github.com/nodejs/node/commit/0843077a99)] - **doc, test**: simplify test README table (Aviv Keller) [#​53971](https://redirect.github.com/nodejs/node/pull/53971) - \[[`2df7bc0e32`](https://redirect.github.com/nodejs/node/commit/2df7bc0e32)] - **doc,tools**: enforce use of `node:` prefix (Antoine du Hamel) [#​53950](https://redirect.github.com/nodejs/node/pull/53950) - \[[`0dd4639391`](https://redirect.github.com/nodejs/node/commit/0dd4639391)] - **esm**: fix support for `URL` instances in `import.meta.resolve` (Antoine du Hamel) [#​54690](https://redirect.github.com/nodejs/node/pull/54690) - \[[`f0c55e206d`](https://redirect.github.com/nodejs/node/commit/f0c55e206d)] - **fs**: refactor rimraf to avoid using primordials (Yagiz Nizipli) [#​54834](https://redirect.github.com/nodejs/node/pull/54834) - \[[`f568384bbd`](https://redirect.github.com/nodejs/node/commit/f568384bbd)] - **fs**: refactor handleTimestampsAndMode to remove redundant call (HEESEUNG) [#​54369](https://redirect.github.com/nodejs/node/pull/54369) - \[[`2fb7cc9715`](https://redirect.github.com/nodejs/node/commit/2fb7cc9715)] - **fs**: fix typings (Yagiz Nizipli) [#​53626](https://redirect.github.com/nodejs/node/pull/53626) - \[[`596940cfa0`](https://redirect.github.com/nodejs/node/commit/596940cfa0)] - **http**: reduce likelihood of race conditions on keep-alive timeout (jazelly) [#​54863](https://redirect.github.com/nodejs/node/pull/54863) - \[[`6e13a7ba02`](https://redirect.github.com/nodejs/node/commit/6e13a7ba02)] - **http**: remove prototype primordials (Antoine du Hamel) [#​53698](https://redirect.github.com/nodejs/node/pull/53698) - \[[`99f96eb3f7`](https://redirect.github.com/nodejs/node/commit/99f96eb3f7)] - **http2**: remove prototype primordials (Antoine du Hamel) [#​53696](https://redirect.github.com/nodejs/node/pull/53696) - \[[`41f5eacc1a`](https://redirect.github.com/nodejs/node/commit/41f5eacc1a)] - **https**: only use default ALPNProtocols when appropriate (Brian White) [#​54411](https://redirect.github.com/nodejs/node/pull/54411) - \[[`59a39520e1`](https://redirect.github.com/nodejs/node/commit/59a39520e1)] - **(SEMVER-MINOR)** **inspector**: support `Network.loadingFailed` event (Kohei Ueno) [#​54246](https://redirect.github.com/nodejs/node/pull/54246) - \[[`d1007fb1a9`](https://redirect.github.com/nodejs/node/commit/d1007fb1a9)] - **inspector**: provide detailed info to fix DevTools frontend errors (Kohei Ueno) [#​54156](https://redirect.github.com/nodejs/node/pull/54156) - \[[`3b93507949`](https://redirect.github.com/nodejs/node/commit/3b93507949)] - **(SEMVER-MINOR)** **inspector**: add initial support for network inspection (Kohei Ueno) [#​53593](https://redirect.github.com/nodejs/node/pull/53593) - \[[`fc37b801c8`](https://redirect.github.com/nodejs/node/commit/fc37b801c8)] - **lib**: remove unnecessary async (jakecastelli) [#​54829](https://redirect.github.com/nodejs/node/pull/54829) - \[[`d86f24787b`](https://redirect.github.com/nodejs/node/commit/d86f24787b)] - **lib**: make WeakRef safe in abort_controller (jazelly) [#​54791](https://redirect.github.com/nodejs/node/pull/54791) - \[[`77c59224e5`](https://redirect.github.com/nodejs/node/commit/77c59224e5)] - **lib**: add note about removing `node:sys` module (Rafael Gonzaga) [#​54743](https://redirect.github.com/nodejs/node/pull/54743) - \[[`b8c06dce02`](https://redirect.github.com/nodejs/node/commit/b8c06dce02)] - **lib**: ensure no holey array in fixed_queue (Jason Zhang) [#​54537](https://redirect.github.com/nodejs/node/pull/54537) - \[[`b85c8ce1fc`](https://redirect.github.com/nodejs/node/commit/b85c8ce1fc)] - **lib**: refactor SubtleCrypto experimental warnings (Filip Skokan) [#​54620](https://redirect.github.com/nodejs/node/pull/54620) - \[[`e84812c1b5`](https://redirect.github.com/nodejs/node/commit/e84812c1b5)] - **lib**: respect terminal capabilities on styleText (Rafael Gonzaga) [#​54389](https://redirect.github.com/nodejs/node/pull/54389) - \[[`c004abaf17`](https://redirect.github.com/nodejs/node/commit/c004abaf17)] - **lib**: replace spread operator with primordials function (YoonSoo_Shin) [#​54053](https://redirect.github.com/nodejs/node/pull/54053) - \[[`b79aeabc4d`](https://redirect.github.com/nodejs/node/commit/b79aeabc4d)] - **lib**: avoid for of loop and remove unnecessary variable in zlib (YoonSoo_Shin) [#​54258](https://redirect.github.com/nodejs/node/pull/54258) - \[[`f4085363c6`](https://redirect.github.com/nodejs/node/commit/f4085363c6)] - **lib**: fix unhandled errors in webstream adapters (Fedor Indutny) [#​54206](https://redirect.github.com/nodejs/node/pull/54206) - \[[`1ad857e748`](https://redirect.github.com/nodejs/node/commit/1ad857e748)] - **lib**: fix typos in comments within internal/streams (YoonSoo_Shin) [#​54093](https://redirect.github.com/nodejs/node/pull/54093) - \[[`02b36cbd2d`](https://redirect.github.com/nodejs/node/commit/02b36cbd2d)] - **(SEMVER-MINOR)** **lib**: add EventSource Client (Aras Abbasi) [#​51575](https://redirect.github.com/nodejs/node/pull/51575) - \[[`afbf2c0530`](https://redirect.github.com/nodejs/node/commit/afbf2c0530)] - **lib,permission**: support Buffer to permission.has (Rafael Gonzaga) [#​54104](https://redirect.github.com/nodejs/node/pull/54104) - \[[`54af47395d`](https://redirect.github.com/nodejs/node/commit/54af47395d)] - **meta**: bump peter-evans/create-pull-request from 6.1.0 to 7.0.1 (dependabot\[bot]) [#​54820](https://redirect.github.com/nodejs/node/pull/54820) - \[[`a0c10f2ed9`](https://redirect.github.com/nodejs/node/commit/a0c10f2ed9)] - **meta**: add `Windows ARM64` to flaky-tests list (Aviv Keller) [#​54693](https://redirect.github.com/nodejs/node/pull/54693) - \[[`27b06880e1`](https://redirect.github.com/nodejs/node/commit/27b06880e1)] - **meta**: bump actions/setup-python from 5.1.1 to 5.2.0 (Rich Trott) [#​54691](https://redirect.github.com/nodejs/node/pull/54691) - \[[`8747af1037`](https://redirect.github.com/nodejs/node/commit/8747af1037)] - **meta**: update sccache to v0.8.1 (Aviv Keller) [#​54720](https://redirect.github.com/nodejs/node/pull/54720) - \[[`3f753d87a6`](https://redirect.github.com/nodejs/node/commit/3f753d87a6)] - **meta**: bump step-security/harden-runner from 2.9.0 to 2.9.1 (dependabot\[bot]) [#​54704](https://redirect.github.com/nodejs/node/pull/54704) - \[[`6f103ae25d`](https://redirect.github.com/nodejs/node/commit/6f103ae25d)] - **meta**: bump actions/upload-artifact from 4.3.4 to 4.4.0 (dependabot\[bot]) [#​54703](https://redirect.github.com/nodejs/node/pull/54703) - \[[`3e6a9bb04e`](https://redirect.github.com/nodejs/node/commit/3e6a9bb04e)] - **meta**: bump github/codeql-action from 3.25.15 to 3.26.6 (dependabot\[bot]) [#​54702](https://redirect.github.com/nodejs/node/pull/54702) - \[[`c666ebc4e4`](https://redirect.github.com/nodejs/node/commit/c666ebc4e4)] - **meta**: fix links in `SECURITY.md` (Aviv Keller) [#​54696](https://redirect.github.com/nodejs/node/pull/54696) - \[[`4d361b3bed`](https://redirect.github.com/nodejs/node/commit/4d361b3bed)] - **meta**: fix `contributing` codeowners (Aviv Keller) [#​54641](https://redirect.github.com/nodejs/node/pull/54641) - \[[`36931aa183`](https://redirect.github.com/nodejs/node/commit/36931aa183)] - **meta**: remind users to use a supported version in bug reports (Aviv Keller) [#​54481](https://redirect.github.com/nodejs/node/pull/54481) - \[[`cf283d9ca7`](https://redirect.github.com/nodejs/node/commit/cf283d9ca7)] - **meta**: run coverage-windows when `vcbuild.bat` updated (Aviv Keller) [#​54412](https://redirect.github.com/nodejs/node/pull/54412) - \[[`67ca397c9f`](https://redirect.github.com/nodejs/node/commit/67ca397c9f)] - **meta**: add test-permission-\* CODEOWNERS (Rafael Gonzaga) [#​54267](https://redirect.github.com/nodejs/node/pull/54267) - \[[`b61a2f5b79`](https://redirect.github.com/nodejs/node/commit/b61a2f5b79)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#​54210](https://redirect.github.com/nodejs/node/pull/54210) - \[[`dd8ab83667`](https://redirect.github.com/nodejs/node/commit/dd8ab83667)] - **meta**: add module label for the lib/internal/modules folder (Aviv Keller) [#​52858](https://redirect.github.com/nodejs/node/pull/52858) - \[[`db78978d17`](https://redirect.github.com/nodejs/node/commit/db78978d17)] - **meta**: bump `actions/upload-artifact` from 4.3.3 to 4.3.4 (dependabot\[bot]) [#​54166](https://redirect.github.com/nodejs/node/pull/54166) - \[[`ca808dd9e5`](https://redirect.github.com/nodejs/node/commit/ca808dd9e5)] - **meta**: bump `actions/download-artifact` from 4.1.7 to 4.1.8 (dependabot\[bot]) [#​54167](https://redirect.github.com/nodejs/node/pull/54167) - \[[`a35d980146`](https://redirect.github.com/nodejs/node/commit/a35d980146)] - **meta**: bump actions/setup-python from 5.1.0 to 5.1.1 (dependabot\[bot]) [#​54165](https://redirect.github.com/nodejs/node/pull/54165) - \[[`3a103c3a17`](https://redirect.github.com/nodejs/node/commit/3a103c3a17)] - **meta**: bump `step-security/harden-runner` from 2.8.1 to 2.9.0 (dependabot\[bot]) [#​54169](https://redirect.github.com/nodejs/node/pull/54169) - \[[`775ebbe0e8`](https://redirect.github.com/nodejs/node/commit/775ebbe0e8)] - **meta**: bump `actions/setup-node` from 4.0.2 to 4.0.3 (dependabot\[bot]) [#​54170](https://redirect.github.com/nodejs/node/pull/54170) - \[[`7d5dd6f1d1`](https://redirect.github.com/nodejs/node/commit/7d5dd6f1d1)] - **meta**: bump `github/codeql-action` from 3.25.11 to 3.25.15 (dependabot\[bot]) [#​54168](https://redirect.github.com/nodejs/node/pull/54168) - \[[`80dd38dde3`](https://redirect.github.com/nodejs/node/commit/80dd38dde3)] - **meta**: bump `ossf/scorecard-action` from 2.3.3 to 2.4.0 (dependabot\[bot]) [#​54171](https://redirect.github.com/nodejs/node/pull/54171) - \[[`90b632ee02`](https://redirect.github.com/nodejs/node/commit/90b632ee02)] - **module**: warn on detection in typeless package (Geoffrey Booth) [#​52168](https://redirect.github.com/nodejs/node/pull/52168) - \[[`3011927aab`](https://redirect.github.com/nodejs/node/commit/3011927aab)] - **node-api**: add external buffer creation benchmark (Chengzhong Wu) [#​54877](https://redirect.github.com/nodejs/node/pull/54877) - \[[`7611093e11`](https://redirect.github.com/nodejs/node/commit/7611093e11)] - **node-api**: add support for UTF-8 and Latin-1 property keys (Mert Can Altin) [#​52984](https://redirect.github.com/nodejs/node/pull/52984) - \[[`d65a8f377c`](https://redirect.github.com/nodejs/node/commit/d65a8f377c)] - **node-api**: remove RefBase and CallbackWrapper (Vladimir Morozov) [#​53590](https://redirect.github.com/nodejs/node/pull/53590) - \[[`309cb1cbd2`](https://redirect.github.com/nodejs/node/commit/309cb1cbd2)] - **path**: remove `StringPrototypeCharCodeAt` from `posix.extname` (Aviv Keller) [#​54546](https://redirect.github.com/nodejs/node/pull/54546) - \[[`2859b4ba9a`](https://redirect.github.com/nodejs/node/commit/2859b4ba9a)] - **path**: change `posix.join` to use array (Wiyeong Seo) [#​54331](https://redirect.github.com/nodejs/node/pull/54331) - \[[`c61cee2138`](https://redirect.github.com/nodejs/node/commit/c61cee2138)] - **path**: fix relative on Windows (Hüseyin Açacak) [#​53991](https://redirect.github.com/nodejs/node/pull/53991) - \[[`329be5cc35`](https://redirect.github.com/nodejs/node/commit/329be5cc35)] - **path**: use the correct name in `validateString` (Benjamin Pasero) [#​53669](https://redirect.github.com/nodejs/node/pull/53669) - \[[`a9837267cb`](https://redirect.github.com/nodejs/node/commit/a9837267cb)] - **repl**: avoid interpreting 'npm' as a command when errors are recoverable (Shima Ryuhei) [#​54848](https://redirect.github.com/nodejs/node/pull/54848) - \[[`d6a2317961`](https://redirect.github.com/nodejs/node/commit/d6a2317961)] - **repl**: doc-deprecate instantiating `node:repl` classes without `new` (Aviv Keller) [#​54842](https://redirect.github.com/nodejs/node/pull/54842) - \[[`7f09d983f3`](https://redirect.github.com/nodejs/node/commit/7f09d983f3)] - **sea**: don't set code cache flags when snapshot is used (Joyee Cheung) [#​54120](https://redirect.github.com/nodejs/node/pull/54120) - \[[`85542b094c`](https://redirect.github.com/nodejs/node/commit/85542b094c)] - **src**: add Cleanable class to Environment (Gabriel Schulhof) [#​54880](https://redirect.github.com/nodejs/node/pull/54880) - \[[`8422064127`](https://redirect.github.com/nodejs/node/commit/8422064127)] - **src**: remove redundant AESCipherMode (Tobias Nießen) [#​54438](https://redirect.github.com/nodejs/node/pull/54438) - \[[`342c32483a`](https://redirect.github.com/nodejs/node/commit/342c32483a)] - **src**: handle errors correctly in `permission.cc` (Michaël Zasso) [#​54541](https://redirect.github.com/nodejs/node/pull/54541) - \[[`90ff714699`](https://redirect.github.com/nodejs/node/commit/90ff714699)] - **src**: return `v8::Object` from error constructors (Michaël Zasso) [#​54541](https://redirect.github.com/nodejs/node/pull/54541) - \[[`872856cfcb`](https://redirect.github.com/nodejs/node/commit/872856cfcb)] - **src**: improve `buffer.transcode` performance (Yagiz Nizipli) [#​54153](https://redirect.github.com/nodejs/node/pull/54153) - \[[`91936ebd12`](https://redirect.github.com/nodejs/node/commit/91936ebd12)] - **src**: skip inspector wait in internal workers (Chengzhong Wu) [#​54219](https://redirect.github.com/nodejs/node/pull/54219) - \[[`9759049427`](https://redirect.github.com/nodejs/node/commit/9759049427)] - **src**: account for OpenSSL unexpected version (Shelley Vohr) [#​54038](https://redirect.github.com/nodejs/node/pull/54038) - \[[`87167fa248`](https://redirect.github.com/nodejs/node/commit/87167fa248)] - **src**: use `args.This()` instead of `Holder` (Michaël Zasso) [#​53474](https://redirect.github.com/nodejs/node/pull/53474) - \[[`b05c56e4be`](https://redirect.github.com/nodejs/node/commit/b05c56e4be)] - **src**: simplify `size() == 0` checks (Yagiz Nizipli) [#​53440](https://redirect.github.com/nodejs/node/pull/53440) - \[[`d53e53699c`](https://redirect.github.com/nodejs/node/commit/d53e53699c)] - **src**: fix execArgv in worker (theanarkh) [#​53029](https://redirect.github.com/nodejs/node/pull/53029) - \[[`21776a34b5`](https://redirect.github.com/nodejs/node/commit/21776a34b5)] - **src**: make sure pass the `argv` to worker threads (theanarkh) [#​52827](https://redirect.github.com/nodejs/node/pull/52827) - \[[`3aaae68ec8`](https://redirect.github.com/nodejs/node/commit/3aaae68ec8)] - **(SEMVER-MINOR)** **src,lib**: add performance.uvMetricsInfo (Rafael Gonzaga) [#​54413](https://redirect.github.com/nodejs/node/pull/54413) - \[[`ef1c0d7def`](https://redirect.github.com/nodejs/node/commit/ef1c0d7def)] - **src,permission**: handle process.chdir on pm (Rafael Gonzaga) [#​53175](https://redirect.github.com/nodejs/node/pull/53175) - \[[`0c32918eef`](https://redirect.github.com/nodejs/node/commit/0c32918eef)] - **stream**: change stream to use index instead of `for...of` (Wiyeong Seo) [#​54474](https://redirect.github.com/nodejs/node/pull/54474) - \[[`337cd412b5`](https://redirect.github.com/nodejs/node/commit/337cd412b5)] - **stream**: make checking pendingcb on WritableStream backward compatible (jakecastelli) [#​54142](https://redirect.github.com/nodejs/node/pull/54142) - \[[`713fc0c9eb`](https://redirect.github.com/nodejs/node/commit/713fc0c9eb)] - **stream**: throw TypeError when criteria fulfilled in getIterator (jakecastelli) [#​53825](https://redirect.github.com/nodejs/node/pull/53825) - \[[`9686153616`](https://redirect.github.com/nodejs/node/commit/9686153616)] - **stream**: fix util.inspect for compression/decompressionStream (Mert Can Altin) [#​52283](https://redirect.github.com/nodejs/node/pull/52283) - \[[`76110b0b43`](https://redirect.github.com/nodejs/node/commit/76110b0b43)] - **test**: adjust test-tls-junk-server for OpenSSL32 (Michael Dawson) [#​54926](https://redirect.github.com/nodejs/node/pull/54926) - \[[`4092889371`](https://redirect.github.com/nodejs/node/commit/4092889371)] - **test**: adjust tls test for OpenSSL32 (Michael Dawson) [#​54909](https://redirect.github.com/nodejs/node/pull/54909) - \[[`5d48543a16`](https://redirect.github.com/nodejs/node/commit/5d48543a16)] - **test**: fix test-http2-socket-close.js (Hüseyin Açacak) [#​54900](https://redirect.github.com/nodejs/node/pull/54900) - \[[`8048c2eaed`](https://redirect.github.com/nodejs/node/commit/8048c2eaed)] - **test**: improve test-internal-fs-syncwritestream (Sunghoon) [#​54671](https://redirect.github.com/nodejs/node/pull/54671) - \[[`597bc14c90`](https://redirect.github.com/nodejs/node/commit/597bc14c90)] - **test**: deflake test-dns (Luigi Pinca) [#​54902](https://redirect.github.com/nodejs/node/pull/54902) - \[[`a9fc8d9cfa`](https://redirect.github.com/nodejs/node/commit/a9fc8d9cfa)] - **test**: fix test test-tls-dhe for OpenSSL32 (Michael Dawson) [#​54903](https://redirect.github.com/nodejs/node/pull/54903) - \[[`1b3b4f4a9f`](https://redirect.github.com/nodejs/node/commit/1b3b4f4a9f)] - **test**: use correct file naming syntax for `util-parse-env` (Aviv Keller) [#​53705](https://redirect.github.com/nodejs/node/pull/53705) - \[[`9db46b5ea3`](https://redirect.github.com/nodejs/node/commit/9db46b5ea3)] - **test**: add missing await (Luigi Pinca) [#​54828](https://redirect.github.com/nodejs/node/pull/54828) - \[[`124f715679`](https://redirect.github.com/nodejs/node/commit/124f715679)] - **test**: move more url tests to `node:test` (Yagiz Nizipli) [#​54636](https://redirect.github.com/nodejs/node/pull/54636) - \[[`d2ec96150a`](https://redirect.github.com/nodejs/node/commit/d2ec96150a)] - **test**: strip color chars in `test-runner-run` (Giovanni Bucci) [#​54552](https://redirect.github.com/nodejs/node/pull/54552) - \[[`747d9ae72e`](https://redirect.github.com/nodejs/node/commit/747d9ae72e)] - **test**: deflake test-http2-misbehaving-multiplex (Luigi Pinca) [#​54872](https://redirect.github.com/nodejs/node/pull/54872) - \[[`7b7687eadc`](https://redirect.github.com/nodejs/node/commit/7b7687eadc)] - **test**: remove dead code in test-http2-misbehaving-multiplex (Luigi Pinca) [#​54860](https://redirect.github.com/nodejs/node/pull/54860) - \[[`60f5f5426d`](https://redirect.github.com/nodejs/node/commit/60f5f5426d)] - **test**: reduce test-esm-loader-hooks-inspect-wait flakiness (Luigi Pinca) [#​54827](https://redirect.github.com/nodejs/node/pull/54827) - \[[`f5e77385c5`](https://redirect.github.com/nodejs/node/commit/f5e77385c5)] - **test**: reduce the allocation size in test-worker-arraybuffer-zerofill (James M Snell) [#​54839](https://redirect.github.com/nodejs/node/pull/54839) - \[[`f26cf09d6b`](https://redirect.github.com/nodejs/node/commit/f26cf09d6b)] - **test**: fix test-tls-client-mindhsize for OpenSSL32 (Michael Dawson) [#​54739](https://redirect.github.com/nodejs/node/pull/54739) - \[[`c6f9afec94`](https://redirect.github.com/nodejs/node/commit/c6f9afec94)] - **test**: use platform timeout (jakecastelli) [#​54591](https://redirect.github.com/nodejs/node/pull/54591) - \[[`8f49b7c3ee`](https://redirect.github.com/nodejs/node/commit/8f49b7c3ee)] - **test**: reduce fs calls in test-fs-existssync-false (Yagiz Nizipli) [#​54815](https://redirect.github.com/nodejs/node/pull/54815) - \[[`e2c69c9844`](https://redirect.github.com/nodejs/node/commit/e2c69c9844)] - **test**: move test-http-server-request-timeouts-mixed (James M Snell) [#​54841](https://redirect.github.com/nodejs/node/pull/54841) - \[[`f7af8ca021`](https://redirect.github.com/nodejs/node/commit/f7af8ca021)] - **test**: fix volatile for CauseSegfault with clang (Ivan Trubach) [#​54325](https://redirect.github.com/nodejs/node/pull/54325) - \[[`d1bae5ede5`](https://redirect.github.com/nodejs/node/commit/d1bae5ede5)] - **test**: set `test-worker-arraybuffer-zerofill` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`b5b5cc811f`](https://redirect.github.com/nodejs/node/commit/b5b5cc811f)] - **test**: set `test-http-server-request-timeouts-mixed` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`9808feecac`](https://redirect.github.com/nodejs/node/commit/9808feecac)] - **test**: set `test-single-executable-application-empty` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`97d41c62e3`](https://redirect.github.com/nodejs/node/commit/97d41c62e3)] - **test**: set `test-macos-app-sandbox` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`57ae68001c`](https://redirect.github.com/nodejs/node/commit/57ae68001c)] - **test**: set `test-fs-utimes` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`38afc4da03`](https://redirect.github.com/nodejs/node/commit/38afc4da03)] - **test**: set `test-runner-run-watch` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`68e19748a6`](https://redirect.github.com/nodejs/node/commit/68e19748a6)] - **test**: set `test-writewrap` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`e8cb03d530`](https://redirect.github.com/nodejs/node/commit/e8cb03d530)] - **test**: set `test-async-context-frame` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`3a56517220`](https://redirect.github.com/nodejs/node/commit/3a56517220)] - **test**: set `test-esm-loader-hooks-inspect-wait` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`c98cd1227d`](https://redirect.github.com/nodejs/node/commit/c98cd1227d)] - **test**: set `test-http2-large-file` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`16176a6323`](https://redirect.github.com/nodejs/node/commit/16176a6323)] - **test**: set `test-runner-watch-mode-complex` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`eed0537533`](https://redirect.github.com/nodejs/node/commit/eed0537533)] - **test**: set `test-performance-function` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`d0f208d2e9`](https://redirect.github.com/nodejs/node/commit/d0f208d2e9)] - **test**: set `test-debugger-heap-profiler` as flaky (Yagiz Nizipli) [#​54802](https://redirect.github.com/nodejs/node/pull/54802) - \[[`68891a6363`](https://redirect.github.com/nodejs/node/commit/68891a6363)] - **test**: fix `test-process-load-env-file` when path contains `'` (Antoine du Hamel) [#​54511](https://redirect.github.com/nodejs/node/pull/54511) - \[[`4f82673139`](https://redirect.github.com/nodejs/node/commit/4f82673139)] - **test**: refactor fs-watch tests due to macOS issue (Santiago Gimeno) [#​54498](https://redirect.github.com/nodejs/node/pull/54498) - \[[`3606c53fdc`](https://redirect.github.com/nodejs/node/commit/3606c53fdc)] - **test**: refactor `test-esm-type-field-errors` (Giovanni Bucci) [#​54368](https://redirect.github.com/nodejs/node/pull/54368) - \[[`99566aea97`](https://redirect.github.com/nodejs/node/commit/99566aea97)] - **test**: improve output of child process utilities (Joyee Cheung) [#​54622](https://redirect.github.com/nodejs/node/pull/54622) - \[[`ed2377c1a1`](https://redirect.github.com/nodejs/node/commit/ed2377c1a1)] - **test**: fix test-tls-client-auth test for OpenSSL32 (Michael Dawson) [#​54610](https://redirect.github.com/nodejs/node/pull/54610) - \[[`d2a7e45946`](https://redirect.github.com/nodejs/node/commit/d2a7e45946)] - **test**: update TLS test for OpenSSL 3.2 (Richard Lau) [#​54612](https://redirect.github.com/nodejs/node/pull/54612) - \[[`a50bbca78a`](https://redirect.github.com/nodejs/node/commit/a50bbca78a)] - **test**: increase key size for ca2-cert.pem (Michael Dawson) [#​54599](https://redirect.github.com/nodejs/node/pull/54599) - \[[`d7ac3262de`](https://redirect.github.com/nodejs/node/commit/d7ac3262de)] - **test**: update test-assert-typedarray-deepequal to use node:test (James M Snell) [#​54585](https://redirect.github.com/nodejs/node/pull/54585) - \[[`916a73cd8f`](https://redirect.github.com/nodejs/node/commit/916a73cd8f)] - **test**: update test-assert to use node:test (James M Snell) [#​54585](https://redirect.github.com/nodejs/node/pull/54585) - \[[`10bea1cef5`](https://redirect.github.com/nodejs/node/commit/10bea1cef5)] - **test**: merge ongc and gcutil into gc.js (tannal) [#​54355](https://redirect.github.com/nodejs/node/pull/54355) - \[[`f145982436`](https://redirect.github.com/nodejs/node/commit/f145982436)] - **test**: move a couple of tests over to using node:test (James M Snell) [#​54582](https://redirect.github.com/nodejs/node/pull/54582) - \[[`229e102d20`](https://redirect.github.com/nodejs/node/commit/229e102d20)] - **test**: fix embedding test for Windows (Vladimir Morozov) [#​53659](https://redirect.github.com/nodejs/node/pull/53659) - \[[`fcf82adef0`](https://redirect.github.com/nodejs/node/commit/fcf82adef0)] - **test**: use relative paths in test-cli-permission tests (sendoru) [#​54188](https://redirect.github.com/nodejs/node/pull/54188) - \[[`4c219b0235`](https://redirect.github.com/nodejs/node/commit/4c219b0235)] - **test**: fix timeout not being cleared (Isaac-yz-Liu) [#​54242](https://redirect.github.com/nodejs/node/pull/54242) - \[[`e446517a41`](https://redirect.github.com/nodejs/node/commit/e446517a41)] - **test**: refactor `test-runner-module-mocking` (Antoine du Hamel) [#​54233](https://redirect.github.com/nodejs/node/pull/54233) - \[[`782a6a05ef`](https://redirect.github.com/nodejs/node/commit/782a6a05ef)] - **test**: use assert.{s,deepS}trictEqual() (Luigi Pinca) [#​54208](https://redirect.github.com/nodejs/node/pull/54208) - \[[`d478db7adc`](https://redirect.github.com/nodejs/node/commit/d478db7adc)] - **test**: set test-structuredclone-jstransferable non-flaky (Stefan Stojanovic) [#​54115](https://redirect.github.com/nodejs/node/pull/54115) - \[[`c8587ec90d`](https://redirect.gith </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am every weekday" in timezone Europe/Madrid, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xMjAuMSIsInVwZGF0ZWRJblZlciI6IjM4LjEyMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
---|---|---|
.do | ||
.floe | ||
.github | ||
.husky | ||
.vscode | ||
.yarn/releases | ||
coverage | ||
docker | ||
docs/api/oas | ||
examples | ||
frontend | ||
scripts | ||
src | ||
test-migrations | ||
website | ||
.dockerignore | ||
.editorconfig | ||
.gitignore | ||
.lycheeignore | ||
.mergify.yml | ||
.node-version | ||
.npmignore | ||
.nvmrc | ||
.yarnrc.yml | ||
app.json | ||
biome.json | ||
CHANGELOG.md | ||
cliff.toml | ||
CODE_OF_CONDUCT.md | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
package.json | ||
README.md | ||
renovate.json | ||
tsconfig.json | ||
USERS.md | ||
yarn.lock |
What is Unleash?
Unleash is a powerful open source solution for feature management. It streamlines your development workflow, accelerates software delivery, and empowers teams to control how and when they roll out new features to end users. With Unleash, you can deploy code to production in smaller, more manageable releases at your own pace.
Feature flags in Unleash let you test your code with real production data, reducing the risk of negatively impacting your users' experience. It also enables your team to work on multiple features simultaneously without the need for separate feature branches.
Unleash is the most popular open source solution for feature flagging on GitHub. It supports 15 official client and server SDKs and over 15 community SDKs. You can even create your own SDK if you wish. Unleash is compatible with any language and framework.
Getting Started with Unleash
1. Setting Up Unleash
To get started with Unleash, you need git
and docker
installed on your machine.
Execute the following commands:
git clone git@github.com:Unleash/unleash.git
cd unleash
docker compose up -d
Then point your browser to localhost:4242
and log in using:
- username:
admin
- password:
unleash4all
If you'd rather run the source code in this repo directly via Node.js, see the step-by-step instructions to get up and running in the contributing guide.
2. Connect your SDK
Find your preferred SDK in our list of official SDKs and import it into your project. Follow the setup guides for your specific SDK.
If you use the docker compose file from the previous step, here's the configuration details you'll need to get going:
- For front-end SDKs, use:
- URL:
http://localhost:4242/api/frontend/
clientKey
:default:development.unleash-insecure-frontend-api-token
- URL:
- For server-side SDKs, use:
- Unleash API URL:
http://localhost:4242/api/
- API token:
default:development.unleash-insecure-api-token
- Unleash API URL:
If you use a different setup, your configuration details will most likely also be different.
Check a feature flag
Checking the state of a feature flag in your code is easy! The syntax will vary depending on your language, but all you need is a simple function call to check whether a flag is available. Here's how it might look in Java:
if (unleash.isEnabled("AwesomeFeature")) {
// do new, flashy thing
} else {
// do old, boring stuff
}
Run Unleash on a service?
If you don't want to run Unleash locally, we also provide easy deployment setups for Heroku and Digital Ocean:
Configure and run Unleash anywhere
The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for getting started with self-managed deployments, Unleash configuration options, or running Unleash locally via docker.
Online demo
Try out the Unleash online demo.
Community and help — sharing is caring
We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help.
💬 Join Unleash on Slack if you want ask open questions about Unleash, feature toggling or discuss these topics in general.
💻 Create a GitHub issue if you have found a bug or have ideas on how to improve Unleash.
📚 Visit the documentation for more in-depth descriptions, how-to guides, and more.
📖 Learn more about the principles of building and scaling feature flag solutions.
Contribute to Unleash
Unleash is the largest open source feature flag solution on GitHub. Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. Building it together with the community ensures that we build a product that solves real problems for real people. We'd love to have your help too: Please feel free to open issues or provide pull requests.
Check out the CONTRIBUTING.md file for contribution guidelines and the Unleash developer guide for tips on environment setup, running the tests, and running Unleash from source.
Contributors
Features our users love
Flexibility and adaptability
- Get an easy overview of all feature flags across all your environments, applications and services
- Use included activation strategies for most common use cases, or use a custom activation strategy to support any need you might have
- Organise feature flags by feature flag tags
- Canary releases / gradual rollouts
- Targeted releases: release features to specific users, IPs, or hostnames
- Kill switches
- A/B testing
- 2 environments
- Out-of-the-box integrations with popular tools (Slack, Microsoft Teams, Datadog) + integrate with anything with webhooks
- Dashboard for managing technical debt and stale flags
- API-first: everything can be automated. No exceptions.
- 12 official client SDKs, and ten community-contributed client SDKs
- Run it via Docker with the official Docker image or as a pure Node.js application
Security and performance
- Privacy by design (GDPR and Schrems II). End-user data never leaves your application.
- Audit logs
- Enforce OWASP's secure headers via the strict HTTPS-only mode
- Flexible hosting options: host it on premise or in the cloud (any cloud)
- Scale the Unleash Proxy independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance
Looking for more features?
If you're looking for one of the following features, please take a look at our Pro and Enterprise plans:
- role-based access control (RBAC)
- single sign-on (SSO)
- more environments
- feature flags project support
- advanced segmentation
- additional strategy constraints
- tighter security
- more hosting options (we can even host it for you!)
Architecture
Read more in the system overview section of the Unleash documentation.
Unleash SDKs
To connect your application to Unleash you'll need to use a client SDK for your programming language.
Official server-side SDKs:
Official front-end SDKs:
The front-end SDKs connects via the Unleash Proxy in order to ensure privacy, scalability and security.
- Android Proxy SDK
- Flutter Proxy SDK
- iOS Proxy SDK
- JavaScript Proxy SDK
- React Proxy SDK
- Svelte Proxy SDK
- Vue Proxy SDK
Community SDKs:
If none of the official SDKs fit your need, there's also a number of community-developed SDKs where you might find an implementation for your preferred language (such as Elixir, Dart, Clojure, and more).
Users of Unleash
Unleash is trusted by thousands of companies all over the world.
Proud Open-Source users: (send us a message if you want to add your logo here)
Migration guides
Unleash has evolved significantly over the past few years, and we know how hard it can be to keep software up to date. If you're using the current major version, upgrading shouldn't be an issue. If you're on a previous major version, check out the Unleash migration guide!
Want to know more about Unleash?
Videos and podcasts
- The Unleash YouTube channel
- Feature toggles — Why and how to add to your software — freeCodeCamp (YouTube)
- Feature flags with Unleash — The Code Kitchen (podcast)
- Feature Flags og Unleash med Fredrik Oseberg — Utviklerpodden (podcast; Norwegian)
Articles and more
- The Unleash Blog
- Designing the Rust Unleash API client — Medium
- FeatureToggle by Martin Fowler
- Feature toggling transient errors in load tests — nrkbeta
- An Interview with Ivar of Unleash — Console
- Unleash your features gradually, slideshow/presentation by Ivar, the creator of Unleash