v2.7.0
📦 denoView on GitHub →
✨ 18 features🐛 29 fixes🔧 26 symbols
Summary
This release introduces significant new CLI features like `deno create`, enhanced npm compatibility via overrides and module directory support, and stabilizes the Temporal API. Numerous bug fixes target Node.js compatibility, LSP resolution, and auditing.
✨ New Features
- Added `--ignore` flag to `deno audit` to filter advisories by CVE ID.
- Added `--check-js` flag to `deno check`.
- Added `--save-exact`/`--exact` flag to `deno add` and `deno install` commands.
- Added `deno create` command.
- Added `--self-extracting` flag to `deno compile`.
- Support for `include` and `exclude` in deploy configuration.
- Added `--keep-names` flag to `deno ext/bundle`.
- Added brotli support to `CompressionStream` and `DecompressionStream` in `deno ext/web`.
- Added `--fail-fast` flag to `deno fmt --check`.
- Added `tryLock(exclusive?: boolean): Promise<boolean>` to `FsFile` in `deno fs`.
- Support for `--node-modules-dir` for global installs (`-g`) and using a manual node_modules directory for `npm:` specifiers in `deno install`.
- Turned off failglob by default for `deno task`.
- Added unstable APIs: `Deno.spawn()`, `Deno.spawnAndWait{Sync}()`.
- Cached downloaded binaries for `deno upgrade`.
- Added support for `deno create jsr:<package>` and `deno init --jsr <package>`.
- Added `navigator.platform`.
- Implemented npm overrides support.
- Stabilized Temporal API.
🐛 Bug Fixes
- Gracefully handled malformed response in `deno audit`.
- Properly handled npm registries in subpaths for `deno audit`.
- Let esbuild handle data URLs in `deno bundle`.
- Used noble apt repo for LLVM 21 packages in CI.
- Fixed `createServer().listen().address()` returning port 0 in `node:http`.
- Improved compatibility for `util.parseEnv` and `process.loadEnvFile` in `node`.
- Added `host_arch` to `process.config.variables` in `node`.
- Added `openAsBlob` export to `node:fs`.
- Added missing `process.constrainedMemory()` API in `node`.
- Enabled test-stdio-closed tests in `node`.
- Enabled test-zlib-invalid-input-memory and test-zlib-un... tests in `node`.
- Handled shell redirections in `child_process exec` in `node`.
- Implemented timeout and killSignal for `spawn()` in `node`.
- Improved process event handling and added missing APIs in `node`.
- Preserved streaming body on stale keepalive retry in `node`.
- Removed `fs.promises.fstat` as it is not a public Node.js API.
- Supported URL in `child_process.fork` modulePath in `node`.
- Supported ipv6 host in `node:http`.
- Supported `--allow-scripts` with `deno install -g --compile ...`.
- Implemented remaining tsgo resolver callbacks in LSP.
- Qualified diagnostic source and message from tsgo in LSP.
- Improved typescript-go basic resolution in LSP.
- Preserved AsyncLocalStorage context in unhandledRejection handlers in `node`.
- Fixed `latin1Slice` and `hexSlice` returning wrong results in `node/buffer`.
- Allowed `/proc/pressure/*` files with `--allow-read` permission.
- Fixed `deno install --force --compile` behavior.
- Fixed detection of bound require reexports in CJS analysis.
- Formatted WASM stack traces correctly, preserved context in unhandled rejection, and improved cppgc inheritance performance.
- Formatted WASM stack traces per W3C spec.
Affected Symbols
deno auditdeno checkdeno adddeno installdeno createdeno compiledeploy configdeno ext/bundleCompressionStreamDecompressionStreamdeno fmtFsFileDeno.spawnDeno.spawnAndWaitDeno.spawnAndWaitSyncdeno upgradenavigator.platformTemporal APInode:httpchild_process.execnode:fsprocess.config.variableschild_process.forkAsyncLocalStoragenode/bufferdeno permissions