118 lines
2.5 KiB
Markdown
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
|