All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
- simplify regex for strict mode, add tests (76e2233)
- SRI values with
../
in the algorithm name now throw
as invalid (which they always probably should have!)
- adds a new error that will be thrown. Empty SRIs are
no longer considered valid for checking, only when using integrityStream
to calculate the SRI value.
PR-URL: https://github.com/npm/ssri/pull/12
Credit: @claudiahdz
- harden SRI parsing against ../ funny business (4062735)
- IntegrityStream responds to mutating opts object mid-stream (4a963e5)
- throw null when sri is empty or bad (a6811cb), closes #12
- Do not blow up if the opts object is mutated (806e8c8)
- Add Integrity#merge method (0572c1d), closes #4
- ssri no longer accepts a Promise option, and does not
use, return, or rely on Bluebird promises.
- drop support for Node.js v6.
We knew this was coming, and the Stream changes are breaking anyway.
May as well do this now.
- streams: this replaces the Node.js stream with a Minipass
stream. See http://npm.im/minipass for documentation.
return super.write() return value (55b055d)
Use native promises only (6d13165)
update tap, standard, standard-version, travis (2e54956)
streams: replace transform streams with minipass (363995e)
- opts: use figgy-pudding to specify consumed opts (cf86553)
- node@4 is no longer supported
- checkData: optionally throw when checkData fails (bf26b84)
- hashes: filter hash priority list by available hashes (2fa30b8)
- integrityStream: dedupe algorithms to generate (d56c654)
- match: add integrity.match() (3c49cc4)
- checkStream: integrityStream now takes opts.integrity algos into account (d262910)
- sha3: do some guesswork about upcoming sha3 (7fdd9df)
- license: relicense to ISC (#9) (c82983a)
- license: the license has been changed from CC0-1.0 to ISC.
- checkStream: make sure to pass all opts through (0b1bcbe)
- integrityStream: stop crashing if opts.algorithms and opts.integrity have an algo mismatch (fb1293e)
- node: older versions of node@4 do not support base64buffer string parsing (513df4e)
- check: handle various bad hash corner cases better (c2c262b)
- stream: _flush can be called multiple times. use on("end") (b1c4805)
- pickAlgorithm: error if pickAlgorithm() is used in an empty Integrity (fab470e)
- adding ssri.create for a crypto style interface (#2) (96f52ad)
- integrity: should have changed the error code before. oops (8381afa)
- integrity: EBADCHECKSUM -> EINTEGRITY for verification errors
- package.json: really should have these in the keywords because search (a6ac6d0)
- hashes: IntegrityMetadata -> Hash (d04aa1f)
- check: return IntegrityMetadata on check success (2301e74)
- fromHex: ssri.fromHex to make it easier to generate them from hex valus (049b89e)
- hex: utility function for getting hex version of digest (a9f021c)
- hexDigest: added hexDigest method to Integrity objects too (85208ba)
- integrity: add .isIntegrity and .isIntegrityMetadata (1b29e6f)
- integrityStream: new stream that can both generate and check streamed data (fd23e1b)
- parse: allow parsing straight into a single IntegrityMetadata object (c8ddf48)
- pickAlgorithm: Intergrity#pickAlgorithm() added (b97a796)
- size: calculate and update stream sizes (02ed1ad)
- hashes:
.isIntegrityMetadata
is now .isHash
. Also, any references to IntegrityMetadata
now refer to Hash
.
- integrityStream: createCheckerStream has been removed and replaced with a general-purpose integrityStream.
To convert existing createCheckerStream code, move the sri
argument into opts.integrity
in integrityStream. All other options should be the same.
- check:
checkData
, checkStream
, and createCheckerStream
now yield a whole IntegrityMetadata instance representing the first successful hash match.
- strict-mode: make regexes more rigid (122a32c)
- api: added serialize alias for unparse (999b421)
- concat: add Integrity#concat() (cae12c7)
- pickAlgo: pick the strongest algorithm provided, by default (58c18f7)
- strict-mode: strict SRI support (3f0b64c)
- stringify: replaced unparse/serialize with stringify (4acad30)
- verification: add opts.pickAlgorithm (f72e658)
- pickAlgo: ssri will prioritize specific hashes now
- stringify: serialize and unparse have been removed. Use ssri.stringify instead.
- strict-mode: functions that accepted an optional
sep
argument now expect opts.sep
.
- api: implemented initial api (4fbb16b)
- api: Initial API established.