Перейти до основного вмісту

pnpm 11.21-11.22

· 8 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.21 and 11.22 teach pnpm install to update the lockfile in place for most everyday changes instead of re-resolving the whole dependency graph, stop recording SSH URLs that break installs on CI, make global installs switch over atomically and global interactive updates select whole install groups, add pnpm cache path, and take away a project's ability to relocate pnpm's machine-level state through pnpm-workspace.yaml.

What's different in pnpm 12

· 6 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 12 is a rewrite of pnpm in Rust, and it is currently a release candidate. Upgrading is not meant to be a migration: apart from the differences below, it keeps the commands, flags, settings, and lockfile format of pnpm 11, and the documentation applies to both versions.

Five things differ, and one of them — a removed flag — fails outright rather than behaving differently. This post collects them in one place.

pnpm 11.20

· 6 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.20 fixes a package-substitution risk in projects that install from more than one registry: packages resolved from a named registry are now recorded in the lockfile under registry-qualified keys. It also adds a built-in npmjs: alias, stops empty proxy settings from failing installs, hardens pnpm rebuild against a malicious lockfile, and speeds up dependency resolution.

pnpm 11.15-11.19

· 11 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.15 through 11.19 teach pnpm update and pnpm outdated to update GitHub Actions, let pnpm update write changesets for the bumps it makes, introduce cleaner update and audit settings sections, add publishConfig.name for publishing a package under a different name, harden pnpm self-update against project-supplied configuration, make web-based login work without a TTY, and accept = as a save-prefix. They also cut peak resolution memory by several times on large workspaces and speed up repeat installs after compatible dependency changes.

pnpm 11.11-11.14

· 11 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.11 through 11.14 add native workspace release management (pnpm change, pnpm lane, and a bare pnpm version -r), a pnpm doctor command that diagnoses your installation end to end, the pnpm access and pnpm team commands for managing packages and organizations on the registry, convergence overrides, and scheme-carrying peerDependencies specifiers. They also fix a path-traversal vulnerability, cut peak memory during cold-cache resolution by roughly 30%, and resolve a peer dependency deadlock.

pnpm 11.10

· 6 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.10 додає налаштування _auth для зручної автентифікації в реєстрі в CI, нові команди pnpm prefix та pnpm issues, а також можливість для pnpm self-update встановлювати pnpm v12 (порт на Rust). Ця версія також покращує точність pnpm up, прискорює вирішення залежностей для реєстрів, які ігнорують скорочені метадані, та посилює стабільність керування глобальними пакунками, pnpm deploy і pnpm pack-app.

pnpm 11.9

· 4 хв. читання
Золтан Кочан
Головний розробник pnpm

У версії pnpm 11.9 реалізовано обчислення цілісності відсутніх архівів для реєстрів, які не можуть оприлюднювати контрольні суми, додано команду pnpm sbom --exclude-peers, покращено продуктивність аудиту циклічних файлів блокування, виправлено недетермінованість визначення однорангових залежностей та посилено обробку виключень для параметрів minimumReleaseAge та trustPolicy.

pnpm 11.8

· 5 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.8 додає попередній перегляд встановлення без змін, генерацію мап пакунків для Node.js, розширене виведення SBOM, стандартну поведінку для pnpm view, яка тепер вказує на поточний пакунок, і коректні коди виходу для pnpm run --no-bail. Вона також містить виправлення обходу lockfile для залежностей конфігурації та багато виправлень детермінованості встановлення й оновлення.

pnpm 11.7

· 6 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm 11.7 додає налаштування frozenStore для встановлення з режимом сховища пакунків лише для читання, прапорець --batch для публікації всього робочого простору в одному запиті, токени автентифікації для конкретних областей видимості, а також делегує повне вирішення залежностей під час встановлення до pacquet. Крім того, у ній посилено контроль за використанням псевдонімів файлів блокування, декілька шляхів інсталяції тепер є детермінованими, а також включено низку виправлень, пов’язаних з публікацією та роботою в середовищі Windows.

Why pnpm no longer expands environment variables in a repository's .npmrc

· 6 хв. читання
Золтан Кочан
Головний розробник pnpm

pnpm used to expand ${ENV_VAR} placeholders everywhere it found them — including in the .npmrc and pnpm-workspace.yaml files that live inside the repository you just cloned. That turned out to be a way for a malicious repository to steal the secrets in your environment. As of v10.34.2 and v11.5.3, pnpm stops expanding environment variables in repository-controlled registry and credential settings.

This was a security fix (GHSA-3qhv-2rgh-x77r), and it is a breaking change for some setups. This post explains the attack, what exactly changed, and how to migrate.