Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

13.0.1 (2019-09-30)

Bug Fixes

13.0.0 (2019-09-25)

⚠ BREAKING CHANGES

The mississippi methods 'to', 'from', 'through', and so on, have been replaced with their Minipass counterparts, and streaming interaction with the file system is done via fs-minipass.

The following modules are of interest here:

Streams from through2, concat-stream, and the behavior provided by end-of-stream are all implemented in Minipass itself.

Features of interest to cacache, which make Minipass a particularly good fit:

The biggest downside of Minipass is that it lacks some of the internal characteristics of node-core streams, which many community modules use to identify streams. They have no _writableState or _readableState objects, or _read or _write methods. As a result, the is-stream module (at least, at the time of this commit) doesn't recognize Minipass streams as readable or writable streams.

All in all, the changes required of downstream users should be minimal, but are unlikely to be zero. Hence the semver major change.

Features

12.0.3 (2019-08-19)

Bug Fixes

12.0.2 (2019-07-19)

12.0.1 (2019-07-19)

12.0.0 (2019-07-15)

Features

BREAKING CHANGES

Reasoning:

The number one reason to use a uid or gid option was to keep root-owned files from causing problems in the cache. In npm's case, this meant that CLI's ./lib/command.js had to work out the appropriate uid and gid, then pass it to the libnpmcommand module, which had to in turn pass the uid and gid to npm-registry-fetch, which then passed it to make-fetch-happen, which passed it to cacache. (For package fetching, pacote would be in that mix as well.)

Added to that, cacache.rm() will actually write a file into the cache index, but has no way to accept an option so that its call to entry-index.js will write the index with the appropriate uid/gid. Little ownership bugs were all over the place, and tricky to trace through. (Why should make-fetch-happen even care about accepting or passing uids and gids? It's an http library.)

This change allows us to keep the cache from having mixed ownership in any situation.

Of course, this does mean that if you have a root-owned but user-writable folder (for example, /tmp), then the cache will try to chown everything to root.

The solution is for the user to create a folder, make it user-owned, and use that, rather than relying on cacache to create the root cache folder.

If we decide to restore the uid/gid opts, and use ownership inference only when uid/gid are unset, then take care to also make rm take an option object, and pass it through to entry-index.js.

11.3.3 (2019-06-17)

Bug Fixes

11.3.2 (2018-12-21)

Bug Fixes

11.3.1 (2018-11-05)

Bug Fixes

11.3.0 (2018-11-05)

Features

11.2.0 (2018-08-08)

Features

11.1.0 (2018-08-01)

Features

11.0.3 (2018-08-01)

Bug Fixes

11.0.2 (2018-05-07)

Bug Fixes

11.0.1 (2018-04-10)

11.0.0 (2018-04-09)

Features

meta

BREAKING CHANGES

10.0.4 (2018-02-16)

10.0.3 (2018-02-16)

Bug Fixes

10.0.2 (2018-01-07)

Bug Fixes

10.0.1 (2017-11-15)

Bug Fixes

10.0.0 (2017-10-23)

Features

Performance Improvements

BREAKING CHANGES

9.3.0 (2017-10-07)

Features

9.2.9 (2017-06-17)

9.2.8 (2017-06-05)

Bug Fixes

9.2.7 (2017-06-05)

Bug Fixes

9.2.6 (2017-05-31)

Bug Fixes

9.2.5 (2017-05-25)

Bug Fixes

9.2.4 (2017-05-24)

Bug Fixes

9.2.3 (2017-05-24)

Bug Fixes

9.2.2 (2017-05-14)

Bug Fixes

9.2.1 (2017-05-14)

Bug Fixes

9.2.0 (2017-05-14)

Features

9.1.0 (2017-05-14)

Features

9.0.0 (2017-04-28)

Bug Fixes

Features

BREAKING CHANGES

8.0.0 (2017-04-22)

Features

BREAKING CHANGES

7.1.0 (2017-04-20)

Features

7.0.5 (2017-04-18)

Bug Fixes

7.0.4 (2017-04-15)

Bug Fixes

7.0.3 (2017-04-05)

Bug Fixes

7.0.2 (2017-04-03)

Bug Fixes

7.0.1 (2017-04-03)

Bug Fixes

7.0.0 (2017-04-03)

Bug Fixes

Features

BREAKING CHANGES

{ key: String, integrity: '<algorithm>-<base64hash>', path: ContentPath, time: Date<ms>, metadata: Any }

6.3.0 (2017-04-01)

Bug Fixes

Features

6.2.0 (2017-03-15)

Bug Fixes

Features

6.1.2 (2017-03-13)

Bug Fixes

6.1.1 (2017-03-13)

Bug Fixes

6.1.0 (2017-03-12)

Bug Fixes

Features

6.0.2 (2017-03-11)

Bug Fixes

6.0.1 (2017-03-05)

Bug Fixes

6.0.0 (2017-03-05)

Bug Fixes

Features

BREAKING CHANGES