nix v0.8.0 Release Notes
Release Date: 2017-03-02 // about 7 years ago-
➕ Added
- ➕ Added
::nix::sys::termios::BaudRate
enum to provide portable baudrate values. (#518) - ➕ Added a new
WaitStatus::PtraceEvent
to support ptrace events on Linux and Android (#438) - ➕ Added support for POSIX AIO (#483) (#506)
- ➕ Added support for XNU system control sockets (#478)
- ➕ Added support for
ioctl
calls on BSD platforms (#478) - ➕ Added struct
TimeSpec
(#475) (#483) - ➕ Added complete definitions for all kqueue-related constants on all supported OSes (#415)
- ➕ Added function
epoll_create1
and bitflagsEpollCreateFlags
in::nix::sys::epoll
in order to support::libc::epoll_create1
. (#410) - ➕ Added
setresuid
andsetresgid
for Linux in::nix::unistd
(#448) - ➕ Added
getpgid
in::nix::unistd
(#433) - ➕ Added
tcgetpgrp
andtcsetpgrp
in::nix::unistd
(#451) - ➕ Added
CLONE_NEWCGROUP
in::nix::sched
(#457) - ➕ Added
getpgrp
in::nix::unistd
(#491) - ➕ Added
fchdir
in::nix::unistd
(#497) - ➕ Added
major
andminor
in::nix::sys::stat
for decomposingdev_t
(#508) - 🛠 Fixed the style of many bitflags and use
libc
in more places. (#503) - ➕ Added
ppoll
in::nix::poll
(#520) - ➕ Added support for getting and setting pipe size with fcntl(2) on Linux (#540)
🔄 Changed
::nix::sys::termios::{cfgetispeed, cfsetispeed, cfgetospeed, cfsetospeed}
switched to useBaudRate
enum fromspeed_t
. (#518)epoll_ctl
now could accept None as argumentevent
when op isEpollOp::EpollCtlDel
. (#480)- ✂ Removed the
bad
keyword from theioctl!
macro (#478) - 🔄 Changed
TimeVal
into an opaque Newtype (#475) - 🚦
kill
's signature, defined in::nix::sys::signal
, changed, so that the signal parameter has typeT: Into<Option<Signal>>
.None
as an argument for that parameter will result in a 0 passed to libc'skill
, while aSome
-argument will result in the previous behavior for the containedSignal
. (#445) - 👍 The minimum supported version of rustc is now 1.7.0. (#444)
- 🔄 Changed
KEvent
to an opaque structure that may only be modified by its constructor and theev_set
method. (#415) (#442) (#463) pipe2
now callslibc::pipe2
where available. Previously it was emulated usingpipe
, which meant that settingO_CLOEXEC
was not atomic. (#427)- 📇 Renamed
EpollEventKind
toEpollFlags
in::nix::sys::epoll
in order for it to conform with our conventions. (#410) EpollEvent
in::nix::sys::epoll
is now an opaque proxy for::libc::epoll_event
. The formerly public fieldevents
is now be read-only accessible with the new methodevents()
ofEpollEvent
. Instances ofEpollEvent
can be constructed using the new methodnew()
of EpollEvent. (#410)- 🚦
SigFlags
in::nix::sys::signal
has be renamed toSigmaskHow
and its type has changed frombitflags
toenum
in order to conform to our conventions. (#460) sethostname
now takes a&str
instead of a&[u8]
as this provides an API that makes more sense in normal, correct usage of the API.gethostname
previously did not expose the actual length of the hostname written from the underlying system call at all. This has been updated to return a&CStr
within the provided buffer that is always properly NUL-terminated (this is not guaranteed by the call with all platforms/libc implementations).- 🔦 Exposed all fcntl(2) operations at the module level, so they can be
imported direclty instead of via
FcntlArg
enum. (#541)
🛠 Fixed
- 🛠 Fixed multiple issues with Unix domain sockets on non-Linux OSes (#474)
- 🛠 Fixed using kqueue with
EVFILT_USER
on FreeBSD (#415) - 🛠 Fixed the build on FreeBSD, and fixed the getsockopt, sendmsg, and recvmsg functions on that same OS. (#397)
- 🛠 Fixed an off-by-one bug in
UnixAddr::new_abstract
in::nix::sys::socket
. (#429) - 🛠 Fixed clone passing a potentially unaligned stack. (#490)
- 🛠 Fixed mkdev not creating a
dev_t
the same way as libc. (#508)
- ➕ Added