libsodium v1.0.18 Release Notes
Release Date: 2019-05-30 // almost 5 years ago-
- ๐ Enterprise versions of Visual Studio are now supported.
- ๐ Visual Studio 2019 is now supported.
- 32-bit binaries for Visual Studio 2010 are now provided.
- ๐ง A test designed to trigger an OOM condition didn't work on Linux systems with memory overcommit turned on. It has been removed in order to fix Ansible builds.
- ๐จ Emscripten:
print
andprintErr
functions are overridden to send
errors to the console, if there is one. - Emscripten:
UTF8ToString()
is now exported sincePointer_stringify()
๐ has been deprecated. - ๐ Libsodium version detection has been fixed in the CMake recipe.
- Generic hashing got a 10% speedup on AVX2.
- ๐ New target: WebAssembly/WASI (compile with
dist-builds/wasm32-wasi.sh
). - ๐ New functions to map a hash to an edwards25519 point or get a random point:
core_ed25519_from_hash()
andcore_ed25519_random()
. crypto_core_ed25519_scalar_mul()
has been implemented forscalar*scalar (mod L)
multiplication.- ๐ Support for the Ristretto group has been implemented for interoperability with wasm-crypto.
- ๐ Improvements have been made to the test suite.
- Portability improvements have been made.
getentropy()
is now used on systems providing this system call.randombytes_salsa20
has been renamed torandombytes_internal
.- ๐ Support for NativeClient has been removed.
- Most
((nonnull))
attributes have been relaxed to allow 0-length inputs
to beNULL
. - The
-ftree-vectorize
and-ftree-slp-vectorize
compiler switches are
โก๏ธ now used, if available, for optimized builds.
Previous changes from v1.0.17
-
- ๐ Bug fix:
sodium_pad()
didn't properly support block sizes >= 256 bytes. - JS/WebAssembly: some old iOS versions can't instantiate the WebAssembly module; fall back to Javascript on these.
- JS/WebAssembly: compatibility with newer Emscripten versions.
- Bug fix:
crypto_pwhash_scryptsalsa208sha256_str_verify()
and crypto_pwhash_scryptsalsa208sha256_str_needs_rehash()didn't return
EINVAL` on input strings with a short length, unlike their high-level counterpart. - โ Added a workaround for Visual Studio 2010 bug causing CPU features not to be detected.
- Portability improvements.
- โ Test vectors from Project Wycheproof have been added.
- ๐ New low-level APIs for arithmetic mod the order of the prime order group:
crypto_core_ed25519_scalar_random()
,crypto_core_ed25519_scalar_reduce()
,
crypto_core_ed25519_scalar_invert()
,crypto_core_ed25519_scalar_negate()
,
crypto_core_ed25519_scalar_complement()
,crypto_core_ed25519_scalar_add()
andcrypto_core_ed25519_scalar_sub()
. - New low-level APIs for scalar multiplication without clamping:
crypto_scalarmult_ed25519_base_noclamp()
andcrypto_scalarmult_ed25519_noclamp()
. These new APIs are especially useful for blinding. sodium_sub()
has been implemented.- ๐ Support for WatchOS has been added.
getrandom(2)
is now used on FreeBSD 12+.- The
nonnull
attribute has been added to all relevant prototypes. - More reliable AVX512 detection.
- ๐ Javascript/Webassembly builds now use dynamic memory growth.
- ๐ Bug fix: