Skip to content

Latest commit

 

History

History
180 lines (120 loc) · 6.22 KB

changelog.md

File metadata and controls

180 lines (120 loc) · 6.22 KB

Change Log

4.1.0

  • Correctly follow a symlink chain in binding.open() (thanks @vlindhol, see #195)

4.0.0

In earlier versions of mock-fs, a monkey-patched version of the fs module was used to provide an in-memory filesystem. With each major release of Node, the mock-fs package needed to include a modified copy of the fs module. With the mock-fs@4 release, this package no longer includes a modified copy of the fs module. Instead, this package overrides process.binding('fs'). While this is not part of Node's stable API, it has proven to be a more stable interface than the fs module itself (based on experience implementing it with Node 0.8 through 7.0).

Upgrading from 3.x to 4.0 should be straightforward for most applications. There are several breaking changes that may be restored in future releases:

  • The mock.fs() function has been removed.
  • The object created by fs.stat() and friends is no longer an instance of fs.Stats (though it behaves as one).
  • Lazy require() calls do not work consistently.

Detailed changes:

  • Only override process.binding('fs') (#182)
  • Expose the root of the mocked filesystem (thanks @ciaranj, see #194)

3.12.1

  • Revert the require cache clearing behavior (#181).

3.12.0

  • Support for Node 7.x (thanks @goliney, see #174).
  • Remove calls to printDeprecation (#175).
  • Break early when checking version (thanks @isiahmeadows, see #157).
  • Add a note about restoring fs (thanks @matheuss, see #147).
  • Clear the require cache before overriding fs functions (#141)

3.11.0

  • Make require() calls use the real filesystem (#139).
  • Reduce the manual fs module patching (#140).

3.10.0

  • Fixes for Node 6.3 (#138).
  • Fix permissions issues on directories (thanks @as3richa, see #105).

3.9.0

  • Support for Node 6.x (thanks @tmcw, see #107).

3.8.0

  • Implement binding.writeBuffers() (see #94).

3.7.0

  • Add support for fs.access() and fs.accessSync() (thanks @shyiko, see #78 and #80).

3.6.0

  • Add createCwd and createTmp options to control the creation of process.cwd() and os.tmpdir() directories in the mocked filesystem (see #72).
  • Update Travis and AppVeyor configurations (see #73)
  • Remove unused dev dependency (see #75)

3.5.0

  • Support for Node 5.x (thanks @tmcw, see #69).

3.4.0

  • Support for Node 4.x (thanks @AlexMeah, see #65).

3.3.0

  • Traverse symlinks recursively (thanks @caitp, see #57).
  • Upgrade to rewire@2.3.4 (thanks @mbarlock, see #60).

3.2.0

  • Support for io.js 3.0 (thanks @JustBlackBird, see #61).

3.1.0

  • Follow symlinks in readdir() and readdirSync() (thanks @caitp, see #56).

3.0.0

  • Override process.cwd() and process.chdir() to work with mocked filesystem (thanks @timkendrick, see #41).
  • Add note about known incompatibilities (thanks @psalaets, see #45).

2.7.0

  • Support for io.js 2.0 (thanks @jwilsson, see #38).

2.6.0

  • Add birthtime to Stats objects (thanks @meandmycode, see #33).

2.5.0

  • Support for io.js 1.1 (thanks @andrewblond, see #21).
  • Testing on Windows with AppVeyor (thanks @andrewblond, see #22).

2.4.0

  • Support for Node 0.12 (thanks @mlegenhausen, see #18).

2.3.1

  • Preserve arity of callbacks (see #11).

2.3.0

  • Fixes for Node 0.11.13 (see #9).

2.2.0

  • Respect file mode on POSIX-compliant systems (see #7).
  • Add benchmarks comparing mock-fs and fs modules (see #6).

2.1.2

  • Added more complete license text.
  • Test on Node 0.9 and 0.11 in addition to 0.8 and 0.10.

2.1.1

  • Added this changelog.
  • Removed unused gruntfile.js.

2.1.0

  • Directory mtime is now updated when items are added, removed, or modified (#2).
  • Fixed several issues on Windows (see #3). One issue remains on Windows with Node 0.8 (see #4).
  • Swapped out Grunt with a single script to run tasks (see #5).

2.0.0

  • Simplified API (see #1).