Skip to content

Releases: rust-lang/libc

0.2.168

09 Dec 09:43
Compare
Choose a tag to compare

Added

  • Linux: Add new process flags (#4174)
  • Linux: Make IFA_* constants available on all Linux targets #4185
  • Linux: add MAP_DROPPABLE #4173
  • Solaris, Illumos: add SIGRTMIN and SIGRTMAX #4171
  • Unix, Linux: adding POSIX memccpy and mempcpy GNU extension <#4186.

Deprecated

  • FreeBSD: Deprecate the CAP_UNUSED* and CAP_ALL* constants (#4183)

Fixed

  • Make the Debug implementation for unions opaque (#4176)

Other

  • Allow the unpredictable_function_pointer_comparisons lint where needed #4177
  • CI: Upload artifacts created by libc-test #4180
  • CI: Use workflow commands to group output by target #4179
  • CI: add caching #4183

0.2.167

29 Nov 10:23
Compare
Choose a tag to compare

Added

  • Solarish: add st_fstype to stat #4145
  • Trusty: Add intptr_t and uintptr_t (#4161)

Fixed

  • Fix the build with rustc-dep-of-std #4158
  • Wasi: Add back unsafe block for clockid_t static variables (#4157)

Cleanup

  • Create an internal prelude #4161
  • Fix unused_qualifications#4132

Other

  • CI: Check various FreeBSD versions (#4159)
  • CI: add a timeout for all jobs #4164
  • CI: verify MSRV for wasm32-wasi #4157
  • Migrate to the 2021 edition #4132

Removed

  • Remove one unused import after the edition 2021 bump

0.2.166

26 Nov 22:55
Compare
Choose a tag to compare

Fixed

This release resolves two cases of unintentional breakage from the previous release:

  • Revert removal of array size hacks #4150
  • Ensure const extern functions are always enabled #4151

0.2.165

25 Nov 21:35
Compare
Choose a tag to compare

Added

  • Android: add mkostemp, mkostemps #3601
  • Android: add a few API 30 calls #3604
  • Android: add missing syscall constants #3558
  • Apple: add in6_ifreq #3617
  • Apple: add missing sysctl net types #4022 (before release: remove if_family_id (#4137))
  • Freebsd: add kcmp call support #3746
  • Hurd: add MAP_32BIT and MAP_EXCL #4127
  • Hurd: add domainname field to utsname (#4089)
  • Linux GNU: add f_flags to struct statfs for arm, mips, powerpc and x86 #3663
  • Linux GNU: add malloc_stats #3596
  • Linux: add ELF relocation-related structs #3583
  • Linux: add ptp_* structs #4113
  • Linux: add ptp_clock_caps #4128
  • Linux: add ptp_pin_function and most PTP_ constants #4114
  • Linux: add missing AF_XDP structs & constants #3956
  • Linux: add missing netfilter consts (#3734)
  • Linux: add struct and constants for the mount_setattr syscall #4046
  • Linux: add wireless API #3441
  • Linux: expose the len8_dlc field of can_frame #3357
  • Musl: add utmpx API #3213
  • Musl: add missing syscall constants #4028
  • NetBSD: add mcontext-related data for RISCV64 #3468
  • Redox: add new netinet constants #3586)
  • Solarish: add _POSIX_VDISABLE (#4103)
  • Tests: Add a test that the const extern fn macro works #4134
  • Tests: Add test of primitive types against std #3616
  • Unix: Add htonl, htons, ntohl, ntohs #3669
  • Unix: add aligned_alloc #3843
  • Windows: add aligned_realloc #3592

Fixed

  • breaking Hurd: fix MAP_HASSEMAPHORE name (#4127)
  • breaking ulibc Mips: fix SA_* mismatched types (#3211)
  • Aix: fix an enum FFI safety warning #3644
  • Haiku: fix some typos (#3664)
  • Tests: fix Elf{32,64}_Relr-related tests #3647
  • Tests: fix libc-tests for loongarch64-linux-musl
  • Tests: fix some clippy warnings #3855
  • Tests: fix tests on riscv64gc-unknown-freebsd #4129

Deprecated

  • Apple: deprecate iconv_open 25e022a
  • Apple: deprecate mach_task_self #4095
  • Apple: update mach deprecation notices for things that were removed in main #4097

Cleanup

  • Adjust the f! macro to be more flexible #4107
  • Aix: remove duplicate constants #3643
  • CI: make scripts more uniform #4042
  • Drop the libc_align conditional b5b553d
  • Drop the libc_cfg_target_vendor conditional #4060
  • Drop the libc_const_size_of conditional 5a43dd2
  • Drop the libc_core_cvoid conditional #4060
  • Drop the libc_int128 conditional #4060
  • Drop the libc_non_exhaustive conditional #4060
  • Drop the libc_packedN conditional #4060
  • Drop the libc_priv_mod_use conditional 19c5937
  • Drop the libc_union conditional b9e4d80
  • Drop the long_array conditional #4096
  • Drop the ptr_addr_of conditional #4065
  • Drop warnings about deprecated cargo features #4060
  • Eliminate uses of struct_formatter #4074
  • Fix a few other array size hacks d63be8b
  • Glibc: remove redundant definitions (#3261)
  • Musl: remove redundant definitions (#3261)
  • Musl: unify definitions of siginfo_t (#3261)
  • Musl: unify definitions of statfs and statfs64 (#3261)
  • Musl: unify definitions of statvfs and statvfs64 (#3261)
  • Musl: unify statx definitions (#3978)
  • Remove array size hacks for Rust < 1.47 27ee6fe
  • Remove repetitive words 77de375
  • Use #[derive] for Copy/Clone in s! and friends #4038
  • Use some tricks to format macro bodies #4107

Other

  • Apply formatting to macro bodies #4107
  • Bump libc-test to Rust 2021 Edition #3905
  • CI: Add a check that semver files don't contain duplicate entries #4087
  • CI: Add fanotify_event_info_fid to FAM-exempt types #4038
  • CI: Allow rustfmt to organize imports (#4136)
  • CI: Always run rustfmt #4120
  • CI: Change 32-bit Docker images to use EOL repos #4120
  • CI: Change 64-bit Docker images to ubuntu:24.10 #4120
  • CI: Disable the check for >1 s! invocation #4107
  • CI: Ensure build channels get run even if FILTER is unset #4125
  • CI: Ensure there is a fallback for no_std #4125
  • CI: Fix cases where unset variables cause errors #4108
  • CI: Naming adjustments and cleanup #4124
  • CI: Only invoke rustup if running in CI #4107
  • CI: Remove the logic to handle old rust versions #4068
  • CI: Set -u (error on unset) in all script files #4108
  • CI: add support for loongarch64-unknown-linux-musl #4092
  • CI: make aarch64-apple-darwin not a nightly-only target #4068
  • CI: run shellcheck on all scripts #4042
  • CI: update musl headers to Linux 6.6 #3921
  • CI: use qemu-sparc64 to run sparc64 tests #4133
  • Drop the libc_const_extern_fn conditional 674cc1f
  • Drop the libc_underscore_const_names conditional f0febd5
  • Explicitly set the edition to 2015 #4058
  • Introduce a git-blame-ignore-revs file #4107
  • Tests: Ignore fields as required on Ubuntu 24.10 #4120
  • Tests: skip ATF_* constants for OpenBSD #4088
  • Triagebot: Add an autolabel for CI #4052

0.2.164

16 Nov 10:29
Compare
Choose a tag to compare

MSRV

This release increases the MSRV of libc to 1.63.

Other

  • CI: remove tests with rust < 1.63 #4051
  • MSRV: document the MSRV of the stable channel to be 1.63 #4040
  • MacOS: move ifconf to s_no_extra_traits #4051

0.2.163

16 Nov 08:48
Compare
Choose a tag to compare

Added

  • Aix: add more dlopen flags #4044
  • Android: add group calls #3499
  • FreeBSD: add TCP_FUNCTION_BLK and TCP_FUNCTION_ALIAS #4047
  • Linux: add confstr #3612
  • Solarish: add aio #4033
  • Solarish: add arc4random* #3944

Changed

  • Emscripten: upgrade emsdk to 3.1.68 #3962
  • Hurd: use more standard types #3733
  • Hurd: use the standard ssize_t = isize #4029
  • Solaris: fix confstr and ucontext_t #4035

Other

  • CI: add Solaris #4035
  • CI: add i686-unknown-freebsd #3997
  • CI: ensure that calls to sort do not depend on locale #4026
  • Specify rust-version in Cargo.toml #4041

0.2.162

07 Nov 12:41
Compare
Choose a tag to compare

Added

  • Android: fix the alignment of uc_mcontext on arm64 #3894
  • Apple: add host_cpu_load_info #3916
  • ESP-IDF: add a time flag #3993
  • FreeBSD: add the CLOSE_RANGE_CLOEXEC flag#3996
  • FreeBSD: fix test errors regarding __gregset_t #3995
  • FreeBSD: fix tests on x86 FreeBSD 15 #3948
  • FreeBSD: make ucontext_t and mcontext_t available on all architectures #3848
  • Haiku: add getentropy #3991
  • Illumos: add syncfs #3990
  • Illumos: add some recently-added constants #3999
  • Linux: add ioctl flags #3960
  • Linux: add epoll busy polling parameters #3922
  • NuttX: add pthread_[get/set]name_np #4003
  • RTEMS: add arc4random_buf #3989
  • Trusty OS: add initial support #3942
  • WASIp2: expand socket support #3981

Fixed

  • Emscripten: don't pass -lc #4002
  • Hurd: change st_fsid field to st_dev #3785
  • Hurd: fix the definition of utsname #3992
  • Illumos/Solaris: fix FNM_CASEFOLD definition #4004
  • Solaris: fix all tests #3864

Other

  • CI: Add loongarch64 #4000
  • CI: Check that semver files are sorted #4018
  • CI: Re-enable the FreeBSD 15 job #3988
  • Clean up imports and extern crate usage #3897
  • Convert mode_t constants to octal #3634
  • Remove the wasm32-wasi target that has been deleted upstream #4013

0.2.161

17 Oct 19:11
Compare
Choose a tag to compare

Fixed

  • OpenBSD: fix FNM_PATHNAME and FNM_NOESCAPE values #3983

0.2.160

17 Oct 04:50
Compare
Choose a tag to compare

Added

  • Android: add PR_GET_NAME and PR_SET_NAME #3941
  • Apple: add F_TRANSFEREXTENTS #3925
  • Apple: add mach_error_string #3913
  • Apple: add additional pthread APIs #3846
  • Apple: add the LOCAL_PEERTOKEN socket option #3929
  • BSD: add RTF_*, RTA_*, RTAX_*, and RTM_* definitions #3714
  • Emscripten: add AT_EACCESS #3911
  • Emscripten: add getgrgid, getgrnam, getgrnam_r and getgrgid_r #3912
  • Emscripten: add getpwnam_r and getpwuid_r #3906
  • FreeBSD: add POLLRDHUP #3936
  • Haiku: add arc4random #3945
  • Illumos: add ptsname_r #3867
  • Linux: add fanotify interfaces #3695
  • Linux: add tcp_info #3480
  • Linux: add additional AF_PACKET options #3540
  • Linux: make Elf constants always available #3938
  • Musl x86: add iopl and ioperm #3720
  • Musl: add posix_spawn chdir functions #3949
  • Musl: add utmpx.h constants #3908
  • NetBSD: add sysctlnametomib, CLOCK_THREAD_CPUTIME_ID and CLOCK_PROCESS_CPUTIME_ID #3927
  • Nuttx: initial support #3909
  • RTEMS: add getentropy #3973
  • RTEMS: initial support #3866
  • Solarish: add POLLRDHUP, POSIX_FADV_*, O_RSYNC, and posix_fallocate #3936
  • Unix: add fnmatch.h #3937
  • VxWorks: add riscv64 support #3935
  • VxWorks: update constants related to the scheduler #3963

Changed

  • Redox: change ino_t to be c_ulonglong #3919

Fixed

  • ESP-IDF: fix mismatched constants and structs #3920
  • FreeBSD: fix struct stat on FreeBSD 12+ #3946

Other

  • CI: Fix CI for FreeBSD 15 #3950
  • Docs: link to windows-sys #3915

0.2.159

24 Sep 15:06
7373a1a
Compare
Choose a tag to compare

Added

  • Android: add more AT_* constants in #3779
  • Apple: add missing NOTE_* constants in #3883
  • Hermit: add missing error numbers in #3858
  • Hurd: add __timeval for 64-bit support in #3786
  • Linux: add epoll_pwait2 in #3868
  • Linux: add mq_notify in #3849
  • Linux: add missing NFT_CT_* constants in #3844
  • Linux: add the fchmodat2 syscall in #3588
  • Linux: add the mseal syscall in #3798
  • OpenBSD: add sendmmsg and recvmmsg in #3831
  • Unix: add IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT in #3693
  • VxWorks: add S_ISVTX in #3768
  • VxWorks: add vxCpuLib and taskLib functions #3861
  • WASIp2: add definitions for std::net support in #3892

Fixed

  • Correctly handle version checks when clippy-driver is used #3893

Changed

  • EspIdf: change signal constants to c_int in #3895
  • HorizonOS: update network definitions in #3863
  • Linux: combine ioctl APIs in #3722
  • WASI: enable CI testing in #3869
  • WASIp2: enable CI testing in #3870