Argon2 has recently been provided in version 1.3. The change log says:
v.1.3
• The blocks are XORed with, not overwritten in the second pass and later;
• The version number byte is now 0x13.
It seems to be an answer to an attack for which the hash can be computed with 2.71 less memory and no time penalty (even if the "no time penalty" sounds like a bad joke when we think of the complexity added by the management of the unused memory blocks...).
Now, the best: produced hashes are different. Test vectors have been rebuilt, test program has been rewritten. We have a completely new algorithm, validated by nobody.
If you were using the 1.2.1 version for checking passwords, updating to 1.3 will make all the passwords unrecognized.
And accessorily, I just lost several weeks of my free time.
Depending on the source, we have 2 different changelogs for the same version:
https://github.com/P-H-C/phc-winner-argon2/blob/master/CHANGELOG.md
20160406
Version 1.3 of Argon2
Version number in encoded hash
Refactored low-level API
Visibility control for library symbols
Microsft Visual Studio solution
New bindings
Minor bug and warning fixes (no security issue)
https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf
C.1 v.1.3
• The blocks are XORed with, not overwritten in the second pass and later;
• The version number byte is now 0x13.
And by searching "Argon2" on Google, one of the first links (CryptoLUX) claims:
"Argon2 (version 1.3) is the winner of the Password Hashing Competition."
A pure lie. The winner of the PHC was the version 1.2.1. Despite its important design issue, it was selected as the winner. This point is definitely the more suspect in this competition.
There is really nothing I can trust in all that. So I doubt to use Argon2, whichever the version, even in a long time.