- BREAKING CHANGE: crc32c() and createCRC32C() were removed. You can now do the same thing with crc32() and createCRC32() through setting the polynomial parameter to 0x82F63B78
- Added CRC-64 hash function
- Exported IDataType, IHasher types from index.ts
- Update benchmarks
- Update dependencies, including Clang
- Migrate from ESLint to Biome and fix linting errors
- Added
secret
parameter to Argon2 (by @malobre)
- Add sideEffects: false to package.json
- Update dependencies, including Clang
- Add CRC32C
- Update dependencies, including Clang
- Optimized Adler-32 for WASM
- Add xxhash3() and xxhash128() hash functions
- Slightly faster xxhash32() and xxhash64()
- Add Adler-32 algorithm
- New feature: saving and loading the internal state of the hash (segmented hashing and rewinding)
- Faster builds using GNU Make
- Fix alignment of the main buffer (might result in better performance on some platforms)
- Updated dependencies
- (Special thanks to Nicholas Sherlock for his contributions)
- Smaller CRC32 binary (now it computes the lookup table at the first run)
- Less RAM required for the WASM instances: it only allocates 128kB of RAM instead of 256kB
- Update dependencies
- Add BLAKE3 algorithm
- Performance improvements at BLAKE2
- Update dependencies
- Update benchmarks
- Add JSDoc annotations
- Add Whirlpool and SM3 algorithms
- Fix block size at blake algorithms
- Switch compiler from Emscripten to Clang
- Fix cached seed invalidation at xxhash64
- Added wasm binary hashes to build log
- Create minified bundles from each algorithm
- Add blake2s algorithm
- Add bundle sizes to README
- Add bcrypt algorithm
- Add argon2Validate() function
- Add scrypt algorithm
- Improve type signiture of key derivation functions. Now the return type depends on the parameters
- Update benchmarks, add relative performance
- Add section to README about string encoding pitfalls
BREAKING CHANGE: All APIs were converted to synchronous functions, so you don't need to useIt turned out that Chrome does not allow synchronous WebAssembly instantiation of binaries larger than 4KB. So this change was reverted.await
or.then()
anymore.- BREAKING CHANGE:
argon2()
function was renamed toargon2i()
,argon2d()
andargon2id()
. - BREAKING CHANGE:
pbkdf2()
function requires now an object containing all parameters - Update dependencies
- Add more badges to README
- Update dependencies
- Increase code coverage
- Consistent coding style in C files
- Allow returning Uint8Array from digest()
- Allow operation chaining in createXXXX() response
- Throw an error when an IHasher instance is reused without init() call.
- Add "binary" and "encoded" output types to argon2
- Update benchmark results
- Remove all dependencies on Buffer object in standalone mode
- Added Argon2
- Support hash lengths shorter than 16 bytes in Blake2b
- Breaking change: Drop support for String() objects (normal string literals are still supported of course)
- Node.js buffer polyfills are not needed anymore
- Added BLAKE2b algorithm
- Fixed a bug, where sha3() and keccak() gave incorrect results when the hash length was changed
- Add PBKDF2 example and benchmark results
- Add PBKDF2 algorithm
- Add RIPEMD-160 algorithm
- Fix buffer.copy() error in browsers
- Added HMAC
- Better examples in readme
- Updated dependencies
- Fixed example code in readme
- Better description and keywords
- ~3x faster when hashing small chunks of data (one WASM function call instead of three)
- Updated benchmark results in readme
- Updated benchmark results in readme
- Use new web-based tool for benchmarking
- Improved performance in smaller input buffers
- Allow concurrent hash calculations with multiple states
- Fix WebAssembly detection
- Cache WebAssembly modules
- Fix crash when starting many parallel hash calculations
- Allocate less memory for WASM modules
- Add React.js demo app
- Add xxhash32 and xxhash64
- Add Keccak
- Bugfixes
- Use faster SHA256 and SHA512 implementations
- Allocate less memory in WASM modules
- Clean up C source codes
- Initial release