Skip to content

Commit bc927af

Browse files
authored
Merge pull request #5
Release 0.7.0
2 parents b7216d2 + 8befed9 commit bc927af

21 files changed

Lines changed: 2893 additions & 5306 deletions

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
strategy:
4040
matrix:
4141
os: [ubuntu-latest, macos-latest, windows-latest]
42-
node-version: [18, 20, 22]
42+
node-version: [20, 22]
4343
steps:
4444
- uses: actions/checkout@v4
4545

CHANGELOG.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.7.0] - 2026-03-24
11+
12+
### Added
13+
14+
- Published benchmark results in README (ops/sec for ML-KEM, ML-DSA, SLH-DSA)
15+
- `examples/` folder with 4 ready-to-run scripts: key encapsulation, digital signatures, hash-based signatures, CommonJS usage
16+
- Node ESM distribution (`dist/node-esm/`) for correct WASM loading under Node.js without a bundler
17+
- Packed-artifact smoke tests for Node ESM, CJS, and the integrity verifier CLI
18+
19+
### Changed
20+
21+
- README rewritten for developer onboarding: value proposition, "Try it now" code, benchmark tables, choosing parameter sets guide, and star CTA
22+
- Browser runtime status narrowed from "Supported" to "Compatible" (not yet CI-validated)
23+
- `fips-crypto/auto` documented as working with both ESM `import` and CommonJS `require()`
24+
- Upgraded vitest from v1 to v4 and removed `vite-plugin-wasm` dependency
25+
- Dropped Node.js 18 from CI matrix (EOL April 2025; vitest v4 requires Node 20+)
26+
- `engines.node` bumped to `>=20.0.0`
27+
- SLH-DSA internals refactored from per-variant arrow functions to string-based WASM binding lookup, eliminating 36 closure functions and improving coverage instrumentation
28+
- `patch-wasm.cjs` now patches all JS files in both `pkg/` and `pkg-node/`, with detailed comments explaining the Socket.dev eval-risk mitigation
29+
30+
### Fixed
31+
32+
- Socket.dev eval-risk false positive in `pkg-node/fips_crypto_wasm.js` (previously only `pkg/fips_crypto_wasm_bg.js` was patched)
33+
- ESM smoke test now uses `dist/node-esm/` instead of `dist/esm/` (bundler target), fixing WASM load failure on Node.js in CI
34+
- Coverage thresholds now pass under vitest v4's stricter function instrumentation
35+
1036
## [0.6.0] - 2026-03-22
1137

1238
### Added
@@ -170,7 +196,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
170196
- TypeScript/JavaScript wrappers with ESM and CJS support
171197
- SLH-DSA parameter set definitions (stubs)
172198

173-
[Unreleased]: https://github.com/fzheng/fips-crypto/compare/v0.6.0...HEAD
199+
[Unreleased]: https://github.com/fzheng/fips-crypto/compare/v0.7.0...HEAD
200+
[0.7.0]: https://github.com/fzheng/fips-crypto/compare/v0.6.0...v0.7.0
174201
[0.6.0]: https://github.com/fzheng/fips-crypto/compare/v0.5.0...v0.6.0
175202
[0.5.0]: https://github.com/fzheng/fips-crypto/compare/v0.4.0...v0.5.0
176203
[0.4.0]: https://github.com/fzheng/fips-crypto/compare/0.3.0...v0.4.0

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This document describes the development workflow for `fips-crypto`.
1111
Windows: install [rustup-init.exe](https://rustup.rs/)
1212
2. WebAssembly target: `rustup target add wasm32-unknown-unknown`
1313
3. `wasm-pack`: `cargo install wasm-pack`
14-
4. Node.js 18+
14+
4. Node.js 20+
1515

1616
### Getting Started
1717

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ resolver = "2"
33
members = ["rust"]
44

55
[workspace.package]
6-
version = "0.6.0"
6+
version = "0.7.0"
77
edition = "2024"
88
license = "MIT"
99
authors = ["Feng Zheng <fzheng@users.noreply.github.com>"]

0 commit comments

Comments
 (0)