# Change Log All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Changed - `pipe2` now calls `libc::pipe2` where available. Previously it was emulated using `pipe`, which meant that setting `O_CLOEXEC` was not atomic. ## [0.7.0] 2016-09-09 ### Added - Added `lseek` and `lseek64` in `::nix::unistd` ([#377](https://github.com/nix-rust/nix/pull/377)) - Added `mkdir` and `getcwd` in `::nix::unistd` ([#416](https://github.com/nix-rust/nix/pull/416)) - Added accessors `sigmask_mut` and `sigmask` to `UContext` in `::nix::ucontext`. ([#370](https://github.com/nix-rust/nix/pull/370)) - Added `WUNTRACED` to `WaitPidFlag` in `::nix::sys::wait` for non-_linux_ targets. ([#379](https://github.com/nix-rust/nix/pull/379)) - Added new module `::nix::sys::reboot` with enumeration `RebootMode` and functions `reboot` and `set_cad_enabled`. Currently for _linux_ only. ([#386](https://github.com/nix-rust/nix/pull/386)) - `FdSet` in `::nix::sys::select` now also implements `Clone`. ([#405](https://github.com/nix-rust/nix/pull/405)) - Added `F_FULLFSYNC` to `FcntlArg` in `::nix::fcntl` for _apple_ targets. ([#407](https://github.com/nix-rust/nix/pull/407)) - Added `CpuSet::unset` in `::nix::sched`. ([#402](https://github.com/nix-rust/nix/pull/402)) - Added constructor method `new()` to `PollFd` in `::nix::poll`, in order to allow creation of objects, after removing public access to members. ([#399](https://github.com/nix-rust/nix/pull/399)) - Added method `revents()` to `PollFd` in `::nix::poll`, in order to provide read access to formerly public member `revents`. ([#399](https://github.com/nix-rust/nix/pull/399)) - Added `MSG_CMSG_CLOEXEC` to `MsgFlags` in `::nix::sys::socket` for _linux_ only. ([#422](https://github.com/nix-rust/nix/pull/422)) ### Changed - Replaced the reexported integer constants for signals by the enumeration `Signal` in `::nix::sys::signal`. ([#362](https://github.com/nix-rust/nix/pull/362)) - Renamed `EventFdFlag` to `EfdFlags` in `::nix::sys::eventfd`. ([#383](https://github.com/nix-rust/nix/pull/383)) - Changed the result types of `CpuSet::is_set` and `CpuSet::set` in `::nix::sched` to `Result` and `Result<()>`, respectively. They now return `EINVAL`, if an invalid argument for the `field` parameter is passed. ([#402](https://github.com/nix-rust/nix/pull/402)) - `MqAttr` in `::nix::mqueue` is now an opaque proxy for `::libc::mq_attr`, which has the same structure as the old `MqAttr`. The field `mq_flags` of `::libc::mq_attr` is readable using the new method `flags()` of `MqAttr`. `MqAttr` also no longer implements `Debug`. ([#0](https://github.com/nix-rust/nix/pull/0)) - The parameter `msq_prio` of `mq_receive` with type `u32` in `::nix::mqueue` was replaced by a parameter named `msg_prio` with type `&mut u32`, so that the message priority can be obtained by the caller. ([#0](https://github.com/nix-rust/nix/pull/0)) - The type alias `MQd` in `::nix::queue` was replaced by the type alias `libc::mqd_t`, both of which are aliases for the same type. ([#0](https://github.com/nix-rust/nix/pull/0)) ### Removed - Type alias `SigNum` from `::nix::sys::signal`. ([#362](https://github.com/nix-rust/nix/pull/362)) - Type alias `CpuMask` from `::nix::shed`. ([#402](https://github.com/nix-rust/nix/pull/402)) - Removed public fields from `PollFd` in `::nix::poll`. (See also added method `revents()`. ([#399](https://github.com/nix-rust/nix/pull/399)) ### Fixed - Fixed the build problem for NetBSD (Note, that we currently do not support it, so it might already be broken again). ([#389](https://github.com/nix-rust/nix/pull/389)) - Fixed the build on FreeBSD, and fixed the getsockopt, sendmsg, and recvmsg functions on that same OS. ([#397](https://github.com/nix-rust/nix/pull/397)) ## [0.6.0] 2016-06-10 ### Added - Added `gettid` in `::nix::unistd` for _linux_ and _android_. ([#293](https://github.com/nix-rust/nix/pull/293)) - Some _mips_ support in `::nix::sched` and `::nix::sys::syscall`. ([#301](https://github.com/nix-rust/nix/pull/301)) - Added `SIGNALFD_SIGINFO_SIZE` in `::nix::sys::signalfd`. ([#309](https://github.com/nix-rust/nix/pull/309)) - Added new module `::nix::ucontext` with struct `UContext`. Currently for _linux_ only. ([#311](https://github.com/nix-rust/nix/pull/311)) - Added `EPOLLEXCLUSIVE` to `EpollEventKind` in `::nix::sys::epoll`. ([#330](https://github.com/nix-rust/nix/pull/330)) - Added `pause` to `::nix::unistd`. ([#336](https://github.com/nix-rust/nix/pull/336)) - Added `sleep` to `::nix::unistd`. ([#351](https://github.com/nix-rust/nix/pull/351)) - Added `S_IFDIR`, `S_IFLNK`, `S_IFMT` to `SFlag` in `::nix::sys::stat`. ([#359](https://github.com/nix-rust/nix/pull/359)) - Added `clear` and `extend` functions to `SigSet`'s implementation in `::nix::sys::signal`. ([#347](https://github.com/nix-rust/nix/pull/347)) - `sockaddr_storage_to_addr` in `::nix::sys::socket` now supports `sockaddr_nl` on _linux_ and _android_. ([#366](https://github.com/nix-rust/nix/pull/366)) - Added support for `SO_ORIGINAL_DST` in `::nix::sys::socket` on _linux_. ([#367](https://github.com/nix-rust/nix/pull/367)) - Added `SIGINFO` in `::nix::sys::signal` for the _macos_ target as well as `SIGPWR` and `SIGSTKFLT` in `::nix::sys::signal` for non-_macos_ targets. ([#361](https://github.com/nix-rust/nix/pull/361)) ### Changed - Changed the structure `IoVec` in `::nix::sys::uio`. ([#304](https://github.com/nix-rust/nix/pull/304)) - Replaced `CREATE_NEW_FD` by `SIGNALFD_NEW` in `::nix::sys::signalfd`. ([#309](https://github.com/nix-rust/nix/pull/309)) - Renamed `SaFlag` to `SaFlags` and `SigFlag` to `SigFlags` in `::nix::sys::signal`. ([#314](https://github.com/nix-rust/nix/pull/314)) - Renamed `Fork` to `ForkResult` and changed its fields in `::nix::unistd`. ([#332](https://github.com/nix-rust/nix/pull/332)) - Added the `signal` parameter to `clone`'s signature in `::nix::sched`. ([#344](https://github.com/nix-rust/nix/pull/344)) - `execv`, `execve`, and `execvp` now return `Result` instead of `Result<()>` in `::nix::unistd`. ([#357](https://github.com/nix-rust/nix/pull/357)) ### Fixed - Improved the conversion from `std::net::SocketAddr` to `InetAddr` in `::nix::sys::socket::addr`. ([#335](https://github.com/nix-rust/nix/pull/335)) ## [0.5.0] 2016-03-01