# @pnpm/building.policy

## 1100.1.8

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.9
  - @pnpm/deps.path@1101.0.7
  - @pnpm/types@1102.1.2

## 1100.1.7

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.8

## 1100.1.6

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.7
  - @pnpm/deps.path@1101.0.6

## 1100.1.5

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.6

## 1100.1.4

### Patch Changes

- `pnpm install` now fails with `ERR_PNPM_IGNORED_BUILDS` on a repeat install when `strictDepBuilds` is on and a dependency's build is still undecided. A repeat install against an existing `node_modules` reported success where a fresh install failed [pnpm/pnpm#10450](https://github.com/pnpm/pnpm/issues/10450).

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.5
  - @pnpm/deps.path@1101.0.5

## 1100.1.3

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.4
  - @pnpm/deps.path@1101.0.4
  - @pnpm/types@1102.1.1

## 1100.1.2

### Patch Changes

- Updated dependencies:
  - @pnpm/deps.path@1101.0.3

## 1100.1.1

### Patch Changes

- Updated dependencies:
  - @pnpm/deps.path@1101.0.2

## 1100.1.0

### Minor Changes

- Build scripts can now be rejected before the package is installed [#14067](https://github.com/pnpm/pnpm/issues/14067):

  - `pnpm add --allow-build=!<pkg>` records `<pkg>: false` in `allowBuilds`. It used to write a `!<pkg>: true` entry that matched no package. On a global install the denial was dropped altogether, so the post-install prompt offered the build for approval.
  - `pnpm approve-builds <pkg>` and `pnpm approve-builds !<pkg>` record their decision even when no packages are awaiting approval, and report a package that is not awaiting approval with a warning so a typo stays visible. Both cases used to fail the command with an error.

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.3

## 1100.0.21

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.2
  - @pnpm/deps.path@1101.0.1
  - @pnpm/types@1102.1.0

## 1100.0.20

### Patch Changes

- `pnpm remove` now prunes undecided entries (`"set this to true or false"`) from `allowBuilds` in `pnpm-workspace.yaml` when `sharedWorkspaceLockfile: true` and the corresponding packages are removed [pnpm/pnpm#13892](https://github.com/pnpm/pnpm/issues/13892).

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.1
  - @pnpm/deps.path@1101.0.0
  - @pnpm/types@1102.0.0

## 1100.0.19

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.2.0

## 1100.0.18

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.1.12
  - @pnpm/deps.path@1100.1.0
  - @pnpm/types@1101.9.0

## 1100.0.17

### Patch Changes

- `allowBuilds` entries can now approve git-hosted packages that pnpm downloads as a tarball, such as `github:` dependencies (which are fetched from `codeload.github.com` rather than cloned), by their repository URL without the resolved commit hash. This matches the hashless `git+` matching already supported for cloned git dependencies. For example:

  ```yaml
  allowBuilds:
    "foo@git+https://github.com/org/foo.git": true
  ```

  This approves the package whether pnpm clones it or downloads a tarball, so the entry no longer has to be updated every time the pinned commit changes. GitLab and Bitbucket tarball downloads are matched the same way. Approving or denying a specific resolved commit by its full tarball dep path continues to work.

- Updated dependencies:
  - @pnpm/config.version-policy@1100.1.11
  - @pnpm/deps.path@1100.0.13
  - @pnpm/types@1101.8.0

## 1100.0.16

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.1.10
  - @pnpm/deps.path@1100.0.12
  - @pnpm/types@1101.7.0

## 1100.0.15

### Patch Changes

- Republished every package: the tarballs published by the v11.13.1 through v11.16.0 releases were missing most of their compiled files due to a packing bug [#13164](https://github.com/pnpm/pnpm/issues/13164).

- Updated dependencies:
  - @pnpm/config.version-policy@1100.1.9
  - @pnpm/deps.path@1100.0.11
  - @pnpm/types@1101.6.0

## 1100.0.14

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.1.8
  - @pnpm/deps.path@1100.0.10
  - @pnpm/types@1101.5.0

## 1100.0.13

### Patch Changes

- Updated dependencies:
  - @pnpm/config.version-policy@1100.1.7
  - @pnpm/deps.path@1100.0.9
  - @pnpm/types@1101.4.0

## 1100.0.12

### Patch Changes

- c70e33e: Allow `allowBuilds` entries for git-hosted packages to match by repository URL without pinning the resolved commit hash. This lets trusted git repositories keep running their build scripts after branch updates without approving each new commit, while package-name-only rules still do not approve git-hosted artifacts.

## 1100.0.11

### Patch Changes

- Updated dependencies [25a829e]
- Updated dependencies [fbdc0eb]
  - @pnpm/config.version-policy@1100.1.6

## 1100.0.10

### Patch Changes

- Updated dependencies [681b593]
- Updated dependencies [a31faa7]
  - @pnpm/types@1101.3.2
  - @pnpm/config.version-policy@1100.1.5
  - @pnpm/deps.path@1100.0.8

## 1100.0.9

### Patch Changes

- bf1b731: Require trusted package identity before package-name `allowBuilds` entries can approve lifecycle scripts for git, git-hosted tarball, direct tarball, and local directory artifacts. To approve one of those artifacts explicitly, use its peer-suffix-free lockfile depPath as the `allowBuilds` key. Lockfile verification now rejects lockfiles where a registry-style dependency path (`name@semver`) is backed by a git, directory, or git-hosted tarball resolution (`ERR_PNPM_RESOLUTION_SHAPE_MISMATCH`), so the dependency path is a reliable artifact identity by the time scripts can run.
- Updated dependencies [bf1b731]
  - @pnpm/types@1101.3.1
  - @pnpm/config.version-policy@1100.1.4
  - @pnpm/deps.path@1100.0.7

## 1100.0.8

### Patch Changes

- Updated dependencies [a017bf3]
  - @pnpm/types@1101.3.0
  - @pnpm/config.version-policy@1100.1.3
  - @pnpm/deps.path@1100.0.6

## 1100.0.7

### Patch Changes

- Updated dependencies [35d2355]
  - @pnpm/types@1101.2.0
  - @pnpm/config.version-policy@1100.1.2
  - @pnpm/deps.path@1100.0.5

## 1100.0.6

### Patch Changes

- Updated dependencies [64afc92]
  - @pnpm/types@1101.1.1
  - @pnpm/config.version-policy@1100.1.1
  - @pnpm/deps.path@1100.0.4

## 1100.0.5

### Patch Changes

- Updated dependencies [b6e2c8c]
  - @pnpm/config.version-policy@1100.1.0

## 1100.0.4

### Patch Changes

- Updated dependencies [b61e268]
  - @pnpm/types@1101.1.0
  - @pnpm/config.version-policy@1100.0.3
  - @pnpm/deps.path@1100.0.3

## 1100.0.3

### Patch Changes

- ab6c42d: Treat `allowBuilds` as an install-state input and clear previously ignored builds when they are explicitly disallowed.

## 1100.0.2

### Patch Changes

- 184ce26: Fix the package name in README.md.
  - @pnpm/config.version-policy@1100.0.2

## 1100.0.1

### Patch Changes

- Updated dependencies [ff28085]
  - @pnpm/types@1101.0.0
  - @pnpm/config.version-policy@1100.0.1

## 1000.0.0

### Major Changes

- 2fccb03: Initial release
- cb367b9: Remove deprecated build dependency settings: `onlyBuiltDependencies`, `onlyBuiltDependenciesFile`, `neverBuiltDependencies`, and `ignoredBuiltDependencies`.
- 7354e6b: Initial release.

### Minor Changes

- 82f4610: Git dependencies with build scripts should respect the `dangerouslyAllowAllBuilds` settings [#10376](https://github.com/pnpm/pnpm/issues/10376).

### Patch Changes

- Updated dependencies [76718b3]
- Updated dependencies [a8f016c]
- Updated dependencies [cc1b8e3]
- Updated dependencies [491a84f]
- Updated dependencies [7d2fd48]
- Updated dependencies [efb48dc]
- Updated dependencies [cb367b9]
- Updated dependencies [7b1c189]
- Updated dependencies [8ffb1a7]
- Updated dependencies [05fb1ae]
- Updated dependencies [71de2b3]
- Updated dependencies [10bc391]
- Updated dependencies [2df8b71]
- Updated dependencies [15549a9]
- Updated dependencies [cc7c0d2]
- Updated dependencies [efb48dc]
  - @pnpm/types@1001.0.0
  - @pnpm/config.version-policy@1000.0.1
