fsnotify
- title
- fsnotify
- type
- entity
- summary
- Go cross-platform filesystem-notifications library; 321k dependent projects, the de facto file-watching primitive in the Go ecosystem
- tags
- go, filesystem, open-source, library
- sources
- fsnotify-maintainer-dispute
- created
- 2026-05-12
- updated
- 2026-05-12
Go library providing cross-platform filesystem notifications across Linux (inotify), macOS (kqueue, FSEvents), Windows (ReadDirectoryChangesW), BSD (kqueue), and illumos. Sits underneath most Go CLI tools, dev servers, configuration-reload mechanisms, and infrastructure controllers that need to react to file changes. GitHub: ~10.7k stars, 969 forks, 321k dependent projects as of May 2026 โ high enough in the dependent-count distribution to count as low-level critical infrastructure for the Go ecosystem.
Repo: https://github.com/fsnotify/fsnotify
Maintained primarily by Martin Tournoij (arp242). Historically had commit access handed out broadly to drive-by contributors who landed fixes; this caught up with the project in May 2026 โ see fsnotify-maintainer-dispute.
Notable events
- 2026-05 โ Maintainer-access dispute centered on mattn's recent maintenance activity and a direct-to-main
FUNDING.ymlchange. Read from outside as a possible takeover; not a takeover. Documented in fsnotify-maintainer-dispute. - 2026-05-04 โ v1.10.1 fixes an inotify edge case where sibling watches sharing a path prefix could be removed or renamed incorrectly.
- 2026-04-04 โ Crossed the "12 months without a release" threshold that triggers most automated unmaintained-project scanners.
Forks worth tracking
gofsnotify/fsnotifyโ separate implementation started by mattn after losing access to the original org. Kubernetes' "fsnotify - Healthy or not?" issue lists it as something to monitor.