@pnpm/pnpr 0.1.0-alpha.7 → 0.1.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/package.json +9 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # @pnpm/pnpr
2
2
 
3
+ ## 0.1.0-alpha.9
4
+
5
+ ### Minor Changes
6
+
7
+ - Made the signed shared-artifact cache horizontally scalable with S3-compatible storage and an independent top-level `artifacts` feature toggle.
8
+
9
+ - Generalized the experimental shared-artifact protocol so candidates and signed payloads identify a discriminated subject. Dependency side effects use package and source-integrity subjects, while workspace tasks use project and task subjects.
10
+
11
+ This changes shared-artifact request bodies and signed payloads. A pnpr server and its clients have to be on matching versions.
12
+
13
+ ### Patch Changes
14
+
15
+ - A published build artifact is now immutable: one input key and one set of compatibility constraints admit one artifact, so publishing a different one over it answers `409 Conflict`, the same as a re-published `name@version`. Republishing the identical artifact still succeeds. Artifacts already stored by an earlier version keep their slot, so upgrading a populated registry does not leave them replaceable.
16
+
17
+ - A published build artifact is now immutable for every consumer it can reach, not only for the exact compatibility constraints it declares. Publishing an artifact that reaches a machine an existing one already reaches answers `409 Conflict`, so a later universal, broader, or higher-floor build can no longer take precedence over the artifact a consumer already receives. Publishing across a platform matrix is unaffected: artifacts for different operating systems, architectures, or Node majors reach no machine in common and coexist as before.
18
+
19
+ - pnpr reclaims unreferenced shared artifact blobs after ambiguous object-storage write failures once active publications drain.
20
+
21
+ - Recognize `pnpm install --fix-lockfile`, including filtered installs, and regenerate broken lockfile metadata while preserving compatible locked versions [pnpm/pnpm#14250](https://github.com/pnpm/pnpm/issues/14250).
22
+
23
+ - pnpr retains shared artifact quota after object storage reports an ambiguous write failure.
24
+
25
+ ## 0.1.0-alpha.8
26
+
27
+ ### Minor Changes
28
+
29
+ - Added an opt-in proof of concept that lets installs reuse a dependency's build output across machines, by publishing and restoring signed, organization-scoped artifacts through pnpr instead of running the lifecycle scripts locally.
30
+
31
+ Configure it with the new `remoteSideEffectsCache` setting. A workspace names the eligible `organization` and `packages`; everything describing the act of signing — `publish`, `keyId`, `builderId`, `trustedKeys`, `privateKey` and the provenance fields — is refused in `pnpm-workspace.yaml` and read from the global config file or the environment instead.
32
+
33
+ - Hosted pnpr registries now serve newly published original artifacts from registry-scoped SHA-512 digest URLs.
34
+
35
+ - Allowed `pnpm update --patches` to refresh registry revisions through a configured pnpr server while retaining locked package versions.
36
+
37
+ - Added explicit registry revision selection with `<version>+rN` and `pnpm update --patches` for refreshing revision artifacts without changing package versions. Registry-backed lockfile policy checks recognize historical revisions, and pnpr now preserves safe revision histories from upstream registries.
38
+
39
+ - Added support for registry replacement tarballs using standard integrity values, explicit revision fields, registry routing from the `registries` setting, non-redirecting integrity-addressed URLs, canonical safe-integer revision numbers, and pnpr proxying for immutable upstream revision artifacts.
40
+
41
+ ### Patch Changes
42
+
43
+ - Forward `patchedDependencies` hashes and `packageExtensions` to pnpr so server-side resolution preserves patches and package extensions in the lockfile and installed packages.
44
+
3
45
  ## 0.1.0-alpha.7
4
46
 
5
47
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/pnpr",
3
- "version": "0.1.0-alpha.7",
3
+ "version": "0.1.0-alpha.9",
4
4
  "description": "pnpm-compatible npm registry server, written in Rust",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -28,14 +28,14 @@
28
28
  "LICENSE.md"
29
29
  ],
30
30
  "optionalDependencies": {
31
- "@pnpm/pnpr.win32-x64": "0.1.0-alpha.7",
32
- "@pnpm/pnpr.win32-arm64": "0.1.0-alpha.7",
33
- "@pnpm/pnpr.darwin-x64": "0.1.0-alpha.7",
34
- "@pnpm/pnpr.darwin-arm64": "0.1.0-alpha.7",
35
- "@pnpm/pnpr.linux-x64": "0.1.0-alpha.7",
36
- "@pnpm/pnpr.linux-arm64": "0.1.0-alpha.7",
37
- "@pnpm/pnpr.linux-x64-musl": "0.1.0-alpha.7",
38
- "@pnpm/pnpr.linux-arm64-musl": "0.1.0-alpha.7"
31
+ "@pnpm/pnpr.win32-x64": "0.1.0-alpha.9",
32
+ "@pnpm/pnpr.win32-arm64": "0.1.0-alpha.9",
33
+ "@pnpm/pnpr.darwin-x64": "0.1.0-alpha.9",
34
+ "@pnpm/pnpr.darwin-arm64": "0.1.0-alpha.9",
35
+ "@pnpm/pnpr.linux-x64": "0.1.0-alpha.9",
36
+ "@pnpm/pnpr.linux-arm64": "0.1.0-alpha.9",
37
+ "@pnpm/pnpr.linux-x64-musl": "0.1.0-alpha.9",
38
+ "@pnpm/pnpr.linux-arm64-musl": "0.1.0-alpha.9"
39
39
  },
40
40
  "scripts": {
41
41
  "preinstall": "node install.js"