{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":87114255,"defaultBranch":"master","name":"node","ownerLogin":"gabrielschulhof","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2017-04-03T19:46:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/976081?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711168165.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"a0ac741c0e3e361210146c1afd971d46b2a3efaa","ref":"refs/heads/move-to-emeritus","pushedAt":"2024-03-23T04:29:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"doc: move gabrielschulhof to TSC emeritus","shortMessageHtmlLink":"doc: move gabrielschulhof to TSC emeritus"}},{"before":"5bf152346617a9a36e44eb5af3f7cdd71583c147","after":"344099d4b4fa9655e5100a07f0a81cc86bf3750a","ref":"refs/heads/backport-feature-flags-and-nogc-types-2","pushedAt":"2024-03-01T05:50:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.\n\nPR-URL: https://github.com/nodejs/node/pull/50060\nReviewed-By: Chengzhong Wu \nReviewed-By: Vladimir Morozov \nReviewed-By: Michael Dawson \nBackport-PR-URL: https://github.com/nodejs/node/pull/51804\n(cherry picked from commit 7a216d5fd6331c98c117ef471d0c971c8d97f757)","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"b098fc1a4b1b4088236ade8ad17577764555a21e","after":"9a9266c297a565ba9f8bb63135ab259ded5bf7cd","ref":"refs/heads/tsfn-undo-nogc-finalizer","pushedAt":"2024-03-01T05:45:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: make tsfn accept napi_finalize once more\n\nThe thread-safe function's finalizer is not called in conjunction with\nthe garbage collection of a JS value. In fact, it keeps a strong\nreference to the JS function it is expected to call. Thus, it is safe\nto make calls that affect GC state from its body.","shortMessageHtmlLink":"node-api: make tsfn accept napi_finalize once more"}},{"before":"6957cd6ed068e0268a843068f272d563fdffe823","after":"b098fc1a4b1b4088236ade8ad17577764555a21e","ref":"refs/heads/tsfn-undo-nogc-finalizer","pushedAt":"2024-02-21T09:48:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: make tsfn accept napi_finalize once more\n\nThe thread-safe function's finalizer is not called in conjunction with\nthe garbage collection of a JS value. In fact, it keeps a strong\nreference to the JS function it is expected to call. Thus, it is safe\nto make calls that affect GC state from its body.","shortMessageHtmlLink":"node-api: make tsfn accept napi_finalize once more"}},{"before":"65a896675ee659599c89ef3c052dba0295e1d2e2","after":"5bf152346617a9a36e44eb5af3f7cdd71583c147","ref":"refs/heads/backport-feature-flags-and-nogc-types-2","pushedAt":"2024-02-19T18:17:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.\n\nPR-URL: https://github.com/nodejs/node/pull/50060\nReviewed-By: Chengzhong Wu \nReviewed-By: Vladimir Morozov \nReviewed-By: Michael Dawson \nBackport-PR-URL: https://github.com/nodejs/node/pull/51804\n(cherry picked from commit 7a216d5fd6331c98c117ef471d0c971c8d97f757)","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"263deaa99f8d94c5c184b56cdeabbc3a4b967f77","after":"65a896675ee659599c89ef3c052dba0295e1d2e2","ref":"refs/heads/backport-feature-flags-and-nogc-types-2","pushedAt":"2024-02-19T07:39:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.\n\nPR-URL: https://github.com/nodejs/node/pull/50060\nReviewed-By: Chengzhong Wu \nReviewed-By: Vladimir Morozov \nReviewed-By: Michael Dawson \nBackport-PR-URL: https://github.com/nodejs/node/pull/51804\n(cherry picked from commit 7a216d5fd6331c98c117ef471d0c971c8d97f757)","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":null,"after":"263deaa99f8d94c5c184b56cdeabbc3a4b967f77","ref":"refs/heads/backport-feature-flags-and-nogc-types-2","pushedAt":"2024-02-19T07:35:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.\n\nPR-URL: https://github.com/nodejs/node/pull/50060\nReviewed-By: Chengzhong Wu \nReviewed-By: Vladimir Morozov \nReviewed-By: Michael Dawson \n(cherry picked from commit 7a216d5fd6331c98c117ef471d0c971c8d97f757)","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":null,"after":"6957cd6ed068e0268a843068f272d563fdffe823","ref":"refs/heads/tsfn-undo-nogc-finalizer","pushedAt":"2024-02-18T17:07:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: make tsfn accept napi_finalize once more\n\nThe thread-safe function's finalizer is not called in conjunction with\nthe garbage collection of a JS value. In fact, it keeps a strong\nreference to the JS function it is expected to call. Thus, it is safe\nto make calls that affect GC state from its body.","shortMessageHtmlLink":"node-api: make tsfn accept napi_finalize once more"}},{"before":"e2773425f074dac279cdbde0df00b2d2859e9b74","after":"74ca50f543cfe7615753ce66af211b0bacd47750","ref":"refs/heads/uncaught-exception-doc-fix","pushedAt":"2024-02-01T17:39:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"doc: fix uncaught exception example","shortMessageHtmlLink":"doc: fix uncaught exception example"}},{"before":null,"after":"e2773425f074dac279cdbde0df00b2d2859e9b74","ref":"refs/heads/uncaught-exception-doc-fix","pushedAt":"2024-02-01T17:34:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"doc: fix uncaught exception example","shortMessageHtmlLink":"doc: fix uncaught exception example"}},{"before":"f5c44ae9ce56faf4c9b19350511c4e559cacdeaa","after":"0f5526fea95b421c8ce87de05dcb81b28d0cebd5","ref":"refs/heads/move-experimental-into-gyp","pushedAt":"2023-12-22T06:58:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: move NAPI_EXPERIMENTAL definition to gyp file","shortMessageHtmlLink":"node-api: move NAPI_EXPERIMENTAL definition to gyp file"}},{"before":null,"after":"f5c44ae9ce56faf4c9b19350511c4e559cacdeaa","ref":"refs/heads/move-experimental-into-gyp","pushedAt":"2023-12-22T00:36:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: move NAPI_EXPERIMENTAL definition to gyp file","shortMessageHtmlLink":"node-api: move NAPI_EXPERIMENTAL definition to gyp file"}},{"before":"708a319c39821b6a54d4d92641f44f43ecc99a81","after":"2eda855b7d0a7fc55b8c1a0cca4257a8c4645dca","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-12-09T09:52:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"ec70f126c91e33e9725bfbaa75c1c4ed7b60484e","after":"708a319c39821b6a54d4d92641f44f43ecc99a81","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-12-09T09:49:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"d7af7a6c7ea903016443a13bcfd129763fe3f4d2","after":"ec70f126c91e33e9725bfbaa75c1c4ed7b60484e","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-12-09T09:43:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"6d3d0026c5d1e185d1b42acd73ecdfde38a7bb00","after":"d7af7a6c7ea903016443a13bcfd129763fe3f4d2","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-12-09T09:42:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"fabdb5afbb5bcca278af51e7d16ca291974140f8","after":"6d3d0026c5d1e185d1b42acd73ecdfde38a7bb00","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-12-09T09:27:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":null,"after":"f20e16993b07f2d62347197605015aef4d37cce3","ref":"refs/heads/node-api-feature-flags","pushedAt":"2023-12-01T07:37:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: introduce experimental feature flags\n\nAdd a flag for each experimental feature to indicate its presence.\nThat way, if we compile with `NAPI_EXPERIMENTAL` turned on, we'll be\nable to distinguish between what `NAPI_EXPERIMENTAL` used to mean on an\nold version of the headers when compiling against such an old version,\nand what it means on a new version of Node.js.","shortMessageHtmlLink":"node-api: introduce experimental feature flags"}},{"before":"a4bdd92f5e006003bca4f7064e2cde73ce2ad452","after":"fabdb5afbb5bcca278af51e7d16ca291974140f8","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-11-13T07:09:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate nogc APIs from rest via type system\n\nWe define a new type called `node_api_nogc_env` as the `const` version\nof `napi_env` and `node_api_nogc_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_nogc_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_nogc_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_nogc_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs\nalready marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate nogc APIs from rest via type system"}},{"before":"f7b803c4b0ff6866f7e4d1a656799b7e3b6400c9","after":"63f04a0049527d86888570365bbc26c6a880a135","ref":"refs/heads/check-new-string-args","pushedAt":"2023-11-11T07:08:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: factor out common code into macros\n\n * Create macro for checking new string arguments.\n * Create macro for combining env check and inside-gc check.","shortMessageHtmlLink":"node-api: factor out common code into macros"}},{"before":"b139a03c3f7a1d6abe63b2b37162bf46bbeb3a45","after":"f7b803c4b0ff6866f7e4d1a656799b7e3b6400c9","ref":"refs/heads/check-new-string-args","pushedAt":"2023-11-11T07:06:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: factor out common code into macros\n * Create macro for checking new string arguments.\n * Create macro for combining env check and inside-gc check.","shortMessageHtmlLink":"node-api: factor out common code into macros"}},{"before":null,"after":"b139a03c3f7a1d6abe63b2b37162bf46bbeb3a45","ref":"refs/heads/check-new-string-args","pushedAt":"2023-11-10T23:01:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"src: factor out common checks into macros","shortMessageHtmlLink":"src: factor out common checks into macros"}},{"before":"ba34fd56be40bc9ab59b353d88bb70f6bfc5cd6b","after":"a4bdd92f5e006003bca4f7064e2cde73ce2ad452","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-27T16:21:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"present napi_get_cb_info and napi_*_callback_scope as js-capable","shortMessageHtmlLink":"present napi_get_cb_info and napi_*_callback_scope as js-capable"}},{"before":"18c076697025d12c0650b6e9ba1a1aa364d467df","after":"ba34fd56be40bc9ab59b353d88bb70f6bfc5cd6b","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-27T05:31:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"present napi_get_cb_info and napi_*_callback_scope as js-capable","shortMessageHtmlLink":"present napi_get_cb_info and napi_*_callback_scope as js-capable"}},{"before":"431c54b83e553b64921a74e807e373e2005551cd","after":"18c076697025d12c0650b6e9ba1a1aa364d467df","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-09T06:20:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"make gc check part of env check","shortMessageHtmlLink":"make gc check part of env check"}},{"before":"adc4664cb79e31e930caef1c87b9968e94a3e56d","after":"431c54b83e553b64921a74e807e373e2005551cd","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-08T06:27:47.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"add doc","shortMessageHtmlLink":"add doc"}},{"before":"5c2ffc432e22f515afff439b10d77fa232b4f6f5","after":"adc4664cb79e31e930caef1c87b9968e94a3e56d","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-06T18:59:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"s/pure/nogc/g","shortMessageHtmlLink":"s/pure/nogc/g"}},{"before":"42c4fad28ddb2fc78ac750b222c7e69f3b4c22b9","after":"5c2ffc432e22f515afff439b10d77fa232b4f6f5","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-06T07:16:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate pure and non-pure APIs via type system\n\nWe define a new type called `node_api_pure_env` as the `const` version\nof `napi_env` and `node_api_pure_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_pure_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_pure_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_pure_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_pure_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Additionally, and since this feature\nmodifies APIs already marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_PURE_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate pure and non-pure APIs via type system"}},{"before":"b5e0fedfab06f91be268a3ba90093384311d08e8","after":"42c4fad28ddb2fc78ac750b222c7e69f3b4c22b9","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-06T07:02:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate pure and non-pure APIs via type system\n\nWe define a new type called `node_api_pure_env` as the `const` version\nof `napi_env` and `node_api_pure_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_pure_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_pure_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_pure_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_pure_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Additionally, and since this feature\nmodifies APIs already marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_PURE_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate pure and non-pure APIs via type system"}},{"before":null,"after":"b5e0fedfab06f91be268a3ba90093384311d08e8","ref":"refs/heads/type-segregate-pure-and-js-capable-apis","pushedAt":"2023-10-06T06:42:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gabrielschulhof","name":"Gabriel Schulhof","path":"/gabrielschulhof","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/976081?s=80&v=4"},"commit":{"message":"node-api: segregate pure and non-pure APIs via type system\n\nWe define a new type called `node_api_pure_env` as the `const` version\nof `napi_env` and `node_api_pure_finalize` as a variant of\n`napi_finalize` that accepts a `node_api_pure_env` as its first\nargument.\n\nWe then modify those APIs which do not affect GC state as accepting a\n`node_api_pure_env`. APIs accepting finalizer callbacks are modified to\naccept `node_api_pure_finalize` callbacks. Thus, the only way to attach\na `napi_finalize` callback, wherein Node-APIs affecting GC state may be\ncalled is to call `node_api_post_finalizer` from a\n`node_api_pure_finalize` callback.\n\nIn keeping with the process of introducing new Node-APIs, this feature\nis guarded by `NAPI_EXPERIMENTAL`. Additionally, and since this feature\nmodifies APIs already marked as stable, it is additionally guared by\n`NODE_API_EXPERIMENTAL_PURE_ENV`, so as to provide a further buffer to\nadoption. Nevertheless, both guards must be removed upon releasing a\nnew version of Node-API.","shortMessageHtmlLink":"node-api: segregate pure and non-pure APIs via type system"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEHUsX4QA","startCursor":null,"endCursor":null}},"title":"Activity ยท gabrielschulhof/node"}