Closed balena-renovate[bot] closed 1 year ago
Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 20.x
releases. But if you manually upgrade to 20.x
then Renovate will re-enable minor
and patch
updates automatically.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
This PR contains the following updates:
18.12.1-bullseye-slim
->20.6.0-bullseye-slim
Release Notes
nodejs/node (node)
### [`v20.6.0`](https://togithub.com/nodejs/node/releases/tag/v20.6.0): 2023-09-04, Version 20.6.0 (Current), @juanarbol prepared by @UlisesGascon [Compare Source](https://togithub.com/nodejs/node/compare/v20.5.1...v20.6.0) ##### Notable changes ##### built-in `.env` file support Starting from Node.js v20.6.0, Node.js supports `.env` files for configuring environment variables. Your configuration file should follow the INI file format, with each line containing a key-value pair for an environment variable. To initialize your Node.js application with predefined configurations, use the following CLI command: `node --env-file=config.env index.js`. For example, you can access the following environment variable using `process.env.PASSWORD` when your application is initialized: ```text PASSWORD=nodejs ``` In addition to environment variables, this change allows you to define your `NODE_OPTIONS` directly in the `.env` file, eliminating the need to include it in your `package.json`. This feature was contributed by Yagiz Nizipli in [#48890](https://togithub.com/nodejs/node/pull/48890). ##### `import.meta.resolve` unflagged In ES modules, [`import.meta.resolve(specifier)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import.meta/resolve) can be used to get an absolute URL string to which `specifier` resolves, similar to `require.resolve` in CommonJS. This aligns Node.js with browsers and other server-side runtimes. This feature was contributed by Guy Bedford in [#49028](https://togithub.com/nodejs/node/pull/49028) ##### New `node:module` API `register` for module customization hooks; new `initialize` hook There is a new API `register` available on `node:module` to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The “define the file with the hooks” part was previously handled by a flag `--experimental-loader`, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by calling `register` from the main thread and passing data, including `MessageChannel` instances. We encourage users to migrate to an approach that uses [`--import`](https://nodejs.org/api/cli.html#--importmodule) with `register`, such as: ```bash node --import ./file-that-calls-register.js ./app.js ``` Using `--import` ensures that the customization hooks are registered before any application code runs, even the entry point. This feature was contributed by Izaak Schroeder in [#48842](https://togithub.com/nodejs/node/pull/48842) and [#48559](https://togithub.com/nodejs/node/pull/48559) ##### Module customization `load` hook can now support CommonJS Authors of module customization hooks can how handle both ES module and CommonJS sources in the `load` hook. This works for CommonJS modules referenced via either `import` or `require`, so long as [the main entry point of the application is handled by the ES module loader](https://nodejs.org/api/cli.html#program-entry-point) (such as because the entry point is an ES module file, or if the `--import` flag is passed). This should simplify the customization of the Node.js module loading process, as package authors can customize more of Node.js without relying on deprecated APIs such as `require.extensions`. This feature was contributed by Antoine du Hamel in [#47999](https://togithub.com/nodejs/node/pull/47999) ##### Node.js C++ addons now have experimental support for cppgc (Oilpan), a C++ garbage collection library in V8. Now when Node.js starts up, it makes sure that there is a `v8::CppHeap` attached to the V8 isolate. This enables users to allocate in the `v8::CppHeap` using `Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.