diff --git a/CHANGELOG.md b/CHANGELOG.md index 37e4ab2d4c..b673cac562 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,98 @@ This project adheres to [Semantic Versioning](https://semver.org/). # Change Log +## [0.29.0] - 2024-05-24 + + +### Added + +- Add `getregset()/setregset()` for Linux/glibc/x86/x86_64/aarch64/riscv64 and + `getregs()/setregs()` for Linux/glibc/aarch64/riscv64 + ([#2044](https://github.com/nix-rust/nix/pull/2044)) +- Add socket option Ipv6Ttl for apple targets. + ([#2287](https://github.com/nix-rust/nix/pull/2287)) +- Add socket option UtunIfname. + ([#2325](https://github.com/nix-rust/nix/pull/2325)) +- make SigAction repr(transparent) & can be converted to the libc raw type + ([#2326](https://github.com/nix-rust/nix/pull/2326)) +- Add `From` trait implementation for conversions between `sockaddr_in` and + `SockaddrIn`, `sockaddr_in6` and `SockaddrIn6` + ([#2328](https://github.com/nix-rust/nix/pull/2328)) +- Add socket option ReusePortLb for FreeBSD. + ([#2332](https://github.com/nix-rust/nix/pull/2332)) +- Added support for openat2 on linux. + ([#2339](https://github.com/nix-rust/nix/pull/2339)) +- Add if_indextoname function. + ([#2340](https://github.com/nix-rust/nix/pull/2340)) +- Add `mount` and `unmount` API for apple targets. + ([#2347](https://github.com/nix-rust/nix/pull/2347)) +- Added `_PC_MIN_HOLE_SIZE` for `pathconf` and `fpathconf`. + ([#2349](https://github.com/nix-rust/nix/pull/2349)) +- Added `impl AsFd for pty::PtyMaster` + ([#2355](https://github.com/nix-rust/nix/pull/2355)) +- Add `open` flag `O_SEARCH` to AIX, Empscripten, FreeBSD, Fuchsia, solarish, + WASI ([#2374](https://github.com/nix-rust/nix/pull/2374)) +- Add prctl function `prctl_set_vma_anon_name` for Linux/Android. + ([#2378](https://github.com/nix-rust/nix/pull/2378)) +- Add `sync(2)` for `apple_targets/solarish/haiku/aix/hurd`, `syncfs(2)` for + `hurd` and `fdatasync(2)` for `aix/hurd` + ([#2379](https://github.com/nix-rust/nix/pull/2379)) +- Add fdatasync support for Apple targets. + ([#2380](https://github.com/nix-rust/nix/pull/2380)) +- Add `fcntl::OFlag::O_PATH` for FreeBSD and Fuchsia + ([#2382](https://github.com/nix-rust/nix/pull/2382)) +- Added `PathconfVar::MIN_HOLE_SIZE` for apple_targets. + ([#2388](https://github.com/nix-rust/nix/pull/2388)) +- Add `open` flag `O_SEARCH` to apple_targets + ([#2391](https://github.com/nix-rust/nix/pull/2391)) +- `O_DSYNC` may now be used with `aio_fsync` and `fcntl` on FreeBSD. + ([#2404](https://github.com/nix-rust/nix/pull/2404)) +- Added `Flock::relock` for upgrading and downgrading locks. + ([#2407](https://github.com/nix-rust/nix/pull/2407)) + +### Changed + +- Change the `ForkptyResult` type to the following repr so that the + uninitialized + `master` field won't be accessed in the child process: + + ```rs + pub enum ForkptyResult { + Parent { + child: Pid, + master: OwnedFd, + }, + Child, + } + ``` ([#2315](https://github.com/nix-rust/nix/pull/2315)) +- Updated `cfg_aliases` dependency from version 0.1 to 0.2 + ([#2322](https://github.com/nix-rust/nix/pull/2322)) +- Change the signature of `ptrace::write` and `ptrace::write_user` to make them + safe ([#2324](https://github.com/nix-rust/nix/pull/2324)) +- Allow use of `SignalFd` through shared reference + + Like 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](https://github.com/nix-rust/nix/pull/2367)) +- Changed tee, splice and vmsplice RawFd arguments to AsFd. + ([#2387](https://github.com/nix-rust/nix/pull/2387)) +- Added I/O safety to the sys/aio module. Most functions that previously + accepted a `AsRawFd` argument now accept an `AsFd` instead. + ([#2401](https://github.com/nix-rust/nix/pull/2401)) +- `RecvMsg::cmsgs()` now returns a `Result`, and checks that cmsgs were not + truncated. ([#2413](https://github.com/nix-rust/nix/pull/2413)) + +### Fixed + +- No longer panics when the `fanotify` queue overflows. + ([#2399](https://github.com/nix-rust/nix/pull/2399)) +- Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to + reflect the used kernel's one. + ([#2406](https://github.com/nix-rust/nix/pull/2406)) + + ## [0.28.0] - 2024-02-24 diff --git a/Cargo.toml b/Cargo.toml index de561291b1..edf9973a13 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "nix" description = "Rust friendly bindings to *nix APIs" edition = "2021" -version = "0.28.0" +version = "0.29.0" rust-version = "1.69" authors = ["The nix-rust Project Developers"] repository = "https://github.com/nix-rust/nix" diff --git a/changelog/2044.added.md b/changelog/2044.added.md deleted file mode 100644 index 95f79a755d..0000000000 --- a/changelog/2044.added.md +++ /dev/null @@ -1,2 +0,0 @@ -Add `getregset()/setregset()` for Linux/glibc/x86/x86_64/aarch64/riscv64 and -`getregs()/setregs()` for Linux/glibc/aarch64/riscv64 diff --git a/changelog/2287.added.md b/changelog/2287.added.md deleted file mode 100644 index a42a65bcf4..0000000000 --- a/changelog/2287.added.md +++ /dev/null @@ -1 +0,0 @@ -Add socket option Ipv6Ttl for apple targets. diff --git a/changelog/2315.changed.md b/changelog/2315.changed.md deleted file mode 100644 index bf437876d6..0000000000 --- a/changelog/2315.changed.md +++ /dev/null @@ -1,12 +0,0 @@ -Change the `ForkptyResult` type to the following repr so that the uninitialized -`master` field won't be accessed in the child process: - -```rs -pub enum ForkptyResult { - Parent { - child: Pid, - master: OwnedFd, - }, - Child, -} -``` diff --git a/changelog/2322.changed.md b/changelog/2322.changed.md deleted file mode 100644 index e84e912885..0000000000 --- a/changelog/2322.changed.md +++ /dev/null @@ -1 +0,0 @@ -Updated `cfg_aliases` dependency from version 0.1 to 0.2 diff --git a/changelog/2324.changed.md b/changelog/2324.changed.md deleted file mode 100644 index aca724850c..0000000000 --- a/changelog/2324.changed.md +++ /dev/null @@ -1 +0,0 @@ -Change the signature of `ptrace::write` and `ptrace::write_user` to make them safe \ No newline at end of file diff --git a/changelog/2325.added.md b/changelog/2325.added.md deleted file mode 100644 index 94dd68b00a..0000000000 --- a/changelog/2325.added.md +++ /dev/null @@ -1 +0,0 @@ -Add socket option UtunIfname. diff --git a/changelog/2326.added.md b/changelog/2326.added.md deleted file mode 100644 index fef5ebe721..0000000000 --- a/changelog/2326.added.md +++ /dev/null @@ -1 +0,0 @@ -make SigAction repr(transparent) & can be converted to the libc raw type diff --git a/changelog/2328.added.md b/changelog/2328.added.md deleted file mode 100644 index 2e3f440f50..0000000000 --- a/changelog/2328.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `From` trait implementation for conversions between `sockaddr_in` and `SockaddrIn`, `sockaddr_in6` and `SockaddrIn6` diff --git a/changelog/2332.added.md b/changelog/2332.added.md deleted file mode 100644 index 3080e89cc0..0000000000 --- a/changelog/2332.added.md +++ /dev/null @@ -1 +0,0 @@ -Add socket option ReusePortLb for FreeBSD. diff --git a/changelog/2339.added.md b/changelog/2339.added.md deleted file mode 100644 index 0f80767d84..0000000000 --- a/changelog/2339.added.md +++ /dev/null @@ -1 +0,0 @@ -Added support for openat2 on linux. diff --git a/changelog/2340.added.md b/changelog/2340.added.md deleted file mode 100644 index 9d120d4879..0000000000 --- a/changelog/2340.added.md +++ /dev/null @@ -1 +0,0 @@ -Add if_indextoname function. diff --git a/changelog/2347.added.md b/changelog/2347.added.md deleted file mode 100644 index 9000d61deb..0000000000 --- a/changelog/2347.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `mount` and `unmount` API for apple targets. diff --git a/changelog/2349.added.md b/changelog/2349.added.md deleted file mode 100644 index 277ded2c98..0000000000 --- a/changelog/2349.added.md +++ /dev/null @@ -1 +0,0 @@ -Added `_PC_MIN_HOLE_SIZE` for `pathconf` and `fpathconf`. diff --git a/changelog/2355.added.md b/changelog/2355.added.md deleted file mode 100644 index 663590262c..0000000000 --- a/changelog/2355.added.md +++ /dev/null @@ -1 +0,0 @@ -Added `impl AsFd for pty::PtyMaster` diff --git a/changelog/2367.changed.md b/changelog/2367.changed.md deleted file mode 100644 index b467681600..0000000000 --- a/changelog/2367.changed.md +++ /dev/null @@ -1,5 +0,0 @@ -Allow use of `SignalFd` through shared reference - -Like 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. diff --git a/changelog/2374.added.md b/changelog/2374.added.md deleted file mode 100644 index ed0ed25675..0000000000 --- a/changelog/2374.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `open` flag `O_SEARCH` to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI diff --git a/changelog/2378.added.md b/changelog/2378.added.md deleted file mode 100644 index 21ad0b90f6..0000000000 --- a/changelog/2378.added.md +++ /dev/null @@ -1 +0,0 @@ -Add prctl function `prctl_set_vma_anon_name` for Linux/Android. diff --git a/changelog/2379.added.md b/changelog/2379.added.md deleted file mode 100644 index 325abdc8ff..0000000000 --- a/changelog/2379.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `sync(2)` for `apple_targets/solarish/haiku/aix/hurd`, `syncfs(2)` for `hurd` and `fdatasync(2)` for `aix/hurd` diff --git a/changelog/2380.added.md b/changelog/2380.added.md deleted file mode 100644 index e9445c8500..0000000000 --- a/changelog/2380.added.md +++ /dev/null @@ -1 +0,0 @@ -Add fdatasync support for Apple targets. diff --git a/changelog/2382.added.md b/changelog/2382.added.md deleted file mode 100644 index d9b2274157..0000000000 --- a/changelog/2382.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `fcntl::OFlag::O_PATH` for FreeBSD and Fuchsia diff --git a/changelog/2387.changed.md b/changelog/2387.changed.md deleted file mode 100644 index 28ade908c2..0000000000 --- a/changelog/2387.changed.md +++ /dev/null @@ -1 +0,0 @@ -Changed tee, splice and vmsplice RawFd arguments to AsFd. diff --git a/changelog/2388.added.md b/changelog/2388.added.md deleted file mode 100644 index b70769d4af..0000000000 --- a/changelog/2388.added.md +++ /dev/null @@ -1 +0,0 @@ -Added `PathconfVar::MIN_HOLE_SIZE` for apple_targets. \ No newline at end of file diff --git a/changelog/2391.added.md b/changelog/2391.added.md deleted file mode 100644 index 9989be85fc..0000000000 --- a/changelog/2391.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `open` flag `O_SEARCH` to apple_targets diff --git a/changelog/2399.fixed.md b/changelog/2399.fixed.md deleted file mode 100644 index e6e0fe044a..0000000000 --- a/changelog/2399.fixed.md +++ /dev/null @@ -1 +0,0 @@ -No longer panics when the `fanotify` queue overflows. diff --git a/changelog/2401.changed.md b/changelog/2401.changed.md deleted file mode 100644 index 7eb53e677a..0000000000 --- a/changelog/2401.changed.md +++ /dev/null @@ -1,2 +0,0 @@ -Added I/O safety to the sys/aio module. Most functions that previously -accepted a `AsRawFd` argument now accept an `AsFd` instead. diff --git a/changelog/2404.added.md b/changelog/2404.added.md deleted file mode 100644 index 7f50f5bb01..0000000000 --- a/changelog/2404.added.md +++ /dev/null @@ -1 +0,0 @@ -`O_DSYNC` may now be used with `aio_fsync` and `fcntl` on FreeBSD. diff --git a/changelog/2406.fixed.md b/changelog/2406.fixed.md deleted file mode 100644 index 41bc9c7789..0000000000 --- a/changelog/2406.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to reflect the used kernel's one. diff --git a/changelog/2407.added.md b/changelog/2407.added.md deleted file mode 100644 index 26e2cd2a21..0000000000 --- a/changelog/2407.added.md +++ /dev/null @@ -1 +0,0 @@ -Added `Flock::relock` for upgrading and downgrading locks. diff --git a/changelog/2413.changed.md b/changelog/2413.changed.md deleted file mode 100644 index 7bae72f7d8..0000000000 --- a/changelog/2413.changed.md +++ /dev/null @@ -1 +0,0 @@ -`RecvMsg::cmsgs()` now returns a `Result`, and checks that cmsgs were not truncated.