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.
- package/CHANGELOG.md +40 -28
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 1.1.
|
|
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]
|
|
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**
|
|
22
|
-
`@noble/post-quantum`. That citation was incorrect
|
|
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
|
|
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
|
|
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]
|
|
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
|
|
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]
|
|
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
|
|
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
|
|
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`)
|
|
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
|
|
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]
|
|
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`
|
|
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
|
|
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`
|
|
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"]`
|
|
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
|
|
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]
|
|
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]
|
|
156
|
+
## [1.0.1] — 2026-05-21
|
|
145
157
|
|
|
146
158
|
### Added
|
|
147
|
-
- `AUDIT.md`
|
|
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`
|
|
161
|
+
- `test/vectors.json` — 29 deterministic test vectors pinning every primitive
|
|
150
162
|
output bit-for-bit
|
|
151
|
-
- `test/run-vectors.js`
|
|
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]
|
|
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
|
|
167
|
-
- `mlKem.keypairFromMaster(master, info
|
|
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]
|
|
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
|
+
"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
|
+
}
|