[6a3a178] | 1 | # Changelog
|
---|
| 2 |
|
---|
| 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
---|
| 4 |
|
---|
| 5 | ### [8.0.1](https://github.com/npm/ssri/compare/v8.0.0...v8.0.1) (2021-01-27)
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | ### Bug Fixes
|
---|
| 9 |
|
---|
| 10 | * simplify regex for strict mode, add tests ([76e2233](https://github.com/npm/ssri/commit/76e223317d971f19e4db8191865bdad5edee40d2))
|
---|
| 11 |
|
---|
| 12 | ## [8.0.0](https://github.com/npm/ssri/compare/v7.1.0...v8.0.0) (2020-02-18)
|
---|
| 13 |
|
---|
| 14 |
|
---|
| 15 | ### ⚠ BREAKING CHANGES
|
---|
| 16 |
|
---|
| 17 | * SRI values with `../` in the algorithm name now throw
|
---|
| 18 | as invalid (which they always probably should have!)
|
---|
| 19 | * adds a new error that will be thrown. Empty SRIs are
|
---|
| 20 | no longer considered valid for checking, only when using integrityStream
|
---|
| 21 | to calculate the SRI value.
|
---|
| 22 |
|
---|
| 23 | PR-URL: https://github.com/npm/ssri/pull/12
|
---|
| 24 | Credit: @claudiahdz
|
---|
| 25 |
|
---|
| 26 | ### Features
|
---|
| 27 |
|
---|
| 28 | * remove figgy-pudding ([0e78fd7](https://github.com/npm/ssri/commit/0e78fd7b754e2d098875eb4c57238709d96d7c27))
|
---|
| 29 |
|
---|
| 30 |
|
---|
| 31 | ### Bug Fixes
|
---|
| 32 |
|
---|
| 33 | * harden SRI parsing against ../ funny business ([4062735](https://github.com/npm/ssri/commit/4062735d1281941fd32ac4320b9f9965fcec278b))
|
---|
| 34 | * IntegrityStream responds to mutating opts object mid-stream ([4a963e5](https://github.com/npm/ssri/commit/4a963e5982478c6b07f86848cdb72d142c765195))
|
---|
| 35 | * throw null when sri is empty or bad ([a6811cb](https://github.com/npm/ssri/commit/a6811cba71e20ea1fdefa6e50c9ea3c67efc2500)), closes [#12](https://github.com/npm/ssri/issues/12)
|
---|
| 36 |
|
---|
| 37 | ## [7.1.0](https://github.com/npm/ssri/compare/v7.0.1...v7.1.0) (2019-10-24)
|
---|
| 38 |
|
---|
| 39 |
|
---|
| 40 | ### Bug Fixes
|
---|
| 41 |
|
---|
| 42 | * Do not blow up if the opts object is mutated ([806e8c8](https://github.com/npm/ssri/commit/806e8c8))
|
---|
| 43 |
|
---|
| 44 |
|
---|
| 45 | ### Features
|
---|
| 46 |
|
---|
| 47 | * Add Integrity#merge method ([0572c1d](https://github.com/npm/ssri/commit/0572c1d)), closes [#4](https://github.com/npm/ssri/issues/4)
|
---|
| 48 |
|
---|
| 49 | ### [7.0.1](https://github.com/npm/ssri/compare/v7.0.0...v7.0.1) (2019-09-30)
|
---|
| 50 |
|
---|
| 51 | ## [7.0.0](https://github.com/npm/ssri/compare/v6.0.1...v7.0.0) (2019-09-18)
|
---|
| 52 |
|
---|
| 53 |
|
---|
| 54 | ### ⚠ BREAKING CHANGES
|
---|
| 55 |
|
---|
| 56 | * ssri no longer accepts a Promise option, and does not
|
---|
| 57 | use, return, or rely on Bluebird promises.
|
---|
| 58 | * drop support for Node.js v6.
|
---|
| 59 |
|
---|
| 60 | We knew this was coming, and the Stream changes are breaking anyway.
|
---|
| 61 | May as well do this now.
|
---|
| 62 | * **streams:** this replaces the Node.js stream with a Minipass
|
---|
| 63 | stream. See http://npm.im/minipass for documentation.
|
---|
| 64 |
|
---|
| 65 | ### Bug Fixes
|
---|
| 66 |
|
---|
| 67 | * return super.write() return value ([55b055d](https://github.com/npm/ssri/commit/55b055d))
|
---|
| 68 |
|
---|
| 69 |
|
---|
| 70 | * Use native promises only ([6d13165](https://github.com/npm/ssri/commit/6d13165))
|
---|
| 71 | * update tap, standard, standard-version, travis ([2e54956](https://github.com/npm/ssri/commit/2e54956))
|
---|
| 72 | * **streams:** replace transform streams with minipass ([363995e](https://github.com/npm/ssri/commit/363995e))
|
---|
| 73 |
|
---|
| 74 | <a name="6.0.1"></a>
|
---|
| 75 | ## [6.0.1](https://github.com/npm/ssri/compare/v6.0.0...v6.0.1) (2018-08-27)
|
---|
| 76 |
|
---|
| 77 |
|
---|
| 78 | ### Bug Fixes
|
---|
| 79 |
|
---|
| 80 | * **opts:** use figgy-pudding to specify consumed opts ([cf86553](https://github.com/npm/ssri/commit/cf86553))
|
---|
| 81 |
|
---|
| 82 |
|
---|
| 83 |
|
---|
| 84 | <a name="6.0.0"></a>
|
---|
| 85 | # [6.0.0](https://github.com/npm/ssri/compare/v5.3.0...v6.0.0) (2018-04-09)
|
---|
| 86 |
|
---|
| 87 |
|
---|
| 88 | ### Bug Fixes
|
---|
| 89 |
|
---|
| 90 | * **docs:** minor typo ([b71ef17](https://github.com/npm/ssri/commit/b71ef17))
|
---|
| 91 |
|
---|
| 92 |
|
---|
| 93 | ### meta
|
---|
| 94 |
|
---|
| 95 | * drop support for node@4 ([d9bf359](https://github.com/npm/ssri/commit/d9bf359))
|
---|
| 96 |
|
---|
| 97 |
|
---|
| 98 | ### BREAKING CHANGES
|
---|
| 99 |
|
---|
| 100 | * node@4 is no longer supported
|
---|
| 101 |
|
---|
| 102 |
|
---|
| 103 |
|
---|
| 104 | <a name="5.3.0"></a>
|
---|
| 105 | # [5.3.0](https://github.com/npm/ssri/compare/v5.2.4...v5.3.0) (2018-03-13)
|
---|
| 106 |
|
---|
| 107 |
|
---|
| 108 | ### Features
|
---|
| 109 |
|
---|
| 110 | * **checkData:** optionally throw when checkData fails ([bf26b84](https://github.com/npm/ssri/commit/bf26b84))
|
---|
| 111 |
|
---|
| 112 |
|
---|
| 113 |
|
---|
| 114 | <a name="5.2.4"></a>
|
---|
| 115 | ## [5.2.4](https://github.com/npm/ssri/compare/v5.2.3...v5.2.4) (2018-02-16)
|
---|
| 116 |
|
---|
| 117 |
|
---|
| 118 |
|
---|
| 119 | <a name="5.2.3"></a>
|
---|
| 120 | ## [5.2.3](https://github.com/npm/ssri/compare/v5.2.2...v5.2.3) (2018-02-16)
|
---|
| 121 |
|
---|
| 122 |
|
---|
| 123 | ### Bug Fixes
|
---|
| 124 |
|
---|
| 125 | * **hashes:** filter hash priority list by available hashes ([2fa30b8](https://github.com/npm/ssri/commit/2fa30b8))
|
---|
| 126 | * **integrityStream:** dedupe algorithms to generate ([d56c654](https://github.com/npm/ssri/commit/d56c654))
|
---|
| 127 |
|
---|
| 128 |
|
---|
| 129 |
|
---|
| 130 | <a name="5.2.2"></a>
|
---|
| 131 | ## [5.2.2](https://github.com/npm/ssri/compare/v5.2.1...v5.2.2) (2018-02-14)
|
---|
| 132 |
|
---|
| 133 |
|
---|
| 134 | ### Bug Fixes
|
---|
| 135 |
|
---|
| 136 | * **security:** tweak strict SRI regex ([#10](https://github.com/npm/ssri/issues/10)) ([d0ebcdc](https://github.com/npm/ssri/commit/d0ebcdc))
|
---|
| 137 |
|
---|
| 138 |
|
---|
| 139 |
|
---|
| 140 | <a name="5.2.1"></a>
|
---|
| 141 | ## [5.2.1](https://github.com/npm/ssri/compare/v5.2.0...v5.2.1) (2018-02-06)
|
---|
| 142 |
|
---|
| 143 |
|
---|
| 144 |
|
---|
| 145 | <a name="5.2.0"></a>
|
---|
| 146 | # [5.2.0](https://github.com/npm/ssri/compare/v5.1.0...v5.2.0) (2018-02-06)
|
---|
| 147 |
|
---|
| 148 |
|
---|
| 149 | ### Features
|
---|
| 150 |
|
---|
| 151 | * **match:** add integrity.match() ([3c49cc4](https://github.com/npm/ssri/commit/3c49cc4))
|
---|
| 152 |
|
---|
| 153 |
|
---|
| 154 |
|
---|
| 155 | <a name="5.1.0"></a>
|
---|
| 156 | # [5.1.0](https://github.com/npm/ssri/compare/v5.0.0...v5.1.0) (2018-01-18)
|
---|
| 157 |
|
---|
| 158 |
|
---|
| 159 | ### Bug Fixes
|
---|
| 160 |
|
---|
| 161 | * **checkStream:** integrityStream now takes opts.integrity algos into account ([d262910](https://github.com/npm/ssri/commit/d262910))
|
---|
| 162 |
|
---|
| 163 |
|
---|
| 164 | ### Features
|
---|
| 165 |
|
---|
| 166 | * **sha3:** do some guesswork about upcoming sha3 ([7fdd9df](https://github.com/npm/ssri/commit/7fdd9df))
|
---|
| 167 |
|
---|
| 168 |
|
---|
| 169 |
|
---|
| 170 | <a name="5.0.0"></a>
|
---|
| 171 | # [5.0.0](https://github.com/npm/ssri/compare/v4.1.6...v5.0.0) (2017-10-23)
|
---|
| 172 |
|
---|
| 173 |
|
---|
| 174 | ### Features
|
---|
| 175 |
|
---|
| 176 | * **license:** relicense to ISC (#9) ([c82983a](https://github.com/npm/ssri/commit/c82983a))
|
---|
| 177 |
|
---|
| 178 |
|
---|
| 179 | ### BREAKING CHANGES
|
---|
| 180 |
|
---|
| 181 | * **license:** the license has been changed from CC0-1.0 to ISC.
|
---|
| 182 |
|
---|
| 183 |
|
---|
| 184 |
|
---|
| 185 | <a name="4.1.6"></a>
|
---|
| 186 | ## [4.1.6](https://github.com/npm/ssri/compare/v4.1.5...v4.1.6) (2017-06-07)
|
---|
| 187 |
|
---|
| 188 |
|
---|
| 189 | ### Bug Fixes
|
---|
| 190 |
|
---|
| 191 | * **checkStream:** make sure to pass all opts through ([0b1bcbe](https://github.com/npm/ssri/commit/0b1bcbe))
|
---|
| 192 |
|
---|
| 193 |
|
---|
| 194 |
|
---|
| 195 | <a name="4.1.5"></a>
|
---|
| 196 | ## [4.1.5](https://github.com/npm/ssri/compare/v4.1.4...v4.1.5) (2017-06-05)
|
---|
| 197 |
|
---|
| 198 |
|
---|
| 199 | ### Bug Fixes
|
---|
| 200 |
|
---|
| 201 | * **integrityStream:** stop crashing if opts.algorithms and opts.integrity have an algo mismatch ([fb1293e](https://github.com/npm/ssri/commit/fb1293e))
|
---|
| 202 |
|
---|
| 203 |
|
---|
| 204 |
|
---|
| 205 | <a name="4.1.4"></a>
|
---|
| 206 | ## [4.1.4](https://github.com/npm/ssri/compare/v4.1.3...v4.1.4) (2017-05-31)
|
---|
| 207 |
|
---|
| 208 |
|
---|
| 209 | ### Bug Fixes
|
---|
| 210 |
|
---|
| 211 | * **node:** older versions of node[@4](https://github.com/4) do not support base64buffer string parsing ([513df4e](https://github.com/npm/ssri/commit/513df4e))
|
---|
| 212 |
|
---|
| 213 |
|
---|
| 214 |
|
---|
| 215 | <a name="4.1.3"></a>
|
---|
| 216 | ## [4.1.3](https://github.com/npm/ssri/compare/v4.1.2...v4.1.3) (2017-05-24)
|
---|
| 217 |
|
---|
| 218 |
|
---|
| 219 | ### Bug Fixes
|
---|
| 220 |
|
---|
| 221 | * **check:** handle various bad hash corner cases better ([c2c262b](https://github.com/npm/ssri/commit/c2c262b))
|
---|
| 222 |
|
---|
| 223 |
|
---|
| 224 |
|
---|
| 225 | <a name="4.1.2"></a>
|
---|
| 226 | ## [4.1.2](https://github.com/npm/ssri/compare/v4.1.1...v4.1.2) (2017-04-18)
|
---|
| 227 |
|
---|
| 228 |
|
---|
| 229 | ### Bug Fixes
|
---|
| 230 |
|
---|
| 231 | * **stream:** _flush can be called multiple times. use on("end") ([b1c4805](https://github.com/npm/ssri/commit/b1c4805))
|
---|
| 232 |
|
---|
| 233 |
|
---|
| 234 |
|
---|
| 235 | <a name="4.1.1"></a>
|
---|
| 236 | ## [4.1.1](https://github.com/npm/ssri/compare/v4.1.0...v4.1.1) (2017-04-12)
|
---|
| 237 |
|
---|
| 238 |
|
---|
| 239 | ### Bug Fixes
|
---|
| 240 |
|
---|
| 241 | * **pickAlgorithm:** error if pickAlgorithm() is used in an empty Integrity ([fab470e](https://github.com/npm/ssri/commit/fab470e))
|
---|
| 242 |
|
---|
| 243 |
|
---|
| 244 |
|
---|
| 245 | <a name="4.1.0"></a>
|
---|
| 246 | # [4.1.0](https://github.com/npm/ssri/compare/v4.0.0...v4.1.0) (2017-04-07)
|
---|
| 247 |
|
---|
| 248 |
|
---|
| 249 | ### Features
|
---|
| 250 |
|
---|
| 251 | * adding ssri.create for a crypto style interface (#2) ([96f52ad](https://github.com/npm/ssri/commit/96f52ad))
|
---|
| 252 |
|
---|
| 253 |
|
---|
| 254 |
|
---|
| 255 | <a name="4.0.0"></a>
|
---|
| 256 | # [4.0.0](https://github.com/npm/ssri/compare/v3.0.2...v4.0.0) (2017-04-03)
|
---|
| 257 |
|
---|
| 258 |
|
---|
| 259 | ### Bug Fixes
|
---|
| 260 |
|
---|
| 261 | * **integrity:** should have changed the error code before. oops ([8381afa](https://github.com/npm/ssri/commit/8381afa))
|
---|
| 262 |
|
---|
| 263 |
|
---|
| 264 | ### BREAKING CHANGES
|
---|
| 265 |
|
---|
| 266 | * **integrity:** EBADCHECKSUM -> EINTEGRITY for verification errors
|
---|
| 267 |
|
---|
| 268 |
|
---|
| 269 |
|
---|
| 270 | <a name="3.0.2"></a>
|
---|
| 271 | ## [3.0.2](https://github.com/npm/ssri/compare/v3.0.1...v3.0.2) (2017-04-03)
|
---|
| 272 |
|
---|
| 273 |
|
---|
| 274 |
|
---|
| 275 | <a name="3.0.1"></a>
|
---|
| 276 | ## [3.0.1](https://github.com/npm/ssri/compare/v3.0.0...v3.0.1) (2017-04-03)
|
---|
| 277 |
|
---|
| 278 |
|
---|
| 279 | ### Bug Fixes
|
---|
| 280 |
|
---|
| 281 | * **package.json:** really should have these in the keywords because search ([a6ac6d0](https://github.com/npm/ssri/commit/a6ac6d0))
|
---|
| 282 |
|
---|
| 283 |
|
---|
| 284 |
|
---|
| 285 | <a name="3.0.0"></a>
|
---|
| 286 | # [3.0.0](https://github.com/npm/ssri/compare/v2.0.0...v3.0.0) (2017-04-03)
|
---|
| 287 |
|
---|
| 288 |
|
---|
| 289 | ### Bug Fixes
|
---|
| 290 |
|
---|
| 291 | * **hashes:** IntegrityMetadata -> Hash ([d04aa1f](https://github.com/npm/ssri/commit/d04aa1f))
|
---|
| 292 |
|
---|
| 293 |
|
---|
| 294 | ### Features
|
---|
| 295 |
|
---|
| 296 | * **check:** return IntegrityMetadata on check success ([2301e74](https://github.com/npm/ssri/commit/2301e74))
|
---|
| 297 | * **fromHex:** ssri.fromHex to make it easier to generate them from hex valus ([049b89e](https://github.com/npm/ssri/commit/049b89e))
|
---|
| 298 | * **hex:** utility function for getting hex version of digest ([a9f021c](https://github.com/npm/ssri/commit/a9f021c))
|
---|
| 299 | * **hexDigest:** added hexDigest method to Integrity objects too ([85208ba](https://github.com/npm/ssri/commit/85208ba))
|
---|
| 300 | * **integrity:** add .isIntegrity and .isIntegrityMetadata ([1b29e6f](https://github.com/npm/ssri/commit/1b29e6f))
|
---|
| 301 | * **integrityStream:** new stream that can both generate and check streamed data ([fd23e1b](https://github.com/npm/ssri/commit/fd23e1b))
|
---|
| 302 | * **parse:** allow parsing straight into a single IntegrityMetadata object ([c8ddf48](https://github.com/npm/ssri/commit/c8ddf48))
|
---|
| 303 | * **pickAlgorithm:** Intergrity#pickAlgorithm() added ([b97a796](https://github.com/npm/ssri/commit/b97a796))
|
---|
| 304 | * **size:** calculate and update stream sizes ([02ed1ad](https://github.com/npm/ssri/commit/02ed1ad))
|
---|
| 305 |
|
---|
| 306 |
|
---|
| 307 | ### BREAKING CHANGES
|
---|
| 308 |
|
---|
| 309 | * **hashes:** `.isIntegrityMetadata` is now `.isHash`. Also, any references to `IntegrityMetadata` now refer to `Hash`.
|
---|
| 310 | * **integrityStream:** createCheckerStream has been removed and replaced with a general-purpose integrityStream.
|
---|
| 311 |
|
---|
| 312 | To convert existing createCheckerStream code, move the `sri` argument into `opts.integrity` in integrityStream. All other options should be the same.
|
---|
| 313 | * **check:** `checkData`, `checkStream`, and `createCheckerStream` now yield a whole IntegrityMetadata instance representing the first successful hash match.
|
---|
| 314 |
|
---|
| 315 |
|
---|
| 316 |
|
---|
| 317 | <a name="2.0.0"></a>
|
---|
| 318 | # [2.0.0](https://github.com/npm/ssri/compare/v1.0.0...v2.0.0) (2017-03-24)
|
---|
| 319 |
|
---|
| 320 |
|
---|
| 321 | ### Bug Fixes
|
---|
| 322 |
|
---|
| 323 | * **strict-mode:** make regexes more rigid ([122a32c](https://github.com/npm/ssri/commit/122a32c))
|
---|
| 324 |
|
---|
| 325 |
|
---|
| 326 | ### Features
|
---|
| 327 |
|
---|
| 328 | * **api:** added serialize alias for unparse ([999b421](https://github.com/npm/ssri/commit/999b421))
|
---|
| 329 | * **concat:** add Integrity#concat() ([cae12c7](https://github.com/npm/ssri/commit/cae12c7))
|
---|
| 330 | * **pickAlgo:** pick the strongest algorithm provided, by default ([58c18f7](https://github.com/npm/ssri/commit/58c18f7))
|
---|
| 331 | * **strict-mode:** strict SRI support ([3f0b64c](https://github.com/npm/ssri/commit/3f0b64c))
|
---|
| 332 | * **stringify:** replaced unparse/serialize with stringify ([4acad30](https://github.com/npm/ssri/commit/4acad30))
|
---|
| 333 | * **verification:** add opts.pickAlgorithm ([f72e658](https://github.com/npm/ssri/commit/f72e658))
|
---|
| 334 |
|
---|
| 335 |
|
---|
| 336 | ### BREAKING CHANGES
|
---|
| 337 |
|
---|
| 338 | * **pickAlgo:** ssri will prioritize specific hashes now
|
---|
| 339 | * **stringify:** serialize and unparse have been removed. Use ssri.stringify instead.
|
---|
| 340 | * **strict-mode:** functions that accepted an optional `sep` argument now expect `opts.sep`.
|
---|
| 341 |
|
---|
| 342 |
|
---|
| 343 |
|
---|
| 344 | <a name="1.0.0"></a>
|
---|
| 345 | # 1.0.0 (2017-03-23)
|
---|
| 346 |
|
---|
| 347 |
|
---|
| 348 | ### Features
|
---|
| 349 |
|
---|
| 350 | * **api:** implemented initial api ([4fbb16b](https://github.com/npm/ssri/commit/4fbb16b))
|
---|
| 351 |
|
---|
| 352 |
|
---|
| 353 | ### BREAKING CHANGES
|
---|
| 354 |
|
---|
| 355 | * **api:** Initial API established.
|
---|