0.38.0
-
Meta:
- Rust 1.63
- bitflags 2
- significant compile-time improvements
-
Some APIs were factored out into new toplevel API modules, with their
corresponding cargo feature flags:rustix::event, forepoll,eventfd, andpollrustix::pipe, forpipe,tee,splice, and related functionsrustix::procfs, for procfs-related APIsrustix::stdio, for*std{in,out,err}rustix::system, foruname,sysinfo, andsethostname
-
rustix::iochanges:SeekFromwas moved torustix::fs.
-
rustix::netchanges:socketnow takes anOption<Protocol>andProtocolno longer implementsDefault; changeProtocol::default()toNone.sendmsg_noaddris renamed tosendmsg.getsockopt_nosigpipeandsetsockopt_nosigpipeare renamed toget_socket_nosigpipeandset_socket_nosigpipe.AcceptFlagsis renamed toSocketFlags.
-
rustix::eventchanges:epollchanges:epoll::epoll_add,epoll::epoll_mod, andepoll::epoll_delwere renamed toepoll::add,epoll::modify, andepoll::delete.- The
EventVeciterator now returnsEvents rather than tuples. epoll::Event::datais changed from au64to a customEventDatatype which can hold either au64or a*mut c_void.
-
rustix::fschanges:rustix::fs::chmodat_withis renamed torustix::fs::chmodat.rustix::fs::cwd()is replaced withrustix::fs::CWD.- Non-
*atversions of several functions that implicitly operate onCWDwere also added.
- Non-
-
rustix::termioschanges:- The API now fully supports arbitrary speeds. The
cfsetispeed,cfsetospeed,cfsetspeed,tcsetattr2, andtcgetattr2functions, as well as theCBAUDandCIBAUDconstants, are replaced byset_input_speed,set_output_speed, andset_speedfunctions onTermios. - The speed macros such as
B9600are no longer required (B9600now always has the value 9600, and so on for all the other speed macros), but they can still be used. They're now in therustix::termios::speedmodule. cfmakerawis now calledTermios::make_raw.
- The API now fully supports arbitrary speeds. The
-
rustix::processchanges:Pid::from_rawis no longerunsafe.Pid::from_raw_nonzerois removed, and a newPid::from_raw_uncheckedis added.ReaperStatus::pidis now anOption<Pid>, as the OS doesn't always provide it.
-
rustix::io_uringchanges:io_uring_cqenow supports thebig_cqefield, and no longer implementsCopyandClone.