nix-rust/nix
### [`v0.24.1`](https://togithub.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0241---2022-04-22)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.24.0...v0.24.1)
##### Added
##### Changed
##### Fixed
- Fixed `UnixAddr::size` on Linux-based OSes.
(#[1702](https://togithub.com/nix-rust/nix/pull/1702))
##### Removed
### [`v0.24.0`](https://togithub.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0240---2022-04-21)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.23.1...v0.24.0)
##### Added
- Added fine-grained features flags. Most Nix functionality can now be
conditionally enabled. By default, all features are enabled.
(#[1611](https://togithub.com/nix-rust/nix/pull/1611))
- Added statfs FS type magic constants for `target_os = "android"`
and synced constants with libc v0.2.121.
(#[1690](https://togithub.com/nix-rust/nix/pull/1690))
- Added `fexecve` on DragonFly.
(#[1577](https://togithub.com/nix-rust/nix/pull/1577))
- `sys::uio::IoVec` is now `Send` and `Sync`
(#[1582](https://togithub.com/nix-rust/nix/pull/1582))
- Added `EPOLLEXCLUSIVE` on Android.
(#[1567](https://togithub.com/nix-rust/nix/pull/1567))
- Added `fdatasync` for FreeBSD, Fuchsia, NetBSD, and OpenBSD.
(#[1581](https://togithub.com/nix-rust/nix/pull/1581))
- Added `sched_setaffinity` and `sched_getaffinity` on DragonFly.
(#[1537](https://togithub.com/nix-rust/nix/pull/1537))
- Added `posix_fallocate` on DragonFly.
(#[1621](https://togithub.com/nix-rust/nix/pull/1621))
- Added `SO_TIMESTAMPING` support
(#[1547](https://togithub.com/nix-rust/nix/pull/1547))
- Added getter methods to `MqAttr` struct
(#[1619](https://togithub.com/nix-rust/nix/pull/1619))
- Added the `TxTime` sockopt and control message.
(#[1564](https://togithub.com/nix-rust/nix/pull/1564))
- Added POSIX per-process timer support
(#[1622](https://togithub.com/nix-rust/nix/pull/1622))
- Added `sendfile` on DragonFly.
(#[1615](https://togithub.com/nix-rust/nix/pull/1615))
- Added `UMOUNT_NOFOLLOW`, `FUSE_SUPER_MAGIC` on Linux.
(#[1634](https://togithub.com/nix-rust/nix/pull/1634))
- Added `getresuid`, `setresuid`, `getresgid`, and `setresgid` on DragonFly, FreeBSD, and OpenBSD.
(#[1628](https://togithub.com/nix-rust/nix/pull/1628))
- Added `MAP_FIXED_NOREPLACE` on Linux.
(#[1636](https://togithub.com/nix-rust/nix/pull/1636))
- Added `fspacectl` on FreeBSD
(#[1640](https://togithub.com/nix-rust/nix/pull/1640))
- Added `accept4` on DragonFly, Emscripten, Fuchsia, Illumos, and NetBSD.
(#[1654](https://togithub.com/nix-rust/nix/pull/1654))
- Added `AsRawFd` implementation on `OwningIter`.
(#[1563](https://togithub.com/nix-rust/nix/pull/1563))
- Added `process_vm_readv` and `process_vm_writev` on Android.
(#[1557](https://togithub.com/nix-rust/nix/pull/1557))
- Added `nix::uncontext` module on s390x.
(#[1662](https://togithub.com/nix-rust/nix/pull/1662))
- Implemented `Extend`, `FromIterator`, and `IntoIterator` for `SigSet` and
added `SigSet::iter` and `SigSetIter`.
(#[1553](https://togithub.com/nix-rust/nix/pull/1553))
- Added `ENOTRECOVERABLE` and `EOWNERDEAD` error codes on DragonFly.
(#[1665](https://togithub.com/nix-rust/nix/pull/1665))
- Implemented `Read` and `Write` for `&PtyMaster`
(#[1664](https://togithub.com/nix-rust/nix/pull/1664))
- Added `MSG_NOSIGNAL` for Android, Dragonfly, FreeBSD, Fuchsia, Haiku, Illumos, Linux, NetBSD, OpenBSD and Solaris.
(#[1670](https://togithub.com/nix-rust/nix/pull/1670))
- Added `waitid`.
(#[1584](https://togithub.com/nix-rust/nix/pull/1584))
- Added `Ipv6DontFrag` for android, iOS, linux and macOS.
- Added `IpDontFrag` for iOS, macOS.
(#[1692](https://togithub.com/nix-rust/nix/pull/1692))
##### Changed
- `mqueue` functions now operate on a distinct type, `nix::mqueue::MqdT`.
Accessors take this type by reference, not by value.
(#[1639](https://togithub.com/nix-rust/nix/pull/1639))
- Removed `SigSet::extend` in favor of `>::extend`.
Because of this change, you now need `use std::iter::Extend` to call `extend`
on a `SigSet`.
(#[1553](https://togithub.com/nix-rust/nix/pull/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](https://togithub.com/nix-rust/nix/pull/1656))
- Changed `getrlimit` and `setrlimit` to use `rlim_t` directly
instead of `Option`.
(#[1668](https://togithub.com/nix-rust/nix/pull/1668))
- Deprecated `InetAddr` and `SockAddr` in favor of `SockaddrIn`, `SockaddrIn6`,
and `SockaddrStorage`.
(#[1684](https://togithub.com/nix-rust/nix/pull/1684))
- Deprecated `IpAddr`, `Ipv4Addr`, and `Ipv6Addr` in favor of their equivalents
from the standard library.
(#[1685](https://togithub.com/nix-rust/nix/pull/1685))
- `uname` now returns a `Result` instead of just a `UtsName` and
ignoring failures from libc. And getters on the `UtsName` struct now return
an `&OsStr` instead of `&str`.
(#[1672](https://togithub.com/nix-rust/nix/pull/1672))
- Replaced `IoVec` with `IoSlice` and `IoSliceMut`, and replaced `IoVec::from_slice` with
`IoSlice::new`. (#[1643](https://togithub.com/nix-rust/nix/pull/1643))
##### Fixed
- `InetAddr::from_std` now sets the `sin_len`/`sin6_len` fields on the BSDs.
(#[1642](https://togithub.com/nix-rust/nix/pull/1642))
- Fixed a panic in `LinkAddr::addr`. That function now returns an `Option`.
(#[1675](https://togithub.com/nix-rust/nix/pull/1675))
(#[1677](https://togithub.com/nix-rust/nix/pull/1677))
##### Removed
- Removed public access to the inner fields of `NetlinkAddr`, `AlgAddr`,
`SysControlAddr`, `LinkAddr`, and `VsockAddr`.
(#[1614](https://togithub.com/nix-rust/nix/pull/1614))
- Removed `EventFlag::EV_SYSFLAG`.
(#[1635](https://togithub.com/nix-rust/nix/pull/1635))
### [`v0.23.1`](https://togithub.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0231---2021-12-16)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.23.0...v0.23.1)
##### Added
##### Changed
- Relaxed the bitflags requirement from 1.3.1 to 1.1. This partially reverts
[#1492](https://togithub.com/nix-rust/nix/issues/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](https://togithub.com/nix-rust/nix/pull/1607))
##### Fixed
- Fixed soundness issues in `FdSet::insert`, `FdSet::remove`, and
`FdSet::contains` involving file descriptors outside of the range
`0..FD_SETSIZE`.
(#[1575](https://togithub.com/nix-rust/nix/pull/1575))
### [`v0.23.0`](https://togithub.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0230---2021-09-28)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.22.3...v0.23.0)
##### Added
- Added the `LocalPeerCred` sockopt.
(#[1482](https://togithub.com/nix-rust/nix/pull/1482))
- Added `TimeSpec::from_duration` and `TimeSpec::from_timespec`
(#[1465](https://togithub.com/nix-rust/nix/pull/1465))
- Added `IPV6_V6ONLY` sockopt.
(#[1470](https://togithub.com/nix-rust/nix/pull/1470))
- Added `impl From for libc::passwd` trait implementation to convert a `User`
into a `libc::passwd`. Consumes the `User` struct to give ownership over
the member pointers.
(#[1471](https://togithub.com/nix-rust/nix/pull/1471))
- Added `pthread_kill`.
(#[1472](https://togithub.com/nix-rust/nix/pull/1472))
- Added `mknodat`.
(#[1473](https://togithub.com/nix-rust/nix/pull/1473))
- Added `setrlimit` and `getrlimit`.
(#[1302](https://togithub.com/nix-rust/nix/pull/1302))
- Added `ptrace::interrupt` method for platforms that support `PTRACE_INTERRUPT`
(#[1422](https://togithub.com/nix-rust/nix/pull/1422))
- Added `IP6T_SO_ORIGINAL_DST` sockopt.
(#[1490](https://togithub.com/nix-rust/nix/pull/1490))
- Added the `PTRACE_EVENT_STOP` variant to the `sys::ptrace::Event` enum
(#[1335](https://togithub.com/nix-rust/nix/pull/1335))
- Exposed `SockAddr::from_raw_sockaddr`
(#[1447](https://togithub.com/nix-rust/nix/pull/1447))
- Added `TcpRepair`
(#[1503](https://togithub.com/nix-rust/nix/pull/1503))
- Enabled `pwritev` and `preadv` for more operating systems.
(#[1511](https://togithub.com/nix-rust/nix/pull/1511))
- Added support for `TCP_MAXSEG` TCP Maximum Segment Size socket options
(#[1292](https://togithub.com/nix-rust/nix/pull/1292))
- Added `Ipv4RecvErr` and `Ipv6RecvErr` sockopts and associated control messages.
(#[1514](https://togithub.com/nix-rust/nix/pull/1514))
- Added `AsRawFd` implementation on `PollFd`.
(#[1516](https://togithub.com/nix-rust/nix/pull/1516))
- Added `Ipv4Ttl` and `Ipv6Ttl` sockopts.
(#[1515](https://togithub.com/nix-rust/nix/pull/1515))
- Added `MAP_EXCL`, `MAP_ALIGNED_SUPER`, and `MAP_CONCEAL` mmap flags, and
exposed `MAP_ANONYMOUS` for all operating systems.
(#[1522](https://togithub.com/nix-rust/nix/pull/1522))
(#[1525](https://togithub.com/nix-rust/nix/pull/1525))
(#[1531](https://togithub.com/nix-rust/nix/pull/1531))
(#[1534](https://togithub.com/nix-rust/nix/pull/1534))
- Added read/write accessors for 'events' on `PollFd`.
(#[1517](https://togithub.com/nix-rust/nix/pull/1517))
##### Changed
- `FdSet::{contains, highest, fds}` no longer require a mutable reference.
(#[1464](https://togithub.com/nix-rust/nix/pull/1464))
- `User::gecos` and corresponding `libc::passwd::pw_gecos` are supported on
64-bit Android, change conditional compilation to include the field in
64-bit Android builds
(#[1471](https://togithub.com/nix-rust/nix/pull/1471))
- `eventfd`s are supported on Android, change conditional compilation to
include `sys::eventfd::eventfd` and `sys::eventfd::EfdFlags`for Android
builds.
(#[1481](https://togithub.com/nix-rust/nix/pull/1481))
- Most enums that come from C, for example `Errno`, are now marked as
`#[non_exhaustive]`.
(#[1474](https://togithub.com/nix-rust/nix/pull/1474))
- Many more functions, mostly contructors, are now `const`.
(#[1476](https://togithub.com/nix-rust/nix/pull/1476))
(#[1492](https://togithub.com/nix-rust/nix/pull/1492))
- `sys::event::KEvent::filter` now returns a `Result` instead of being
infalliable. The only cases where it will now return an error are cases
where it previously would've had undefined behavior.
(#[1484](https://togithub.com/nix-rust/nix/pull/1484))
- Minimum supported Rust version is now 1.46.0.
([#1492](https://togithub.com/nix-rust/nix/pull/1492))
- Rework `UnixAddr` to encapsulate internals better in order to fix soundness
issues. No longer allows creating a `UnixAddr` from a raw `sockaddr_un`.
([#1496](https://togithub.com/nix-rust/nix/pull/1496))
- Raised bitflags to 1.3.0 and the MSRV to 1.46.0.
([#1492](https://togithub.com/nix-rust/nix/pull/1492))
##### Fixed
- `posix_fadvise` now returns errors in the conventional way, rather than as a
non-zero value in `Ok()`.
(#[1538](https://togithub.com/nix-rust/nix/pull/1538))
- Added more errno definitions for better backwards compatibility with
Nix 0.21.0.
(#[1467](https://togithub.com/nix-rust/nix/pull/1467))
- Fixed potential undefined behavior in `Signal::try_from` on some platforms.
(#[1484](https://togithub.com/nix-rust/nix/pull/1484))
- Fixed buffer overflow in `unistd::getgrouplist`.
(#[1545](https://togithub.com/nix-rust/nix/pull/1545))
##### Removed
- Removed a couple of termios constants on redox that were never actually
supported.
(#[1483](https://togithub.com/nix-rust/nix/pull/1483))
- Removed `nix::sys::signal::NSIG`. It was of dubious utility, and not correct
for all platforms.
(#[1484](https://togithub.com/nix-rust/nix/pull/1484))
- Removed support for 32-bit Apple targets, since they've been dropped by both
Rustc and Xcode.
(#[1492](https://togithub.com/nix-rust/nix/pull/1492))
- Deprecated `SockAddr/InetAddr::to_str` in favor of `ToString::to_string`
(#[1495](https://togithub.com/nix-rust/nix/pull/1495))
- Removed `SigevNotify` on OpenBSD and Redox.
(#[1511](https://togithub.com/nix-rust/nix/pull/1511))
### [`v0.22.3`](https://togithub.com/nix-rust/nix/compare/v0.22.2...v0.22.3)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.22.2...v0.22.3)
### [`v0.22.2`](https://togithub.com/nix-rust/nix/compare/v0.22.1...v0.22.2)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.22.1...v0.22.2)
### [`v0.22.1`](https://togithub.com/nix-rust/nix/compare/v0.22.0...v0.22.1)
[Compare Source](https://togithub.com/nix-rust/nix/compare/v0.22.0...v0.22.1)
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.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.22.0
->0.24.1
Release Notes
nix-rust/nix
### [`v0.24.1`](https://togithub.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0241---2022-04-22) [Compare Source](https://togithub.com/nix-rust/nix/compare/v0.24.0...v0.24.1) ##### Added ##### Changed ##### Fixed - Fixed `UnixAddr::size` on Linux-based OSes. (#[1702](https://togithub.com/nix-rust/nix/pull/1702)) ##### Removed ### [`v0.24.0`](https://togithub.com/nix-rust/nix/blob/HEAD/CHANGELOG.md#0240---2022-04-21) [Compare Source](https://togithub.com/nix-rust/nix/compare/v0.23.1...v0.24.0) ##### Added - Added fine-grained features flags. Most Nix functionality can now be conditionally enabled. By default, all features are enabled. (#[1611](https://togithub.com/nix-rust/nix/pull/1611)) - Added statfs FS type magic constants for `target_os = "android"` and synced constants with libc v0.2.121. (#[1690](https://togithub.com/nix-rust/nix/pull/1690)) - Added `fexecve` on DragonFly. (#[1577](https://togithub.com/nix-rust/nix/pull/1577)) - `sys::uio::IoVec` is now `Send` and `Sync` (#[1582](https://togithub.com/nix-rust/nix/pull/1582)) - Added `EPOLLEXCLUSIVE` on Android. (#[1567](https://togithub.com/nix-rust/nix/pull/1567)) - Added `fdatasync` for FreeBSD, Fuchsia, NetBSD, and OpenBSD. (#[1581](https://togithub.com/nix-rust/nix/pull/1581)) - Added `sched_setaffinity` and `sched_getaffinity` on DragonFly. (#[1537](https://togithub.com/nix-rust/nix/pull/1537)) - Added `posix_fallocate` on DragonFly. (#[1621](https://togithub.com/nix-rust/nix/pull/1621)) - Added `SO_TIMESTAMPING` support (#[1547](https://togithub.com/nix-rust/nix/pull/1547)) - Added getter methods to `MqAttr` struct (#[1619](https://togithub.com/nix-rust/nix/pull/1619)) - Added the `TxTime` sockopt and control message. (#[1564](https://togithub.com/nix-rust/nix/pull/1564)) - Added POSIX per-process timer support (#[1622](https://togithub.com/nix-rust/nix/pull/1622)) - Added `sendfile` on DragonFly. (#[1615](https://togithub.com/nix-rust/nix/pull/1615)) - Added `UMOUNT_NOFOLLOW`, `FUSE_SUPER_MAGIC` on Linux. (#[1634](https://togithub.com/nix-rust/nix/pull/1634)) - Added `getresuid`, `setresuid`, `getresgid`, and `setresgid` on DragonFly, FreeBSD, and OpenBSD. (#[1628](https://togithub.com/nix-rust/nix/pull/1628)) - Added `MAP_FIXED_NOREPLACE` on Linux. (#[1636](https://togithub.com/nix-rust/nix/pull/1636)) - Added `fspacectl` on FreeBSD (#[1640](https://togithub.com/nix-rust/nix/pull/1640)) - Added `accept4` on DragonFly, Emscripten, Fuchsia, Illumos, and NetBSD. (#[1654](https://togithub.com/nix-rust/nix/pull/1654)) - Added `AsRawFd` implementation on `OwningIter`. (#[1563](https://togithub.com/nix-rust/nix/pull/1563)) - Added `process_vm_readv` and `process_vm_writev` on Android. (#[1557](https://togithub.com/nix-rust/nix/pull/1557)) - Added `nix::uncontext` module on s390x. (#[1662](https://togithub.com/nix-rust/nix/pull/1662)) - Implemented `Extend`, `FromIterator`, and `IntoIterator` for `SigSet` and added `SigSet::iter` and `SigSetIter`. (#[1553](https://togithub.com/nix-rust/nix/pull/1553)) - Added `ENOTRECOVERABLE` and `EOWNERDEAD` error codes on DragonFly. (#[1665](https://togithub.com/nix-rust/nix/pull/1665)) - Implemented `Read` and `Write` for `&PtyMaster` (#[1664](https://togithub.com/nix-rust/nix/pull/1664)) - Added `MSG_NOSIGNAL` for Android, Dragonfly, FreeBSD, Fuchsia, Haiku, Illumos, Linux, NetBSD, OpenBSD and Solaris. (#[1670](https://togithub.com/nix-rust/nix/pull/1670)) - Added `waitid`. (#[1584](https://togithub.com/nix-rust/nix/pull/1584)) - Added `Ipv6DontFrag` for android, iOS, linux and macOS. - Added `IpDontFrag` for iOS, macOS. (#[1692](https://togithub.com/nix-rust/nix/pull/1692)) ##### Changed - `mqueue` functions now operate on a distinct type, `nix::mqueue::MqdT`. Accessors take this type by reference, not by value. (#[1639](https://togithub.com/nix-rust/nix/pull/1639)) - Removed `SigSet::extend` in favor of `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 has been generated by Mend Renovate. View repository job log here.