Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps-dev): bump @types/node from 20.12.7 to 20.12.8 in the typescript group #1733

Merged
merged 1 commit into from
May 6, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github May 6, 2024

Bumps the typescript group with 1 update: @types/node.

Updates @types/node from 20.12.7 to 20.12.8

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels May 6, 2024
@github-actions github-actions bot enabled auto-merge (squash) May 6, 2024 02:42
Copy link
Contributor

github-actions bot commented May 6, 2024

Diff between @types/node 20.12.7 and 20.12.8
diff --git a/README.md b/README.md
index v20.12.7..v20.12.8 100644
--- a/README.md
+++ b/README.md
@@ -9,5 +9,5 @@
 
 ### Additional Details
- * Last updated: Tue, 09 Apr 2024 21:07:24 GMT
+ * Last updated: Wed, 01 May 2024 18:36:06 GMT
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
 
diff --git a/assert.d.ts b/assert.d.ts
index v20.12.7..v20.12.8 100644
--- a/assert.d.ts
+++ b/assert.d.ts
@@ -2,5 +2,5 @@
  * The `node:assert` module provides a set of assertion functions for verifying
  * invariants.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/assert.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/assert.js)
  */
 declare module "assert" {
@@ -13,5 +13,5 @@
     namespace assert {
         /**
-         * Indicates the failure of an assertion. All errors thrown by the `node:assert`module will be instances of the `AssertionError` class.
+         * Indicates the failure of an assertion. All errors thrown by the `node:assert` module will be instances of the `AssertionError` class.
          */
         class AssertionError extends Error {
@@ -77,5 +77,5 @@
              * @param [fn='A no-op function']
              * @param [exact=1]
-             * @return that wraps `fn`.
+             * @return A function that wraps `fn`.
              */
             calls(exact?: number): () => void;
@@ -97,6 +97,5 @@
              * ```
              * @since v18.8.0, v16.18.0
-             * @param fn
-             * @return An Array with all the calls to a tracked function.
+             * @return An array with all the calls to a tracked function.
              */
             getCalls(fn: Function): CallTrackerCall[];
@@ -131,10 +130,9 @@
              * ```
              * @since v14.2.0, v12.19.0
-             * @return An Array of objects containing information about the wrapper functions returned by `calls`.
+             * @return An array of objects containing information about the wrapper functions returned by {@link tracker.calls()}.
              */
             report(): CallTrackerReportInformation[];
             /**
-             * Reset calls of the call tracker.
-             * If a tracked function is passed as an argument, the calls will be reset for it.
+             * Reset calls of the call tracker. If a tracked function is passed as an argument, the calls will be reset for it.
              * If no arguments are passed, all tracked functions will be reset.
              *
@@ -159,5 +157,5 @@
             reset(fn?: Function): void;
             /**
-             * Iterates through the list of functions passed to `tracker.calls()` and will throw an error for functions that
+             * Iterates through the list of functions passed to {@link tracker.calls()} and will throw an error for functions that
              * have not been called the expected number of times.
              *
@@ -233,8 +231,8 @@
         ): never;
         /**
-         * Tests if `value` is truthy. It is equivalent to`assert.equal(!!value, true, message)`.
+         * Tests if `value` is truthy. It is equivalent to `assert.equal(!!value, true, message)`.
          *
-         * If `value` is not truthy, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is `undefined`, a default
-         * error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
+         * If `value` is not truthy, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is `undefined`, a default
+         * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.
          * If no arguments are passed in at all `message` will be set to the string:`` 'No value argument passed to `assert.ok()`' ``.
          *
@@ -318,6 +316,6 @@
          * ```
          *
-         * If the values are not equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default
-         * error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
+         * If the values are not equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default
+         * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.
          * @since v0.1.21
          */
@@ -348,6 +346,6 @@
          * ```
          *
-         * If the values are equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default error
-         * message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
+         * If the values are equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default error
+         * message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown instead of the `AssertionError`.
          * @since v0.1.21
          */
@@ -415,6 +413,6 @@
          * ```
          *
-         * If the values are deeply equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a default
-         * error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
+         * If the values are deeply equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a default
+         * error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown
          * instead of the `AssertionError`.
          * @since v0.1.21
@@ -453,6 +451,6 @@
          * ```
          *
-         * If the values are not strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a
-         * default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
+         * If the values are not strictly equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a
+         * default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown
          * instead of the `AssertionError`.
          * @since v0.1.21
@@ -478,6 +476,6 @@
          * ```
          *
-         * If the values are strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a
-         * default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
+         * If the values are strictly equal, an `AssertionError` is thrown with a `message` property set equal to the value of the `message` parameter. If the `message` parameter is undefined, a
+         * default error message is assigned. If the `message` parameter is an instance of an `Error` then it will be thrown
          * instead of the `AssertionError`.
          * @since v0.1.21
@@ -520,5 +518,5 @@
          * validating against a string property. See below for examples.
          *
-         * If specified, `message` will be appended to the message provided by the`AssertionError` if the `fn` call fails to throw or in case the error validation
+         * If specified, `message` will be appended to the message provided by the `AssertionError` if the `fn` call fails to throw or in case the error validation
          * fails.
          *
@@ -650,6 +648,6 @@
          *
          * `error` cannot be a string. If a string is provided as the second
-         * argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Using the same
-         * message as the thrown error message is going to result in an`ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using
+         * argument, then `error` is assumed to be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Using the same
+         * message as the thrown error message is going to result in an `ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using
          * a string as the second argument gets considered:
          *
@@ -704,7 +702,7 @@
          * error messages as expressive as possible.
          *
-         * When `assert.doesNotThrow()` is called, it will immediately call the `fn`function.
+         * When `assert.doesNotThrow()` is called, it will immediately call the `fn` function.
          *
-         * If an error is thrown and it is the same type as that specified by the `error`parameter, then an `AssertionError` is thrown. If the error is of a
+         * If an error is thrown and it is the same type as that specified by the `error` parameter, then an `AssertionError` is thrown. If the error is of a
          * different type, or if the `error` parameter is undefined, the error is
          * propagated back to the caller.
@@ -742,5 +740,5 @@
          * ```
          *
-         * If an `AssertionError` is thrown and a value is provided for the `message`parameter, the value of `message` will be appended to the `AssertionError` message:
+         * If an `AssertionError` is thrown and a value is provided for the `message` parameter, the value of `message` will be appended to the `AssertionError` message:
          *
          * ```js
@@ -763,5 +761,5 @@
          * Throws `value` if `value` is not `undefined` or `null`. This is useful when
          * testing the `error` argument in callbacks. The stack trace contains all frames
-         * from the error passed to `ifError()` including the potential new frames for`ifError()` itself.
+         * from the error passed to `ifError()` including the potential new frames for `ifError()` itself.
          *
          * ```js
@@ -798,7 +796,7 @@
          * check that the promise is rejected.
          *
-         * If `asyncFn` is a function and it throws an error synchronously,`assert.rejects()` will return a rejected `Promise` with that error. If the
-         * function does not return a promise, `assert.rejects()` will return a rejected`Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases the error
-         * handler is skipped.
+         * If `asyncFn` is a function and it throws an error synchronously, `assert.rejects()` will return a rejected `Promise` with that error. If the
+         * function does not return a promise, `assert.rejects()` will return a rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v20.x/api/errors.html#err_invalid_return_value)
+         * error. In both cases the error handler is skipped.
          *
          * Besides the async nature to await the completion behaves identically to {@link throws}.
@@ -807,7 +805,7 @@
          * [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), a validation function,
          * an object where each property will be tested for, or an instance of error where
-         * each property will be tested for including the non-enumerable `message` and`name` properties.
+         * each property will be tested for including the non-enumerable `message` and `name` properties.
          *
-         * If specified, `message` will be the message provided by the `AssertionError` if the `asyncFn` fails to reject.
+         * If specified, `message` will be the message provided by the `{@link AssertionError}` if the `asyncFn` fails to reject.
          *
          * ```js
@@ -851,8 +849,7 @@
          * ```
          *
-         * `error` cannot be a string. If a string is provided as the second
-         * argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Please read the
-         * example in {@link throws} carefully if using a string as the second
-         * argument gets considered.
+         * `error` cannot be a string. If a string is provided as the second argument, then `error` is assumed to
+         * be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Please read the
+         * example in {@link throws} carefully if using a string as the second argument gets considered.
          * @since v10.0.0
          */
@@ -868,7 +865,7 @@
          * check that the promise is not rejected.
          *
-         * If `asyncFn` is a function and it throws an error synchronously,`assert.doesNotReject()` will return a rejected `Promise` with that error. If
+         * If `asyncFn` is a function and it throws an error synchronously, `assert.doesNotReject()` will return a rejected `Promise` with that error. If
          * the function does not return a promise, `assert.doesNotReject()` will return a
-         * rejected `Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases
+         * rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v20.x/api/errors.html#err_invalid_return_value) error. In both cases
          * the error handler is skipped.
          *
@@ -930,8 +927,8 @@
          * ```
          *
-         * If the values do not match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal
+         * If the values do not match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal
          * to the value of the `message` parameter. If the `message` parameter is
          * undefined, a default error message is assigned. If the `message` parameter is an
-         * instance of an `Error` then it will be thrown instead of the `AssertionError`.
+         * instance of an [Error](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
          * @since v13.6.0, v12.16.0
          */
@@ -953,8 +950,8 @@
          * ```
          *
-         * If the values do match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal
+         * If the values do match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal
          * to the value of the `message` parameter. If the `message` parameter is
          * undefined, a default error message is assigned. If the `message` parameter is an
-         * instance of an `Error` then it will be thrown instead of the `AssertionError`.
+         * instance of an [Error](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
          * @since v13.6.0, v12.16.0
          */
diff --git a/async_hooks.d.ts b/async_hooks.d.ts
index v20.12.7..v20.12.8 100644
--- a/async_hooks.d.ts
+++ b/async_hooks.d.ts
@@ -3,6 +3,6 @@
  * Other APIs that can cover most of its use cases include:
  *
- * * `AsyncLocalStorage` tracks async context
- * * `process.getActiveResourcesInfo()` tracks active resources
+ * * [`AsyncLocalStorage`](https://nodejs.org/docs/latest-v20.x/api/async_context.html#class-asynclocalstorage) tracks async context
+ * * [`process.getActiveResourcesInfo()`](https://nodejs.org/docs/latest-v20.x/api/process.html#processgetactiveresourcesinfo) tracks active resources
  *
  * The `node:async_hooks` module provides an API to track asynchronous resources.
@@ -13,5 +13,5 @@
  * ```
  * @experimental
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/async_hooks.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/async_hooks.js)
  */
 declare module "async_hooks" {
@@ -45,5 +45,5 @@
      *
      * Promise contexts may not get precise `executionAsyncIds` by default.
-     * See the section on `promise execution tracking`.
+     * See the section on [promise execution tracking](https://nodejs.org/docs/latest-v20.x/api/async_hooks.html#promise-execution-tracking).
      * @since v8.1.0
      * @return The `asyncId` of the current execution context. Useful to track when something calls.
@@ -118,5 +118,5 @@
      *
      * Promise contexts may not get valid `triggerAsyncId`s by default. See
-     * the section on `promise execution tracking`.
+     * the section on [promise execution tracking](https://nodejs.org/docs/latest-v20.x/api/async_hooks.html#promise-execution-tracking).
      * @return The ID of the resource responsible for calling the callback that is currently being executed.
      */
@@ -125,8 +125,8 @@
         /**
          * Called when a class is constructed that has the possibility to emit an asynchronous event.
-         * @param asyncId a unique ID for the async resource
-         * @param type the type of the async resource
-         * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created
-         * @param resource reference to the resource representing the async operation, needs to be released during destroy
+         * @param asyncId A unique ID for the async resource
+         * @param type The type of the async resource
+         * @param triggerAsyncId The unique ID of the async resource in whose execution context this async resource was created
+         * @param resource Reference to the resource representing the async operation, needs to be released during destroy
          */
         init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;
@@ -138,5 +138,7 @@
         before?(asyncId: number): void;
         /**
-         * Called immediately after the callback specified in before is completed.
+         * Called immediately after the callback specified in `before` is completed.
+         *
+         * If an uncaught exception occurs during execution of the callback, then `after` will run after the `'uncaughtException'` event is emitted or a `domain`'s handler runs.
          * @param asyncId the unique identifier assigned to the resource which has executed the callback.
          */
@@ -322,5 +324,5 @@
      * This class creates stores that stay coherent through asynchronous operations.
      *
-     * While you can create your own implementation on top of the `node:async_hooks`module, `AsyncLocalStorage` should be preferred as it is a performant and memory
+     * While you can create your own implementation on top of the `node:async_hooks` module, `AsyncLocalStorage` should be preferred as it is a performant and memory
      * safe implementation that involves significant optimizations that are non-obvious
      * to implement.
@@ -408,10 +410,10 @@
         /**
          * Disables the instance of `AsyncLocalStorage`. All subsequent calls
-         * to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
+         * to `asyncLocalStorage.getStore()` will return `undefined` until `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
          *
          * When calling `asyncLocalStorage.disable()`, all current contexts linked to the
          * instance will be exited.
          *
-         * Calling `asyncLocalStorage.disable()` is required before the`asyncLocalStorage` can be garbage collected. This does not apply to stores
+         * Calling `asyncLocalStorage.disable()` is required before the `asyncLocalStorage` can be garbage collected. This does not apply to stores
          * provided by the `asyncLocalStorage`, as those objects are garbage collected
          * along with the corresponding async resources.
@@ -466,5 +468,5 @@
          * Runs a function synchronously outside of a context and returns its
          * return value. The store is not accessible within the callback function or
-         * the asynchronous operations created within the callback. Any `getStore()`call done within the callback function will always return `undefined`.
+         * the asynchronous operations created within the callback. Any `getStore()` call done within the callback function will always return `undefined`.
          *
          * The optional `args` are passed to the callback function.
@@ -512,5 +514,5 @@
          * This means that if, for example, the context is entered within an event
          * handler subsequent event handlers will also run within that context unless
-         * specifically bound to another context with an `AsyncResource`. That is why`run()` should be preferred over `enterWith()` unless there are strong reasons
+         * specifically bound to another context with an `AsyncResource`. That is why `run()` should be preferred over `enterWith()` unless there are strong reasons
          * to use the latter method.
          *
diff --git a/buffer.d.ts b/buffer.d.ts
index v20.12.7..v20.12.8 100644
--- a/buffer.d.ts
+++ b/buffer.d.ts
@@ -42,5 +42,5 @@
  * const buf7 = Buffer.from('tést', 'latin1');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/buffer.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/buffer.js)
  */
 declare module "buffer" {
@@ -312,10 +312,10 @@
              * If `array` is an `Array`\-like object (that is, one with a `length` property of
              * type `number`), it is treated as if it is an array, unless it is a `Buffer` or
-             * a `Uint8Array`. This means all other `TypedArray` variants get treated as an`Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use `Buffer.copyBytesFrom()`.
+             * a `Uint8Array`. This means all other `TypedArray` variants get treated as an `Array`. To create a `Buffer` from the bytes backing a `TypedArray`, use `Buffer.copyBytesFrom()`.
              *
              * A `TypeError` will be thrown if `array` is not an `Array` or another type
              * appropriate for `Buffer.from()` variants.
              *
-             * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal`Buffer` pool like `Buffer.allocUnsafe()` does.
+             * `Buffer.from(array)` and `Buffer.from(string)` may also use the internal `Buffer` pool like `Buffer.allocUnsafe()` does.
              * @since v5.10.0
              */
@@ -421,7 +421,7 @@
             ): number;
             /**
-             * Returns a new `Buffer` which is the result of concatenating all the `Buffer`instances in the `list` together.
+             * Returns a new `Buffer` which is the result of concatenating all the `Buffer` instances in the `list` together.
              *
-             * If the list has no items, or if the `totalLength` is 0, then a new zero-length`Buffer` is returned.
+             * If the list has no items, or if the `totalLength` is 0, then a new zero-length `Buffer` is returned.
              *
              * If `totalLength` is not provided, it is calculated from the `Buffer` instances
@@ -477,5 +477,5 @@
             copyBytesFrom(view: NodeJS.TypedArray, offset?: number, length?: number): Buffer;
             /**
-             * Compares `buf1` to `buf2`, typically for the purpose of sorting arrays of`Buffer` instances. This is equivalent to calling `buf1.compare(buf2)`.
+             * Compares `buf1` to `buf2`, typically for the purpose of sorting arrays of `Buffer` instances. This is equivalent to calling `buf1.compare(buf2)`.
              *
              * ```js
@@ -2099,5 +2099,5 @@
              * ```
              *
-             * If `value` is not a string, number, or `Buffer`, this method will throw a`TypeError`. If `value` is a number, it will be coerced to a valid byte value,
+             * If `value` is not a string, number, or `Buffer`, this method will throw a `TypeError`. If `value` is a number, it will be coerced to a valid byte value,
              * an integer between 0 and 255.
              *
diff --git a/child_process.d.ts b/child_process.d.ts
index v20.12.7..v20.12.8 100644
--- a/child_process.d.ts
+++ b/child_process.d.ts
@@ -64,5 +64,5 @@
  * the synchronous methods can have significant impact on performance due to
  * stalling the event loop while spawned processes complete.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/child_process.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/child_process.js)
  */
 declare module "child_process" {
diff --git a/cluster.d.ts b/cluster.d.ts
index v20.12.7..v20.12.8 100644
--- a/cluster.d.ts
+++ b/cluster.d.ts
@@ -51,5 +51,5 @@
  *
  * On Windows, it is not yet possible to set up a named pipe server in a worker.
- * @see [source](https://github.com/nodejs/node/blob/v20.11.1/lib/cluster.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/cluster.js)
  */
 declare module "cluster" {
diff --git a/console.d.ts b/console.d.ts
index v20.12.7..v20.12.8 100644
--- a/console.d.ts
+++ b/console.d.ts
@@ -55,5 +55,5 @@
  * // Prints: Danger Will Robinson! Danger!, to err
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.12.1/lib/console.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/console.js)
  */
 declare module "console" {
diff --git a/crypto.d.ts b/crypto.d.ts
index v20.12.7..v20.12.8 100644
--- a/crypto.d.ts
+++ b/crypto.d.ts
@@ -15,5 +15,5 @@
  * //   c0fa1bc00531bd78ef38c628449c5102aeabd49b5dc3a2a516ea6ea959d6658e
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/crypto.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/crypto.js)
  */
 declare module "crypto" {
@@ -28,5 +28,5 @@
      *
      * The `node:crypto` module provides the `Certificate` class for working with SPKAC
-     * data. The most common usage is handling output generated by the HTML5`<keygen>` element. Node.js uses [OpenSSL's SPKAC
+     * data. The most common usage is handling output generated by the HTML5 `<keygen>` element. Node.js uses [OpenSSL's SPKAC
      * implementation](https://www.openssl.org/docs/man3.0/man1/openssl-spkac.html) internally.
      * @since v0.11.8
@@ -3345,5 +3345,5 @@
     ): void;
     /**
-     * Verifies the given signature for `data` using the given key and algorithm. If`algorithm` is `null` or `undefined`, then the algorithm is dependent upon the
+     * Verifies the given signature for `data` using the given key and algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is dependent upon the
      * key type (especially Ed25519 and Ed448).
      *
@@ -3379,4 +3379,39 @@
      */
     function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer;
+    /**
+     * A utility for creating one-shot hash digests of data. It can be faster than the object-based `crypto.createHash()` when hashing a smaller amount of data
+     * (<= 5MB) that's readily available. If the data can be big or if it is streamed, it's still recommended to use `crypto.createHash()` instead. The `algorithm`
+     * is dependent on the available algorithms supported by the version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc. On recent releases
+     * of OpenSSL, `openssl list -digest-algorithms` will display the available digest algorithms.
+     *
+     * Example:
+     *
+     * ```js
+     * const crypto = require('node:crypto');
+     * const { Buffer } = require('node:buffer');
+     *
+     * // Hashing a string and return the result as a hex-encoded string.
+     * const string = 'Node.js';
+     * // 10b3493287f831e81a438811a1ffba01f8cec4b7
+     * console.log(crypto.hash('sha1', string));
+     *
+     * // Encode a base64-encoded string into a Buffer, hash it and return
+     * // the result as a buffer.
+     * const base64 = 'Tm9kZS5qcw==';
+     * // <Buffer 10 b3 49 32 87 f8 31 e8 1a 43 88 11 a1 ff ba 01 f8 ce c4 b7>
+     * console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer'));
+     * ```
+     * @since v21.7.0, v20.12.0
+     * @param data When `data` is a string, it will be encoded as UTF-8 before being hashed. If a different input encoding is desired for a string input, user
+     *             could encode the string into a `TypedArray` using either `TextEncoder` or `Buffer.from()` and passing the encoded `TypedArray` into this API instead.
+     * @param [outputEncoding='hex'] [Encoding](https://nodejs.org/docs/latest-v20.x/api/buffer.html#buffers-and-character-encodings) used to encode the returned digest.
+     */
+    function hash(algorithm: string, data: BinaryLike, outputEncoding?: BinaryToTextEncoding): string;
+    function hash(algorithm: string, data: BinaryLike, outputEncoding: "buffer"): Buffer;
+    function hash(
+        algorithm: string,
+        data: BinaryLike,
+        outputEncoding?: BinaryToTextEncoding | "buffer",
+    ): string | Buffer;
     type CipherMode = "cbc" | "ccm" | "cfb" | "ctr" | "ecb" | "gcm" | "ocb" | "ofb" | "stream" | "wrap" | "xts";
     interface CipherInfoOptions {
diff --git a/dgram.d.ts b/dgram.d.ts
index v20.12.7..v20.12.8 100644
--- a/dgram.d.ts
+++ b/dgram.d.ts
@@ -24,5 +24,5 @@
  * // Prints: server listening 0.0.0.0:41234
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/dgram.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/dgram.js)
  */
 declare module "dgram" {
@@ -67,5 +67,5 @@
      * and port can be retrieved using `socket.address().address` and `socket.address().port`.
      *
-     * If the `signal` option is enabled, calling `.abort()` on the corresponding`AbortController` is similar to calling `.close()` on the socket:
+     * If the `signal` option is enabled, calling `.abort()` on the corresponding `AbortController` is similar to calling `.close()` on the socket:
      *
      * ```js
@@ -94,5 +94,5 @@
     class Socket extends EventEmitter {
         /**
-         * Tells the kernel to join a multicast group at the given `multicastAddress` and`multicastInterface` using the `IP_ADD_MEMBERSHIP` socket option. If the`multicastInterface` argument is not
+         * Tells the kernel to join a multicast group at the given `multicastAddress` and `multicastInterface` using the `IP_ADD_MEMBERSHIP` socket option. If the `multicastInterface` argument is not
          * specified, the operating system will choose
          * one interface and will add membership to it. To add membership to every
@@ -123,5 +123,5 @@
         /**
          * Returns an object containing the address information for a socket.
-         * For UDP sockets, this object will contain `address`, `family`, and `port`properties.
+         * For UDP sockets, this object will contain `address`, `family`, and `port` properties.
          *
          * This method throws `EBADF` if called on an unbound socket.
@@ -134,8 +134,8 @@
          * specified or is `0`, the operating system will attempt to bind to a
          * random port. If `address` is not specified, the operating system will
-         * attempt to listen on all addresses. Once binding is complete, a`'listening'` event is emitted and the optional `callback` function is
+         * attempt to listen on all addresses. Once binding is complete, a `'listening'` event is emitted and the optional `callback` function is
          * called.
          *
-         * Specifying both a `'listening'` event listener and passing a`callback` to the `socket.bind()` method is not harmful but not very
+         * Specifying both a `'listening'` event listener and passing a `callback` to the `socket.bind()` method is not harmful but not very
          * useful.
          *
@@ -207,5 +207,5 @@
         disconnect(): void;
         /**
-         * Instructs the kernel to leave a multicast group at `multicastAddress` using the`IP_DROP_MEMBERSHIP` socket option. This method is automatically called by the
+         * Instructs the kernel to leave a multicast group at `multicastAddress` using the `IP_DROP_MEMBERSHIP` socket option. This method is automatically called by the
          * kernel when the socket is closed or the process terminates, so most apps will
          * never have reason to call this.
@@ -270,5 +270,5 @@
          * the `offset` and `length` specify the offset within the `Buffer` where the
          * message begins and the number of bytes in the message, respectively.
-         * If `msg` is a `String`, then it is automatically converted to a `Buffer`with `'utf8'` encoding. With messages that
+         * If `msg` is a `String`, then it is automatically converted to a `Buffer` with `'utf8'` encoding. With messages that
          * contain multi-byte characters, `offset` and `length` will be calculated with
          * respect to `byte length` and not the character position.
@@ -288,5 +288,5 @@
          * Node.js event loop.
          *
-         * The only way to know for sure that the datagram has been sent is by using a`callback`. If an error occurs and a `callback` is given, the error will be
+         * The only way to know for sure that the datagram has been sent is by using a `callback`. If an error occurs and a `callback` is given, the error will be
          * passed as the first argument to the `callback`. If a `callback` is not given,
          * the error is emitted as an `'error'` event on the `socket` object.
@@ -330,5 +330,5 @@
          * however, sending multiple buffers is faster.
          *
-         * Example of sending a UDP packet using a socket connected to a port on`localhost`:
+         * Example of sending a UDP packet using a socket connected to a port on `localhost`:
          *
          * ```js
@@ -520,8 +520,8 @@
         unref(): this;
         /**
-         * Tells the kernel to join a source-specific multicast channel at the given`sourceAddress` and `groupAddress`, using the `multicastInterface` with the`IP_ADD_SOURCE_MEMBERSHIP` socket
+         * Tells the kernel to join a source-specific multicast channel at the given `sourceAddress` and `groupAddress`, using the `multicastInterface` with the `IP_ADD_SOURCE_MEMBERSHIP` socket
          * option. If the `multicastInterface` argument
          * is not specified, the operating system will choose one interface and will add
-         * membership to it. To add membership to every available interface, call`socket.addSourceSpecificMembership()` multiple times, once per interface.
+         * membership to it. To add membership to every available interface, call `socket.addSourceSpecificMembership()` multiple times, once per interface.
          *
          * When called on an unbound socket, this method will implicitly bind to a random
@@ -531,5 +531,5 @@
         addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string): void;
         /**
-         * Instructs the kernel to leave a source-specific multicast channel at the given`sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP`socket option. This method is
+         * Instructs the kernel to leave a source-specific multicast channel at the given `sourceAddress` and `groupAddress` using the `IP_DROP_SOURCE_MEMBERSHIP` socket option. This method is
          * automatically called by the kernel when the
          * socket is closed or the process terminates, so most apps will never have
diff --git a/diagnostics_channel.d.ts b/diagnostics_channel.d.ts
index v20.12.7..v20.12.8 100644
--- a/diagnostics_channel.d.ts
+++ b/diagnostics_channel.d.ts
@@ -21,5 +21,5 @@
  * other modules.
  * @since v15.1.0, v14.17.0
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/diagnostics_channel.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/diagnostics_channel.js)
  */
 declare module "diagnostics_channel" {
@@ -99,5 +99,5 @@
     /**
      * Creates a `TracingChannel` wrapper for the given `TracingChannel Channels`. If a name is given, the corresponding tracing
-     * channels will be created in the form of `tracing:${name}:${eventType}` where`eventType` corresponds to the types of `TracingChannel Channels`.
+     * channels will be created in the form of `tracing:${name}:${eventType}` where `eventType` corresponds to the types of `TracingChannel Channels`.
      *
      * ```js
@@ -336,5 +336,5 @@
      * The class `TracingChannel` is a collection of `TracingChannel Channels` which
      * together express a single traceable action. It is used to formalize and
-     * simplify the process of producing events for tracing application flow.{@link tracingChannel} is used to construct a`TracingChannel`. As with `Channel` it is recommended to create and reuse a
+     * simplify the process of producing events for tracing application flow. {@link tracingChannel} is used to construct a `TracingChannel`. As with `Channel` it is recommended to create and reuse a
      * single `TracingChannel` at the top-level of the file rather than creating them
      * dynamically.
diff --git a/dns.d.ts b/dns.d.ts
index v20.12.7..v20.12.8 100644
--- a/dns.d.ts
+++ b/dns.d.ts
@@ -43,5 +43,5 @@
  *
  * See the [Implementation considerations section](https://nodejs.org/docs/latest-v20.x/api/dns.html#implementation-considerations) for more information.
- * @see [source](https://github.com/nodejs/node/blob/v20.11.1/lib/dns.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/dns.js)
  */
 declare module "dns" {
diff --git a/domain.d.ts b/domain.d.ts
index v20.12.7..v20.12.8 100644
--- a/domain.d.ts
+++ b/domain.d.ts
@@ -10,8 +10,8 @@
  * single group. If any of the event emitters or callbacks registered to a
  * domain emit an `'error'` event, or throw an error, then the domain object
- * will be notified, rather than losing the context of the error in the`process.on('uncaughtException')` handler, or causing the program to
+ * will be notified, rather than losing the context of the error in the `process.on('uncaughtException')` handler, or causing the program to
  * exit immediately with an error code.
  * @deprecated Since v1.4.2 - Deprecated
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/domain.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/domain.js)
  */
 declare module "domain" {
@@ -30,5 +30,5 @@
         members: Array<EventEmitter | NodeJS.Timer>;
         /**
-         * The `enter()` method is plumbing used by the `run()`, `bind()`, and`intercept()` methods to set the active domain. It sets `domain.active` and`process.domain` to the domain, and implicitly
+         * The `enter()` method is plumbing used by the `run()`, `bind()`, and `intercept()` methods to set the active domain. It sets `domain.active` and `process.domain` to the domain, and implicitly
          * pushes the domain onto the domain
          * stack managed by the domain module (see {@link exit} for details on the
@@ -48,5 +48,5 @@
          * of asynchronous calls and I/O operations bound to a domain.
          *
-         * If there are multiple, nested domains bound to the current execution context,`exit()` will exit any domains nested within this domain.
+         * If there are multiple, nested domains bound to the current execution context, `exit()` will exit any domains nested within this domain.
          *
          * Calling `exit()` changes only the active domain, and does not alter the domain
diff --git a/events.d.ts b/events.d.ts
index v20.12.7..v20.12.8 100644
--- a/events.d.ts
+++ b/events.d.ts
@@ -33,5 +33,5 @@
  * myEmitter.emit('event');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/events.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/events.js)
  */
 declare module "events" {
@@ -159,5 +159,5 @@
          * ```
          *
-         * The special handling of the `'error'` event is only used when `events.once()`is used to wait for another event. If `events.once()` is used to wait for the
+         * The special handling of the `'error'` event is only used when `events.once()` is used to wait for another event. If `events.once()` is used to wait for the
          * '`error'` event itself, then it is treated as any other kind of event without
          * special handling:
@@ -267,5 +267,5 @@
          * @since v13.6.0, v12.16.0
          * @param eventName The name of the event being listened for
-         * @return that iterates `eventName` events emitted by the `emitter`
+         * @return An `AsyncIterator` that iterates `eventName` events emitted by the `emitter`
          */
         static on(
@@ -275,5 +275,5 @@
         ): AsyncIterableIterator<any>;
         /**
-         * A class method that returns the number of listeners for the given `eventName`registered on the given `emitter`.
+         * A class method that returns the number of listeners for the given `eventName` registered on the given `emitter`.
          *
          * ```js
@@ -400,7 +400,7 @@
         static addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable;
         /**
-         * This symbol shall be used to install a listener for only monitoring `'error'`events. Listeners installed using this symbol are called before the regular`'error'` listeners are called.
+         * This symbol shall be used to install a listener for only monitoring `'error'` events. Listeners installed using this symbol are called before the regular `'error'` listeners are called.
          *
-         * Installing a listener using this symbol does not change the behavior once an`'error'` event is emitted. Therefore, the process will still crash if no
+         * Installing a listener using this symbol does not change the behavior once an `'error'` event is emitted. Therefore, the process will still crash if no
          * regular `'error'` listener is installed.
          * @since v13.6.0, v12.17.0
@@ -425,8 +425,9 @@
          * event. This limit can be changed for individual `EventEmitter` instances
          * using the `emitter.setMaxListeners(n)` method. To change the default
-         * for _all_`EventEmitter` instances, the `events.defaultMaxListeners`property can be used. If this value is not a positive number, a `RangeError`is thrown.
+         * for _all_`EventEmitter` instances, the `events.defaultMaxListeners` property
+         * can be used. If this value is not a positive number, a `RangeError` is thrown.
          *
          * Take caution when setting the `events.defaultMaxListeners` because the
-         * change affects _all_`EventEmitter` instances, including those created before
+         * change affects _all_ `EventEmitter` instances, including those created before
          * the change is made. However, calling `emitter.setMaxListeners(n)` still has
          * precedence over `events.defaultMaxListeners`.
@@ -434,5 +435,6 @@
          * This is not a hard limit. The `EventEmitter` instance will allow
          * more listeners to be added but will output a trace warning to stderr indicating
-         * that a "possible EventEmitter memory leak" has been detected. For any single`EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()`methods can be used to
+         * that a "possible EventEmitter memory leak" has been detected. For any single
+         * `EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` methods can be used to
          * temporarily avoid this warning:
          *
@@ -558,8 +560,8 @@
                 addListener<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
                 /**
-                 * Adds the `listener` function to the end of the listeners array for the
-                 * event named `eventName`. No checks are made to see if the `listener` has
-                 * already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple
-                 * times.
+                 * Adds the `listener` function to the end of the listeners array for the event
+                 * named `eventName`. No checks are made to see if the `listener` has already
+                 * been added. Multiple calls passing the same combination of `eventName` and
+                 * `listener` will result in the `listener` being added, and called, multiple times.
                  *
                  * ```js
@@ -571,5 +573,5 @@
                  * Returns a reference to the `EventEmitter`, so that calls can be chained.
                  *
-                 * By default, event listeners are invoked in the order they are added. The`emitter.prependListener()` method can be used as an alternative to add the
+                 * By default, event listeners are invoked in the order they are added. The `emitter.prependListener()` method can be used as an alternative to add the
                  * event listener to the beginning of the listeners array.
                  *
@@ -590,5 +592,5 @@
                 on<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
                 /**
-                 * Adds a **one-time**`listener` function for the event named `eventName`. The
+                 * Adds a **one-time** `listener` function for the event named `eventName`. The
                  * next time `eventName` is triggered, this listener is removed and then invoked.
                  *
@@ -601,5 +603,5 @@
                  * Returns a reference to the `EventEmitter`, so that calls can be chained.
                  *
-                 * By default, event listeners are invoked in the order they are added. The`emitter.prependOnceListener()` method can be used as an alternative to add the
+                 * By default, event listeners are invoked in the order they are added. The `emitter.prependOnceListener()` method can be used as an alternative to add the
                  * event listener to the beginning of the listeners array.
                  *
@@ -620,5 +622,5 @@
                 once<K>(eventName: Key<K, T>, listener: Listener1<K, T>): this;
                 /**
-                 * Removes the specified `listener` from the listener array for the event named`eventName`.
+                 * Removes the specified `listener` from the listener array for the event named `eventName`.
                  *
                  * ```js
@@ -637,5 +639,5 @@
                  *
                  * Once an event is emitted, all listeners attached to it at the
-                 * time of emitting are called in order. This implies that any`removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution
+                 * time of emitting are called in order. This implies that any `removeListener()` or `removeAllListeners()` calls _after_ emitting and _before_ the last listener finishes execution
                  * will not remove them from`emit()` in progress. Subsequent events behave as expected.
                  *
@@ -680,5 +682,5 @@
                  * When a single function has been added as a handler multiple times for a single
                  * event (as in the example below), `removeListener()` will remove the most
-                 * recently added instance. In the example the `once('ping')`listener is removed:
+                 * recently added instance. In the example the `once('ping')` listener is removed:
                  *
                  * ```js
@@ -722,5 +724,5 @@
                  * added for a particular event. This is a useful default that helps finding
                  * memory leaks. The `emitter.setMaxListeners()` method allows the limit to be
-                 * modified for this specific `EventEmitter` instance. The value can be set to`Infinity` (or `0`) to indicate an unlimited number of listeners.
+                 * modified for this specific `EventEmitter` instance. The value can be set to `Infinity` (or `0`) to indicate an unlimited number of listeners.
                  *
                  * Returns a reference to the `EventEmitter`, so that calls can be chained.
@@ -779,5 +781,5 @@
                 rawListeners<K>(eventName: Key<K, T>): Array<Listener2<K, T>>;
                 /**
-                 * Synchronously calls each of the listeners registered for the event named`eventName`, in the order they were registered, passing the supplied arguments
+                 * Synchronously calls each of the listeners registered for the event named `eventName`, in the order they were registered, passing the supplied arguments
                  * to each.
                  *
@@ -831,6 +833,6 @@
                  * Adds the `listener` function to the _beginning_ of the listeners array for the
                  * event named `eventName`. No checks are made to see if the `listener` has
-                 * already been added. Multiple calls passing the same combination of `eventName`and `listener` will result in the `listener` being added, and called, multiple
-                 * times.
+                 * already been added. Multiple calls passing the same combination of `eventName`
+                 * and `listener` will result in the `listener` being added, and called, multiple times.
                  *
                  * ```js
diff --git a/fs.d.ts b/fs.d.ts
index v20.12.7..v20.12.8 100644
--- a/fs.d.ts
+++ b/fs.d.ts
@@ -17,5 +17,5 @@
  * All file system operations have synchronous, callback, and promise-based
  * forms, and are accessible using both CommonJS syntax and ES6 Modules (ESM).
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/fs.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/fs.js)
  */
 declare module "fs" {
@@ -1440,5 +1440,5 @@
      * (much) higher than what the native [`realpath(3)`](http://man7.org/linux/man-pages/man3/realpath.3.html) implementation supports.
      *
-     * The `callback` gets two arguments `(err, resolvedPath)`. May use `process.cwd`to resolve relative paths.
+     * The `callback` gets two arguments `(err, resolvedPath)`. May use `process.cwd` to resolve relative paths.
      *
      * Only paths that can be converted to UTF8 strings are supported.
@@ -1684,5 +1684,5 @@
     }
     /**
-     * Asynchronously removes files and directories (modeled on the standard POSIX `rm`utility). No arguments other than a possible exception are given to the
+     * Asynchronously removes files and directories (modeled on the standard POSIX `rm` utility). No arguments other than a possible exception are given to the
      * completion callback.
      * @since v14.14.0
@@ -1697,5 +1697,5 @@
     }
     /**
-     * Synchronously removes files and directories (modeled on the standard POSIX `rm`utility). Returns `undefined`.
+     * Synchronously removes files and directories (modeled on the standard POSIX `rm` utility). Returns `undefined`.
      * @since v14.14.0
      */
@@ -1722,5 +1722,5 @@
      *
      * The optional `options` argument can be an integer specifying `mode` (permission
-     * and sticky bits), or an object with a `mode` property and a `recursive`property indicating whether parent directories should be created. Calling`fs.mkdir()` when `path` is a directory that
+     * and sticky bits), or an object with a `mode` property and a `recursive` property indicating whether parent directories should be created. Calling `fs.mkdir()` when `path` is a directory that
      * exists results in an error only
      * when `recursive` is false. If `recursive` is false and the directory exists,
@@ -1830,5 +1830,5 @@
     }
     /**
-     * Synchronously creates a directory. Returns `undefined`, or if `recursive` is`true`, the first directory path created.
+     * Synchronously creates a directory. Returns `undefined`, or if `recursive` is `true`, the first directory path created.
      * This is the synchronous version of {@link mkdir}.
      *
@@ -1867,5 +1867,5 @@
      * Creates a unique temporary directory.
      *
-     * Generates six random characters to be appended behind a required`prefix` to create a unique temporary directory. Due to platform
+     * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. Due to platform
      * inconsistencies, avoid trailing `X` characters in `prefix`. Some platforms,
      * notably the BSDs, can return more than six random characters, and replace
@@ -2004,5 +2004,5 @@
     export function mkdtempSync(prefix: string, options?: EncodingOption): string | Buffer;
     /**
-     * Reads the contents of a directory. The callback gets two arguments `(err, files)`where `files` is an array of the names of the files in the directory excluding`'.'` and `'..'`.
+     * Reads the contents of a directory. The callback gets two arguments `(err, files)` where `files` is an array of the names of the files in the directory excluding `'.'` and `'..'`.
      *
      * See the POSIX [`readdir(3)`](http://man7.org/linux/man-pages/man3/readdir.3.html) documentation for more details.
@@ -2298,6 +2298,6 @@
      * The `atime` and `mtime` arguments follow these rules:
      *
-     * * Values can be either numbers representing Unix epoch time in seconds,`Date`s, or a numeric string like `'123456789.0'`.
-     * * If the value can not be converted to a number, or is `NaN`, `Infinity`, or`-Infinity`, an `Error` will be thrown.
+     * * Values can be either numbers representing Unix epoch time in seconds, `Date`s, or a numeric string like `'123456789.0'`.
+     * * If the value can not be converted to a number, or is `NaN`, `Infinity`, or `-Infinity`, an `Error` will be thrown.
      * @since v0.4.2
      */
@@ -2372,5 +2372,5 @@
      * at the current position. See [`pwrite(2)`](http://man7.org/linux/man-pages/man2/pwrite.2.html).
      *
-     * The callback will be given three arguments `(err, bytesWritten, buffer)` where`bytesWritten` specifies how many _bytes_ were written from `buffer`.
+     * The callback will be given three arguments `(err, bytesWritten, buffer)` where `bytesWritten` specifies how many _bytes_ were written from `buffer`.
      *
      * If this method is invoked as its `util.promisify()` ed version, it returns
@@ -2821,5 +2821,5 @@
      * string. Otherwise it returns a buffer.
      *
-     * Similar to {@link readFile}, when the path is a directory, the behavior of`fs.readFileSync()` is platform-specific.
+     * Similar to {@link readFile}, when the path is a directory, the behavior of `fs.readFileSync()` is platform-specific.
      *
      * ```js
@@ -2891,5 +2891,5 @@
      * file if it already exists. `data` can be a string or a buffer.
      *
-     * When `file` is a file descriptor, the behavior is similar to calling`fs.write()` directly (which is recommended). See the notes below on using
+     * When `file` is a file descriptor, the behavior is similar to calling `fs.write()` directly (which is recommended). See the notes below on using
      * a file descriptor.
      *
@@ -3140,5 +3140,5 @@
      * time the file is accessed.
      *
-     * The `options` argument may be omitted. If provided, it should be an object. The`options` object may contain a boolean named `persistent` that indicates
+     * The `options` argument may be omitted. If provided, it should be an object. The `options` object may contain a boolean named `persistent` that indicates
      * whether the process should continue to run as long as files are being watched.
      * The `options` object may specify an `interval` property indicating how often the
@@ -3169,5 +3169,5 @@
      * v0.10.
      *
-     * Using {@link watch} is more efficient than `fs.watchFile` and`fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and`fs.unwatchFile` when possible.
+     * Using {@link watch} is more efficient than `fs.watchFile` and `fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and `fs.unwatchFile` when possible.
      *
      * When a file being watched by `fs.watchFile()` disappears and reappears,
@@ -3191,5 +3191,5 @@
      * time the file is accessed.
      *
-     * The `options` argument may be omitted. If provided, it should be an object. The`options` object may contain a boolean named `persistent` that indicates
+     * The `options` argument may be omitted. If provided, it should be an object. The `options` object may contain a boolean named `persistent` that indicates
      * whether the process should continue to run as long as files are being watched.
      * The `options` object may specify an `interval` property indicating how often the
@@ -3220,5 +3220,5 @@
      * v0.10.
      *
-     * Using {@link watch} is more efficient than `fs.watchFile` and`fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and`fs.unwatchFile` when possible.
+     * Using {@link watch} is more efficient than `fs.watchFile` and `fs.unwatchFile`. `fs.watch` should be used instead of `fs.watchFile` and `fs.unwatchFile` when possible.
      *
      * When a file being watched by `fs.watchFile()` disappears and reappears,
@@ -3264,5 +3264,5 @@
      * no-op, not an error.
      *
-     * Using {@link watch} is more efficient than `fs.watchFile()` and`fs.unwatchFile()`. `fs.watch()` should be used instead of `fs.watchFile()`and `fs.unwatchFile()` when possible.
+     * Using {@link watch} is more efficient than `fs.watchFile()` and `fs.unwatchFile()`. `fs.watch()` should be used instead of `fs.watchFile()` and `fs.unwatchFile()` when possible.
      * @since v0.1.31
      * @param listener Optional, a listener previously attached using `fs.watchFile()`
@@ -3292,5 +3292,5 @@
      * disappears in the directory.
      *
-     * The listener callback is attached to the `'change'` event fired by `fs.FSWatcher`, but it is not the same thing as the `'change'` value of`eventType`.
+     * The listener callback is attached to the `'change'` event fired by `fs.FSWatcher`, but it is not the same thing as the `'change'` value of `eventType`.
      *
      * If a `signal` is passed, aborting the corresponding AbortController will close
@@ -3352,9 +3352,9 @@
      *
      * **The parameters for this callback are not consistent with other Node.js**
-     * **callbacks.** Normally, the first parameter to a Node.js callback is an `err`parameter, optionally followed by other parameters. The `fs.exists()` callback
+     * **callbacks.** Normally, the first parameter to a Node.js callback is an `err` parameter, optionally followed by other parameters. The `fs.exists()` callback
      * has only one boolean parameter. This is one reason `fs.access()` is recommended
      * instead of `fs.exists()`.
      *
-     * Using `fs.exists()` to check for the existence of a file before calling`fs.open()`, `fs.readFile()`, or `fs.writeFile()` is not recommended. Doing
+     * Using `fs.exists()` to check for the existence of a file before calling `fs.open()`, `fs.readFile()`, or `fs.writeFile()` is not recommended. Doing
      * so introduces a race condition, since other processes may change the file's
      * state between the two calls. Instead, user code should open/read/write the
@@ -3483,5 +3483,5 @@
      * this API: {@link exists}.
      *
-     * `fs.exists()` is deprecated, but `fs.existsSync()` is not. The `callback`parameter to `fs.exists()` accepts parameters that are inconsistent with other
+     * `fs.exists()` is deprecated, but `fs.existsSync()` is not. The `callback` parameter to `fs.exists()` accepts parameters that are inconsistent with other
      * Node.js callbacks. `fs.existsSync()` does not use a callback.
      *
@@ -3612,5 +3612,5 @@
      * Tests a user's permissions for the file or directory specified by `path`.
      * The `mode` argument is an optional integer that specifies the accessibility
-     * checks to be performed. `mode` should be either the value `fs.constants.F_OK`or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`,`fs.constants.W_OK`, and `fs.constants.X_OK`
+     * checks to be performed. `mode` should be either the value `fs.constants.F_OK`or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and `fs.constants.X_OK`
      * (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for
      * possible values of `mode`.
@@ -3618,5 +3618,5 @@
      * The final argument, `callback`, is a callback function that is invoked with
      * a possible error argument. If any of the accessibility checks fail, the error
-     * argument will be an `Error` object. The following examples check if`package.json` exists, and if it is readable or writable.
+     * argument will be an `Error` object. The following examples check if `package.json` exists, and if it is readable or writable.
      *
      * ```js
@@ -3646,5 +3646,5 @@
      * ```
      *
-     * Do not use `fs.access()` to check for the accessibility of a file before calling`fs.open()`, `fs.readFile()`, or `fs.writeFile()`. Doing
+     * Do not use `fs.access()` to check for the accessibility of a file before calling `fs.open()`, `fs.readFile()`, or `fs.writeFile()`. Doing
      * so introduces a race condition, since other processes may change the file's
      * state between the two calls. Instead, user code should open/read/write the
@@ -3786,5 +3786,5 @@
      * Synchronously tests a user's permissions for the file or directory specified
      * by `path`. The `mode` argument is an optional integer that specifies the
-     * accessibility checks to be performed. `mode` should be either the value`fs.constants.F_OK` or a mask consisting of the bitwise OR of any of`fs.constants.R_OK`, `fs.constants.W_OK`, and
+     * accessibility checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and
      * `fs.constants.X_OK` (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for
      * possible values of `mode`.
@@ -3860,6 +3860,6 @@
      * destroyed.  Set the `emitClose` option to `false` to change this behavior.
      *
-     * By providing the `fs` option, it is possible to override the corresponding `fs`implementations for `open`, `read`, and `close`. When providing the `fs` option,
-     * an override for `read` is required. If no `fd` is provided, an override for`open` is also required. If `autoClose` is `true`, an override for `close` is
+     * By providing the `fs` option, it is possible to override the corresponding `fs` implementations for `open`, `read`, and `close`. When providing the `fs` option,
+     * an override for `read` is required. If no `fd` is provided, an override for `open` is also required. If `autoClose` is `true`, an override for `close` is
      * also required.
      *
@@ -3909,5 +3909,5 @@
      * default `w`. The `encoding` can be any one of those accepted by `Buffer`.
      *
-     * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'`the file descriptor will be closed automatically. If `autoClose` is false,
+     * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'` the file descriptor will be closed automatically. If `autoClose` is false,
      * then the file descriptor won't be closed, even if there's an error.
      * It is the application's responsibility to close it and make sure there's no
@@ -3917,10 +3917,10 @@
      * destroyed.  Set the `emitClose` option to `false` to change this behavior.
      *
-     * By providing the `fs` option it is possible to override the corresponding `fs`implementations for `open`, `write`, `writev`, and `close`. Overriding `write()`without `writev()` can reduce
+     * By providing the `fs` option it is possible to override the corresponding `fs` implementations for `open`, `write`, `writev`, and `close`. Overriding `write()` without `writev()` can reduce
      * performance as some optimizations (`_writev()`)
-     * will be disabled. When providing the `fs` option, overrides for at least one of`write` and `writev` are required. If no `fd` option is supplied, an override
-     * for `open` is also required. If `autoClose` is `true`, an override for `close`is also required.
+     * will be disabled. When providing the `fs` option, overrides for at least one of `write` and `writev` are required. If no `fd` option is supplied, an override
+     * for `open` is also required. If `autoClose` is `true`, an override for `close` is also required.
      *
-     * Like `fs.ReadStream`, if `fd` is specified, `fs.WriteStream` will ignore the`path` argument and will use the specified file descriptor. This means that no`'open'` event will be
+     * Like `fs.ReadStream`, if `fd` is specified, `fs.WriteStream` will ignore the `path` argument and will use the specified file descriptor. This means that no `'open'` event will be
      * emitted. `fd` should be blocking; non-blocking `fd`s
      * should be passed to `net.Socket`.
@@ -4031,5 +4031,5 @@
     export function copyFileSync(src: PathLike, dest: PathLike, mode?: number): void;
     /**
-     * Write an array of `ArrayBufferView`s to the file specified by `fd` using`writev()`.
+     * Write an array of `ArrayBufferView`s to the file specified by `fd` using `writev()`.
      *
      * `position` is the offset from the beginning of the file where this data
@@ -4037,7 +4037,7 @@
      * at the current position.
      *
-     * The callback will be given three arguments: `err`, `bytesWritten`, and`buffers`. `bytesWritten` is how many bytes were written from `buffers`.
+     * The callback will be given three arguments: `err`, `bytesWritten`, and `buffers`. `bytesWritten` is how many bytes were written from `buffers`.
      *
-     * If this method is `util.promisify()` ed, it returns a promise for an`Object` with `bytesWritten` and `buffers` properties.
+     * If this method is `util.promisify()` ed, it returns a promise for an `Object` with `bytesWritten` and `buffers` properties.
      *
      * It is unsafe to use `fs.writev()` multiple times on the same file without
@@ -4088,5 +4088,5 @@
      * from the current position.
      *
-     * The callback will be given three arguments: `err`, `bytesRead`, and`buffers`. `bytesRead` is how many bytes were read from the file.
+     * The callback will be given three arguments: `err`, `bytesRead`, and `buffers`. `bytesRead` is how many bytes were read from the file.
      *
      * If this method is invoked as its `util.promisify()` ed version, it returns
diff --git a/http.d.ts b/http.d.ts
index v20.12.7..v20.12.8 100644
--- a/http.d.ts
+++ b/http.d.ts
@@ -38,5 +38,5 @@
  *   'accepT', '*' ]
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/http.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/http.js)
  */
 declare module "http" {
@@ -591,10 +591,10 @@
         setHeader(name: string, value: number | string | readonly string[]): this;
         /**
-         * Append a single header value for the header object.
+         * Append a single header value to the header object.
          *
-         * If the value is an array, this is equivalent of calling this method multiple
+         * If the value is an array, this is equivalent to calling this method multiple
          * times.
          *
-         * If there were no previous value for the header, this is equivalent of calling `outgoingMessage.setHeader(name, value)`.
+         * If there were no previous values for the header, this is equivalent to calling `outgoingMessage.setHeader(name, value)`.
          *
          * Depending of the value of `options.uniqueHeaders` when the client request or the
diff --git a/http2.d.ts b/http2.d.ts
index v20.12.7..v20.12.8 100644
--- a/http2.d.ts
+++ b/http2.d.ts
@@ -7,5 +7,5 @@
  * ```
  * @since v8.4.0
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/http2.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/http2.js)
  */
 declare module "http2" {
@@ -97,5 +97,5 @@
         readonly endAfterHeaders: boolean;
         /**
-         * The numeric stream identifier of this `Http2Stream` instance. Set to `undefined`if the stream identifier has not yet been assigned.
+         * The numeric stream identifier of this `Http2Stream` instance. Set to `undefined` if the stream identifier has not yet been assigned.
          * @since v8.4.0
          */
@@ -110,5 +110,5 @@
          * Set to the `RST_STREAM` `error code` reported when the `Http2Stream` is
          * destroyed after either receiving an `RST_STREAM` frame from the connected peer,
-         * calling `http2stream.close()`, or `http2stream.destroy()`. Will be`undefined` if the `Http2Stream` has not been closed.
+         * calling `http2stream.close()`, or `http2stream.destroy()`. Will be `undefined` if the `Http2Stream` has not been closed.
          * @since v8.4.0
          */
@@ -137,5 +137,5 @@
         readonly session: Http2Session | undefined;
         /**
-         * Provides miscellaneous information about the current state of the`Http2Stream`.
+         * Provides miscellaneous information about the current state of the `Http2Stream`.
          *
          * A current state of this `Http2Stream`.
@@ -356,5 +356,5 @@
          * Read-only property mapped to the `SETTINGS_ENABLE_PUSH` flag of the remote
          * client's most recent `SETTINGS` frame. Will be `true` if the remote peer
-         * accepts push streams, `false` otherwise. Settings are the same for every`Http2Stream` in the same `Http2Session`.
+         * accepts push streams, `false` otherwise. Settings are the same for every `Http2Stream` in the same `Http2Session`.
          * @since v8.4.0
          */
@@ -366,5 +366,5 @@
         additionalHeaders(headers: OutgoingHttpHeaders): void;
         /**
-         * Initiates a push stream. The callback is invoked with the new `Http2Stream`instance created for the push stream passed as the second argument, or an`Error` passed as the first argument.
+         * Initiates a push stream. The callback is invoked with the new `Http2Stream` instance created for the push stream passed as the second argument, or an `Error` passed as the first argument.
          *
          * ```js
@@ -383,5 +383,5 @@
          *
          * Setting the weight of a push stream is not allowed in the `HEADERS` frame. Pass
-         * a `weight` value to `http2stream.priority` with the `silent` option set to`true` to enable server-side bandwidth balancing between concurrent streams.
+         * a `weight` value to `http2stream.priority` with the `silent` option set to `true` to enable server-side bandwidth balancing between concurrent streams.
          *
          * Calling `http2stream.pushStream()` from within a pushed stream is not permitted
@@ -414,5 +414,5 @@
          *
          * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically
-         * close when the final `DATA` frame is transmitted. User code must call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`.
+         * close when the final `DATA` frame is transmitted. User code must call either `http2stream.sendTrailers()` or `http2stream.close()` to close the `Http2Stream`.
          *
          * ```js
@@ -460,5 +460,5 @@
          * The optional `options.statCheck` function may be specified to give user code
          * an opportunity to set additional content headers based on the `fs.Stat` details
-         * of the given fd. If the `statCheck` function is provided, the`http2stream.respondWithFD()` method will perform an `fs.fstat()` call to
+         * of the given fd. If the `statCheck` function is provided, the `http2stream.respondWithFD()` method will perform an `fs.fstat()` call to
          * collect details on the provided file descriptor.
          *
@@ -479,5 +479,5 @@
          *
          * When `options.waitForTrailers` is set, the `Http2Stream` will not automatically
-         * close when the final `DATA` frame is transmitted. User code _must_ call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`.
+         * close when the final `DATA` frame is transmitted. User code _must_ call either `http2stream.sendTrailers()` or `http2stream.close()` to close the `Http2Stream`.
          *
          * ```js
@@ -522,5 +522,5 @@
          * of the given file:
          *
-         * If an error occurs while attempting to read the file data, the `Http2Stream`will be closed using an `RST_STREAM` frame using the standard `INTERNAL_ERROR`code. If the `onError` callback is
+         * If an error occurs while attempting to read the file data, the `Http2Stream` will be closed using an `RST_STREAM` frame using the standard `INTERNAL_ERROR` code. If the `onError` callback is
          * defined, then it will be called. Otherwise
          * the stream will be destroyed.
@@ -560,5 +560,5 @@
          * The `options.statCheck` function may also be used to cancel the send operation
          * by returning `false`. For instance, a conditional request may check the stat
-         * results to determine if the file has been modified to return an appropriate`304` response:
+         * results to determine if the file has been modified to return an appropriate `304` response:
          *
          * ```js
@@ -648,10 +648,10 @@
          * Value will be `undefined` if the `Http2Session` is not yet connected to a
          * socket, `h2c` if the `Http2Session` is not connected to a `TLSSocket`, or
-         * will return the value of the connected `TLSSocket`'s own `alpnProtocol`property.
+         * will return the value of the connected `TLSSocket`'s own `alpnProtocol` property.
          * @since v9.4.0
          */
         readonly alpnProtocol?: string | undefined;
         /**
-         * Will be `true` if this `Http2Session` instance has been closed, otherwise`false`.
+         * Will be `true` if this `Http2Session` instance has been closed, otherwise `false`.
          * @since v9.4.0
          */
@@ -659,5 +659,5 @@
         /**
          * Will be `true` if this `Http2Session` instance is still connecting, will be set
-         * to `false` before emitting `connect` event and/or calling the `http2.connect`callback.
+         * to `false` before emitting `connect` event and/or calling the `http2.connect` callback.
          * @since v10.0.0
          */
@@ -678,5 +678,5 @@
         readonly encrypted?: boolean | undefined;
         /**
-         * A prototype-less object describing the current local settings of this`Http2Session`. The local settings are local to _this_`Http2Session` instance.
+         * A prototype-less object describing the current local settings of this `Http2Session`. The local settings are local to _this_`Http2Session` instance.
          * @since v8.4.0
          */
@@ -693,5 +693,5 @@
         /**
          * Indicates whether the `Http2Session` is currently waiting for acknowledgment of
-         * a sent `SETTINGS` frame. Will be `true` after calling the`http2session.settings()` method. Will be `false` once all sent `SETTINGS`frames have been acknowledged.
+         * a sent `SETTINGS` frame. Will be `true` after calling the `http2session.settings()` method. Will be `false` once all sent `SETTINGS` frames have been acknowledged.
          * @since v8.4.0
          */
@@ -723,5 +723,5 @@
         readonly state: SessionState;
         /**
-         * The `http2session.type` will be equal to`http2.constants.NGHTTP2_SESSION_SERVER` if this `Http2Session` instance is a
+         * The `http2session.type` will be equal to `http2.constants.NGHTTP2_SESSION_SERVER` if this `Http2Session` instance is a
          * server, and `http2.constants.NGHTTP2_SESSION_CLIENT` if the instance is a
          * client.
@@ -740,9 +740,9 @@
         close(callback?: () => void): void;
         /**
-         * Immediately terminates the `Http2Session` and the associated `net.Socket` or`tls.TLSSocket`.
+         * Immediately terminates the `Http2Session` and the associated `net.Socket` or `tls.TLSSocket`.
          *
-         * Once destroyed, the `Http2Session` will emit the `'close'` event. If `error`is not undefined, an `'error'` event will be emitted immediately before the`'close'` event.
+         * Once destroyed, the `Http2Session` will emit the `'close'` event. If `error` is not undefined, an `'error'` event will be emitted immediately before the `'close'` event.
          *
-         * If there are any remaining open `Http2Streams` associated with the`Http2Session`, those will also be destroyed.
+         * If there are any remaining open `Http2Streams` associated with the `Http2Session`, those will also be destroyed.
          * @since v8.4.0
          * @param error An `Error` object if the `Http2Session` is being destroyed due to an error.
@@ -760,9 +760,9 @@
         /**
          * Sends a `PING` frame to the connected HTTP/2 peer. A `callback` function must
-         * be provided. The method will return `true` if the `PING` was sent, `false`otherwise.
+         * be provided. The method will return `true` if the `PING` was sent, `false` otherwise.
          *
-         * The maximum number of outstanding (unacknowledged) pings is determined by the`maxOutstandingPings` configuration option. The default maximum is 10.
+         * The maximum number of outstanding (unacknowledged) pings is determined by the `maxOutstandingPings` configuration option. The default maximum is 10.
          *
-         * If provided, the `payload` must be a `Buffer`, `TypedArray`, or `DataView`containing 8 bytes of data that will be transmitted with the `PING` and
+         * If provided, the `payload` must be a `Buffer`, `TypedArray`, or `DataView` containing 8 bytes of data that will be transmitted with the `PING` and
          * returned with the ping acknowledgment.
          *
@@ -770,5 +770,5 @@
          * be `null` if the `PING` was successfully acknowledged, a `duration` argument
          * that reports the number of milliseconds elapsed since the ping was sent and the
-         * acknowledgment was received, and a `Buffer` containing the 8-byte `PING`payload.
+         * acknowledgment was received, and a `Buffer` containing the 8-byte `PING` payload.
          *
          * ```js
@@ -792,5 +792,5 @@
         ): boolean;
         /**
-         * Calls `ref()` on this `Http2Session`instance's underlying `net.Socket`.
+         * Calls `ref()` on this `Http2Session` instance's underlying `net.Socket`.
          * @since v9.4.0
          */
@@ -823,7 +823,7 @@
         setTimeout(msecs: number, callback?: () => void): void;
         /**
-         * Updates the current local settings for this `Http2Session` and sends a new`SETTINGS` frame to the connected HTTP/2 peer.
+         * Updates the current local settings for this `Http2Session` and sends a new `SETTINGS` frame to the connected HTTP/2 peer.
          *
-         * Once called, the `http2session.pendingSettingsAck` property will be `true`while the session is waiting for the remote peer to acknowledge the new
+         * Once called, the `http2session.pendingSettingsAck` property will be `true` while the session is waiting for the remote peer to acknowledge the new
          * settings.
          *
@@ -918,5 +918,5 @@
     export interface ClientHttp2Session extends Http2Session {
         /**
-         * For HTTP/2 Client `Http2Session` instances only, the `http2session.request()`creates and returns an `Http2Stream` instance that can be used to send an
+         * For HTTP/2 Client `Http2Session` instances only, the `http2session.request()` creates and returns an `Http2Stream` instance that can be used to send an
          * HTTP/2 request to the connected server.
          *
@@ -924,7 +924,7 @@
          * connected. if `clienthttp2session.request()` is called during this time, the
          * actual request will be deferred until the socket is ready to go.
-         * If the `session` is closed before the actual request be executed, an`ERR_HTTP2_GOAWAY_SESSION` is thrown.
+         * If the `session` is closed before the actual request be executed, an `ERR_HTTP2_GOAWAY_SESSION` is thrown.
          *
-         * This method is only available if `http2session.type` is equal to`http2.constants.NGHTTP2_SESSION_CLIENT`.
+         * This method is only available if `http2session.type` is equal to `http2.constants.NGHTTP2_SESSION_CLIENT`.
          *
          * ```js
@@ -1109,5 +1109,5 @@
          *
          * When a string is passed as an `origin`, it will be parsed as a URL and the
-         * origin will be derived. For instance, the origin for the HTTP URL`'https://example.org/foo/bar'` is the ASCII string`'https://example.org'`. An error will be thrown if either the given
+         * origin will be derived. For instance, the origin for the HTTP URL `'https://example.org/foo/bar'` is the ASCII string` 'https://example.org'`. An error will be thrown if either the given
          * string
          * cannot be parsed as a URL or if a valid origin cannot be derived.
@@ -1199,4 +1199,5 @@
         peerMaxConcurrentStreams?: number | undefined;
         settings?: Settings | undefined;
+        remoteCustomSettings?: number[] | undefined;
         /**
          * Specifies a timeout in milliseconds that
@@ -1427,5 +1428,5 @@
         /**
          * The request authority pseudo header field. Because HTTP/2 allows requests
-         * to set either `:authority` or `host`, this value is derived from`req.headers[':authority']` if present. Otherwise, it is derived from`req.headers['host']`.
+         * to set either `:authority` or `host`, this value is derived from `req.headers[':authority']` if present. Otherwise, it is derived from `req.headers['host']`.
          * @since v8.4.0
          */
@@ -1474,7 +1475,7 @@
         /**
          * In case of server request, the HTTP version sent by the client. In the case of
-         * client response, the HTTP version of the connected-to server. Returns`'2.0'`.
+         * client response, the HTTP version of the connected-to server. Returns `'2.0'`.
          *
-         * Also `message.httpVersionMajor` is the first integer and`message.httpVersionMinor` is the second.
+         * Also `message.httpVersionMajor` is the first integer and `message.httpVersionMinor` is the second.
          * @since v8.4.0
          */
@@ -1531,9 +1532,9 @@
          * set on `request.stream`.
          *
-         * `destroy`, `emit`, `end`, `on` and `once` methods will be called on`request.stream`.
+         * `destroy`, `emit`, `end`, `on` and `once` methods will be called on `request.stream`.
          *
          * `setTimeout` method will be called on `request.stream.session`.
          *
-         * `pause`, `read`, `resume`, and `write` will throw an error with code`ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for
+         * `pause`, `read`, `resume`, and `write` will throw an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for
          * more information.
          *
@@ -1598,5 +1599,5 @@
          *
          * If no `'timeout'` listener is added to the request, the response, or
-         * the server, then `Http2Stream` s are destroyed when they time out. If a
+         * the server, then `Http2Stream`s are destroyed when they time out. If a
          * handler is assigned to the request, the response, or the server's `'timeout'`events, timed out sockets must be handled explicitly.
          * @since v8.4.0
@@ -1661,4 +1662,26 @@
         readonly connection: net.Socket | tls.TLSSocket;
         /**
+         * Append a single header value to the header object.
+         *
+         * If the value is an array, this is equivalent to calling this method multiple times.
+         *
+         * If there were no previous values for the header, this is equivalent to calling {@link setHeader}.
+         *
+         * Attempting to set a header field name or value that contains invalid characters will result in a
+         * [TypeError](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-typeerror) being thrown.
+         *
+         * ```js
+         * // Returns headers including "set-cookie: a" and "set-cookie: b"
+         * const server = http2.createServer((req, res) => {
+         *   res.setHeader('set-cookie', 'a');
+         *   res.appendHeader('set-cookie', 'b');
+         *   res.writeHead(200);
+         *   res.end('ok');
+         * });
+         * ```
+         * @since v20.12.0
+         */
+        appendHeader(name: string, value: string | string[]): void;
+        /**
          * Boolean value that indicates whether the response has completed. Starts
          * as `false`. After `response.end()` executes, the value will be `true`.
@@ -1684,9 +1707,9 @@
          * set on `response.stream`.
          *
-         * `destroy`, `emit`, `end`, `on` and `once` methods will be called on`response.stream`.
+         * `destroy`, `emit`, `end`, `on` and `once` methods will be called on `response.stream`.
          *
          * `setTimeout` method will be called on `response.stream.session`.
          *
-         * `pause`, `read`, `resume`, and `write` will throw an error with code`ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for
+         * `pause`, `read`, `resume`, and `write` will throw an error with code `ERR_HTTP2_NO_SOCKET_MANIPULATION`. See `Http2Session and Sockets` for
          * more information.
          *
@@ -1792,5 +1815,5 @@
          * are lowercase.
          *
-         * The object returned by the `response.getHeaders()` method _does not_prototypically inherit from the JavaScript `Object`. This means that typical`Object` methods such as `obj.toString()`,
+         * The object returned by the `response.getHeaders()` method _does not_ prototypically inherit from the JavaScript `Object`. This means that typical `Object` methods such as `obj.toString()`,
          * `obj.hasOwnProperty()`, and others
          * are not defined and _will not work_.
@@ -1866,5 +1889,5 @@
          * If no `'timeout'` listener is added to the request, the response, or
          * the server, then `Http2Stream` s are destroyed when they time out. If a
-         * handler is assigned to the request, the response, or the server's `'timeout'`events, timed out sockets must be handled explicitly.
+         * handler is assigned to the request, the response, or the server's `'timeout'` events, timed out sockets must be handled explicitly.
          * @since v8.4.0
          */
@@ -1902,5 +1925,5 @@
         /**
          * Sends a status `100 Continue` to the client, indicating that the request body
-         * should be sent. See the `'checkContinue'` event on `Http2Server` and`Http2SecureServer`.
+         * should be sent. See the `'checkContinue'` event on `Http2Server` and `Http2SecureServer`.
          * @since v8.4.0
          */
@@ -1953,5 +1976,5 @@
          * given encoding. On outbound messages, Node.js does not check if Content-Length
          * and the length of the body being transmitted are equal or not. However, when
-         * receiving messages, Node.js will automatically reject messages when the`Content-Length` does not match the actual payload size.
+         * receiving messages, Node.js will automatically reject messages when the `Content-Length` does not match the actual payload size.
          *
          * This method may be called at most one time on a message before `response.end()` is called.
@@ -2259,5 +2282,5 @@
     export const sensitiveHeaders: symbol;
     /**
-     * Returns an object containing the default settings for an `Http2Session`instance. This method returns a new object instance every time it is called
+     * Returns an object containing the default settings for an `Http2Session` instance. This method returns a new object instance every time it is called
      * so instances returned may be safely modified for use.
      * @since v8.4.0
@@ -2288,5 +2311,5 @@
     export function getUnpackedSettings(buf: Uint8Array): Settings;
     /**
-     * Returns a `net.Server` instance that creates and manages `Http2Session`instances.
+     * Returns a `net.Server` instance that creates and manages `Http2Session` instances.
      *
      * Since there are no browsers known that support [unencrypted HTTP/2](https://http2.github.io/faq/#does-http2-require-encryption), the use of {@link createSecureServer} is necessary when
@@ -2324,5 +2347,5 @@
     ): Http2Server;
     /**
-     * Returns a `tls.Server` instance that creates and manages `Http2Session`instances.
+     * Returns a `tls.Server` instance that creates and manages `Http2Session` instances.
      *
      * ```js
@@ -2383,4 +2406,11 @@
         listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void,
     ): ClientHttp2Session;
+    /**
+     * Create an HTTP/2 server session from an existing socket.
+     * @param socket A Duplex Stream
+     * @param options Any `{@link createServer}` options can be provided.
+     * @since v20.12.0
+     */
+    export function performServerHandshake(socket: stream.Duplex, options?: ServerOptions): ServerHttp2Session;
 }
 declare module "node:http2" {
diff --git a/https.d.ts b/https.d.ts
index v20.12.7..v20.12.8 100644
--- a/https.d.ts
+++ b/https.d.ts
@@ -2,5 +2,5 @@
  * HTTPS is the HTTP protocol over TLS/SSL. In Node.js this is implemented as a
  * separate module.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/https.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/https.js)
  */
 declare module "https" {
diff --git a/inspector.d.ts b/inspector.d.ts
index v20.12.7..v20.12.8 100644
--- a/inspector.d.ts
+++ b/inspector.d.ts
@@ -21,5 +21,5 @@
  * import * as inspector from 'node:inspector';
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/inspector.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/inspector.js)
  */
 declare module 'inspector' {
@@ -2695,5 +2695,5 @@
     }
     /**
-     * Activate inspector on host and port. Equivalent to`node --inspect=[[host:]port]`, but can be done programmatically after node has
+     * Activate inspector on host and port. Equivalent to `node --inspect=[[host:]port]`, but can be done programmatically after node has
      * started.
      *
@@ -2701,5 +2701,5 @@
      * and flow control has been passed to the debugger client.
      *
-     * See the `security warning` regarding the `host`parameter usage.
+     * See the `security warning` regarding the `host` parameter usage.
      * @param [port='what was specified on the CLI'] Port to listen on for inspector connections. Optional.
      * @param [host='what was specified on the CLI'] Host to listen on for inspector connections. Optional.
@@ -2732,5 +2732,5 @@
     function url(): string | undefined;
     /**
-     * Blocks until a client (existing or connected later) has sent`Runtime.runIfWaitingForDebugger` command.
+     * Blocks until a client (existing or connected later) has sent `Runtime.runIfWaitingForDebugger` command.
      *
      * An exception will be thrown if there is no active inspector.
diff --git a/net.d.ts b/net.d.ts
index v20.12.7..v20.12.8 100644
--- a/net.d.ts
+++ b/net.d.ts
@@ -11,5 +11,5 @@
  * const net = require('node:net');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/net.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/net.js)
  */
 declare module "net" {
@@ -364,15 +364,27 @@
          *   1. close
          *   2. connect
-         *   3. data
-         *   4. drain
-         *   5. end
-         *   6. error
-         *   7. lookup
-         *   8. ready
-         *   9. timeout
+         *   3. connectionAttempt
+         *   4. connectionAttemptFailed
+         *   5. connectionAttemptTimeout
+         *   6. data
+         *   7. drain
+         *   8. end
+         *   9. error
+         *   10. lookup
+         *   11. ready
+         *   12. timeout
          */
         addListener(event: string, listener: (...args: any[]) => void): this;
         addListener(event: "close", listener: (hadError: boolean) => void): this;
         addListener(event: "connect", listener: () => void): this;
+        addListener(event: "connectionAttempt", listener: (ip: string, port: number, family: number) => void): this;
+        addListener(
+            event: "connectionAttemptFailed",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
+        addListener(
+            event: "connectionAttemptTimeout",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
         addListener(event: "data", listener: (data: Buffer) => void): this;
         addListener(event: "drain", listener: () => void): this;
@@ -388,4 +400,7 @@
         emit(event: "close", hadError: boolean): boolean;
         emit(event: "connect"): boolean;
+        emit(event: "connectionAttempt", ip: string, port: number, family: number): boolean;
+        emit(event: "connectionAttemptFailed", ip: string, port: number, family: number): boolean;
+        emit(event: "connectionAttemptTimeout", ip: string, port: number, family: number): boolean;
         emit(event: "data", data: Buffer): boolean;
         emit(event: "drain"): boolean;
@@ -398,4 +413,7 @@
         on(event: "close", listener: (hadError: boolean) => void): this;
         on(event: "connect", listener: () => void): this;
+        on(event: "connectionAttempt", listener: (ip: string, port: number, family: number) => void): this;
+        on(event: "connectionAttemptFailed", listener: (ip: string, port: number, family: number) => void): this;
+        on(event: "connectionAttemptTimeout", listener: (ip: string, port: number, family: number) => void): this;
         on(event: "data", listener: (data: Buffer) => void): this;
         on(event: "drain", listener: () => void): this;
@@ -410,4 +428,7 @@
         once(event: string, listener: (...args: any[]) => void): this;
         once(event: "close", listener: (hadError: boolean) => void): this;
+        once(event: "connectionAttempt", listener: (ip: string, port: number, family: number) => void): this;
+        once(event: "connectionAttemptFailed", listener: (ip: string, port: number, family: number) => void): this;
+        once(event: "connectionAttemptTimeout", listener: (ip: string, port: number, family: number) => void): this;
         once(event: "connect", listener: () => void): this;
         once(event: "data", listener: (data: Buffer) => void): this;
@@ -424,4 +445,13 @@
         prependListener(event: "close", listener: (hadError: boolean) => void): this;
         prependListener(event: "connect", listener: () => void): this;
+        prependListener(event: "connectionAttempt", listener: (ip: string, port: number, family: number) => void): this;
+        prependListener(
+            event: "connectionAttemptFailed",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
+        prependListener(
+            event: "connectionAttemptTimeout",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
         prependListener(event: "data", listener: (data: Buffer) => void): this;
         prependListener(event: "drain", listener: () => void): this;
@@ -437,4 +467,16 @@
         prependOnceListener(event: "close", listener: (hadError: boolean) => void): this;
         prependOnceListener(event: "connect", listener: () => void): this;
+        prependOnceListener(
+            event: "connectionAttempt",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
+        prependOnceListener(
+            event: "connectionAttemptFailed",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
+        prependOnceListener(
+            event: "connectionAttemptTimeout",
+            listener: (ip: string, port: number, family: number) => void,
+        ): this;
         prependOnceListener(event: "data", listener: (data: Buffer) => void): this;
         prependOnceListener(event: "drain", listener: () => void): this;
diff --git a/os.d.ts b/os.d.ts
index v20.12.7..v20.12.8 100644
--- a/os.d.ts
+++ b/os.d.ts
@@ -6,5 +6,5 @@
  * const os = require('node:os');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/os.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/os.js)
  */
 declare module "os" {
@@ -13,8 +13,13 @@
         speed: number;
         times: {
+            /** The number of milliseconds the CPU has spent in user mode. */
             user: number;
+            /** The number of milliseconds the CPU has spent in nice mode. */
             nice: number;
+            /** The number of milliseconds the CPU has spent in sys mode. */
             sys: number;
+            /** The number of milliseconds the CPU has spent in idle mode. */
             idle: number;
+            /** The number of milliseconds the CPU has spent in irq mode. */
             irq: number;
         };
@@ -76,5 +81,5 @@
     /**
      * Returns an array of objects containing information about each logical CPU core.
-     * The array will be empty if no CPU information is available, such as if the`/proc` file system is unavailable.
+     * The array will be empty if no CPU information is available, such as if the `/proc` file system is unavailable.
      *
      * The properties included on each object include:
@@ -230,5 +235,5 @@
      * Returns information about the currently effective user. On POSIX platforms,
      * this is typically a subset of the password file. The returned object includes
-     * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and`gid` fields are `-1`, and `shell` is `null`.
+     * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`.
      *
      * The value of `homedir` returned by `os.userInfo()` is provided by the operating
@@ -237,5 +242,5 @@
      * operating system response.
      *
-     * Throws a `SystemError` if a user has no `username` or `homedir`.
+     * Throws a [`SystemError`](https://nodejs.org/docs/latest-v20.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.
      * @since v6.0.0
      */
@@ -388,4 +393,11 @@
             const WSAEREFUSED: number;
         }
+        namespace dlopen {
+            const RTLD_LAZY: number;
+            const RTLD_NOW: number;
+            const RTLD_GLOBAL: number;
+            const RTLD_LOCAL: number;
+            const RTLD_DEEPBIND: number;
+        }
         namespace priority {
             const PRIORITY_LOW: number;
@@ -398,4 +410,9 @@
     }
     const devNull: string;
+    /**
+     * The operating system-specific end-of-line marker.
+     * * `\n` on POSIX
+     * * `\r\n` on Windows
+     */
     const EOL: string;
     /**
@@ -404,5 +421,5 @@
      * and `'x64'`.
      *
-     * The return value is equivalent to `process.arch`.
+     * The return value is equivalent to [process.arch](https://nodejs.org/docs/latest-v20.x/api/process.html#processarch).
      * @since v0.5.0
      */
@@ -419,5 +436,5 @@
      * Returns a string identifying the operating system platform for which
      * the Node.js binary was compiled. The value is set at compile time.
-     * Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`,`'openbsd'`, `'sunos'`, and `'win32'`.
+     * Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`.
      *
      * The return value is equivalent to `process.platform`.
@@ -429,5 +446,5 @@
     function platform(): NodeJS.Platform;
     /**
-     * Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`,`mips`, `mips64`, `ppc64`, `ppc64le`, `s390`, `s390x`, `i386`, `i686`, `x86_64`.
+     * Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`, `mips`, `mips64`, `ppc64`, `ppc64le`, `s390`, `s390x`, `i386`, `i686`, `x86_64`.
      *
      * On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not
@@ -458,13 +475,13 @@
     function getPriority(pid?: number): number;
     /**
-     * Attempts to set the scheduling priority for the process specified by `pid`. If`pid` is not provided or is `0`, the process ID of the current process is used.
+     * Attempts to set the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the process ID of the current process is used.
      *
-     * The `priority` input must be an integer between `-20` (high priority) and `19`(low priority). Due to differences between Unix priority levels and Windows
-     * priority classes, `priority` is mapped to one of six priority constants in`os.constants.priority`. When retrieving a process priority level, this range
+     * The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows
+     * priority classes, `priority` is mapped to one of six priority constants in `os.constants.priority`. When retrieving a process priority level, this range
      * mapping may cause the return value to be slightly different on Windows. To avoid
      * confusion, set `priority` to one of the priority constants.
      *
      * On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user
-     * privileges. Otherwise the set priority will be silently reduced to`PRIORITY_HIGH`.
+     * privileges. Otherwise the set priority will be silently reduced to `PRIORITY_HIGH`.
      * @since v10.10.0
      * @param [pid=0] The process ID to set scheduling priority for.
diff --git a/package.json b/package.json
index v20.12.7..v20.12.8 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
 {
     "name": "@types/node",
-    "version": "20.12.7",
+    "version": "20.12.8",
     "description": "TypeScript definitions for node",
     "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
@@ -213,5 +213,5 @@
         "undici-types": "~5.26.4"
     },
-    "typesPublisherContentHash": "257832cf20d61375d191770b6747feddc6c529ce9401986ddec96cc397099d0a",
+    "typesPublisherContentHash": "5ff1c25113c701fc2321b0b620459a659788987291b6c00cde19caf71688f6ae",
     "typeScriptVersion": "4.7"
 }
\ No newline at end of file
diff --git a/path.d.ts b/path.d.ts
index v20.12.7..v20.12.8 100644
--- a/path.d.ts
+++ b/path.d.ts
@@ -14,5 +14,5 @@
  * const path = require('node:path');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/path.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/path.js)
  */
 declare module "path" {
diff --git a/perf_hooks.d.ts b/perf_hooks.d.ts
index v20.12.7..v20.12.8 100644
--- a/perf_hooks.d.ts
+++ b/perf_hooks.d.ts
@@ -28,5 +28,5 @@
  * });
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/perf_hooks.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/perf_hooks.js)
  */
 declare module "perf_hooks" {
@@ -35,5 +35,5 @@
     interface NodeGCPerformanceDetail {
         /**
-         * When `performanceEntry.entryType` is equal to 'gc', `the performance.kind` property identifies
+         * When `performanceEntry.entryType` is equal to 'gc', the `performance.kind` property identifies
          * the type of garbage collection operation that occurred.
          * See perf_hooks.constants for valid values.
@@ -393,5 +393,5 @@
         /**
          * Returns a list of `PerformanceEntry` objects in chronological order
-         * with respect to `performanceEntry.startTime` whose `performanceEntry.entryType`is equal to `type`.
+         * with respect to `performanceEntry.startTime` whose `performanceEntry.entryType` is equal to `type`.
          *
          * ```js
diff --git a/process.d.ts b/process.d.ts
index v20.12.7..v20.12.8 100644
--- a/process.d.ts
+++ b/process.d.ts
@@ -1,3 +1,5 @@
 declare module "process" {
+    import * as net from "node:net";
+    import * as os from "node:os";
     import * as tty from "node:tty";
     import { Worker } from "node:worker_threads";
@@ -22,8 +24,23 @@
             }
             interface MemoryUsage {
+                /**
+                 * Resident Set Size, is the amount of space occupied in the main memory device (that is a subset of the total allocated memory) for the
+                 * process, including all C++ and JavaScript objects and code.
+                 */
                 rss: number;
+                /**
+                 * Refers to V8's memory usage.
+                 */
                 heapTotal: number;
+                /**
+                 * Refers to V8's memory usage.
+                 */
                 heapUsed: number;
                 external: number;
+                /**
+                 * Refers to memory allocated for `ArrayBuffer`s and `SharedArrayBuffer`s, including all Node.js Buffers. This is also included
+                 * in the external value. When Node.js is used as an embedded library, this value may be `0` because allocations for `ArrayBuffer`s
+                 * may not be tracked in that case.
+                 */
                 arrayBuffers: number;
             }
@@ -65,4 +82,5 @@
                 | "arm64"
                 | "ia32"
+                | "loong64"
                 | "mips"
                 | "mipsel"
@@ -144,6 +162,51 @@
             interface HRTime {
                 (time?: [number, number]): [number, number];
+                /**
+                 * The `bigint` version of the `{@link hrtime()}` method returning the current high-resolution real time in nanoseconds as a `bigint`.
+                 *
+                 * Unlike `{@link hrtime()}`, it does not support an additional time argument since the difference can just be computed directly by subtraction of the two `bigint`s.
+                 * ```js
+                 * import { hrtime } from 'node:process';
+                 *
+                 * const start = hrtime.bigint();
+                 * // 191051479007711n
+                 *
+                 * setTimeout(() => {
+                 *   const end = hrtime.bigint();
+                 *   // 191052633396993n
+                 *
+                 *   console.log(`Benchmark took ${end - start} nanoseconds`);
+                 *   // Benchmark took 1154389282 nanoseconds
+                 * }, 1000);
+                 * ```
+                 */
                 bigint(): bigint;
             }
+            interface ProcessPermission {
+                /**
+                 * Verifies that the process is able to access the given scope and reference.
+                 * If no reference is provided, a global scope is assumed, for instance, `process.permission.has('fs.read')`
+                 * will check if the process has ALL file system read permissions.
+                 *
+                 * The reference has a meaning based on the provided scope. For example, the reference when the scope is File System means files and folders.
+                 *
+                 * The available scopes are:
+                 *
+                 * * `fs` - All File System
+                 * * `fs.read` - File System read operations
+                 * * `fs.write` - File System write operations
+                 * * `child` - Child process spawning operations
+                 * * `worker` - Worker thread spawning operation
+                 *
+                 * ```js
+                 * // Check if the process has permission to read the README file
+                 * process.permission.has('fs.read', './README.md');
+                 * // Check if the process has read permission operations
+                 * process.permission.has('fs.read');
+                 * ```
+                 * @since v20.0.0
+                 */
+                has(scope: string, reference?: string): boolean;
+            }
             interface ProcessReport {
                 /**
@@ -307,10 +370,9 @@
                  *
                  * In "old" streams mode the `stdin` stream is paused by default, so one
-                 * must call `process.stdin.resume()` to read from it. Note also that calling`process.stdin.resume()` itself would switch stream to "old" mode.
+                 * must call `process.stdin.resume()` to read from it. Note also that calling `process.stdin.resume()` itself would switch stream to "old" mode.
                  */
                 stdin: ReadStream & {
                     fd: 0;
                 };
-                openStdin(): Socket;
                 /**
                  * The `process.argv` property returns an array containing the command-line
@@ -455,4 +517,30 @@
                 debugPort: number;
                 /**
+                 * The `process.dlopen()` method allows dynamically loading shared objects. It is primarily used by `require()` to load C++ Addons, and
+                 * should not be used directly, except in special cases. In other words, `require()` should be preferred over `process.dlopen()`
+                 * unless there are specific reasons such as custom dlopen flags or loading from ES modules.
+                 *
+                 * The `flags` argument is an integer that allows to specify dlopen behavior. See the `[os.constants.dlopen](https://nodejs.org/docs/latest-v20.x/api/os.html#dlopen-constants)`
+                 * documentation for details.
+                 *
+                 * An important requirement when calling `process.dlopen()` is that the `module` instance must be passed. Functions exported by the C++ Addon
+                 * are then accessible via `module.exports`.
+                 *
+                 * The example below shows how to load a C++ Addon, named `local.node`, that exports a `foo` function. All the symbols are loaded before the call returns, by passing the `RTLD_NOW` constant.
+                 * In this example the constant is assumed to be available.
+                 *
+                 * ```js
+                 * import { dlopen } from 'node:process';
+                 * import { constants } from 'node:os';
+                 * import { fileURLToPath } from 'node:url';
+                 *
+                 * const module = { exports: {} };
+                 * dlopen(module, fileURLToPath(new URL('local.node', import.meta.url)),
+                 *        constants.dlopen.RTLD_NOW);
+                 * module.exports.foo();
+                 * ```
+                 */
+                dlopen(module: object, filename: string, flags?: number): void;
+                /**
                  * The `process.emitWarning()` method can be used to emit custom or application
                  * specific process warnings. These can be listened for by adding a handler to the `'warning'` event.
@@ -461,17 +549,27 @@
                  * import { emitWarning } from 'node:process';
                  *
-                 * // Emit a warning with a code and additional detail.
-                 * emitWarning('Something happened!', {
-                 *   code: 'MY_WARNING',
-                 *   detail: 'This is some additional information',
-                 * });
-                 * // Emits:
-                 * // (node:56338) [MY_WARNING] Warning: Something happened!
-                 * // This is some additional information
+                 * // Emit a warning using a string.
+                 * emitWarning('Something happened!');
+                 * // Emits: (node: 56338) Warning: Something happened!
                  * ```
                  *
-                 * In this example, an `Error` object is generated internally by`process.emitWarning()` and passed through to the `'warning'` handler.
+                 * ```js
+                 * import { emitWarning } from 'node:process';
                  *
+                 * // Emit a warning using a string and a type.
+                 * emitWarning('Something Happened!', 'CustomWarning');
+                 * // Emits: (node:56338) CustomWarning: Something Happened!
+                 * ```
+                 *
                  * ```js
+                 * import { emitWarning } from 'node:process';
+                 *
+                 * emitWarning('Something happened!', 'CustomWarning', 'WARN001');
+                 * // Emits: (node:56338) [WARN001] CustomWarning: Something happened!
+                 * ```js
+                 *
+                 * In each of the previous examples, an `Error` object is generated internally by `process.emitWarning()` and passed through to the `'warning'` handler.
+                 *
+                 * ```js
                  * import process from 'node:process';
                  *
@@ -485,5 +583,28 @@
                  * ```
                  *
-                 * If `warning` is passed as an `Error` object, the `options` argument is ignored.
+                 * If `warning` is passed as an `Error` object, it will be passed through to the `'warning'` event handler
+                 * unmodified (and the optional `type`, `code` and `ctor` arguments will be ignored):
+                 *
+                 * ```js
+                 * import { emitWarning } from 'node:process';
+                 *
+                 * // Emit a warning using an Error object.
+                 * const myWarning = new Error('Something happened!');
+                 * // Use the Error name property to specify the type name
+                 * myWarning.name = 'CustomWarning';
+                 * myWarning.code = 'WARN001';
+                 *
+                 * emitWarning(myWarning);
+                 * // Emits: (node:56338) [WARN001] CustomWarning: Something happened!
+                 * ```
+                 *
+                 * A `TypeError` is thrown if `warning` is anything other than a string or `Error` object.
+                 *
+                 * While process warnings use `Error` objects, the process warning mechanism is not a replacement for normal error handling mechanisms.
+                 *
+                 * The following additional handling is implemented if the warning `type` is `'DeprecationWarning'`:
+                 * * If the `--throw-deprecation` command-line flag is used, the deprecation warning is thrown as an exception rather than being emitted as an event.
+                 * * If the `--no-deprecation` command-line flag is used, the deprecation warning is suppressed.
+                 * * If the `--trace-deprecation` command-line flag is used, the deprecation warning is printed to `stderr` along with the full stack trace.
                  * @since v8.0.0
                  * @param warning The warning to emit.
@@ -573,5 +694,5 @@
                  * to the `Worker` constructor. Changes to `process.env` will not be visible
                  * across `Worker` threads, and only the main thread can make changes that
-                 * are visible to the operating system or to native add-ons. On Windows, a copy of`process.env` on a `Worker` instance operates in a case-sensitive manner
+                 * are visible to the operating system or to native add-ons. On Windows, a copy of `process.env` on a `Worker` instance operates in a case-sensitive manner
                  * unlike the main thread.
                  * @since v0.1.27
@@ -597,11 +718,11 @@
                  * Calling `process.exit()` will force the process to exit as quickly as possible
                  * even if there are still asynchronous operations pending that have not yet
-                 * completed fully, including I/O operations to `process.stdout` and`process.stderr`.
+                 * completed fully, including I/O operations to `process.stdout` and `process.stderr`.
                  *
-                 * In most situations, it is not actually necessary to call `process.exit()`explicitly. The Node.js process will exit on its own _if there is no additional_
+                 * In most situations, it is not actually necessary to call `process.exit()` explicitly. The Node.js process will exit on its own _if there is no additional_
                  * _work pending_ in the event loop. The `process.exitCode` property can be set to
                  * tell the process which exit code to use when the process exits gracefully.
                  *
-                 * For instance, the following example illustrates a _misuse_ of the`process.exit()` method that could lead to data printed to stdout being
+                 * For instance, the following example illustrates a _misuse_ of the `process.exit()` method that could lead to data printed to stdout being
                  * truncated and lost:
                  *
@@ -620,5 +741,5 @@
                  * event loop. Calling `process.exit()`, however, forces the process to exit _before_ those additional writes to `stdout` can be performed.
                  *
-                 * Rather than calling `process.exit()` directly, the code _should_ set the`process.exitCode` and allow the process to exit naturally by avoiding
+                 * Rather than calling `process.exit()` directly, the code _should_ set the `process.exitCode` and allow the process to exit naturally by avoiding
                  * scheduling any additional work for the event loop:
                  *
@@ -643,5 +764,5 @@
                  * @param [code=0] The exit code. For string type, only integer strings (e.g.,'1') are allowed.
                  */
-                exit(code?: number): never;
+                exit(code?: number | string | null | undefined): never;
                 /**
                  * A number which will be the process exit code, when the process either
@@ -651,13 +772,32 @@
                  * Specifying a code to {@link exit} will override any
                  * previous setting of `process.exitCode`.
+                 * @default undefined
                  * @since v0.11.8
                  */
-                exitCode?: number | undefined;
+                exitCode?: number | string | number | undefined;
                 /**
+                 * The `process.getActiveResourcesInfo()` method returns an array of strings containing
+                 * the types of the active resources that are currently keeping the event loop alive.
+                 *
+                 * ```js
+                 * import { getActiveResourcesInfo } from 'node:process';
+                 * import { setTimeout } from 'node:timers';
+
+                 * console.log('Before:', getActiveResourcesInfo());
+                 * setTimeout(() => {}, 1000);
+                 * console.log('After:', getActiveResourcesInfo());
+                 * // Prints:
+                 * //   Before: [ 'TTYWrap', 'TTYWrap', 'TTYWrap' ]
+                 * //   After: [ 'TTYWrap', 'TTYWrap', 'TTYWrap', 'Timeout' ]
+                 * ```
+                 * @since v17.3.0, v16.14.0
+                 */
+                getActiveResourcesInfo(): string[];
+                /**
                  * The `process.getgid()` method returns the numerical group identity of the
                  * process. (See [`getgid(2)`](http://man7.org/linux/man-pages/man2/getgid.2.html).)
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getgid) {
@@ -678,5 +818,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getgid &#x26;&#x26; process.setgid) {
@@ -703,5 +843,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getuid) {
@@ -722,5 +862,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getuid &#x26;&#x26; process.setuid) {
@@ -746,5 +886,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.geteuid) {
@@ -765,5 +905,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.geteuid &#x26;&#x26; process.seteuid) {
@@ -790,5 +930,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getegid) {
@@ -809,5 +949,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getegid &#x26;&#x26; process.setegid) {
@@ -835,5 +975,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getgroups) {
@@ -855,5 +995,5 @@
                  *
                  * ```js
-                 * import process from 'process';
+                 * import process from 'node:process';
                  *
                  * if (process.getgroups &#x26;&#x26; process.setgroups) {
@@ -884,5 +1024,5 @@
                  * generations will be affected too
                  *
-                 * To unset the capture function,`process.setUncaughtExceptionCaptureCallback(null)` may be used. Calling this
+                 * To unset the capture function, `process.setUncaughtExceptionCaptureCallback(null)` may be used. Calling this
                  * method with a non-`null` argument while another capture function is set will
                  * throw an error.
@@ -907,5 +1047,5 @@
                  * stack traces.
                  *
-                 * It provides same features as launching Node.js process with commandline options`--enable-source-maps`.
+                 * It provides same features as launching Node.js process with commandline options `--enable-source-maps`.
                  *
                  * Only source maps in JavaScript files that are loaded after source maps has been
@@ -1091,6 +1231,6 @@
                  * length restrictions on the title. Usually such restrictions are quite limited.
                  * For instance, on Linux and macOS, `process.title` is limited to the size of the
-                 * binary name plus the length of the command-line arguments because setting the`process.title` overwrites the `argv` memory of the process. Node.js v0.8
-                 * allowed for longer process title strings by also overwriting the `environ`memory but that was potentially insecure and confusing in some (rather obscure)
+                 * binary name plus the length of the command-line arguments because setting the `process.title` overwrites the `argv` memory of the process. Node.js v0.8
+                 * allowed for longer process title strings by also overwriting the `environ` memory but that was potentially insecure and confusing in some (rather obscure)
                  * cases.
                  *
@@ -1279,4 +1419,12 @@
                 nextTick(callback: Function, ...args: any[]): void;
                 /**
+                 * This API is available through the [--experimental-permission](https://nodejs.org/api/cli.html#--experimental-permission) flag.
+                 *
+                 * `process.permission` is an object whose methods are used to manage permissions for the current process.
+                 * Additional documentation is available in the [Permission Model](https://nodejs.org/api/permissions.html#permission-model).
+                 * @since v20.0.0
+                 */
+                permission: ProcessPermission;
+                /**
                  * The `process.release` property returns an `Object` containing metadata related
                  * to the current release, including URLs for the source tarball and headers-only
@@ -1295,5 +1443,5 @@
                  * ```
                  *
-                 * In custom builds from non-release versions of the source tree, only the`name` property may be present. The additional properties should not be
+                 * In custom builds from non-release versions of the source tree, only the `name` property may be present. The additional properties should not be
                  * relied upon to exist.
                  * @since v3.0.0
@@ -1314,5 +1462,5 @@
                  * processes inherit the mask from the parent process.
                  * @since v0.1.19
-                 * @deprecated Calling `process.umask()` with no argument causes the process-wide umask to be written twice. This introduces a race condition between threads, and is a potential   *
+                 * @deprecated Calling `process.umask()` with no argument causes the process-wide umask to be written twice. This introduces a race condition between threads, and is a potential
                  * security vulnerability. There is no safe, cross-platform alternative API.
                  */
@@ -1358,5 +1506,5 @@
                  * not be the same as what is originally sent.
                  * @since v0.5.9
-                 * @param options used to parameterize the sending of certain types of handles.`options` supports the following properties:
+                 * @param options used to parameterize the sending of certain types of handles. `options` supports the following properties:
                  */
                 send?(
@@ -1364,5 +1512,5 @@
                     sendHandle?: any,
                     options?: {
-                        swallowErrors?: boolean | undefined;
+                        keepOpen?: boolean | undefined;
                     },
                     callback?: (error: Error | null) => void,
@@ -1375,11 +1523,11 @@
                  * The effect of calling `process.disconnect()` is the same as calling `ChildProcess.disconnect()` from the parent process.
                  *
-                 * If the Node.js process was not spawned with an IPC channel,`process.disconnect()` will be `undefined`.
+                 * If the Node.js process was not spawned with an IPC channel, `process.disconnect()` will be `undefined`.
                  * @since v0.7.2
                  */
                 disconnect(): void;
                 /**
-                 * If the Node.js process is spawned with an IPC channel (see the `Child Process` and `Cluster` documentation), the `process.connected` property will return`true` so long as the IPC
-                 * channel is connected and will return `false` after`process.disconnect()` is called.
+                 * If the Node.js process is spawned with an IPC channel (see the `Child Process` and `Cluster` documentation), the `process.connected` property will return `true` so long as the IPC
+                 * channel is connected and will return `false` after `process.disconnect()` is called.
                  *
                  * Once `process.connected` is `false`, it is no longer possible to send messages
@@ -1392,9 +1540,9 @@
                  * read-only `Set` of flags allowable within the `NODE_OPTIONS` environment variable.
                  *
-                 * `process.allowedNodeEnvironmentFlags` extends `Set`, but overrides`Set.prototype.has` to recognize several different possible flag
+                 * `process.allowedNodeEnvironmentFlags` extends `Set`, but overrides `Set.prototype.has` to recognize several different possible flag
                  * representations. `process.allowedNodeEnvironmentFlags.has()` will
                  * return `true` in the following cases:
                  *
-                 * * Flags may omit leading single (`-`) or double (`--`) dashes; e.g.,`inspect-brk` for `--inspect-brk`, or `r` for `-r`.
+                 * * Flags may omit leading single (`-`) or double (`--`) dashes; e.g., `inspect-brk` for `--inspect-brk`, or `r` for `-r`.
                  * * Flags passed through to V8 (as listed in `--v8-options`) may replace
                  * one or more _non-leading_ dashes for an underscore, or vice-versa;
@@ -1468,5 +1616,28 @@
                 resourceUsage(): ResourceUsage;
                 /**
-                 * The `process.traceDeprecation` property indicates whether the`--trace-deprecation` flag is set on the current Node.js process. See the
+                 * The initial value of `process.throwDeprecation` indicates whether the `--throw-deprecation` flag is set on the current Node.js process. `process.throwDeprecation`
+                 * is mutable, so whether or not deprecation warnings result in errors may be altered at runtime. See the documentation for the 'warning' event and the emitWarning()
+                 * method for more information.
+                 *
+                 * ```bash
+                 * $ node --throw-deprecation -p "process.throwDeprecation"
+                 * true
+                 * $ node -p "process.throwDeprecation"
+                 * undefined
+                 * $ node
+                 * > process.emitWarning('test', 'DeprecationWarning');
+                 * undefined
+                 * > (node:26598) DeprecationWarning: test
+                 * > process.throwDeprecation = true;
+                 * true
+                 * > process.emitWarning('test', 'DeprecationWarning');
+                 * Thrown:
+                 * [DeprecationWarning: test] { name: 'DeprecationWarning' }
+                 * ```
+                 * @since v0.9.12
+                 */
+                throwDeprecation: boolean;
+                /**
+                 * The `process.traceDeprecation` property indicates whether the `--trace-deprecation` flag is set on the current Node.js process. See the
                  * documentation for the `'warning' event` and the `emitWarning() method` for more information about this
                  * flag's behavior.
diff --git a/punycode.d.ts b/punycode.d.ts
index v20.12.7..v20.12.8 100644
--- a/punycode.d.ts
+++ b/punycode.d.ts
@@ -1,4 +1,4 @@
 /**
- * **The version of the punycode module bundled in Node.js is being deprecated.**In a future major version of Node.js this module will be removed. Users
+ * **The version of the punycode module bundled in Node.js is being deprecated. **In a future major version of Node.js this module will be removed. Users
  * currently depending on the `punycode` module should switch to using the
  * userland-provided [Punycode.js](https://github.com/bestiejs/punycode.js) module instead. For punycode-based URL
@@ -16,6 +16,6 @@
  * names in URLs are limited to ASCII characters only, Domain Names that contain
  * non-ASCII characters must be converted into ASCII using the Punycode scheme.
- * For instance, the Japanese character that translates into the English word,`'example'` is `'例'`. The Internationalized Domain Name, `'例.com'` (equivalent
- * to `'example.com'`) is represented by Punycode as the ASCII string`'xn--fsq.com'`.
+ * For instance, the Japanese character that translates into the English word, `'example'` is `'例'`. The Internationalized Domain Name, `'例.com'` (equivalent
+ * to `'example.com'`) is represented by Punycode as the ASCII string `'xn--fsq.com'`.
  *
  * The `punycode` module provides a simple implementation of the Punycode standard.
@@ -25,5 +25,5 @@
  * the module must be directed to the [Punycode.js](https://github.com/bestiejs/punycode.js) project.
  * @deprecated Since v7.0.0 - Deprecated
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/punycode.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/punycode.js)
  */
 declare module "punycode" {
diff --git a/querystring.d.ts b/querystring.d.ts
index v20.12.7..v20.12.8 100644
--- a/querystring.d.ts
+++ b/querystring.d.ts
@@ -10,12 +10,24 @@
  * standardized API. Use `URLSearchParams` when performance is not critical or
  * when compatibility with browser code is desirable.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/querystring.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/querystring.js)
  */
 declare module "querystring" {
     interface StringifyOptions {
+        /**
+         * The function to use when converting URL-unsafe characters to percent-encoding in the query string.
+         * @default `querystring.escape()`
+         */
         encodeURIComponent?: ((str: string) => string) | undefined;
     }
     interface ParseOptions {
+        /**
+         * Specifies the maximum number of keys to parse. Specify `0` to remove key counting limitations.
+         * @default 1000
+         */
         maxKeys?: number | undefined;
+        /**
+         * The function to use when decoding percent-encoded characters in the query string.
+         * @default `querystring.unescape()`
+         */
         decodeURIComponent?: ((str: string) => string) | undefined;
     }
@@ -36,5 +48,5 @@
      * given `obj` by iterating through the object's "own properties".
      *
-     * It serializes the following types of values passed in `obj`:[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) |
+     * It serializes the following types of values passed in `obj`: [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type) |
      * [number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) |
      * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) |
@@ -55,5 +67,5 @@
      *
      * By default, characters requiring percent-encoding within the query string will
-     * be encoded as UTF-8\. If an alternative encoding is required, then an alternative`encodeURIComponent` option will need to be specified:
+     * be encoded as UTF-8\. If an alternative encoding is required, then an alternative `encodeURIComponent` option will need to be specified:
      *
      * ```js
@@ -82,5 +94,5 @@
      * ```
      *
-     * The object returned by the `querystring.parse()` method _does not_prototypically inherit from the JavaScript `Object`. This means that typical`Object` methods such as `obj.toString()`,
+     * The object returned by the `querystring.parse()` method _does not_ prototypically inherit from the JavaScript `Object`. This means that typical `Object` methods such as `obj.toString()`,
      * `obj.hasOwnProperty()`, and others
      * are not defined and _will not work_.
@@ -99,5 +111,5 @@
      * @param str The URL query string to parse
      * @param [sep='&'] The substring used to delimit key and value pairs in the query string.
-     * @param [eq='='] . The substring used to delimit keys and values in the query string.
+     * @param [eq='='] The substring used to delimit keys and values in the query string.
      */
     function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery;
@@ -111,5 +123,5 @@
     const decode: typeof parse;
     /**
-     * The `querystring.escape()` method performs URL percent-encoding on the given`str` in a manner that is optimized for the specific requirements of URL
+     * The `querystring.escape()` method performs URL percent-encoding on the given `str` in a manner that is optimized for the specific requirements of URL
      * query strings.
      *
diff --git a/readline.d.ts b/readline.d.ts
index v20.12.7..v20.12.8 100644
--- a/readline.d.ts
+++ b/readline.d.ts
@@ -1,4 +1,5 @@
 /**
- * The `node:readline` module provides an interface for reading data from a `Readable` stream (such as `process.stdin`) one line at a time.
+ * The `node:readline` module provides an interface for reading data from a [Readable](https://nodejs.org/docs/latest-v20.x/api/stream.html#readable-streams) stream
+ * (such as [`process.stdin`](https://nodejs.org/docs/latest-v20.x/api/process.html#processstdin)) one line at a time.
  *
  * To use the promise-based APIs:
@@ -14,5 +15,5 @@
  * ```
  *
- * The following simple example illustrates the basic use of the `node:readline`module.
+ * The following simple example illustrates the basic use of the `node:readline` module.
  *
  * ```js
@@ -29,7 +30,7 @@
  * ```
  *
- * Once this code is invoked, the Node.js application will not terminate until the`readline.Interface` is closed because the interface waits for data to be
+ * Once this code is invoked, the Node.js application will not terminate until the `readline.Interface` is closed because the interface waits for data to be
  * received on the `input` stream.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/readline.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/readline.js)
  */
 declare module "readline" {
@@ -45,6 +46,6 @@
     }
     /**
-     * Instances of the `readline.Interface` class are constructed using the`readline.createInterface()` method. Every instance is associated with a
-     * single `input` `Readable` stream and a single `output` `Writable` stream.
+     * Instances of the `readline.Interface` class are constructed using the `readline.createInterface()` method. Every instance is associated with a
+     * single `input` [Readable](https://nodejs.org/docs/latest-v20.x/api/stream.html#readable-streams) stream and a single `output` [Writable](https://nodejs.org/docs/latest-v20.x/api/stream.html#writable-streams) stream.
      * The `output` stream is used to print prompts for user input that arrives on,
      * and is read from, the `input` stream.
@@ -124,5 +125,5 @@
         getPrompt(): string;
         /**
-         * The `rl.setPrompt()` method sets the prompt that will be written to `output`whenever `rl.prompt()` is called.
+         * The `rl.setPrompt()` method sets the prompt that will be written to `output` whenever `rl.prompt()` is called.
          * @since v0.1.98
          */
@@ -135,5 +136,5 @@
          * paused.
          *
-         * If the `Interface` was created with `output` set to `null` or`undefined` the prompt is not written.
+         * If the `Interface` was created with `output` set to `null` or `undefined` the prompt is not written.
          * @since v0.1.98
          * @param preserveCursor If `true`, prevents the cursor placement from being reset to `0`.
@@ -142,10 +143,10 @@
         /**
          * The `rl.question()` method displays the `query` by writing it to the `output`,
-         * waits for user input to be provided on `input`, then invokes the `callback`function passing the provided input as the first argument.
+         * waits for user input to be provided on `input`, then invokes the `callback` function passing the provided input as the first argument.
          *
          * When called, `rl.question()` will resume the `input` stream if it has been
          * paused.
          *
-         * If the `Interface` was created with `output` set to `null` or`undefined` the `query` is not written.
+         * If the `Interface` was created with `output` set to `null` or `undefined` the `query` is not written.
          *
          * The `callback` function passed to `rl.question()` does not follow the typical
@@ -189,5 +190,5 @@
          * later if necessary.
          *
-         * Calling `rl.pause()` does not immediately pause other events (including`'line'`) from being emitted by the `Interface` instance.
+         * Calling `rl.pause()` does not immediately pause other events (including `'line'`) from being emitted by the `Interface` instance.
          * @since v0.3.4
          */
@@ -219,5 +220,5 @@
          * paused.
          *
-         * If the `Interface` was created with `output` set to `null` or`undefined` the `data` and `key` are not written.
+         * If the `Interface` was created with `output` set to `null` or `undefined` the `data` and `key` are not written.
          *
          * ```js
@@ -227,5 +228,5 @@
          * ```
          *
-         * The `rl.write()` method will write the data to the `readline` `Interface`'s`input`_as if it were provided by the user_.
+         * The `rl.write()` method will write the data to the `readline` `Interface`'s `input` _as if it were provided by the user_.
          * @since v0.1.98
          */
@@ -339,5 +340,5 @@
     }
     /**
-     * The `readline.createInterface()` method creates a new `readline.Interface`instance.
+     * The `readline.createInterface()` method creates a new `readline.Interface` instance.
      *
      * ```js
@@ -383,5 +384,5 @@
      * If the `stream` is a `TTY`, then it must be in raw mode.
      *
-     * This is automatically called by any readline instance on its `input` if the`input` is a terminal. Closing the `readline` instance does not stop
+     * This is automatically called by any readline instance on its `input` if the `input` is a terminal. Closing the `readline` instance does not stop
      * the `input` from emitting `'keypress'` events.
      *
@@ -468,5 +469,5 @@
      * ```
      *
-     * Currently, `for await...of` loop can be a bit slower. If `async` / `await`flow and speed are both essential, a mixed approach can be applied:
+     * Currently, `for await...of` loop can be a bit slower. If `async` / `await` flow and speed are both essential, a mixed approach can be applied:
      *
      * ```js
@@ -503,5 +504,5 @@
     }
     /**
-     * The `readline.clearLine()` method clears current line of given `TTY` stream
+     * The `readline.clearLine()` method clears current line of given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) stream
      * in a specified direction identified by `dir`.
      * @since v0.7.7
@@ -511,5 +512,5 @@
     export function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean;
     /**
-     * The `readline.clearScreenDown()` method clears the given `TTY` stream from
+     * The `readline.clearScreenDown()` method clears the given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) stream from
      * the current position of the cursor down.
      * @since v0.7.7
@@ -520,5 +521,5 @@
     /**
      * The `readline.cursorTo()` method moves cursor to the specified position in a
-     * given `TTY` `stream`.
+     * given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) `stream`.
      * @since v0.7.7
      * @param callback Invoked once the operation completes.
@@ -528,5 +529,5 @@
     /**
      * The `readline.moveCursor()` method moves the cursor _relative_ to its current
-     * position in a given `TTY` `stream`.
+     * position in a given [TTY](https://nodejs.org/docs/latest-v20.x/api/tty.html) `stream`.
      * @since v0.7.7
      * @param callback Invoked once the operation completes.
diff --git a/repl.d.ts b/repl.d.ts
index v20.12.7..v20.12.8 100644
--- a/repl.d.ts
+++ b/repl.d.ts
@@ -7,5 +7,5 @@
  * const repl = require('node:repl');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/repl.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/repl.js)
  */
 declare module "repl" {
@@ -55,5 +55,5 @@
          * styling to REPL output. If a custom `writer` function is provided then this has no
          * effect.
-         * Default: the REPL instance's `terminal` value.
+         * @default the REPL instance's `terminal` value
          */
         useColors?: boolean | undefined;
@@ -62,5 +62,5 @@
          * `global` as the context as opposed to creating a new separate context for the REPL
          * instance. The node CLI REPL sets this value to `true`.
-         * Default: `false`.
+         * @default false
          */
         useGlobal?: boolean | undefined;
@@ -68,10 +68,10 @@
          * If `true`, specifies that the default writer will not output the return value of a
          * command if it evaluates to `undefined`.
-         * Default: `false`.
+         * @default false
          */
         ignoreUndefined?: boolean | undefined;
         /**
          * The function to invoke to format the output of each command before writing to `output`.
-         * Default: a wrapper for `util.inspect`.
+         * @default a wrapper for `util.inspect`
          *
          * @see https://nodejs.org/dist/latest-v20.x/docs/api/repl.html#repl_customizing_repl_output
@@ -96,5 +96,5 @@
          * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is
          * pressed. This cannot be used together with a custom `eval` function.
-         * Default: `false`.
+         * @default false
          */
         breakEvalOnSigint?: boolean | undefined;
@@ -298,5 +298,5 @@
          *
          * The `replServer.displayPrompt` method is primarily intended to be called from
-         * within the action function for commands registered using the`replServer.defineCommand()` method.
+         * within the action function for commands registered using the `replServer.defineCommand()` method.
          * @since v0.1.91
          */
diff --git a/stream.d.ts b/stream.d.ts
index v20.12.7..v20.12.8 100644
--- a/stream.d.ts
+++ b/stream.d.ts
@@ -15,5 +15,5 @@
  * The `node:stream` module is useful for creating new types of stream instances.
  * It is usually not necessary to use the `node:stream` module to consume streams.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/stream.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/stream.js)
  */
 declare module "stream" {
@@ -42,5 +42,7 @@
     import ReadableOptions = internal.ReadableOptions;
     interface ArrayOptions {
-        /** the maximum concurrent invocations of `fn` to call on the stream at once. **Default: 1**. */
+        /** the maximum concurrent invocations of `fn` to call on the stream at once.
+         * @default 1
+         */
         concurrency?: number;
         /** allows destroying the stream if the signal is aborted. */
@@ -76,5 +78,5 @@
         readonly readableDidRead: boolean;
         /**
-         * Getter for the property `encoding` of a given `Readable` stream. The `encoding`property can be set using the `readable.setEncoding()` method.
+         * Getter for the property `encoding` of a given `Readable` stream. The `encoding` property can be set using the `readable.setEncoding()` method.
          * @since v12.7.0
          */
@@ -133,5 +135,5 @@
          * in object mode.
          *
-         * The optional `size` argument specifies a specific number of bytes to read. If`size` bytes are not available to be read, `null` will be returned _unless_the stream has ended, in which
+         * The optional `size` argument specifies a specific number of bytes to read. If `size` bytes are not available to be read, `null` will be returned _unless_ the stream has ended, in which
          * case all of the data remaining in the internal
          * buffer will be returned.
@@ -208,5 +210,5 @@
          *
          * By default, no encoding is assigned and stream data will be returned as`Buffer` objects. Setting an encoding causes the stream data
-         * to be returned as strings of the specified encoding rather than as `Buffer`objects. For instance, calling `readable.setEncoding('utf8')` will cause the
+         * to be returned as strings of the specified encoding rather than as `Buffer` objects. For instance, calling `readable.setEncoding('utf8')` will cause the
          * output data to be interpreted as UTF-8 data, and passed as strings. Calling`readable.setEncoding('hex')` will cause the data to be encoded in hexadecimal
          * string format.
@@ -380,5 +382,5 @@
         unshift(chunk: any, encoding?: BufferEncoding): void;
         /**
-         * Prior to Node.js 0.10, streams did not implement the entire `node:stream`module API as it is currently defined. (See `Compatibility` for more
+         * Prior to Node.js 0.10, streams did not implement the entire `node:stream` module API as it is currently defined. (See `Compatibility` for more
          * information.)
          *
diff --git a/string_decoder.d.ts b/string_decoder.d.ts
index v20.12.7..v20.12.8 100644
--- a/string_decoder.d.ts
+++ b/string_decoder.d.ts
@@ -37,5 +37,5 @@
  * console.log(decoder.end(Buffer.from([0xAC]))); // Prints: €
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/string_decoder.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/string_decoder.js)
  */
 declare module "string_decoder" {
@@ -45,5 +45,5 @@
          * Returns a decoded string, ensuring that any incomplete multibyte characters at
          * the end of the `Buffer`, or `TypedArray`, or `DataView` are omitted from the
-         * returned string and stored in an internal buffer for the next call to`stringDecoder.write()` or `stringDecoder.end()`.
+         * returned string and stored in an internal buffer for the next call to `stringDecoder.write()` or `stringDecoder.end()`.
          * @since v0.1.99
          * @param buffer The bytes to decode.
@@ -55,5 +55,5 @@
          * substitution characters appropriate for the character encoding.
          *
-         * If the `buffer` argument is provided, one final call to `stringDecoder.write()`is performed before returning the remaining input.
+         * If the `buffer` argument is provided, one final call to `stringDecoder.write()` is performed before returning the remaining input.
          * After `end()` is called, the `stringDecoder` object can be reused for new input.
          * @since v0.9.3
diff --git a/test.d.ts b/test.d.ts
index v20.12.7..v20.12.8 100644
--- a/test.d.ts
+++ b/test.d.ts
@@ -19,5 +19,5 @@
  * 1. A synchronous function that is considered failing if it throws an exception,
  * and is considered passing otherwise.
- * 2. A function that returns a `Promise` that is considered failing if the`Promise` rejects, and is considered passing if the `Promise` fulfills.
+ * 2. A function that returns a `Promise` that is considered failing if the `Promise` rejects, and is considered passing if the `Promise` fulfills.
  * 3. A function that receives a callback function. If the callback receives any
  * truthy value as its first argument, the test is considered failing. If a
@@ -26,5 +26,5 @@
  * also returns a `Promise`, the test will fail.
  *
- * The following example illustrates how tests are written using the`test` module.
+ * The following example illustrates how tests are written using the `test` module.
  *
  * ```js
@@ -77,5 +77,5 @@
  * If any tests fail, the process exit code is set to `1`.
  * @since v18.0.0, v16.17.0
- * @see [source](https://github.com/nodejs/node/blob/v20.4.0/lib/test.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/test.js)
  */
 declare module "node:test" {
@@ -83,5 +83,5 @@
     import { AsyncResource } from "node:async_hooks";
     /**
-     * **Note:**`shard` is used to horizontally parallelize test running across
+     * **Note:** `shard` is used to horizontally parallelize test running across
      * machines or processes, ideal for large-scale executions across varied
      * environments. It's incompatible with `watch` mode, tailored for rapid
@@ -130,5 +130,5 @@
      * ```
      *
-     * The `timeout` option can be used to fail the test if it takes longer than`timeout` milliseconds to complete. However, it is not a reliable mechanism for
+     * The `timeout` option can be used to fail the test if it takes longer than `timeout` milliseconds to complete. However, it is not a reliable mechanism for
      * canceling tests because a running test might block the application thread and
      * thus prevent the scheduled cancellation.
@@ -136,6 +136,6 @@
      * @param [name='The name'] The name of the test, which is displayed when reporting test results.
      * @param options Configuration options for the test. The following properties are supported:
-     * @param [fn='A no-op function'] The function under test. The first argument to this function is a {@link TestContext} object. If the test uses callbacks, the callback function is passed as the
-     * second argument.
+     * @param [fn='A no-op function'] The function under test. The first argument to this function is a {@link TestContext} object. If the test uses callbacks, the
+     * callback function is passed as the second argument.
      * @return Fulfilled with `undefined` once the test completes, or immediately if the test runs within {@link describe}.
      */
@@ -329,5 +329,5 @@
     }
     /**
-     * A successful call to `run()` method will return a new `TestsStream` object, streaming a series of events representing the execution of the tests.`TestsStream` will emit events, in the
+     * A successful call to `run()` method will return a new `TestsStream` object, streaming a series of events representing the execution of the tests. `TestsStream` will emit events, in the
      * order of the tests definition
      * @since v18.9.0, v16.19.0
@@ -393,5 +393,5 @@
          * This function is used to create a hook running before subtest of the current test.
          * @param fn The hook function. If the hook uses callbacks, the callback function is passed as
-         *    the second argument. Default: A no-op function.
+         *    the second argument. **Default:** A no-op function.
          * @param options Configuration options for the hook.
          * @since v20.1.0
@@ -401,5 +401,5 @@
          * This function is used to create a hook running before each subtest of the current test.
          * @param fn The hook function. If the hook uses callbacks, the callback function is passed as
-         *    the second argument. Default: A no-op function.
+         *    the second argument. **Default:** A no-op function.
          * @param options Configuration options for the hook.
          * @since v18.8.0
@@ -408,5 +408,5 @@
         /**
          * This function is used to create a hook that runs after the current test finishes.
-         * @param fn The hook function. If the hook uses callbacks, the callback function is passed as
+         * @param [fn='A no-op function'] The hook function. If the hook uses callbacks, the callback function is passed as
          *    the second argument. Default: A no-op function.
          * @param options Configuration options for the hook.
@@ -417,5 +417,5 @@
          * This function is used to create a hook running after each subtest of the current test.
          * @param fn The hook function. If the hook uses callbacks, the callback function is passed as
-         *    the second argument. Default: A no-op function.
+         *    the second argument. **Default:** A no-op function.
          * @param options Configuration options for the hook.
          * @since v18.8.0
@@ -471,5 +471,5 @@
         readonly signal: AbortSignal;
         /**
-         * This function causes the test's output to indicate the test as skipped. If`message` is provided, it is included in the output. Calling `skip()` does
+         * This function causes the test's output to indicate the test as skipped. If `message` is provided, it is included in the output. Calling `skip()` does
          * not terminate execution of the test function. This function does not return a
          * value.
@@ -509,5 +509,5 @@
          * @param fn The function under test. This first argument to this function is a
          *    {@link TestContext} object. If the test uses callbacks, the callback function is
-         *    passed as the second argument. Default: A no-op function.
+         *    passed as the second argument. **Default:** A no-op function.
          * @returns A {@link Promise} resolved with `undefined` once the test completes.
          */
@@ -696,5 +696,5 @@
      * The `MockTracker` class is used to manage mocking functionality. The test runner
      * module provides a top level `mock` export which is a `MockTracker` instance.
-     * Each test also provides its own `MockTracker` instance via the test context's`mock` property.
+     * Each test also provides its own `MockTracker` instance via the test context's `mock` property.
      * @since v19.1.0, v18.13.0
      */
@@ -812,5 +812,5 @@
 
         /**
-         * This function is syntax sugar for `MockTracker.method` with `options.getter`set to `true`.
+         * This function is syntax sugar for `MockTracker.method` with `options.getter` set to `true`.
          * @since v19.3.0, v18.13.0
          */
@@ -834,5 +834,5 @@
         ): Mock<(() => MockedObject[MethodName]) | Implementation>;
         /**
-         * This function is syntax sugar for `MockTracker.method` with `options.setter`set to `true`.
+         * This function is syntax sugar for `MockTracker.method` with `options.setter` set to `true`.
          * @since v19.3.0, v18.13.0
          */
@@ -857,9 +857,9 @@
         /**
          * This function restores the default behavior of all mocks that were previously
-         * created by this `MockTracker` and disassociates the mocks from the`MockTracker` instance. Once disassociated, the mocks can still be used, but the`MockTracker` instance can no longer be
+         * created by this `MockTracker` and disassociates the mocks from the `MockTracker` instance. Once disassociated, the mocks can still be used, but the `MockTracker` instance can no longer be
          * used to reset their behavior or
          * otherwise interact with them.
          *
-         * After each test completes, this function is called on the test context's`MockTracker`. If the global `MockTracker` is used extensively, calling this
+         * After each test completes, this function is called on the test context's `MockTracker`. If the global `MockTracker` is used extensively, calling this
          * function manually is recommended.
          * @since v19.1.0, v18.13.0
@@ -927,5 +927,5 @@
         /**
          * This function returns the number of times that this mock has been invoked. This
-         * function is more efficient than checking `ctx.calls.length` because `ctx.calls`is a getter that creates a copy of the internal call tracking array.
+         * function is more efficient than checking `ctx.calls.length` because `ctx.calls` is a getter that creates a copy of the internal call tracking array.
          * @since v19.1.0, v18.13.0
          * @return The number of times that this mock has been invoked.
@@ -1051,5 +1051,5 @@
          * The above example enables mocking for the `Date` constructor, `setInterval` timer and
          * implicitly mocks the `clearInterval` function. Only the `Date` constructor from `globalThis`,
-         * `setInterval` and `clearInterval` functions from `node:timers`,`node:timers/promises`, and `globalThis` will be mocked.
+         * `setInterval` and `clearInterval` functions from `node:timers`, `node:timers/promises`, and `globalThis` will be mocked.
          *
          * Example usage with initial time set
@@ -1076,5 +1076,7 @@
          * The `Date` constructor from `globalThis` will be mocked.
          *
-         * If there is no initial epoch set, the initial date will be based on 0 in the Unix epoch. This is `January 1st, 1970, 00:00:00 UTC`. You can set an initial date by passing a now property to the `.enable()` method. This value will be used as the initial date for the mocked Date object. It can either be a positive integer, or another Date object.
+         * If there is no initial epoch set, the initial date will be based on 0 in the Unix epoch. This is `January 1st, 1970, 00:00:00 UTC`. You can
+         * set an initial date by passing a now property to the `.enable()` method. This value will be used as the initial date for the mocked Date
+         * object. It can either be a positive integer, or another Date object.
          * @since v20.4.0
          */
@@ -1421,5 +1423,5 @@
  * ```
  * @since v19.9.0
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/test/reporters.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/test/reporters.js)
  */
 declare module "node:test/reporters" {
diff --git a/timers.d.ts b/timers.d.ts
index v20.12.7..v20.12.8 100644
--- a/timers.d.ts
+++ b/timers.d.ts
@@ -7,5 +7,5 @@
  * provided by Web Browsers but use a different internal implementation that is
  * built around the Node.js [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout).
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/timers.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/timers.js)
  */
 declare module "timers" {
@@ -44,10 +44,10 @@
              *
              * By default, when an immediate is scheduled, the Node.js event loop will continue
-             * running as long as the immediate is active. The `Immediate` object returned by `setImmediate()` exports both `immediate.ref()` and `immediate.unref()`functions that can be used to
+             * running as long as the immediate is active. The `Immediate` object returned by `setImmediate()` exports both `immediate.ref()` and `immediate.unref()` functions that can be used to
              * control this default behavior.
              */
             class Immediate implements RefCounted {
                 /**
-                 * When called, requests that the Node.js event loop _not_ exit so long as the`Immediate` is active. Calling `immediate.ref()` multiple times will have no
+                 * When called, requests that the Node.js event loop _not_ exit so long as the `Immediate` is active. Calling `immediate.ref()` multiple times will have no
                  * effect.
                  *
@@ -101,5 +101,5 @@
                  * When called, the active `Timeout` object will not require the Node.js event loop
                  * to remain active. If there is no other activity keeping the event loop running,
-                 * the process may exit before the `Timeout` object's callback is invoked. Calling`timeout.unref()` multiple times will have no effect.
+                 * the process may exit before the `Timeout` object's callback is invoked. Calling `timeout.unref()` multiple times will have no effect.
                  * @since v0.9.1
                  * @return a reference to `timeout`
@@ -139,5 +139,5 @@
          * time specified.
          *
-         * When `delay` is larger than `2147483647` or less than `1`, the `delay`will be set to `1`. Non-integer delays are truncated to an integer.
+         * When `delay` is larger than `2147483647` or less than `1`, the `delay` will be set to `1`. Non-integer delays are truncated to an integer.
          *
          * If `callback` is not a function, a `TypeError` will be thrown.
diff --git a/tls.d.ts b/tls.d.ts
index v20.12.7..v20.12.8 100644
--- a/tls.d.ts
+++ b/tls.d.ts
@@ -7,5 +7,5 @@
  * const tls = require('node:tls');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/tls.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/tls.js)
  */
 declare module "tls" {
@@ -126,5 +126,5 @@
         asn1Curve?: string;
         /**
-         * The NIST name for the elliptic curve,if it has one
+         * The NIST name for the elliptic curve, if it has one
          * (not all well-known curves have been assigned names by NIST).
          */
@@ -279,5 +279,5 @@
          * connection. It returns an empty object when the key exchange is not
          * ephemeral. As this is only supported on a client socket; `null` is returned
-         * if called on a server socket. The supported types are `'DH'` and `'ECDH'`. The`name` property is available only when type is `'ECDH'`.
+         * if called on a server socket. The supported types are `'DH'` and `'ECDH'`. The `name` property is available only when type is `'ECDH'`.
          *
          * For example: `{ type: 'ECDH', name: 'prime256v1', size: 256 }`.
@@ -383,5 +383,5 @@
          * connection has been established.
          *
-         * When running as the server, the socket will be destroyed with an error after`handshakeTimeout` timeout.
+         * When running as the server, the socket will be destroyed with an error after `handshakeTimeout` timeout.
          *
          * For TLSv1.3, renegotiation cannot be initiated, it is not supported by the
@@ -976,5 +976,5 @@
      * such operates on a `certificate object`. For other purposes, consider using `x509.checkHost()` instead.
      *
-     * This function can be overwritten by providing an alternative function as the`options.checkServerIdentity` option that is passed to `tls.connect()`. The
+     * This function can be overwritten by providing an alternative function as the `options.checkServerIdentity` option that is passed to `tls.connect()`. The
      * overwriting function can call `tls.checkServerIdentity()` of course, to augment
      * the checks done with additional verification.
@@ -985,5 +985,5 @@
      * Earlier versions of Node.js incorrectly accepted certificates for a given`hostname` if a matching `uniformResourceIdentifier` subject alternative name
      * was present (see [CVE-2021-44531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531)). Applications that wish to accept`uniformResourceIdentifier` subject alternative names can use
-     * a custom`options.checkServerIdentity` function that implements the desired behavior.
+     * a custom `options.checkServerIdentity` function that implements the desired behavior.
      * @since v0.8.4
      * @param hostname The host name or IP address to verify the certificate against.
@@ -1093,5 +1093,5 @@
      * stream.
      *
-     * `tls.createSecurePair()` returns a `tls.SecurePair` object with `cleartext` and`encrypted` stream properties.
+     * `tls.createSecurePair()` returns a `tls.SecurePair` object with `cleartext` and `encrypted` stream properties.
      *
      * Using `cleartext` has the same API as {@link TLSSocket}.
@@ -1126,8 +1126,8 @@
     ): SecurePair;
     /**
-     * {@link createServer} sets the default value of the `honorCipherOrder` option
+     * `{@link createServer}` sets the default value of the `honorCipherOrder` option
      * to `true`, other APIs that create secure contexts leave it unset.
      *
-     * {@link createServer} uses a 128 bit truncated SHA1 hash value generated
+     * `{@link createServer}` uses a 128 bit truncated SHA1 hash value generated
      * from `process.argv` as the default value of the `sessionIdContext` option, other
      * APIs that create secure contexts have no default value.
@@ -1137,10 +1137,10 @@
      * but has no public methods. The {@link Server} constructor and the {@link createServer} method do not support the `secureContext` option.
      *
-     * A key is _required_ for ciphers that use certificates. Either `key` or`pfx` can be used to provide it.
+     * A key is _required_ for ciphers that use certificates. Either `key` or `pfx` can be used to provide it.
      *
      * If the `ca` option is not given, then Node.js will default to using [Mozilla's publicly trusted list of
      * CAs](https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt).
      *
-     * Custom DHE parameters are discouraged in favor of the new `dhparam: 'auto'`option. When set to `'auto'`, well-known DHE parameters of sufficient strength
+     * Custom DHE parameters are discouraged in favor of the new `dhparam: 'auto' `option. When set to `'auto'`, well-known DHE parameters of sufficient strength
      * will be selected automatically. Otherwise, if necessary, `openssl dhparam` can
      * be used to create custom parameters. The key length must be greater than or
@@ -1153,7 +1153,8 @@
      * Returns an array with the names of the supported TLS ciphers. The names are
      * lower-case for historical reasons, but must be uppercased to be used in
-     * the `ciphers` option of {@link createSecureContext}.
+     * the `ciphers` option of `{@link createSecureContext}`.
      *
-     * Not all supported ciphers are enabled by default. See `Modifying the default TLS cipher suite`.
+     * Not all supported ciphers are enabled by default. See
+     * [Modifying the default TLS cipher suite](https://nodejs.org/docs/latest-v20.x/api/tls.html#modifying-the-default-tls-cipher-suite).
      *
      * Cipher names that start with `'tls_'` are for TLSv1.3, all the others are for
@@ -1168,39 +1169,45 @@
     /**
      * The default curve name to use for ECDH key agreement in a tls server.
-     * The default value is 'auto'. See tls.createSecureContext() for further
+     * The default value is `'auto'`. See `{@link createSecureContext()}` for further
      * information.
+     * @since v0.11.13
      */
     let DEFAULT_ECDH_CURVE: string;
     /**
-     * The default value of the maxVersion option of
-     * tls.createSecureContext(). It can be assigned any of the supported TLS
-     * protocol versions, 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default:
-     * 'TLSv1.3', unless changed using CLI options. Using --tls-max-v1.2 sets
-     * the default to 'TLSv1.2'. Using --tls-max-v1.3 sets the default to
-     * 'TLSv1.3'. If multiple of the options are provided, the highest maximum
-     * is used.
+     * The default value of the `maxVersion` option of `{@link createSecureContext()}`.
+     * It can be assigned any of the supported TLS protocol versions,
+     * `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. **Default:** `'TLSv1.3'`, unless
+     * changed using CLI options. Using `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using
+     * `--tls-max-v1.3` sets the default to `'TLSv1.3'`. If multiple of the options
+     * are provided, the highest maximum is used.
+     * @since v11.4.0
      */
     let DEFAULT_MAX_VERSION: SecureVersion;
     /**
-     * The default value of the minVersion option of tls.createSecureContext().
+     * The default value of the `minVersion` option of `{@link createSecureContext()}`.
      * It can be assigned any of the supported TLS protocol versions,
-     * 'TLSv1.3', 'TLSv1.2', 'TLSv1.1', or 'TLSv1'. Default: 'TLSv1.2', unless
-     * changed using CLI options. Using --tls-min-v1.0 sets the default to
-     * 'TLSv1'. Using --tls-min-v1.1 sets the default to 'TLSv1.1'. Using
-     * --tls-min-v1.3 sets the default to 'TLSv1.3'. If multiple of the options
+     * `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. **Default:** `'TLSv1.2'`, unless
+     * changed using CLI options. Using `--tls-min-v1.0` sets the default to
+     * `'TLSv1'`. Using `--tls-min-v1.1` sets the default to `'TLSv1.1'`. Using
+     * `--tls-min-v1.3` sets the default to `'TLSv1.3'`. If multiple of the options
      * are provided, the lowest minimum is used.
+     * @since v11.4.0
      */
     let DEFAULT_MIN_VERSION: SecureVersion;
     /**
-     * The default value of the ciphers option of tls.createSecureContext().
+     * The default value of the `ciphers` option of `{@link createSecureContext()}`.
      * It can be assigned any of the supported OpenSSL ciphers.
-     * Defaults to the content of crypto.constants.defaultCoreCipherList, unless
-     * changed using CLI options using --tls-default-ciphers.
+     * Defaults to the content of `crypto.constants.defaultCoreCipherList`, unless
+     * changed using CLI options using `--tls-default-ciphers`.
+     * @since v19.8.0
      */
     let DEFAULT_CIPHERS: string;
     /**
-     * An immutable array of strings representing the root certificates (in PEM
-     * format) used for verifying peer certificates. This is the default value
-     * of the ca option to tls.createSecureContext().
+     * An immutable array of strings representing the root certificates (in PEM format)
+     * from the bundled Mozilla CA store as supplied by the current Node.js version.
+     *
+     * The bundled CA store, as supplied by Node.js, is a snapshot of Mozilla CA store
+     * that is fixed at release time. It is identical on all supported platforms.
+     * @since v12.3.0
      */
     const rootCertificates: readonly string[];
diff --git a/trace_events.d.ts b/trace_events.d.ts
index v20.12.7..v20.12.8 100644
--- a/trace_events.d.ts
+++ b/trace_events.d.ts
@@ -1,8 +1,8 @@
 /**
- * The `node:trace_events` module provides a mechanism to centralize tracing
- * information generated by V8, Node.js core, and userspace code.
+ * The `node:trace_events` module provides a mechanism to centralize tracing information
+ * generated by V8, Node.js core, and userspace code.
  *
  * Tracing can be enabled with the `--trace-event-categories` command-line flag
- * or by using the `node:trace_events` module. The `--trace-event-categories` flag
+ * or by using the `trace_events` module. The `--trace-event-categories` flag
  * accepts a list of comma-separated category names.
  *
@@ -10,22 +10,18 @@
  *
  * * `node`: An empty placeholder.
- * * `node.async_hooks`: Enables capture of detailed `async_hooks` trace data.
- * The `async_hooks` events have a unique `asyncId` and a special `triggerId` `triggerAsyncId` property.
+ * * `node.async_hooks`: Enables capture of detailed [`async_hooks`](https://nodejs.org/docs/latest-v20.x/api/async_hooks.html) trace data.
+ * The [`async_hooks`](https://nodejs.org/docs/latest-v20.x/api/async_hooks.html) events have a unique `asyncId` and a special `triggerId` `triggerAsyncId` property.
  * * `node.bootstrap`: Enables capture of Node.js bootstrap milestones.
- * * `node.console`: Enables capture of `console.time()` and `console.count()`output.
- * * `node.threadpoolwork.sync`: Enables capture of trace data for threadpool
- * synchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
- * * `node.threadpoolwork.async`: Enables capture of trace data for threadpool
- * asynchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
+ * * `node.console`: Enables capture of `console.time()` and `console.count()` output.
+ * * `node.threadpoolwork.sync`: Enables capture of trace data for threadpool synchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
+ * * `node.threadpoolwork.async`: Enables capture of trace data for threadpool asynchronous operations, such as `blob`, `zlib`, `crypto` and `node_api`.
  * * `node.dns.native`: Enables capture of trace data for DNS queries.
  * * `node.net.native`: Enables capture of trace data for network.
  * * `node.environment`: Enables capture of Node.js Environment milestones.
  * * `node.fs.sync`: Enables capture of trace data for file system sync methods.
- * * `node.fs_dir.sync`: Enables capture of trace data for file system sync
- * directory methods.
+ * * `node.fs_dir.sync`: Enables capture of trace data for file system sync directory methods.
  * * `node.fs.async`: Enables capture of trace data for file system async methods.
- * * `node.fs_dir.async`: Enables capture of trace data for file system async
- * directory methods.
- * * `node.perf`: Enables capture of `Performance API` measurements.
+ * * `node.fs_dir.async`: Enables capture of trace data for file system async directory methods.
+ * * `node.perf`: Enables capture of [Performance API](https://nodejs.org/docs/latest-v20.x/api/perf_hooks.html) measurements.
  *    * `node.perf.usertiming`: Enables capture of only Performance API User Timing
  *    measures and marks.
@@ -34,6 +30,6 @@
  * * `node.promises.rejections`: Enables capture of trace data tracking the number
  * of unhandled Promise rejections and handled-after-rejections.
- * * `node.vm.script`: Enables capture of trace data for the `node:vm` module's`runInNewContext()`, `runInContext()`, and `runInThisContext()` methods.
- * * `v8`: The `V8` events are GC, compiling, and execution related.
+ * * `node.vm.script`: Enables capture of trace data for the `node:vm` module's `runInNewContext()`, `runInContext()`, and `runInThisContext()` methods.
+ * * `v8`: The [V8](https://nodejs.org/docs/latest-v20.x/api/v8.html) events are GC, compiling, and execution related.
  * * `node.http`: Enables capture of trace data for http request / response.
  *
@@ -44,6 +40,6 @@
  * ```
  *
- * Prior versions of Node.js required the use of the `--trace-events-enabled`flag to enable trace events. This requirement has been removed. However, the`--trace-events-enabled` flag _may_ still be
- * used and will enable the`node`, `node.async_hooks`, and `v8` trace event categories by default.
+ * Prior versions of Node.js required the use of the `--trace-events-enabled` flag to enable trace events. This requirement has been removed. However, the `--trace-events-enabled` flag _may_ still be
+ * used and will enable the `node`, `node.async_hooks`, and `v8` trace event categories by default.
  *
  * ```bash
@@ -70,5 +66,5 @@
  * in the [`chrome://tracing`](https://www.chromium.org/developers/how-tos/trace-event-profiling-tool) tab of Chrome.
  *
- * The logging file is by default called `node_trace.${rotation}.log`, where`${rotation}` is an incrementing log-rotation id. The filepath pattern can
+ * The logging file is by default called `node_trace.${rotation}.log`, where `${rotation}` is an incrementing log-rotation id. The filepath pattern can
  * be specified with `--trace-event-file-pattern` that accepts a template
  * string that supports `${rotation}` and `${pid}`:
@@ -78,5 +74,5 @@
  * ```
  *
- * To guarantee that the log file is properly generated after signal events like`SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
+ * To guarantee that the log file is properly generated after signal events like `SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
  * in your code, such as:
  *
@@ -93,7 +89,7 @@
  * unlike `process.hrtime()` which returns nanoseconds.
  *
- * The features from this module are not available in `Worker` threads.
+ * The features from this module are not available in [`Worker`](https://nodejs.org/docs/latest-v20.x/api/worker_threads.html#class-worker) threads.
  * @experimental
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/trace_events.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/trace_events.js)
  */
 declare module "trace_events" {
@@ -112,4 +108,5 @@
          * A comma-separated list of the trace event categories covered by this
          * `Tracing` object.
+         * @since v10.0.0
          */
         readonly categories: string;
@@ -120,4 +117,21 @@
          * objects and _not_ specified by the `--trace-event-categories` flag
          * will be disabled.
+         *
+         * ```js
+         * const trace_events = require('node:trace_events');
+         * const t1 = trace_events.createTracing({ categories: ['node', 'v8'] });
+         * const t2 = trace_events.createTracing({ categories: ['node.perf', 'node'] });
+         * t1.enable();
+         * t2.enable();
+         *
+         * // Prints 'node,node.perf,v8'
+         * console.log(trace_events.getEnabledCategories());
+         *
+         * t2.disable(); // Will only disable emission of the 'node.perf' category
+         *
+         * // Prints 'node,v8'
+         * console.log(trace_events.getEnabledCategories());
+         * ```
+         * @since v10.0.0
          */
         disable(): void;
@@ -125,8 +139,10 @@
          * Enables this `Tracing` object for the set of categories covered by
          * the `Tracing` object.
+         * @since v10.0.0
          */
         enable(): void;
         /**
          * `true` only if the `Tracing` object has been enabled.
+         * @since v10.0.0
          */
         readonly enabled: boolean;
@@ -152,5 +168,4 @@
      * ```
      * @since v10.0.0
-     * @return .
      */
     function createTracing(options: CreateTracingOptions): Tracing;
@@ -161,5 +176,5 @@
      * enabled using the `--trace-event-categories` flag.
      *
-     * Given the file `test.js` below, the command`node --trace-event-categories node.perf test.js` will print`'node.async_hooks,node.perf'` to the console.
+     * Given the file `test.js` below, the command `node --trace-event-categories node.perf test.js` will print `'node.async_hooks,node.perf'` to the console.
      *
      * ```js
diff --git a/tty.d.ts b/tty.d.ts
index v20.12.7..v20.12.8 100644
--- a/tty.d.ts
+++ b/tty.d.ts
@@ -1,4 +1,4 @@
 /**
- * The `node:tty` module provides the `tty.ReadStream` and `tty.WriteStream`classes. In most cases, it will not be necessary or possible to use this module
+ * The `node:tty` module provides the `tty.ReadStream` and `tty.WriteStream` classes. In most cases, it will not be necessary or possible to use this module
  * directly. However, it can be accessed using:
  *
@@ -8,5 +8,5 @@
  *
  * When Node.js detects that it is being run with a text terminal ("TTY")
- * attached, `process.stdin` will, by default, be initialized as an instance of`tty.ReadStream` and both `process.stdout` and `process.stderr` will, by
+ * attached, `process.stdin` will, by default, be initialized as an instance of `tty.ReadStream` and both `process.stdout` and `process.stderr` will, by
  * default, be instances of `tty.WriteStream`. The preferred method of determining
  * whether Node.js is being run within a TTY context is to check that the value of
@@ -21,6 +21,6 @@
  *
  * In most cases, there should be little to no reason for an application to
- * manually create instances of the `tty.ReadStream` and `tty.WriteStream`classes.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/tty.js)
+ * manually create instances of the `tty.ReadStream` and `tty.WriteStream` classes.
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/tty.js)
  */
 declare module "tty" {
@@ -46,5 +46,5 @@
          *
          * This flag is always `false` when a process starts, even if the terminal is
-         * operating in raw mode. Its value will change with subsequent calls to`setRawMode`.
+         * operating in raw mode. Its value will change with subsequent calls to `setRawMode`.
          * @since v0.7.7
          */
@@ -77,5 +77,5 @@
     type Direction = -1 | 0 | 1;
     /**
-     * Represents the writable side of a TTY. In normal circumstances,`process.stdout` and `process.stderr` will be the only`tty.WriteStream` instances created for a Node.js process and there
+     * Represents the writable side of a TTY. In normal circumstances, `process.stdout` and `process.stderr` will be the only`tty.WriteStream` instances created for a Node.js process and there
      * should be no reason to create additional instances.
      * @since v0.5.8
@@ -150,5 +150,5 @@
          * * 16,777,216 colors: `FORCE_COLOR = 3`
          *
-         * Disabling color support is also possible by using the `NO_COLOR` and`NODE_DISABLE_COLORS` environment variables.
+         * Disabling color support is also possible by using the `NO_COLOR` and `NODE_DISABLE_COLORS` environment variables.
          * @since v9.9.0
          * @param [env=process.env] An object containing the environment variables to check. This enables simulating the usage of a specific terminal.
@@ -180,5 +180,5 @@
         /**
          * `writeStream.getWindowSize()` returns the size of the TTY
-         * corresponding to this `WriteStream`. The array is of the type`[numColumns, numRows]` where `numColumns` and `numRows` represent the number
+         * corresponding to this `WriteStream`. The array is of the type `[numColumns, numRows]` where `numColumns` and `numRows` represent the number
          * of columns and rows in the corresponding TTY.
          * @since v0.7.7
diff --git a/url.d.ts b/url.d.ts
index v20.12.7..v20.12.8 100644
--- a/url.d.ts
+++ b/url.d.ts
@@ -6,5 +6,5 @@
  * import url from 'node:url';
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.11.0/lib/url.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/url.js)
  */
 declare module "url" {
@@ -504,7 +504,7 @@
          *
          * Setting the value of this property to a new value is equivalent to creating a
-         * new `URL` object using `new URL(value)`. Each of the `URL`object's properties will be modified.
+         * new `URL` object using `new URL(value)`. Each of the `URL` object's properties will be modified.
          *
-         * If the value assigned to the `href` property is not a valid URL, a `TypeError`will be thrown.
+         * If the value assigned to the `href` property is not a valid URL, a `TypeError` will be thrown.
          */
         href: string;
@@ -665,5 +665,5 @@
          * ```
          *
-         * Any invalid URL characters appearing in the value assigned the `search`property will be `percent-encoded`. The selection of which
+         * Any invalid URL characters appearing in the value assigned the `search` property will be `percent-encoded`. The selection of which
          * characters to percent-encode may vary somewhat from what the {@link parse} and {@link format} methods would produce.
          */
@@ -859,5 +859,5 @@
         keys(): IterableIterator<string>;
         /**
-         * Sets the value in the `URLSearchParams` object associated with `name` to`value`. If there are any pre-existing name-value pairs whose names are `name`,
+         * Sets the value in the `URLSearchParams` object associated with `name` to `value`. If there are any pre-existing name-value pairs whose names are `name`,
          * set the first such pair's value to `value` and remove all others. If not,
          * append the name-value pair to the query string.
diff --git a/util.d.ts b/util.d.ts
index v20.12.7..v20.12.8 100644
--- a/util.d.ts
+++ b/util.d.ts
@@ -7,5 +7,5 @@
  * const util = require('node:util');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/util.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/util.js)
  */
 declare module "util" {
@@ -111,5 +111,5 @@
     /**
      * The `util.format()` method returns a formatted string using the first argument
-     * as a `printf`\-like format string which can contain zero or more format
+     * as a `printf`-like format string which can contain zero or more format
      * specifiers. Each specifier is replaced with the converted value from the
      * corresponding argument. Supported specifiers are:
@@ -122,5 +122,5 @@
      * ```
      *
-     * Values that are not part of the format string are formatted using`util.inspect()` if their type is not `string`.
+     * Values that are not part of the format string are formatted using `util.inspect()` if their type is not `string`.
      *
      * If there are more arguments passed to the `util.format()` method than the
@@ -133,5 +133,5 @@
      * ```
      *
-     * If the first argument does not contain a valid format specifier, `util.format()`returns a string that is the concatenation of all arguments separated by spaces:
+     * If the first argument does not contain a valid format specifier, `util.format()` returns a string that is the concatenation of all arguments separated by spaces:
      *
      * ```js
@@ -266,5 +266,5 @@
      * intended for debugging. The output of `util.inspect` may change at any time
      * and should not be depended upon programmatically. Additional `options` may be
-     * passed that alter the result.`util.inspect()` will use the constructor's name and/or `@@toStringTag` to make
+     * passed that alter the result. `util.inspect()` will use the constructor's name and/or `@@toStringTag` to make
      * an identifiable tag for an inspected value.
      *
@@ -508,5 +508,5 @@
     export function isDate(object: unknown): object is Date;
     /**
-     * Returns `true` if the given `object` is an `Error`. Otherwise, returns`false`.
+     * Returns `true` if the given `object` is an `Error`. Otherwise, returns `false`.
      *
      * ```js
@@ -522,5 +522,5 @@
      *
      * This method relies on `Object.prototype.toString()` behavior. It is
-     * possible to obtain an incorrect result when the `object` argument manipulates`@@toStringTag`.
+     * possible to obtain an incorrect result when the `object` argument manipulates `@@toStringTag`.
      *
      * ```js
@@ -539,9 +539,9 @@
     export function isError(object: unknown): object is Error;
     /**
-     * Usage of `util.inherits()` is discouraged. Please use the ES6 `class` and`extends` keywords to get language level inheritance support. Also note
+     * Usage of `util.inherits()` is discouraged. Please use the ES6 `class` and `extends` keywords to get language level inheritance support. Also note
      * that the two styles are [semantically incompatible](https://github.com/nodejs/node/issues/4179).
      *
      * Inherit the prototype methods from one [constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor) into another. The
-     * prototype of `constructor` will be set to a new object created from`superConstructor`.
+     * prototype of `constructor` will be set to a new object created from `superConstructor`.
      *
      * This mainly adds some input validation on top of`Object.setPrototypeOf(constructor.prototype, superConstructor.prototype)`.
@@ -694,5 +694,5 @@
     export function isBuffer(object: unknown): object is Buffer;
     /**
-     * Returns `true` if the given `object` is a `Function`. Otherwise, returns`false`.
+     * Returns `true` if the given `object` is a `Function`. Otherwise, returns `false`.
      *
      * ```js
@@ -882,5 +882,5 @@
      * ```
      *
-     * When called, `util.deprecate()` will return a function that will emit a`DeprecationWarning` using the `'warning'` event. The warning will
+     * When called, `util.deprecate()` will return a function that will emit a `DeprecationWarning` using the `'warning'` event. The warning will
      * be emitted and printed to `stderr` the first time the returned function is
      * called. After the warning is emitted, the wrapped function is called without
@@ -908,8 +908,8 @@
      * called.
      *
-     * If the `--throw-deprecation` command-line flag is set, or the`process.throwDeprecation` property is set to `true`, then an exception will be
+     * If the `--throw-deprecation` command-line flag is set, or the `process.throwDeprecation` property is set to `true`, then an exception will be
      * thrown when the deprecated function is called.
      *
-     * The `--throw-deprecation` command-line flag and `process.throwDeprecation`property take precedence over `--trace-deprecation` and`process.traceDeprecation`.
+     * The `--throw-deprecation` command-line flag and `process.throwDeprecation` property take precedence over `--trace-deprecation` and `process.traceDeprecation`.
      * @since v0.8.0
      * @param fn The function that is being deprecated.
@@ -942,5 +942,5 @@
      * function following the error-first callback style, i.e. taking
      * an `(err, value) => ...` callback as the last argument. In the callback, the
-     * first argument will be the rejection reason (or `null` if the `Promise`resolved), and the second argument will be the resolved value.
+     * first argument will be the rejection reason (or `null` if the `Promise` resolved), and the second argument will be the resolved value.
      *
      * ```js
@@ -969,5 +969,5 @@
      * Since `null` has a special meaning as the first argument to a callback, if a
      * wrapped function rejects a `Promise` with a falsy value as a reason, the value
-     * is wrapped in an `Error` with the original value stored in a field named`reason`.
+     * is wrapped in an `Error` with the original value stored in a field named `reason`.
      *
      * ```js
@@ -1098,8 +1098,8 @@
      * ```
      *
-     * If there is an `original[util.promisify.custom]` property present, `promisify`will return its value, see `Custom promisified functions`.
+     * If there is an `original[util.promisify.custom]` property present, `promisify` will return its value, see `Custom promisified functions`.
      *
      * `promisify()` assumes that `original` is a function taking a callback as its
-     * final argument in all cases. If `original` is not a function, `promisify()`will throw an error. If `original` is a function but its last argument is not
+     * final argument in all cases. If `original` is not a function, `promisify()` will throw an error. If `original` is a function but its last argument is not
      * an error-first callback, it will still be passed an error-first
      * callback as its last argument.
@@ -1175,4 +1175,97 @@
     }
     /**
+     * Stability: 1.1 - Active development
+     * Given an example `.env` file:
+     *
+     * ```js
+     * const { parseEnv } = require('node:util');
+     *
+     * parseEnv('HELLO=world\nHELLO=oh my\n');
+     * // Returns: { HELLO: 'oh my' }
+     * ```
+     * @param content The raw contents of a `.env` file.
+     * @since v20.12.0
+     */
+    export function parseEnv(content: string): object;
+    // https://nodejs.org/docs/latest/api/util.html#foreground-colors
+    type ForegroundColors =
+        | "black"
+        | "blackBright"
+        | "blue"
+        | "blueBright"
+        | "cyan"
+        | "cyanBright"
+        | "gray"
+        | "green"
+        | "greenBright"
+        | "grey"
+        | "magenta"
+        | "magentaBright"
+        | "red"
+        | "redBright"
+        | "white"
+        | "whiteBright"
+        | "yellow"
+        | "yellowBright";
+    // https://nodejs.org/docs/latest/api/util.html#background-colors
+    type BackgroundColors =
+        | "bgBlack"
+        | "bgBlackBright"
+        | "bgBlue"
+        | "bgBlueBright"
+        | "bgCyan"
+        | "bgCyanBright"
+        | "bgGray"
+        | "bgGreen"
+        | "bgGreenBright"
+        | "bgGrey"
+        | "bgMagenta"
+        | "bgMagentaBright"
+        | "bgRed"
+        | "bgRedBright"
+        | "bgWhite"
+        | "bgWhiteBright"
+        | "bgYellow"
+        | "bgYellowBright";
+    // https://nodejs.org/docs/latest/api/util.html#modifiers
+    type Modifiers =
+        | "blink"
+        | "bold"
+        | "dim"
+        | "doubleunderline"
+        | "framed"
+        | "hidden"
+        | "inverse"
+        | "italic"
+        | "overlined"
+        | "reset"
+        | "strikethrough"
+        | "underline";
+    /**
+     * Stability: 1.1 - Active development
+     *
+     * This function returns a formatted text considering the `format` passed.
+     *
+     * ```js
+     * const { styleText } = require('node:util');
+     * const errorMessage = styleText('red', 'Error! Error!');
+     * console.log(errorMessage);
+     * ```
+     *
+     * `util.inspect.colors` also provides text formats such as `italic`, and `underline` and you can combine both:
+     *
+     * ```js
+     * console.log(
+     *   util.styleText('underline', util.styleText('italic', 'My italic underlined message')),
+     * );
+     * ```
+     *
+     * The full list of formats can be found in [modifiers](https://nodejs.org/docs/latest-v20.x/api/util.html#modifiers).
+     * @param format A text format defined in `util.inspect.colors`.
+     * @param text The text to to be formatted.
+     * @since v20.12.0
+     */
+    export function styleText(format: ForegroundColors | BackgroundColors | Modifiers, text: string): string;
+    /**
      * An implementation of the [WHATWG Encoding Standard](https://encoding.spec.whatwg.org/) `TextDecoder` API.
      *
@@ -1211,5 +1304,5 @@
          * internally and emitted after the next call to `textDecoder.decode()`.
          *
-         * If `textDecoder.fatal` is `true`, decoding errors that occur will result in a`TypeError` being thrown.
+         * If `textDecoder.fatal` is `true`, decoding errors that occur will result in a `TypeError` being thrown.
          * @param input An `ArrayBuffer`, `DataView`, or `TypedArray` instance containing the encoded data.
          */
@@ -1590,5 +1683,5 @@
     }
     /**
-     * The `MIMEParams` API provides read and write access to the parameters of a`MIMEType`.
+     * The `MIMEParams` API provides read and write access to the parameters of a `MIMEType`.
      * @since v19.1.0, v18.13.0
      */
@@ -1631,5 +1724,5 @@
         keys(): IterableIterator<string>;
         /**
-         * Sets the value in the `MIMEParams` object associated with `name` to`value`. If there are any pre-existing name-value pairs whose names are `name`,
+         * Sets the value in the `MIMEParams` object associated with `name` to `value`. If there are any pre-existing name-value pairs whose names are `name`,
          * set the first such pair's value to `value`.
          *
@@ -1966,6 +2059,6 @@
      * ```
      *
-     * A value being `instanceof` a native error class is not equivalent to `isNativeError()`returning `true` for that value. `isNativeError()` returns `true` for errors
-     * which come from a different [realm](https://tc39.es/ecma262/#realm) while `instanceof Error` returns `false`for these errors:
+     * A value being `instanceof` a native error class is not equivalent to `isNativeError()` returning `true` for that value. `isNativeError()` returns `true` for errors
+     * which come from a different [realm](https://tc39.es/ecma262/#realm) while `instanceof Error` returns `false` for these errors:
      *
      * ```js
diff --git a/v8.d.ts b/v8.d.ts
index v20.12.7..v20.12.8 100644
--- a/v8.d.ts
+++ b/v8.d.ts
@@ -5,5 +5,5 @@
  * const v8 = require('node:v8');
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.11.0/lib/v8.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/v8.js)
  */
 declare module "v8" {
@@ -71,5 +71,5 @@
      * Returns an object with the following properties:
      *
-     * `does_zap_garbage` is a 0/1 boolean, which signifies whether the`--zap_code_space` option is enabled or not. This makes V8 overwrite heap
+     * `does_zap_garbage` is a 0/1 boolean, which signifies whether the `--zap_code_space` option is enabled or not. This makes V8 overwrite heap
      * garbage with a bit pattern. The RSS footprint (resident set size) gets bigger
      * because it continuously touches all heap pages and that makes them less likely
@@ -171,5 +171,5 @@
      * crashes and data loss; or it may simply do nothing.
      *
-     * The V8 options available for a version of Node.js may be determined by running`node --v8-options`.
+     * The V8 options available for a version of Node.js may be determined by running `node --v8-options`.
      *
      * Usage:
@@ -357,5 +357,5 @@
         /**
          * Reads the underlying wire format version. Likely mostly to be useful to
-         * legacy code reading old wire format versions. May not be called before`.readHeader()`.
+         * legacy code reading old wire format versions. May not be called before `.readHeader()`.
          */
         getWireFormatVersion(): number;
@@ -366,5 +366,5 @@
         readUint32(): number;
         /**
-         * Read a raw 64-bit unsigned integer and return it as an array `[hi, lo]`with two 32-bit unsigned integer entries.
+         * Read a raw 64-bit unsigned integer and return it as an array `[hi, lo]` with two 32-bit unsigned integer entries.
          * For use inside of a custom `deserializer._readHostObject()`.
          */
@@ -439,5 +439,5 @@
         start(): void;
         /**
-         * Stop collecting GC data and return an object.The content of object
+         * Stop collecting GC data and return an object. The content of object
          * is as follows.
          *
diff --git a/vm.d.ts b/vm.d.ts
index v20.12.7..v20.12.8 100644
--- a/vm.d.ts
+++ b/vm.d.ts
@@ -35,5 +35,5 @@
  * console.log(x); // 1; y is not defined.
  * ```
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/vm.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/vm.js)
  */
 declare module "vm" {
@@ -43,10 +43,10 @@
         /**
          * Specifies the filename used in stack traces produced by this script.
-         * Default: `''`.
+         * @default ''
          */
         filename?: string | undefined;
         /**
          * Specifies the line number offset that is displayed in stack traces produced by this script.
-         * Default: `0`.
+         * @default 0
          */
         lineOffset?: number | undefined;
@@ -65,9 +65,11 @@
         produceCachedData?: boolean | undefined;
         /**
-         * Called during evaluation of this module when `import()` is called.
-         * If this option is not specified, calls to `import()` will reject with `ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`.
+         * Used to specify how the modules should be loaded during the evaluation of this script when `import()` is called. This option is
+         * part of the experimental modules API. We do not recommend using it in a production environment. For detailed information, see
+         * [Support of dynamic `import()` in compilation APIs](https://nodejs.org/docs/latest-v20.x/api/vm.html#support-of-dynamic-import-in-compilation-apis).
          */
         importModuleDynamically?:
             | ((specifier: string, script: Script, importAttributes: ImportAttributes) => Module)
+            | typeof constants.USE_MAIN_CONTEXT_DEFAULT_LOADER
             | undefined;
     }
@@ -75,5 +77,5 @@
         /**
          * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace.
-         * Default: `true`.
+         * @default true
          */
         displayErrors?: boolean | undefined;
@@ -87,5 +89,5 @@
          * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that.
          * If execution is terminated, an `Error` will be thrown.
-         * Default: `false`.
+         * @default false
          */
         breakOnSigint?: boolean | undefined;
@@ -123,5 +125,5 @@
         /**
          * Specifies whether to produce new cache data.
-         * Default: `false`,
+         * @default false
          */
         produceCachedData?: boolean | undefined;
@@ -194,5 +196,5 @@
         constructor(code: string, options?: ScriptOptions | string);
         /**
-         * Runs the compiled code contained by the `vm.Script` object within the given`contextifiedObject` and returns the result. Running code does not have access
+         * Runs the compiled code contained by the `vm.Script` object within the given `contextifiedObject` and returns the result. Running code does not have access
          * to local scope.
          *
@@ -282,5 +284,5 @@
         runInThisContext(options?: RunningScriptOptions): any;
         /**
-         * Creates a code cache that can be used with the `Script` constructor's`cachedData` option. Returns a `Buffer`. This method may be called at any
+         * Creates a code cache that can be used with the `Script` constructor's `cachedData` option. Returns a `Buffer`. This method may be called at any
          * time and any number of times.
          *
@@ -320,5 +322,5 @@
         /**
          * When `cachedData` is supplied to create the `vm.Script`, this value will be set
-         * to either `true` or `false` depending on acceptance of the data by V8\.
+         * to either `true` or `false` depending on acceptance of the data by V8.
          * Otherwise the value is `undefined`.
          * @since v5.7.0
@@ -473,7 +475,7 @@
      * ```
      *
-     * Because `vm.runInThisContext()` does not have access to the local scope,`localVar` is unchanged. In contrast,
+     * Because `vm.runInThisContext()` does not have access to the local scope, `localVar` is unchanged. In contrast,
      * [`eval()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval) _does_ have access to the
-     * local scope, so the value `localVar` is changed. In this way`vm.runInThisContext()` is much like an [indirect `eval()` call](https://es5.github.io/#x10.4.2), e.g.`(0,eval)('code')`.
+     * local scope, so the value `localVar` is changed. In this way `vm.runInThisContext()` is much like an [indirect `eval()` call](https://es5.github.io/#x10.4.2), e.g.`(0,eval)('code')`.
      *
      * ## Example: Running an HTTP server within a VM
@@ -537,5 +539,5 @@
      * specific to the V8 engine and may change from one version of V8 to the next.
      *
-     * The returned result is different from the statistics returned by`v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measure the
+     * The returned result is different from the statistics returned by `v8.getHeapSpaceStatistics()` in that `vm.measureMemory()` measure the
      * memory reachable by each V8 specific contexts in the current instance of
      * the V8 engine, while the result of `v8.getHeapSpaceStatistics()` measure
@@ -605,5 +607,5 @@
      *
      * The `vm.Module` class provides a low-level interface for using
-     * ECMAScript modules in VM contexts. It is the counterpart of the `vm.Script`class that closely mirrors [Module Record](https://262.ecma-international.org/14.0/#sec-abstract-module-records) s as
+     * ECMAScript modules in VM contexts. It is the counterpart of the `vm.Script` class that closely mirrors [Module Record](https://262.ecma-international.org/14.0/#sec-abstract-module-records) s as
      * defined in the ECMAScript
      * specification.
@@ -743,5 +745,5 @@
          *
          * Other than `'errored'`, this status string corresponds to the specification's [Cyclic Module Record](https://tc39.es/ecma262/#sec-cyclic-module-records)'s `[[Status]]` field. `'errored'`
-         * corresponds to`'evaluated'` in the specification, but with `[[EvaluationError]]` set to a
+         * corresponds to `'evaluated'` in the specification, but with `[[EvaluationError]]` set to a
          * value that is not `undefined`.
          */
@@ -776,5 +778,5 @@
          *
          * If the returned `Module`'s `status` is `'unlinked'`, this method will be
-         * recursively called on the returned `Module` with the same provided `linker`function.
+         * recursively called on the returned `Module` with the same provided `linker` function.
          *
          * `link()` returns a `Promise` that will either get resolved when all linking
@@ -898,4 +900,20 @@
         setExport(name: string, value: any): void;
     }
+    /**
+     * Returns an object containing commonly used constants for VM operations.
+     * @since v20.12.0
+     */
+    namespace constants {
+        /**
+         * Stability: 1.1 - Active development
+         *
+         * A constant that can be used as the `importModuleDynamically` option to `vm.Script`
+         * and `vm.compileFunction()` so that Node.js uses the default ESM loader from the main
+         * context to load the requested module.
+         *
+         * For detailed information, see [Support of dynamic `import()` in compilation APIs](https://nodejs.org/docs/latest-v20.x/api/vm.html#support-of-dynamic-import-in-compilation-apis).
+         */
+        const USE_MAIN_CONTEXT_DEFAULT_LOADER: number;
+    }
 }
 declare module "node:vm" {
diff --git a/wasi.d.ts b/wasi.d.ts
index v20.12.7..v20.12.8 100644
--- a/wasi.d.ts
+++ b/wasi.d.ts
@@ -68,5 +68,5 @@
  * ```
  * @experimental
- * @see [source](https://github.com/nodejs/node/blob/v20.11.1/lib/wasi.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/wasi.js)
  */
 declare module "wasi" {
diff --git a/worker_threads.d.ts b/worker_threads.d.ts
index v20.12.7..v20.12.8 100644
--- a/worker_threads.d.ts
+++ b/worker_threads.d.ts
@@ -12,5 +12,5 @@
  *
  * Unlike `child_process` or `cluster`, `worker_threads` can share memory. They do
- * so by transferring `ArrayBuffer` instances or sharing `SharedArrayBuffer`instances.
+ * so by transferring `ArrayBuffer` instances or sharing `SharedArrayBuffer` instances.
  *
  * ```js
@@ -50,5 +50,5 @@
  * Worker threads inherit non-process-specific options by default. Refer to `Worker constructor options` to know how to customize worker thread options,
  * specifically `argv` and `execArgv` options.
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/worker_threads.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/worker_threads.js)
  */
 declare module "worker_threads" {
@@ -70,5 +70,5 @@
      * Instances of the `worker.MessageChannel` class represent an asynchronous,
      * two-way communications channel.
-     * The `MessageChannel` has no methods of its own. `new MessageChannel()`yields an object with `port1` and `port2` properties, which refer to linked `MessagePort` instances.
+     * The `MessageChannel` has no methods of its own. `new MessageChannel()` yields an object with `port1` and `port2` properties, which refer to linked `MessagePort` instances.
      *
      * ```js
@@ -93,5 +93,5 @@
      * Instances of the `worker.MessagePort` class represent one end of an
      * asynchronous, two-way communications channel. It can be used to transfer
-     * structured data, memory regions and other `MessagePort`s between different `Worker` s.
+     * structured data, memory regions and other `MessagePort`s between different `Worker`s.
      *
      * This implementation matches [browser `MessagePort`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort) s.
@@ -101,5 +101,5 @@
         /**
          * Disables further sending of messages on either side of the connection.
-         * This method can be called when no further communication will happen over this`MessagePort`.
+         * This method can be called when no further communication will happen over this `MessagePort`.
          *
          * The `'close' event` is emitted on both `MessagePort` instances that
@@ -109,5 +109,5 @@
         close(): void;
         /**
-         * Sends a JavaScript value to the receiving side of this channel.`value` is transferred in a way which is compatible with
+         * Sends a JavaScript value to the receiving side of this channel. `value` is transferred in a way which is compatible with
          * the [HTML structured clone algorithm](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm).
          *
@@ -115,5 +115,5 @@
          *
          * * `value` may contain circular references.
-         * * `value` may contain instances of builtin JS types such as `RegExp`s,`BigInt`s, `Map`s, `Set`s, etc.
+         * * `value` may contain instances of builtin JS types such as `RegExp`s, `BigInt`s, `Map`s, `Set`s, etc.
          * * `value` may contain typed arrays, both using `ArrayBuffer`s
          * and `SharedArrayBuffer`s.
@@ -141,5 +141,5 @@
          * from either thread. They cannot be listed in `transferList`.
          *
-         * `value` may still contain `ArrayBuffer` instances that are not in`transferList`; in that case, the underlying memory is copied rather than moved.
+         * `value` may still contain `ArrayBuffer` instances that are not in `transferList`; in that case, the underlying memory is copied rather than moved.
          *
          * ```js
@@ -187,7 +187,7 @@
         /**
          * Calling `unref()` on a port allows the thread to exit if this is the only
-         * active handle in the event system. If the port is already `unref()`ed calling`unref()` again has no effect.
+         * active handle in the event system. If the port is already `unref()`ed calling `unref()` again has no effect.
          *
-         * If listeners are attached or removed using `.on('message')`, the port is`ref()`ed and `unref()`ed automatically depending on whether
+         * If listeners are attached or removed using `.on('message')`, the port is `ref()`ed and `unref()`ed automatically depending on whether
          * listeners for the event exist.
          * @since v10.5.0
@@ -196,5 +196,5 @@
         /**
          * Starts receiving messages on this `MessagePort`. When using this port
-         * as an event emitter, this is called automatically once `'message'`listeners are attached.
+         * as an event emitter, this is called automatically once `'message'` listeners are attached.
          *
          * This method exists for parity with the Web `MessagePort` API. In Node.js,
@@ -416,5 +416,5 @@
         /**
          * Calling `unref()` on a worker allows the thread to exit if this is the only
-         * active handle in the event system. If the worker is already `unref()`ed calling`unref()` again has no effect.
+         * active handle in the event system. If the worker is already `unref()`ed calling `unref()` again has no effect.
          * @since v10.5.0
          */
@@ -575,5 +575,5 @@
     function markAsUntransferable(object: object): void;
     /**
-     * Transfer a `MessagePort` to a different `vm` Context. The original `port`object is rendered unusable, and the returned `MessagePort` instance
+     * Transfer a `MessagePort` to a different `vm` Context. The original `port` object is rendered unusable, and the returned `MessagePort` instance
      * takes its place.
      *
@@ -593,5 +593,5 @@
     /**
      * Receive a single message from a given `MessagePort`. If no message is available,`undefined` is returned, otherwise an object with a single `message` property
-     * that contains the message payload, corresponding to the oldest message in the`MessagePort`'s queue.
+     * that contains the message payload, corresponding to the oldest message in the `MessagePort`'s queue.
      *
      * ```js
@@ -606,5 +606,5 @@
      * ```
      *
-     * When this function is used, no `'message'` event is emitted and the`onmessage` listener is not invoked.
+     * When this function is used, no `'message'` event is emitted and the `onmessage` listener is not invoked.
      * @since v12.3.0
      */
@@ -641,5 +641,5 @@
     function getEnvironmentData(key: Serializable): Serializable;
     /**
-     * The `worker.setEnvironmentData()` API sets the content of`worker.getEnvironmentData()` in the current thread and all new `Worker`instances spawned from the current context.
+     * The `worker.setEnvironmentData()` API sets the content of `worker.getEnvironmentData()` in the current thread and all new `Worker` instances spawned from the current context.
      * @since v15.12.0, v14.18.0
      * @param key Any arbitrary, cloneable JavaScript value that can be used as a {Map} key.
diff --git a/zlib.d.ts b/zlib.d.ts
index v20.12.7..v20.12.8 100644
--- a/zlib.d.ts
+++ b/zlib.d.ts
@@ -9,5 +9,6 @@
  * ```
  *
- * Compression and decompression are built around the Node.js `Streams API`.
+ * Compression and decompression are built around the Node.js
+ * [Streams API](https://nodejs.org/docs/latest-v20.x/api/stream.html).
  *
  * Compressing or decompressing a stream (such as a file) can be accomplished by
@@ -89,5 +90,5 @@
  * ```
  * @since v0.5.8
- * @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/zlib.js)
+ * @see [source](https://github.com/nodejs/node/blob/v20.12.2/lib/zlib.js)
  */
 declare module "zlib" {
@@ -111,5 +112,12 @@
         strategy?: number | undefined; // compression only
         dictionary?: NodeJS.ArrayBufferView | ArrayBuffer | undefined; // deflate/inflate only, empty dictionary by default
+        /**
+         * If `true`, returns an object with `buffer` and `engine`.
+         */
         info?: boolean | undefined;
+        /**
+         * Limits output size when using convenience methods.
+         * @default buffer.kMaxLength
+         */
         maxOutputLength?: number | undefined;
     }
@@ -135,4 +143,8 @@
             }
             | undefined;
+        /**
+         * Limits output size when using [convenience methods](https://nodejs.org/docs/latest-v20.x/api/zlib.html#convenience-methods).
+         * @default buffer.kMaxLength
+         */
         maxOutputLength?: number | undefined;
     }
@@ -195,5 +207,5 @@
      * Creates and returns a new `DeflateRaw` object.
      *
-     * An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when `windowBits`is set to 8 for raw deflate streams. zlib would automatically set `windowBits`to 9 if was initially set to 8\. Newer
+     * An upgrade of zlib from 1.2.8 to 1.2.11 changed behavior when `windowBits` is set to 8 for raw deflate streams. zlib would automatically set `windowBits` to 9 if was initially set to 8. Newer
      * versions of zlib will throw an exception,
      * so Node.js restored the original behavior of upgrading a value of 8 to 9,
@@ -434,4 +446,5 @@
         const Z_DEFAULT_STRATEGY: number;
         const Z_DEFAULT_WINDOWBITS: number;
+
         const Z_MIN_WINDOWBITS: number;
         const Z_MAX_WINDOWBITS: number;
diff --git a/fs/promises.d.ts b/fs/promises.d.ts
index v20.12.7..v20.12.8 100644
--- a/fs/promises.d.ts
+++ b/fs/promises.d.ts
@@ -190,5 +190,5 @@
          * the default `r`. The `encoding` can be any one of those accepted by `Buffer`.
          *
-         * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'`the file descriptor will be closed automatically. If `autoClose` is false,
+         * If `autoClose` is set to true (default behavior) on `'error'` or `'finish'` the file descriptor will be closed automatically. If `autoClose` is false,
          * then the file descriptor won't be closed, even if there's an error.
          * It is the application's responsibility to close it and make sure there's no
@@ -269,5 +269,5 @@
          * The `FileHandle` has to support reading.
          *
-         * If one or more `filehandle.read()` calls are made on a file handle and then a`filehandle.readFile()` call is made, the data will be read from the current
+         * If one or more `filehandle.read()` calls are made on a file handle and then a `filehandle.readFile()` call is made, the data will be read from the current
          * position till the end of the file. It doesn't always read from the beginning
          * of the file.
@@ -376,5 +376,5 @@
         utimes(atime: TimeLike, mtime: TimeLike): Promise<void>;
         /**
-         * Asynchronously writes data to a file, replacing the file if it already exists.`data` can be a string, a buffer, an
+         * Asynchronously writes data to a file, replacing the file if it already exists. `data` can be a string, a buffer, an
          * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface), or an
          * [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol) object.
@@ -486,5 +486,5 @@
      * Tests a user's permissions for the file or directory specified by `path`.
      * The `mode` argument is an optional integer that specifies the accessibility
-     * checks to be performed. `mode` should be either the value `fs.constants.F_OK`or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`,`fs.constants.W_OK`, and `fs.constants.X_OK`
+     * checks to be performed. `mode` should be either the value `fs.constants.F_OK` or a mask consisting of the bitwise OR of any of `fs.constants.R_OK`, `fs.constants.W_OK`, and `fs.constants.X_OK`
      * (e.g.`fs.constants.W_OK | fs.constants.R_OK`). Check `File access constants` for
      * possible values of `mode`.
@@ -571,5 +571,5 @@
     function rename(oldPath: PathLike, newPath: PathLike): Promise<void>;
     /**
-     * Truncates (shortens or extends the length) of the content at `path` to `len`bytes.
+     * Truncates (shortens or extends the length) of the content at `path` to `len` bytes.
      * @since v10.0.0
      * @param [len=0]
@@ -581,5 +581,5 @@
      *
      * Using `fsPromises.rmdir()` on a file (not a directory) results in the
-     * promise being rejected with an `ENOENT` error on Windows and an `ENOTDIR`error on POSIX.
+     * promise being rejected with an `ENOENT` error on Windows and an `ENOTDIR` error on POSIX.
      *
      * To get a behavior similar to the `rm -rf` Unix command, use `fsPromises.rm()` with options `{ recursive: true, force: true }`.
@@ -598,5 +598,5 @@
      *
      * The optional `options` argument can be an integer specifying `mode` (permission
-     * and sticky bits), or an object with a `mode` property and a `recursive`property indicating whether parent directories should be created. Calling`fsPromises.mkdir()` when `path` is a directory
+     * and sticky bits), or an object with a `mode` property and a `recursive` property indicating whether parent directories should be created. Calling `fsPromises.mkdir()` when `path` is a directory
      * that exists results in a
      * rejection only when `recursive` is false.
@@ -748,5 +748,5 @@
      * Creates a symbolic link.
      *
-     * The `type` argument is only used on Windows platforms and can be one of `'dir'`,`'file'`, or `'junction'`. If the `type` argument is not a string, Node.js will
+     * The `type` argument is only used on Windows platforms and can be one of `'dir'`, `'file'`, or `'junction'`. If the `type` argument is not a string, Node.js will
      * autodetect `target` type and use `'file'` or `'dir'`. If the `target` does not
      * exist, `'file'` will be used. Windows junction points require the destination
@@ -868,5 +868,5 @@
      * * Values can be either numbers representing Unix epoch time, `Date`s, or a
      * numeric string like `'123456789.0'`.
-     * * If the value can not be converted to a number, or is `NaN`, `Infinity`, or`-Infinity`, an `Error` will be thrown.
+     * * If the value can not be converted to a number, or is `NaN`, `Infinity`, or `-Infinity`, an `Error` will be thrown.
      * @since v10.0.0
      * @return Fulfills with `undefined` upon success.
@@ -874,5 +874,5 @@
     function utimes(path: PathLike, atime: TimeLike, mtime: TimeLike): Promise<void>;
     /**
-     * Determines the actual location of `path` using the same semantics as the`fs.realpath.native()` function.
+     * Determines the actual location of `path` using the same semantics as the `fs.realpath.native()` function.
      *
      * Only paths that can be converted to UTF8 strings are supported.
@@ -928,5 +928,5 @@
      *
      * The `fsPromises.mkdtemp()` method will append the six randomly selected
-     * characters directly to the `prefix` string. For instance, given a directory`/tmp`, if the intention is to create a temporary directory _within_`/tmp`, the`prefix` must end with a trailing
+     * characters directly to the `prefix` string. For instance, given a directory `/tmp`, if the intention is to create a temporary directory _within_ `/tmp`, the `prefix` must end with a trailing
      * platform-specific path separator
      * (`require('node:path').sep`).
@@ -948,5 +948,5 @@
     function mkdtemp(prefix: string, options?: ObjectEncodingOptions | BufferEncoding | null): Promise<string | Buffer>;
     /**
-     * Asynchronously writes data to a file, replacing the file if it already exists.`data` can be a string, a buffer, an
+     * Asynchronously writes data to a file, replacing the file if it already exists. `data` can be a string, a buffer, an
      * [AsyncIterable](https://tc39.github.io/ecma262/#sec-asynciterable-interface), or an
      * [Iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol) object.
diff --git a/readline/promises.d.ts b/readline/promises.d.ts
index v20.12.7..v20.12.8 100644
--- a/readline/promises.d.ts
+++ b/readline/promises.d.ts
@@ -7,5 +7,5 @@
     import { Abortable } from "node:events";
     /**
-     * Instances of the `readlinePromises.Interface` class are constructed using the`readlinePromises.createInterface()` method. Every instance is associated with a
+     * Instances of the `readlinePromises.Interface` class are constructed using the `readlinePromises.createInterface()` method. Every instance is associated with a
      * single `input` `Readable` stream and a single `output` `Writable` stream.
      * The `output` stream is used to print prompts for user input that arrives on,
@@ -16,10 +16,10 @@
         /**
          * The `rl.question()` method displays the `query` by writing it to the `output`,
-         * waits for user input to be provided on `input`, then invokes the `callback`function passing the provided input as the first argument.
+         * waits for user input to be provided on `input`, then invokes the `callback` function passing the provided input as the first argument.
          *
          * When called, `rl.question()` will resume the `input` stream if it has been
          * paused.
          *
-         * If the `Interface` was created with `output` set to `null` or`undefined` the `query` is not written.
+         * If the `Interface` was created with `output` set to `null` or `undefined` the `query` is not written.
          *
          * If the question is called after `rl.close()`, it returns a rejected promise.
@@ -68,5 +68,5 @@
          * action that clears current line of the associated `stream` in a specified
          * direction identified by `dir`.
-         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
+         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
          * @since v17.0.0
          * @return this
@@ -77,5 +77,5 @@
          * action that clears the associated stream from the current position of the
          * cursor down.
-         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
+         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
          * @since v17.0.0
          * @return this
@@ -83,5 +83,5 @@
         clearScreenDown(): this;
         /**
-         * The `rl.commit()` method sends all the pending actions to the associated`stream` and clears the internal list of pending actions.
+         * The `rl.commit()` method sends all the pending actions to the associated `stream` and clears the internal list of pending actions.
          * @since v17.0.0
          */
@@ -90,5 +90,5 @@
          * The `rl.cursorTo()` method adds to the internal list of pending action an action
          * that moves cursor to the specified position in the associated `stream`.
-         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
+         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
          * @since v17.0.0
          * @return this
@@ -99,5 +99,5 @@
          * action that moves the cursor _relative_ to its current position in the
          * associated `stream`.
-         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true`was passed to the constructor.
+         * Call `rl.commit()` to see the effect of this method, unless `autoCommit: true` was passed to the constructor.
          * @since v17.0.0
          * @return this
@@ -113,5 +113,5 @@
     }
     /**
-     * The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface`instance.
+     * The `readlinePromises.createInterface()` method creates a new `readlinePromises.Interface` instance.
      *
      * ```js
diff --git a/stream/web.d.ts b/stream/web.d.ts
index v20.12.7..v20.12.8 100644
--- a/stream/web.d.ts
+++ b/stream/web.d.ts
@@ -352,5 +352,5 @@
     const CompressionStream: {
         prototype: CompressionStream;
-        new<R = any, W = any>(format: string): CompressionStream<R, W>;
+        new<R = any, W = any>(format: "deflate" | "deflate-raw" | "gzip"): CompressionStream<R, W>;
     };
     interface DecompressionStream<R = any, W = any> {
@@ -360,5 +360,5 @@
     const DecompressionStream: {
         prototype: DecompressionStream;
-        new<R = any, W = any>(format: string): DecompressionStream<R, W>;
+        new<R = any, W = any>(format: "deflate" | "deflate-raw" | "gzip"): DecompressionStream<R, W>;
     };
 }
diff --git a/timers/promises.d.ts b/timers/promises.d.ts
index v20.12.7..v20.12.8 100644
--- a/timers/promises.d.ts
+++ b/timers/promises.d.ts
@@ -1,5 +1,5 @@
 /**
  * The `timers/promises` API provides an alternative set of timer functions
- * that return `Promise` objects. The API is accessible via`require('node:timers/promises')`.
+ * that return `Promise` objects. The API is accessible via `require('node:timers/promises')`.
  *
  * ```js
@@ -67,4 +67,9 @@
     interface Scheduler {
         /**
+         * An experimental API defined by the [Scheduling APIs](https://github.com/WICG/scheduling-apis) draft specification being developed as a standard Web Platform API.
+         *
+         * Calling `timersPromises.scheduler.wait(delay, options)` is roughly equivalent to calling `timersPromises.setTimeout(delay, undefined, options)` except that the `ref`
+         * option is not supported.
+         *
          * ```js
          * import { scheduler } from 'node:timers/promises';
@@ -72,14 +77,13 @@
          * await scheduler.wait(1000); // Wait one second before continuing
          * ```
-         * An experimental API defined by the Scheduling APIs draft specification being developed as a standard Web Platform API.
-         * Calling timersPromises.scheduler.wait(delay, options) is roughly equivalent to calling timersPromises.setTimeout(delay, undefined, options) except that the ref option is not supported.
          * @since v16.14.0
          * @experimental
          * @param [delay=1] The number of milliseconds to wait before fulfilling the promise.
          */
-        wait: (delay?: number, options?: TimerOptions) => Promise<void>;
+        wait: (delay?: number, options?: Pick<TimerOptions, "signal">) => Promise<void>;
         /**
-         * An experimental API defined by the Scheduling APIs draft specification being developed as a standard Web Platform API.
-         * Calling timersPromises.scheduler.yield() is equivalent to calling timersPromises.setImmediate() with no arguments.
+         * An experimental API defined by the [Scheduling APIs](https://nodejs.org/docs/latest-v20.x/api/async_hooks.html#promise-execution-tracking) draft specification
+         * being developed as a standard Web Platform API.
+         * Calling `timersPromises.scheduler.yield()` is equivalent to calling `timersPromises.setImmediate()` with no arguments.
          * @since v16.14.0
          * @experimental
Size Files
1.9 MB → 2.0 MB (+24.4 KB 🟡) 65 → 65 (±0 🟢)
Command details
npm diff --diff=@types/node@20.12.7 --diff=@types/node@20.12.8 --diff-unified=2

See also the npm diff document.

Reported by ybiquitous/npm-diff-action@v1.6.0 (Node.js 22.1.0 and npm 10.7.0)

@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/typescript-1bc276c7bd branch from 86077e8 to b14aff2 Compare May 6, 2024 02:43
Bumps the typescript group with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@types/node` from 20.12.7 to 20.12.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: typescript
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/typescript-1bc276c7bd branch from b14aff2 to f0327a7 Compare May 6, 2024 02:45
@github-actions github-actions bot merged commit dc14210 into main May 6, 2024
6 checks passed
@github-actions github-actions bot deleted the dependabot/npm_and_yarn/typescript-1bc276c7bd branch May 6, 2024 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants