Download Passay

Download the latest version which includes source code, classes, javadocs, and tests in zip or tar.gz format.

Individual artifacts are available in the Maven Central Repository. If you would like to use this project in your maven build, include the following in your pom.xml:

<dependencies>
  <dependency>
    <groupId>org.passay</groupId>
    <artifactId>passay</artifactId>
    <version>2.0.0</version>
  </dependency>
</dependencies>

Release Notes

Version 2.0.0 - 05Apr2026

v2 contains many API breaking changes which were introduced to support new features and improve extensibility. The following list is not comprehensive, but are likely the most impactful:

Issue Description
passay-181 Add retryLimit support for password generation
passay-180 BufferOverflowException when generating password
passay-177 Password generator improvements; Leverage both Allowed and Illegal characters
passay-175 Clear password data from memory
passay-172 Allow PasswordValidator to fail fast when using expensive rules
passay-171 Remove RepeatCharacterRegexRule in favor of RepeatCharactersRule
passay-169 Add property keys and count categories for special character variants
passay-167 Character counts should use code points

Version 1.6.6 - 14Oct2024

Issue Description
passay-162 Fix broken GermanSequenceData; See #153
passay-160 Separate EnglishCharacterData special symbols
passay-158 Invalid generation password rules for retry

Version 1.6.5 - 24Aug2024

Issue Description
passay-154 Add retry to PasswordGenerator
passay-153 add missing ‘ß’ to GermanSequenceData
passay-152 Password generator does not always generate valid password

Version 1.6.4 - 23Sep2023

Issue Description
passay-146 Add password rule for haveibeenpwned.com
passay-142 Add missing Polish characters

Version 1.6.3 - 19Mar2023

Issue Description
passay-139 Missing possibility to translate “contains”, “starts with” and “ends with”
passay-134 RepeatCharacterRegexRule generates an exception in certain Locales

Version 1.6.2 - 02Aug2022

Issue Description
passay-133 Add keyboard sequence for german QWERTZ layout
passay-132 Add CyrillicModernCharacterData and CyrillicModernSequenceData

Version 1.6.1 - 21Jul2021

Issue Description
passay-129 Fix buffer overflow in PasswordGenerator
passay-128 Add CyrillicCharacterData and CyrillicSequenceData
passay-125 Add CzechCharacterData and CzechSequenceData

Version 1.6.0 - 12Apr2020

Note that the default message property file name has changed from message.properties to passay.properties.

Issue Description
passay-117 Add support for pattern flags in regular expression rules
passay-112 Add support for messaging via resource bundles
passay-109 Support multiple messages for single character based rules
passay-108 Add german CharacterData/SequenceData
passay-105 Add PolishCharacterData and PolishSequenceData
passay-103 Support plain and zipped streams in WordLists utility

Version 1.5.0 - 12Apr2019

Issue Description
passay-98 NoSuchMethodErrors using Buffer when compiling on JDK9+
passay-94 Salted references
passay-92 Add RepeatCharactersRule
passay-91 Add CharacterOccurrencesRule
passay-89 Simplify and optimize IllegalSequenceRule
passay-84, passay-85, passay-88 Ternary Tree improvements

Version 1.4.0 - 09Jan2019

Issue Description
passay-80 Add BloomFilter dictionary
passay-78 Add support for digested dictionaries
passay-76 Support BCryptHashBean
passay-72 BufferOverflowException for certain cachePercent and file sizes

Version 1.3.1 - 22Feb2018

Issue Description
passay-71 Add RuleResultMetadata
passay-68 Always return only one result for HistoryRule
passay-67 JDBCDictionary size throws exception
passay-64 Bug in PasswordData#newPasswordData
passay-63 Support Spring MessageResolver
passay-58 PasswordValidator should use PECS generic

Version 1.3.0 - 18Jul2017 (Requires Java 8)

Note that cryptacular is now an optional dependency. If you use the DigestHistoryRule or DigestSourceRule, you must add an explicit dependency on org.cryptacular.

Issue Description
passay-55 Change PasswordValidator constructor to comply with PECS
passay-47 Improve FileWordList to support large files
passay-43 Variable ruleset based on password length
passay-42 NPE check in UsernameRule#validate
passay-41 Make cryptacular an optional dependency

Version 1.2.0 - 11Aug2016 (Requires Java 8)

Issue Description
passay-32 Tilda character missing as a special character
passay-18 Develop Entropy-Based Password Strength Evaluation

Version 1.1.0 - 22Jul2015 (Requires Java 7)

Issue Description
passay-24 Add OSGi manifest entries
passay-23 SequenceRule refactoring

Version 1.0 - 01Dec2014 (Requires Java 6)

Initial Release