Skip to content

Releases: hynek/argon2-cffi

23.1.0

15 Aug 14:10
23.1.0
7d3edef
Compare
Choose a tag to compare

Highlights

The only new feature is the possibility to pass an own salt to argon2.PasswordHasher.hash(), however a lot has changed around documentation and packaging to make argon2-cffi maintainable in the future.

Special Thanks

This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!

Above and Beyond

Variomedia AG (@variomedia), Tidelift (@tidelift), Sentry (@getsentry), HiredScore (@HiredScore), FilePreviews (@filepreviews), Daniel Fortunov (@asqui), and Kevin P. Fleming (@kpfleming).

Maintenance Sustainers

Adam Hill (@adamghill), Dan Groshev (@si14), Magnus Watn (@magnuswatn), David Cramer (@dcramer), Moving Content AG (@moving-content), Stein Magnus Jodal (@jodal), ProteinQure (@ProteinQure), Jesse Snyder (@jessesnyder), Rivo Laks (@rivol), Tom Ballinger (@thomasballinger), Ionel Cristian Mărieș (@ionelmc), The Westervelt Company (@westerveltco), Philippe Galvan (@PhilippeGalvan), Birk Jernström (@birkjernstrom), Tim Schilling (@tim-schilling), Chris Withers (@cjw296), Christopher Dignam (@chdsbd), and Stefan Hagen (@sthagen).

Not to forget 3 more amazing humans who chose to be generous but anonymous!

Full Changelog

Removed

  • Python 3.6 is not supported anymore.

Deprecated

  • The InvalidHash exception is deprecated in favor of InvalidHashError. No plans for removal currently exist and the names can (but shouldn't) be used interchangeably.

  • argon2.hash_password(), argon2.hash_password_raw(), and argon2.verify_password() that have been soft-deprecated since 2016 are now hard-deprecated. They now raise DeprecationWarnings and will be removed in 2024.

Added

  • Official support for Python 3.11 and 3.12. No code changes were necessary.

  • argon2.exceptions.InvalidHashError as a replacement for InvalidHash.

  • salt parameter to argon2.PasswordHasher.hash() to allow for custom salts. This is only useful for specialized use-cases -- leave it on None unless you know exactly what you are doing. #153

21.3.0

11 Dec 11:49
21.3.0
Compare
Choose a tag to compare

Fixed

  • While the last release added type hints, the fact that it's been misssing a py.typed file made Mypy ignore them.
    #113

21.2.0

08 Dec 11:37
21.2.0
Compare
Choose a tag to compare

Highlights

  • Pre-compiled wheels for most relevant platforms (yes, including ARM!)
  • Full type hints.
  • Adjusted defaults to RFC 9106 and support for pre-configured profiles.

Full Changelog

Removed

  • Python 3.5 is not supported anymore.

  • The CFFI bindings have been extracted into a separate project: argon2-cffi-bindings This makes argon2-cffi a Python-only project und should make it easier to contribute to and have more frequent releases with high-level features.

    This change is breaking for users who want to use a system-wide installation of Argon2 instead of our vendored code, because the argument to the --no-binary argument changed. Please refer to the installation guide.

Added

  • Thanks to lots of work within argon2-cffi-bindings, there're pre-compiled wheels for many new platforms. Including:

    • Apple Silicon via universal2
    • Linux on amd64 and arm64
    • musl libc (Alpine Linux!) on i686, amd64, and arm64
    • PyPy 3.8

    We hope to provide wheels for Windows on arm64 soon, but are waiting for GitHub Actions to support that.

  • argon2.Parameters.from_parameters() together with the argon2.profiles module that offers easy access to the RFC-recommended configuration parameters and then some. #101 #110

  • The CLI interface now has a --profile option that takes any name from argon2.profiles.

  • Types! argon2-cffi is now fully typed. #112

Changed

  • argon2.PasswordHasher now uses the RFC 9106 low-memory profile by default. The old defaults are available as argon2.profiles.PRE_21_2.

21.1.0

29 Aug 16:14
21.1.0
Compare
Choose a tag to compare

Vendoring Argon2 @ 62358ba (20190702)

Backward-incompatible changes:

Microsoft stopped providing the necessary SDKs to ship Python 2.7 wheels and currenly the downloads amount to 0.09%. Therefore we have decided that Python 2.7 is not supported anymore.

Deprecations:

none

Changes:

There are indeed no changes whatsoever to the code of argon2-cffi. The Argon2 project also hasn't tagged a new release since July 2019. There also don't seem to be any important pending fixes.

This release is mainly about improving the way binary wheels are built (abi3 on all platforms).