|
1 | 1 |
|
2 | | -* Version 1.0.4 (not released yet) |
| 2 | +* Version 1.0.10 |
| 3 | + - This release only fixes a compilation issue reported with some older |
| 4 | +gcc versions. There are no functional changes over the previous release. |
| 5 | + |
| 6 | +* Version 1.0.9 |
| 7 | + - The Javascript target now includes a `--sumo` option to include all |
| 8 | +the symbols of the original C library. |
| 9 | + - A detached API was added to the ChaCha20-Poly1305 and AES256-GCM |
| 10 | +implementations. |
| 11 | + - The Argon2i password hashing function was added, and is accessible |
| 12 | +directly and through a new, high-level `crypto_pwhash` API. The scrypt |
| 13 | +function remains available as well. |
| 14 | + - A speed-record AVX2 implementation of BLAKE2b was added (thanks to |
| 15 | +Samuel Neves). |
| 16 | + - The library can now be compiled using C++Builder (thanks to @jcolli44) |
| 17 | + - Countermeasures for Ed25519 signatures malleability have been added |
| 18 | +to match the irtf-cfrg-eddsa draft (note that malleability is irrelevant to |
| 19 | +the standard definition of signature security). Signatures with a small-order |
| 20 | +`R` point are now also rejected. |
| 21 | + - Some implementations are now slightly faster when using the Clang |
| 22 | +compiler. |
| 23 | + - The HChaCha20 core function was implemented (`crypto_core_hchacha20()`). |
| 24 | + - No-op stubs were added for all AES256-GCM public functions even when |
| 25 | +compiled on non-Intel platforms. |
| 26 | + - `crypt_generichash_blake2b_statebytes()` was added. |
| 27 | + - New macros were added for the IETF variant of the ChaCha20-Poly1305 |
| 28 | +construction. |
| 29 | + - The library can now be compiled on Minix. |
| 30 | + - HEASLR is now enabled on MinGW builds. |
| 31 | + |
| 32 | +* Version 1.0.8 |
| 33 | + - Handle the case where the CPU supports AVX, but we are running |
| 34 | +on an hypervisor with AVX disabled/not supported. |
| 35 | + - Faster (2x) scalarmult_base() when using the ref10 implementation. |
| 36 | + |
| 37 | +* Version 1.0.7 |
| 38 | + - More functions whose return value should be checked have been |
| 39 | +tagged with `__attribute__ ((warn_unused_result))`: `crypto_box_easy()`, |
| 40 | +`crypto_box_detached()`, `crypto_box_beforenm()`, `crypto_box()`, and |
| 41 | +`crypto_scalarmult()`. |
| 42 | + - Sandy2x, the fastest Curve25519 implementation ever, has been |
| 43 | +merged in, and is automatically used on CPUs supporting the AVX |
| 44 | +instructions set. |
| 45 | + - An SSE2 optimized implementation of Poly1305 was added, and is |
| 46 | +twice as fast as the portable one. |
| 47 | + - An SSSE3 optimized implementation of ChaCha20 was added, and is |
| 48 | +twice as fast as the portable one. |
| 49 | + - Faster `sodium_increment()` for common nonce sizes. |
| 50 | + - New helper functions have been added: `sodium_is_zero()` and |
| 51 | + `sodium_add()`. |
| 52 | + - `sodium_runtime_has_aesni()` now properly detects the CPU flag when |
| 53 | + compiled using Visual Studio. |
| 54 | + |
| 55 | +* Version 1.0.6 |
| 56 | + - Optimized implementations of Blake2 have been added for modern |
| 57 | +Intel platforms. `crypto_generichash()` is now faster than MD5 and SHA1 |
| 58 | +implementations while being far more secure. |
| 59 | + - Functions for which the return value should be checked have been |
| 60 | +tagged with `__attribute__ ((warn_unused_result))`. This will |
| 61 | +intentionally break code compiled with `-Werror` that didn't bother |
| 62 | +checking critical return values. |
| 63 | + - The `crypto_sign_edwards25519sha512batch_*()` functions have been |
| 64 | +tagged as deprecated. |
| 65 | + - Undocumented symbols that were exported, but were only useful for |
| 66 | +internal purposes have been removed or made private: |
| 67 | +`sodium_runtime_get_cpu_features()`, the implementation-specific |
| 68 | +`crypto_onetimeauth_poly1305_donna()` symbols, |
| 69 | +`crypto_onetimeauth_poly1305_set_implementation()`, |
| 70 | +`crypto_onetimeauth_poly1305_implementation_name()` and |
| 71 | +`crypto_onetimeauth_pick_best_implementation()`. |
| 72 | + - `sodium_compare()` now works as documented, and compares numbers |
| 73 | +in little-endian format instead of behaving like `memcmp()`. |
| 74 | + - The previous changes should not break actual applications, but to be |
| 75 | +safe, the library version major was incremented. |
| 76 | + - `sodium_runtime_has_ssse3()` and `sodium_runtime_has_sse41()` have |
| 77 | +been added. |
| 78 | + - The library can now be compiled with the CompCert compiler. |
| 79 | + |
| 80 | +* Version 1.0.5 |
| 81 | + - Compilation issues on some platforms were fixed: missing alignment |
| 82 | +directives were added (required at least on RHEL-6/i386), a workaround |
| 83 | +for a VRP bug on gcc/armv7 was added, and the library can now be compiled |
| 84 | +with the SunPro compiler. |
| 85 | + - Javascript target: io.js is not supported any more. Use nodejs. |
| 86 | + |
| 87 | +* Version 1.0.4 |
| 88 | + - Support for AES256-GCM has been added. This requires |
| 89 | +a CPU with the aesni and pclmul extensions, and is accessible via the |
| 90 | +crypto_aead_aes256gcm_*() functions. |
| 91 | + - The Javascript target doesn't use eval() any more, so that the |
| 92 | +library can be used in Chrome packaged applications. |
| 93 | + - QNX and CloudABI are now supported. |
| 94 | + - Support for NaCl has finally been added. |
3 | 95 | - ChaCha20 with an extended (96 bit) nonce and a 32-bit counter has |
4 | 96 | been implemented as crypto_stream_chacha20_ietf(), |
5 | 97 | crypto_stream_chacha20_ietf_xor() and crypto_stream_chacha20_ietf_xor_ic(). |
6 | 98 | An IETF-compatible version of ChaCha20Poly1305 is available as |
7 | 99 | crypto_aead_chacha20poly1305_ietf_npubbytes(), |
8 | 100 | crypto_aead_chacha20poly1305_ietf_encrypt() and |
9 | 101 | crypto_aead_chacha20poly1305_ietf_decrypt(). |
10 | | - - Sodium can now be used in Windows Store apps. |
11 | 102 | - The sodium_increment() helper function has been added, to increment |
12 | | -an arbitrary long number (such as a nonce). |
| 103 | +an arbitrary large number (such as a nonce). |
| 104 | + - The sodium_compare() helper function has been added, to compare |
| 105 | +arbitrary large numbers (such as nonces, in order to prevent replay |
| 106 | +attacks). |
13 | 107 |
|
14 | 108 | * Version 1.0.3 |
15 | 109 | - In addition to sodium_bin2hex(), sodium_hex2bin() is now a |
|
0 commit comments