Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.5.4] - 2022-04-25
Windows: add missing defer to
Watcher.WatchList
#447go.mod: use latest x/sys #444
Fix compilation for OpenBSD #443
[1.5.3] - 2022-04-22
This version is retracted. An incorrect branch is published accidentally #445
[1.5.2] - 2022-04-21
Add a feature to return the directories and files that are being monitored #374
Fix potential crash on windows if
raw.FileNameLength
exceedssyscall.MAX_PATH
#361Allow build on unsupported GOOS #424
Don't set
poller.fd
twice innewFdPoller
#406fix go vet warnings: call to
(*T).Fatalf
from a non-test goroutine #416
[1.5.1] - 2021-08-24
Revert Add AddRaw to not follow symlinks #394
[1.5.0] - 2021-08-20
Go: Increase minimum required version to Go 1.12 #381
Feature: Add AddRaw method which does not follow symlinks when adding a watch #289
Windows: Follow symlinks by default like on all other systems #289
Go 1.14+: Fix unsafe pointer conversion #325
[1.4.7] - 2018-01-09
BSD/macOS: Fix possible deadlock on closing the watcher on kqueue (thanks @nhooyr and @glycerine)
Tests: Fix missing verb on format string (thanks @rchiossi)
Linux: Fix deadlock in Remove (thanks @aarondl)
Linux: Watch.Add improvements (avoid race, fix consistency, reduce garbage) (thanks @twpayne)
Docs: Moved FAQ into the README (thanks @vahe)
Linux: Properly handle inotify's IN_Q_OVERFLOW event (thanks @zeldovich)
Docs: replace references to OS X with macOS
[1.4.2] - 2016-10-10
Linux: use InotifyInit1 with IN_CLOEXEC to stop leaking a file descriptor to a child process when using fork/exec #178 (thanks @pattyshack)
[1.4.1] - 2016-10-04
Fix flaky inotify stress test on Linux #177 (thanks @pattyshack)
[1.4.0] - 2016-10-01
add a String() method to Event.Op #165 (thanks @oozie)
[1.3.1] - 2016-06-28
Windows: fix for double backslash when watching the root of a drive #151 (thanks @brunoqc)
[1.3.0] - 2016-04-19
[1.2.10] - 2016-03-02
Fix golint errors in windows.go #121 (thanks @tiffanyfj)
[1.2.9] - 2016-01-13
kqueue: Fix logic for CREATE after REMOVE #111 (thanks @bep)
[1.2.8] - 2015-12-17
kqueue: fix race condition in Close #105 (thanks @djui for reporting the issue and @ppknap for writing a failing test)
inotify: fix race in test
enable race detection for continuous integration (Linux, Mac, Windows)
[1.2.5] - 2015-10-17
inotify: use epoll_create1 for arm64 support (requires Linux 2.6.27 or later) #100 (thanks @suihkulokki)
inotify: fix path leaks #73 (thanks @chamaken)
kqueue: watch for rename events on subdirectories #83 (thanks @guotie)
kqueue: avoid infinite loops from symlinks cycles #101 (thanks @illicitonion)
[1.2.1] - 2015-10-14
kqueue: don't watch named pipes #98 (thanks @evanphx)
[1.2.0] - 2015-02-08
inotify: use epoll to wake up readEvents #66 (thanks @PieterD)
inotify: closing watcher should now always shut down goroutine #63 (thanks @PieterD)
kqueue: close kqueue after removing watches, fixes #59
[1.1.1] - 2015-02-05
inotify: Retry read on EINTR #61 (thanks @PieterD)
[1.1.0] - 2014-12-12
More efficient string concatenation for Event.String() #52 (thanks @mdlayher)
kqueue: fix regression in rework causing subdirectories to be watched #48
kqueue: cleanup internal watch before sending remove event #51
[1.0.4] - 2014-09-07
kqueue: add dragonfly to the build tags.
Rename source code files, rearrange code so exported APIs are at the top.
Add done channel to example code. #37 (thanks @chenyukang)
[1.0.3] - 2014-08-19
[Fix] Windows MOVED_TO now translates to Create like on BSD and Linux. #36
[1.0.2] - 2014-08-17
[Fix] Missing create events on macOS. #14 (thanks @zhsso)
[Fix] Make ./path and path equivalent. (thanks @zhsso)
[1.0.0] - 2014-08-15
[API] Remove AddWatch on Windows, use Add.
Improve documentation for exported identifiers. #30
Minor updates based on feedback from golint.
dev / 2014-07-09
Moved to github.com/fsnotify/fsnotify.
Use os.NewSyscallError instead of returning errno (thanks @hariharan-uno)
dev / 2014-07-04
kqueue: fix incorrect mutex used in Close()
Update example to demonstrate usage of Op.
dev / 2014-06-28
[API] Don't set the Write Op for attribute notifications #4
Fix for String() method on Event (thanks Alex Brainman)
Don't build on Plan 9 or Solaris (thanks @4ad)
dev / 2014-06-21
Events channel of type Event rather than *Event.
[internal] use syscall constants directly for inotify and kqueue.
[internal] kqueue: rename events to kevents and fileEvent to event.
dev / 2014-06-19
Go 1.3+ required on Windows (uses syscall.ERROR_MORE_DATA internally).
[internal] remove cookie from Event struct (unused).
[internal] Event struct has the same definition across every OS.
[internal] remove internal watch and removeWatch methods.
dev / 2014-06-12
[API] Renamed Watch() to Add() and RemoveWatch() to Remove().
[API] Pluralized channel names: Events and Errors.
[API] Renamed FileEvent struct to Event.
[API] Op constants replace methods like IsCreate().
dev / 2014-06-12
Fix data race on kevent buffer (thanks @tilaks) #98
dev / 2014-05-23
[API] Remove current implementation of WatchFlags.
current implementation doesn't take advantage of OS for efficiency
provides little benefit over filtering events as they are received, but has extra bookkeeping and mutexes
no tests for the current implementation
not fully implemented on Windows #93
[0.9.3] - 2014-12-31
kqueue: cleanup internal watch before sending remove event #51
[0.9.2] - 2014-08-17
[Backport] Fix missing create events on macOS. #14 (thanks @zhsso)
[0.9.1] - 2014-06-12
Fix data race on kevent buffer (thanks @tilaks) #98
[0.9.0] - 2014-01-17
IsAttrib() for events that only concern a file's metadata #79 (thanks @abustany)
[Fix] kqueue: fix deadlock #77 (thanks @cespare)
[NOTICE] Development has moved to
code.google.com/p/go.exp/fsnotify
in preparation for inclusion in the Go standard library.
[0.8.12] - 2013-11-13
[API] Remove FD_SET and friends from Linux adapter
[0.8.11] - 2013-11-02
[Doc] Add Changelog #72 (thanks @nathany)
[Doc] Spotlight and double modify events on macOS #62 (reported by @paulhammond)
[0.8.10] - 2013-10-19
[Fix] kqueue: remove file watches when parent directory is removed #71 (reported by @mdwhatcott)
[Fix] kqueue: race between Close and readEvents #70 (reported by @bernerdschaefer)
[Doc] specify OS-specific limits in README (thanks @debrando)
[0.8.9] - 2013-09-08
[Doc] Contributing (thanks @nathany)
[Doc] update package path in example code #63 (thanks @paulhammond)
[Doc] GoCI badge in README (Linux only) #60
[Doc] Cross-platform testing with Vagrant #59 (thanks @nathany)
[0.8.8] - 2013-06-17
[Fix] Windows: handle
ERROR_MORE_DATA
on Windows #49 (thanks @jbowtie)
[0.8.7] - 2013-06-03
[API] Make syscall flags internal
[Fix] inotify: ignore event changes
[Fix] race in symlink test #45 (reported by @srid)
[Fix] tests on Windows
lower case error messages
[0.8.6] - 2013-05-23
kqueue: Use EVT_ONLY flag on Darwin
[Doc] Update README with full example
[0.8.5] - 2013-05-09
[Fix] inotify: allow monitoring of "broken" symlinks (thanks @tsg)
[0.8.4] - 2013-04-07
[Fix] kqueue: watch all file events #40 (thanks @ChrisBuchholz)
[0.8.3] - 2013-03-13
[Fix] inoitfy/kqueue memory leak #36 (reported by @nbkolchin)
[Fix] kqueue: use fsnFlags for watching a directory #33 (reported by @nbkolchin)
[0.8.2] - 2013-02-07
[Doc] add Authors
[Fix] fix data races for map access #29 (thanks @fsouza)
[0.8.1] - 2013-01-09
[Fix] Windows path separators
[Doc] BSD License
[0.8.0] - 2012-11-09
kqueue: directory watching improvements (thanks @vmirage)
inotify: add
IN_MOVED_TO
#25 (requested by @cpisto)[Fix] kqueue: deleting watched directory #24 (reported by @jakerr)
[0.7.4] - 2012-10-09
[Fix] inotify: fixes from https://codereview.appspot.com/5418045/ (ugorji)
[Fix] kqueue: preserve watch flags when watching for delete #21 (reported by @robfig)
[Fix] kqueue: watch the directory even if it isn't a new watch (thanks @robfig)
[Fix] kqueue: modify after recreation of file
[0.7.3] - 2012-09-27
[Fix] kqueue: watch with an existing folder inside the watched folder (thanks @vmirage)
[Fix] kqueue: no longer get duplicate CREATE events
[0.7.2] - 2012-09-01
kqueue: events for created directories
[0.7.1] - 2012-07-14
[Fix] for renaming files
[0.7.0] - 2012-07-02
[Feature] FSNotify flags
[Fix] inotify: Added file name back to event path
[0.6.0] - 2012-06-06
kqueue: watch files after directory created (thanks @tmc)
[0.5.1] - 2012-05-22
[Fix] inotify: remove all watches before Close()
[0.5.0] - 2012-05-03
[API] kqueue: return errors during watch instead of sending over channel
kqueue: match symlink behavior on Linux
inotify: add
DELETE_SELF
(requested by @taralx)[Fix] kqueue: handle EINTR (reported by @robfig)
[Doc] Godoc example [#1][] (thanks @davecheney)
[0.4.0] - 2012-03-30
Go 1 released: build with go tool
[Feature] Windows support using winfsnotify
Windows does not have attribute change notifications
Roll attribute notifications into IsModify
[0.3.0] - 2012-02-19
kqueue: add files when watch directory
[0.2.0] - 2011-12-30
update to latest Go weekly code
[0.1.0] - 2011-10-19
kqueue: add watch on file creation to match inotify
kqueue: create file event
inotify: ignore
IN_IGNORED
eventsevent String()
linux: common FileEvent functions
initial commit
Last updated