<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/pnpm-11-25-jlgejzm35" -->

---
title: pnpm 11.25 | daily.dev
description: pnpm 11.25 introduces a task scheduler that replaces topological batches, letting workspace tasks start as soon as their declared dependencies finish rather...
canonical: https://daily.dev/posts/pnpm-11-25-jlgejzm35
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: pnpm 11.25 | daily.dev
og:description: pnpm 11.25 introduces a task scheduler that replaces topological batches, letting workspace tasks start as soon as their declared dependencies finish rather...
og:url: https://daily.dev/posts/pnpm-11-25-jlgejzm35
og:image: https://api.daily.dev/og/posts/JLgEJzM35.png
og:image:alt: pnpm 11.25
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# pnpm 11.25

**[Fast, disk space efficient package manager \| pnpm](https://daily.dev/sources/pnpm-blog)** · 6 min read · 12 upvotes · 0 comments

## Summary

pnpm 11.25 introduces a task scheduler that replaces topological batches, letting workspace tasks start as soon as their declared dependencies finish rather than waiting for unrelated projects in the same group. Configurable task dependencies and per-task concurrency can be set via a new tasks field in pnpm-workspace.yaml, cycles now fail with ERR_PNPM_TASK_CYCLE, and --resume-from lets interrupted recursive runs skip work that already passed. Other additions include registry revisions (replacing an already-published artifact without changing the name@version URL), signed build artifacts shared through pnpr across machines, batch OTP approval for staged publishing, automatic pruning of stale audit exceptions, and a pnpm init that pins the latest released pnpm version. A long list of patch fixes covers registry/update correctness, installation and build issues, and workspace sorting performance.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://pnpm.io/blog/releases/11.25>

## Questions this post answers

### How do I configure task dependencies between workspace projects in pnpm 11.25?

Declare relationships under a tasks field in pnpm-workspace.yaml, using ^build to mean the build task in each workspace dependency and bare build to mean the task in the same project. A configured task with no dependsOn has no dependencies, while an unconfigured task keeps the old default of depending on the same task in workspace dependencies. Cycles now fail with ERR_PNPM_TASK_CYCLE unless ignoreWorkspaceCycles is set.

_Track workspace tooling changes like this as you tune monorepo build pipelines on daily.dev._

### How can I resume a failed pnpm recursive run without rerunning tasks that already passed?

Use --resume-from with pnpm run or exec, which reads a persisted record of successfully completed tasks and skips exactly the work that passed, wherever it appears in the graph, as of pnpm 11.25. The record is honored only when the same selected projects, command, arguments, scripts, and execution-affecting settings match; otherwise pnpm falls back to treating the named task's dependencies as completed while still running the task itself, its dependents, and unrelated work.

_Developers debugging flaky monorepo CI runs can follow pnpm release changes like this on daily.dev._

### What are registry revisions in pnpm and how do I refresh a package artifact without changing its version?

Registry revisions let a revision-aware registry replace the artifact of an already-published version without rewriting the canonical name@version URL, introduced in pnpm 11.25. No revision means revision 0, the immutable original; a dependency or override can select a replacement explicitly with <version>+rN, and running pnpm update --patches refreshes selected artifacts without changing any package version or declared range.

_Anyone weighing registry and supply-chain tooling choices can follow updates like this on daily.dev._

## Similar posts on daily.dev

- [pnpm 12.1](https://daily.dev/posts/pnpm-12-1-t8eddazp5) · Fast, disk space efficient package manager \| pnpm · 5 upvotes · 0 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#javascript](https://daily.dev/tags/javascript), [#pnpm](https://daily.dev/tags/pnpm)

[View this post on daily.dev](https://daily.dev/posts/pnpm-11-25-jlgejzm35)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"pnpm 11.25","url":"https://daily.dev/posts/pnpm-11-25-jlgejzm35","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/pnpm-11-25-jlgejzm35"},"datePublished":"2026-08-31T20:43:06.508Z","dateModified":"2026-08-31T21:01:01.197Z","description":"pnpm 11.25 introduces a task scheduler that replaces topological batches, letting workspace tasks start as soon as their declared dependencies finish rather...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/63763758f3e74381d631e88f7667e808?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/63763758f3e74381d631e88f7667e808?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Fast, disk space efficient package manager | pnpm","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Fast, disk space efficient package manager | pnpm","logo":"https://media.daily.dev/image/upload/s--JKuzGOiX--/f_auto,q_auto/v1787487440/logos/pnpm-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/pnpm-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/pnpm-11-25-jlgejzm35","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":12},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"general-programming,javascript,pnpm","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Fast, disk space efficient package manager | pnpm","item":"https://daily.dev/sources/pnpm-blog"},{"@type":"ListItem","position":3,"name":"pnpm 11.25"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/pnpm-11-25-jlgejzm35#faq","mainEntity":[{"@type":"Question","name":"How do I configure task dependencies between workspace projects in pnpm 11.25?","acceptedAnswer":{"@type":"Answer","text":"Declare relationships under a tasks field in pnpm-workspace.yaml, using ^build to mean the build task in each workspace dependency and bare build to mean the task in the same project. A configured task with no dependsOn has no dependencies, while an unconfigured task keeps the old default of depending on the same task in workspace dependencies. Cycles now fail with ERR_PNPM_TASK_CYCLE unless ignoreWorkspaceCycles is set. Track workspace tooling changes like this as you tune monorepo build pipelines on daily.dev."}},{"@type":"Question","name":"How can I resume a failed pnpm recursive run without rerunning tasks that already passed?","acceptedAnswer":{"@type":"Answer","text":"Use --resume-from with pnpm run or exec, which reads a persisted record of successfully completed tasks and skips exactly the work that passed, wherever it appears in the graph, as of pnpm 11.25. The record is honored only when the same selected projects, command, arguments, scripts, and execution-affecting settings match; otherwise pnpm falls back to treating the named task's dependencies as completed while still running the task itself, its dependents, and unrelated work. Developers debugging flaky monorepo CI runs can follow pnpm release changes like this on daily.dev."}},{"@type":"Question","name":"What are registry revisions in pnpm and how do I refresh a package artifact without changing its version?","acceptedAnswer":{"@type":"Answer","text":"Registry revisions let a revision-aware registry replace the artifact of an already-published version without rewriting the canonical name@version URL, introduced in pnpm 11.25. No revision means revision 0, the immutable original; a dependency or override can select a replacement explicitly with <version>+rN, and running pnpm update --patches refreshes selected artifacts without changing any package version or declared range. Anyone weighing registry and supply-chain tooling choices can follow updates like this on daily.dev."}}]}
```

