1# Changelog 2 3## 3.2.0 4 5* Enhancements 6 * Shortening user-supplied salts to 128 bits -- to make it compatible with other implementations. 7 8## 3.1.0 9 10* Changes 11 * Now forcing a recompile of C code for Windows users. 12 13## 3.0.0 14 15* Enhancements 16 * Small changes to NIF code to make it more scheduler-friendly. 17 * Improved documentation with respect to Argon2. 18* Changes 19 * Now using `elixir_make` to help compile the C code. 20 21## 2.6.0 22 23* Enhancements 24 * Improved Windows build to prevent build failure when upgrading Erlang versions. 25 26## 2.4.0 27 28* Enhancements 29 * Improved Windows build error messages. 30* Changes 31 * Changed behavior for incorrect input to Bcrypt.gen_salt. 32 33## 2.3.0 34 35* Enhancements 36 * Added support for one-time passwords (HOTP, TOTP) for use in two factor authentication. 37 38## 2.2.0 39 40* Changes 41 * Improved documentation for Windows builds. 42 * Updated the required Elixir version to 1.2. 43 44## 2.1.0 45 46* Enhancements 47 * Added legacy option to Comeonin.Bcrypt.gen_salt so that hashes with the older $2a$ prefix can be more easily generated. 48 * To try to solve the load errors after upgrading Erlang / Elixir: 49 * Force C code to be recompiled every time `deps.compile` is called. 50 * Added basic upgrade function to the NIF library. 51 * To be compatible with the nerves project: 52 * Added CROSSCOMPILE option to the Makefile. 53 * Stopped the library autoloading on compilation (requires Elixir 1.2.2). 54 55## 2.0.0 (2015-12-17) 56 57* Changes 58 * Increased the default number of rounds for pbkdf2_sha512 to 100_000. 59 * Removed `create_hash` and `create_user` functions. 60 * Moved the password strength checker and random password generator to a separate package, called NotQwerty123. 61 * This means that i18n support has been moved to NotQwerty123. 62 63## 1.6.0 (2015-11-17) 64 65* Changes 66 * Edited C code and deleted unused functions. 67 68## 1.5.0 (2015-11-10) 69 70* Changes 71 * Moved gettext support to `comeonin_i18n` optional dependency. 72 * Removed forced compilation of C code in dev and prod environments. 73 74## 1.4.0 (2015-11-06) 75 76* Enhancements 77 * Added gettext support. 78 * Added Japanese translations for messages. 79 80## 1.3.0 (2015-10-18) 81 82* Enhancements 83 * Improved the efficiency of the common password check for the `strong_password` function. 84 * Added more information to the Mix build errors. 85* Changes 86 * Forcing compilation of C code in dev and prod environments. 87 88## 1.2.0 (2015-09-26) 89 90* Enhancements 91 * Added a common option to the `strong_password` check. This checks for passwords that are easy to guess, or common. 92 * Improved random password generator -- added a check to ensure it is strong and set the minimum length to 8 characters. 93 94## 1.1.4 (2015-09-25) 95 96* Bug fix 97 * Removed `random_bytes` function. Now calling :crypto.strong_rand_bytes directly. 98 99## 1.1.0 (2015-07-28) 100 101* Changes 102 * Divided the `strong password` check into two parts: minimum length and check for punctuation 103 characters and digits. 104 * Removed configutation values for password length for generated passwords and minimum length of passwords 105 for the password check. 106 107## 1.0.5 (2015-07-14) 108 109* Bug fix 110 * Replaced `Mix.Shell.info` with `IO.binwrite` to prevent compile errors with certain character encodings. 111 112## 1.0.1 (2015-05-31) 113 114* Enhancements 115 * Enabled the create_user function to be used with atoms as keys as well as strings. 116 117## 1.0.0 (2015-05-20) 118 119* Changes 120 * Renamed signup_user, function to check password strength before hashing the password, to create_user. 121* Enhancements 122 * Added create_user function which takes a map, removes the "password" entry and adds a "password_hash" entry. 123 124## 0.11.0 (2015-05-19) 125 126* Changes 127 * Renamed hashpwsalt/2 to signup_user/1. 128 129## 0.10.0 (2015-05-14) 130 131* Changes 132 * Removed log_rounds, or rounds, parameter for the function hashpwsalt. 133 * Added option to check password (for strength) in the function hashpwsalt (hashpwsalt/2). 134 135## 0.9.0 (2015-05-08) 136 137* Enhancements 138 * Added random password generator. 139 * Added optional check to test if passwords have digits and punctuation characters. 140* Bug fixes 141 * Added information about password strength and password policies to the documentation. 142 143## 0.8.2 (2015-05-02) 144 145* Bug fixes 146 * Updated Windows build and improved error information at compile time. 147 148## 0.8.0 (2015-04-20) 149 150* Bug fixes 151 * Updated bcrypt to support non-ascii characters in the password (pbkdf2 already supports these characters). 152 153## 0.7.0 (2015-04-18) 154 155* Enhancements 156 * Use crypto.strong_rand_bytes by default for generating random numbers. 157 158## 0.6.0 (2015-04-17) 159 160* Enhancements 161 * Updated bcrypt implementation to only call C functions for the most expensive operations. 162 163## 0.5.0 (2015-04-14) 164 165* Enhancements 166 * Updated bcrypt implementation so that long-running NIFs are cut to a minimum. 167 168## 0.4.0 (2015-04-05) 169 170* Enhancements 171 * Updated pbkdf2_sha512 to prevent users from calling `hashpass` without a salt. 172 173## 0.3.0 (2015-03-04) 174 175* Enhancements 176 * Updated bcrypt to version 1.5.2. 177 178## v0.2.4 (2015-02-26) 179 180* Enhancements 181 * Added configuration options for number of log_rounds, or rounds. 182 183## v0.2.2 (2015-01-25) 184 185* Enhancements 186 * Improved documentation about the recommended time the functions should take. 187 * Increased default number of rounds for pbkdf2_sha512 from 40000 to 60000. 188 * Improved implementation of dummy check. 189 190* Changes 191 * Removed the `salt_length` optional argument from `Comeonin.Pbkdf2.hashpwsalt`. The only optional argument to this function is now the number of rounds. 192 193## v0.2.0 (2015-01-21) 194 195* Enhancements 196 * Added support for pbkdf2_sha512. 197 * Added Travis integration. 198 * Added timing functions to help developers adjust the complexity of the key derivation functions. 199 200* Changes 201 * Removed the hashing and check functions from the main Comeonin module. 202 203## v0.1.1 204 205* Bug fixes 206 * Enable build on OS X. 207 208## v0.1.0 209 210* Bcrypt authentication. 211