nix v0.24.1 Release Notes
Release Date: 2022-04-22 // about 1 year agoPrevious changes from v0.24.0
-
โ Added
- โ Added fine-grained features flags. Most Nix functionality can now be conditionally enabled. By default, all features are enabled. (#1611)
- โ Added statfs FS type magic constants for
target_os = "android"
and synced constants with libc v0.2.121. (#1690) - โ Added
fexecve
on DragonFly. (#1577) - ๐
sys::uio::IoVec
is nowSend
andSync
(#1582) - โ Added
EPOLLEXCLUSIVE
on Android. (#1567) - โ Added
fdatasync
for FreeBSD, Fuchsia, NetBSD, and OpenBSD. (#1581) - Added
sched_setaffinity
andsched_getaffinity
on DragonFly. (#1537) - โ Added
posix_fallocate
on DragonFly. (#1621) - โ Added
SO_TIMESTAMPING
support (#1547) - โ Added getter methods to
MqAttr
struct (#1619) - โ Added the
TxTime
sockopt and control message. (#1564) - โ Added POSIX per-process timer support (#1622)
- โ Added
sendfile
on DragonFly. (#1615) - Added
UMOUNT_NOFOLLOW
,FUSE_SUPER_MAGIC
on Linux. (#1634) - โ Added
getresuid
,setresuid
,getresgid
, andsetresgid
on DragonFly, FreeBSD, and OpenBSD. (#1628) - ๐ Added
MAP_FIXED_NOREPLACE
on Linux. (#1636) - โ Added
fspacectl
on FreeBSD (#1640) - โ Added
accept4
on DragonFly, Emscripten, Fuchsia, Illumos, and NetBSD. (#1654) - โ Added
AsRawFd
implementation onOwningIter
. (#1563) - Added
process_vm_readv
andprocess_vm_writev
on Android. (#1557) - โ Added
nix::uncontext
module on s390x. (#1662) - Implemented
Extend
,FromIterator
, andIntoIterator
forSigSet
and addedSigSet::iter
andSigSetIter
. (#1553) - โ Added
ENOTRECOVERABLE
andEOWNERDEAD
error codes on DragonFly. (#1665) - Implemented
Read
andWrite
for&PtyMaster
(#1664) - โ Added
MSG_NOSIGNAL
for Android, Dragonfly, FreeBSD, Fuchsia, Haiku, Illumos, Linux, NetBSD, OpenBSD and Solaris. (#1670) - โ Added
waitid
. (#1584) - โ Added
Ipv6DontFrag
for android, iOS, linux and macOS. - โ Added
IpDontFrag
for iOS, macOS. (#1692)
๐ Changed
mqueue
functions now operate on a distinct type,nix::mqueue::MqdT
. Accessors take this type by reference, not by value. (#1639)- โ Removed
SigSet::extend
in favor of<SigSet as Extend<Signal>>::extend
. Because of this change, you now needuse std::iter::Extend
to callextend
on aSigSet
. (#1553) - โ Removed the the
PATH_MAX
restriction from APIs accepting paths. Paths will now be allocated on the heap if they are too long. In addition, large instruction count improvements (~30x) were made to path handling. (#1656) - ๐ Changed
getrlimit
andsetrlimit
to userlim_t
directly instead ofOption<rlim_t>
. (#1668) - ๐ Deprecated
InetAddr
andSockAddr
in favor ofSockaddrIn
,SockaddrIn6
, andSockaddrStorage
. (#1684) - ๐ Deprecated
IpAddr
,Ipv4Addr
, andIpv6Addr
in favor of their equivalents from the standard library. (#1685) uname
now returns aResult<UtsName>
instead of just aUtsName
and ignoring failures from libc. And getters on theUtsName
struct now return an&OsStr
instead of&str
. (#1672)- Replaced
IoVec
withIoSlice
andIoSliceMut
, and replacedIoVec::from_slice
withIoSlice::new
. (#1643)
๐ Fixed
InetAddr::from_std
now sets thesin_len
/sin6_len
fields on the BSDs. (#1642)- ๐ Fixed a panic in
LinkAddr::addr
. That function now returns anOption
. (#1675) (#1677)
โ Removed