Files
2026-08-01 16:11:49 +03:00

118 lines
2.5 KiB
Markdown

# Changelog
## 1.2.0
Adds:
* Bump kqueue-sys to 1.1.1
* Handle `NOTE_READ` on FreeBSD
* Better documentation of errors
* Add fd-based benchmarks
Fixes:
* Remove all panics, returning errors instead
* Do not close `File` or fd's on drop, since we do not own them
* `Vnode::Extend` has nothing to do with `truncate(2)`
* Allow removal of non-utf8 pathnames (although imperfect)
* Remove a bunch of unchecked casts and fail if data is out-of-range
* `from_error`, `is_err`, `poll`, `poll_forever` and `iter` are `#[must_use]`
* Internally use `OwnedFd` to track our `kqueue` object
* `Ident.PartialEq` did not compare enum discriminants
* Track watches in a `HashMap`, leading to much faster `remove_*` performance
* Preallocate internal vec when watching objects, reduces memory usage and
increase perf
* Fast fail returning events from unstarted `Watcher`s
* Don't unconditionally declare ourselves as started
* Don't include drops in benchmark results
## 1.1.1
Fixes:
* Don't try and remove file descriptor 0 when removing unwatched filenames
## 1.1.0
Adds:
* Better error messages for panics
* Rust Edition 2021
Fixes:
* Don't leak file descriptors when removing filenames from being watched
* Reduce memory usage when starting a new watcher
* Don't leak file descriptors when removing fd's from being watched (see commit
for rationale)
## 1.0.8
Adds:
* ios support
Fixes:
* panic on overflow on more than max 32bit files
## 1.0.7
Fixes:
* Fixes broken 32bit builds by matching `timespec` defs to libc
## 1.0.6
Fixes:
* marks `Vnode` enum `non_exhaustive` to fix backwards compatibility in 1.x
## 1.0.5
Adds:
* docs.rs support
* added new enum variants specific to FreeBSD (broke backwards compatibility)
Fixes:
* Fixes broken 32bit builds
## 1.0.4
Fixes:
* Fixes broken NetBSD build
## 1.0.3
Adds:
* #6: Adds a new `Watcher.poll_forever()` method which blocks on new events. This works
around buggy behavior in the original `Watcher.poll()` method.
* !3: Adds an implementation for `std::os::unix::io::AsRawFd` for `Watcher` for
nested kqueues.
## 1.0.2
* Fixed #4: Fix bug where wrong data types were used on i386 FreeBSD
## 1.0.1
* Merged !1 as a fix for #3. We properly fill in the `ext` field for `kqueue`
extensions on FreeBSD.
## 1.0.0
### Breaking changes
* Bumped `bitflags` in `rust-kqueue-sys`: Now all bitflag constants must be qualified:
`EV_DELETE` -> `EventFlag::EV_DELETE`
`NOTE_WRITE` > `FilterFlag::NOT_WRITE`
### Other changes
* 2018 edition and clippy changes