UNPKG

6.89 kBMarkdownView Raw
1# Change Log
2
3## 4.4.0
4
5 * Fix stat issue with Node 8 (thanks @AGrzes, see [#209][#209])
6 * Make code prettier (see [#210][#210])
7
8## 4.3.0
9
10 * Add support for fs.mkdtemp() and fs.mkdtempSync (see [#207][#207])
11
12## 4.2.0
13
14 * Update fs.stat(), fs.lstat(), and fs.fstat() for Node 7.7+ (thanks @not-an-aardvark, see [#198][#198])
15
16## 4.1.0
17
18 * Correctly follow a symlink chain in `binding.open()` (thanks @vlindhol, see [#195][#195])
19
20## 4.0.0
21
22In 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).
23
24Upgrading from 3.x to 4.0 should be straightforward for most applications. There are several breaking changes that may be restored in future releases:
25
26 * The `mock.fs()` function has been removed.
27 * The object created by `fs.stat()` and friends is no longer an instance of `fs.Stats` (though it behaves as one).
28 * Lazy `require()` calls do not work consistently.
29
30Detailed changes:
31
32 * Only override `process.binding('fs')` ([#182][#182])
33 * Expose the root of the mocked filesystem (thanks @ciaranj, see [#194][#194])
34
35## 3.12.1
36
37 * Revert the require cache clearing behavior ([#181][#181]).
38
39## 3.12.0
40
41 * Support for Node 7.x (thanks @goliney, see [#174][#174]).
42 * Remove calls to `printDeprecation` ([#175][#175]).
43 * Break early when checking version (thanks @isiahmeadows, see [#157][#157]).
44 * Add a note about restoring `fs` (thanks @matheuss, see [#147][#147]).
45 * Clear the require cache before overriding fs functions ([#141][#141])
46
47## 3.11.0
48
49 * Make `require()` calls use the real filesystem ([#139][#139]).
50 * Reduce the manual `fs` module patching ([#140][#140]).
51
52## 3.10.0
53
54 * Fixes for Node 6.3 ([#138][#138]).
55 * Fix permissions issues on directories (thanks @as3richa, see [#105][#105]).
56
57## 3.9.0
58
59 * Support for Node 6.x (thanks @tmcw, see [#107][#107]).
60
61## 3.8.0
62
63 * Implement `binding.writeBuffers()` (see [#94][#94]).
64
65## 3.7.0
66
67 * Add support for `fs.access()` and `fs.accessSync()` (thanks @shyiko, see [#78][#78] and [#80][#80]).
68
69## 3.6.0
70
71 * Add `createCwd` and `createTmp` options to control the creation of `process.cwd()` and `os.tmpdir()` directories in the mocked filesystem (see [#72][#72]).
72 * Update Travis and AppVeyor configurations (see [#73][#73])
73 * Remove unused dev dependency (see [#75][#75])
74
75## 3.5.0
76
77 * Support for Node 5.x (thanks @tmcw, see [#69][#69]).
78
79## 3.4.0
80
81 * Support for Node 4.x (thanks @AlexMeah, see [#65][#65]).
82
83## 3.3.0
84
85 * Traverse symlinks recursively (thanks @caitp, see [#57][#57]).
86 * Upgrade to rewire@2.3.4 (thanks @mbarlock, see [#60][#60]).
87
88## 3.2.0
89
90 * Support for io.js 3.0 (thanks @JustBlackBird, see [#61][#61]).
91
92## 3.1.0
93
94 * Follow symlinks in `readdir()` and `readdirSync()` (thanks @caitp, see [#56][#56]).
95
96## 3.0.0
97
98 * Override `process.cwd()` and `process.chdir()` to work with mocked filesystem (thanks @timkendrick, see [#41][#41]).
99 * Add note about known incompatibilities (thanks @psalaets, see [#45][#45]).
100
101## 2.7.0
102
103 * Support for io.js 2.0 (thanks @jwilsson, see [#38][#38]).
104
105## 2.6.0
106
107 * Add `birthtime` to `Stats` objects (thanks @meandmycode, see [#33][#33]).
108
109## 2.5.0
110
111 * Support for io.js 1.1 (thanks @andrewblond, see [#21][#21]).
112 * Testing on Windows with AppVeyor (thanks @andrewblond, see [#22][#22]).
113
114## 2.4.0
115
116 * Support for Node 0.12 (thanks @mlegenhausen, see [#18][#18]).
117
118## 2.3.1
119
120 * Preserve arity of callbacks (see [#11][#11]).
121
122## 2.3.0
123
124 * Fixes for Node 0.11.13 (see [#9][#9]).
125
126## 2.2.0
127
128 * Respect file mode on POSIX-compliant systems (see [#7][#7]).
129 * Add benchmarks comparing mock-fs and fs modules (see [#6][#6]).
130
131## 2.1.2
132
133 * Added more complete license text.
134 * Test on Node 0.9 and 0.11 in addition to 0.8 and 0.10.
135
136## 2.1.1
137
138 * Added this changelog.
139 * Removed unused gruntfile.js.
140
141## 2.1.0
142
143 * Directory mtime is now updated when items are added, removed, or modified ([#2][#2]).
144 * Fixed several issues on Windows (see [#3][#3]). One issue remains on Windows with Node 0.8 (see [#4][#4]).
145 * Swapped out Grunt with a single script to run tasks (see [#5][#5]).
146
147## 2.0.0
148
149 * Simplified API (see [#1][#1]).
150
151
152[#1]: https://github.com/tschaub/mock-fs/pull/1
153[#2]: https://github.com/tschaub/mock-fs/pull/2
154[#3]: https://github.com/tschaub/mock-fs/pull/3
155[#4]: https://github.com/tschaub/mock-fs/issues/4
156[#5]: https://github.com/tschaub/mock-fs/pull/5
157[#6]: https://github.com/tschaub/mock-fs/pull/6
158[#7]: https://github.com/tschaub/mock-fs/pull/7
159[#9]: https://github.com/tschaub/mock-fs/issues/9
160[#11]: https://github.com/tschaub/mock-fs/pull/11
161[#18]: https://github.com/tschaub/mock-fs/pull/18
162[#21]: https://github.com/tschaub/mock-fs/pull/21
163[#22]: https://github.com/tschaub/mock-fs/pull/22
164[#33]: https://github.com/tschaub/mock-fs/pull/33
165[#38]: https://github.com/tschaub/mock-fs/pull/38
166[#41]: https://github.com/tschaub/mock-fs/pull/41
167[#45]: https://github.com/tschaub/mock-fs/pull/45
168[#56]: https://github.com/tschaub/mock-fs/pull/56
169[#61]: https://github.com/tschaub/mock-fs/pull/61
170[#60]: https://github.com/tschaub/mock-fs/pull/60
171[#57]: https://github.com/tschaub/mock-fs/pull/57
172[#65]: https://github.com/tschaub/mock-fs/pull/65
173[#69]: https://github.com/tschaub/mock-fs/pull/69
174[#72]: https://github.com/tschaub/mock-fs/pull/72
175[#73]: https://github.com/tschaub/mock-fs/pull/73
176[#75]: https://github.com/tschaub/mock-fs/pull/75
177[#78]: https://github.com/tschaub/mock-fs/pull/78
178[#80]: https://github.com/tschaub/mock-fs/pull/80
179[#94]: https://github.com/tschaub/mock-fs/pull/94
180[#107]: https://github.com/tschaub/mock-fs/pull/107
181[#105]: https://github.com/tschaub/mock-fs/pull/105
182[#138]: https://github.com/tschaub/mock-fs/pull/138
183[#139]: https://github.com/tschaub/mock-fs/pull/139
184[#140]: https://github.com/tschaub/mock-fs/pull/140
185[#141]: https://github.com/tschaub/mock-fs/pull/141
186[#147]: https://github.com/tschaub/mock-fs/pull/147
187[#157]: https://github.com/tschaub/mock-fs/pull/157
188[#174]: https://github.com/tschaub/mock-fs/pull/174
189[#175]: https://github.com/tschaub/mock-fs/pull/175
190[#181]: https://github.com/tschaub/mock-fs/pull/181
191[#182]: https://github.com/tschaub/mock-fs/pull/182
192[#194]: https://github.com/tschaub/mock-fs/pull/194
193[#195]: https://github.com/tschaub/mock-fs/pull/195
194[#198]: https://github.com/tschaub/mock-fs/pull/198
195[#207]: https://github.com/tschaub/mock-fs/pull/207
196[#209]: https://github.com/tschaub/mock-fs/pull/209
197[#210]: https://github.com/tschaub/mock-fs/pull/210