# Changelog
All notable changes to this project are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1.2] - 2026-06-28
### Fixed
- Pinned `rustler_precompiled` `:targets` to the platforms the release
workflow builds, so checksum generation no longer 404s on unbuilt targets
(FreeBSD, riscv64, arm-gnueabihf). Unblocks publishing to Hex.
## [0.1.1] - 2026-06-28
### Fixed
- Repaired the precompiled-NIF release pipeline: the retired `macos-13` Intel
runner left `x86_64-apple-darwin` stuck in the queue. It is now
cross-compiled on the Apple Silicon runner, runner images and actions are
refreshed, and builds only trigger on native changes.
### Changed
- Precompiled NIFs are now built for NIF versions 2.15, 2.16, and 2.17.
## [0.1.0] - 2026-06-28
### Added
- Native filesystem watcher backed by [notify-rs](https://github.com/notify-rs/notify)
via Rustler. Events are delivered as `{:fs_notify_event, %FsNotify.Event{}}`,
one message per notify event, carrying all affected `paths`.
- `FsNotify.watch/2` (a path or a list of paths) and `FsNotify.unwatch/1`. The
watch is tied to the subscriber process: it stops when that process dies
(native process monitor) or when the returned reference is garbage-collected.
- `%FsNotify.Event{kind, detail, paths}` whose `detail` faithfully mirrors
notify's full `EventKind` tree (bare atoms and `{group, sub}` tuples).
- Options: `:recursive`, `:debounce` (native, via `notify-debouncer-full`),
`:backend` (`:recommended` or `:poll`) with `:poll_interval`, and `:subscriber`.
- Precompiled NIFs via `rustler_precompiled` — no Rust toolchain required for
supported targets; build from source with `FS_NOTIFY_BUILD=1`.
- CI cross-compiles NIFs (macOS, Linux gnu/musl, Windows; x86_64 and aarch64)
and publishes to Hex when a GitHub release is published.
[Unreleased]: https://github.com/fahchen/fs_notify/compare/v0.1.2...HEAD
[0.1.2]: https://github.com/fahchen/fs_notify/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/fahchen/fs_notify/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/fahchen/fs_notify/releases/tag/v0.1.0