- breaking: Node 16, or a modern browser, is required
- breaking: native module is now built post-download with node-gyp, removing most build headaches and allowing architecture-specific optimizations. You do therefore need node-gyp dependencies to use the native module. (However, it automatically falls back to wasm if node-gyp building fails)
- breaking: all consumers must await
blake3.load()
before using hash functions - calling
dispose()
on hash instances is now optional - blake3 now uses SIMD operations both for native hashing and in WebAssembly
- fix publishing failure in 2.1.6
- build for node 16
- fix version matching on postinstall
- build for node 15
- add support for Node 14
- validate native bindings before switching to them
- update to BLAKE3@0.2, providing significant speed improvements for native Node
- fixed missing file causing installation of native Node extensions to fail
- fix missing createKeyed function in browsers
- allow importing the module without a bundler or with tools like Parcel
- fix browser bundle to use pure es modules (fixes #8)
- breaking the simple
hash
function no longer takes an encoding in its second parameter. Usehash(data).toString(<encoding>)
instead. - allow configuring the hash length in
hash()
andhasher.digest()
- add
using()
helper to deal with disposables - add
dispose: boolean
option to Hashers'.digest()
methods, so that you can read a head while continuing to update it - add
hasher.reader()
method to retrieve a hash reader object, which allows seeking through and reading arbitrary amounts of data from the hash - add helper methods for encoding and constant-time equality checking in the returned Hash within the browser
- add native Node.js bindings
- add native Node.js bindings
- add support for usage in browsers
- fix potential memory unsafety in WebAssembly land
- add support for output encoding in
Hash.digest([encoding])
Initial release