* feat(argon2): switch backend to argon2-rust
Replace RustCrypto argon2 with argon2-rust 1.0.0 from crates.io.
Keep the public JS API. Verify accepts node-argon2 PHC param order
and associatedData. The bench pins the same raw params, salt, and
tag across implementations.
* fix(argon2): keep Node 22 tests and bound verify threads
Skip the node:crypto.argon2Sync comparison on runtimes that lack it.
Cap worker threads at available parallelism so a PHC p= value cannot
spawn one OS thread per lane. Allocate tag buffers with try_reserve
instead of vec! so a huge outputLen is a JS error, not a process abort.
* fix(argon2): skip node-argon2 interop when its native addon is missing
node-argon2 0.45 has no darwin-x64 prebuild. Intel macOS CI runs x64
Node on an ARM host, so a static import crashed the whole spec file.
* test(argon2): compare against node:crypto argon2
Drop the node-argon2 native addon from tests. Interop uses the
builtin KDF, which is available on every CI host that has it.
* chore: upgrade all npm deps
* fix: update tsconfig for TypeScript 7
Remove deprecated downlevelIteration and importsNotUsedAsValues options,
and explicitly include node types required by TypeScript 7.
* fix: download test artifacts into package dirs
@napi-rs/cli 3.8 requires all configured targets when running
napi artifacts. Test jobs only have one platform, so download
bindings directly into the workspace like the package template.
* fix: download bindings into packages/ for tests
upload-artifact uses packages/ as the common root, so the artifact
contains argon2/*.node not packages/argon2/*.node. Download into
packages/ so binaries land where the loaders expect them.
* fix: add WASI .d.cts files required by @napi-rs/cli 3.8
napi artifacts now requires a complete WASI loader set including
*.wasi.d.cts. Also upload the full WASI support files from the wasm
build job for the publish path.
* fix: upload only wasm artifacts from WASI builds
WASI loaders and types stay committed in the repo and updated with
the codegen; CI only needs the built .wasm binaries.
* chore(deps): update dependency ava to v8
* fix: update ava v8 configuration and Node.js requirements
- Change ava extensions config from object to array format for v8
- Update CI Node.js version matrix from ['20', '22', '24'] to ['22', '24']
- Ava v8 requires Node.js >= 22.20 due to iterator helper methods
Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/8e1e8303-351c-476e-9f4d-3d39ff8d992e
* fix: remove sse4_crc32 dependency incompatible with Node.js 24
- Remove sse4_crc32 and @types/sse4_crc32 from crc32 package dependencies
- Update crc32 benchmark to exclude sse4_crc32 comparisons
- sse4_crc32 v7.0.0 lacks prebuilt binaries for Node.js 24 (ABI v137)
- Bench CI now passes on Node.js 24
Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/1b2c25e3-3d62-43a9-bc72-9f521bb287a4
* fix: remove nodejieba dependency incompatible with Node.js 24
Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/bd608fb3-0247-49b5-9740-224f9847e188
* fix: remove xxhash dependency incompatible with Node.js 24
The xxhash npm package v0.3.0 does not have prebuilt binaries for Node.js 24 (ABI version 137), causing benchmark failures with "Cannot find module '../build/Release/hash'" errors.
Removed xxhash from devDependencies and updated benchmark/xxhash.ts to run benchmarks without the xxhash C++ comparison. The benchmark still includes comparisons with xxhash-addon, xxhashjs, and webpack's wasm implementation.
This follows the same pattern used for sse4_crc32 and nodejieba dependencies.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* fix: exclude Node.js 24 from armv7 test matrix
The armv7-unknown-linux-gnueabihf platform doesn't have Node.js 24 docker images available. Restrict testing to Node.js 22 only for this platform.
Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/cee7816f-b688-4ae5-af92-6f51d48c387c
Co-authored-by: Brooooooklyn <3468483+Brooooooklyn@users.noreply.github.com>
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: anthropic-code-agent[bot] <242468646+Claude@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Brooooooklyn <3468483+Brooooooklyn@users.noreply.github.com>