Lines Matching +full:rust +full:- +full:timerfd
6 ## [0.26.4] - 2023-08-28
10 - Fixed an unintended API change in release 0.26.3, due to the upgrade of the
12 ([#2117](https://github.com/nix-rust/nix/pull/2117))
14 ## [0.26.3] - 2023-08-27
17 - Fix: send `ETH_P_ALL` in htons format
18 ([#1925](https://github.com/nix-rust/nix/pull/1925))
19 - Fix: `recvmsg` now sets the length of the received `sockaddr_un` field
20 correctly on Linux platforms. ([#2041](https://github.com/nix-rust/nix/pull/2041))
21 - Fix potentially invalid conversions in
24 `Ipv6MembershipRequest::new` with future Rust versions.
25 ([#2061](https://github.com/nix-rust/nix/pull/2061))
26 - Fixed an incorrect lifetime returned from `recvmsg`.
27 ([#2095](https://github.com/nix-rust/nix/pull/2095))
29 ## [0.26.2] - 2023-01-18
31 - Fix `SockaddrIn6` bug that was swapping flowinfo and scope_id byte ordering.
32 ([#1964](https://github.com/nix-rust/nix/pull/1964))
34 ## [0.26.1] - 2022-11-29
36 - Fix UB with `sys::socket::sockopt::SockType` using `SOCK_PACKET`.
37 ([#1821](https://github.com/nix-rust/nix/pull/1821))
39 ## [0.26.0] - 2022-11-29
42 - Added `SockaddrStorage::{as_unix_addr, as_unix_addr_mut}`
43 ([#1871](https://github.com/nix-rust/nix/pull/1871))
44 - Added `MntFlags` and `unmount` on all of the BSDs.
45 - Added `any()` and `all()` to `poll::PollFd`.
46 ([#1877](https://github.com/nix-rust/nix/pull/1877))
47 - Add `MntFlags` and `unmount` on all of the BSDs.
48 ([#1849](https://github.com/nix-rust/nix/pull/1849))
49 - Added a `Statfs::flags` method.
50 ([#1849](https://github.com/nix-rust/nix/pull/1849))
51 - Added `NSFS_MAGIC` FsType on Linux and Android.
52 ([#1829](https://github.com/nix-rust/nix/pull/1829))
53 - Added `sched_getcpu` on platforms that support it.
54 ([#1825](https://github.com/nix-rust/nix/pull/1825))
55 - Added `sched_getaffinity` and `sched_setaffinity` on FreeBSD.
56 ([#1804](https://github.com/nix-rust/nix/pull/1804))
57 - Added `line_discipline` field to `Termios` on Linux, Android and Haiku
58 ([#1805](https://github.com/nix-rust/nix/pull/1805))
59 - Expose the memfd module on FreeBSD (memfd was added in FreeBSD 13)
60 ([#1808](https://github.com/nix-rust/nix/pull/1808))
61 - Added `domainname` field of `UtsName` on Android and Linux
62 ([#1817](https://github.com/nix-rust/nix/pull/1817))
63 - Re-export `RLIM_INFINITY` from `libc`
64 ([#1831](https://github.com/nix-rust/nix/pull/1831))
65 - Added `syncfs(2)` on Linux
66 ([#1833](https://github.com/nix-rust/nix/pull/1833))
67 - Added `faccessat(2)` on illumos
68 ([#1841](https://github.com/nix-rust/nix/pull/1841))
69 - Added `eaccess()` on FreeBSD, DragonFly and Linux (glibc and musl).
70 ([#1842](https://github.com/nix-rust/nix/pull/1842))
71 - Added `IP_TOS` `SO_PRIORITY` and `IPV6_TCLASS` sockopts for Linux
72 ([#1853](https://github.com/nix-rust/nix/pull/1853))
73 - Added `new_unnamed` and `is_unnamed` for `UnixAddr` on Linux and Android.
74 ([#1857](https://github.com/nix-rust/nix/pull/1857))
75 - Added `SockProtocol::Raw` for raw sockets
76 ([#1848](https://github.com/nix-rust/nix/pull/1848))
77 - added `IP_MTU` (`IpMtu`) `IPPROTO_IP` sockopt on Linux and Android.
78 ([#1865](https://github.com/nix-rust/nix/pull/1865))
82 - The MSRV is now 1.56.1
83 ([#1792](https://github.com/nix-rust/nix/pull/1792))
84 - The `addr` argument of `sys::mman::mmap` is now of type `Option<NonZeroUsize>`.
85 ([#1870](https://github.com/nix-rust/nix/pull/1870))
86 - The `length` argument of `sys::mman::mmap` is now of type `NonZeroUsize`.
87 ([#1873](https://github.com/nix-rust/nix/pull/1873))
91 - Fixed using `SockaddrStorage` to store a Unix-domain socket address on Linux.
92 ([#1871](https://github.com/nix-rust/nix/pull/1871))
93 - Fix microsecond calculation for `TimeSpec`.
94 ([#1801](https://github.com/nix-rust/nix/pull/1801))
95 - Fix `User::from_name` and `Group::from_name` panicking
97 ([#1815](https://github.com/nix-rust/nix/pull/1815))
98 - Fix `User::from_uid` and `User::from_name` crash on Android platform.
99 ([#1824](https://github.com/nix-rust/nix/pull/1824))
100 - Workaround XNU bug causing netmasks returned by `getifaddrs` to misbehave.
101 ([#1788](https://github.com/nix-rust/nix/pull/1788))
105 - Removed deprecated error constants and conversions.
106 ([#1860](https://github.com/nix-rust/nix/pull/1860))
108 ## [0.25.0] - 2022-08-13
111 - Added `faccessat`
112 ([#1780](https://github.com/nix-rust/nix/pull/1780))
113 - Added `memfd` on Android.
114 (#[1773](https://github.com/nix-rust/nix/pull/1773))
115 - Added `ETH_P_ALL` to `SockProtocol` enum
116 (#[1768](https://github.com/nix-rust/nix/pull/1768))
117 - Added four non-standard Linux `SysconfVar` variants
118 (#[1761](https://github.com/nix-rust/nix/pull/1761))
119 - Added const constructors for `TimeSpec` and `TimeVal`
120 (#[1760](https://github.com/nix-rust/nix/pull/1760))
121 - Added `chflags`.
122 (#[1758](https://github.com/nix-rust/nix/pull/1758))
123 - Added `aio_writev` and `aio_readv`.
124 (#[1713](https://github.com/nix-rust/nix/pull/1713))
125 - impl `From<uid_t>` for `Uid` and `From<gid_t>` for `Gid`
126 (#[1727](https://github.com/nix-rust/nix/pull/1727))
127 - impl `From<SockaddrIn>` for `std::net::SocketAddrV4` and
129 (#[1711](https://github.com/nix-rust/nix/pull/1711))
130 - Added support for the `x86_64-unknown-haiku` target.
131 (#[1703](https://github.com/nix-rust/nix/pull/1703))
132 - Added `ptrace::read_user` and `ptrace::write_user` for Linux.
133 (#[1697](https://github.com/nix-rust/nix/pull/1697))
134 - Added `getrusage` and helper types `UsageWho` and `Usage`
135 (#[1747](https://github.com/nix-rust/nix/pull/1747))
136 - Added the `DontRoute` SockOpt
137 (#[1752](https://github.com/nix-rust/nix/pull/1752))
138 - Added `signal::SigSet::from_sigset_t_unchecked()`.
139 (#[1741](https://github.com/nix-rust/nix/pull/1741))
140 - Added the `Ipv4OrigDstAddr` sockopt and control message.
141 (#[1772](https://github.com/nix-rust/nix/pull/1772))
142 - Added the `Ipv6OrigDstAddr` sockopt and control message.
143 (#[1772](https://github.com/nix-rust/nix/pull/1772))
144 - Added the `Ipv4SendSrcAddr` control message.
145 (#[1776](https://github.com/nix-rust/nix/pull/1776))
149 - Reimplemented sendmmsg/recvmmsg to avoid allocations and with better API
150 (#[1744](https://github.com/nix-rust/nix/pull/1744))
152 - Rewrote the aio module. The new module:
157 (#[1713](https://github.com/nix-rust/nix/pull/1713))
158 - `nix::poll::ppoll`: `sigmask` parameter is now optional.
159 (#[1739](https://github.com/nix-rust/nix/pull/1739))
160 - Changed `gethostname` to return an owned `OsString`.
161 (#[1745](https://github.com/nix-rust/nix/pull/1745))
162 - `signal:SigSet` is now marked as `repr(transparent)`.
163 (#[1741](https://github.com/nix-rust/nix/pull/1741))
167 - Removed support for resubmitting partially complete `lio_listio` operations.
168 It was too complicated, and didn't fit Nix's theme of zero-cost abstractions.
170 (#[1713](https://github.com/nix-rust/nix/pull/1713))
172 ## [0.24.2] - 2022-07-17
175 - Fixed buffer overflow in `nix::sys::socket::recvfrom`.
176 (#[1763](https://github.com/nix-rust/nix/pull/1763))
177 - Enabled `SockaddrStorage::{as_link_addr, as_link_addr_mut}` for Linux-like
179 (#[1729](https://github.com/nix-rust/nix/pull/1729))
180 - Fixed `SockaddrLike::from_raw` implementations for `VsockAddr` and
182 (#[1736](https://github.com/nix-rust/nix/pull/1736))
184 ## [0.24.1] - 2022-04-22
187 - Fixed `UnixAddr::size` on Linux-based OSes.
188 (#[1702](https://github.com/nix-rust/nix/pull/1702))
190 ## [0.24.0] - 2022-04-21
193 - Added fine-grained features flags. Most Nix functionality can now be
195 (#[1611](https://github.com/nix-rust/nix/pull/1611))
196 - Added statfs FS type magic constants for `target_os = "android"`
198 (#[1690](https://github.com/nix-rust/nix/pull/1690))
199 - Added `fexecve` on DragonFly.
200 (#[1577](https://github.com/nix-rust/nix/pull/1577))
201 - `sys::uio::IoVec` is now `Send` and `Sync`
202 (#[1582](https://github.com/nix-rust/nix/pull/1582))
203 - Added `EPOLLEXCLUSIVE` on Android.
204 (#[1567](https://github.com/nix-rust/nix/pull/1567))
205 - Added `fdatasync` for FreeBSD, Fuchsia, NetBSD, and OpenBSD.
206 (#[1581](https://github.com/nix-rust/nix/pull/1581))
207 - Added `sched_setaffinity` and `sched_getaffinity` on DragonFly.
208 (#[1537](https://github.com/nix-rust/nix/pull/1537))
209 - Added `posix_fallocate` on DragonFly.
210 (#[1621](https://github.com/nix-rust/nix/pull/1621))
211 - Added `SO_TIMESTAMPING` support
212 (#[1547](https://github.com/nix-rust/nix/pull/1547))
213 - Added getter methods to `MqAttr` struct
214 (#[1619](https://github.com/nix-rust/nix/pull/1619))
215 - Added the `TxTime` sockopt and control message.
216 (#[1564](https://github.com/nix-rust/nix/pull/1564))
217 - Added POSIX per-process timer support
218 (#[1622](https://github.com/nix-rust/nix/pull/1622))
219 - Added `sendfile` on DragonFly.
220 (#[1615](https://github.com/nix-rust/nix/pull/1615))
221 - Added `UMOUNT_NOFOLLOW`, `FUSE_SUPER_MAGIC` on Linux.
222 (#[1634](https://github.com/nix-rust/nix/pull/1634))
223 - Added `getresuid`, `setresuid`, `getresgid`, and `setresgid` on DragonFly, FreeBSD, and OpenBSD.
224 (#[1628](https://github.com/nix-rust/nix/pull/1628))
225 - Added `MAP_FIXED_NOREPLACE` on Linux.
226 (#[1636](https://github.com/nix-rust/nix/pull/1636))
227 - Added `fspacectl` on FreeBSD
228 (#[1640](https://github.com/nix-rust/nix/pull/1640))
229 - Added `accept4` on DragonFly, Emscripten, Fuchsia, Illumos, and NetBSD.
230 (#[1654](https://github.com/nix-rust/nix/pull/1654))
231 - Added `AsRawFd` implementation on `OwningIter`.
232 (#[1563](https://github.com/nix-rust/nix/pull/1563))
233 - Added `process_vm_readv` and `process_vm_writev` on Android.
234 (#[1557](https://github.com/nix-rust/nix/pull/1557))
235 - Added `nix::uncontext` module on s390x.
236 (#[1662](https://github.com/nix-rust/nix/pull/1662))
237 - Implemented `Extend`, `FromIterator`, and `IntoIterator` for `SigSet` and
239 (#[1553](https://github.com/nix-rust/nix/pull/1553))
240 - Added `ENOTRECOVERABLE` and `EOWNERDEAD` error codes on DragonFly.
241 (#[1665](https://github.com/nix-rust/nix/pull/1665))
242 - Implemented `Read` and `Write` for `&PtyMaster`
243 (#[1664](https://github.com/nix-rust/nix/pull/1664))
244 - Added `MSG_NOSIGNAL` for Android, Dragonfly, FreeBSD, Fuchsia, Haiku, Illumos, Linux, NetBSD, Ope…
245 (#[1670](https://github.com/nix-rust/nix/pull/1670))
246 - Added `waitid`.
247 (#[1584](https://github.com/nix-rust/nix/pull/1584))
248 - Added `Ipv6DontFrag` for android, iOS, linux and macOS.
249 - Added `IpDontFrag` for iOS, macOS.
250 (#[1692](https://github.com/nix-rust/nix/pull/1692))
254 - `mqueue` functions now operate on a distinct type, `nix::mqueue::MqdT`.
256 (#[1639](https://github.com/nix-rust/nix/pull/1639))
257 - Removed `SigSet::extend` in favor of `<SigSet as Extend<Signal>>::extend`.
260 (#[1553](https://github.com/nix-rust/nix/pull/1553))
261 - Removed the the `PATH_MAX` restriction from APIs accepting paths. Paths
264 (#[1656](https://github.com/nix-rust/nix/pull/1656))
265 - Changed `getrlimit` and `setrlimit` to use `rlim_t` directly
267 (#[1668](https://github.com/nix-rust/nix/pull/1668))
268 - Deprecated `InetAddr` and `SockAddr` in favor of `SockaddrIn`, `SockaddrIn6`,
270 (#[1684](https://github.com/nix-rust/nix/pull/1684))
271 - Deprecated `IpAddr`, `Ipv4Addr`, and `Ipv6Addr` in favor of their equivalents
273 (#[1685](https://github.com/nix-rust/nix/pull/1685))
274 - `uname` now returns a `Result<UtsName>` instead of just a `UtsName` and
277 (#[1672](https://github.com/nix-rust/nix/pull/1672))
278 - Replaced `IoVec` with `IoSlice` and `IoSliceMut`, and replaced `IoVec::from_slice` with
279 `IoSlice::new`. (#[1643](https://github.com/nix-rust/nix/pull/1643))
283 - `InetAddr::from_std` now sets the `sin_len`/`sin6_len` fields on the BSDs.
284 (#[1642](https://github.com/nix-rust/nix/pull/1642))
285 - Fixed a panic in `LinkAddr::addr`. That function now returns an `Option`.
286 (#[1675](https://github.com/nix-rust/nix/pull/1675))
287 (#[1677](https://github.com/nix-rust/nix/pull/1677))
291 - Removed public access to the inner fields of `NetlinkAddr`, `AlgAddr`,
293 (#[1614](https://github.com/nix-rust/nix/pull/1614))
294 - Removed `EventFlag::EV_SYSFLAG`.
295 (#[1635](https://github.com/nix-rust/nix/pull/1635))
297 ## [0.23.1] - 2021-12-16
301 - Relaxed the bitflags requirement from 1.3.1 to 1.1. This partially reverts
304 (#[1607](https://github.com/nix-rust/nix/pull/1607))
308 - Fixed soundness issues in `FdSet::insert`, `FdSet::remove`, and
311 (#[1575](https://github.com/nix-rust/nix/pull/1575))
313 ## [0.23.0] - 2021-09-28
316 - Added the `LocalPeerCred` sockopt.
317 (#[1482](https://github.com/nix-rust/nix/pull/1482))
318 - Added `TimeSpec::from_duration` and `TimeSpec::from_timespec`
319 (#[1465](https://github.com/nix-rust/nix/pull/1465))
320 - Added `IPV6_V6ONLY` sockopt.
321 (#[1470](https://github.com/nix-rust/nix/pull/1470))
322 - Added `impl From<User> for libc::passwd` trait implementation to convert a `User`
325 (#[1471](https://github.com/nix-rust/nix/pull/1471))
326 - Added `pthread_kill`.
327 (#[1472](https://github.com/nix-rust/nix/pull/1472))
328 - Added `mknodat`.
329 (#[1473](https://github.com/nix-rust/nix/pull/1473))
330 - Added `setrlimit` and `getrlimit`.
331 (#[1302](https://github.com/nix-rust/nix/pull/1302))
332 - Added `ptrace::interrupt` method for platforms that support `PTRACE_INTERRUPT`
333 (#[1422](https://github.com/nix-rust/nix/pull/1422))
334 - Added `IP6T_SO_ORIGINAL_DST` sockopt.
335 (#[1490](https://github.com/nix-rust/nix/pull/1490))
336 - Added the `PTRACE_EVENT_STOP` variant to the `sys::ptrace::Event` enum
337 (#[1335](https://github.com/nix-rust/nix/pull/1335))
338 - Exposed `SockAddr::from_raw_sockaddr`
339 (#[1447](https://github.com/nix-rust/nix/pull/1447))
340 - Added `TcpRepair`
341 (#[1503](https://github.com/nix-rust/nix/pull/1503))
342 - Enabled `pwritev` and `preadv` for more operating systems.
343 (#[1511](https://github.com/nix-rust/nix/pull/1511))
344 - Added support for `TCP_MAXSEG` TCP Maximum Segment Size socket options
345 (#[1292](https://github.com/nix-rust/nix/pull/1292))
346 - Added `Ipv4RecvErr` and `Ipv6RecvErr` sockopts and associated control messages.
347 (#[1514](https://github.com/nix-rust/nix/pull/1514))
348 - Added `AsRawFd` implementation on `PollFd`.
349 (#[1516](https://github.com/nix-rust/nix/pull/1516))
350 - Added `Ipv4Ttl` and `Ipv6Ttl` sockopts.
351 (#[1515](https://github.com/nix-rust/nix/pull/1515))
352 - Added `MAP_EXCL`, `MAP_ALIGNED_SUPER`, and `MAP_CONCEAL` mmap flags, and
354 (#[1522](https://github.com/nix-rust/nix/pull/1522))
355 (#[1525](https://github.com/nix-rust/nix/pull/1525))
356 (#[1531](https://github.com/nix-rust/nix/pull/1531))
357 (#[1534](https://github.com/nix-rust/nix/pull/1534))
358 - Added read/write accessors for 'events' on `PollFd`.
359 (#[1517](https://github.com/nix-rust/nix/pull/1517))
363 - `FdSet::{contains, highest, fds}` no longer require a mutable reference.
364 (#[1464](https://github.com/nix-rust/nix/pull/1464))
365 - `User::gecos` and corresponding `libc::passwd::pw_gecos` are supported on
366 64-bit Android, change conditional compilation to include the field in
367 64-bit Android builds
368 (#[1471](https://github.com/nix-rust/nix/pull/1471))
369 - `eventfd`s are supported on Android, change conditional compilation to
372 (#[1481](https://github.com/nix-rust/nix/pull/1481))
373 - Most enums that come from C, for example `Errno`, are now marked as
375 (#[1474](https://github.com/nix-rust/nix/pull/1474))
376 - Many more functions, mostly contructors, are now `const`.
377 (#[1476](https://github.com/nix-rust/nix/pull/1476))
378 (#[1492](https://github.com/nix-rust/nix/pull/1492))
379 - `sys::event::KEvent::filter` now returns a `Result` instead of being
382 (#[1484](https://github.com/nix-rust/nix/pull/1484))
383 - Minimum supported Rust version is now 1.46.0.
384 ([#1492](https://github.com/nix-rust/nix/pull/1492))
385 - Rework `UnixAddr` to encapsulate internals better in order to fix soundness
387 ([#1496](https://github.com/nix-rust/nix/pull/1496))
388 - Raised bitflags to 1.3.0 and the MSRV to 1.46.0.
389 ([#1492](https://github.com/nix-rust/nix/pull/1492))
393 - `posix_fadvise` now returns errors in the conventional way, rather than as a
394 non-zero value in `Ok()`.
395 (#[1538](https://github.com/nix-rust/nix/pull/1538))
396 - Added more errno definitions for better backwards compatibility with
398 (#[1467](https://github.com/nix-rust/nix/pull/1467))
399 - Fixed potential undefined behavior in `Signal::try_from` on some platforms.
400 (#[1484](https://github.com/nix-rust/nix/pull/1484))
401 - Fixed buffer overflow in `unistd::getgrouplist`.
402 (#[1545](https://github.com/nix-rust/nix/pull/1545))
407 - Removed a couple of termios constants on redox that were never actually
409 (#[1483](https://github.com/nix-rust/nix/pull/1483))
410 - Removed `nix::sys::signal::NSIG`. It was of dubious utility, and not correct
412 (#[1484](https://github.com/nix-rust/nix/pull/1484))
413 - Removed support for 32-bit Apple targets, since they've been dropped by both
415 (#[1492](https://github.com/nix-rust/nix/pull/1492))
416 - Deprecated `SockAddr/InetAddr::to_str` in favor of `ToString::to_string`
417 (#[1495](https://github.com/nix-rust/nix/pull/1495))
418 - Removed `SigevNotify` on OpenBSD and Redox.
419 (#[1511](https://github.com/nix-rust/nix/pull/1511))
421 ## [0.22.3] - 22 January 2022
423 - Relaxed the bitflags requirement from 1.3.1 to 1.1. This partially reverts
426 (#[1607](https://github.com/nix-rust/nix/pull/1607))
428 ## [0.22.2] - 28 September 2021
430 - Fixed buffer overflow in `unistd::getgrouplist`.
431 (#[1545](https://github.com/nix-rust/nix/pull/1545))
432 - Added more errno definitions for better backwards compatibility with
434 (#[1467](https://github.com/nix-rust/nix/pull/1467))
436 ## [0.22.1] - 13 August 2021
438 - Locked bitflags to < 1.3.0 to fix the build with rust < 1.46.0.
441 - Removed a couple of termios constants on redox that were never actually
443 (#[1483](https://github.com/nix-rust/nix/pull/1483))
445 ## [0.22.0] - 9 July 2021
447 - Added `if_nameindex` (#[1445](https://github.com/nix-rust/nix/pull/1445))
448 - Added `nmount` for FreeBSD.
449 (#[1453](https://github.com/nix-rust/nix/pull/1453))
450 - Added `IpFreebind` socket option (sockopt) on Linux, Fuchsia and Android.
451 (#[1456](https://github.com/nix-rust/nix/pull/1456))
452 - Added `TcpUserTimeout` socket option (sockopt) on Linux and Fuchsia.
453 (#[1457](https://github.com/nix-rust/nix/pull/1457))
454 - Added `renameat2` for Linux
455 (#[1458](https://github.com/nix-rust/nix/pull/1458))
456 - Added `RxqOvfl` support on Linux, Fuchsia and Android.
457 (#[1455](https://github.com/nix-rust/nix/pull/1455))
460 - `ptsname_r` now returns a lossily-converted string in the event of bad UTF,
462 ([#1446](https://github.com/nix-rust/nix/pull/1446))
463 - Nix's error type is now a simple wrapper around the platform's Errno. This
468 ([#1446](https://github.com/nix-rust/nix/pull/1446))
470 ## [0.21.2] - 29 September 2021
472 - Fixed buffer overflow in `unistd::getgrouplist`.
473 (#[1545](https://github.com/nix-rust/nix/pull/1545))
475 ## [0.21.1] - 13 August 2021
477 - Locked bitflags to < 1.3.0 to fix the build with rust < 1.46.0.
480 - Removed a couple of termios constants on redox that were never actually
482 (#[1483](https://github.com/nix-rust/nix/pull/1483))
484 ## [0.21.0] - 31 May 2021
486 - Added `getresuid` and `getresgid`
487 (#[1430](https://github.com/nix-rust/nix/pull/1430))
488 - Added TIMESTAMPNS support for linux
489 (#[1402](https://github.com/nix-rust/nix/pull/1402))
490 - Added `sendfile64` (#[1439](https://github.com/nix-rust/nix/pull/1439))
491 - Added `MS_LAZYTIME` to `MsFlags`
492 (#[1437](https://github.com/nix-rust/nix/pull/1437))
495 - Made `forkpty` unsafe, like `fork`
496 (#[1390](https://github.com/nix-rust/nix/pull/1390))
497 - Made `Uid`, `Gid` and `Pid` methods `from_raw` and `as_raw` a `const fn`
498 (#[1429](https://github.com/nix-rust/nix/pull/1429))
499 - Made `Uid::is_root` a `const fn`
500 (#[1429](https://github.com/nix-rust/nix/pull/1429))
501 - `AioCb` is now always pinned. Once a `libc::aiocb` gets sent to the kernel,
505 (#[1440](https://github.com/nix-rust/nix/pull/1440))
506 - `LioCb` is now constructed using a distinct `LioCbBuilder` struct. This
510 (#[1440](https://github.com/nix-rust/nix/pull/1440))
511 - Minimum supported Rust version is now 1.41.0.
512 ([#1440](https://github.com/nix-rust/nix/pull/1440))
513 - Errno aliases are now associated consts on `Errno`, instead of consts in the
515 (#[1452](https://github.com/nix-rust/nix/pull/1452))
518 - Allow `sockaddr_ll` size, as reported by the Linux kernel, to be smaller then it's definition
519 (#[1395](https://github.com/nix-rust/nix/pull/1395))
520 - Fix spurious errors using `sendmmsg` with multiple cmsgs
521 (#[1414](https://github.com/nix-rust/nix/pull/1414))
522 - Added `Errno::EOPNOTSUPP` to FreeBSD, where it was missing.
523 (#[1452](https://github.com/nix-rust/nix/pull/1452))
527 - Removed `sys::socket::accept4` from Android arm because libc removed it in
529 ([#1399](https://github.com/nix-rust/nix/pull/1399))
530 - `AioCb::from_boxed_slice` and `AioCb::from_boxed_mut_slice` have been
531 removed. They were useful with earlier versions of Rust, but should no
534 (#[1440](https://github.com/nix-rust/nix/pull/1440))
535 - Removed some Errno values from platforms where they aren't actually defined.
536 (#[1452](https://github.com/nix-rust/nix/pull/1452))
538 ## [0.20.2] - 28 September 2021
540 - Fixed buffer overflow in `unistd::getgrouplist`.
541 (#[1545](https://github.com/nix-rust/nix/pull/1545))
543 ## [0.20.1] - 13 August 2021
545 - Locked bitflags to < 1.3.0 to fix the build with rust < 1.46.0.
548 - Removed a couple of termios constants on redox that were never actually
550 (#[1483](https://github.com/nix-rust/nix/pull/1483))
552 ## [0.20.0] - 20 February 2021
555 - Added a `passwd` field to `Group` (#[1338](https://github.com/nix-rust/nix/pull/1338))
556 - Added `mremap` (#[1306](https://github.com/nix-rust/nix/pull/1306))
557 - Added `personality` (#[1331](https://github.com/nix-rust/nix/pull/1331))
558 - Added limited Fuchsia support (#[1285](https://github.com/nix-rust/nix/pull/1285))
559 - Added `getpeereid` (#[1342](https://github.com/nix-rust/nix/pull/1342))
560 - Implemented `IntoIterator` for `Dir`
561 (#[1333](https://github.com/nix-rust/nix/pull/1333)).
565 - Minimum supported Rust version is now 1.40.0.
566 ([#1356](https://github.com/nix-rust/nix/pull/1356))
567 - i686-apple-darwin has been demoted to Tier 2 support, because it's deprecated
569 (#[1350](https://github.com/nix-rust/nix/pull/1350))
570 - Fixed calling `recvfrom` on an `AddrFamily::Packet` socket
571 (#[1344](https://github.com/nix-rust/nix/pull/1344))
574 - `TimerFd` now closes the underlying fd on drop.
575 ([#1381](https://github.com/nix-rust/nix/pull/1381))
576 - Define `*_MAGIC` filesystem constants on Linux s390x
577 (#[1372](https://github.com/nix-rust/nix/pull/1372))
578 - mqueue, sysinfo, timespec, statfs, test_ptrace_syscall() on x32
579 (#[1366](https://github.com/nix-rust/nix/pull/1366))
583 - `Dir`, `SignalFd`, and `PtyMaster` are no longer `Clone`.
584 (#[1382](https://github.com/nix-rust/nix/pull/1382))
585 - Removed `SockLevel`, which hasn't been used for a few years
586 (#[1362](https://github.com/nix-rust/nix/pull/1362))
587 - Removed both `Copy` and `Clone` from `TimerFd`.
588 ([#1381](https://github.com/nix-rust/nix/pull/1381))
590 ## [0.19.1] - 28 November 2020
592 - Fixed bugs in `recvmmsg`.
593 (#[1341](https://github.com/nix-rust/nix/pull/1341))
595 ## [0.19.0] - 6 October 2020
597 - Added Netlink protocol families to the `SockProtocol` enum
598 (#[1289](https://github.com/nix-rust/nix/pull/1289))
599 - Added `clock_gettime`, `clock_settime`, `clock_getres`,
601 (#[1281](https://github.com/nix-rust/nix/pull/1281))
602 - Added wrapper functions for `PTRACE_SYSEMU` and `PTRACE_SYSEMU_SINGLESTEP`.
603 (#[1300](https://github.com/nix-rust/nix/pull/1300))
604 - Add support for Vsock on Android rather than just Linux.
605 (#[1301](https://github.com/nix-rust/nix/pull/1301))
606 - Added `TCP_KEEPCNT` and `TCP_KEEPINTVL` TCP keepalive options.
607 (#[1283](https://github.com/nix-rust/nix/pull/1283))
609 - Expose `SeekData` and `SeekHole` on all Linux targets
610 (#[1284](https://github.com/nix-rust/nix/pull/1284))
611 - Changed unistd::{execv,execve,execvp,execvpe,fexecve,execveat} to take both `&[&CStr]` and `&[CSt…
612 (#[1278](https://github.com/nix-rust/nix/pull/1278))
613 - Made `unistd::fork` an unsafe funtion, bringing it in line with [libstd's decision](https://githu…
614 (#[1293](https://github.com/nix-rust/nix/pull/1293))
616 ## [0.18.0] - 26 July 2020
618 - Added `fchown(2)` wrapper.
619 (#[1257](https://github.com/nix-rust/nix/pull/1257))
620 - Added support on linux systems for `MAP_HUGE_`_`SIZE`_ family of flags.
621 (#[1211](https://github.com/nix-rust/nix/pull/1211))
622 - Added support for `F_OFD_*` `fcntl` commands on Linux and Android.
623 (#[1195](https://github.com/nix-rust/nix/pull/1195))
624 - Added `env::clearenv()`: calls `libc::clearenv` on platforms
627 (#[1185](https://github.com/nix-rust/nix/pull/1185))
628 - `FsType` inner value made public.
629 (#[1187](https://github.com/nix-rust/nix/pull/1187))
630 - Added `unistd::setfsuid` and `unistd::setfsgid` to set the user or group
631 identity for filesystem checks per-thread.
632 (#[1163](https://github.com/nix-rust/nix/pull/1163))
633 - Derived `Ord`, `PartialOrd` for `unistd::Pid` (#[1189](https://github.com/nix-rust/nix/pull/1189))
634 - Added `select::FdSet::fds` method to iterate over file descriptors in a set.
635 ([#1207](https://github.com/nix-rust/nix/pull/1207))
636 - Added support for UDP generic segmentation offload (GSO) and generic
637 receive offload (GRO) ([#1209](https://github.com/nix-rust/nix/pull/1209))
638 - Added support for `sendmmsg` and `recvmmsg` calls
639 (#[1208](https://github.com/nix-rust/nix/pull/1208))
640 - Added support for `SCM_CREDS` messages (`UnixCredentials`) on FreeBSD/DragonFly
641 (#[1216](https://github.com/nix-rust/nix/pull/1216))
642 - Added `BindToDevice` socket option (sockopt) on Linux
643 (#[1233](https://github.com/nix-rust/nix/pull/1233))
644 - Added `EventFilter` bitflags for `EV_DISPATCH` and `EV_RECEIPT` on OpenBSD.
645 (#[1252](https://github.com/nix-rust/nix/pull/1252))
646 - Added support for `Ipv4PacketInfo` and `Ipv6PacketInfo` to `ControlMessage`.
647 (#[1222](https://github.com/nix-rust/nix/pull/1222))
648 - `CpuSet` and `UnixCredentials` now implement `Default`.
649 (#[1244](https://github.com/nix-rust/nix/pull/1244))
650 - Added `unistd::ttyname`
651 (#[1259](https://github.com/nix-rust/nix/pull/1259))
652 - Added support for `Ipv4PacketInfo` and `Ipv6PacketInfo` to `ControlMessage` for iOS and Android.
653 (#[1265](https://github.com/nix-rust/nix/pull/1265))
654 - Added support for `TimerFd`.
655 (#[1261](https://github.com/nix-rust/nix/pull/1261))
658 - Changed `fallocate` return type from `c_int` to `()` (#[1201](https://github.com/nix-rust/nix/pul…
659 - Enabled `sys::ptrace::setregs` and `sys::ptrace::getregs` on x86_64-unknown-linux-musl target
660 (#[1198](https://github.com/nix-rust/nix/pull/1198))
661 - On Linux, `ptrace::write` is now an `unsafe` function. Caveat programmer.
662 (#[1245](https://github.com/nix-rust/nix/pull/1245))
663 - `execv`, `execve`, `execvp` and `execveat` in `::nix::unistd` and `reboot` in
664 …`Result<Infallible>` instead of `Result<Void>` (#[1239](https://github.com/nix-rust/nix/pull/1239))
665 - `sys::socket::sockaddr_storage_to_addr` is no longer `unsafe`. So is
667 - `sys::socket::sockaddr_storage_to_addr`, `offset_of!`, and `Errno::clear` are
669 - `SockAddr::as_ffi_pair`,`sys::socket::sockaddr_storage_to_addr`, `offset_of!`,
671 (#[1244](https://github.com/nix-rust/nix/pull/1244))
672 - Several `Inotify` methods now take `self` by value instead of by reference
673 (#[1244](https://github.com/nix-rust/nix/pull/1244))
674 - `nix::poll::ppoll`: `timeout` parameter is now optional, None is equivalent for infinite timeout.
678 - Fixed `getsockopt`. The old code produced UB which triggers a panic with
679 Rust 1.44.0.
680 (#[1214](https://github.com/nix-rust/nix/pull/1214))
682 - Fixed a bug in nix::unistd that would result in an infinite loop
684 16KB. (#[1198](https://github.com/nix-rust/nix/pull/1198))
685 - Fixed unaligned casting of `cmsg_data` to `af_alg_iv` (#[1206](https://github.com/nix-rust/nix/pu…
686 - Fixed `readlink`/`readlinkat` when reading symlinks longer than `PATH_MAX` (#[1231](https://githu…
687 - `PollFd`, `EpollEvent`, `IpMembershipRequest`, `Ipv6MembershipRequest`,
691 (#[1243](https://github.com/nix-rust/nix/pull/1243))
692 - Fixed unaligned pointer read in `Inotify::read_events`.
693 (#[1244](https://github.com/nix-rust/nix/pull/1244))
697 - Removed `sys::socket::addr::from_libc_sockaddr` from the public API.
698 (#[1215](https://github.com/nix-rust/nix/pull/1215))
699 - Removed `sys::termios::{get_libc_termios, get_libc_termios_mut, update_wrapper`
702 (#[1235](https://github.com/nix-rust/nix/pull/1235))
704 - Nix no longer implements `NixPath` for `Option<P> where P: NixPath`. Most
708 (#[1242](https://github.com/nix-rust/nix/pull/1242))
710 - Removed `unistd::daemon` and `unistd::pipe2` on OSX and ios
711 (#[1255](https://github.com/nix-rust/nix/pull/1255))
713 - Removed `sys::event::FilterFlag::NOTE_EXIT_REPARENTED` and
715 (#[1255](https://github.com/nix-rust/nix/pull/1255))
717 - Removed `sys::ptrace::ptrace` on Android and Linux.
718 (#[1255](https://github.com/nix-rust/nix/pull/1255))
720 - Dropped support for powerpc64-unknown-linux-gnu
721 (#[1266](https://github.com/nix-rust/nix/pull/1268))
723 ## [0.17.0] - 3 February 2020
725 - Add `CLK_TCK` to `SysconfVar`
726 (#[1177](https://github.com/nix-rust/nix/pull/1177))
728 - Removed deprecated Error::description from error types
729 (#[1175](https://github.com/nix-rust/nix/pull/1175))
731 ## [0.16.1] - 23 December 2019
734 - Fixed the build for OpenBSD
735 (#[1168](https://github.com/nix-rust/nix/pull/1168))
737 ## [0.16.0] - 1 December 2019
739 - Added `ptrace::seize()`: similar to `attach()` on Linux
740 but with better-defined semantics.
741 (#[1154](https://github.com/nix-rust/nix/pull/1154))
743 - Added `Signal::as_str()`: returns signal name as `&'static str`
744 (#[1138](https://github.com/nix-rust/nix/pull/1138))
746 - Added `posix_fallocate`.
747 ([#1105](https://github.com/nix-rust/nix/pull/1105))
749 - Implemented `Default` for `FdSet`
750 ([#1107](https://github.com/nix-rust/nix/pull/1107))
752 - Added `NixPath::is_empty`.
753 ([#1107](https://github.com/nix-rust/nix/pull/1107))
755 - Added `mkfifoat`
756 ([#1133](https://github.com/nix-rust/nix/pull/1133))
758 - Added `User::from_uid`, `User::from_name`, `User::from_gid` and
760 ([#1139](https://github.com/nix-rust/nix/pull/1139))
762 - Added `linkat`
763 ([#1101](https://github.com/nix-rust/nix/pull/1101))
765 - Added `sched_getaffinity`.
766 ([#1148](https://github.com/nix-rust/nix/pull/1148))
768 - Added optional `Signal` argument to `ptrace::{detach, syscall}` for signal
769 injection. ([#1083](https://github.com/nix-rust/nix/pull/1083))
772 - `sys::termios::BaudRate` now implements `TryFrom<speed_t>` instead of
774 ([#1159](https://github.com/nix-rust/nix/pull/1159))
776 - `sys::socket::ControlMessage::ScmCredentials` and
779 ([#1160](https://github.com/nix-rust/nix/pull/1160))
781 - `sys::socket::recvmsg` now takes a plain `Vec` instead of a `CmsgBuffer`
783 ([#1156](https://github.com/nix-rust/nix/pull/1156))
785 - `sys::socket::recvfrom` now returns
787 ([#1145](https://github.com/nix-rust/nix/pull/1145))
789 - `Signal::from_c_int` has been replaced by `Signal::try_from`
790 ([#1113](https://github.com/nix-rust/nix/pull/1113))
792 - Changed `readlink` and `readlinkat` to return `OsString`
793 ([#1109](https://github.com/nix-rust/nix/pull/1109))
795 ```rust
809 - Minimum supported Rust version is now 1.36.0.
810 ([#1108](https://github.com/nix-rust/nix/pull/1108))
812 - `Ipv4Addr::octets`, `Ipv4Addr::to_std`, `Error::as_errno`,
816 ([#1107](https://github.com/nix-rust/nix/pull/1107))
818 - Type `&CString` for parameters of `exec(v|ve|vp|vpe|veat)` are changed to `&CStr`.
819 ([#1121](https://github.com/nix-rust/nix/pull/1121))
822 - Fix length of abstract socket addresses
823 ([#1120](https://github.com/nix-rust/nix/pull/1120))
825 - Fix initialization of msghdr in recvmsg/sendmsg when built with musl
826 ([#1136](https://github.com/nix-rust/nix/pull/1136))
829 - Remove the deprecated `CmsgSpace`.
830 ([#1156](https://github.com/nix-rust/nix/pull/1156))
832 ## [0.15.0] - 10 August 2019
834 - Added `MSG_WAITALL` to `MsgFlags` in `sys::socket`.
835 ([#1079](https://github.com/nix-rust/nix/pull/1079))
836 - Implemented `Clone`, `Copy`, `Debug`, `Eq`, `Hash`, and `PartialEq` for most
837 types that support them. ([#1035](https://github.com/nix-rust/nix/pull/1035))
838 - Added `copy_file_range` wrapper
839 ([#1069](https://github.com/nix-rust/nix/pull/1069))
840 - Add `mkdirat`.
841 ([#1084](https://github.com/nix-rust/nix/pull/1084))
842 - Add `posix_fadvise`.
843 ([#1089](https://github.com/nix-rust/nix/pull/1089))
844 - Added `AF_VSOCK` to `AddressFamily`.
845 ([#1091](https://github.com/nix-rust/nix/pull/1091))
846 - Add `unlinkat`
847 ([#1058](https://github.com/nix-rust/nix/pull/1058))
848 - Add `renameat`.
849 ([#1097](https://github.com/nix-rust/nix/pull/1097))
852 - Support for `ifaddrs` now present when building for Android.
853 ([#1077](https://github.com/nix-rust/nix/pull/1077))
854 - Minimum supported Rust version is now 1.31.0
855 ([#1035](https://github.com/nix-rust/nix/pull/1035))
856 ([#1095](https://github.com/nix-rust/nix/pull/1095))
857 - Now functions `statfs()` and `fstatfs()` return result with `Statfs` wrapper
858 ([#928](https://github.com/nix-rust/nix/pull/928))
861 - Enabled `sched_yield` for all nix hosts.
862 ([#1090](https://github.com/nix-rust/nix/pull/1090))
864 ## [0.14.1] - 2019-06-06
866 - Macros exported by `nix` may now be imported via `use` on the Rust 2018
868 ([#1066](https://github.com/nix-rust/nix/pull/1066))
870 For example, in Rust 2018, the `ioctl_read_bad!` macro can now be imported
873 ```rust
880 - Changed some public types from reexports of libc types like `uint32_t` to the
882 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
885 - Fix the build on Android and Linux/mips with recent versions of libc.
886 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
888 ## [0.14.0] - 2019-05-21
890 - Add IP_RECVIF & IP_RECVDSTADDR. Enable IP_PKTINFO and IP6_PKTINFO on netbsd/openbsd.
891 ([#1002](https://github.com/nix-rust/nix/pull/1002))
892 - Added `inotify_init1`, `inotify_add_watch` and `inotify_rm_watch` wrappers for
893 Android and Linux. ([#1016](https://github.com/nix-rust/nix/pull/1016))
894 - Add `ALG_SET_IV`, `ALG_SET_OP` and `ALG_SET_AEAD_ASSOCLEN` control messages and `AF_ALG`
895 socket types on Linux and Android ([#1031](https://github.com/nix-rust/nix/pull/1031))
896 - Add killpg
897 ([#1034](https://github.com/nix-rust/nix/pull/1034))
898 - Added ENOTSUP errno support for Linux and Android.
899 ([#969](https://github.com/nix-rust/nix/pull/969))
900 - Add several errno constants from OpenBSD 6.2
901 ([#1036](https://github.com/nix-rust/nix/pull/1036))
902 - Added `from_std` and `to_std` methods for `sys::socket::IpAddr`
903 ([#1043](https://github.com/nix-rust/nix/pull/1043))
904 - Added `nix::unistd:seteuid` and `nix::unistd::setegid` for those platforms that do
906 ([#1044](https://github.com/nix-rust/nix/pull/1044))
907 - Added a `access` wrapper
908 ([#1045](https://github.com/nix-rust/nix/pull/1045))
909 - Add `forkpty`
910 ([#1042](https://github.com/nix-rust/nix/pull/1042))
911 - Add `sched_yield`
912 ([#1050](https://github.com/nix-rust/nix/pull/1050))
915 - `PollFd` event flags renamed to `PollFlags` ([#1024](https://github.com/nix-rust/nix/pull/1024/))
916 - `recvmsg` now returns an Iterator over `ControlMessageOwned` objects rather
917 than `ControlMessage` objects. This is sadly not backwards-compatible. Fix
919 ```rust
924 ```rust
927 ([#1020](https://github.com/nix-rust/nix/pull/1020))
928 - Replaced `CmsgSpace` with the `cmsg_space` macro.
929 ([#1020](https://github.com/nix-rust/nix/pull/1020))
932 - Fixed multiple bugs when using `sendmsg` and `recvmsg` with ancillary control messages
933 ([#1020](https://github.com/nix-rust/nix/pull/1020))
934 - Macros exported by `nix` may now be imported via `use` on the Rust 2018
936 ([#1041](https://github.com/nix-rust/nix/pull/1041))
938 For example, in Rust 2018, the `ioctl_read_bad!` macro can now be imported
941 ```rust
948 - `Daemon`, `NOTE_REAP`, and `NOTE_EXIT_REPARENTED` are now deprecated on OSX
950 ([#1033](https://github.com/nix-rust/nix/pull/1033))
951 - `PTRACE_GETREGS`, `PTRACE_SETREGS`, `PTRACE_GETFPREGS`, and
954 ([#1055](https://github.com/nix-rust/nix/pull/1055))
956 ## [0.13.1] - 2019-06-10
958 - Changed some public types from reexports of libc types like `uint32_t` to the
960 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
963 - Fix the build on Android and Linux/mips with recent versions of libc.
964 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
965 - Fixed build on Linux/arm and Linux/s390x with the latest Rust libc
966 ([52102cb](https://github.com/nix-rust/nix/commit/52102cb76398c4dfb9ea141b98c5b01a2e050973))
969 - `Daemon`, `NOTE_REAP`, and `NOTE_EXIT_REPARENTED` are now deprecated on OSX
971 ([#1033](https://github.com/nix-rust/nix/pull/1033))
973 ## [0.13.0] - 2019-01-15
975 - Added PKTINFO(V4) & V6PKTINFO cmsg support - Android/FreeBSD/iOS/Linux/MacOS.
976 ([#990](https://github.com/nix-rust/nix/pull/990))
977 - Added support of CString type in `setsockopt`.
978 ([#972](https://github.com/nix-rust/nix/pull/972))
979 - Added option `TCP_CONGESTION` in `setsockopt`.
980 ([#972](https://github.com/nix-rust/nix/pull/972))
981 - Added `symlinkat` wrapper.
982 ([#997](https://github.com/nix-rust/nix/pull/997))
983 - Added `ptrace::{getregs, setregs}`.
984 ([#1010](https://github.com/nix-rust/nix/pull/1010))
985 - Added `nix::sys::signal::signal`.
986 ([#817](https://github.com/nix-rust/nix/pull/817))
987 - Added an `mprotect` wrapper.
988 ([#991](https://github.com/nix-rust/nix/pull/991))
991 - `lutimes` never worked on OpenBSD as it is not implemented on OpenBSD. It has
992 been removed. ([#1000](https://github.com/nix-rust/nix/pull/1000))
993 - `fexecve` never worked on NetBSD or on OpenBSD as it is not implemented on
994 either OS. It has been removed. ([#1000](https://github.com/nix-rust/nix/pull/1000))
996 ## [0.12.1] 2019-06-08
998 - Changed some public types from reexports of libc types like `uint32_t` to the
1000 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
1003 - Fix the build on Android and Linux/mips with recent versions of libc.
1004 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
1005 - Fixed build on Linux/arm and Linux/s390x with the latest Rust libc
1006 ([52102cb](https://github.com/nix-rust/nix/commit/52102cb76398c4dfb9ea141b98c5b01a2e050973))
1009 - `fexecve` never worked on NetBSD or on OpenBSD as it is not implemented on
1010 either OS. It has been removed. ([#1000](https://github.com/nix-rust/nix/pull/1000))
1011 - `Daemon`, `NOTE_REAP`, and `NOTE_EXIT_REPARENTED` are now deprecated on OSX
1013 ([#1033](https://github.com/nix-rust/nix/pull/1033))
1015 ## [0.12.0] 2018-11-28
1018 - Added `FromStr` and `Display` impls for `nix::sys::Signal`
1019 ([#884](https://github.com/nix-rust/nix/pull/884))
1020 - Added a `sync` wrapper.
1021 ([#961](https://github.com/nix-rust/nix/pull/961))
1022 - Added a `sysinfo` wrapper.
1023 ([#922](https://github.com/nix-rust/nix/pull/922))
1024 - Support the `SO_PEERCRED` socket option and the `UnixCredentials` type on all Linux and Android t…
1025 ([#921](https://github.com/nix-rust/nix/pull/921))
1026 - Added support for `SCM_CREDENTIALS`, allowing to send process credentials over Unix sockets.
1027 ([#923](https://github.com/nix-rust/nix/pull/923))
1028 - Added a `dir` module for reading directories (wraps `fdopendir`, `readdir`, and `rewinddir`).
1029 ([#916](https://github.com/nix-rust/nix/pull/916))
1030 - Added `kmod` module that allows loading and unloading kernel modules on Linux.
1031 ([#930](https://github.com/nix-rust/nix/pull/930))
1032 - Added `futimens` and `utimesat` wrappers ([#944](https://github.com/nix-rust/nix/pull/944)),
1033 an `lutimes` wrapper ([#967](https://github.com/nix-rust/nix/pull/967)),
1034 and a `utimes` wrapper ([#946](https://github.com/nix-rust/nix/pull/946)).
1035 - Added `AF_UNSPEC` wrapper to `AddressFamily` ([#948](https://github.com/nix-rust/nix/pull/948))
1036 - Added the `mode_t` public alias within `sys::stat`.
1037 ([#954](https://github.com/nix-rust/nix/pull/954))
1038 - Added a `truncate` wrapper.
1039 ([#956](https://github.com/nix-rust/nix/pull/956))
1040 - Added a `fchownat` wrapper.
1041 ([#955](https://github.com/nix-rust/nix/pull/955))
1042 - Added support for `ptrace` on BSD operating systems ([#949](https://github.com/nix-rust/nix/pull/…
1043 - Added `ptrace` functions for reads and writes to tracee memory and ptrace kill
1044 …([#949](https://github.com/nix-rust/nix/pull/949)) ([#958](https://github.com/nix-rust/nix/pull/95…
1045 - Added a `acct` wrapper module for enabling and disabling process accounting
1046 ([#952](https://github.com/nix-rust/nix/pull/952))
1047 - Added the `time_t` and `suseconds_t` public aliases within `sys::time`.
1048 ([#968](https://github.com/nix-rust/nix/pull/968))
1049 - Added `unistd::execvpe` for Haiku, Linux and OpenBSD
1050 ([#975](https://github.com/nix-rust/nix/pull/975))
1051 - Added `Error::as_errno`.
1052 ([#977](https://github.com/nix-rust/nix/pull/977))
1055 - Increased required Rust version to 1.24.1
1056 ([#900](https://github.com/nix-rust/nix/pull/900))
1057 ([#966](https://github.com/nix-rust/nix/pull/966))
1060 - Made `preadv` take immutable slice of IoVec.
1061 ([#914](https://github.com/nix-rust/nix/pull/914))
1062 - Fixed passing multiple file descriptors over Unix Sockets.
1063 ([#918](https://github.com/nix-rust/nix/pull/918))
1065 ## [0.11.1] 2019-06-06
1067 - Changed some public types from reexports of libc types like `uint32_t` to the
1069 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
1072 - Fix the build on Android and Linux/mips with recent versions of libc.
1073 ([#1072](https://github.com/nix-rust/nix/pull/1072/commits))
1074 - Fixed build on Linux/arm and Linux/s390x with the latest Rust libc
1075 ([52102cb](https://github.com/nix-rust/nix/commit/52102cb76398c4dfb9ea141b98c5b01a2e050973))
1078 - `fexecve` never worked on NetBSD or on OpenBSD as it is not implemented on
1079 either OS. It has been removed. ([#1000](https://github.com/nix-rust/nix/pull/1000))
1080 - `Daemon`, `NOTE_REAP`, and `NOTE_EXIT_REPARENTED` are now deprecated on OSX
1082 ([#1033](https://github.com/nix-rust/nix/pull/1033))
1084 ## [0.11.0] 2018-06-01
1087 - Added `sendfile` on FreeBSD and Darwin.
1088 ([#901](https://github.com/nix-rust/nix/pull/901))
1089 - Added `pselect`
1090 ([#894](https://github.com/nix-rust/nix/pull/894))
1091 - Exposed `preadv` and `pwritev` on the BSDs.
1092 ([#883](https://github.com/nix-rust/nix/pull/883))
1093 - Added `mlockall` and `munlockall`
1094 ([#876](https://github.com/nix-rust/nix/pull/876))
1095 - Added `SO_MARK` on Linux.
1096 ([#873](https://github.com/nix-rust/nix/pull/873))
1097 - Added safe support for nearly any buffer type in the `sys::aio` module.
1098 ([#872](https://github.com/nix-rust/nix/pull/872))
1099 - Added `sys::aio::LioCb` as a wrapper for `libc::lio_listio`.
1100 ([#872](https://github.com/nix-rust/nix/pull/872))
1101 - Added `unistd::getsid`
1102 ([#850](https://github.com/nix-rust/nix/pull/850))
1103 - Added `alarm`. ([#830](https://github.com/nix-rust/nix/pull/830))
1104 - Added interface flags `IFF_NO_PI, IFF_TUN, IFF_TAP` on linux-like systems.
1105 ([#853](https://github.com/nix-rust/nix/pull/853))
1106 - Added `statvfs` module to all MacOS and Linux architectures.
1107 ([#832](https://github.com/nix-rust/nix/pull/832))
1108 - Added `EVFILT_EMPTY`, `EVFILT_PROCDESC`, and `EVFILT_SENDFILE` on FreeBSD.
1109 ([#825](https://github.com/nix-rust/nix/pull/825))
1110 - Exposed `termios::cfmakesane` on FreeBSD.
1111 ([#825](https://github.com/nix-rust/nix/pull/825))
1112 - Exposed `MSG_CMSG_CLOEXEC` on *BSD.
1113 ([#825](https://github.com/nix-rust/nix/pull/825))
1114 - Added `fchmod`, `fchmodat`.
1115 ([#857](https://github.com/nix-rust/nix/pull/857))
1116 - Added `request_code_write_int!` on FreeBSD/DragonFlyBSD
1117 ([#833](https://github.com/nix-rust/nix/pull/833))
1120 - `Display` and `Debug` for `SysControlAddr` now includes all fields.
1121 ([#837](https://github.com/nix-rust/nix/pull/837))
1122 - `ioctl!` has been replaced with a family of `ioctl_*!` macros.
1123 ([#833](https://github.com/nix-rust/nix/pull/833))
1124 - `io!`, `ior!`, `iow!`, and `iorw!` has been renamed to `request_code_none!`, `request_code_read!`,
1127 ([#833](https://github.com/nix-rust/nix/pull/833))
1128 - Enabled more `ptrace::Request` definitions for uncommon Linux platforms
1129 ([#892](https://github.com/nix-rust/nix/pull/892))
1130 - Emulation of `FD_CLOEXEC` and `O_NONBLOCK` was removed from `socket()`, `accept4()`, and
1132 ([#907](https://github.com/nix-rust/nix/pull/907))
1135 - Fixed possible panics when using `SigAction::flags` on Linux
1136 ([#869](https://github.com/nix-rust/nix/pull/869))
1137 - Properly exposed 460800 and 921600 baud rates on NetBSD
1138 ([#837](https://github.com/nix-rust/nix/pull/837))
1139 - Fixed `ioctl_write_int!` on FreeBSD/DragonFlyBSD
1140 ([#833](https://github.com/nix-rust/nix/pull/833))
1141 - `ioctl_write_int!` now properly supports passing a `c_ulong` as the parameter on Linux non-musl t…
1142 ([#833](https://github.com/nix-rust/nix/pull/833))
1145 - Removed explicit support for the `bytes` crate from the `sys::aio` module.
1147 ([#872](https://github.com/nix-rust/nix/pull/872))
1148 - Removed `sys::aio::lio_listio`. Use `sys::aio::LioCb::listio` instead.
1149 ([#872](https://github.com/nix-rust/nix/pull/872))
1150 - Removed emulated `accept4()` from macos, ios, and netbsd targets
1151 ([#907](https://github.com/nix-rust/nix/pull/907))
1152 - Removed `IFF_NOTRAILERS` on OpenBSD, as it has been removed in OpenBSD 6.3
1153 ([#893](https://github.com/nix-rust/nix/pull/893))
1155 ## [0.10.0] 2018-01-26
1158 - Added specialized wrapper: `sys::ptrace::step`
1159 ([#852](https://github.com/nix-rust/nix/pull/852))
1160 - Added `AioCb::from_ptr` and `AioCb::from_mut_ptr`
1161 ([#820](https://github.com/nix-rust/nix/pull/820))
1162 - Added specialized wrappers: `sys::ptrace::{traceme, syscall, cont, attach}`. Using the matching r…
1164 - Added `nix::poll` module for all platforms
1165 ([#672](https://github.com/nix-rust/nix/pull/672))
1166 - Added `nix::ppoll` function for FreeBSD and DragonFly
1167 ([#672](https://github.com/nix-rust/nix/pull/672))
1168 - Added protocol families in `AddressFamily` enum.
1169 ([#647](https://github.com/nix-rust/nix/pull/647))
1170 - Added the `pid()` method to `WaitStatus` for extracting the PID.
1171 ([#722](https://github.com/nix-rust/nix/pull/722))
1172 - Added `nix::unistd:fexecve`.
1173 ([#727](https://github.com/nix-rust/nix/pull/727))
1174 - Expose `uname()` on all platforms.
1175 ([#739](https://github.com/nix-rust/nix/pull/739))
1176 - Expose `signalfd` module on Android as well.
1177 ([#739](https://github.com/nix-rust/nix/pull/739))
1178 - Added `nix::sys::ptrace::detach`.
1179 ([#749](https://github.com/nix-rust/nix/pull/749))
1180 - Added timestamp socket control message variant:
1182 ([#663](https://github.com/nix-rust/nix/pull/663))
1183 - Added socket option variant that enables the timestamp socket
1185 ([#663](https://github.com/nix-rust/nix/pull/663))
1186 - Added more accessor methods for `AioCb`
1187 ([#773](https://github.com/nix-rust/nix/pull/773))
1188 - Add `nix::sys::fallocate`
1189 ([#768](https:://github.com/nix-rust/nix/pull/768))
1190 - Added `nix::unistd::mkfifo`.
1191 ([#602](https://github.com/nix-rust/nix/pull/774))
1192 - Added `ptrace::Options::PTRACE_O_EXITKILL` on Linux and Android.
1193 ([#771](https://github.com/nix-rust/nix/pull/771))
1194 - Added `nix::sys::uio::{process_vm_readv, process_vm_writev}` on Linux
1195 ([#568](https://github.com/nix-rust/nix/pull/568))
1196 - Added `nix::unistd::{getgroups, setgroups, getgrouplist, initgroups}`. ([#733](https://github.com…
1197 - Added `nix::sys::socket::UnixAddr::as_abstract` on Linux and Android.
1198 ([#785](https://github.com/nix-rust/nix/pull/785))
1199 - Added `nix::unistd::execveat` on Linux and Android.
1200 ([#800](https://github.com/nix-rust/nix/pull/800))
1201 - Added the `from_raw()` method to `WaitStatus` for converting raw status values
1203 ([#741](https://github.com/nix-rust/nix/pull/741))
1204 - Added more standard trait implementations for various types.
1205 ([#814](https://github.com/nix-rust/nix/pull/814))
1206 - Added `sigprocmask` to the signal module.
1207 ([#826](https://github.com/nix-rust/nix/pull/826))
1208 - Added `nix::sys::socket::LinkAddr` on Linux and all bsdlike system.
1209 ([#813](https://github.com/nix-rust/nix/pull/813))
1210 - Add socket options for `IP_TRANSPARENT` / `BIND_ANY`.
1211 ([#835](https://github.com/nix-rust/nix/pull/835))
1214 - Exposed the `mqueue` module for all supported operating systems.
1215 ([#834](https://github.com/nix-rust/nix/pull/834))
1216 - Use native `pipe2` on all BSD targets. Users should notice no difference.
1217 ([#777](https://github.com/nix-rust/nix/pull/777))
1218 - Renamed existing `ptrace` wrappers to encourage namespacing ([#692](https://github.com/nix-rust/n…
1219 - Marked `sys::ptrace::ptrace` as `unsafe`.
1220 - Changed function signature of `socket()` and `socketpair()`. The `protocol` argument
1223 ([#647](https://github.com/nix-rust/nix/pull/647))
1224 - Made `select` easier to use, adding the ability to automatically calculate the `nfds` parameter u…
1225 `FdSet::highest` ([#701](https://github.com/nix-rust/nix/pull/701))
1226 - Exposed `unistd::setresuid` and `unistd::setresgid` on FreeBSD and OpenBSD
1227 ([#721](https://github.com/nix-rust/nix/pull/721))
1228 - Refactored the `statvfs` module removing extraneous API functions and the
1231 accessor methods. ([#729](https://github.com/nix-rust/nix/pull/729))
1232 - The `addr` argument to `madvise` and `msync` is now `*mut` to better match the
1233 libc API. ([#731](https://github.com/nix-rust/nix/pull/731))
1234 - `shm_open` and `shm_unlink` are no longer exposed on Android targets, where
1235 they are not officially supported. ([#731](https://github.com/nix-rust/nix/pull/731))
1236 - `MapFlags`, `MmapAdvise`, and `MsFlags` expose some more variants and only
1237 officially-supported variants are provided for each target.
1238 ([#731](https://github.com/nix-rust/nix/pull/731))
1239 - Marked `pty::ptsname` function as `unsafe`
1240 ([#744](https://github.com/nix-rust/nix/pull/744))
1241 - Moved constants ptrace request, event and options to enums and updated ptrace functions and argum…
1242 ([#749](https://github.com/nix-rust/nix/pull/749))
1243 - `AioCb::Drop` will now panic if the `AioCb` is still in-progress ([#715](https://github.com/nix-r…
1244 - Restricted `nix::sys::socket::UnixAddr::new_abstract` to Linux and Android only.
1245 ([#785](https://github.com/nix-rust/nix/pull/785))
1246 - The `ucred` struct has been removed in favor of a `UserCredentials` struct that
1248 ([#814](https://github.com/nix-rust/nix/pull/814))
1249 - Both `ip_mreq` and `ipv6_mreq` have been replaced with `IpMembershipRequest` and
1251 ([#814](https://github.com/nix-rust/nix/pull/814))
1252 - Removed return type from `pause`.
1253 ([#829](https://github.com/nix-rust/nix/pull/829))
1254 - Changed the termios APIs to allow for using a `u32` instead of the `BaudRate`
1257 ([#843](https://github.com/nix-rust/nix/pull/843))
1260 - Fix compilation and tests for OpenBSD targets
1261 ([#688](https://github.com/nix-rust/nix/pull/688))
1262 - Fixed error handling in `AioCb::fsync`, `AioCb::read`, and `AioCb::write`.
1264 ([#715](https://github.com/nix-rust/nix/pull/715))
1265 - Fix potential memory corruption on non-Linux platforms when using
1267 ([#648](https://github.com/nix-rust/nix/pull/648))
1270 - `AioCb::from_boxed_slice` has been removed. It was never actually safe. Use
1272 ([#820](https://github.com/nix-rust/nix/pull/820))
1273 - The syscall module has been removed. This only exposed enough functionality for
1275 ([#747](https://github.com/nix-rust/nix/pull/747))
1276 - The `Errno` variants are no longer reexported from the `errno` module. `Errno` itself is no longe…
1277 …stead must be accessed using the `errno` module. ([#696](https://github.com/nix-rust/nix/pull/696))
1278 - Removed `MS_VERBOSE`, `MS_NOSEC`, and `MS_BORN` from `MsFlags`. These
1280 ([#814](https://github.com/nix-rust/nix/pull/814))
1283 ## [0.9.0] 2017-07-23
1286 - Added `sysconf`, `pathconf`, and `fpathconf`
1287 ([#630](https://github.com/nix-rust/nix/pull/630)
1288 - Added `sys::signal::SigAction::{ flags, mask, handler}`
1289 ([#611](https://github.com/nix-rust/nix/pull/609)
1290 - Added `nix::sys::pthread::pthread_self`
1291 ([#591](https://github.com/nix-rust/nix/pull/591)
1292 - Added `AioCb::from_boxed_slice`
1293 ([#582](https://github.com/nix-rust/nix/pull/582)
1294 - Added `nix::unistd::{openat, fstatat, readlink, readlinkat}`
1295 ([#551](https://github.com/nix-rust/nix/pull/551))
1296 - Added `nix::pty::{grantpt, posix_openpt, ptsname/ptsname_r, unlockpt}`
1297 ([#556](https://github.com/nix-rust/nix/pull/556)
1298 - Added `nix::ptr::openpty`
1299 ([#456](https://github.com/nix-rust/nix/pull/456))
1300 - Added `nix::ptrace::{ptrace_get_data, ptrace_getsiginfo, ptrace_setsiginfo
1302 ([#614](https://github.com/nix-rust/nix/pull/614))
1303 - Added `cfmakeraw`, `cfsetspeed`, and `tcgetsid`. ([#527](https://github.com/nix-rust/nix/pull/527…
1304 - Added "bad none", "bad write_ptr", "bad write_int", and "bad readwrite" variants to the `ioctl!`
1305 macro. ([#670](https://github.com/nix-rust/nix/pull/670))
1306 - On Linux and Android, added support for receiving `PTRACE_O_TRACESYSGOOD`
1308 ([#566](https://github.com/nix-rust/nix/pull/566)).
1311 - The `ioctl!` macro and its variants now allow the generated functions to have
1312 doccomments. ([#661](https://github.com/nix-rust/nix/pull/661))
1313 - Changed `ioctl!(write ...)` into `ioctl!(write_ptr ...)` and `ioctl!(write_int ..)` variants
1314 to more clearly separate those use cases. ([#670](https://github.com/nix-rust/nix/pull/670))
1315 - Marked `sys::mman::{ mmap, munmap, madvise, munlock, msync }` as unsafe.
1316 ([#559](https://github.com/nix-rust/nix/pull/559))
1317 - Minimum supported Rust version is now 1.13.
1318 - Removed `revents` argument from `PollFd::new()` as it's an output argument and
1320 ([#542](https://github.com/nix-rust/nix/pull/542))
1321 - Changed type signature of `sys::select::FdSet::contains` to make `self`
1322 immutable ([#564](https://github.com/nix-rust/nix/pull/564))
1323 - Introduced wrapper types for `gid_t`, `pid_t`, and `uid_t` as `Gid`, `Pid`, and `Uid`
1325 arguments. ([#629](https://github.com/nix-rust/nix/pull/629))
1326 - Fixed compilation on all Android and iOS targets ([#527](https://github.com/nix-rust/nix/pull/527…
1328 - `nix::sys::statfs::{statfs,fstatfs}` uses statfs definition from `libc::statfs` instead of own li…
1330 ([#561](https://github.com/nix-rust/nix/pull/561))
1331 - Revised the termios API including additional tests and documentation and exposed it on iOS. ([#52…
1332 - `eventfd`, `signalfd`, and `pwritev`/`preadv` functionality is now included by default for all
1333 supported platforms. ([#681](https://github.com/nix-rust/nix/pull/561))
1334 - The `ioctl!` macro's plain variants has been replaced with "bad read" to be consistent with
1338 ([#670](https://github.com/nix-rust/nix/pull/670))
1341 - Removed `io::Error` from `nix::Error` and the conversion from `nix::Error` to `Errno`
1342 ([#614](https://github.com/nix-rust/nix/pull/614))
1343 - All feature flags have been removed in favor of conditional compilation on supported platforms.
1345 release. ([#681](https://github.com/nix-rust/nix/pull/561))
1346 - Removed `ioc_*` functions and many helper constants and macros within the `ioctl` module. These
1348 ([#670](https://github.com/nix-rust/nix/pull/670))
1351 - Fixed multiple issues compiling under different archetectures and OSes.
1352 Now compiles on Linux/MIPS ([#538](https://github.com/nix-rust/nix/pull/538)),
1353 `Linux/PPC` ([#553](https://github.com/nix-rust/nix/pull/553)),
1354 `MacOS/x86_64,i686` ([#553](https://github.com/nix-rust/nix/pull/553)),
1355 `NetBSD/x64_64` ([#538](https://github.com/nix-rust/nix/pull/538)),
1356 `FreeBSD/x86_64,i686` ([#536](https://github.com/nix-rust/nix/pull/536)), and
1357 `Android` ([#631](https://github.com/nix-rust/nix/pull/631)).
1358 - `bind` and `errno_location` now work correctly on `Android`
1359 ([#631](https://github.com/nix-rust/nix/pull/631))
1360 - Added `nix::ptrace` on all Linux-kernel-based platforms
1361 [#624](https://github.com/nix-rust/nix/pull/624). Previously it was
1362 only available on x86, x86-64, and ARM, and also not on Android.
1363 - Fixed `sys::socket::sendmsg` with zero entry `cmsgs` parameter.
1364 ([#623](https://github.com/nix-rust/nix/pull/623))
1365 - Multiple constants related to the termios API have now been properly defined for
1366 all supported platforms. ([#527](https://github.com/nix-rust/nix/pull/527))
1367 - `ioctl!` macro now supports working with non-int datatypes and properly supports all platforms.
1368 ([#670](https://github.com/nix-rust/nix/pull/670))
1370 ## [0.8.1] 2017-04-16
1373 - Fixed build on FreeBSD. (Cherry-picked
1374 [a859ee3c](https://github.com/nix-rust/nix/commit/a859ee3c9396dfdb118fcc2c8ecc697e2d303467))
1376 ## [0.8.0] 2017-03-02
1379 - Added `::nix::sys::termios::BaudRate` enum to provide portable baudrate
1380 values. ([#518](https://github.com/nix-rust/nix/pull/518))
1381 - Added a new `WaitStatus::PtraceEvent` to support ptrace events on Linux
1382 and Android ([#438](https://github.com/nix-rust/nix/pull/438))
1383 - Added support for POSIX AIO
1384 ([#483](https://github.com/nix-rust/nix/pull/483))
1385 ([#506](https://github.com/nix-rust/nix/pull/506))
1386 - Added support for XNU system control sockets
1387 ([#478](https://github.com/nix-rust/nix/pull/478))
1388 - Added support for `ioctl` calls on BSD platforms
1389 ([#478](https://github.com/nix-rust/nix/pull/478))
1390 - Added struct `TimeSpec`
1391 ([#475](https://github.com/nix-rust/nix/pull/475))
1392 ([#483](https://github.com/nix-rust/nix/pull/483))
1393 - Added complete definitions for all kqueue-related constants on all supported
1395 ([#415](https://github.com/nix-rust/nix/pull/415))
1396 - Added function `epoll_create1` and bitflags `EpollCreateFlags` in
1398 ([#410](https://github.com/nix-rust/nix/pull/410))
1399 - Added `setresuid` and `setresgid` for Linux in `::nix::unistd`
1400 ([#448](https://github.com/nix-rust/nix/pull/448))
1401 - Added `getpgid` in `::nix::unistd`
1402 ([#433](https://github.com/nix-rust/nix/pull/433))
1403 - Added `tcgetpgrp` and `tcsetpgrp` in `::nix::unistd`
1404 ([#451](https://github.com/nix-rust/nix/pull/451))
1405 - Added `CLONE_NEWCGROUP` in `::nix::sched`
1406 ([#457](https://github.com/nix-rust/nix/pull/457))
1407 - Added `getpgrp` in `::nix::unistd`
1408 ([#491](https://github.com/nix-rust/nix/pull/491))
1409 - Added `fchdir` in `::nix::unistd`
1410 ([#497](https://github.com/nix-rust/nix/pull/497))
1411 - Added `major` and `minor` in `::nix::sys::stat` for decomposing `dev_t`
1412 ([#508](https://github.com/nix-rust/nix/pull/508))
1413 - Fixed the style of many bitflags and use `libc` in more places.
1414 ([#503](https://github.com/nix-rust/nix/pull/503))
1415 - Added `ppoll` in `::nix::poll`
1416 ([#520](https://github.com/nix-rust/nix/pull/520))
1417 - Added support for getting and setting pipe size with fcntl(2) on Linux
1418 ([#540](https://github.com/nix-rust/nix/pull/540))
1421 - `::nix::sys::termios::{cfgetispeed, cfsetispeed, cfgetospeed, cfsetospeed}`
1423 ([#518](https://github.com/nix-rust/nix/pull/518))
1424 - `epoll_ctl` now could accept None as argument `event`
1426 ([#480](https://github.com/nix-rust/nix/pull/480))
1427 - Removed the `bad` keyword from the `ioctl!` macro
1428 ([#478](https://github.com/nix-rust/nix/pull/478))
1429 - Changed `TimeVal` into an opaque Newtype
1430 ([#475](https://github.com/nix-rust/nix/pull/475))
1431 - `kill`'s signature, defined in `::nix::sys::signal`, changed, so that the
1434 `Some`-argument will result in the previous behavior for the contained
1436 ([#445](https://github.com/nix-rust/nix/pull/445))
1437 - The minimum supported version of rustc is now 1.7.0.
1438 ([#444](https://github.com/nix-rust/nix/pull/444))
1439 - Changed `KEvent` to an opaque structure that may only be modified by its
1441 ([#415](https://github.com/nix-rust/nix/pull/415))
1442 ([#442](https://github.com/nix-rust/nix/pull/442))
1443 ([#463](https://github.com/nix-rust/nix/pull/463))
1444 - `pipe2` now calls `libc::pipe2` where available. Previously it was emulated
1446 ([#427](https://github.com/nix-rust/nix/pull/427))
1447 - Renamed `EpollEventKind` to `EpollFlags` in `::nix::sys::epoll` in order for
1449 ([#410](https://github.com/nix-rust/nix/pull/410))
1450 - `EpollEvent` in `::nix::sys::epoll` is now an opaque proxy for
1451 `::libc::epoll_event`. The formerly public field `events` is now be read-only
1454 ([#410](https://github.com/nix-rust/nix/pull/410))
1455 - `SigFlags` in `::nix::sys::signal` has be renamed to `SigmaskHow` and its type
1457 ([#460](https://github.com/nix-rust/nix/pull/460))
1458 - `sethostname` now takes a `&str` instead of a `&[u8]` as this provides an API
1460 - `gethostname` previously did not expose the actual length of the hostname
1463 NUL-terminated (this is not guaranteed by the call with all platforms/libc
1465 - Exposed all fcntl(2) operations at the module level, so they can be
1467 ([#541](https://github.com/nix-rust/nix/pull/541))
1470 - Fixed multiple issues with Unix domain sockets on non-Linux OSes
1471 ([#474](https://github.com/nix-rust/nix/pull/415))
1472 - Fixed using kqueue with `EVFILT_USER` on FreeBSD
1473 ([#415](https://github.com/nix-rust/nix/pull/415))
1474 - Fixed the build on FreeBSD, and fixed the getsockopt, sendmsg, and recvmsg
1476 ([#397](https://github.com/nix-rust/nix/pull/397))
1477 - Fixed an off-by-one bug in `UnixAddr::new_abstract` in `::nix::sys::socket`.
1478 ([#429](https://github.com/nix-rust/nix/pull/429))
1479 - Fixed clone passing a potentially unaligned stack.
1480 ([#490](https://github.com/nix-rust/nix/pull/490))
1481 - Fixed mkdev not creating a `dev_t` the same way as libc.
1482 ([#508](https://github.com/nix-rust/nix/pull/508))
1484 ## [0.7.0] 2016-09-09
1487 - Added `lseek` and `lseek64` in `::nix::unistd`
1488 ([#377](https://github.com/nix-rust/nix/pull/377))
1489 - Added `mkdir` and `getcwd` in `::nix::unistd`
1490 ([#416](https://github.com/nix-rust/nix/pull/416))
1491 - Added accessors `sigmask_mut` and `sigmask` to `UContext` in
1493 ([#370](https://github.com/nix-rust/nix/pull/370))
1494 - Added `WUNTRACED` to `WaitPidFlag` in `::nix::sys::wait` for non-_linux_
1496 ([#379](https://github.com/nix-rust/nix/pull/379))
1497 - Added new module `::nix::sys::reboot` with enumeration `RebootMode` and
1499 ([#386](https://github.com/nix-rust/nix/pull/386))
1500 - `FdSet` in `::nix::sys::select` now also implements `Clone`.
1501 ([#405](https://github.com/nix-rust/nix/pull/405))
1502 - Added `F_FULLFSYNC` to `FcntlArg` in `::nix::fcntl` for _apple_ targets.
1503 ([#407](https://github.com/nix-rust/nix/pull/407))
1504 - Added `CpuSet::unset` in `::nix::sched`.
1505 ([#402](https://github.com/nix-rust/nix/pull/402))
1506 - Added constructor method `new()` to `PollFd` in `::nix::poll`, in order to
1508 ([#399](https://github.com/nix-rust/nix/pull/399))
1509 - Added method `revents()` to `PollFd` in `::nix::poll`, in order to provide
1511 ([#399](https://github.com/nix-rust/nix/pull/399))
1512 - Added `MSG_CMSG_CLOEXEC` to `MsgFlags` in `::nix::sys::socket` for _linux_ only.
1513 ([#422](https://github.com/nix-rust/nix/pull/422))
1516 - Replaced the reexported integer constants for signals by the enumeration
1518 ([#362](https://github.com/nix-rust/nix/pull/362))
1519 - Renamed `EventFdFlag` to `EfdFlags` in `::nix::sys::eventfd`.
1520 ([#383](https://github.com/nix-rust/nix/pull/383))
1521 - Changed the result types of `CpuSet::is_set` and `CpuSet::set` in
1524 ([#402](https://github.com/nix-rust/nix/pull/402))
1525 - `MqAttr` in `::nix::mqueue` is now an opaque proxy for `::libc::mq_attr`,
1529 ([#392](https://github.com/nix-rust/nix/pull/392))
1530 - The parameter `msq_prio` of `mq_receive` with type `u32` in `::nix::mqueue`
1533 ([#392](https://github.com/nix-rust/nix/pull/392))
1534 - The type alias `MQd` in `::nix::queue` was replaced by the type alias
1536 ([#392](https://github.com/nix-rust/nix/pull/392))
1539 - Type alias `SigNum` from `::nix::sys::signal`.
1540 ([#362](https://github.com/nix-rust/nix/pull/362))
1541 - Type alias `CpuMask` from `::nix::shed`.
1542 ([#402](https://github.com/nix-rust/nix/pull/402))
1543 - Removed public fields from `PollFd` in `::nix::poll`. (See also added method
1545 ([#399](https://github.com/nix-rust/nix/pull/399))
1548 - Fixed the build problem for NetBSD (Note, that we currently do not support
1550 ([#389](https://github.com/nix-rust/nix/pull/389))
1551 - Fixed the build on FreeBSD, and fixed the getsockopt, sendmsg, and recvmsg
1553 ([#397](https://github.com/nix-rust/nix/pull/397))
1555 ## [0.6.0] 2016-06-10
1558 - Added `gettid` in `::nix::unistd` for _linux_ and _android_.
1559 ([#293](https://github.com/nix-rust/nix/pull/293))
1560 - Some _mips_ support in `::nix::sched` and `::nix::sys::syscall`.
1561 ([#301](https://github.com/nix-rust/nix/pull/301))
1562 - Added `SIGNALFD_SIGINFO_SIZE` in `::nix::sys::signalfd`.
1563 ([#309](https://github.com/nix-rust/nix/pull/309))
1564 - Added new module `::nix::ucontext` with struct `UContext`. Currently for
1566 ([#311](https://github.com/nix-rust/nix/pull/311))
1567 - Added `EPOLLEXCLUSIVE` to `EpollEventKind` in `::nix::sys::epoll`.
1568 ([#330](https://github.com/nix-rust/nix/pull/330))
1569 - Added `pause` to `::nix::unistd`.
1570 ([#336](https://github.com/nix-rust/nix/pull/336))
1571 - Added `sleep` to `::nix::unistd`.
1572 ([#351](https://github.com/nix-rust/nix/pull/351))
1573 - Added `S_IFDIR`, `S_IFLNK`, `S_IFMT` to `SFlag` in `::nix::sys::stat`.
1574 ([#359](https://github.com/nix-rust/nix/pull/359))
1575 - Added `clear` and `extend` functions to `SigSet`'s implementation in
1577 ([#347](https://github.com/nix-rust/nix/pull/347))
1578 - `sockaddr_storage_to_addr` in `::nix::sys::socket` now supports `sockaddr_nl`
1580 ([#366](https://github.com/nix-rust/nix/pull/366))
1581 - Added support for `SO_ORIGINAL_DST` in `::nix::sys::socket` on _linux_.
1582 ([#367](https://github.com/nix-rust/nix/pull/367))
1583 - Added `SIGINFO` in `::nix::sys::signal` for the _macos_ target as well as
1584 `SIGPWR` and `SIGSTKFLT` in `::nix::sys::signal` for non-_macos_ targets.
1585 ([#361](https://github.com/nix-rust/nix/pull/361))
1588 - Changed the structure `IoVec` in `::nix::sys::uio`.
1589 ([#304](https://github.com/nix-rust/nix/pull/304))
1590 - Replaced `CREATE_NEW_FD` by `SIGNALFD_NEW` in `::nix::sys::signalfd`.
1591 ([#309](https://github.com/nix-rust/nix/pull/309))
1592 - Renamed `SaFlag` to `SaFlags` and `SigFlag` to `SigFlags` in
1594 ([#314](https://github.com/nix-rust/nix/pull/314))
1595 - Renamed `Fork` to `ForkResult` and changed its fields in `::nix::unistd`.
1596 ([#332](https://github.com/nix-rust/nix/pull/332))
1597 - Added the `signal` parameter to `clone`'s signature in `::nix::sched`.
1598 ([#344](https://github.com/nix-rust/nix/pull/344))
1599 - `execv`, `execve`, and `execvp` now return `Result<Void>` instead of
1601 ([#357](https://github.com/nix-rust/nix/pull/357))
1604 - Improved the conversion from `std::net::SocketAddr` to `InetAddr` in
1606 ([#335](https://github.com/nix-rust/nix/pull/335))
1608 ## [0.5.0] 2016-03-01