# What changed in del

> 16 changes in del 9 from its official release notes, upgrade guides and advisories: 5 breaking, 1 security. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/del/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## del 9

### Breaking changes

- Deletion refuses directories containing the process working directory and paths reached through symlinks outside cwd, unless force is set. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- Negated paths inside matched directories are preserved, and the containing directories are kept while their other contents are deleted. Returned paths change accordingly. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- del now requires Node.js 22. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- The objectMode option has been removed from the types because del only returns paths. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- The stats option has been removed from the types because del only returns paths. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)

### Security

- Every matched path is checked before any deletion begins, preventing partial deletion before an out-of-cwd path is refused. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)

### Behavior and default changes

- The default concurrency is now 256 deletions at a time instead of Infinity. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- deleteAsync now waits for running deletions to finish before rejecting. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- With gitignore enabled, .gitignore files from the repository root down to cwd now apply. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)

### Fixes and other changes

- The error message is corrected when deleting the directory specified by the cwd option. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- deleteSync now respects the onProgress option. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- A deletion is retried up to three times on temporary errors such as EBUSY and EPERM. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- An undefined value no longer overrides the del default for expandDirectories. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- An undefined value no longer overrides the del default for followSymbolicLinks. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- An undefined value no longer overrides the del default for onlyFiles. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
- A path is no longer returned twice when patterns differ only by a trailing slash. (9.0.0) — [release notes](https://github.com/sindresorhus/del/releases/tag/v9.0.0)
