Changelog History
Page 2
-
v0.17.0 Changes
February 04, 2020 -
v0.16.1 Changes
December 23, 2019 -
v0.16.0 Changes
December 02, 2019โ Added
โ Added
ptrace::seize(): similar toattach()on Linux but with better-defined semantics. (#1154)โ Added
Signal::as_str(): returns signal name as&'static str(#1138)โ Added
posix_fallocate. (#1105)0๏ธโฃ Implemented
DefaultforFdSet(#1107)โ Added
NixPath::is_empty. (#1107)โ Added
mkfifoat(#1133)Added
User::from_uid,User::from_name,User::from_gidandGroup::from_name, (#1139)โ Added
linkat(#1101)โ Added
sched_getaffinity. (#1148)โ Added optional
Signalargument toptrace::{detach, syscall}for signal injection. (#1083)
๐ Changed
sys::termios::BaudRatenow implementsTryFrom<speed_t>instead ofFrom<speed_t>. The oldFromimplementation would panic on failure. (#1159)sys::socket::ControlMessage::ScmCredentialsandsys::socket::ControlMessageOwned::ScmCredentialsnow wrapUnixCredentialsrather thanlibc::ucred. (#1160)sys::socket::recvmsgnow takes a plainVecinstead of aCmsgBufferimplementor. If you were already usingcmsg_space!, then you needn't worry. (#1156)sys::socket::recvfromnow returnsResult<(usize, Option<SockAddr>)>instead ofResult<(usize, SockAddr)>. (#1145)Signal::from_c_inthas been replaced bySignal::try_from(#1113)๐ Changed
readlinkandreadlinkatto returnOsString(#1109)
# use nix::fcntl::{readlink, readlinkat}; // the buffer argument of `readlink` and `readlinkat` has been removed, // and the return value is now an owned type (`OsString`). // Existing code can be updated by removing the buffer argument // and removing any clone or similar operation on the output // old code `readlink(&path, &mut buf)` can be replaced with the following let _: OsString = readlink(&path); // old code `readlinkat(dirfd, &path, &mut buf)` can be replaced with the following let _: OsString = readlinkat(dirfd, &path);๐ Minimum supported Rust version is now 1.36.0. (#1108)
Ipv4Addr::octets,Ipv4Addr::to_std,Error::as_errno,ForkResult::is_child,ForkResult::is_parent,Gid::as_raw,Uid::is_root,Uid::as_raw,Pid::as_raw, andPollFd::reventsnow takeselfby value. (#1107)Type
&CStringfor parameters ofexec(v|ve|vp|vpe|veat)are changed to&CStr. (#1121)
๐ Fixed
๐ Fix length of abstract socket addresses (#1120)
๐ Fix initialization of msghdr in recvmsg/sendmsg when built with musl (#1136)
โ Removed
- โ Remove the deprecated
CmsgSpace. (#1156)
-
v0.15.0 Changes
August 10, 2019โ Added
- โ Added
MSG_WAITALLtoMsgFlagsinsys::socket. (#1079) - ๐ฏ Implemented
Clone,Copy,Debug,Eq,Hash, andPartialEqfor most types that support them. (#1035) - Added
copy_file_rangewrapper (#1069) - โ Add
mkdirat. (#1084) - โ Add
posix_fadvise. (#1089) - โ Added
AF_VSOCKtoAddressFamily. (#1091) - โ Add
unlinkat(#1058) - โ Add
renameat. (#1097)
๐ Changed
- ๐ Support for
ifaddrsnow present when building for Android. (#1077) - ๐ Minimum supported Rust version is now 1.31.0 (#1035) (#1095)
- Now functions
statfs()andfstatfs()return result withStatfswrapper (#928)
๐ Fixed
- Enabled
sched_yieldfor all nix hosts. (#1090)
โ Removed
- โ Added
-
v0.14.1 Changes
June 07, 2019โ Added
- Macros exported by
nixmay now be imported viauseon the Rust 2018 edition without importing helper macros on Linux targets. (#1066)
For example, in Rust 2018, the
ioctl_read_bad!macro can now be imported without importing theconvert_ioctl_res!macro.use nix::ioctl_read_bad; ioctl_read_bad!(tcgets, libc::TCGETS, libc::termios);๐ Changed
- ๐ Changed some public types from reexports of libc types like
uint32_tto the native equivalents likeu32.(#1072)
๐ Fixed
- ๐ Fix the build on Android and Linux/mips with recent versions of libc. (#1072)
โ Removed
- Macros exported by
-
v0.14.0 Changes
May 22, 2019โ Added
- Add IP_RECVIF & IP_RECVDSTADDR. Enable IP_PKTINFO and IP6_PKTINFO on netbsd/openbsd. (#1002)
- Added
inotify_init1,inotify_add_watchandinotify_rm_watchwrappers for Android and Linux. (#1016) - Add
ALG_SET_IV,ALG_SET_OPandALG_SET_AEAD_ASSOCLENcontrol messages andAF_ALGsocket types on Linux and Android (#1031) - โ Add killpg (#1034)
- โ Added ENOTSUP errno support for Linux and Android. (#969)
- โ Add several errno constants from OpenBSD 6.2 (#1036)
- Added
from_stdandto_stdmethods forsys::socket::IpAddr(#1043) - โ Added
nix::unistd:seteuidandnix::unistd::setegidfor those platforms that do not supportsetresuidnorsetresgidrespectively. (#1044) - โ Added a
accesswrapper (#1045) - โ Add
forkpty(#1042) - โ Add
sched_yield(#1050)
๐ Changed
PollFdevent flags renamed toPollFlags(#1024)recvmsgnow returns an Iterator overControlMessageOwnedobjects rather thanControlMessageobjects. This is sadly not backwards-compatible. Fix code like this:rust if let ControlMessage::ScmRights(&fds) = cmsg {
By replacing it with code like this:
if let ControlMessageOwned::ScmRights(fds) = cmsg {(#1020)
- Replaced
CmsgSpacewith thecmsg_spacemacro. (#1020)
๐ Fixed
- ๐ Fixed multiple bugs when using
sendmsgandrecvmsgwith ancillary control messages (#1020) - Macros exported by
nixmay now be imported viauseon the Rust 2018 edition without importing helper macros for BSD targets. (#1041)
For example, in Rust 2018, the
ioctl_read_bad!macro can now be imported without importing theconvert_ioctl_res!macro.use nix::ioctl_read_bad; ioctl_read_bad!(tcgets, libc::TCGETS, libc::termios);โ Removed
-
v0.13.1
June 10, 2019 -
v0.13.0 Changes
January 15, 2019โ Added
- โ Added PKTINFO(V4) & V6PKTINFO cmsg support - Android/FreeBSD/iOS/Linux/MacOS. (#990)
- โ Added support of CString type in
setsockopt. (#972) - โ Added option
TCP_CONGESTIONinsetsockopt. (#972) - โ Added
symlinkatwrapper. (#997) - โ Added
ptrace::{getregs, setregs}. (#1010) - โ Added
nix::sys::signal::signal. (#817) - โ Added an
mprotectwrapper. (#991)
๐ Changed
๐ Fixed
lutimesnever worked on OpenBSD as it is not implemented on OpenBSD. It has been removed. (#1000)fexecvenever worked on NetBSD or on OpenBSD as it is not implemented on either OS. It has been removed. (#1000)
โ Removed
-
v0.12.1
June 08, 2019 -
v0.12.0 Changes
November 28, 2018โ Added
- โ Added
FromStrandDisplayimpls fornix::sys::Signal(#884) - โ Added a
syncwrapper. (#961) - โ Added a
sysinfowrapper. (#922) - ๐ Support the
SO_PEERCREDsocket option and theUnixCredentialstype on all Linux and Android targets. (#921) - โ Added support for
SCM_CREDENTIALS, allowing to send process credentials over Unix sockets. (#923) - โ Added a
dirmodule for reading directories (wrapsfdopendir,readdir, andrewinddir). (#916) - โ Added
kmodmodule that allows loading and unloading kernel modules on Linux. (#930) - โ Added
futimensandutimesatwrappers (#944), anlutimeswrapper (#967), and autimeswrapper (#946). - โ Added
AF_UNSPECwrapper toAddressFamily(#948) - โ Added the
mode_tpublic alias withinsys::stat. (#954) - โ Added a
truncatewrapper. (#956) - โ Added a
fchownatwrapper. (#955) - โ Added support for
ptraceon BSD operating systems (#949) - โ Added
ptracefunctions for reads and writes to tracee memory and ptrace kill (#949) (#958) - โ Added a
acctwrapper module for enabling and disabling process accounting (#952) - Added the
time_tandsuseconds_tpublic aliases withinsys::time. (#968) - โ Added
unistd::execvpefor Haiku, Linux and OpenBSD (#975) - โ Added
Error::as_errno. (#977)
๐ Changed
๐ Fixed
- Made
preadvtake immutable slice of IoVec. (#914) - ๐ Fixed passing multiple file descriptors over Unix Sockets. (#918)
โ Removed
- โ Added