|
1 # Changelog |
|
2 |
|
3 ## v1.4.7 / 2018-01-09 |
|
4 |
|
5 * BSD/macOS: Fix possible deadlock on closing the watcher on kqueue (thanks @nhooyr and @glycerine) |
|
6 * Tests: Fix missing verb on format string (thanks @rchiossi) |
|
7 * Linux: Fix deadlock in Remove (thanks @aarondl) |
|
8 * Linux: Watch.Add improvements (avoid race, fix consistency, reduce garbage) (thanks @twpayne) |
|
9 * Docs: Moved FAQ into the README (thanks @vahe) |
|
10 * Linux: Properly handle inotify's IN_Q_OVERFLOW event (thanks @zeldovich) |
|
11 * Docs: replace references to OS X with macOS |
|
12 |
|
13 ## v1.4.2 / 2016-10-10 |
|
14 |
|
15 * Linux: use InotifyInit1 with IN_CLOEXEC to stop leaking a file descriptor to a child process when using fork/exec [#178](https://github.com/fsnotify/fsnotify/pull/178) (thanks @pattyshack) |
|
16 |
|
17 ## v1.4.1 / 2016-10-04 |
|
18 |
|
19 * Fix flaky inotify stress test on Linux [#177](https://github.com/fsnotify/fsnotify/pull/177) (thanks @pattyshack) |
|
20 |
|
21 ## v1.4.0 / 2016-10-01 |
|
22 |
|
23 * add a String() method to Event.Op [#165](https://github.com/fsnotify/fsnotify/pull/165) (thanks @oozie) |
|
24 |
|
25 ## v1.3.1 / 2016-06-28 |
|
26 |
|
27 * Windows: fix for double backslash when watching the root of a drive [#151](https://github.com/fsnotify/fsnotify/issues/151) (thanks @brunoqc) |
|
28 |
|
29 ## v1.3.0 / 2016-04-19 |
|
30 |
|
31 * Support linux/arm64 by [patching](https://go-review.googlesource.com/#/c/21971/) x/sys/unix and switching to to it from syscall (thanks @suihkulokki) [#135](https://github.com/fsnotify/fsnotify/pull/135) |
|
32 |
|
33 ## v1.2.10 / 2016-03-02 |
|
34 |
|
35 * Fix golint errors in windows.go [#121](https://github.com/fsnotify/fsnotify/pull/121) (thanks @tiffanyfj) |
|
36 |
|
37 ## v1.2.9 / 2016-01-13 |
|
38 |
|
39 kqueue: Fix logic for CREATE after REMOVE [#111](https://github.com/fsnotify/fsnotify/pull/111) (thanks @bep) |
|
40 |
|
41 ## v1.2.8 / 2015-12-17 |
|
42 |
|
43 * kqueue: fix race condition in Close [#105](https://github.com/fsnotify/fsnotify/pull/105) (thanks @djui for reporting the issue and @ppknap for writing a failing test) |
|
44 * inotify: fix race in test |
|
45 * enable race detection for continuous integration (Linux, Mac, Windows) |
|
46 |
|
47 ## v1.2.5 / 2015-10-17 |
|
48 |
|
49 * inotify: use epoll_create1 for arm64 support (requires Linux 2.6.27 or later) [#100](https://github.com/fsnotify/fsnotify/pull/100) (thanks @suihkulokki) |
|
50 * inotify: fix path leaks [#73](https://github.com/fsnotify/fsnotify/pull/73) (thanks @chamaken) |
|
51 * kqueue: watch for rename events on subdirectories [#83](https://github.com/fsnotify/fsnotify/pull/83) (thanks @guotie) |
|
52 * kqueue: avoid infinite loops from symlinks cycles [#101](https://github.com/fsnotify/fsnotify/pull/101) (thanks @illicitonion) |
|
53 |
|
54 ## v1.2.1 / 2015-10-14 |
|
55 |
|
56 * kqueue: don't watch named pipes [#98](https://github.com/fsnotify/fsnotify/pull/98) (thanks @evanphx) |
|
57 |
|
58 ## v1.2.0 / 2015-02-08 |
|
59 |
|
60 * inotify: use epoll to wake up readEvents [#66](https://github.com/fsnotify/fsnotify/pull/66) (thanks @PieterD) |
|
61 * inotify: closing watcher should now always shut down goroutine [#63](https://github.com/fsnotify/fsnotify/pull/63) (thanks @PieterD) |
|
62 * kqueue: close kqueue after removing watches, fixes [#59](https://github.com/fsnotify/fsnotify/issues/59) |
|
63 |
|
64 ## v1.1.1 / 2015-02-05 |
|
65 |
|
66 * inotify: Retry read on EINTR [#61](https://github.com/fsnotify/fsnotify/issues/61) (thanks @PieterD) |
|
67 |
|
68 ## v1.1.0 / 2014-12-12 |
|
69 |
|
70 * kqueue: rework internals [#43](https://github.com/fsnotify/fsnotify/pull/43) |
|
71 * add low-level functions |
|
72 * only need to store flags on directories |
|
73 * less mutexes [#13](https://github.com/fsnotify/fsnotify/issues/13) |
|
74 * done can be an unbuffered channel |
|
75 * remove calls to os.NewSyscallError |
|
76 * More efficient string concatenation for Event.String() [#52](https://github.com/fsnotify/fsnotify/pull/52) (thanks @mdlayher) |
|
77 * kqueue: fix regression in rework causing subdirectories to be watched [#48](https://github.com/fsnotify/fsnotify/issues/48) |
|
78 * kqueue: cleanup internal watch before sending remove event [#51](https://github.com/fsnotify/fsnotify/issues/51) |
|
79 |
|
80 ## v1.0.4 / 2014-09-07 |
|
81 |
|
82 * kqueue: add dragonfly to the build tags. |
|
83 * Rename source code files, rearrange code so exported APIs are at the top. |
|
84 * Add done channel to example code. [#37](https://github.com/fsnotify/fsnotify/pull/37) (thanks @chenyukang) |
|
85 |
|
86 ## v1.0.3 / 2014-08-19 |
|
87 |
|
88 * [Fix] Windows MOVED_TO now translates to Create like on BSD and Linux. [#36](https://github.com/fsnotify/fsnotify/issues/36) |
|
89 |
|
90 ## v1.0.2 / 2014-08-17 |
|
91 |
|
92 * [Fix] Missing create events on macOS. [#14](https://github.com/fsnotify/fsnotify/issues/14) (thanks @zhsso) |
|
93 * [Fix] Make ./path and path equivalent. (thanks @zhsso) |
|
94 |
|
95 ## v1.0.0 / 2014-08-15 |
|
96 |
|
97 * [API] Remove AddWatch on Windows, use Add. |
|
98 * Improve documentation for exported identifiers. [#30](https://github.com/fsnotify/fsnotify/issues/30) |
|
99 * Minor updates based on feedback from golint. |
|
100 |
|
101 ## dev / 2014-07-09 |
|
102 |
|
103 * Moved to [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify). |
|
104 * Use os.NewSyscallError instead of returning errno (thanks @hariharan-uno) |
|
105 |
|
106 ## dev / 2014-07-04 |
|
107 |
|
108 * kqueue: fix incorrect mutex used in Close() |
|
109 * Update example to demonstrate usage of Op. |
|
110 |
|
111 ## dev / 2014-06-28 |
|
112 |
|
113 * [API] Don't set the Write Op for attribute notifications [#4](https://github.com/fsnotify/fsnotify/issues/4) |
|
114 * Fix for String() method on Event (thanks Alex Brainman) |
|
115 * Don't build on Plan 9 or Solaris (thanks @4ad) |
|
116 |
|
117 ## dev / 2014-06-21 |
|
118 |
|
119 * Events channel of type Event rather than *Event. |
|
120 * [internal] use syscall constants directly for inotify and kqueue. |
|
121 * [internal] kqueue: rename events to kevents and fileEvent to event. |
|
122 |
|
123 ## dev / 2014-06-19 |
|
124 |
|
125 * Go 1.3+ required on Windows (uses syscall.ERROR_MORE_DATA internally). |
|
126 * [internal] remove cookie from Event struct (unused). |
|
127 * [internal] Event struct has the same definition across every OS. |
|
128 * [internal] remove internal watch and removeWatch methods. |
|
129 |
|
130 ## dev / 2014-06-12 |
|
131 |
|
132 * [API] Renamed Watch() to Add() and RemoveWatch() to Remove(). |
|
133 * [API] Pluralized channel names: Events and Errors. |
|
134 * [API] Renamed FileEvent struct to Event. |
|
135 * [API] Op constants replace methods like IsCreate(). |
|
136 |
|
137 ## dev / 2014-06-12 |
|
138 |
|
139 * Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) |
|
140 |
|
141 ## dev / 2014-05-23 |
|
142 |
|
143 * [API] Remove current implementation of WatchFlags. |
|
144 * current implementation doesn't take advantage of OS for efficiency |
|
145 * provides little benefit over filtering events as they are received, but has extra bookkeeping and mutexes |
|
146 * no tests for the current implementation |
|
147 * not fully implemented on Windows [#93](https://github.com/howeyc/fsnotify/issues/93#issuecomment-39285195) |
|
148 |
|
149 ## v0.9.3 / 2014-12-31 |
|
150 |
|
151 * kqueue: cleanup internal watch before sending remove event [#51](https://github.com/fsnotify/fsnotify/issues/51) |
|
152 |
|
153 ## v0.9.2 / 2014-08-17 |
|
154 |
|
155 * [Backport] Fix missing create events on macOS. [#14](https://github.com/fsnotify/fsnotify/issues/14) (thanks @zhsso) |
|
156 |
|
157 ## v0.9.1 / 2014-06-12 |
|
158 |
|
159 * Fix data race on kevent buffer (thanks @tilaks) [#98](https://github.com/howeyc/fsnotify/pull/98) |
|
160 |
|
161 ## v0.9.0 / 2014-01-17 |
|
162 |
|
163 * IsAttrib() for events that only concern a file's metadata [#79][] (thanks @abustany) |
|
164 * [Fix] kqueue: fix deadlock [#77][] (thanks @cespare) |
|
165 * [NOTICE] Development has moved to `code.google.com/p/go.exp/fsnotify` in preparation for inclusion in the Go standard library. |
|
166 |
|
167 ## v0.8.12 / 2013-11-13 |
|
168 |
|
169 * [API] Remove FD_SET and friends from Linux adapter |
|
170 |
|
171 ## v0.8.11 / 2013-11-02 |
|
172 |
|
173 * [Doc] Add Changelog [#72][] (thanks @nathany) |
|
174 * [Doc] Spotlight and double modify events on macOS [#62][] (reported by @paulhammond) |
|
175 |
|
176 ## v0.8.10 / 2013-10-19 |
|
177 |
|
178 * [Fix] kqueue: remove file watches when parent directory is removed [#71][] (reported by @mdwhatcott) |
|
179 * [Fix] kqueue: race between Close and readEvents [#70][] (reported by @bernerdschaefer) |
|
180 * [Doc] specify OS-specific limits in README (thanks @debrando) |
|
181 |
|
182 ## v0.8.9 / 2013-09-08 |
|
183 |
|
184 * [Doc] Contributing (thanks @nathany) |
|
185 * [Doc] update package path in example code [#63][] (thanks @paulhammond) |
|
186 * [Doc] GoCI badge in README (Linux only) [#60][] |
|
187 * [Doc] Cross-platform testing with Vagrant [#59][] (thanks @nathany) |
|
188 |
|
189 ## v0.8.8 / 2013-06-17 |
|
190 |
|
191 * [Fix] Windows: handle `ERROR_MORE_DATA` on Windows [#49][] (thanks @jbowtie) |
|
192 |
|
193 ## v0.8.7 / 2013-06-03 |
|
194 |
|
195 * [API] Make syscall flags internal |
|
196 * [Fix] inotify: ignore event changes |
|
197 * [Fix] race in symlink test [#45][] (reported by @srid) |
|
198 * [Fix] tests on Windows |
|
199 * lower case error messages |
|
200 |
|
201 ## v0.8.6 / 2013-05-23 |
|
202 |
|
203 * kqueue: Use EVT_ONLY flag on Darwin |
|
204 * [Doc] Update README with full example |
|
205 |
|
206 ## v0.8.5 / 2013-05-09 |
|
207 |
|
208 * [Fix] inotify: allow monitoring of "broken" symlinks (thanks @tsg) |
|
209 |
|
210 ## v0.8.4 / 2013-04-07 |
|
211 |
|
212 * [Fix] kqueue: watch all file events [#40][] (thanks @ChrisBuchholz) |
|
213 |
|
214 ## v0.8.3 / 2013-03-13 |
|
215 |
|
216 * [Fix] inoitfy/kqueue memory leak [#36][] (reported by @nbkolchin) |
|
217 * [Fix] kqueue: use fsnFlags for watching a directory [#33][] (reported by @nbkolchin) |
|
218 |
|
219 ## v0.8.2 / 2013-02-07 |
|
220 |
|
221 * [Doc] add Authors |
|
222 * [Fix] fix data races for map access [#29][] (thanks @fsouza) |
|
223 |
|
224 ## v0.8.1 / 2013-01-09 |
|
225 |
|
226 * [Fix] Windows path separators |
|
227 * [Doc] BSD License |
|
228 |
|
229 ## v0.8.0 / 2012-11-09 |
|
230 |
|
231 * kqueue: directory watching improvements (thanks @vmirage) |
|
232 * inotify: add `IN_MOVED_TO` [#25][] (requested by @cpisto) |
|
233 * [Fix] kqueue: deleting watched directory [#24][] (reported by @jakerr) |
|
234 |
|
235 ## v0.7.4 / 2012-10-09 |
|
236 |
|
237 * [Fix] inotify: fixes from https://codereview.appspot.com/5418045/ (ugorji) |
|
238 * [Fix] kqueue: preserve watch flags when watching for delete [#21][] (reported by @robfig) |
|
239 * [Fix] kqueue: watch the directory even if it isn't a new watch (thanks @robfig) |
|
240 * [Fix] kqueue: modify after recreation of file |
|
241 |
|
242 ## v0.7.3 / 2012-09-27 |
|
243 |
|
244 * [Fix] kqueue: watch with an existing folder inside the watched folder (thanks @vmirage) |
|
245 * [Fix] kqueue: no longer get duplicate CREATE events |
|
246 |
|
247 ## v0.7.2 / 2012-09-01 |
|
248 |
|
249 * kqueue: events for created directories |
|
250 |
|
251 ## v0.7.1 / 2012-07-14 |
|
252 |
|
253 * [Fix] for renaming files |
|
254 |
|
255 ## v0.7.0 / 2012-07-02 |
|
256 |
|
257 * [Feature] FSNotify flags |
|
258 * [Fix] inotify: Added file name back to event path |
|
259 |
|
260 ## v0.6.0 / 2012-06-06 |
|
261 |
|
262 * kqueue: watch files after directory created (thanks @tmc) |
|
263 |
|
264 ## v0.5.1 / 2012-05-22 |
|
265 |
|
266 * [Fix] inotify: remove all watches before Close() |
|
267 |
|
268 ## v0.5.0 / 2012-05-03 |
|
269 |
|
270 * [API] kqueue: return errors during watch instead of sending over channel |
|
271 * kqueue: match symlink behavior on Linux |
|
272 * inotify: add `DELETE_SELF` (requested by @taralx) |
|
273 * [Fix] kqueue: handle EINTR (reported by @robfig) |
|
274 * [Doc] Godoc example [#1][] (thanks @davecheney) |
|
275 |
|
276 ## v0.4.0 / 2012-03-30 |
|
277 |
|
278 * Go 1 released: build with go tool |
|
279 * [Feature] Windows support using winfsnotify |
|
280 * Windows does not have attribute change notifications |
|
281 * Roll attribute notifications into IsModify |
|
282 |
|
283 ## v0.3.0 / 2012-02-19 |
|
284 |
|
285 * kqueue: add files when watch directory |
|
286 |
|
287 ## v0.2.0 / 2011-12-30 |
|
288 |
|
289 * update to latest Go weekly code |
|
290 |
|
291 ## v0.1.0 / 2011-10-19 |
|
292 |
|
293 * kqueue: add watch on file creation to match inotify |
|
294 * kqueue: create file event |
|
295 * inotify: ignore `IN_IGNORED` events |
|
296 * event String() |
|
297 * linux: common FileEvent functions |
|
298 * initial commit |
|
299 |
|
300 [#79]: https://github.com/howeyc/fsnotify/pull/79 |
|
301 [#77]: https://github.com/howeyc/fsnotify/pull/77 |
|
302 [#72]: https://github.com/howeyc/fsnotify/issues/72 |
|
303 [#71]: https://github.com/howeyc/fsnotify/issues/71 |
|
304 [#70]: https://github.com/howeyc/fsnotify/issues/70 |
|
305 [#63]: https://github.com/howeyc/fsnotify/issues/63 |
|
306 [#62]: https://github.com/howeyc/fsnotify/issues/62 |
|
307 [#60]: https://github.com/howeyc/fsnotify/issues/60 |
|
308 [#59]: https://github.com/howeyc/fsnotify/issues/59 |
|
309 [#49]: https://github.com/howeyc/fsnotify/issues/49 |
|
310 [#45]: https://github.com/howeyc/fsnotify/issues/45 |
|
311 [#40]: https://github.com/howeyc/fsnotify/issues/40 |
|
312 [#36]: https://github.com/howeyc/fsnotify/issues/36 |
|
313 [#33]: https://github.com/howeyc/fsnotify/issues/33 |
|
314 [#29]: https://github.com/howeyc/fsnotify/issues/29 |
|
315 [#25]: https://github.com/howeyc/fsnotify/issues/25 |
|
316 [#24]: https://github.com/howeyc/fsnotify/issues/24 |
|
317 [#21]: https://github.com/howeyc/fsnotify/issues/21 |