All Versions
29
Latest Version
Avg Release Cycle
102 days
Latest Release
783 days ago

Changelog History
Page 2

  • v0.17.0 Changes

    February 04, 2020

    โž• Added

    • โž• Add CLK_TCK to SysconfVar (#1177) ### ๐Ÿ”„ Changed ### ๐Ÿ›  Fixed ### โœ‚ Removed
    • โœ‚ Removed deprecated Error::description from error types (#1175)
  • v0.16.1 Changes

    December 23, 2019

    โž• Added

    ๐Ÿ”„ Changed

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed the build for OpenBSD (#1168)

    โœ‚ Removed

  • v0.16.0 Changes

    December 02, 2019

    โž• Added

    • โž• Added ptrace::seize(): similar to attach() on Linux but with better-defined semantics. (#1154)

    • โž• Added Signal::as_str(): returns signal name as &'static str (#1138)

    • โž• Added posix_fallocate. (#1105)

    • 0๏ธโƒฃ Implemented Default for FdSet (#1107)

    • โž• Added NixPath::is_empty. (#1107)

    • โž• Added mkfifoat (#1133)

    • Added User::from_uid, User::from_name, User::from_gid and Group::from_name, (#1139)

    • โž• Added linkat (#1101)

    • โž• Added sched_getaffinity. (#1148)

    • โž• Added optional Signal argument to ptrace::{detach, syscall} for signal injection. (#1083)

    ๐Ÿ”„ Changed

    • sys::termios::BaudRate now implements TryFrom<speed_t> instead of From<speed_t>. The old From implementation would panic on failure. (#1159)

    • sys::socket::ControlMessage::ScmCredentials and sys::socket::ControlMessageOwned::ScmCredentials now wrap UnixCredentials rather than libc::ucred. (#1160)

    • sys::socket::recvmsg now takes a plain Vec instead of a CmsgBuffer implementor. If you were already using cmsg_space!, then you needn't worry. (#1156)

    • sys::socket::recvfrom now returns Result<(usize, Option<SockAddr>)> instead of Result<(usize, SockAddr)>. (#1145)

    • Signal::from_c_int has been replaced by Signal::try_from (#1113)

    • ๐Ÿ”„ Changed readlink and readlinkat to return OsString (#1109)

      # use nix::fcntl::{readlink, readlinkat};
      // the buffer argument of `readlink` and `readlinkat` has been removed,
      // and the return value is now an owned type (`OsString`).
      // Existing code can be updated by removing the buffer argument
      // and removing any clone or similar operation on the output
    
      // old code `readlink(&path, &mut buf)` can be replaced with the following
      let _: OsString = readlink(&path);
    
      // old code `readlinkat(dirfd, &path, &mut buf)` can be replaced with the following
      let _: OsString = readlinkat(dirfd, &path);
    
    • ๐Ÿ‘ Minimum supported Rust version is now 1.36.0. (#1108)

    • Ipv4Addr::octets, Ipv4Addr::to_std, Error::as_errno, ForkResult::is_child, ForkResult::is_parent, Gid::as_raw, Uid::is_root, Uid::as_raw, Pid::as_raw, and PollFd::revents now take self by value. (#1107)

    • Type &CString for parameters of exec(v|ve|vp|vpe|veat) are changed to &CStr. (#1121)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix length of abstract socket addresses (#1120)

    • ๐Ÿ›  Fix initialization of msghdr in recvmsg/sendmsg when built with musl (#1136)

    โœ‚ Removed

    • โœ‚ Remove the deprecated CmsgSpace. (#1156)
  • v0.15.0 Changes

    August 10, 2019

    โž• Added

    • โž• Added MSG_WAITALL to MsgFlags in sys::socket. (#1079)
    • ๐Ÿ‘ฏ Implemented Clone, Copy, Debug, Eq, Hash, and PartialEq for most types that support them. (#1035)
    • Added copy_file_range wrapper (#1069)
    • โž• Add mkdirat. (#1084)
    • โž• Add posix_fadvise. (#1089)
    • โž• Added AF_VSOCK to AddressFamily. (#1091)
    • โž• Add unlinkat (#1058)
    • โž• Add renameat. (#1097)

    ๐Ÿ”„ Changed

    • ๐Ÿ‘Œ Support for ifaddrs now present when building for Android. (#1077)
    • ๐Ÿ‘ Minimum supported Rust version is now 1.31.0 (#1035) (#1095)
    • Now functions statfs() and fstatfs() return result with Statfs wrapper (#928)

    ๐Ÿ›  Fixed

    • Enabled sched_yield for all nix hosts. (#1090)

    โœ‚ Removed

  • v0.14.1 Changes

    June 07, 2019

    โž• Added

    • Macros exported by nix may now be imported via use on the Rust 2018 edition without importing helper macros on Linux targets. (#1066)

    For example, in Rust 2018, the ioctl_read_bad! macro can now be imported without importing the convert_ioctl_res! macro.

      use nix::ioctl_read_bad;
    
      ioctl_read_bad!(tcgets, libc::TCGETS, libc::termios);
    

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Changed some public types from reexports of libc types like uint32_t to the native equivalents like u32. (#1072)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix the build on Android and Linux/mips with recent versions of libc. (#1072)

    โœ‚ Removed

  • v0.14.0 Changes

    May 22, 2019

    โž• Added

    • Add IP_RECVIF & IP_RECVDSTADDR. Enable IP_PKTINFO and IP6_PKTINFO on netbsd/openbsd. (#1002)
    • Added inotify_init1, inotify_add_watch and inotify_rm_watch wrappers for Android and Linux. (#1016)
    • Add ALG_SET_IV, ALG_SET_OP and ALG_SET_AEAD_ASSOCLEN control messages and AF_ALG socket types on Linux and Android (#1031)
    • โž• Add killpg (#1034)
    • โž• Added ENOTSUP errno support for Linux and Android. (#969)
    • โž• Add several errno constants from OpenBSD 6.2 (#1036)
    • Added from_std and to_std methods for sys::socket::IpAddr (#1043)
    • โž• Added nix::unistd:seteuid and nix::unistd::setegid for those platforms that do not support setresuid nor setresgid respectively. (#1044)
    • โž• Added a access wrapper (#1045)
    • โž• Add forkpty (#1042)
    • โž• Add sched_yield (#1050)

    ๐Ÿ”„ Changed

    • PollFd event flags renamed to PollFlags (#1024)
    • recvmsg now returns an Iterator over ControlMessageOwned objects rather than ControlMessage objects. This is sadly not backwards-compatible. Fix code like this: rust if let ControlMessage::ScmRights(&fds) = cmsg {

    By replacing it with code like this:

      if let ControlMessageOwned::ScmRights(fds) = cmsg {
    

    (#1020)

    • Replaced CmsgSpace with the cmsg_space macro. (#1020)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed multiple bugs when using sendmsg and recvmsg with ancillary control messages (#1020)
    • Macros exported by nix may now be imported via use on the Rust 2018 edition without importing helper macros for BSD targets. (#1041)

    For example, in Rust 2018, the ioctl_read_bad! macro can now be imported without importing the convert_ioctl_res! macro.

      use nix::ioctl_read_bad;
    
      ioctl_read_bad!(tcgets, libc::TCGETS, libc::termios);
    

    โœ‚ Removed

    • Daemon, NOTE_REAP, and NOTE_EXIT_REPARENTED are now deprecated on OSX and iOS. (#1033)
    • PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, and PTRACE_SETFPREGS have been removed from some platforms where they never should've been defined in the first place. (#1055)
  • v0.13.1

    June 10, 2019
  • v0.13.0 Changes

    January 15, 2019

    โž• Added

    • โž• Added PKTINFO(V4) & V6PKTINFO cmsg support - Android/FreeBSD/iOS/Linux/MacOS. (#990)
    • โž• Added support of CString type in setsockopt. (#972)
    • โž• Added option TCP_CONGESTION in setsockopt. (#972)
    • โž• Added symlinkat wrapper. (#997)
    • โž• Added ptrace::{getregs, setregs}. (#1010)
    • โž• Added nix::sys::signal::signal. (#817)
    • โž• Added an mprotect wrapper. (#991)

    ๐Ÿ”„ Changed

    ๐Ÿ›  Fixed

    • lutimes never worked on OpenBSD as it is not implemented on OpenBSD. It has been removed. (#1000)
    • fexecve never worked on NetBSD or on OpenBSD as it is not implemented on either OS. It has been removed. (#1000)

    โœ‚ Removed

  • v0.12.1

    June 08, 2019
  • v0.12.0 Changes

    November 28, 2018

    โž• Added

    • โž• Added FromStr and Display impls for nix::sys::Signal (#884)
    • โž• Added a sync wrapper. (#961)
    • โž• Added a sysinfo wrapper. (#922)
    • ๐Ÿ‘Œ Support the SO_PEERCRED socket option and the UnixCredentials type on all Linux and Android targets. (#921)
    • โž• Added support for SCM_CREDENTIALS, allowing to send process credentials over Unix sockets. (#923)
    • โž• Added a dir module for reading directories (wraps fdopendir, readdir, and rewinddir). (#916)
    • โž• Added kmod module that allows loading and unloading kernel modules on Linux. (#930)
    • โž• Added futimens and utimesat wrappers (#944), an lutimes wrapper (#967), and a utimes wrapper (#946).
    • โž• Added AF_UNSPEC wrapper to AddressFamily (#948)
    • โž• Added the mode_t public alias within sys::stat. (#954)
    • โž• Added a truncate wrapper. (#956)
    • โž• Added a fchownat wrapper. (#955)
    • โž• Added support for ptrace on BSD operating systems (#949)
    • โž• Added ptrace functions for reads and writes to tracee memory and ptrace kill (#949) (#958)
    • โž• Added a acct wrapper module for enabling and disabling process accounting (#952)
    • Added the time_t and suseconds_t public aliases within sys::time. (#968)
    • โž• Added unistd::execvpe for Haiku, Linux and OpenBSD (#975)
    • โž• Added Error::as_errno. (#977)

    ๐Ÿ”„ Changed

    • Increased required Rust version to 1.24.1 (#900) (#966)

    ๐Ÿ›  Fixed

    • Made preadv take immutable slice of IoVec. (#914)
    • ๐Ÿ›  Fixed passing multiple file descriptors over Unix Sockets. (#918)

    โœ‚ Removed