- Fix
bcrypt()andbcryptVerify()silently truncating passwords at the first zero byte. Passwords containing zero bytes now use their full binary representation; hashes previously generated from those passwords must be regenerated. Add zero-byte regression tests for bcrypt, HMAC, and PBKDF2. Thanks to the PLSE Group for reporting this issue (#84). - Fix
IDataTypereferencing Node.jsBuffertypings in browser projects. Native Node.js Buffers remain supported throughUint8Array(#68). - Update to TypeScript 6 and remove deprecated compiler options. Use a dedicated declaration-build configuration and preserve compatibility with older TypeScript consumers (#81).
- Update development dependencies, including Rollup 4.68, Binaryen 132, Jest 30, and TypeScript tooling and typings.
- Update the WASM build image from Alpine 3.20.3 to 3.24.4 (Clang/LLD 17.0.6 to 22.1.3) and rebuild all 22 WASM modules. Use explicit carry arithmetic in xxHash3/xxHash128 to avoid the unavailable
__multi3runtime helper without compiler-rt, and fail builds on unresolved symbols. - Replace
rollup-plugin-terserwith the maintained@rollup/plugin-terserand update the Binaryen optimizer script to load its ESM API. - Update CI to Node.js 24 and run builds/tests on pull requests without publishing or uploading coverage.
- Remove the obsolete
npm run webpackscript (#75). - Document the Chrome DevTools WebAssembly performance issue and the fresh-tab workaround in the README (#47).