Latest Results
Update rust crates (#907)
> [!NOTE]
> This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [indexmap](https://redirect.github.com/indexmap-rs/indexmap) |
workspace.dependencies | patch | `2.14.0` ā `2.14.2` |
| [js-sys](https://wasm-bindgen.github.io/wasm-bindgen/)
([source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/tree/HEAD/crates/js-sys))
| dependencies | patch | `0.3.104` ā `0.3.106` |
| [json5](https://redirect.github.com/callum-oakley/json5-rs) |
workspace.dependencies | patch | `1.3.1` ā `1.3.2` |
| [libc](https://redirect.github.com/rust-lang/libc) |
workspace.dependencies | patch | `0.2.180` ā `0.2.191` |
| [proptest](https://proptest-rs.github.io/proptest/proptest/index.html)
([source](https://redirect.github.com/proptest-rs/proptest)) |
workspace.dependencies | minor | `1.11.0` ā `1.12.0` |
| [serde_json](https://redirect.github.com/serde-rs/json) |
workspace.dependencies | patch | `1.0.151` ā `1.0.154` |
| [syn](https://redirect.github.com/dtolnay/syn) |
workspace.dependencies | patch | `3.0.3` ā `3.0.9` |
| [test-case](https://redirect.github.com/frondeus/test-case) |
workspace.dependencies | minor | `3.3.1` ā `3.4.0` |
| [thiserror](https://redirect.github.com/dtolnay/thiserror) |
workspace.dependencies | patch | `2.0.20` ā `2.0.21` |
| [wasm-bindgen](https://wasm-bindgen.github.io/wasm-bindgen)
([source](https://redirect.github.com/wasm-bindgen/wasm-bindgen)) |
dependencies | patch | `0.2.127` ā `0.2.129` |
| [zopfli](https://redirect.github.com/zopfli-rs/zopfli) | dependencies
| patch | `0.8.3` ā `0.8.4` |
---
### Release Notes
<details>
<summary>indexmap-rs/indexmap (indexmap)</summary>
###
[`v2.14.2`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2142-2026-09-04)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.14.1...2.14.2)
- Fix item hygiene in map and set macros. Previously, an internal `const
CAP`
could shadow the same name in the caller's namespace.
- Allow `const` initialization of empty `indexmap_with_default!` and
`indexset_with_default!`. The hasher may also be omitted if it's
inferrable.
###
[`v2.14.1`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#2141-2026-08-28)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.14.0...2.14.1)
- Simplify comparisons where `Equivalent` isn't needed (`Q = K`).
- Unify index assertions for bounds checks.
- Fix (or `expect`) clippy lints.
</details>
<details>
<summary>callum-oakley/json5-rs (json5)</summary>
###
[`v1.3.2`](https://redirect.github.com/callum-oakley/json5-rs/compare/1.3.1...1.3.2)
[Compare
Source](https://redirect.github.com/callum-oakley/json5-rs/compare/1.3.1...1.3.2)
</details>
<details>
<summary>rust-lang/libc (libc)</summary>
###
[`v0.2.191`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.191)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.190...0.2.191)
##### Support
- Emscripten: Support v4.0.12 to v6.0.11
([#​5610](https://redirect.github.com/rust-lang/libc/pull/5610))
##### Added
- Apple: Add `F_SETNOSIGPIPE` and `F_GETNOSIGPIPE`
([#​5609](https://redirect.github.com/rust-lang/libc/pull/5609))
- Apple: add `ifaliasreq` and `in6_aliasreq`
([#​5557](https://redirect.github.com/rust-lang/libc/pull/5557))
- FreeBSD: Add `PT_*` constants
([#​5625](https://redirect.github.com/rust-lang/libc/pull/5625))
- Haiku: Add `AI_*` and `NI_*` constants from netdb.h
([#​5585](https://redirect.github.com/rust-lang/libc/pull/5585))
- Hurd: Add `POSIX_SPAWN_*` flags
([#​5578](https://redirect.github.com/rust-lang/libc/pull/5578))
- NuttX: Add `AT_SYMLINK_NOFOLLOW`
([#​5614](https://redirect.github.com/rust-lang/libc/pull/5614))
- OpenBSD: Add `sensordev`
([#​5534](https://redirect.github.com/rust-lang/libc/pull/5534))
- QuRT: Add `isatty`
([#​5618](https://redirect.github.com/rust-lang/libc/pull/5618))
- WASI: Add `pthread_condattr_{get,set}clock`
([#​5626](https://redirect.github.com/rust-lang/libc/pull/5626))
##### Fixed
- FreeBSD-aarch64: Fix `gpregs` and `fpregs`
([#​5603](https://redirect.github.com/rust-lang/libc/pull/5603))
##### Changed
- AIX: Restore 'c_ulong' as the type of 'statvfs.f_fsid'.
([#​5616](https://redirect.github.com/rust-lang/libc/pull/5616))
- Android: Make `prop_info` an extern type
([#​5561](https://redirect.github.com/rust-lang/libc/pull/5561))
- Apple: Mach API is now available on non-MacOS targets again. This
should resolve some issues building ecosystem crates.
([#​5612](https://redirect.github.com/rust-lang/libc/pulls/5612)),
([#​5636](https://redirect.github.com/rust-lang/libc/pull/5636))
- FreeBSD: Add back `NOTE_PCTRLMASK` with a deprecation warning
([#​5600](https://redirect.github.com/rust-lang/libc/pull/5600))
###
[`v0.2.190`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.190)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.189...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`:
```sh
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](https://redirect.github.com/rust-lang/libc/pull/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](https://redirect.github.com/rust-lang/libc/pull/5576))
- Linux, NetBSD: Give `statvfs` a `Default` impl
([#​5583](https://redirect.github.com/rust-lang/libc/pull/5583))
- Linux: Add `Default` to a `linux/can.rs` structs
([#​5257](https://redirect.github.com/rust-lang/libc/pull/5257))
Other additions:
- Expose the `libc_unstable_time64` cfg
([#​5411](https://redirect.github.com/rust-lang/libc/pull/5411))
- Android, Glibc: Add `pthread_gettid_np`
([#​5359](https://redirect.github.com/rust-lang/libc/pull/5359))
- Android: Add `RTLD_NEXT`
([#​5323](https://redirect.github.com/rust-lang/libc/pull/5323))
- Android: Add reuseport BPF socket options
([#​5366](https://redirect.github.com/rust-lang/libc/pull/5366))
- Apple: Add TCP header flags, options and SACK limits
([#​5358](https://redirect.github.com/rust-lang/libc/pull/5358))
- Apple: Add `NET_RT_DUMP2`
([#​5442](https://redirect.github.com/rust-lang/libc/pull/5442))
- Apple: Add `posix_spawn_file_actions_add(f)chdir(_np)`
([#​5558](https://redirect.github.com/rust-lang/libc/pull/5558))
- BSD: Add `BPF_WORDALIGN`
([#​5320](https://redirect.github.com/rust-lang/libc/pull/5320))
- BSD: Add `lchmod` and `lchflags` where supported
([#​5400](https://redirect.github.com/rust-lang/libc/pull/5400))
- BSD: Add `minherit` and related constants
([#​4849](https://redirect.github.com/rust-lang/libc/pull/4849))
- Docs: Add more links to public headers and manual pages
([#​5407](https://redirect.github.com/rust-lang/libc/pull/5407)),
([#​5485](https://redirect.github.com/rust-lang/libc/pull/5485))
- Emscripten: Add epoll support
([#​5427](https://redirect.github.com/rust-lang/libc/pull/5427))
- FreeBSD: Add `AT_RENAME_*` and `RENAME_*` constants
([#​5560](https://redirect.github.com/rust-lang/libc/pull/5560))
- FreeBSD: Add `renameat2`
([#​5563](https://redirect.github.com/rust-lang/libc/pull/5563))
- FreeBSD: Add `rt_msghdr` and `rt_metrics`
([#​5367](https://redirect.github.com/rust-lang/libc/pull/5367))
- Hurd: Add handling of LFS under `libc_unstable_gnu_time_bits`
([#​5242](https://redirect.github.com/rust-lang/libc/pull/5242))
- Linux-GNU: Add `environ`
([#​5339](https://redirect.github.com/rust-lang/libc/pull/5339))
- Linux-GNU: Add the new `f_type` field to `statvfs` and `statvfs64`
([#​5434](https://redirect.github.com/rust-lang/libc/pull/5434))
- Linux-like: Add additional `STATX_*` constants
([#​5412](https://redirect.github.com/rust-lang/libc/pull/5412))
- Linux-musl, Emscripten: Add `SIGEV_THREAD_ID`
([#​5375](https://redirect.github.com/rust-lang/libc/pull/5375))
- Linux-musl: Add `*_SUPER_MAGIC` constants
([#​5453](https://redirect.github.com/rust-lang/libc/pull/5453))
- Linux-musl: Make `statx` always available
([#​5448](https://redirect.github.com/rust-lang/libc/pull/5448))
- Linux-s390x: Add `max_align_t`
([#​5389](https://redirect.github.com/rust-lang/libc/pull/5389))
- Linux: Add `BCACHEFS_SUPER_MAGIC`
([#​5516](https://redirect.github.com/rust-lang/libc/pull/5516))
- Linux: Add `ETH_P_LLDP`
([#​5438](https://redirect.github.com/rust-lang/libc/pull/5438))
- Linux: Add `FUTEX_ROBUST_UNLOCK` and `FUTEX_ROBUST_LIST32`
([#​5525](https://redirect.github.com/rust-lang/libc/pull/5525))
- Linux: Add `NLMSG_*` helpers
([#​5321](https://redirect.github.com/rust-lang/libc/pull/5321))
- Linux: Update the definition of `siginfo_t` and add more getter
functions
([#​5345](https://redirect.github.com/rust-lang/libc/pull/5345))
- Musl riscv64: Add `SYS_futex_waitv`
([#​5527](https://redirect.github.com/rust-lang/libc/pull/5527))
- Newlib: Add `__errno`
([#​5346](https://redirect.github.com/rust-lang/libc/pull/5346))
- OpenBSD: Add `RTLD_NODELETE` and `RTLD_NOLOAD`
([#​5377](https://redirect.github.com/rust-lang/libc/pull/5377))
- OpenBSD: Add `getexecpath`
([#​5465](https://redirect.github.com/rust-lang/libc/pull/5465))
- OpenBSD: Add bindings from `sensors.h`
([#​5510](https://redirect.github.com/rust-lang/libc/pull/5510))
- OpenBSD: Add missing `HW_*` sysctl constants
([#​5371](https://redirect.github.com/rust-lang/libc/pull/5371))
- QNX: Add definitions for io-sock
([#​5469](https://redirect.github.com/rust-lang/libc/pull/5469))
- Redox: Add `FILENAME_MAX`
([#​5530](https://redirect.github.com/rust-lang/libc/pull/5530))
- Redox: Add `clock_settime` and `pause`
([#​5363](https://redirect.github.com/rust-lang/libc/pull/5363))
- Redox: Add `getrandom` bindings
([#​5333](https://redirect.github.com/rust-lang/libc/pull/5333))
- Unix: Add RFC 3678 multicast `group_req`/`group_source_req` and
`MCAST_*` where supported
([#​5236](https://redirect.github.com/rust-lang/libc/pull/5236))
- Unix: Add `HOST_NAME_MAX`
([#​5531](https://redirect.github.com/rust-lang/libc/pull/5531))
- Unix: Add `_PATH_BSHELL` and `_PATH_DEFPATH` where available
([#​5449](https://redirect.github.com/rust-lang/libc/pull/5449))
- WASI: Add `SOCK_CLOEXEC`
([#​5336](https://redirect.github.com/rust-lang/libc/pull/5336))
- WASI: Add locale category constants
([#​5378](https://redirect.github.com/rust-lang/libc/pull/5378))
- WASI: Add more pthread APIs
([#​5310](https://redirect.github.com/rust-lang/libc/pull/5310))
- uClibc: Support 64-bit `time_t` on 32-bit platforms via cfg
([#​5261](https://redirect.github.com/rust-lang/libc/pull/5261))
##### Deprecated
- AIX: deprecate `_kernel_simple_lock`
([#​5380](https://redirect.github.com/rust-lang/libc/pull/5380))
- Deprecate integer `*_MIN`/`*_MAX` in favor of e.g. `c_int::MAX`
([#​5404](https://redirect.github.com/rust-lang/libc/pull/5404))
- Fuchsia: Deprecate types that do not exist upstream
([#​5127](https://redirect.github.com/rust-lang/libc/pull/5127))
- Hurd: Deprecate `fallocate64`, which does not exist on the platform
([#​5242](https://redirect.github.com/rust-lang/libc/pull/5242))
- Hurd: Deprecate redundant `glob64` types and routines
([#​5242](https://redirect.github.com/rust-lang/libc/pull/5242))
- L4Re: deprecate LFS bindings
([#​5173](https://redirect.github.com/rust-lang/libc/pull/5173))
- OpenBSD: Deprecate `syscall`, `mincore`, and `KERN_NSELCOLL`, all of
which have been removed upstream
([87992e9895c2](https://redirect.github.com/rust-lang/libc/commit/87992e9895c2bfc6daab97d2e8f20ae895fd9f7b))
- Unix: Deprecate the POSIX-obsoleted `tmpnam`, `tempnam`
([#​5478](https://redirect.github.com/rust-lang/libc/pull/5478))
##### Fixed
- **breaking** AIX: Change the type of `BPF_ALIGNMENT` to `size_t` to
match upstream and harmonize with other platforms.
([#​5373](https://redirect.github.com/rust-lang/libc/pull/5373))
- **breaking** Apple: change the type of `BPF_ALIGNMENT` to `size_t` to
match upstream and harmonize with other platforms.
([#​5348](https://redirect.github.com/rust-lang/libc/pull/5348))
- Exclude non-required repository files from the published crate
([#​5312](https://redirect.github.com/rust-lang/libc/pull/5312))
- AIX: Correct the function signature in `fileops_t.fo_select`
([#​5380](https://redirect.github.com/rust-lang/libc/pull/5380))
- AIX: Fix the alignment of `file`
([#​5380](https://redirect.github.com/rust-lang/libc/pull/5380))
- Android: Add missing padding to `ucontext_t`
([#​5189](https://redirect.github.com/rust-lang/libc/pull/5189))
- Android: Fix the value of RISC-V `O_` flags
([#​5554](https://redirect.github.com/rust-lang/libc/pull/5554))
- Fuchsia: Correct `mcontext_t` and `ucontext_t` and make them usable on
more platforms
([#​5127](https://redirect.github.com/rust-lang/libc/pull/5127))
- Fuchsia: Fix available fields in `glob_t` and `statvfs`
([#​5127](https://redirect.github.com/rust-lang/libc/pull/5127))
- Fuchsia: Fix the definition of `sigevent` and correct the layout of
other `pthread.h` types
([#​5127](https://redirect.github.com/rust-lang/libc/pull/5127))
- Haiku: Correct the definition of `sem_t`
([#​5351](https://redirect.github.com/rust-lang/libc/pull/5351))
- Linux-GNU: Fix the padding field in `statvfs64` on 32-bit RISC-V
([#​5518](https://redirect.github.com/rust-lang/libc/pull/5518))
- Linux: Correct PowerPC64 speed symbols with elfv2
([#​5342](https://redirect.github.com/rust-lang/libc/pull/5342))
- Linux: Fix syscall numbers on 32-bit RISC-V
([#​5455](https://redirect.github.com/rust-lang/libc/pull/5455))
- Musl riscv64: Fix the definition of `ipc_perm`
([#​5527](https://redirect.github.com/rust-lang/libc/pull/5527))
- Musl riscv64: Fix the name of the `uc_flags` field in `ucontext_t`
([#​5527](https://redirect.github.com/rust-lang/libc/pull/5527))
- NetBSD: Fix `WIFSTOPPED`
([#​5458](https://redirect.github.com/rust-lang/libc/pull/5458))
- Newlib: Update the `time_t` alias. This is a correction on Arm32 RTEMS
([#​5132](https://redirect.github.com/rust-lang/libc/pull/5132))
- NuttX: Correct `O_` open flags
([#​5414](https://redirect.github.com/rust-lang/libc/pull/5414))
- RTEMS: Correct `socket.h` definitions
([#​5313](https://redirect.github.com/rust-lang/libc/pull/5313))
- RTEMS: Correct the size of clock and storage type aliases
([#​5450](https://redirect.github.com/rust-lang/libc/pull/5450))
- Redox: Correct `signal.h` types
([#​5436](https://redirect.github.com/rust-lang/libc/pull/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](https://redirect.github.com/rust-lang/libc/pull/5376))
- AIX: Make function pointers in signatures `unsafe`
([#​5380](https://redirect.github.com/rust-lang/libc/pull/5380))
- Cygwin: Change `POSIX_SPAWN_*` flags to `c_short`
([#​5572](https://redirect.github.com/rust-lang/libc/pull/5572))
- Hermit: Make iovec fields public
([#​5460](https://redirect.github.com/rust-lang/libc/pull/5460))
- Improve the panic message for out-of-range fds in `FD_*` functions
([#​5528](https://redirect.github.com/rust-lang/libc/pull/5528))
- Musl riscv64: Fix the name of `__riscv_mc_q_ext_state.__reserved` and
make it private
([#​5533](https://redirect.github.com/rust-lang/libc/pull/5533))
- Various: Make obsolete `stat` fields non-`pub`
([#​5542](https://redirect.github.com/rust-lang/libc/pull/5542))
- uClibc: No longer link to libutil
([#​5165](https://redirect.github.com/rust-lang/libc/pull/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](https://redirect.github.com/rust-lang/libc/commit/e6bfb187513c665c94683b9738a855e982173c2f))
- **breaking** Apple: Remove a large number of items from iOS, tvOS,
watchOS, and visionOS that are only available on MacOS.
([#​5158](https://redirect.github.com/rust-lang/libc/pull/5158))
- **breaking** Apple: Remove the unsupported `exec*` and `fork` calls
from tvOS and watchOS
([#​5158](https://redirect.github.com/rust-lang/libc/pull/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](https://redirect.github.com/rust-lang/libc/commit/444db4456f3866519b7eacd35a8bb59484bb7bbf))
- **breaking** Remove most items that have been deprecated since before
0.2.100
([#​5401](https://redirect.github.com/rust-lang/libc/pull/5401))
Other removed items:
- Dragonfly: Remove `INHERIT_ZERO` that does not exist upstream
([#​5587](https://redirect.github.com/rust-lang/libc/pull/5587))
- Musl riscv64: Remove GNU-gated `REG_*` definitions
([#​5527](https://redirect.github.com/rust-lang/libc/pull/5527))
- Musl riscv64: Remove non-esxistant `REG_NARGS`
([#​5527](https://redirect.github.com/rust-lang/libc/pull/5527))
A huge thank you to our GSoC student Adam Martinez
([@​dybucc](https://redirect.github.com/dybucc)) who did a
huge amount of the time64 work, as well as many of the platform fixes!
###
[`v0.2.189`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.189)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.188...0.2.189)
##### Added
- Emscripten: Add `pthread_sigmask`, `sigwait`, `sigwaitinfo`,
`sigtimedwait`, `faccessat`, and `pthread_kill`
([#​5270](https://redirect.github.com/rust-lang/libc/pull/5270))
- Linux SPARC: Enable the `clone3` syscall
([#​4980](https://redirect.github.com/rust-lang/libc/pull/4980))
- Solarish: Add `CLOCK_PROCESS_CPUTIME_ID` and `CLOCK_THREAD_CPUTIME_ID`
([#​5274](https://redirect.github.com/rust-lang/libc/pull/5274))
##### Deprecated
- Deprecate `CLONE_INTO_CGROUP` and `CLONE_CLEAR_SIGHAND`. These
overflow their types and will be changed to a larger size in the future.
([8c6e6710458d](https://redirect.github.com/rust-lang/libc/commit/8c6e6710458db4d6aa0766f6f84bbf13f640237e))
##### Fixed
- Musl riscv32: Rename padding fields to avoid a conflict and fix the
build
([2499ff0ad993](https://redirect.github.com/rust-lang/libc/commit/2499ff0ad9936a036e78a4e0991445efee383564))
- NuttX: Fix `wchar_t` definition under Arm
([#​5245](https://redirect.github.com/rust-lang/libc/pull/5245))
- Windows: Add back link names for `time`-related symbols
([#​5300](https://redirect.github.com/rust-lang/libc/pull/5300))
###
[`v0.2.188`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.188)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.187...0.2.188)
##### Changed
- Restore `Send` and `Sync` for `DIR`
([35b062263401](https://redirect.github.com/rust-lang/libc/commit/35b062263401733cd89065c6a553640f2ba51ff1))
These were removed in 0.2.187 because `libc` does not actually make
`Send` and `Sync`
guarantees about `DIR` (or other extern types), but this caused some
crates to break.
The traits are added back for now to allow time to migrate, but will be
removed again
in the future; please make sure your crates are not relying on
`libc::DIR: Send` or
`libc::DIR: Sync`.
###
[`v0.2.187`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.187)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.186...0.2.187)
This release contains a number of improvements related to 64-bit
`time_t` configuration.
Of note the existing `RUST_LIBC_UNSTABLE_*` environment variables have
been replaced
with configuration options. The new way to use these is:
```sh
RUSTFLAGS='--cfg=libc_unstable_musl_v1_2_3' cargo ...
RUSTFLAGS='--cfg=libc_unstable_gnu_time_bits="64"' cargo ...
```
Being able to set this via `RUSTFLAGS` makes it easier to only apply
configuration to
specific targets (and notably, not the host if build scripts are used).
There are two other notable changes:
- The 32-bit `windows-gnu` targets now respect
`libc_unstable_gnu_time_bits`
- uClibc now supports a similar configuration option:
```sh
RUSTFLAGS='--cfg=libc_unstable_uclibc_time64'
```
As a reminder, these options are under active development and may change
in the future
(hence the "unstable" in the name). It likely that we will harmonize
everything under a
single configuration option before considering them stable.
##### Support
- Add support for `aarch64-unknown-linux-pauthtest`
([#​5065](https://redirect.github.com/rust-lang/libc/pull/5065))
- Add support for new QNX targets
([#​5241](https://redirect.github.com/rust-lang/libc/pull/5241))
- Better document breaking change policy and recommended usage
([#​5179](https://redirect.github.com/rust-lang/libc/pull/5179))
##### Added
- Android: Add `POSIX_SPAWN_*` constants
([#​5104](https://redirect.github.com/rust-lang/libc/pull/5104))
- Android: Add `getpwent`, `setpwent`, and `endpwent`
([#​5160](https://redirect.github.com/rust-lang/libc/pull/5160))
- Android: Add `preadv2` and `pwritev2`
([#​5157](https://redirect.github.com/rust-lang/libc/pull/5157))
- Android: Add `seccomp_notif*` structures
([#​5224](https://redirect.github.com/rust-lang/libc/pull/5224))
- Android: Add `timer_[create, delete, getoverrun, gettime, settime]`
([#​5108](https://redirect.github.com/rust-lang/libc/pull/5108))
- Apple: Add `PROC_PIDT_SHORTBSDINFO` and `proc_bsdshortinfo`
([#​5110](https://redirect.github.com/rust-lang/libc/pull/5110))
- Apple: Add `SIOC*` constants from `sockio.h`
([#​5263](https://redirect.github.com/rust-lang/libc/pull/5263))
- Apple: Add `_IOR`, `_IOW`, `_IOWR`
([#​5264](https://redirect.github.com/rust-lang/libc/pull/5264))
- Apple: Add `bpf_program` and `bpf_insn`
([#​5235](https://redirect.github.com/rust-lang/libc/pull/5235))
- Apple: Add additional `kqueue` constants
([#​5077](https://redirect.github.com/rust-lang/libc/pull/5077))
- Apple: Update `vm_statistics64` with recently added fields
([#​5253](https://redirect.github.com/rust-lang/libc/pull/5253))
- Apple: add `IN6_IFF_*` and `SIOCGIFAFLAG_IN6`
([#​5239](https://redirect.github.com/rust-lang/libc/pull/5239))
- Dragonfly: Add `O_*`, `POSIX_FADV_*`, `NI*`, and a few other missing
constants
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
- Dragonfly: add `fdatasync`, `dlvsym`, `reallocarray`, `qsort_r`,
`pthread_*affinity_np`, `ftok`, `extattr_*`, and `dup3`
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
- Emscripten: Add `in6_pktinfo`
([#​5256](https://redirect.github.com/rust-lang/libc/pull/5256))
- FreeBSD: Add SOL_LOCAL
([#​5185](https://redirect.github.com/rust-lang/libc/pull/5185))
- FreeBSD: Add `DLT_*` constants
([#​5235](https://redirect.github.com/rust-lang/libc/pull/5235))
- FreeBSD: Add `PROC_LOGSIGEXIT_*` and `PPROT_*`
([#​4657](https://redirect.github.com/rust-lang/libc/pull/4657))
- FreeBSD: Add `SO_RERROR`
([#​5260](https://redirect.github.com/rust-lang/libc/pull/5260))
- FreeBSD: add `IN6_IFF_*`, `in6_ifreq`, and `SIOCGIFAFLAG_IN6`
([#​5239](https://redirect.github.com/rust-lang/libc/pull/5239))
- FreeBSD: add `_IO*` helpers from `sys/ioccom.h`
([#​5239](https://redirect.github.com/rust-lang/libc/pull/5239))
- Glibc: Add `PTHREAD_*_MUTEX_INITIALIZER_NP` for riscv64
([#​5094](https://redirect.github.com/rust-lang/libc/pull/5094))
- Glibc: Add new fields to `struct tcp_info`
([#​5215](https://redirect.github.com/rust-lang/libc/pull/5215))
- Linux: Add `OPEN_TREE_NAMESPACE`
([#​5145](https://redirect.github.com/rust-lang/libc/pull/5145))
- Linux: Add `SECCOMP_IOCTL_*` constants
([#​5224](https://redirect.github.com/rust-lang/libc/pull/5224))
- Linux: Add `SO_DETACH_REUSEPORT_BPF`
([#​5081](https://redirect.github.com/rust-lang/libc/pull/5081))
- Linux: Add `futex_waitv`
([#​5125](https://redirect.github.com/rust-lang/libc/pull/5125))
- Linux: Add constants for `fsopen`, `fsconfig`, `fsmount`, and `fspick`
([#​5145](https://redirect.github.com/rust-lang/libc/pull/5145))
- Linux: Add fields to `statx` present since 6.16
([#​4621](https://redirect.github.com/rust-lang/libc/pull/4621))
- Linux: Add network entry API
([#​5049](https://redirect.github.com/rust-lang/libc/pull/5049))
- Linux: add `ifaddrmsg` and `rtattr`
([#​5234](https://redirect.github.com/rust-lang/libc/pull/5234))
- Linux: add `sockaddr_iucv`
([#​5041](https://redirect.github.com/rust-lang/libc/pull/5041))
- MacOS: Add `ENOTCAPABLE`
([#​4925](https://redirect.github.com/rust-lang/libc/pull/4925))
- Musl: Add `renameat2`
([#​5113](https://redirect.github.com/rust-lang/libc/pull/5113))
- NuttX: Add `F_SETFD`
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add `POLLRD*` and `POLLWR*` constants
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add `SO_KEEPALIVE` and TCP keepalive constants
([#​5111](https://redirect.github.com/rust-lang/libc/pull/5111))
- NuttX: Add `TCP_MAXSEG`
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add `eventfd` and `EFD_*` constants
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add `pipe2`
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add `strerror_r`
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add `netinet` structs and constants
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- NuttX: Add socket structs, functions and constants
([#​5258](https://redirect.github.com/rust-lang/libc/pull/5258))
- QuRT: Add POSIX timer functions
([#​5091](https://redirect.github.com/rust-lang/libc/pull/5091))
- QuRT: Add missing pthread functions from QuRT SDK headers
([#​5091](https://redirect.github.com/rust-lang/libc/pull/5091))
- QuRT: Add missing unistd process and file functions
([#​5091](https://redirect.github.com/rust-lang/libc/pull/5091))
- QuRT: Add mqueue subsystem (message queues, select/pselect)
([#​5091](https://redirect.github.com/rust-lang/libc/pull/5091))
- Redox: Add `*at` and `dirent` functions
([#​5117](https://redirect.github.com/rust-lang/libc/pull/5117))
- Solarish: Add IP TTL and IPv6 Hop Limit consts
([#​5089](https://redirect.github.com/rust-lang/libc/pull/5089))
- Solarish: Add `port_alert` and `PORT_ALERT*` constants
([#​5203](https://redirect.github.com/rust-lang/libc/pull/5203))
- Solarish: add AI_CANONNAME
([#​5085](https://redirect.github.com/rust-lang/libc/pull/5085))
- aarch64: Add SYS_sendfile and SYS_fadvise64 constants
([#​5133](https://redirect.github.com/rust-lang/libc/pull/5133))
##### Deprecated
- Dragonfly: Deprecate compatibility aliases `CPUCTL_RSMSR` and
`UTX_DB_LASTLOG`
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
##### Fixed
- **breaking** NetBSD: Correct `ts` from `*const timespec` to `*mut
timespec` in \_lwp_park\`
([#​5169](https://redirect.github.com/rust-lang/libc/pull/5169))
- **breaking** Linux GNU: Change overflowing
`PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIG` constants from `u8` to
`c_uint`
([#​4936](https://redirect.github.com/rust-lang/libc/pull/4936))
- Fix the soundness bug in the representation of extern types
([#​5021](https://redirect.github.com/rust-lang/libc/pull/5021))
- Cygwin: fix `cpuset_t` typo in `CPU_ZERO`
([#​5098](https://redirect.github.com/rust-lang/libc/pull/5098))
- Dragonfly: ABI fixes including regex offsets, `ifaddrs`, pthread
barriers, process sizing fields, and `mcontext` alignment
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
- Dragonfly: Correct values of `CPUCTL_CPUID*`, `EV_HUP`, and
`EV_SYSFLAGS`
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
- Emscripten: fix pthread type sizes for wasm64 (MEMORY64)
([#​5156](https://redirect.github.com/rust-lang/libc/pull/5156))
- Horizon: Fix the value of `POLLOUT`
([#​5090](https://redirect.github.com/rust-lang/libc/pull/5090))
- Linux: Correct the value of `EPIOC[GS]PARAMS` with nonstandard \_IOC
([#​5188](https://redirect.github.com/rust-lang/libc/pull/5188))
- Make VxWorks shims `unsafe`
([#​3727](https://redirect.github.com/rust-lang/libc/pull/3727))
- NetBSD: Correct getmntinfo to link `__getmntinfo13`
([#​5251](https://redirect.github.com/rust-lang/libc/pull/5251))
- QNX: Fix the value of `PTHREAD_MUTEX_INITIALIZER`
([#​5241](https://redirect.github.com/rust-lang/libc/pull/5241))
- QuRT: fix type and definition inaccuracies against SDK headers
([#​5091](https://redirect.github.com/rust-lang/libc/pull/5091))
- Windows: Correctly link to 32-bit time routines on 32-bit platforms
([#​5059](https://redirect.github.com/rust-lang/libc/pull/5059))
- uClibc: Fix constants accidentally removed
([#​5141](https://redirect.github.com/rust-lang/libc/pull/5141))
- uclibc: Fix build issues
([#​5046](https://redirect.github.com/rust-lang/libc/pull/5046))
- uclibc: Fix type of PRIO_PROCESS and friends
([#​5046](https://redirect.github.com/rust-lang/libc/pull/5046))
##### Changed
- AIX, TeeOS: Drop unneeded `-> c_void`
([#​5240](https://redirect.github.com/rust-lang/libc/pull/5240))
- Apple: Change `AIO_LISTIO_MAX` to account for changes in macOS 27
([#​5253](https://redirect.github.com/rust-lang/libc/pull/5253))
- Glibc: Update the value of `MS_NOUSER`
([#​5215](https://redirect.github.com/rust-lang/libc/pull/5215))
- L4Re: Update definitions and test infra
([#​5275](https://redirect.github.com/rust-lang/libc/pull/5275))
- Linux: Update the value of `SW_MAX` and `SW_CNT`
([#​5215](https://redirect.github.com/rust-lang/libc/pull/5215))
- MacOS: Add `swapped_count` to `vm_statistics64`
([#​4926](https://redirect.github.com/rust-lang/libc/pull/4926))
- Windows: Windows-GNU now respects `libc_unstable_gnu_time_bits` for
64-bit `time_t` config
([#​5062](https://redirect.github.com/rust-lang/libc/pull/5062))
##### Removed
- Dragonfly: Remove FreeBSD-only `Elf32_Lword`, `ip_mreq_source`, and
`IP_` constants
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
- Dragonfly: Remove private VM type bindings
([#​5116](https://redirect.github.com/rust-lang/libc/pull/5116))
- Linux: Remove `KERN_REALROOTDEV` and `VM_LAPTOP_MODE`
([#​5177](https://redirect.github.com/rust-lang/libc/pull/5177))
- VxWorks: Remove non-user-facing (kernel) API
([#​5129](https://redirect.github.com/rust-lang/libc/pull/5129))
##### Other
- Print config information if `LIBC_BUILD_VERBOSE` is set
([#​5272](https://redirect.github.com/rust-lang/libc/pull/5272))
- Annotate `*LAST` constants as potentially changing
([#​5120](https://redirect.github.com/rust-lang/libc/pull/5120))
- Annotate `*MAX` constants as potentially changing
([#​5122](https://redirect.github.com/rust-lang/libc/pull/5122))
- BSD: Annotate `ELAST` constants as potentially changing
([#​5118](https://redirect.github.com/rust-lang/libc/pull/5118))
- FreeBSD: Annotate `RAND_MAX` as potentially changing
([#​5119](https://redirect.github.com/rust-lang/libc/pull/5119))
- Linux, L4re: Annotate `*NUM` constants as potentially changing
([#​5123](https://redirect.github.com/rust-lang/libc/pull/5123))
- QNX: Restructure to support new platforms
([#​4984](https://redirect.github.com/rust-lang/libc/pull/4984))
- Unix: Annotate `*COUNT` constants as potentially changing
([#​5121](https://redirect.github.com/rust-lang/libc/pull/5121))
- uClibc: Add unstable support of 64-bit `time_t`
([#​5046](https://redirect.github.com/rust-lang/libc/pull/5046))
- (internal) FreeBSD: Replace unstable env to set version with an
unstable cfg
([#​5201](https://redirect.github.com/rust-lang/libc/pull/5201))
- (internal) Glibc: Remove public configuration for file offset bits
([#​5268](https://redirect.github.com/rust-lang/libc/pull/5268))
- (internal) Linux: Delete config via
`RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64`
([#​5197](https://redirect.github.com/rust-lang/libc/pull/5197))
- (internal) Replace `RUST_LIBC_UNSTABLE` env with `libc_unstable*` cfg
([#​4977](https://redirect.github.com/rust-lang/libc/pull/4977))
###
[`v0.2.186`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.186)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.185...0.2.186)
##### Added
- Apple: Add `KEVENT_FLAG_*` constants
([#​5070](https://redirect.github.com/rust-lang/libc/pull/5070))
- Linux: Add `PR_SET_MEMORY_MERGE` and `PR_GET_MEMORY_MERGE`
([#​5060](https://redirect.github.com/rust-lang/libc/pull/5060))
##### Changed
- CI: Migrate FreeBSD CI from Cirrus CI to GitHub Actions
([#​5058](https://redirect.github.com/rust-lang/libc/pull/5058))
###
[`v0.2.185`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.185)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.184...0.2.185)
##### Added
- EspIDF: Add `espidf_picolibc` cfg for picolibc `O_*` flag values
([#​5035](https://redirect.github.com/rust-lang/libc/pull/5035))
- Hexagon: add missing constants and fix types for linux-musl
([#​5042](https://redirect.github.com/rust-lang/libc/pull/5042))
- Redox: Add semaphore functions
([#​5051](https://redirect.github.com/rust-lang/libc/pull/5051))
- Windows: Add `sprintf`, `snprintf`, and the `scanf` family
([#​5024](https://redirect.github.com/rust-lang/libc/pull/5024))
##### Fixed
- Hexagon: Decouple `time64` types from musl symbol redirects
([#​5040](https://redirect.github.com/rust-lang/libc/pull/5040))
- Horizon: Change `POLL` constants from `c_short` to `c_int`
([#​5045](https://redirect.github.com/rust-lang/libc/pull/5045))
###
[`v0.2.184`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.184)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.183...0.2.184)
##### MSRV
This release increases the MSRV of `libc` to 1.65. With this update, you
can now always use the
`core::ffi::c_*` types with `libc` definitions, since `libc` has been
changed to reexport from
`core` rather than redefining them. (This *usually* worked before but
had edge cases.)
([#​4972](https://redirect.github.com/rust-lang/libc/pull/4972))
##### Added
- BSD: Add `IP_MINTTL` to bsd
([#​5026](https://redirect.github.com/rust-lang/libc/pull/5026))
- Cygwin: Add `TIOCM_DSR`
([#​5031](https://redirect.github.com/rust-lang/libc/pull/5031))
- FreeBSD: Added `xfile` structe and file descriptor types
([#​5002](https://redirect.github.com/rust-lang/libc/pull/5002))
- Linux: Add CAN netlink bindings
([#​5011](https://redirect.github.com/rust-lang/libc/pull/5011))
- Linux: Add `struct ethhdr`
([#​4239](https://redirect.github.com/rust-lang/libc/pull/4239))
- Linux: Add `struct ifinfomsg`
([#​5012](https://redirect.github.com/rust-lang/libc/pull/5012))
- Linux: Define `max_align_t` for riscv64
([#​5029](https://redirect.github.com/rust-lang/libc/pull/5029))
- NetBSD: Add missing `CLOCK_` constants
([#​5020](https://redirect.github.com/rust-lang/libc/pull/5020))
- NuttX: Add `_SC_HOST_NAME_MAX`
([#​5004](https://redirect.github.com/rust-lang/libc/pull/5004))
- VxWorks: Add `flock` and `F_*LCK` constants
([#​4043](https://redirect.github.com/rust-lang/libc/pull/4043))
- WASI: Add all `_SC_*` sysconf constants
([#​5023](https://redirect.github.com/rust-lang/libc/pull/5023))
##### Deprecated
The remaining fixed-width integer aliases, `__uint128_t`, `__uint128`,
`__int128_t`, and `__int128`,
have been deprecated. Use `i128` and `u128` instead.
([#​4343](https://redirect.github.com/rust-lang/libc/pull/4343))
##### Fixed
- **breaking** Redox: Fix signal action constant types
([#​5009](https://redirect.github.com/rust-lang/libc/pull/5009))
- EspIDF: Correct the value of `DT_*` constants
([#​5034](https://redirect.github.com/rust-lang/libc/pull/5034))
- Redox: Fix locale values and add `RTLD_NOLOAD`, some TCP constants
([#​5025](https://redirect.github.com/rust-lang/libc/pull/5025))
- Various: Use `Padding::new(<zeroed>)` rather than `Padding::uninit()`
([#​5036](https://redirect.github.com/rust-lang/libc/pull/5036))
##### Changed
- **potentially breaking** Linux: Add new fields to `struct
ptrace_syscall_info`
([#​4966](https://redirect.github.com/rust-lang/libc/pull/4966))
- Re-export `core::ffi` integer types rather than redefining
([#​5015](https://redirect.github.com/rust-lang/libc/pull/5015))
- Redox: Update `F_DUPFD`, `IP`, and `TCP` constants to match relibc
([#​4990](https://redirect.github.com/rust-lang/libc/pull/4990))
###
[`v0.2.183`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.183)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.182...0.2.183)
##### Added
- ESP-IDF: Add `SOMAXCONN`
([#​4993](https://redirect.github.com/rust-lang/libc/pull/4993))
- Linux: Add `name_to_handle_at` and `open_by_handle_at`
([#​4988](https://redirect.github.com/rust-lang/libc/pull/4988))
- NetBSD: Add `kinfo_file`, `kinfo_pcb`, and related constants
([#​4985](https://redirect.github.com/rust-lang/libc/pull/4985))
- OpenBSD: Add `kinfo_file` and related constants
([#​4991](https://redirect.github.com/rust-lang/libc/pull/4991))
- VxWorks: Add additional structs and defines
([#​5003](https://redirect.github.com/rust-lang/libc/pull/5003))
- Various: Implement `Default` for `timeval` and `timespec`
([#​4976](https://redirect.github.com/rust-lang/libc/pull/4976))
##### Fixed
- Hexagon musl: Enable unstable 64-bit `time_t` support and
`musl_v1_2_3`
([#​4992](https://redirect.github.com/rust-lang/libc/pull/4992))
- Nintendo Switch: Fix target support
([#​4982](https://redirect.github.com/rust-lang/libc/pull/4982))
- OpenBSD: Wrap an unused field in `Padding`
([#​4997](https://redirect.github.com/rust-lang/libc/pull/4997))
- Redox: Change `sigaction.sa_flags` to `c_int`
([#​4986](https://redirect.github.com/rust-lang/libc/pull/4986))
- Redox: Fix `blkcnt_t` type
([#​4994](https://redirect.github.com/rust-lang/libc/pull/4994))
###
[`v0.2.182`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.182)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.181...0.2.182)
##### Added
- Android, Linux: Add `tgkill`
([#​4970](https://redirect.github.com/rust-lang/libc/pull/4970))
- Redox: Add `RENAME_NOREPLACE`
([#​4968](https://redirect.github.com/rust-lang/libc/pull/4968))
- Redox: Add `renameat2`
([#​4968](https://redirect.github.com/rust-lang/libc/pull/4968))
###
[`v0.2.181`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.181)
[Compare
Source](https://redirect.github.com/rust-lang/libc/compare/0.2.180...0.2.181)
##### Added
- Apple: Add `MADV_ZERO`
([#​4924](https://redirect.github.com/rust-lang/libc/pull/4924))
- Redox: Add `makedev`, `major`, and `minor`
([#​4928](https://redirect.github.com/rust-lang/libc/pull/4928))
- GLibc: Add `PTRACE_SET_SYSCALL_INFO`
([#​4933](https://redirect.github.com/rust-lang/libc/pull/4933))
- OpenBSD: Add more kqueue related constants for
([#​4945](https://redirect.github.com/rust-lang/libc/pull/4945))
- Linux: add CAN error types
([#​4944](https://redirect.github.com/rust-lang/libc/pull/4944))
- OpenBSD: Add siginfo_t::si_status
([#​4946](https://redirect.github.com/rust-lang/libc/pull/4946))
- QNX NTO: Add `max_align_t`
([#​4927](https://redirect.github.com/rust-lang/libc/pull/4927))
- Illumos: Add `_CS_PATH`
([#​4956](https://redirect.github.com/rust-lang/libc/pull/4956))
- OpenBSD: add `ppoll`
([#​4957](https://redirect.github.com/rust-lang/libc/pull/4957))
##### Fixed
- **Breaking**: Redox: Fix the type of `dev_t`
([#​4928](https://redirect.github.com/rust-lang/libc/pull/4928))
- AIX: Change 'tv_nsec' of 'struct timespec' to type 'c_long'
([#​4931](https://redirect.github.com/rust-lang/libc/pull/4931))
- AIX: Use 'struct st_timespec' in 'struct stat{,64}'
([#​4931](https://redirect.github.com/rust-lang/libc/pull/4931))
- Glibc: Link old version of `tc{g,s}etattr`
([#​4938](https://redirect.github.com/rust-lang/libc/pull/4938))
- Glibc: Link the correct version of `cf{g,s}et{i,o}speed` on
mips{32,64}r6
([#​4938](https://redirect.github.com/rust-lang/libc/pull/4938))
- OpenBSD: Fix constness of tm.tm_zone
([#​4948](https://redirect.github.com/rust-lang/libc/pull/4948))
- OpenBSD: Fix the definition of `ptrace_thread_state`
([#​4947](https://redirect.github.com/rust-lang/libc/pull/4947))
- QuRT: Fix type visibility and defs
([#​4932](https://redirect.github.com/rust-lang/libc/pull/4932))
- Redox: Fix values for `PTHREAD_MUTEX_{NORMAL, RECURSIVE}`
([#​4943](https://redirect.github.com/rust-lang/libc/pull/4943))
- Various: Mark additional fields as private padding
([#​4922](https://redirect.github.com/rust-lang/libc/pull/4922))
##### Changed
- Fuchsia: Update `SO_*` constants
([#​4937](https://redirect.github.com/rust-lang/libc/pull/4937))
- Revert "musl: convert inline timespecs to timespec" (resolves build
issues on targets only supported by Musl 1.2.3+ )
([#​4958](https://redirect.github.com/rust-lang/libc/pull/4958))
</details>
<details>
<summary>proptest-rs/proptest (proptest)</summary>
###
[`v1.12.0`](https://redirect.github.com/proptest-rs/proptest/compare/v1.11.0...v1.12.0)
[Compare
Source](https://redirect.github.com/proptest-rs/proptest/compare/v1.11.0...v1.12.0)
</details>
<details>
<summary>serde-rs/json (serde_json)</summary>
###
[`v1.0.154`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.154)
[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.153...v1.0.154)
- Support preserve_order in no_std builds
([#​1333](https://redirect.github.com/serde-rs/json/issues/1333),
thanks [@​razmser](https://redirect.github.com/razmser))
###
[`v1.0.153`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.153)
[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.152...v1.0.153)
- Report invalid UTF-8 at the first bad byte
([#​1345](https://redirect.github.com/serde-rs/json/issues/1345),
thanks [@​00200200](https://redirect.github.com/00200200))
###
[`v1.0.152`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.152)
[Compare
Source](https://redirect.github.com/serde-rs/json/compare/v1.0.151...v1.0.152)
- Preserve sign of `-0` in arbitrary_precision mode
([#​1346](https://redirect.github.com/serde-rs/json/issues/1346),
thanks
[@​yuxi-liu-wired](https://redirect.github.com/yuxi-liu-wired))
- Fix comparison of large non-integer values with f32::INFINITY
([#​1347](https://redirect.github.com/serde-rs/json/issues/1347),
thanks
[@​yuxi-liu-wired](https://redirect.github.com/yuxi-liu-wired))
</details>
<details>
<summary>dtolnay/syn (syn)</summary>
###
[`v3.0.9`](https://redirect.github.com/dtolnay/syn/releases/tag/3.0.9)
[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/3.0.8...3.0.9)
- Add Punctuated::retain
([#​2088](https://redirect.github.com/dtolnay/syn/issues/2088))
###
[`v3.0.8`](https://redirect.github.com/dtolnay/syn/releases/tag/3.0.8)
[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/3.0.7...3.0.8)
- Fix parsing of `<-` and `->` tokens in expressions
([#​2086](https://redirect.github.com/dtolnay/syn/issues/2086),
[#​2087](https://redirect.github.com/dtolnay/syn/issues/2087))
###
[`v3.0.7`](https://redirect.github.com/dtolnay/syn/releases/tag/3.0.7)
[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/3.0.6...3.0.7)
- Fix parsing absolute path expr in labeled break
([#​2085](https://redirect.github.com/dtolnay/syn/issues/2085),
thanks [@​A4-Tacks](https://redirect.github.com/A4-Tacks))
###
[`v3.0.6`](https://redirect.github.com/dtolnay/syn/releases/tag/3.0.6)
[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/3.0.5...3.0.6)
- Fix parsing interpolated lifetime at statement start
([#​2082](https://redirect.github.com/dtolnay/syn/issues/2082))
###
[`v3.0.5`](https://redirect.github.com/dtolnay/syn/releases/tag/3.0.5)
[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/3.0.4...3.0.5)
- Report correct span for lex errors from `LitStr::parse_with`
([#​2080](https://redirect.github.com/dtolnay/syn/issues/2080),
thanks [@​sunshowers](https://redirect.github.com/sunshowers))
###
[`v3.0.4`](https://redirect.github.com/dtolnay/syn/releases/tag/3.0.4)
[Compare
Source](https://redirect.github.com/dtolnay/syn/compare/3.0.3...3.0.4)
- Allow `safe fn` in `impl Parse for ForeignItemFn`
([#​2078](https://redirect.github.com/dtolnay/syn/issues/2078))
</details>
<details>
<summary>frondeus/test-case (test-case)</summary>
###
[`v3.4.0`](https://redirect.github.com/frondeus/test-case/blob/HEAD/CHANGELOG.md#340)
[Compare
Source](https://redirect.github.com/frondeus/test-case/compare/v3.3.1...v3.4.0)
##### Changes
- Adds test case number to automatically distinguish test cases with the
same generated name
([#​151](https://redirect.github.com/frondeus/test-case/issues/151))
Instead of having a conflict in example like this:
```rust
#[test_case(42)]
#[test_case("42")]
fn cases_are_enumerated(value: impl std::fmt::Display) {
assert_eq!("42", &value.to_string())
}
```
It now generates prefix name for each test case. In all cases:
```
test cases_are_enumerated::test_case_1_42_expects ... ok
test cases_are_enumerated::test_case_2_42_expects ... ok
```
- Inverts the left and right output for simple test cases.
Generates `assert_eq!(result, expectation)` instead of previous
`assert_eq!(expectation, result)`;
- Upgrades edition to 2024
- Updates:
- regex to 1.9
- insta to 1.43
- itertools to 0.15
- syn to 3.0
</details>
<details>
<summary>dtolnay/thiserror (thiserror)</summary>
###
[`v2.0.21`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.21)
[Compare
Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.20...2.0.21)
- Fix parsing of generic unit variants in display expressions
([#​459](https://redirect.github.com/dtolnay/thiserror/issues/459))
</details>
<details>
<summary>wasm-bindgen/wasm-bindgen (wasm-bindgen)</summary>
###
[`v0.2.129`](https://redirect.github.com/wasm-bindgen/wasm-bindgen/blob/HEAD/CHANGELOG.md#02129)
[Compare
Source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/compare/0.2.128...0.2.129)
##### Added
- Added the WebGL extension interface `EXT_polygon_offset_clamp`.
[#​5336](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5336)
- Added the `texture-compression-unaligned` variant to `GpuFeatureName`,
matching the WebGPU specification.
[#​5335](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5335)
- Added an Emscripten Target page to the guide covering the
`wasm32-unknown-emscripten` build flow, including the experimental
`#[wasm_bindgen(experimental_tokio)]` attribute for driving an exported
async function on a Tokio event-loop runtime there, gated behind
`--cfg wasm_bindgen_unstable_tokio`.
[#​5334](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5334)
- Added experimental JSPI support on the `wasm32-unknown-emscripten`
target,
gated behind `--cfg wasm_bindgen_unstable_jspi`:
`#[wasm_bindgen(jspi)]`,
`#[wasm_bindgen(suspending)]`, `jspi_block_on_promise` and the JSPI
context
inheritance of `spawn_local` work when linking with `-sJSPI` and
`-sJSPI_HOOKS` (or `-sREENTRANT_JSPI`). The fibers belong to
Emscripten's
JSPI runtime, which wasm-bindgen integrates with through its lifecycle
hook
exports instead of its own shadow stack management. `jspi` combines with
`experimental_tokio` into a parked runtime: the export is a promising
activation running its future with `block_on` on a Tokio runtime whose
waits are JSPI suspensions, so invocations interleave at every wait.
[#​5333](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5333)
##### Changed
- Library MSRV bumped from 1.77 to 1.81, per the 2-year MSRV policy.
[#​5257](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5257)
##### Fixed
- `js-sys`: the `Number` constants no longer trigger deprecation
warnings for
the `core::f64` module constants when building the crate from source.
[#​5351](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5351)
- The `wasm_bindgen`, `wasm_bindgen_futures` and `js_sys` crate-path
options
on a `#[wasm_bindgen] impl` block now apply to its methods; previously
they
were ignored there.
[#​5333](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5333)
- Struct field getters no longer trigger the `unsafe_op_in_unsafe_fn`
lint
(warn by default in edition 2024) when the field name comes from a
`macro_rules!` body, for example through `paste!`.
[#​4465](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/4465)
- The headless test runner now keeps the path of a remote WebDriver URL
set
with variables like `CHROMEDRIVER_REMOTE`. A driver at
`http://host/wd/hub/` now gets `http://host/wd/hub/session` instead of
`http://host/session`.
[#​2841](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/2841)
- The bundler entry module no longer re-exports
`#[wasm_bindgen(private)]`
items from `*_bg.js`, which does not export them.
[#​5343](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5343)
- `web-sys`: WebGL extension interfaces declared with
`LegacyNoInterfaceObject`
(`OVR_multiview2`, `WEBGL_multi_draw`, `EXT_polygon_offset_clamp`) now
generate `is_type_of = |_| false` like their `NoInterfaceObject`
counterparts.
[#​5336](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5336)
- The blanket `From<E: Error> for JsError` impl is now available without
the
`std` feature, using `core::error::Error`, so `?` works in `no_std`
crates.
[#​5029](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5029)
- Emscripten output no longer emits the instance reinit machinery, which
Emscripten's JS compiler rejected (unescaped multi-line `__postset`, and
`var reinit_scheduled = let ...`): `schedule_reinit()` is a no-op there
since
Emscripten owns instantiation. The closure finalization `__postset` is
now
emitted as an escaped string literal.
[#​5332](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5332)
- Updated `walrus` to 0.27.2, fixing `--keep-debug` output that
`wasm-opt -g`
could not process: `.debug_loc` entries for removed code were
unparseable
(`debug_loc error`), and `DW_AT_high_pc` was re-encoded as
variable-width
`udata` (`compile unit size was incorrect`).
[#​5328](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5328)
- The headless test runner no longer hangs on a WebDriver that never
answers, or on
a browser holding the driver's stdio pipes open.
[#​5338](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5338)
- The CLI's schema version mismatch error now names the input Wasm file
and
the path of the running `wasm-bindgen` binary.
[#​4430](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/4430)
- `#[wasm_bindgen(inspectable)]` on a tuple struct no longer generates
invalid
JavaScript. The generated `toJSON` now reads the `0`, `1`, ... fields as
`this["0"]` instead of `this.0`.
[#​2573](https://redirect.github.com/wasm-bindgen/wasm-bindgen/issues/2573)
###
[`v0.2.128`](https://redirect.github.com/wasm-bindgen/wasm-bindgen/blob/HEAD/CHANGELOG.md#02128)
[Compare
Source](https://redirect.github.com/wasm-bindgen/wasm-bindgen/compare/0.2.127...0.2.128)
##### Added
- Added `OffscreenCanvas` overloads for the WebGL `texImage2D`,
`texSubImage2D`,
`texImage3D` and `texSubImage3D` functions, matching the
`TexImageSource`
typedef in the WebGL specification.
[#​5312](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5312)
- Added `--split-debug-info` to the CLI. This option extracts the DWARF
debug
info to a separate `*_bg.debug.wasm` file. Use `--debug-info-url` to set
the recorded URL for the debug info.
[#​5279](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5279)
- Added `#[wasm_bindgen(experimental_generic_mono)]` for imported
functions,
which binds a generic import once per monomorphisation instead of
erasing
its type parameters to `JsValue`. It can be applied to an individual
import
or to a whole `extern "C"` block, which every generic function in the
block
then inherits. Each instantiation gets its own descriptor, so arguments
and
return values are marshalled at their concrete types (a `u32` crosses as
a
number, a `String` as a string) rather than being boxed. Trait bounds,
`where` predicates (including higher-ranked ones), associated-type
projections, lifetime parameters, argument-position `impl Trait`, raw
callbacks with owned generic inputs and returns, `async`, `catch`, and
`slice_to_array` are all supported; see
[the
guide](https://wasm-bindgen.github.io/wasm-bindgen/reference/attributes/on-js-imports/experimental_generic_mono.html)
for the supported surface and the shapes that are rejected. The
attribute
is experimental and may change as it stabilizes.
[#​5230](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5230)
[#​5272](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5272)
[#​5314](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5314)
- Added the experimental, sealed `JsStringLike` marker trait ā
implemented for
`String`/`&str` (and `js_sys::JsString`/`&js_sys::JsString` in `js-sys`)
ā
as a bound for `experimental_generic_mono` imports that accept any
string
shape at its native wire format.
- `#[wasm_bindgen(experimental_generic_mono)]` now supports class-level
generic
parameters: an imported *type* that is itself generic (`type
Holder<T>`),
used as a method receiver (`this: &Holder<T>`), or as the return type of
a
constructor or self-returning static method (`fn new<T>(value: T) ->
Holder<T>`). See [Class-level
generics](https://wasm-bindgen.github.io/wasm-bindgen/reference/attributes/on-js-imports/experimental_generic_mono.html#class-level-generics)
in the guide.
[#​5290](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5290)
- A generic imported type used as a method receiver or a constructor's
return
type may now carry concrete generic arguments (`this: &Holder<u32>`,
`this: &Holder<u32, T>`). The arguments are re-emitted as written, so
the
generated method hangs off `impl Holder<u32>` rather than the class's
own
parameter def
> [!IMPORTANT]
> ā PR body was truncated to here.
</details>
---
### Configuration
š
**Schedule**: (in timezone Asia/Shanghai)
- Branch creation
- "before 10am on monday"
- Automerge
- At any time (no schedule defined)
š¦ **Automerge**: Enabled.
ā» **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
š» **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc-browserslist).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Latest Branches
0%
release-plz-2026-08-13T00-29-26Z +15%
-1%
Ā© 2026 CodSpeed Technology