release-notes.md
1 # Release Notes 2 3 ## Development 4 5 [Commits](https://github.com/kpdecker/jsdiff/compare/v5.0.0...master) 6 7 ## v5.0.0 8 9 - Breaking: UMD export renamed from `JsDiff` to `Diff`. 10 - Breaking: Newlines separated into separate tokens for word diff. 11 - Breaking: Unified diffs now match ["quirks"](https://www.artima.com/weblogs/viewpost.jsp?thread=164293) 12 13 [Commits](https://github.com/kpdecker/jsdiff/compare/v4.0.1...v5.0.0) 14 15 ## v4.0.1 - January 6th, 2019 16 17 - Fix main reference path - b826104 18 19 [Commits](https://github.com/kpdecker/jsdiff/compare/v4.0.0...v4.0.1) 20 21 ## v4.0.0 - January 5th, 2019 22 23 - [#94](https://github.com/kpdecker/jsdiff/issues/94) - Missing "No newline at end of file" when comparing two texts that do not end in newlines ([@federicotdn](https://api.github.com/users/federicotdn)) 24 - [#227](https://github.com/kpdecker/jsdiff/issues/227) - Licence 25 - [#199](https://github.com/kpdecker/jsdiff/issues/199) - Import statement for jsdiff 26 - [#159](https://github.com/kpdecker/jsdiff/issues/159) - applyPatch affecting wrong line number with with new lines 27 - [#8](https://github.com/kpdecker/jsdiff/issues/8) - A new state "replace" 28 - Drop ie9 from karma targets - 79c31bd 29 - Upgrade deps. Convert from webpack to rollup - 2c1a29c 30 - Make ()[]"' as word boundaries between each other - f27b899 31 - jsdiff: Replaced phantomJS by chrome - ec3114e 32 - Add yarn.lock to .npmignore - 29466d8 33 34 Compatibility notes: 35 36 - Bower and Component packages no longer supported 37 38 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.5.0...v4.0.0) 39 40 ## v3.5.0 - March 4th, 2018 41 42 - Omit redundant slice in join method of diffArrays - 1023590 43 - Support patches with empty lines - fb0f208 44 - Accept a custom JSON replacer function for JSON diffing - 69c7f0a 45 - Optimize parch header parser - 2aec429 46 - Fix typos - e89c832 47 48 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.4.0...v3.5.0) 49 50 ## v3.4.0 - October 7th, 2017 51 52 - [#183](https://github.com/kpdecker/jsdiff/issues/183) - Feature request: ability to specify a custom equality checker for `diffArrays` 53 - [#173](https://github.com/kpdecker/jsdiff/issues/173) - Bug: diffArrays gives wrong result on array of booleans 54 - [#158](https://github.com/kpdecker/jsdiff/issues/158) - diffArrays will not compare the empty string in array? 55 - comparator for custom equality checks - 30e141e 56 - count oldLines and newLines when there are conflicts - 53bf384 57 - Fix: diffArrays can compare falsey items - 9e24284 58 - Docs: Replace grunt with npm test - 00e2f94 59 60 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.3.1...v3.4.0) 61 62 ## v3.3.1 - September 3rd, 2017 63 64 - [#141](https://github.com/kpdecker/jsdiff/issues/141) - Cannot apply patch because my file delimiter is "/r/n" instead of "/n" 65 - [#192](https://github.com/kpdecker/jsdiff/pull/192) - Fix: Bad merge when adding new files (#189) 66 - correct spelling mistake - 21fa478 67 68 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.3.0...v3.3.1) 69 70 ## v3.3.0 - July 5th, 2017 71 72 - [#114](https://github.com/kpdecker/jsdiff/issues/114) - /patch/merge not exported 73 - Gracefully accept invalid newStart in hunks, same as patch(1) does. - d8a3635 74 - Use regex rather than starts/ends with for parsePatch - 6cab62c 75 - Add browser flag - e64f674 76 - refactor: simplified code a bit more - 8f8e0f2 77 - refactor: simplified code a bit - b094a6f 78 - fix: some corrections re ignoreCase option - 3c78fd0 79 - ignoreCase option - 3cbfbb5 80 - Sanitize filename while parsing patches - 2fe8129 81 - Added better installation methods - aced50b 82 - Simple export of functionality - 8690f31 83 84 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.2.0...v3.3.0) 85 86 ## v3.2.0 - December 26th, 2016 87 88 - [#156](https://github.com/kpdecker/jsdiff/pull/156) - Add `undefinedReplacement` option to `diffJson` ([@ewnd9](https://api.github.com/users/ewnd9)) 89 - [#154](https://github.com/kpdecker/jsdiff/pull/154) - Add `examples` and `images` to `.npmignore`. ([@wtgtybhertgeghgtwtg](https://api.github.com/users/wtgtybhertgeghgtwtg)) 90 - [#153](https://github.com/kpdecker/jsdiff/pull/153) - feat(structuredPatch): Pass options to diffLines ([@Kiougar](https://api.github.com/users/Kiougar)) 91 92 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.1.0...v3.2.0) 93 94 ## v3.1.0 - November 27th, 2016 95 96 - [#146](https://github.com/kpdecker/jsdiff/pull/146) - JsDiff.diffArrays to compare arrays ([@wvanderdeijl](https://api.github.com/users/wvanderdeijl)) 97 - [#144](https://github.com/kpdecker/jsdiff/pull/144) - Split file using all possible line delimiter instead of hard-coded "/n" and join lines back using the original delimiters ([@soulbeing](https://api.github.com/users/soulbeing)) 98 99 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.0.1...v3.1.0) 100 101 ## v3.0.1 - October 9th, 2016 102 103 - [#139](https://github.com/kpdecker/jsdiff/pull/139) - Make README.md look nicer in npmjs.com ([@takenspc](https://api.github.com/users/takenspc)) 104 - [#135](https://github.com/kpdecker/jsdiff/issues/135) - parsePatch combines patches from multiple files into a single IUniDiff when there is no "Index" line ([@ramya-rao-a](https://api.github.com/users/ramya-rao-a)) 105 - [#124](https://github.com/kpdecker/jsdiff/issues/124) - IE7/IE8 failure since 2.0.0 ([@boneskull](https://api.github.com/users/boneskull)) 106 107 [Commits](https://github.com/kpdecker/jsdiff/compare/v3.0.0...v3.0.1) 108 109 ## v3.0.0 - August 23rd, 2016 110 111 - [#130](https://github.com/kpdecker/jsdiff/pull/130) - Add callback argument to applyPatches `patched` option ([@piranna](https://api.github.com/users/piranna)) 112 - [#120](https://github.com/kpdecker/jsdiff/pull/120) - Correctly handle file names containing spaces ([@adius](https://api.github.com/users/adius)) 113 - [#119](https://github.com/kpdecker/jsdiff/pull/119) - Do single reflow ([@wifiextender](https://api.github.com/users/wifiextender)) 114 - [#117](https://github.com/kpdecker/jsdiff/pull/117) - Make more usable with long strings. ([@abnbgist](https://api.github.com/users/abnbgist)) 115 116 Compatibility notes: 117 118 - applyPatches patch callback now is async and requires the callback be called to continue operation 119 120 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.3...v3.0.0) 121 122 ## v2.2.3 - May 31st, 2016 123 124 - [#118](https://github.com/kpdecker/jsdiff/pull/118) - Add a fix for applying 0-length destination patches ([@chaaz](https://api.github.com/users/chaaz)) 125 - [#115](https://github.com/kpdecker/jsdiff/pull/115) - Fixed grammar in README ([@krizalys](https://api.github.com/users/krizalys)) 126 - [#113](https://github.com/kpdecker/jsdiff/pull/113) - fix typo ([@vmazare](https://api.github.com/users/vmazare)) 127 128 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.2...v2.2.3) 129 130 ## v2.2.2 - March 13th, 2016 131 132 - [#102](https://github.com/kpdecker/jsdiff/issues/102) - diffJson with dates, returns empty curly braces ([@dr-dimitru](https://api.github.com/users/dr-dimitru)) 133 - [#97](https://github.com/kpdecker/jsdiff/issues/97) - Whitespaces & diffWords ([@faiwer](https://api.github.com/users/faiwer)) 134 - [#92](https://github.com/kpdecker/jsdiff/pull/92) - Fixes typo in the readme ([@bg451](https://api.github.com/users/bg451)) 135 136 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.1...v2.2.2) 137 138 ## v2.2.1 - November 12th, 2015 139 140 - [#89](https://github.com/kpdecker/jsdiff/pull/89) - add in display selector to readme ([@FranDias](https://api.github.com/users/FranDias)) 141 - [#88](https://github.com/kpdecker/jsdiff/pull/88) - Split diffs based on file headers instead of 'Index:' metadata ([@piranna](https://api.github.com/users/piranna)) 142 143 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.0...v2.2.1) 144 145 ## v2.2.0 - October 29th, 2015 146 147 - [#80](https://github.com/kpdecker/jsdiff/pull/80) - Fix a typo: applyPath -> applyPatch ([@fluxxu](https://api.github.com/users/fluxxu)) 148 - [#83](https://github.com/kpdecker/jsdiff/pull/83) - Add basic fuzzy matching to applyPatch ([@piranna](https://github.com/piranna)) 149 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.2.0...v2.2.0) 150 151 ## v2.2.0 - October 29th, 2015 152 153 - [#80](https://github.com/kpdecker/jsdiff/pull/80) - Fix a typo: applyPath -> applyPatch ([@fluxxu](https://api.github.com/users/fluxxu)) 154 - [#83](https://github.com/kpdecker/jsdiff/pull/83) - Add basic fuzzy matching to applyPatch ([@piranna](https://github.com/piranna)) 155 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.3...v2.2.0) 156 157 ## v2.1.3 - September 30th, 2015 158 159 - [#78](https://github.com/kpdecker/jsdiff/pull/78) - fix: error throwing when apply patch to empty string ([@21paradox](https://api.github.com/users/21paradox)) 160 161 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.2...v2.1.3) 162 163 ## v2.1.2 - September 23rd, 2015 164 165 - [#76](https://github.com/kpdecker/jsdiff/issues/76) - diff headers give error ([@piranna](https://api.github.com/users/piranna)) 166 167 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.1...v2.1.2) 168 169 ## v2.1.1 - September 9th, 2015 170 171 - [#73](https://github.com/kpdecker/jsdiff/issues/73) - Is applyPatches() exposed in the API? ([@davidparsson](https://api.github.com/users/davidparsson)) 172 173 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.1.0...v2.1.1) 174 175 ## v2.1.0 - August 27th, 2015 176 177 - [#72](https://github.com/kpdecker/jsdiff/issues/72) - Consider using options object API for flag permutations ([@kpdecker](https://api.github.com/users/kpdecker)) 178 - [#70](https://github.com/kpdecker/jsdiff/issues/70) - diffWords treats \n at the end as significant whitespace ([@nesQuick](https://api.github.com/users/nesQuick)) 179 - [#69](https://github.com/kpdecker/jsdiff/issues/69) - Missing count ([@wfalkwallace](https://api.github.com/users/wfalkwallace)) 180 - [#68](https://github.com/kpdecker/jsdiff/issues/68) - diffLines seems broken ([@wfalkwallace](https://api.github.com/users/wfalkwallace)) 181 - [#60](https://github.com/kpdecker/jsdiff/issues/60) - Support multiple diff hunks ([@piranna](https://api.github.com/users/piranna)) 182 - [#54](https://github.com/kpdecker/jsdiff/issues/54) - Feature Request: 3-way merge ([@mog422](https://api.github.com/users/mog422)) 183 - [#42](https://github.com/kpdecker/jsdiff/issues/42) - Fuzz factor for applyPatch ([@stuartpb](https://api.github.com/users/stuartpb)) 184 - Move whitespace ignore out of equals method - 542063c 185 - Include source maps in babel output - 7f7ab21 186 - Merge diff/line and diff/patch implementations - 1597705 187 - Drop map utility method - 1ddc939 188 - Documentation for parsePatch and applyPatches - 27c4b77 189 190 Compatibility notes: 191 192 - The undocumented ignoreWhitespace flag has been removed from the Diff equality check directly. This implementation may be copied to diff utilities if dependencies existed on this functionality. 193 194 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.0.2...v2.1.0) 195 196 ## v2.0.2 - August 8th, 2015 197 198 - [#67](https://github.com/kpdecker/jsdiff/issues/67) - cannot require from npm module in node ([@commenthol](https://api.github.com/users/commenthol)) 199 - Convert to chai since we don’t support IE8 - a96bbad 200 201 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.0.1...v2.0.2) 202 203 ## v2.0.1 - August 7th, 2015 204 205 - Add release build at proper step - 57542fd 206 207 [Commits](https://github.com/kpdecker/jsdiff/compare/v2.0.0...v2.0.1) 208 209 ## v2.0.0 - August 7th, 2015 210 211 - [#66](https://github.com/kpdecker/jsdiff/issues/66) - Add karma and sauce tests ([@kpdecker](https://api.github.com/users/kpdecker)) 212 - [#65](https://github.com/kpdecker/jsdiff/issues/65) - Create component repository for bower ([@kpdecker](https://api.github.com/users/kpdecker)) 213 - [#64](https://github.com/kpdecker/jsdiff/issues/64) - Automatically call removeEmpty for all tokenizer calls ([@kpdecker](https://api.github.com/users/kpdecker)) 214 - [#62](https://github.com/kpdecker/jsdiff/pull/62) - Allow access to structured object representation of patch data ([@bittrance](https://api.github.com/users/bittrance)) 215 - [#61](https://github.com/kpdecker/jsdiff/pull/61) - Use svg instead of png to get better image quality ([@PeterDaveHello](https://api.github.com/users/PeterDaveHello)) 216 - [#29](https://github.com/kpdecker/jsdiff/issues/29) - word tokenizer works only for 7 bit ascii ([@plasmagunman](https://api.github.com/users/plasmagunman)) 217 218 Compatibility notes: 219 220 - `this.removeEmpty` is now called automatically for all instances. If this is not desired, this may be overridden on a per instance basis. 221 - The library has been refactored to use some ES6 features. The external APIs should remain the same, but bower projects that directly referenced the repository will now have to point to the [components/jsdiff](https://github.com/components/jsdiff) repository. 222 223 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.4.0...v2.0.0) 224 225 ## v1.4.0 - May 6th, 2015 226 227 - [#57](https://github.com/kpdecker/jsdiff/issues/57) - createPatch -> applyPatch failed. ([@mog422](https://api.github.com/users/mog422)) 228 - [#56](https://github.com/kpdecker/jsdiff/pull/56) - Two files patch ([@rgeissert](https://api.github.com/users/rgeissert)) 229 - [#14](https://github.com/kpdecker/jsdiff/issues/14) - Flip added and removed order? ([@jakesandlund](https://api.github.com/users/jakesandlund)) 230 231 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.3.2...v1.4.0) 232 233 ## v1.3.2 - March 30th, 2015 234 235 - [#53](https://github.com/kpdecker/jsdiff/pull/53) - Updated README.MD with Bower installation instructions ([@ofbriggs](https://api.github.com/users/ofbriggs)) 236 - [#49](https://github.com/kpdecker/jsdiff/issues/49) - Cannot read property 'oldlines' of undefined ([@nwtn](https://api.github.com/users/nwtn)) 237 - [#44](https://github.com/kpdecker/jsdiff/issues/44) - invalid-meta jsdiff is missing "main" entry in bower.json 238 239 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.3.1...v1.3.2) 240 241 ## v1.3.1 - March 13th, 2015 242 243 - [#52](https://github.com/kpdecker/jsdiff/pull/52) - Fix for #51 Wrong result of JsDiff.diffLines ([@felicienfrancois](https://api.github.com/users/felicienfrancois)) 244 245 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.3.0...v1.3.1) 246 247 ## v1.3.0 - March 2nd, 2015 248 249 - [#47](https://github.com/kpdecker/jsdiff/pull/47) - Adding Diff Trimmed Lines ([@JamesGould123](https://api.github.com/users/JamesGould123)) 250 251 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.2.2...v1.3.0) 252 253 ## v1.2.2 - January 26th, 2015 254 255 - [#45](https://github.com/kpdecker/jsdiff/pull/45) - Fix AMD module loading ([@pedrocarrico](https://api.github.com/users/pedrocarrico)) 256 - [#43](https://github.com/kpdecker/jsdiff/pull/43) - added a bower file ([@nbrustein](https://api.github.com/users/nbrustein)) 257 258 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.2.1...v1.2.2) 259 260 ## v1.2.1 - December 26th, 2014 261 262 - [#41](https://github.com/kpdecker/jsdiff/pull/41) - change condition of using node export system. ([@ironhee](https://api.github.com/users/ironhee)) 263 264 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.2.0...v1.2.1) 265 266 ## v1.2.0 - November 29th, 2014 267 268 - [#37](https://github.com/kpdecker/jsdiff/pull/37) - Add support for sentences. ([@vmariano](https://api.github.com/users/vmariano)) 269 - [#28](https://github.com/kpdecker/jsdiff/pull/28) - Implemented diffJson ([@papandreou](https://api.github.com/users/papandreou)) 270 - [#27](https://github.com/kpdecker/jsdiff/issues/27) - Slow to execute over diffs with a large number of changes ([@termi](https://api.github.com/users/termi)) 271 - Allow for optional async diffing - 19385b9 272 - Fix diffChars implementation - eaa44ed 273 274 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.1.0...v1.2.0) 275 276 ## v1.1.0 - November 25th, 2014 277 278 - [#33](https://github.com/kpdecker/jsdiff/pull/33) - AMD and global exports ([@ovcharik](https://api.github.com/users/ovcharik)) 279 - [#32](https://github.com/kpdecker/jsdiff/pull/32) - Add support for component ([@vmariano](https://api.github.com/users/vmariano)) 280 - [#31](https://github.com/kpdecker/jsdiff/pull/31) - Don't rely on Array.prototype.map ([@papandreou](https://api.github.com/users/papandreou)) 281 282 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.8...v1.1.0) 283 284 ## v1.0.8 - December 22nd, 2013 285 286 - [#24](https://github.com/kpdecker/jsdiff/pull/24) - Handle windows newlines on non windows machines. ([@benogle](https://api.github.com/users/benogle)) 287 - [#23](https://github.com/kpdecker/jsdiff/pull/23) - Prettied up the API formatting a little, and added basic node and web examples ([@airportyh](https://api.github.com/users/airportyh)) 288 289 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.7...v1.0.8) 290 291 ## v1.0.7 - September 11th, 2013 292 293 - [#22](https://github.com/kpdecker/jsdiff/pull/22) - Added variant of WordDiff that doesn't ignore whitespace differences ([@papandreou](https://api.github.com/users/papandreou) 294 295 - Add 0.10 to travis tests - 243a526 296 297 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.6...v1.0.7) 298 299 ## v1.0.6 - August 30th, 2013 300 301 - [#19](https://github.com/kpdecker/jsdiff/pull/19) - Explicitly define contents of npm package ([@sindresorhus](https://api.github.com/users/sindresorhus) 302 303 [Commits](https://github.com/kpdecker/jsdiff/compare/v1.0.5...v1.0.6)