All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
argon2-jvm-nolibs
is now a multi-release JAR with amodule-info
file for Java >= 11. (PR)- Added support for context secrets and associated data (PR)
- Updated JNA to 5.8.0
- Added support for Apple's M1 (PR, VirusTotal scan of the binary)
- Fixed invalid automatic module name in argon2-nolibs. It's now
de.mkammerer.argon2.nolibs
.
- Fixed duplicate
Automatic-Module-Name
in manifest, see this issue.
- Cleaned up the mess with the Gradle modules. To fix that in clean manner, the artifact structure has slightly changed.
Consumers of the library shouldn't notice that, but
argon2-jvm
only contains the argon2 binary libraries whileargon2-jvm-nolibs
contains the Java code.argon2-jvm
depends onargon2-jvm-nolibs
, which in turn depends on JNA.
- Added method
hashAdvanced
toArgon2Advanced
which lets the caller specify the argon2 version - Added methods
generateSalt
toArgon2Advanced
which generates salt with either the default or the given length - Added OSGi entries to the JAR manifest
- Improved the compatibility list
- Updated JNA to 5.6.0
- Added method
needsRehash
to check if a hash needs to be upgraded - Updated JNA to 5.5.0
- Recompiled Argon2 for Linux x86 / x64 / ARM / ARM 64 on Ubuntu 16.04
- Added methods
hash
andrawHash
for byte arrays - Added method
pbkdf
to ease generating key material from a password
- Marked all methods accepting a
String
password as deprecated. These methods will be removed in version 3 - Update Argon2 libraries to 20190702
- Update JNA to 5.4.0
- Added method in
Argon2Advanced
which takes a pre-generated salt. See #45 - Added warmup runs in the
Argon2Helper.findIterations
method to reduce JIT-related timing issues
- Updated Argon2 to version 20171227
- Updated JNA from 4.5.0 to 4.5.2
- Added
Automatic-Module-Name
to JAR files - Added support for Linux ARM. Compiled on a Raspberry Pi 2
- Added support for Linux ARM-64. Compiled on a Raspberry Pi 3
- Added
Argon2Helper
class with a method to find the optimal number of iterations
- Fixed wrong Argon2 id mapping (PR)
- Added support for Argon2 raw hashes
- Updated version from JNA from 4.2.1 to 4.5.0
- Added support for Argon2id.
- Fixed #22.
- Recompiled Argon2 libraries (Argon2 version is now 20161029)
- Added artifact without the pre-compiled argon2 libraries
- The libraries are now uploaded to Maven Central instead to Bintray
Attention: This release sets the default charset to UTF-8 instead of using the system default. If your system default
haven't been UTF-8, refactor your code to use the overloads which accept Charset
- Specified the release from which the binaries have been built (see README.md in the
resources
folder). See #7 - Added overloads to hash and verify methods which accept
char[]
for password. See #9 - Added overloads to hash and verify methods which accept a
Charset
. See #10
- Recompiled libraries for Linux x86 and x64 and for Windows x86 and x64
- The internal arrays which contain the passwords are now wiped after hash creation / verification. See #9
- Changed the default charset from JVM system default to UTF-8. See #10
- Added support for Argon2d
- Added configurable salt and hash lengths
- Better memory management
- Better nul byte handling
- Updated Argon2 library for Linux-x86 and Linux-x86-64
- Updated Argon2 library for Windows-x86 and Windows-x86-64
- Removed pre-compiled libraries from source JAR
- Argon2 library for Linux-x86, Windows-x86, Windows-x64, Darwin
- Docs to describe how to compile Argon2 yourself
- Changelog
- Initial version