* Version 0.5.0 - sodium_mlock()/sodium_munlock() have been introduced to lock pages in memory before storing sensitive data, and to zero them before unlocking them. - High-level wrappers for crypto_box and crypto_secretbox (crypto_box_easy and crypto_secretbox_easy) can be used to avoid dealing with the specific memory layout regular functions depend on. - crypto_pwhash_scryptxsalsa208sha256* functions have been added to derive a key from a password, and for password storage. - Salsa20 and ed25519 implementations now support overlapping inputs/keys/outputs (changes imported from supercop-20140505). - New build scripts for Visual Studio, Emscripten, different Android architectures and msys2 are available. - The poly1305-53 implementation has been replaced with Floodyberry's poly1305-donna32 and poly1305-donna64 implementations. - sodium_hex2bin() has been added to complement sodium_bin2hex(). - On OpenBSD and Bitrig, arc4random() is used instead of reading /dev/urandom. - crypto_auth_hmac_sha512() has been implemented. - sha256 and sha512 now have a streaming interface. - hmacsha256, hmacsha512 and hmacsha512256 now support keys of arbitrary length, and have a streaming interface. - crypto_verify_64() has been implemented. - first-class Visual Studio build system, thanks to @evoskuil - CPU features are now detected at runtime. * Version 0.4.5 - Restore compatibility with OSX <= 10.6 * Version 0.4.4 - Visual Studio is officially supported (VC 2010 & VC 2013) - mingw64 is now supported - big-endian architectures are now supported as well - The donna_c64 implementation of curve25519_donna_c64 now handles non-canonical points like the ref implementation - Missing scalarmult_curve25519 and stream_salsa20 constants are now exported - A crypto_onetimeauth_poly1305_ref() wrapper has been added * Version 0.4.3 - crypto_sign_seedbytes() and crypto_sign_SEEDBYTES were added. - crypto_onetimeauth_poly1305_implementation_name() was added. - poly1305-ref has been replaced by a faster implementation, Floodyberry's poly1305-donna-unrolled. - Stackmarkings have been added to assembly code, for Hardened Gentoo. - pkg-config can now be used in order to retrieve compilations flags for using libsodium. - crypto_stream_aes256estream_*() can now deal with unaligned input on platforms that require word alignment. - portability improvements. * Version 0.4.2 - All NaCl constants are now also exposed as functions. - The Android and iOS cross-compilation script have been improved. - libsodium can now be cross-compiled to Windows from Linux. - libsodium can now be compiled with emscripten. - New convenience function (prototyped in utils.h): sodium_bin2hex(). * Version 0.4.1 - sodium_version_*() functions were not exported in version 0.4. They are now visible as intended. - sodium_init() now calls randombytes_stir(). - optimized assembly version of salsa20 is now used on amd64. - further cleanups and enhanced compatibility with non-C99 compilers. * Version 0.4 - Most constants and operations are now available as actual functions instead of macros, making it easier to use from other languages. - New operation: crypto_generichash, featuring a variable key size, a variable output size, and a streaming API. Currently implemented using Blake2b. - The package can be compiled in a separate directory. - aes128ctr functions are exported. - Optimized versions of curve25519 (curve25519_donna_c64), poly1305 (poly1305_53) and ed25519 (ed25519_ref10) are available. Optionally calling sodium_init() once before using the library makes it pick the fastest implementation. - New convenience function: sodium_memzero() in order to securely wipe a memory area. - A whole bunch of cleanups and portability enhancements. - On Windows, a .REF file is generated along with the shared library, for use with Visual Studio. The installation path for these has become $prefix/bin as expected by MingW. * Version 0.3 - The crypto_shorthash operation has been added, implemented using SipHash-2-4. * Version 0.2 - crypto_sign_seed_keypair() has been added * Version 0.1 - Initial release.