PyNacl v1.4.0 Release Notes

Release Date: 2020-05-25 // over 1 year ago
    • ⚡️ Update libsodium to 1.0.18.
    • BACKWARDS INCOMPATIBLE: We no longer distribute 32-bit manylinux1 wheels. Continuing to produce them was a maintenance burden.
    • ➕ Added support for Python 3.8, and removed support for Python 3.4.
    • ➕ Add low level bindings for extracting the seed and the public key from crypto_sign_ed25519 secret key
    • ➕ Add low level bindings for deterministic random generation.
    • ➕ Add wheel and setuptools setup_requirements in (#485)
    • 🛠 Fix checks on very slow builders (#481, #495)
    • ➕ Add low-level bindings to ed25519 arithmetic functions
    • ⚡️ Update low-level blake2b state implementation
    • 🛠 Fix wrong short-input behavior of SealedBox.decrypt() (#517)
    • 👻 Raise CryptPrefixError exception instead of InvalidkeyError when trying to check a password against a verifier stored in a unknown format (#519)
    • ➕ Add support for minimal builds of libsodium. Trying to call functions not available in a minimal build will raise an UnavailableError exception. To compile a minimal build of the bundled libsodium, set the SODIUM_INSTALL_MINIMAL environment variable to any non-empty string (e.g. SODIUM_INSTALL_MINIMAL=1) for setup.

Previous changes from v1.3.0

    • ➕ Added support for Python 3.7.
    • ⚡️ Update libsodium to 1.0.16.
    • ✅ Run and test all code examples in PyNaCl docs through sphinx's doctest builder.
    • ➕ Add low-level bindings for chacha20-poly1305 AEAD constructions.
    • ➕ Add low-level bindings for the chacha20-poly1305 secretstream constructions.
    • ➕ Add low-level bindings for ed25519ph pre-hashed signing construction.
    • ➕ Add low-level bindings for constant-time increment and addition on fixed-precision big integers represented as little-endian byte sequences.
    • ➕ Add low-level bindings for the ISO/IEC 7816-4 compatible padding API.
    • ➕ Add low-level bindings for libsodium's crypto_kx... key exchange construction.
    • ✅ Set hypothesis deadline to None in tests/ to avoid incorrect test failures on slower processor architectures. GitHub issue #370