kxco-post-quantum 1.1.3 → 1.1.5

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 +40 -28
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  # Changelog
2
2
 
3
- ## 1.1.3 — 2026-05-23
3
+ ## 1.1.5 — 2026-05-24
4
+
5
+ Maintenance release. No breaking changes.
6
+
7
+
8
+
9
+ ## 1.1.4 — 2026-05-24
10
+
11
+ Maintenance release. No breaking changes.
12
+
13
+
14
+
15
+ ## 1.1.3 — 2026-05-23
4
16
 
5
17
  Maintenance release. No breaking changes.
6
18
 
@@ -12,21 +24,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
12
24
 
13
25
  ## [Unreleased]
14
26
 
15
- ## [1.1.2] — 2026-05-22
27
+ ## [1.1.2] — 2026-05-22
16
28
 
17
29
  Documentation correction. No code changes; no behaviour changes; no
18
30
  cryptographic surface changes vs `1.1.1`.
19
31
 
20
32
  ### Fixed
21
- - **AUDIT.md** §1 previously cited a 2024 Cure53 audit of
22
- `@noble/post-quantum`. That citation was incorrect — Cure53's 2023
33
+ - **AUDIT.md** §1 previously cited a 2024 Cure53 audit of
34
+ `@noble/post-quantum`. That citation was incorrect — Cure53's 2023
23
35
  NDS-01 audit covered `@noble/ciphers`, `@noble/curves`, and
24
36
  `@noble/hashes` only; the post-quantum package was not in scope. As of
25
37
  2026-05-22, upstream `@noble/post-quantum` has only been self-audited
26
- by its maintainer (v0.6.1, April 2026). AUDIT.md §1 has been rewritten
38
+ by its maintainer (v0.6.1, April 2026). AUDIT.md §1 has been rewritten
27
39
  to reflect the actual upstream audit posture. A correction notice is
28
40
  included at the top of the file. Reviewers who relied on the prior
29
- citation should re-read §1 of AUDIT.md.
41
+ citation should re-read §1 of AUDIT.md.
30
42
  - **CHANGELOG.md** 1.0.0 entry similarly stated "audited by Cure53,
31
43
  2024" alongside the upstream pin. That sentence has been corrected
32
44
  in-place in this release; the substance of the 1.0.0 release is
@@ -39,7 +51,7 @@ fix is a documentation rewrite; affected installs upgrade by pulling
39
51
  1.1.2. If your due-diligence pack referenced AUDIT.md from 1.0.1
40
52
  through 1.1.1, please refresh against 1.1.2.
41
53
 
42
- ## [1.1.1] — 2026-05-21
54
+ ## [1.1.1] — 2026-05-21
43
55
 
44
56
  Operational hardening release. No source-code changes; this is the first
45
57
  release published via **npm Trusted Publishing** rather than a long-lived
@@ -51,7 +63,7 @@ release published via **npm Trusted Publishing** rather than a long-lived
51
63
  workflow's `id-token: write` permission is the entire credential.
52
64
  Registered at https://www.npmjs.com/package/kxco-post-quantum/access
53
65
  binding `org=JackKXCO`, `repo=kxco-post-quantum`, `workflow=publish.yml`.
54
- - Repo-level `NPM_TOKEN` and `NPM_OTP` secrets removed — no long-lived
66
+ - Repo-level `NPM_TOKEN` and `NPM_OTP` secrets removed — no long-lived
55
67
  credentials remain in the publishing path.
56
68
 
57
69
  ### Why this matters
@@ -60,18 +72,18 @@ release published via **npm Trusted Publishing** rather than a long-lived
60
72
  - No more burning recovery codes per release. The publish workflow now
61
73
  runs hands-free on every `v*` tag push.
62
74
 
63
- ## [1.1.0] — 2026-05-21
75
+ ## [1.1.0] — 2026-05-21
64
76
 
65
77
  Same API. Same byte-for-byte outputs (all 29 pinned vectors still match).
66
78
  The package now runs in **browsers** as well as Node.
67
79
 
68
80
  ### Added
69
- - Isomorphic runtime — every module works identically in modern browsers
81
+ - Isomorphic runtime — every module works identically in modern browsers
70
82
  (Chromium, Firefox, Safari) and Node, served from CDNs like esm.sh
71
83
  with zero polyfill burden
72
84
  - `test/browser-smoke.test.js` runs the public API with `globalThis.Buffer`
73
85
  removed, asserts plain `Uint8Array` outputs and a clean hybrid-signing
74
- round trip — proves browser compatibility in CI
86
+ round trip — proves browser compatibility in CI
75
87
 
76
88
  ### Changed
77
89
  - HKDF-SHA-512 now sourced from `@noble/hashes/hkdf` (was `node:crypto`)
@@ -79,7 +91,7 @@ The package now runs in **browsers** as well as Node.
79
91
  - SHA-256 for kid fingerprints now sourced from `@noble/hashes/sha256`
80
92
  (was `node:crypto`)
81
93
  - Constant-time comparisons are portable byte loops (replaces
82
- `node:crypto.timingSafeEqual`) — identical security property,
94
+ `node:crypto.timingSafeEqual`) — identical security property,
83
95
  runs in browsers
84
96
  - Functions return `Buffer` on Node (when `globalThis.Buffer` is defined)
85
97
  and plain `Uint8Array` in browsers. **Backwards compatible** for Node
@@ -95,32 +107,32 @@ The package now runs in **browsers** as well as Node.
95
107
  ### Verification
96
108
  - 9 node tests pass
97
109
  - 6 browser-smoke tests pass
98
- - 29 pinned vectors still match — no cryptographic surface changes,
110
+ - 29 pinned vectors still match — no cryptographic surface changes,
99
111
  bit-for-bit identical to 1.0.3 in Node
100
112
 
101
- ## [1.0.3] — 2026-05-21
113
+ ## [1.0.3] — 2026-05-21
102
114
 
103
115
  First release ships with SLSA Level 2 provenance attestation tied to a
104
116
  public GitHub Actions workflow run. No cryptographic surface changes
105
- vs `1.0.2` — every diff is metadata, types, CI, and hygiene.
117
+ vs `1.0.2` — every diff is metadata, types, CI, and hygiene.
106
118
 
107
119
  ### Added
108
120
  - SLSA Level 2 provenance on every published release via GitHub Actions OIDC
109
121
  (`publishConfig.provenance: true`)
110
- - `.github/workflows/publish.yml` triggered by `v*` tags — runs tests then
122
+ - `.github/workflows/publish.yml` triggered by `v*` tags — runs tests then
111
123
  `npm publish --provenance --access public`
112
124
  - `.github/workflows/ci.yml` matrix over Node 18 / 20 / 22 on every push and PR
113
125
  - Hand-written TypeScript declarations (`.d.ts`) for all six modules; wired
114
126
  into `exports[*].types` so TypeScript consumers get full typings without
115
127
  any build step
116
- - `.github/dependabot.yml` — weekly npm + github-actions ecosystem checks
128
+ - `.github/dependabot.yml` — weekly npm + github-actions ecosystem checks
117
129
  - `sideEffects: false` for tree-shaking
118
130
  - `funding` field in `package.json`
119
131
  - Top-level `"types"` field in `package.json` pointing at `./src/index.d.ts`
120
132
 
121
133
  ### Changed
122
134
  - `package.json` `files` allowlist tightened to `["src", "README.md", "LICENSE",
123
- "SECURITY.md", "CHANGELOG.md"]` — locks down what ships to npm
135
+ "SECURITY.md", "CHANGELOG.md"]` — locks down what ships to npm
124
136
  - `package.json` `exports` now declares per-subpath `types` + `import` keys
125
137
  - `SECURITY.md` rewritten in the standard short-form template with explicit
126
138
  in-scope / out-of-scope split delegating primitive bugs upstream to
@@ -131,24 +143,24 @@ vs `1.0.2` — every diff is metadata, types, CI, and hygiene.
131
143
  and a 60-second live-verify quickstart added under the title
132
144
 
133
145
  ### Security
134
- - No cryptographic code changed in this release — every change is metadata,
146
+ - No cryptographic code changed in this release — every change is metadata,
135
147
  types, CI, and documentation. Production behaviour is bit-for-bit identical
136
148
  to `1.0.2`.
137
149
 
138
- ## [1.0.2] — 2026-05-21
150
+ ## [1.0.2] — 2026-05-21
139
151
 
140
152
  ### Changed
141
153
  - Repository URL on the npm package metadata now points to
142
154
  `github.com/JackKXCO/kxco-post-quantum`. No code change.
143
155
 
144
- ## [1.0.1] — 2026-05-21
156
+ ## [1.0.1] — 2026-05-21
145
157
 
146
158
  ### Added
147
- - `AUDIT.md` — self-attested audit posture with roadmap (external audit
159
+ - `AUDIT.md` — self-attested audit posture with roadmap (external audit
148
160
  Q3 2026, public bug bounty Q4 2026, FIPS 140-3 CMVP application 2027)
149
- - `test/vectors.json` — 29 deterministic test vectors pinning every primitive
161
+ - `test/vectors.json` — 29 deterministic test vectors pinning every primitive
150
162
  output bit-for-bit
151
- - `test/run-vectors.js` — runner anyone can use to verify reproducibility
163
+ - `test/run-vectors.js` — runner anyone can use to verify reproducibility
152
164
  - `npm test` runs both the functional tests and vector verification
153
165
  - `npm run test:vectors` for vector check only
154
166
 
@@ -159,12 +171,12 @@ vs `1.0.2` — every diff is metadata, types, CI, and hygiene.
159
171
 
160
172
  No API changes from `1.0.0`.
161
173
 
162
- ## [1.0.0] — 2026-05-21
174
+ ## [1.0.0] — 2026-05-21
163
175
 
164
176
  First stable release. Committed public API surface:
165
177
 
166
- - `mlDsa.keypairFromMaster(master, info?)`, `mlDsa.sign`, `mlDsa.verify`
167
- - `mlKem.keypairFromMaster(master, info?)`, `mlKem.encapsulate`, `mlKem.decapsulate`
178
+ - `mlDsa.keypairFromMaster(master, info—)`, `mlDsa.sign`, `mlDsa.verify`
179
+ - `mlKem.keypairFromMaster(master, info—)`, `mlKem.encapsulate`, `mlKem.decapsulate`
168
180
  - `deriveSeed(master, info, length)`
169
181
  - `fingerprint(publicKey)`, `kidEquals(a, b)`
170
182
  - `webhook.envelope`, `webhook.hmacHex`, `webhook.verifyHmac`,
@@ -177,7 +189,7 @@ Underlying primitives via `@noble/post-quantum@^0.2.1`. See `AUDIT.md` for
177
189
  upstream audit posture (no third-party audit of the PQ package; self-audited
178
190
  by maintainer at v0.6.1, April 2026). ESM-only. Node.js 18+.
179
191
 
180
- ## [0.1.0] — 2026-05-21
192
+ ## [0.1.0] — 2026-05-21
181
193
 
182
194
  Initial pre-release.
183
195
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kxco-post-quantum",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "Production-tested post-quantum cryptography patterns: deterministic key derivation, hybrid webhook signing, and kid fingerprinting. Built on @noble/post-quantum. Used in production at KXCO.",
5
5
  "keywords": [
6
6
  "post-quantum",
@@ -81,4 +81,4 @@
81
81
  "provenance": true,
82
82
  "access": "public"
83
83
  }
84
- }
84
+ }