-
Notifications
You must be signed in to change notification settings - Fork 228
Closed
Labels
semver bumpIssues that will require a semver-incompatible fixIssues that will require a semver-incompatible fix
Description
Here's a planning issue for a 1.0 release, similar to the one for the 0.38 release. Hopefully we won't need a semver bump for a good long while, but when we do, here's the list of changes we can make:
- Remove the deprecated mount functions in the
fsmodule (details) - Make the underlying type of
rustix::fs::Accessconsistent between linux_raw and libc backends (Port 1.0-staging to main #1152) - Rename
mount_recursive_bindtomount_bind_recursive? Factor out a new top-levelmountmodule. #763 (comment) (Renamemount_recursive_bindtomount_bind_recursive. #1273) - Change
SeekFrom::HoleandSeekFrom::Data's field fromi64tou64. (Make the offsets forSeekFrom'sHoleandDataunsigned. #1266) - rename
Shutdown::ReadWritetoShutdown::Bothto align with std (RenameShutdown::ReadWritetoShutdown::Both. #1264) - remove the
features = ["extra_traits"]from the libc dependency (Remove the "libc-extra-traits" feature. #1168) - move (or perhaps alias?)
sched_yieldand othersched_*functions fromprocesstothread, since they apply to threads rather than processes on Linux etc. (Movesched_*andmembarrier_*intorustix::thread. #1265) -
stx_mtimeand similar members ofStatxshould bei64, because Unix timestamps can be negative. -
futex's first argument should beAtomic - Remove
get_from sockopt getters, following Rust convention. Consider removingget_in other things too. (Rename sockopts getters to remove the "get_". #1269) - The
udataargument torustix::event::kqueue::Event::newshould be a pointer instead of anisizein order to better preserve provenance. (Make APIs preserve strict provenance. #1270) - The
stx_attributes_maskfield ofStatxwith flags likelibc::STATX_ATTR_MOUNT_ROOTshould ideally be a bitflags, which requires makingStatxa custom type (which should match layout withlibc::statx). (Reorganize Stat, Statx, and SockaddrStorage #1282) - Rename
get_*functions (eg. sockopts) to remove theget_prefix, which is more idiomatic Rust? - Rename
MountPropagationFlags::SLAVE(Rename a flag inMountPropagationFlags. #1169) - Rename some of
WaitidOptions,WaitidStatus, and/orWaitIdto make the capitalization ofIdconsistent (RenameWaidid*toWaidId*, for consistency withWaitId. #1267) - Remove the
inotify_prefixes from things in thefs::inotifymodule. - Remove the
shm_andShmprefixes from things in theshmmodule. - Figure out a way to do a
recvinto an uninitialized buffer with theTRUNCflag set (see Fixrecv_uninitto handle theTRUNCflag. #1159) (Report the number of received bytes inrecv_uninitandrecvfrom_uninit. #1278) - remove rustix::procfs and publish rustix-linux-procfs as the replacement (Remove procfs. #1275)
- remove linux-raw-sys from the public API (Port 1.0-staging to main #1152) (Remove most linux-raw-sys types from the public API #1277) (Reorganize Stat, Statx, and SockaddrStorage #1282)
- change
io_uring_register_files_skipfrom aconst fnto a constant. (Replace theio_uring_register_files_skipfunction with a constant. #1268)
Deferring for now:
- move rustix::thread sleep functions into a new rustix::sleep module, because they're usable from single-threaded programs too
- Move
Dirinto its own crate, and have rustix exportgetdentsdirectly? - Split
openandopenatinto separate functions for "create" which needs a mode vs. "open existing" which doesn't need a mode? - Make
RecvAncillaryBuffer::drainalways remove all messages, even if the iterator isn't exhausted. With that, we can remove theread_and_lengthinAncillaryDrain. - Replace
rustix::cstr!with something likerustix::nativestr!so that users don't hard code "native strings are C strings" in their code? - rename
Arg::as_strto avoid "a method with this name may be added to the standard library in the future" warnings rustix::process::waitpidhas no way to wait for specific process groups (Pidnow requires non-negative values).waitpgidhas been added as a temporary workaround.- remove libc from the public API (Port 1.0-staging to main #1152) (Remove most linux-raw-sys types from the public API #1277)
Don't do these:
set_ip_add_membership/get_ip_add_membershipshould takeaddressandifindexarguments and*_with_ifindexshould be removed.- Rename
ClockId::Uptimeon FreeBSD toBoottime, since it's an alias
wllenyj and ghishadow
Metadata
Metadata
Assignees
Labels
semver bumpIssues that will require a semver-incompatible fixIssues that will require a semver-incompatible fix