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 ofInvalidHashError
. No plans for removal currently exist and the names can (but shouldn't) be used interchangeably. -
argon2.hash_password()
,argon2.hash_password_raw()
, andargon2.verify_password()
that have been soft-deprecated since 2016 are now hard-deprecated. They now raiseDeprecationWarning
s 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 forInvalidHash
. -
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