efdb556bbb9baffaec0f41a2ef2c281e79c97dba20930dabc5f04d40811a4e3b1849b21e853af8bc05525ec8a8ce2650fa393a8040ce690317b87b7aaa2417 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478
  1. # Change Log
  2. 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.
  3. <a name="10.0.4"></a>
  4. ## [10.0.4](https://github.com/zkat/cacache/compare/v10.0.3...v10.0.4) (2018-02-16)
  5. <a name="10.0.3"></a>
  6. ## [10.0.3](https://github.com/zkat/cacache/compare/v10.0.2...v10.0.3) (2018-02-16)
  7. ### Bug Fixes
  8. * **content:** rethrow aggregate errors as ENOENT ([fa918f5](https://github.com/zkat/cacache/commit/fa918f5))
  9. <a name="10.0.2"></a>
  10. ## [10.0.2](https://github.com/zkat/cacache/compare/v10.0.1...v10.0.2) (2018-01-07)
  11. ### Bug Fixes
  12. * **ls:** deleted entries could cause a premature stream EOF ([347dc36](https://github.com/zkat/cacache/commit/347dc36))
  13. <a name="10.0.1"></a>
  14. ## [10.0.1](https://github.com/zkat/cacache/compare/v10.0.0...v10.0.1) (2017-11-15)
  15. ### Bug Fixes
  16. * **move-file:** actually use the fallback to `move-concurrently` (#110) ([073fbe1](https://github.com/zkat/cacache/commit/073fbe1))
  17. <a name="10.0.0"></a>
  18. # [10.0.0](https://github.com/zkat/cacache/compare/v9.3.0...v10.0.0) (2017-10-23)
  19. ### Features
  20. * **license:** relicense to ISC (#111) ([fdbb4e5](https://github.com/zkat/cacache/commit/fdbb4e5))
  21. ### Performance Improvements
  22. * more copyFile benchmarks ([63787bb](https://github.com/zkat/cacache/commit/63787bb))
  23. ### BREAKING CHANGES
  24. * **license:** the license has been changed from CC0-1.0 to ISC.
  25. <a name="9.3.0"></a>
  26. # [9.3.0](https://github.com/zkat/cacache/compare/v9.2.9...v9.3.0) (2017-10-07)
  27. ### Features
  28. * **copy:** added cacache.get.copy api for fast copies (#107) ([067b5f6](https://github.com/zkat/cacache/commit/067b5f6))
  29. <a name="9.2.9"></a>
  30. ## [9.2.9](https://github.com/zkat/cacache/compare/v9.2.8...v9.2.9) (2017-06-17)
  31. <a name="9.2.8"></a>
  32. ## [9.2.8](https://github.com/zkat/cacache/compare/v9.2.7...v9.2.8) (2017-06-05)
  33. ### Bug Fixes
  34. * **ssri:** bump ssri for bugfix ([c3232ea](https://github.com/zkat/cacache/commit/c3232ea))
  35. <a name="9.2.7"></a>
  36. ## [9.2.7](https://github.com/zkat/cacache/compare/v9.2.6...v9.2.7) (2017-06-05)
  37. ### Bug Fixes
  38. * **content:** make verified content completely read-only (#96) ([4131196](https://github.com/zkat/cacache/commit/4131196))
  39. <a name="9.2.6"></a>
  40. ## [9.2.6](https://github.com/zkat/cacache/compare/v9.2.5...v9.2.6) (2017-05-31)
  41. ### Bug Fixes
  42. * **node:** update ssri to prevent old node 4 crash ([5209ffe](https://github.com/zkat/cacache/commit/5209ffe))
  43. <a name="9.2.5"></a>
  44. ## [9.2.5](https://github.com/zkat/cacache/compare/v9.2.4...v9.2.5) (2017-05-25)
  45. ### Bug Fixes
  46. * **deps:** fix lockfile issues and bump ssri ([84e1d7e](https://github.com/zkat/cacache/commit/84e1d7e))
  47. <a name="9.2.4"></a>
  48. ## [9.2.4](https://github.com/zkat/cacache/compare/v9.2.3...v9.2.4) (2017-05-24)
  49. ### Bug Fixes
  50. * **deps:** bumping deps ([bbccb12](https://github.com/zkat/cacache/commit/bbccb12))
  51. <a name="9.2.3"></a>
  52. ## [9.2.3](https://github.com/zkat/cacache/compare/v9.2.2...v9.2.3) (2017-05-24)
  53. ### Bug Fixes
  54. * **rm:** stop crashing if content is missing on rm ([ac90bc0](https://github.com/zkat/cacache/commit/ac90bc0))
  55. <a name="9.2.2"></a>
  56. ## [9.2.2](https://github.com/zkat/cacache/compare/v9.2.1...v9.2.2) (2017-05-14)
  57. ### Bug Fixes
  58. * **i18n:** lets pretend this didn't happen ([519b4ee](https://github.com/zkat/cacache/commit/519b4ee))
  59. <a name="9.2.1"></a>
  60. ## [9.2.1](https://github.com/zkat/cacache/compare/v9.2.0...v9.2.1) (2017-05-14)
  61. ### Bug Fixes
  62. * **docs:** fixing translation messup ([bb9e4f9](https://github.com/zkat/cacache/commit/bb9e4f9))
  63. <a name="9.2.0"></a>
  64. # [9.2.0](https://github.com/zkat/cacache/compare/v9.1.0...v9.2.0) (2017-05-14)
  65. ### Features
  66. * **i18n:** add Spanish translation for API ([531f9a4](https://github.com/zkat/cacache/commit/531f9a4))
  67. <a name="9.1.0"></a>
  68. # [9.1.0](https://github.com/zkat/cacache/compare/v9.0.0...v9.1.0) (2017-05-14)
  69. ### Features
  70. * **i18n:** Add Spanish translation and i18n setup (#91) ([323b90c](https://github.com/zkat/cacache/commit/323b90c))
  71. <a name="9.0.0"></a>
  72. # [9.0.0](https://github.com/zkat/cacache/compare/v8.0.0...v9.0.0) (2017-04-28)
  73. ### Bug Fixes
  74. * **memoization:** actually use the LRU ([0e55dc9](https://github.com/zkat/cacache/commit/0e55dc9))
  75. ### Features
  76. * **memoization:** memoizers can be injected through opts.memoize (#90) ([e5614c7](https://github.com/zkat/cacache/commit/e5614c7))
  77. ### BREAKING CHANGES
  78. * **memoization:** If you were passing an object to opts.memoize, it will now be used as an injected memoization object. If you were only passing booleans and other non-objects through that option, no changes are needed.
  79. <a name="8.0.0"></a>
  80. # [8.0.0](https://github.com/zkat/cacache/compare/v7.1.0...v8.0.0) (2017-04-22)
  81. ### Features
  82. * **read:** change hasContent to return {sri, size} (#88) ([bad6c49](https://github.com/zkat/cacache/commit/bad6c49)), closes [#87](https://github.com/zkat/cacache/issues/87)
  83. ### BREAKING CHANGES
  84. * **read:** hasContent now returns an object with `{sri, size}` instead of `sri`. Use `result.sri` anywhere that needed the old return value.
  85. <a name="7.1.0"></a>
  86. # [7.1.0](https://github.com/zkat/cacache/compare/v7.0.5...v7.1.0) (2017-04-20)
  87. ### Features
  88. * **size:** handle content size info (#49) ([91230af](https://github.com/zkat/cacache/commit/91230af))
  89. <a name="7.0.5"></a>
  90. ## [7.0.5](https://github.com/zkat/cacache/compare/v7.0.4...v7.0.5) (2017-04-18)
  91. ### Bug Fixes
  92. * **integrity:** new ssri with fixed integrity stream ([6d13e8e](https://github.com/zkat/cacache/commit/6d13e8e))
  93. * **write:** wrap stuff in promises to improve errors ([3624fc5](https://github.com/zkat/cacache/commit/3624fc5))
  94. <a name="7.0.4"></a>
  95. ## [7.0.4](https://github.com/zkat/cacache/compare/v7.0.3...v7.0.4) (2017-04-15)
  96. ### Bug Fixes
  97. * **fix-owner:** throw away ENOENTs on chownr ([d49bbcd](https://github.com/zkat/cacache/commit/d49bbcd))
  98. <a name="7.0.3"></a>
  99. ## [7.0.3](https://github.com/zkat/cacache/compare/v7.0.2...v7.0.3) (2017-04-05)
  100. ### Bug Fixes
  101. * **read:** fixing error message for integrity verification failures ([9d4f0a5](https://github.com/zkat/cacache/commit/9d4f0a5))
  102. <a name="7.0.2"></a>
  103. ## [7.0.2](https://github.com/zkat/cacache/compare/v7.0.1...v7.0.2) (2017-04-03)
  104. ### Bug Fixes
  105. * **integrity:** use EINTEGRITY error code and update ssri ([8dc2e62](https://github.com/zkat/cacache/commit/8dc2e62))
  106. <a name="7.0.1"></a>
  107. ## [7.0.1](https://github.com/zkat/cacache/compare/v7.0.0...v7.0.1) (2017-04-03)
  108. ### Bug Fixes
  109. * **docs:** fix header name conflict in readme ([afcd456](https://github.com/zkat/cacache/commit/afcd456))
  110. <a name="7.0.0"></a>
  111. # [7.0.0](https://github.com/zkat/cacache/compare/v6.3.0...v7.0.0) (2017-04-03)
  112. ### Bug Fixes
  113. * **test:** fix content.write tests when running in docker ([d2e9b6a](https://github.com/zkat/cacache/commit/d2e9b6a))
  114. ### Features
  115. * **integrity:** subresource integrity support (#78) ([b1e731f](https://github.com/zkat/cacache/commit/b1e731f))
  116. ### BREAKING CHANGES
  117. * **integrity:** The entire API has been overhauled to use SRI hashes instead of digest/hashAlgorithm pairs. SRI hashes follow the Subresource Integrity standard and support strings and objects compatible with [`ssri`](https://npm.im/ssri).
  118. * This change bumps the index version, which will invalidate all previous index entries. Content entries will remain intact, and existing caches will automatically reuse any content from before this breaking change.
  119. * `cacache.get.info()`, `cacache.ls()`, and `cacache.ls.stream()` will now return objects that looks like this:
  120. ```
  121. {
  122. key: String,
  123. integrity: '<algorithm>-<base64hash>',
  124. path: ContentPath,
  125. time: Date<ms>,
  126. metadata: Any
  127. }
  128. ```
  129. * `opts.digest` and `opts.hashAlgorithm` are obsolete for any API calls that used them.
  130. * Anywhere `opts.digest` was accepted, `opts.integrity` is now an option. Any valid SRI hash is accepted here -- multiple hash entries will be resolved according to the standard: first, the "strongest" hash algorithm will be picked, and then each of the entries for that algorithm will be matched against the content. Content will be validated if *any* of the entries match (so, a single integrity string can be used for multiple "versions" of the same document/data).
  131. * `put.byDigest()`, `put.stream.byDigest`, `get.byDigest()` and `get.stream.byDigest()` now expect an SRI instead of a `digest` + `opts.hashAlgorithm` pairing.
  132. * `get.hasContent()` now expects an integrity hash instead of a digest. If content exists, it will return the specific single integrity hash that was found in the cache.
  133. * `verify()` has learned to handle integrity-based caches, and forgotten how to handle old-style cache indices due to the format change.
  134. * `cacache.rm.content()` now expects an integrity hash instead of a hex digest.
  135. <a name="6.3.0"></a>
  136. # [6.3.0](https://github.com/zkat/cacache/compare/v6.2.0...v6.3.0) (2017-04-01)
  137. ### Bug Fixes
  138. * **fixOwner:** ignore EEXIST race condition from mkdirp ([4670e9b](https://github.com/zkat/cacache/commit/4670e9b))
  139. * **index:** ignore index removal races when inserting ([b9d2fa2](https://github.com/zkat/cacache/commit/b9d2fa2))
  140. * **memo:** use lru-cache for better mem management (#75) ([d8ac5aa](https://github.com/zkat/cacache/commit/d8ac5aa))
  141. ### Features
  142. * **dependencies:** Switch to move-concurrently (#77) ([dc6482d](https://github.com/zkat/cacache/commit/dc6482d))
  143. <a name="6.2.0"></a>
  144. # [6.2.0](https://github.com/zkat/cacache/compare/v6.1.2...v6.2.0) (2017-03-15)
  145. ### Bug Fixes
  146. * **index:** additional bucket entry verification with checksum (#72) ([f8e0f25](https://github.com/zkat/cacache/commit/f8e0f25))
  147. * **verify:** return fixOwner.chownr promise ([6818521](https://github.com/zkat/cacache/commit/6818521))
  148. ### Features
  149. * **tmp:** safe tmp dir creation/management util (#73) ([c42da71](https://github.com/zkat/cacache/commit/c42da71))
  150. <a name="6.1.2"></a>
  151. ## [6.1.2](https://github.com/zkat/cacache/compare/v6.1.1...v6.1.2) (2017-03-13)
  152. ### Bug Fixes
  153. * **index:** set default hashAlgorithm ([d6eb2f0](https://github.com/zkat/cacache/commit/d6eb2f0))
  154. <a name="6.1.1"></a>
  155. ## [6.1.1](https://github.com/zkat/cacache/compare/v6.1.0...v6.1.1) (2017-03-13)
  156. ### Bug Fixes
  157. * **coverage:** bumping coverage for verify (#71) ([0b7faf6](https://github.com/zkat/cacache/commit/0b7faf6))
  158. * **deps:** glob should have been a regular dep :< ([0640bc4](https://github.com/zkat/cacache/commit/0640bc4))
  159. <a name="6.1.0"></a>
  160. # [6.1.0](https://github.com/zkat/cacache/compare/v6.0.2...v6.1.0) (2017-03-12)
  161. ### Bug Fixes
  162. * **coverage:** more coverage for content reads (#70) ([ef4f70a](https://github.com/zkat/cacache/commit/ef4f70a))
  163. * **tests:** use safe-buffer because omfg (#69) ([6ab8132](https://github.com/zkat/cacache/commit/6ab8132))
  164. ### Features
  165. * **rm:** limited rm.all and fixed bugs (#66) ([d5d25ba](https://github.com/zkat/cacache/commit/d5d25ba)), closes [#66](https://github.com/zkat/cacache/issues/66)
  166. * **verify:** tested, working cache verifier/gc (#68) ([45ad77a](https://github.com/zkat/cacache/commit/45ad77a))
  167. <a name="6.0.2"></a>
  168. ## [6.0.2](https://github.com/zkat/cacache/compare/v6.0.1...v6.0.2) (2017-03-11)
  169. ### Bug Fixes
  170. * **index:** segment cache items with another subbucket (#64) ([c3644e5](https://github.com/zkat/cacache/commit/c3644e5))
  171. <a name="6.0.1"></a>
  172. ## [6.0.1](https://github.com/zkat/cacache/compare/v6.0.0...v6.0.1) (2017-03-05)
  173. ### Bug Fixes
  174. * **docs:** Missed spots in README ([8ffb7fa](https://github.com/zkat/cacache/commit/8ffb7fa))
  175. <a name="6.0.0"></a>
  176. # [6.0.0](https://github.com/zkat/cacache/compare/v5.0.3...v6.0.0) (2017-03-05)
  177. ### Bug Fixes
  178. * **api:** keep memo cache mostly-internal ([2f72d0a](https://github.com/zkat/cacache/commit/2f72d0a))
  179. * **content:** use the rest of the string, not the whole string ([fa8f3c3](https://github.com/zkat/cacache/commit/fa8f3c3))
  180. * **deps:** removed `format-number[@2](https://github.com/2).0.2` ([1187791](https://github.com/zkat/cacache/commit/1187791))
  181. * **deps:** removed inflight[@1](https://github.com/1).0.6 ([0d1819c](https://github.com/zkat/cacache/commit/0d1819c))
  182. * **deps:** rimraf[@2](https://github.com/2).6.1 ([9efab6b](https://github.com/zkat/cacache/commit/9efab6b))
  183. * **deps:** standard[@9](https://github.com/9).0.0 ([4202cba](https://github.com/zkat/cacache/commit/4202cba))
  184. * **deps:** tap[@10](https://github.com/10).3.0 ([aa03088](https://github.com/zkat/cacache/commit/aa03088))
  185. * **deps:** weallcontribute[@1](https://github.com/1).0.8 ([ad4f4dc](https://github.com/zkat/cacache/commit/ad4f4dc))
  186. * **docs:** add security note to hashKey ([03f81ba](https://github.com/zkat/cacache/commit/03f81ba))
  187. * **hashes:** change default hashAlgorithm to sha512 ([ea00ba6](https://github.com/zkat/cacache/commit/ea00ba6))
  188. * **hashes:** missed a spot for hashAlgorithm defaults ([45997d8](https://github.com/zkat/cacache/commit/45997d8))
  189. * **index:** add length header before JSON for verification ([fb8cb4d](https://github.com/zkat/cacache/commit/fb8cb4d))
  190. * **index:** change index filenames to sha1s of keys ([bbc5fca](https://github.com/zkat/cacache/commit/bbc5fca))
  191. * **index:** who cares about race conditions anyway ([b1d3888](https://github.com/zkat/cacache/commit/b1d3888))
  192. * **perf:** bulk-read get+read for massive speed ([d26cdf9](https://github.com/zkat/cacache/commit/d26cdf9))
  193. * **perf:** use bulk file reads for index reads ([79a8891](https://github.com/zkat/cacache/commit/79a8891))
  194. * **put-stream:** remove tmp file on stream insert error ([65f6632](https://github.com/zkat/cacache/commit/65f6632))
  195. * **put-stream:** robustified and predictibilized ([daf9e08](https://github.com/zkat/cacache/commit/daf9e08))
  196. * **put-stream:** use new promise API for moves ([1d36013](https://github.com/zkat/cacache/commit/1d36013))
  197. * **readme:** updated to reflect new default hashAlgo ([c60a2fa](https://github.com/zkat/cacache/commit/c60a2fa))
  198. * **verify:** tiny typo fix ([db22d05](https://github.com/zkat/cacache/commit/db22d05))
  199. ### Features
  200. * **api:** converted external api ([7bf032f](https://github.com/zkat/cacache/commit/7bf032f))
  201. * **cacache:** exported clearMemoized() utility ([8d2c5b6](https://github.com/zkat/cacache/commit/8d2c5b6))
  202. * **cache:** add versioning to content and index ([31bc549](https://github.com/zkat/cacache/commit/31bc549))
  203. * **content:** collate content files into subdirs ([c094d9f](https://github.com/zkat/cacache/commit/c094d9f))
  204. * **deps:** [@npmcorp](https://github.com/npmcorp)/move[@1](https://github.com/1).0.0 ([bdd00bf](https://github.com/zkat/cacache/commit/bdd00bf))
  205. * **deps:** bluebird[@3](https://github.com/3).4.7 ([3a17aff](https://github.com/zkat/cacache/commit/3a17aff))
  206. * **deps:** promise-inflight[@1](https://github.com/1).0.1 ([a004fe6](https://github.com/zkat/cacache/commit/a004fe6))
  207. * **get:** added memoization support for get ([c77d794](https://github.com/zkat/cacache/commit/c77d794))
  208. * **get:** export hasContent ([2956ec3](https://github.com/zkat/cacache/commit/2956ec3))
  209. * **index:** add hashAlgorithm and format insert ret val ([b639746](https://github.com/zkat/cacache/commit/b639746))
  210. * **index:** collate index files into subdirs ([e8402a5](https://github.com/zkat/cacache/commit/e8402a5))
  211. * **index:** promisify entry index ([cda3335](https://github.com/zkat/cacache/commit/cda3335))
  212. * **memo:** added memoization lib ([da07b92](https://github.com/zkat/cacache/commit/da07b92))
  213. * **memo:** export memoization api ([954b1b3](https://github.com/zkat/cacache/commit/954b1b3))
  214. * **move-file:** add move fallback for weird errors ([5cf4616](https://github.com/zkat/cacache/commit/5cf4616))
  215. * **perf:** bulk content write api ([51b536e](https://github.com/zkat/cacache/commit/51b536e))
  216. * **put:** added memoization support to put ([b613a70](https://github.com/zkat/cacache/commit/b613a70))
  217. * **read:** switched to promises ([a869362](https://github.com/zkat/cacache/commit/a869362))
  218. * **rm:** added memoization support to rm ([4205cf0](https://github.com/zkat/cacache/commit/4205cf0))
  219. * **rm:** switched to promises ([a000d24](https://github.com/zkat/cacache/commit/a000d24))
  220. * **util:** promise-inflight ownership fix requests ([9517cd7](https://github.com/zkat/cacache/commit/9517cd7))
  221. * **util:** use promises for api ([ae204bb](https://github.com/zkat/cacache/commit/ae204bb))
  222. * **verify:** converted to Promises ([f0b3974](https://github.com/zkat/cacache/commit/f0b3974))
  223. ### BREAKING CHANGES
  224. * cache: index/content directories are now versioned. Previous caches are no longer compatible and cannot be migrated.
  225. * util: fix-owner now uses Promises instead of callbacks
  226. * index: Previously-generated index entries are no longer compatible and the index must be regenerated.
  227. * index: The index format has changed and previous caches are no longer compatible. Existing caches will need to be regenerated.
  228. * hashes: Default hashAlgorithm changed from sha1 to sha512. If you
  229. rely on the prior setting, pass `opts.hashAlgorithm` in explicitly.
  230. * content: Previously-generated content directories are no longer compatible
  231. and must be regenerated.
  232. * verify: API is now promise-based
  233. * read: Switches to a Promise-based API and removes callback stuff
  234. * rm: Switches to a Promise-based API and removes callback stuff
  235. * index: this changes the API to work off promises instead of callbacks
  236. * api: this means we are going all in on promises now