Conversation
Pull Request Test Coverage Report for Build 21554743170Details
💛 - Coveralls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.30→0.31Release Notes
nix-rust/nix (nix)
v0.31.1Compare Source
Added
(#2702)
(#2703)
v0.31.0Compare Source
Added
Added the UDP GSO/GRO socket options and CMsgs on Android. This includes the
following types:
(#2666)
Define errno EWOULDBLOCK as an alias of EAGAIN to match the AIX libc
definition. (#2692)
Enable module
ifaddrson GNU Hurd(#2697)
Add termios
OutputFlags::OFILLfor Linux, Android, Aix, Cygwin, Fuchsia,Haiku,
GNU/Hurd, Nto, Redox, Illumos, Solaris and Apple OSes.
(#2701)
add sync() for cygwin (#2708)
Changed
EpollEventmethods to beconst(#2656)
0.2.180
(#2724)
Fixed
nix::sys::ptrace::syscall_info, which was not setting thedataargument properly, causing garbage values to be returned.
(#2653)
signature in the AIX libc.
(#2655)
The
d_name field was not copied correctly on those platforms. For some other
platforms, it could be copied incorrectly for files with very long pathnames.
(#2674)
Removed
EqandPartialEqimplementations fromSigHandler, because theynever worked reliably. The suggested alternative is
matches!. Forexample:
IFF_NOTRAILERSby NetBSD, as it has been removed upstream and fromlibc (#2724)
[0.30.1] - 2025-05-04
Fixed
(#2634)
[0.30.0] - 2025-04-29
Added
IPV6_PKTINFOfor BSDs/Linux/Android, alsoIPV6_RECVPKTINFOfor DragonFlyBSD(#2113)
fcntl'sF_PREALLOCATEconstant for Apple targets.(#2393)
and support for DSCP (ToS / Traffic Class).
(#2425)
(nix::sys::socket::sockopt::Ipv6TClass) on Android/FreeBSD
(#2464)
SeekDataandSeekHoletoWhencefor hurd and apple targets(#2473)
Fromtrait implementation betweenSocketAddrandSockaddr,Sockaddr6(#2474)posix_spawnAPI(#2475)
(#2477)
F_RDADVISEfor Apple target(#2480)
F_RDAHEADfor Apple target(#2482)
F_LOG2PHYSandF_LOG2PHYS_EXTfor Apple target(#2483)
MAP_SHARED_VALIDATEwas added for all linux targets. &MAP_SYNCwas addedfor linux with the exclusion of mips architecures, and uclibc
(#2499)
getregs()/getregset()/setregset()for Linux/musl/aarch64(#2502)
F_TRANSFEREXTENTSconstant for Apple targets(#2504)
MapFlags::MAP_STACKinsys::manfor netbsd(#2526)
libc::LOCAL_PEERTOKENingetsockopt.(#2529)
syslog,openlog,closelogon allunix.(#2537)
TCP_FUNCTION_BLKsockopt, on FreeBSD.(#2539)
Into<OwnedFd>forPtyMaster/Fanotify/Inotify/SignalFd/TimerFd(#2548)
MremapFlags::MREMAP_DONTUNMAPtosys::mman::mremapfor linux target.(#2555)
sockopt_impl!to the public API. It's now possible for users todefine
their own sockopts without needing to make a PR to Nix.
(#2556)
TCP_FUNCTION_ALIASsockopt, on FreeBSD.(#2558)
sys::mman::MmapAdviseMADV_PAGEOUT,MADV_COLD,MADV_WIPEONFORK,MADV_KEEPONFORKfor Linux and Android targets(#2559)
Sctp, as well asMSG_NOTIFICATIONfor non-AndroidLinux targets. (#2562)
from_owned_fdconstructor toEventFd(#2563)
sys::mman::MmapAdviseMADV_POPULATE_READ,MADV_POPULATE_WRITEforLinux and Android targets
(#2565)
from_owned_fdconstructor toPtyMaster/Fanotify/Inotify/SignalFd/TimerFd(#2566)
FcntlArg::F_READAHEADfor FreeBSD target(#2569)
sockopt::LingerSecfor Apple targets(#2572)
sockopt::EsclBindfor solarish targets(#2573)
std::os::fd::AsRawFdtrait method fornix::sys::fanotify::Fanotifystruct(#2575)
setlogmaskon allunix.(#2579)
ioctl.(#2580)
sys::socket::SockProtocol::EthIp,sys::socket::SockProtocol::EthIpv6,sys::socket::SockProtocol::EthLoop(#2581)
(#2599)
setsockoptoption for apple targets(#2603)
FilAttachandFilDetachto socket::sockopt for Illumos(#2611)
PeerPidfd(SO_PEERPIDFD) tosocket::sockoptfor Linux(#2620)
socket::sockopt::AttachReusePortCbpffor Linux(#2621)
ptrace::syscall_infofor linux/glibc(#2627)
Changed
(#1936)
nameargument ofmemfd_create()from&CStrto<P: NixPath>(name: &P)(#2431)fcntl.rsanddir.rsnow use I/O-safe types.(#2434)
sys/statnow adopts I/O safety.(#2439)
(#2440)
(#2443)
IpToshas been renamed toIpv4Tos, the old symbol isdeprecated since 0.30.0 (#2465)
EventFlagtoEvFlags, andMemFdCreateFlagtoMFdFlags(#2476)
nix::sys::socket::UnknownCmsgpublic and more readable(#2520)
(#2524)
(#2582)
Fixed
(#2454)
(#2456)
nsargument ofsys::prctl::set_timerslack()should be of typec_ulong(#2505)OSStrings returned bygetsockopt.(#2557)
(#2587)
Removed
SigevNotifyis no longerPartialEq,EqandHashdue to the useof
BorrowedFd(#1936)EventFd::defuse()is removed because it does nothing,EventFd::arm()isalso removed for symmetry reasons.
(#2452)
Copytrait fromPollFd(#2631)
[0.29.0] - 2024-05-24
Added
getregset()/setregset()for Linux/glibc/x86/x86_64/aarch64/riscv64 andgetregs()/setregs()for Linux/glibc/aarch64/riscv64(#2044)
(#2287)
(#2325)
(#2326)
Fromtrait implementation for conversions betweensockaddr_inandSockaddrIn,sockaddr_in6andSockaddrIn6(#2328)
(#2332)
(#2339)
(#2340)
mountandunmountAPI for apple targets.(#2347)
_PC_MIN_HOLE_SIZEforpathconfandfpathconf.(#2349)
impl AsFd for pty::PtyMaster(#2355)
openflagO_SEARCHto AIX, Empscripten, FreeBSD, Fuchsia, solarish,WASI (#2374)
prctl_set_vma_anon_namefor Linux/Android.(#2378)
sync(2)forapple_targets/solarish/haiku/aix/hurd,syncfs(2)forhurdandfdatasync(2)foraix/hurd(#2379)
(#2380)
fcntl::OFlag::O_PATHfor FreeBSD and Fuchsia(#2382)
PathconfVar::MIN_HOLE_SIZEfor apple_targets.(#2388)
openflagO_SEARCHto apple_targets(#2391)
O_DSYNCmay now be used withaio_fsyncandfcntlon FreeBSD.(#2404)
Flock::relockfor upgrading and downgrading locks.(#2407)
Changed
Change the
ForkptyResulttype to the following repr so that theuninitialized
masterfield won't be accessed in the child process:Updated
cfg_aliasesdependency from version 0.1 to 0.2(#2322)
Change the signature of
ptrace::writeandptrace::write_userto make themsafe (#2324)
Allow use of
SignalFdthrough shared referenceLike with many other file descriptors, concurrent use of signalfds is safe.
Changing the signal mask of and reading signals from a signalfd can now be
done
with the
SignalFdAPI even if other references to it exist.(#2367)
Changed tee, splice and vmsplice RawFd arguments to AsFd.
(#2387)
Added I/O safety to the sys/aio module. Most functions that previously
accepted a
AsRawFdargument now accept anAsFdinstead.(#2401)
RecvMsg::cmsgs()now returns aResult, and checks that cmsgs were nottruncated. (#2413)
Fixed
fanotifyqueue overflows.(#2399)
reflect the used kernel's one.
(#2406)
[0.28.0] - 2024-02-24
Added
Added
mkdtempwrapper (#1297)Add associated constants
UTIME_OMITUTIME_NOWforTimeSpec(#1879)
Added
EventFdtype. (#1945)impl From<Signal> for SigSet.impl std::ops::BitOr for SigSet.impl std::ops::BitOr for Signal.impl std::ops::BitOr<Signal> for SigSet(#1959)
Added
TlsGetRecordTypecontrol message type and corresponding enum forlinux (#2065)
Added
Ipv6HopLimitto::nix::sys::socket::ControlMessagefor Linux,MacOS, FreeBSD, DragonflyBSD, Android, iOS and Haiku.
(#2074)
Added
IcmpandIcmpV6toSockProtocol(#2103)
Added rfork support for FreeBSD in
unistd(#2121)
Added
MapFlags::map_hugetlb_with_size_log2method for Linux targets(#2125)
Added
mmap_anonymousfunction(#2127)
Added
mips32r6andmips64r6support for signal, ioctl and ptrace(#2138)
Added
F_GETPATHFcntlFlags entry on Apple/NetBSD/DragonflyBSD for::nix::fcntl. (#2142)Added
F_KINFOFcntlFlags entry on FreeBSD for::nix::fcntl.(#2152)
Added
F_GETPATH_NOFIRMLINKandF_BARRIERFSYNCFcntlFlags entryon Apple for
::nix::fcntl.(#2155)
Added newtype
Flockto automatically unlock a held flock upon drop.Added
Flockabletrait to represent valid types forFlock.(#2170)
Added
SetSockOptimpls to enable Linux Kernel TLS on a TCP socket and toimport TLS parameters. (#2175)
::nix::sys::socket::SocketTimestampenum for configuring theTsClock(a.k.aSO_TS_CLOCK) sockoptScmRealtimeandScmMonotonicas new options in::nix::sys::socket::ControlMessageOwned(#2187)
Added new fanotify API: wrappers for
fanotify_initandfanotify_mark(#2194)
Added
SpecialCharacterindicessupport for haiku.(#2195)
Added
sys::sendfilesupport for solaris/illumos.(#2198)
impl Display for InterfaceFlags
(#2206)
Added
sendfilevin sys::sendfile for solarish(#2207)
Added
fctrl::SealFlag::F_SEAL_FUTURE_WRITE(#2213)
Added
Ipv6MulticastHopsas socket option to set and read.(#2234)
Enable
ControlMessageOwned::Ipv4RecvIfandControlMessageOwned::Ipv4RecvDstAddrfor DragonFlyBSD(#2240)
ClockId::set_time()andtime::clock_settime()are now enabled on macOS(#2241)
Added
IpBindAddressNoPortsockopt to supportIP_BIND_ADDRESS_NO_PORTavailable on linux. (#2244)
Enable
MapFlags::map_hugetlb_with_size_log2method for Android/Fuchsia(#2245)
Added
TcpFastOpenConnectsockopt to supportTCP_FASTOPEN_CONNECTavailable on linux. (#2247)
Add
reboot(2)for OpenBSD/NetBSD(#2251)
Added new
MemFdCreateFlagconstants tosys::memfdon Linux and Androidrelated to hugetlbfs support.
(#2252)
Expose the inner fd of
Kqueuethrough:(#2258)
Added
sys::eventfdsupport on FreeBSD(#2259)
Added
MmapFlags::MAP_FIXEDconstant insys::mmanfor netbsd and openbsd(#2260)
Added the
SO_LISTENQLIMITsockopt.(#2263)
Enable the
AT_EMPTY_PATHflag for thefchownat()function(#2267)
Add
AtFlags::AT_EMPTY_PATHfor FreeBSD and Hurd(#2270)
Enable `OFlag::O_DIRECTORY for Solarish
(#2275)
Added the
Backlogwrapper type for thelistencall.(#2276)
Add
clock_nanosleep()(#2277)Enabled
O_DIRECTinfcntl::OFlagsfor solarish(#2278)
Added a new API sigsuspend.
(#2279)
errno::Errno::setfunctionerrno::Errno::set_rawfunctionerrno::Errno::last_rawfunctionerrno::Errno::from_rawfunction(#2283)
Enable the
AT_EMPTY_PATHflag for thelinkat()function(#2284)
Enable unistd::{sync, syncfs} for Android
(#2296)
Changed
pollnow takesPollTimeoutreplacinglibc::c_int.(#1876)
Deprecated
sys::eventfd::eventfd.(#1945)
mmap,mmap_anonymous,munmap,mremap,madvise,msync,mprotect,munlockandmlockupdated to useNonNull.(#2000)
mmapfunction now acceptsFinstead ofOption<F>(#2127)
PollFd::newnow takes aBorrowedFdargument, with relaxed lifetimerequirements relative to the previous version.
(#2134)
FdSet::{insert, remove, contains}now takeBorrowedFdarguments, and haverelaxed lifetime requirements relative to 0.27.1.
(#2136)
The following APIs now take an implementation of
AsFdrather than aRawFd:unistd::tcgetpgrpunistd::tcsetpgrpunistd::fpathconfunistd::ttynameunistd::getpeereid(#2137)Changed
openat()andDir::openat(), now take optionaldirfds(#2139)
The MSRV is now 1.69 (#2144)
Changed function
SockaddrIn::ip()to returnnet::Ipv4Addrand refactoredSocketAddrV6::ip()to beconst(#2151)
The following APIs now take optional
dirfds:readlinkat()fstatat()mknodat()mkdirat()execveat()(#2157)
Epoll::waitnow takesEpollTimeoutreplacingisize.(#2202)
errno::errno()function (useErrno::last_raw())errno::from_i32()function (useErrno::from_raw())errno::Errno::from_i32()function (useErrno::from_raw())(#2283)
Fixed
SigSetincorrect implementation ofEq,PartialEqandHash(#1946)
::sys::socket::sockopt::IpMulticastTtlby fixing the value of optlenpassed to
libc::setsockoptand added tests.(#2072)
recvmmsg, potentially causing UB(#2119)
SignalFd::set_mask. In 0.27.0 it would actually close the filedescriptor. (#2141)
sun_lenvalue asneeded.
Fixed
sys::socket::addr::from_raw_partsandsys::socket::Sockaddrlike::lenbuild for solaris.(#2242)
(#2248)
dup3wrapper to perform a real call todup3instead ofemulating it via
dup2andfcntlto get rid of race condition(#2268)
::unistd::Group::membersusing read_unaligned to avoid crash onmisaligned pointers (#2311)
Removed
FchownatFlagstype has been deprecated, please useAtFlagsinstead.(#2267)
dup3wrapper on macOS, which was emulated viadup2andfcntland could cause a race condition. Thedup3system call is notsupported on macOS. (#2268)
LinkatFlagstype has been deprecated, please useAtFlagsinstead.(#2284)
[0.27.1] - 2023-08-28
Fixed
(#2111)
[0.27.0] - 2023-08-28
Added
AT_EACCESStoAtFlagson all platforms but android(#1995)
PF_ROUTEtoSockTypeon macOS, iOS, all of the BSDs, Fuchsia, Haiku, Illumos.(#1867)
nix::ucontextmodule onaarch64-unknown-linux-gnu.(#1662)
CanRawtoSockProtocolandCanBcmas a separateSocProtocolconstant.(#1912)
GenericandNFLOGtoSockProtocol.(#2092)
mq_timedreceiveto::nix::mqueue.([#1966])(#1966)
LocalPeerPidtonix::sys::socket::sockoptfor macOS. (#1967)TFD_TIMER_CANCEL_ON_SETto::nix::sys::time::TimerSetTimeFlagson Linux and Android.(#2040)
SOF_TIMESTAMPING_OPT_IDandSOF_TIMESTAMPING_OPT_TSONLYtonix::sys::socket::TimestampingFlag.(#2048)
SO_SETFIBandSO_USER_COOKIEtonix::sys::socket::sockoptfor FreeBSD.(#2085)
SO_RTABLEfor OpenBSD andSO_ACCEPTFILTERfor FreeBSD/NetBSD tonix::sys::socket::sockopt.(#2085)
MSG_WAITFORONEtoMsgFlagson Android, Fuchsia, Linux, NetBSD,FreeBSD, OpenBSD, and Solaris.
(#2014)
SO_TS_CLOCKfor FreeBSD tonix::sys::socket::sockopt.(#2093)
(#1550)
nix::socketandnix::selectare now available on Redox.(#2012)
mqueue::MqdT.(#2097)
kevent_flagsonSigEvent.(#1731)
Changed
All Cargo features have been removed from the default set. Users will need to
specify which features they depend on in their Cargo.toml.
(#2091)
Implemented I/O safety for many, but not all, of Nix's APIs. Many public
functions argument and return types have changed:
(#1906)
Use I/O safety with
copy_file_range, and expose it on FreeBSD.(#1906)
The MSRV is now 1.65
(#1862)
(#2104)
The epoll interface now uses a type.
(#1882)
With I/O-safe type applied in
pty::OpenptyResultandpty::ForkptyResult,users no longer need to manually close the file descriptors in these types.
(#1921)
Refactored
nameparameter ofmq_openandmq_unlinkto be generic overNixPath.(#2102).
Made
cloneunsafe, likefork.(#1993)
Removed
sys::event::{kevent, kevent_ts}are deprecated in favor ofsys::kevent::Kqueue::kevent, andsys::event::kqueueis deprecated infavor of
sys::kevent::Kqueue::new.(#1943)
(#1855)
(#1861)
nix::sys::signalfd::signalfdis deprecated. Usenix::sys::signalfd::SignalFdinstead.(#1938)
SigEventsupport on Fuchsia, where it was unsound.(#2079)
flockfrom::nix::fcntlon Solaris.(#2082)
[0.26.3] - 2023-08-27
Fixed
ETH_P_ALLin htons format(#1925)
recvmsgnow sets the length of the receivedsockaddr_unfieldcorrectly on Linux platforms. (#2041)
SockaddrIn::from<std::net::SocketAddrV4>,SockaddrIn6::from<std::net::SockaddrV6>,IpMembershipRequest::new, andIpv6MembershipRequest::newwith future Rust versions.(#2061)
recvmsg.(#2095)
[0.26.2] - 2023-01-18
Fixed
SockaddrIn6bug that was swappingflowinfoandscope_idbyteordering.
(#1964)
[0.26.1] - 2022-11-29
Fixed
sys::socket::sockopt::SockTypeusingSOCK_PACKET.(#1821)
[0.26.0] - 2022-11-29
Added
SockaddrStorage::{as_unix_addr, as_unix_addr_mut}(#1871)
MntFlagsandunmounton all of the BSDs.any()andall()topoll::PollFd.(#1877)
MntFlagsandunmounton all of the BSDs.(#1849)
Statfs::flagsmethod.(#1849)
NSFS_MAGICFsType on Linux and Android.(#1829)
sched_getcpuon platforms that support it.(#1825)
sched_getaffinityandsched_setaffinityon FreeBSD.(#1804)
line_disciplinefield toTermioson Linux, Android and Haiku(#1805)
(#1808)
domainnamefield ofUtsNameon Android and Linux(#1817)
RLIM_INFINITYfromlibc(#1831)
syncfs(2)on Linux(#1833)
faccessat(2)on illumos(#1841)
eaccess()on FreeBSD, DragonFly and Linux (glibc and musl).(#1842)
IP_TOSSO_PRIORITYandIPV6_TCLASSsockopts for Linux(#1853)
new_unnamedandis_unnamedforUnixAddron Linux and Android.(#1857)
SockProtocol::Rawfor raw sockets(#1848)
IP_MTU(IpMtu)IPPROTO_IPsockopt on Linux and Android.(#1865)
Changed
(#1792)
addrargument ofsys::mman::mmapis now of typeOption<NonZeroUsize>.(#1870)
lengthargument ofsys::mman::mmapis now of typeNonZeroUsize.(#1873)
Fixed
SockaddrStorageto store a Unix-domain socket address on Linux.(#1871)
TimeSpec.(#1801)
User::from_nameandGroup::from_namepanickingwhen given a name containing a nul.
(#1815)
User::from_uidandUser::from_namecrash on Android platform.(#1824)
getifaddrsto misbehave.(#1788)
Removed
(#1860)
[0.25.0] - 2022-08-13
Added
faccessat(#1780)
memfdon Android.(#1773)
ETH_P_ALLtoSockProtocolenum(#1768)
SysconfVarvariants(#1761)
TimeSpecandTimeVal(#1760)
chflags.(#1758)
aio_writevandaio_readv.(#1713)
From<uid_t>forUidandFrom<gid_t>forGid(#1727)
From<SockaddrIn>forstd::net::SocketAddrV4andimpl
From<SockaddrIn6>forstd::net::SocketAddrV6.(#1711)
x86_64-unknown-haikutarget.(#1703)
ptrace::read_userandptrace::write_userfor Linux.(#1697)
getrusageand helper typesUsageWhoandUsage(#1747)
DontRouteSockOpt(#1752)
signal::SigSet::from_sigset_t_unchecked().(#1741)
Ipv4OrigDstAddrsockopt and control message.(#1772)
Ipv6OrigDstAddrsockopt and control message.(#1772)
Ipv4SendSrcAddrcontrol message.(#1776)
Changed
Reimplemented sendmmsg/recvmmsg to avoid allocations and with better API
(#1744)
Rewrote the aio module. The new module:
Boxan aio operation.priorityarguments toi32.aio_returntousize.(#1713)
nix::poll::ppoll:sigmaskparameter is now optional.(#1739)
Changed
gethostnameto return an ownedOsString.(#1745)
signal:SigSetis now marked asrepr(transparent).(#1741)
Removed
lio_listiooperations.It was too complicated, and didn't fit Nix's theme of zero-cost abstractions.
Instead, it can be reimplemented downstream.
(#1713)
[0.24.2] - 2022-07-17
Fixed
nix::sys::socket::recvfrom.(#1763)
SockaddrStorage::{as_link_addr, as_link_addr_mut}for Linux-likeoperating systems.
(#1729)
SockaddrLike::from_rawimplementations forVsockAddrandSysControlAddr.(#1736)
[0.24.1] - 2022-04-22
Fixed
UnixAddr::sizeon Linux-based OSes.(#1702)
[0.24.0] - 2022-04-21
Added
conditionally enabled. By default, all features are enabled.
(#1611)
target_os = "android"and synced constants with libc v0.2.121.
(#1690)
fexecveon DragonFly.(#1577)
sys::uio::IoVecis nowSendandSync(#1582)
EPOLLEXCLUSIVEon Android.(#1567)
fdatasyncfor FreeBSD, Fuchsia, NetBSD, and OpenBSD.(#1581)
sched_setaffinityandsched_getaffinityon DragonFly.(#1537)
posix_fallocateon DragonFly.(#1621)
SO_TIMESTAMPINGsupport(#1547)
MqAttrstruct(#1619)
TxTimesockopt and control message.(#1564)
(#1622)
sendfileon DragonFly.(#1615)
UMOUNT_NOFOLLOW,FUSE_SUPER_MAGICon Linux.(#1634)
getresuid,setresuid,getresgid, andsetresgidon DragonFly, FreeBSD, and OpenBSD.(#1628)
MAP_FIXED_NOREPLACEon Linux.(#1636)
fspacectlon FreeBSD(#1640)
accept4on DragonFly, Emscripten, Fuchsia, Illumos, and NetBSD.(#1654)
AsRawFdimplementation onOwningIter.(#1563)
process_vm_readvandprocess_vm_writevon Android.(#1557)
nix::ucontextmodule on s390x.(#1662)
Extend,FromIterator, andIntoIteratorforSigSetandadded
SigSet::iterandSigSetIter.(#1553)
ENOTRECOVERABLEandEOWNERDEADerror codes on DragonFly.(#1665)
ReadandWritefor&PtyMaster(#1664)
MSG_NOSIGNALfor Android, Dragonfly, FreeBSD, Fuchsia, Haiku, Illumos, Linux, NetBSD, OpenBSD and Solaris.(#1670)
waitid.(#1584)
Ipv6DontFragfor android, iOS, linux and macOS.IpDontFragfor iOS, macOS.(#1692)
Changed
mqueuefunctions now operate on a distinct type,nix::mqueue::MqdT.Accessors take this type by reference, not by value.
(#1639)
SigSet::extendin favor of<SigSet as Extend<Signal>>::extend.Because of this change, you now need
use std::iter::Extendto callextendon a
SigSet.(#1553)
PATH_MAXrestriction from APIs accepting paths. Pathswill now be allocated on the heap if they are too long. In addition, large
instruction count improvements (~30x) were made to path handling.
(#1656)
getrlimitandsetrlimitto userlim_tdirectlyinstead of
Option<rlim_t>.(#1668)
InetAddrandSockAddrin favor ofSockaddrIn,SockaddrIn6,and
SockaddrStorage.(#1684)
IpAddr,Ipv4Addr, andIpv6Addrin favor of their equivalentsfrom the standard library.
(#1685)
unamenow returns aResult<UtsName>instead of just aUtsNameandignoring failures from libc. And getters on the
UtsNamestruct now returnan
&OsStrinstead of&str.(#1672)
IoVecwithIoSliceandIoSliceMut, and replacedIoVec::from_slicewithIoSlice::new. (#1643)Fixed
InetAddr::from_stdnow sets thesin_len/sin6_lenfields on the BSDs.(#1642)
LinkAddr::addr. That function now returns anOption.(#1675)
(#1677)
Removed
NetlinkAddr,AlgAddr,SysControlAddr,LinkAddr, andVsockAddr.(#1614)
EventFlag::EV_SYSFLAG.(#1635)
[0.23.1] - 2021-12-16
Changed
#1492. From now on, the MSRV is not guaranteed to work with all versions of
all dependencies, just with some version of all dependencies.
(#1607)
Fixed
FdSet::insert,FdSet::remove, andFdSet::containsinvolving file descriptors outside of the range0..FD_SETSIZE.(#1575)
[0.23.0] - 2021-09-28
Added
LocalPeerCredsockopt.(#1482)
TimeSpec::from_durationandTimeSpec::from_timespec(#1465)
IPV6_V6ONLYsockopt.(#1470)
impl From<User> for libc::passwdtrait implementation to convert aUserinto a
libc::passwd. Consumes theUserstruct to give ownership overthe member pointers.
(#1471)
pthread_kill.(#1472)
mknodat.(#1473)
setrlimitandgetrlimit.(#1302)
ptrace::interruptmethod for platforms that supportPTRACE_INTERRUPT(#1422)
IP6T_SO_ORIGINAL_DSTsockopt.(#1490)
PTRACE_EVENT_STOPvariant to thesys::ptrace::Eventenum(#1335)
SockAddr::from_raw_sockaddr(#1447)
TcpRepair(#1503)
pwritevandpreadvfor more operating systems.(#1511)
TCP_MAXSEGTCP Maximum Segment Size socket options(#1292)
Ipv4RecvErrandIpv6RecvErrsockopts and associated control messages.(#1514)
AsRawFdimplementation onPollFd.(#1516)
Ipv4TtlandIpv6Ttlsockopts.(#1515)
MAP_EXCL,MAP_ALIGNED_SUPER, andMAP_CONCEALmmap flags, andexposed
MAP_ANONYMOUSfor all operating systems.(#1522)
(#1525)
(#1531)
(#1534)
PollFd.(#1517)
Changed
FdSet::{contains, highest, fds}no longer require a mutable reference.(#1464)
User::gecosand correspondinglibc::passwd::pw_gecosare supported on64-bit Android, change conditional compilation to include the field in
64-bit Android builds
(#1471)
eventfds are supported on Android, change conditional compilation toinclude
sys::eventfd::eventfdandsys::eventfd::EfdFlagsfor Androidbuilds.
(#1481)
Errno, are now marked as#[non_exhaustive].(#1474)
const.(#1476)
(#1492)
sys::event::KEvent::filternow returns aResultinstead of beinginfalliable. The only cases where it will now return an error are cases
where it previously would've had undefined behavior.
(#1484)
(#1492)
UnixAddrto encapsulate internals better in order to fix soundnessissues. No longer allows creating a
UnixAddrfrom a rawsockaddr_un.(#1496)
(#1492)
Fixed
posix_fadvisenow returns errors in the conventional way, rather than as anon-zero value in
Ok().(#1538)
Nix 0.21.0.
(#1467)
Signal::try_fromon some platforms.(#1484)
unistd::getgrouplist.(#1545)
Removed
supported.
(#1483)
nix::sys::signal::NSIG. It was of dubious utility, and not correctfor all platforms.
(#1484)
Rustc and Xcode.
(#1492)
SockAddr/InetAddr::to_strin favor ofToString::to_string(#1495)
SigevNotifyon OpenBSD and Redox.(#1511)
[0.22.3] - 22 January 2022
Changed
#1492. From now on, the MSRV is not guaranteed to work with all versions of
all dependencies, just with some version of all dependencies.
(#1607)
[0.22.2] - 28 September 2021
Fixed
unistd::getgrouplist.(#1545)
Nix 0.21.0.
(#1467)
[0.22.1] - 13 August 2021
Fixed
Removed
supported.
(#1483)
[0.22.0] - 9 July 2021
Added
if_nameindex(#1445)nmountfor FreeBSD.(#1453)
IpFreebindsocket option (sockopt) on Linux, Fuchsia and Android.(#1456)
TcpUserTimeoutsocket option (sockopt) on Linux and Fuchsia.(#1457)
renameat2for Linux(#1458)
RxqOvflsupport on Linux, Fuchsia and Android.(#1455)
Changed
ptsname_rnow returns a lossily-converted string in the event of bad UTF,just like
ptsname.(#1446)
means it is now
Into<std::io::Error>. It's alsoClone,Copy,Eq, andhas a small fixed size. It also requires less typing. For example, the old
enum variant
nix::Error::Sys(nix::errno::Errno::EINVAL)is now simplynix::Error::EINVAL.(#1446)
[0.21.2] - 29 September 2021
Fixed
unistd::getgrouplist.(#1545)
[0.21.1] - 13 August 2021
Fixed
Removed
supported.
(#1483)
[0.21.0] - 31 May 2021
Added
getresuidandgetresgid(#1430)
(#1402)
sendfile64(#1439)MS_LAZYTIMEtoMsFlags(#1437)
Changed
forkptyunsafe, likefork(#1390)
Uid,GidandPidmethodsfrom_rawandas_rawaconst fn(#1429)
Uid::is_rootaconst fn(#1429)
AioCbis now always pinned. Once alibc::aiocbgets sent to the kernel,its address in memory must not change. Nix now enforces that by using
std::pin. Most users won't need to change anything, except when usingaio_suspend. See that method's documentation for the new usage.(#1440)
LioCbis now constructed using a distinct `LioCbBuConfiguration
📅 Schedule: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.