NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3076 most downloaded on crates.io
Rust wrapper for libudev
Last release 6 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 4.8 years
Nearly every release is documented
notes for 7 of 7 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
7 releases · first in 2015
There are, however, some breaking changes to the API that are unrelated to the changes in resource management:
This release changes the resource management strategy. Tracking lifetimes of dependent resources makes for a less-ergonomic API. That has been replaced with reference-counting. There are no known backwards-compatibility issues with this change, so existing code should not have to be updated for compatibility with reference-counting.
There are, however, some breaking changes to the API that are unrelated to the changes in resource management:
Context::device_from_syspath() has been moved to Device::from_syspath(). Upgrading involves a search-and-replace. Anywhere you have the following code:
context.device_from_syspath(path);should be replaced with:
Device::from_syspath(&context, path);Several methods on Device changed their return type to account for the possibility of the C library returning NULL pointers:
Device::syspath() returns Option<&Path> instead of &Path.Device::devpath() returns Option<&OsStr> instead of &OsStr.Device::subsystem() returns Option<&OsStr> instead of &OsStr.Device::sysname() returns Option<&OsStr> instead of &OsStr.Client code will have to decide how to handle a None return value.
Clone for Context.NULL return from udev_device_get_syspath(), udev_device_get_devpath(), udev_device_get_subsystem(), and udev_device_get_sysname().Context::device_from_syspath() to Device::from_syspath().Device::syspath(), Device::devpath(), Device::subsystem(), andDevice::sysname() to Option<...>.One column per quarter.
Replaced c_int error code with std::ErrorKind.
Device::parent().c_int error code with std::io::ErrorKind.Upgraded libc dependency to v0.2.
### Added * Added Monitor. * Wrote documentation.
Monitor.Bumped libudev-sys dependency to v0.1.1, which allows libudev to compile on 1.0.0-beta and presumably the imminent 1.0.0 release.
libudev-sys dependency to v0.1.1, which allows libudev to compile on 1.0.0-beta and
presumably the imminent 1.0.0 release.Removed dependencies on unstable features:
#![feature(libc)]: replaced with libc crate#1[feature(std_misc)]: replaced AsOsStr with AsRef<OsStr>#![feature(unsafe_destructor)]: stabilizedInitial release
Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →