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