Release Notes: packer.h is no longer used when building. crack.h is now always required. This should fix build problems on Fedora Core 4 and possibly other systems.
Release Notes: The build environment has been modified to search for the system dictionary in the additional location of /var/cache/cracklib/cracklib_dict.pwd, which is where it is on Debian Linux.
Release Notes: Password.get would throw an exception in the unlikely event that STDIN reached EOF without any input. In addition, pwgen now supports a -v or --version switch.
Release Notes: A new example program, pwgen, has been added, complete with man page. A new class method, Password.phonemic, generates phonemic passwords. The old Password.random method has been renamed Password.urandom and replaced by a new, portable Password.random. Password.get will now detect whether STDIN is connected to a tty. If not, no password prompt is displayed and no attempt will be made to manipulate terminal echo. A Password::CryptError exception is now raised if the salt passed to Password#crypt contains a bad character. RDoc documentation has been added.
Release Notes: A warning that occurred when loading the library into Ruby 1.8.x is now avoided.
Release Notes: When a bad dictionary path is provided, a Password::BadDictionary exception is now raised. Buffering is now turned off for the Password.getc method, as it resulted in the prompt not always being displayed when using Ruby 1.8.
Release Notes: The Crack class is gone and Password is now a direct subclass of String. As a result of this change, Password#check now raises a Password::WeakPassword exception if the password is weak, not a Crack::WeakPassword exception.
Release Notes: No user-visible changes to the code, but the build system has been made more portable.
Release Notes: Password#check now returns true on success, and raises a Crack::WeakPassword exception on failure. Previously, it would return a null string on success and a descriptive string on failure.
Release Notes: In this version, the Password.get class method now returns an instance of class Password, not String. The Password.new class method now defaults to returning a null string, rather than nil.