Skip to content

Lockfile maintenance - #60

Merged
mergify[bot] merged 1 commit into
mainfrom
automation/lockfile-maintenance
Oct 9, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
automation/lockfile-maintenance

Conversation

@lockfile-maintenance

@lockfile-maintenance lockfile-maintenance Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Update selected lockfiles with a minimum release age of 3 days.

The package managers' native exceptions still apply. Validate updates with the repository's PR CI.

Version changes

Versions are grouped by package name. — means the package was not present.

Cargo.lock

Package Before After Change History
libc 0.2.189 0.2.190 patch Release history
libc — 0.2.189 → 0.2.190 (1 release)

Back to version changes · Compare · CHANGELOG.md · Releases

0.2.190

There is now a single config for enabling 64-bit time_t: libc_unstable_time64. This can be set unconditionally; it opts in to 64-bit time_t on the following platforms that use 32-bit by default:

  • 32-bit Linux-GNU
  • 32-bit Linux-uClibc
  • 32-bit Linux-musl. Note that setting this flag also enables some other changes that happend in musl v1.2.
  • 32-bit Windows-GNU
  • ESP-IDF (all targets with this environment are 32-bit)

Most other 32-bit platforms are either already using 64-bit time_t, or are considered legacy and will not be gaining support from their upstream maintainers.

You can enable this using RUSTFLAGS:

RUSTFLAGS='--cfg=libc_unstable_time64' cargo ...

Note that there may still be some changes to features gated by this config option, hence "unstable" in its name. In the near future we will rename it to just libc_time64. Until then, please test it out and report any bugs you find!

Support

  • Add initial support for HelenOS (#4355)

Added

We are slowly filling out the Default implementations, to reduce the need for mem::zeroed() in user code:

  • Unix: Implement Default for a number of structs, especially on Apple platforms (#5576)
  • Linux, NetBSD: Give statvfs a Default impl (#5583)
  • Linux: Add Default to a linux/can.rs structs (#5257)

Other additions:

  • Expose the libc_unstable_time64 cfg (#5411)
  • Android, Glibc: Add pthread_gettid_np (#5359)
  • Android: Add RTLD_NEXT (#5323)
  • Android: Add reuseport BPF socket options (#5366)
  • Apple: Add TCP header flags, options and SACK limits (#5358)
  • Apple: Add NET_RT_DUMP2 (#5442)
  • Apple: Add posix_spawn_file_actions_add(f)chdir(_np) (#5558)
  • BSD: Add BPF_WORDALIGN (#5320)
  • BSD: Add lchmod and lchflags where supported (#5400)
  • BSD: Add minherit and related constants (#4849)
  • Docs: Add more links to public headers and manual pages (#5407), (#5485)
  • Emscripten: Add epoll support (#5427)
  • FreeBSD: Add AT_RENAME_* and RENAME_* constants (#5560)
  • FreeBSD: Add renameat2 (#5563)
  • FreeBSD: Add rt_msghdr and rt_metrics (#5367)
  • Hurd: Add handling of LFS under libc_unstable_gnu_time_bits (#5242)
  • Linux-GNU: Add environ (#5339)
  • Linux-GNU: Add the new f_type field to statvfs and statvfs64 (#5434)
  • Linux-like: Add additional STATX_* constants (#5412)
  • Linux-musl, Emscripten: Add SIGEV_THREAD_ID (#5375)
  • Linux-musl: Add *_SUPER_MAGIC constants (#5453)
  • Linux-musl: Make statx always available (#5448)
  • Linux-s390x: Add max_align_t (#5389)
  • Linux: Add BCACHEFS_SUPER_MAGIC (#5516)
  • Linux: Add ETH_P_LLDP (#5438)
  • Linux: Add FUTEX_ROBUST_UNLOCK and FUTEX_ROBUST_LIST32 (#5525)
  • Linux: Add NLMSG_* helpers (#5321)
  • Linux: Update the definition of siginfo_t and add more getter functions (#5345)
  • Musl riscv64: Add SYS_futex_waitv (#5527)
  • Newlib: Add __errno (#5346)
  • OpenBSD: Add RTLD_NODELETE and RTLD_NOLOAD (#5377)
  • OpenBSD: Add getexecpath (#5465)
  • OpenBSD: Add bindings from sensors.h (#5510)
  • OpenBSD: Add missing HW_* sysctl constants (#5371)
  • QNX: Add definitions for io-sock (#5469)
  • Redox: Add FILENAME_MAX (#5530)
  • Redox: Add clock_settime and pause (#5363)
  • Redox: Add getrandom bindings (#5333)
  • Unix: Add RFC 3678 multicast group_req/group_source_req and MCAST_* where supported (#5236)
  • Unix: Add HOST_NAME_MAX (#5531)
  • Unix: Add _PATH_BSHELL and _PATH_DEFPATH where available (#5449)
  • WASI: Add SOCK_CLOEXEC (#5336)
  • WASI: Add locale category constants (#5378)
  • WASI: Add more pthread APIs (#5310)
  • uClibc: Support 64-bit time_t on 32-bit platforms via cfg (#5261)

Deprecated

  • AIX: deprecate _kernel_simple_lock (#5380)
  • Deprecate integer *_MIN/*_MAX in favor of e.g. c_int::MAX (#5404)
  • Fuchsia: Deprecate types that do not exist upstream (#5127)
  • Hurd: Deprecate fallocate64, which does not exist on the platform (#5242)
  • Hurd: Deprecate redundant glob64 types and routines (#5242)
  • L4Re: deprecate LFS bindings (#5173)
  • OpenBSD: Deprecate syscall, mincore, and KERN_NSELCOLL, all of which have been removed upstream (87992e9895c2)
  • Unix: Deprecate the POSIX-obsoleted tmpnam, tempnam (#5478)

Fixed

  • breaking AIX: Change the type of BPF_ALIGNMENT to size_t to match upstream and harmonize with other platforms. (#5373)
  • breaking Apple: change the type of BPF_ALIGNMENT to size_t to match upstream and harmonize with other platforms. (#5348)
  • Exclude non-required repository files from the published crate (#5312)
  • AIX: Correct the function signature in fileops_t.fo_select (#5380)
  • AIX: Fix the alignment of file (#5380)
  • Android: Add missing padding to ucontext_t (#5189)
  • Android: Fix the value of RISC-V O_ flags (#5554)
  • Fuchsia: Correct mcontext_t and ucontext_t and make them usable on more platforms (#5127)
  • Fuchsia: Fix available fields in glob_t and statvfs (#5127)
  • Fuchsia: Fix the definition of sigevent and correct the layout of other pthread.h types (#5127)
  • Haiku: Correct the definition of sem_t (#5351)
  • Linux-GNU: Fix the padding field in statvfs64 on 32-bit RISC-V (#5518)
  • Linux: Correct PowerPC64 speed symbols with elfv2 (#5342)
  • Linux: Fix syscall numbers on 32-bit RISC-V (#5455)
  • Musl riscv64: Fix the definition of ipc_perm (#5527)
  • Musl riscv64: Fix the name of the uc_flags field in ucontext_t (#5527)
  • NetBSD: Fix WIFSTOPPED (#5458)
  • Newlib: Update the time_t alias. This is a correction on Arm32 RTEMS (#5132)
  • NuttX: Correct O_ open flags (#5414)
  • RTEMS: Correct socket.h definitions (#5313)
  • RTEMS: Correct the size of clock and storage type aliases (#5450)
  • Redox: Correct signal.h types (#5436)

Changed

  • The unstable cfg libc_unstable_musl_v1_2_3 has been renamed to a more accurate libc_unstable_musl_v1_2. The old version will continue to work for now, but will be removed in 1-2 releases. (#5376)
  • AIX: Make function pointers in signatures unsafe (#5380)
  • Cygwin: Change POSIX_SPAWN_* flags to c_short (#5572)
  • Hermit: Make iovec fields public (#5460)
  • Improve the panic message for out-of-range fds in FD_* functions (#5528)
  • Musl riscv64: Fix the name of __riscv_mc_q_ext_state.__reserved and make it private (#5533)
  • Various: Make obsolete stat fields non-pub (#5542)
  • uClibc: No longer link to libutil (#5165)

Removed

libc exposed quite a bit of API on all Apple platforms that is not actually available anywhere other than MacOS. This release removes a number of these cases.

  • breaking Apple: Disable mach.h API on Apple mobile OSs (e6bfb187513c)
  • breaking Apple: Remove a large number of items from iOS, tvOS, watchOS, and visionOS that are only available on MacOS. (#5158)
  • breaking Apple: Remove the unsupported exec* and fork calls from tvOS and watchOS (#5158)

Additionally, this release cleans up a lot of API that has been deprecated since at least libc 0.2.100, released 2021-08-20.

  • breaking Android, Linux: remove unsound af_alg_iv trait implementations. The have been deprecated for a long time because they allowed out-of-bounds reads via safe functions. (444db4456f38)
  • breaking Remove most items that have been deprecated since before 0.2.100 (#5401)

Other removed items:

  • Dragonfly: Remove INHERIT_ZERO that does not exist upstream (#5587)
  • Musl riscv64: Remove GNU-gated REG_* definitions (#5527)
  • Musl riscv64: Remove non-esxistant REG_NARGS (#5527)

A huge thank you to our GSoC student Adam Martinez (@​dybucc) who did a huge amount of the time64 work, as well as many of the platform fixes!

Rebase

  • Rebase this PR by regenerating lockfiles from the latest base branch.

Check the box above or post a new PR comment with /lockfile rebase on its own line. Requires repository write access.

Workflow requirements and manual fallback

Enable App-based rebase handling with rebase: true in .github/lockfile-maintenance-auth.yml, or configure an Actions request handler as described below.

For Actions-based handling, the workflow must subscribe to pull_request_target: types: [edited] for the checkbox and issue_comment: types: [created] for comments, and configure the request-rebase job.
If these handlers are not configured, open the maintenance workflow and select Run workflow on the branch used for maintenance. This requires workflow_dispatch.

@lockfile-maintenance
lockfile-maintenance Bot force-pushed the automation/lockfile-maintenance branch from ee923ad to 8356d26 Compare October 9, 2026 09:29
@mergify

mergify Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 12 minutes 38 seconds in the queue, including 1 minute 43 seconds running CI.

Required conditions to merge

@mergify mergify Bot added the queued label Oct 9, 2026
mergify Bot added a commit that referenced this pull request Oct 9, 2026
Merged by Mergify Merge Queue
@mergify
mergify Bot merged commit 0bf3b33 into main Oct 9, 2026
8 checks passed
@mergify
mergify Bot deleted the automation/lockfile-maintenance branch October 9, 2026 18:07
@mergify mergify Bot removed the queued label Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant