Skip to content

Commit dd74aac

Browse files
committed
docs: add release page
1 parent 3e20589 commit dd74aac

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

blog/releases/10.14.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: pnpm 10.14
3+
authors: zkochan
4+
tags: [release]
5+
date: 2025-07-31
6+
---
7+
8+
## Added support for JavaScript runtime resolution
9+
10+
Declare Node.js, Deno, or Bun in [`devEngines.runtime`](https://github.com/openjs-foundation/package-metadata-interoperability-collab-space/issues/15) (inside `package.json`) and let pnpm download and pin it automatically.
11+
12+
Usage example:
13+
14+
```json
15+
{
16+
"devEngines": {
17+
"runtime": {
18+
"name": "node",
19+
"version": "^24.4.0",
20+
"onFail": "download" (we only support the "download" value for now)
21+
}
22+
}
23+
}
24+
```
25+
26+
How it works:
27+
28+
1. `pnpm install` resolves your specified range to the latest matching runtime version.
29+
1. The exact version (and checksum) is saved in the lockfile.
30+
1. Scripts use the local runtime, ensuring consistency across environments.
31+
32+
Why this is better:
33+
34+
1. This new setting supports also Deno and Bun (vs. our Node-only settings `useNodeVersion` and `executionEnv.nodeVersion`)
35+
1. Supports version ranges (not just a fixed version).
36+
1. The resolved version is stored in the pnpm lockfile, along with an integrity checksum for future validation of the Node.js content's validity.
37+
1. It can be used on any workspace project (like `executionEnv.nodeVersion`). So, different projects in a workspace can use different runtimes.
38+
1. For now `devEngines.runtime` setting will install the runtime locally, which we will improve in future versions of pnpm by using a shared location on the computer.
39+
40+
Related PR: [#9755](https://github.com/pnpm/pnpm/pull/9755).
41+
42+
## Other new features
43+
44+
- Added `--cpu`, `--libc`, and `--os` to `pnpm install`, `pnpm add`, and `pnpm dlx` to customize `supportedArchitectures` via the CLI [#7510](https://github.com/pnpm/pnpm/issues/7510).
45+
46+
## Bug Fixes
47+
48+
- Fix a bug in which `pnpm add` downloads packages whose `libc` differ from `pnpm.supportedArchitectures.libc`.
49+
- The integrities of the downloaded Node.js artifacts are verified [#9750](https://github.com/pnpm/pnpm/pull/9750).
50+
- Allow `dlx` to parse CLI flags and options between the `dlx` command and the command to run or between the `dlx` command and `--` [#9719](https://github.com/pnpm/pnpm/issues/9719).
51+
- `pnpm install --prod` should removing hoisted dev dependencies [#9782](https://github.com/pnpm/pnpm/issues/9782).
52+
- Fix an edge case bug causing local tarballs to not re-link into the virtual store. This bug would happen when changing the contents of the tarball without renaming the file and running a filtered install.
53+
- Fix a bug causing `pnpm install` to incorrectly assume the lockfile is up to date after changing a local tarball that has peers dependencies.
54+

0 commit comments

Comments
 (0)