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.26.2
->0.29.0
Release Notes
nix-rust/nix (nix)
v0.29.0
Compare Source
Added
getregset()/setregset()
for Linux/glibc/x86/x86_64/aarch64/riscv64 andgetregs()/setregs()
for Linux/glibc/aarch64/riscv64(#2044)
(#2287)
(#2325)
(#2326)
From
trait implementation for conversions betweensockaddr_in
andSockaddrIn
,sockaddr_in6
andSockaddrIn6
(#2328)
(#2332)
(#2339)
(#2340)
mount
andunmount
API for apple targets.(#2347)
_PC_MIN_HOLE_SIZE
forpathconf
andfpathconf
.(#2349)
impl AsFd for pty::PtyMaster
(#2355)
open
flagO_SEARCH
to AIX, Empscripten, FreeBSD, Fuchsia, solarish,WASI (#2374)
prctl_set_vma_anon_name
for Linux/Android.(#2378)
sync(2)
forapple_targets/solarish/haiku/aix/hurd
,syncfs(2)
forhurd
andfdatasync(2)
foraix/hurd
(#2379)
(#2380)
fcntl::OFlag::O_PATH
for FreeBSD and Fuchsia(#2382)
PathconfVar::MIN_HOLE_SIZE
for apple_targets.(#2388)
open
flagO_SEARCH
to apple_targets(#2391)
O_DSYNC
may now be used withaio_fsync
andfcntl
on FreeBSD.(#2404)
Flock::relock
for upgrading and downgrading locks.(#2407)
Changed
Change the
ForkptyResult
type to the following repr so that theuninitialized
master
field won't be accessed in the child process:Updated
cfg_aliases
dependency from version 0.1 to 0.2(#2322)
Change the signature of
ptrace::write
andptrace::write_user
to make themsafe (#2324)
Allow use of
SignalFd
through 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
SignalFd
API 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
AsRawFd
argument now accept anAsFd
instead.(#2401)
RecvMsg::cmsgs()
now returns aResult
, and checks that cmsgs were nottruncated. (#2413)
Fixed
fanotify
queue overflows.(#2399)
reflect the used kernel's one.
(#2406)
v0.28.0
Compare Source
Added
Added
mkdtemp
wrapper (#1297)Add associated constants
UTIME_OMIT
UTIME_NOW
forTimeSpec
(#1879)
Added
EventFd
type. (#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
TlsGetRecordType
control message type and corresponding enum forlinux (#2065)
Added
Ipv6HopLimit
to::nix::sys::socket::ControlMessage
for Linux,MacOS, FreeBSD, DragonflyBSD, Android, iOS and Haiku.
(#2074)
Added
Icmp
andIcmpV6
toSockProtocol
(#2103)
Added rfork support for FreeBSD in
unistd
(#2121)
Added
MapFlags::map_hugetlb_with_size_log2
method for Linux targets(#2125)
Added
mmap_anonymous
function(#2127)
Added
mips32r6
andmips64r6
support for signal, ioctl and ptrace(#2138)
Added
F_GETPATH
FcntlFlags entry on Apple/NetBSD/DragonflyBSD for::nix::fcntl
. (#2142)Added
F_KINFO
FcntlFlags entry on FreeBSD for::nix::fcntl
.(#2152)
Added
F_GETPATH_NOFIRMLINK
andF_BARRIERFSYNC
FcntlFlags entryon Apple for
::nix::fcntl
.(#2155)
Added newtype
Flock
to automatically unlock a held flock upon drop.Added
Flockable
trait to represent valid types forFlock
.(#2170)
Added
SetSockOpt
impls to enable Linux Kernel TLS on a TCP socket and toimport TLS parameters. (#2175)
::nix::sys::socket::SocketTimestamp
enum for configuring theTsClock
(a.k.aSO_TS_CLOCK
) sockoptScmRealtime
andScmMonotonic
as new options in::nix::sys::socket::ControlMessageOwned
(#2187)
Added new fanotify API: wrappers for
fanotify_init
andfanotify_mark
(#2194)
Added
SpecialCharacterindices
support for haiku.(#2195)
Added
sys::sendfile
support for solaris/illumos.(#2198)
impl Display for InterfaceFlags
(#2206)
Added
sendfilev
in sys::sendfile for solarish(#2207)
Added
fctrl::SealFlag::F_SEAL_FUTURE_WRITE
(#2213)
Added
Ipv6MulticastHops
as socket option to set and read.(#2234)
Enable
ControlMessageOwned::Ipv4RecvIf
andControlMessageOwned::Ipv4RecvDstAddr
for DragonFlyBSD(#2240)
ClockId::set_time()
andtime::clock_settime()
are now enabled on macOS(#2241)
Added
IpBindAddressNoPort
sockopt to supportIP_BIND_ADDRESS_NO_PORT
available on linux. (#2244)
Enable
MapFlags::map_hugetlb_with_size_log2
method for Android/Fuchsia(#2245)
Added
TcpFastOpenConnect
sockopt to supportTCP_FASTOPEN_CONNECT
available on linux. (#2247)
Add
reboot(2)
for OpenBSD/NetBSD(#2251)
Added new
MemFdCreateFlag
constants tosys::memfd
on Linux and Androidrelated to hugetlbfs support.
(#2252)
Expose the inner fd of
Kqueue
through:(#2258)
Added
sys::eventfd
support on FreeBSD(#2259)
Added
MmapFlags::MAP_FIXED
constant insys::mman
for netbsd and openbsd(#2260)
Added the
SO_LISTENQLIMIT
sockopt.(#2263)
Enable the
AT_EMPTY_PATH
flag for thefchownat()
function(#2267)
Add
AtFlags::AT_EMPTY_PATH
for FreeBSD and Hurd(#2270)
Enable `OFlag::O_DIRECTORY for Solarish
(#2275)
Added the
Backlog
wrapper type for thelisten
call.(#2276)
Add
clock_nanosleep()
(#2277)Enabled
O_DIRECT
infcntl::OFlags
for solarish(#2278)
Added a new API sigsuspend.
(#2279)
errno::Errno::set
functionerrno::Errno::set_raw
functionerrno::Errno::last_raw
functionerrno::Errno::from_raw
function(#2283)
Enable the
AT_EMPTY_PATH
flag for thelinkat()
function(#2284)
Enable unistd::{sync, syncfs} for Android
(#2296)
Changed
poll
now takesPollTimeout
replacinglibc::c_int
.(#1876)
Deprecated
sys::eventfd::eventfd
.(#1945)
mmap
,mmap_anonymous
,munmap
,mremap
,madvise
,msync
,mprotect
,munlock
andmlock
updated to useNonNull
.(#2000)
mmap
function now acceptsF
instead ofOption<F>
(#2127)
PollFd::new
now takes aBorrowedFd
argument, with relaxed lifetimerequirements relative to the previous version.
(#2134)
FdSet::{insert, remove, contains}
now takeBorrowedFd
arguments, and haverelaxed lifetime requirements relative to 0.27.1.
(#2136)
The following APIs now take an implementation of
AsFd
rather than aRawFd
:unistd::tcgetpgrp
unistd::tcsetpgrp
unistd::fpathconf
unistd::ttyname
unistd::getpeereid
(#2137)Changed
openat()
andDir::openat()
, now take optionaldirfd
s(#2139)
The MSRV is now 1.69 (#2144)
Changed function
SockaddrIn::ip()
to returnnet::Ipv4Addr
and refactoredSocketAddrV6::ip()
to beconst
(#2151)
The following APIs now take optional
dirfd
s:readlinkat()
fstatat()
mknodat()
mkdirat()
execveat()
(#2157)
Epoll::wait
now takesEpollTimeout
replacingisize
.(#2202)
errno::errno()
function (useErrno::last_raw()
)errno::from_i32()
function (useErrno::from_raw()
)errno::Errno::from_i32()
function (useErrno::from_raw()
)(#2283)
Fixed
SigSet
incorrect implementation ofEq
,PartialEq
andHash
(#1946)
::sys::socket::sockopt::IpMulticastTtl
by fixing the value of optlenpassed to
libc::setsockopt
and added tests.(#2072)
recvmmsg
, potentially causing UB(#2119)
SignalFd::set_mask
. In 0.27.0 it would actually close the filedescriptor. (#2141)
sun_len
value asneeded.
Fixed
sys::socket::addr::from_raw_parts
andsys::socket::Sockaddrlike::len
build for solaris.(#2242)
(#2248)
dup3
wrapper to perform a real call todup3
instead ofemulating it via
dup2
andfcntl
to get rid of race condition(#2268)
::unistd::Group::members
using read_unaligned to avoid crash onmisaligned pointers (#2311)
Removed
FchownatFlags
type has been deprecated, please useAtFlags
instead.(#2267)
dup3
wrapper on macOS, which was emulated viadup2
andfcntl
and could cause a race condition. Thedup3
system call is notsupported on macOS. (#2268)
LinkatFlags
type has been deprecated, please useAtFlags
instead.(#2284)
v0.27.1
Compare Source
Fixed
(#2111)
v0.27.0
Compare Source
Added
AT_EACCESS
toAtFlags
on all platforms but android(#1995)
PF_ROUTE
toSockType
on macOS, iOS, all of the BSDs, Fuchsia, Haiku, Illumos.(#1867)
nix::ucontext
module onaarch64-unknown-linux-gnu
.(#1662)
CanRaw
toSockProtocol
andCanBcm
as a separateSocProtocol
constant.(#1912)
Generic
andNFLOG
toSockProtocol
.(#2092)
mq_timedreceive
to::nix::mqueue
.([#1966])(https://github.com/nix-rust/nix/pull/1966)
LocalPeerPid
tonix::sys::socket::sockopt
for macOS. (#1967)TFD_TIMER_CANCEL_ON_SET
to::nix::sys::time::TimerSetTimeFlags
on Linux and Android.(#2040)
SOF_TIMESTAMPING_OPT_ID
andSOF_TIMESTAMPING_OPT_TSONLY
tonix::sys::socket::TimestampingFlag
.(#2048)
SO_SETFIB
andSO_USER_COOKIE
tonix::sys::socket::sockopt
for FreeBSD.(#2085)
SO_RTABLE
for OpenBSD andSO_ACCEPTFILTER
for FreeBSD/NetBSD tonix::sys::socket::sockopt
.(#2085)
MSG_WAITFORONE
toMsgFlags
on Android, Fuchsia, Linux, NetBSD,FreeBSD, OpenBSD, and Solaris.
(#2014)
SO_TS_CLOCK
for FreeBSD tonix::sys::socket::sockopt
.(#2093)
(#1550)
nix::socket
andnix::select
are now available on Redox.(#2012)
mqueue::MqdT
.(#2097)
kevent_flags
onSigEvent
.(#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::OpenptyResult
andpty::ForkptyResult
,users no longer need to manually close the file descriptors in these types.
(#1921)
Refactored
name
parameter ofmq_open
andmq_unlink
to be generic overNixPath
.(#2102).
Made
clone
unsafe, likefork
.(#1993)
Removed
sys::event::{kevent, kevent_ts}
are deprecated in favor ofsys::kevent::Kqueue::kevent
, andsys::event::kqueue
is deprecated infavor of
sys::kevent::Kqueue::new
.(#1943)
(#1855)
(#1861)
nix::sys::signalfd::signalfd
is deprecated. Usenix::sys::signalfd::SignalFd
instead.(#1938)
SigEvent
support on Fuchsia, where it was unsound.(#2079)
flock
from::nix::fcntl
on Solaris.(#2082)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.