1** Version 2.14.1 - 7 Nov 2017 2 3* Bug Fixes 4 5 - Fixed a spelling error. 6 - Made relative path mode on Win32 to work. 7 8 9** Version 2.14 - 12 Sep 2017 10 11* New Features 12 13 - Optimizations to the fuzzy hashing engine. (hash generator can run as twice 14 as fast and comparison can run 1.5 through 5 times faster [heavily depends 15 on the data and platform] than the previous release) 16 17* Bug Fixes 18 19 - Fixed issue when certain memory allocation is failed. 20 21 22** Version 2.13 - 24 Apr 2015 23 24* New Features 25 26 - Added fuzzy_set_total_input_length function to the API. 27 - Added support for files up to 192GB. 28 - Added support for arbitrary length input from the standard input. 29 30* Bug Fixes 31 32 - Fixed issue when comparing hashes from relatively simple files. 33 - Fixed portability issues. 34 35 36** Version 2.12 - 24 Oct 2014 37 38* Bug Fixes 39 40 - Fixed issue when comparing identical hashes but with different 41 block sizes. 42 43 44** Version 2.11.1 - 27 Sep 2014 45 46* Bug Fixes 47 48 - Made libfuzzy compile as a shared library again. 49 50 51** Version 2.11 - 11 Sep 2014 52 53* New Features 54 55 - Added fuzzy_clone function to the API. 56 - Moved to modern Win32 compiler. 57 58* Bug Fixes 59 60 - Fixed edge case on signature generaion. Behavior now matches v2.9 again. 61 62 63** Version 2.10 - 17 Jul 2013 64 65* New Features 66 67 - Fuzzy Hashing engine re-written to be thread safe. 68 69* Bug Fixes 70 71 - Able to handle long file paths on Win32. 72 - Fixed bug on comparing signatures with the same block size. 73 - Fixed crash on comparing short signatures. 74 - Fixed memory leak 75 76 77** Version 2.9 - 23 Jul 2012 78 79* New Features 80 81 - Added warning message for when some data on stdin is not hashed. 82 - Can now hash up to 512MB of data on stdin. 83 - Added clustering mode to group together matching files 84 85* Bug Fixes 86 87 - Fixed incorrect match scores for hashes with long filenames. 88 89 90** Version 2.8 - 25 May 2012 91 92* New Features 93 94 - Converted to C++ 95 96* Bug Fixes 97 98 - Fixed filename display on Win32. 99 - Fixed support for large files on some platforms. 100 - Fixed errors in handling command line argument processing. 101 102 103** Version 2.7 - 30 Sep 2011 104 105* New Features 106 107 - Added the capability to process the first 100MB of data 108 from standard input. 109 110 - Added a warning message when the program does not process 111 any file large enough to produce a meaningful result. 112 113* Bug Fixes 114 115 - Standard errors are now sent to stderr, not stdout. 116 117 118** Version 2.6 - 28 Sep 2010 119 120* New Features 121 122 - Modified the output file format to allow for proper escaping of 123 filenames with quotation marks in them. 124 125* Bug Fixes 126 127 - Added quotation marks to filenames in CSV matching mode. 128 129 130** Version 2.5 - 6 May 2010 131 132* New Features 133 134 - Added API documentation 135 136 - Added return values indicating errors in API functions 137 138 - Added compatibility for compiling with C++ 139 140* Bug Fixes 141 142 - Added parameter validation to API functions 143 144 - Fixed some cosmetic errors in error handling 145 146 147** Version 2.4 - 25 Feb 2010 148 149* New Features 150 151 - Added -k mode to compare unknown signatures against known signatures. 152 153 154 155** Version 2.3 - 10 Jan 2010 156 157* New Features 158 159 - Added -a mode to display all 'matches', regardless of score. 160 161 162 163** Version 2.2 - 22 Jul 2009 164 165* New Features 166 167 - Added capability to compare two or more files containing signatures 168 against one another. 169 170* Bug Fixes 171 172 - Changed default behavior to exit program on invalid command line flags 173 174 175 176** Version 2.1 - 1 Jan 2009 177 178* New Features 179 180 - Added fuzzy_hash_filename function to hash an entire file given 181 only its filename. Avoids issues on Win32 systems. 182 183* Bug Fixes 184 185 - Fixed -p mode to display output 186 187 188 189 190** Version 2.0 - 2 Apr 2008 191 192* New Features 193 194 - Created fuzzy hashing API/DLL 195 - Added support for filenames with Unicode characters on Win32 196 - Added threshold mode 197 - Added CSV mode 198 199* Bug Fixes 200 201 - Fixed extra characters appearing during verbose mode 202 203 204 205 206** Version 1.1 - 14 Aug 2006 207 208* New Features 209 210 - First public release 211 - Added verbose mode to display filenames as they're being hashed 212 - Added -d mode to make finding similar files in the same directory tree 213 both easier and faster. Removes the need for two command lines and 214 many extraneous lines of output. 215 - Added -p mode to improve -d mode. Prints bi-directional matches together 216 and omits self matches. 217 - Added LARGEFILE_SOURCE define to Linux version to allow processing 218 of large files. (You never know...) 219 220* Bug Fixes 221 222 - Fixed cosmetic errors in usage message. Updated man page. 223 224 225 226 227** Version 1.0 - 31 Mar 2006 228 229* New Features 230 231 - Released internally 232 - Added silent mode, -s. All error messages are suppressed. 233 234* Bug Fixes 235 236 - Fixed failure to close files after reading in engine.c 237 - Fixed routine to read headers of matching hashes on Windows. 238 - Fixed handling of symbolic links 239 - Fixed cosmetic bug to display error messages if file open fails 240 (e.g. Permission denied, etc) 241 - Removed quotation marks from the signatures but not the file names. 242 Filenames may contain spaces, but signatures may not. Two bytes 243 per line adds up when we starting compiling large hash sets. 244 - Redirected all error messages to stderr instead of stdout 245 - Removed duplicate defines at the start of engine.c 246 - Replaced all references to u32 with C99 standard uint32_t 247 - Added error checking for memory allocation in main.c:main() and 248 engine.c:hash_file() 249 - Removed useless logical AND of 0xFFFFFFFF from rolling hash update 250 251 252 253** Version 0.1 - 4 Nov 2005 254 255* New Features 256 257 - Proof of concept 258 - This version supports recursion, relative and bare file names, and 259 can perform positive matching using a previous output. 260