Avatar for the oxc-project user
oxc-project
oxc-browserslist
BlogDocsChangelog

Performance History

Latest Results

chore: release v5.0.2
release-plz-2026-08-13T00-29-26Z
16 hours ago
chore: release v5.0.2
release-plz-2026-08-13T00-29-26Z
5 days ago
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 ([#&#8203;5610](https://redirect.github.com/rust-lang/libc/pull/5610)) ##### Added - Apple: Add `F_SETNOSIGPIPE` and `F_GETNOSIGPIPE` ([#&#8203;5609](https://redirect.github.com/rust-lang/libc/pull/5609)) - Apple: add `ifaliasreq` and `in6_aliasreq` ([#&#8203;5557](https://redirect.github.com/rust-lang/libc/pull/5557)) - FreeBSD: Add `PT_*` constants ([#&#8203;5625](https://redirect.github.com/rust-lang/libc/pull/5625)) - Haiku: Add `AI_*` and `NI_*` constants from netdb.h ([#&#8203;5585](https://redirect.github.com/rust-lang/libc/pull/5585)) - Hurd: Add `POSIX_SPAWN_*` flags ([#&#8203;5578](https://redirect.github.com/rust-lang/libc/pull/5578)) - NuttX: Add `AT_SYMLINK_NOFOLLOW` ([#&#8203;5614](https://redirect.github.com/rust-lang/libc/pull/5614)) - OpenBSD: Add `sensordev` ([#&#8203;5534](https://redirect.github.com/rust-lang/libc/pull/5534)) - QuRT: Add `isatty` ([#&#8203;5618](https://redirect.github.com/rust-lang/libc/pull/5618)) - WASI: Add `pthread_condattr_{get,set}clock` ([#&#8203;5626](https://redirect.github.com/rust-lang/libc/pull/5626)) ##### Fixed - FreeBSD-aarch64: Fix `gpregs` and `fpregs` ([#&#8203;5603](https://redirect.github.com/rust-lang/libc/pull/5603)) ##### Changed - AIX: Restore 'c_ulong' as the type of 'statvfs.f_fsid'. ([#&#8203;5616](https://redirect.github.com/rust-lang/libc/pull/5616)) - Android: Make `prop_info` an extern type ([#&#8203;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. ([#&#8203;5612](https://redirect.github.com/rust-lang/libc/pulls/5612)), ([#&#8203;5636](https://redirect.github.com/rust-lang/libc/pull/5636)) - FreeBSD: Add back `NOTE_PCTRLMASK` with a deprecation warning ([#&#8203;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 ([#&#8203;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 ([#&#8203;5576](https://redirect.github.com/rust-lang/libc/pull/5576)) - Linux, NetBSD: Give `statvfs` a `Default` impl ([#&#8203;5583](https://redirect.github.com/rust-lang/libc/pull/5583)) - Linux: Add `Default` to a `linux/can.rs` structs ([#&#8203;5257](https://redirect.github.com/rust-lang/libc/pull/5257)) Other additions: - Expose the `libc_unstable_time64` cfg ([#&#8203;5411](https://redirect.github.com/rust-lang/libc/pull/5411)) - Android, Glibc: Add `pthread_gettid_np` ([#&#8203;5359](https://redirect.github.com/rust-lang/libc/pull/5359)) - Android: Add `RTLD_NEXT` ([#&#8203;5323](https://redirect.github.com/rust-lang/libc/pull/5323)) - Android: Add reuseport BPF socket options ([#&#8203;5366](https://redirect.github.com/rust-lang/libc/pull/5366)) - Apple: Add TCP header flags, options and SACK limits ([#&#8203;5358](https://redirect.github.com/rust-lang/libc/pull/5358)) - Apple: Add `NET_RT_DUMP2` ([#&#8203;5442](https://redirect.github.com/rust-lang/libc/pull/5442)) - Apple: Add `posix_spawn_file_actions_add(f)chdir(_np)` ([#&#8203;5558](https://redirect.github.com/rust-lang/libc/pull/5558)) - BSD: Add `BPF_WORDALIGN` ([#&#8203;5320](https://redirect.github.com/rust-lang/libc/pull/5320)) - BSD: Add `lchmod` and `lchflags` where supported ([#&#8203;5400](https://redirect.github.com/rust-lang/libc/pull/5400)) - BSD: Add `minherit` and related constants ([#&#8203;4849](https://redirect.github.com/rust-lang/libc/pull/4849)) - Docs: Add more links to public headers and manual pages ([#&#8203;5407](https://redirect.github.com/rust-lang/libc/pull/5407)), ([#&#8203;5485](https://redirect.github.com/rust-lang/libc/pull/5485)) - Emscripten: Add epoll support ([#&#8203;5427](https://redirect.github.com/rust-lang/libc/pull/5427)) - FreeBSD: Add `AT_RENAME_*` and `RENAME_*` constants ([#&#8203;5560](https://redirect.github.com/rust-lang/libc/pull/5560)) - FreeBSD: Add `renameat2` ([#&#8203;5563](https://redirect.github.com/rust-lang/libc/pull/5563)) - FreeBSD: Add `rt_msghdr` and `rt_metrics` ([#&#8203;5367](https://redirect.github.com/rust-lang/libc/pull/5367)) - Hurd: Add handling of LFS under `libc_unstable_gnu_time_bits` ([#&#8203;5242](https://redirect.github.com/rust-lang/libc/pull/5242)) - Linux-GNU: Add `environ` ([#&#8203;5339](https://redirect.github.com/rust-lang/libc/pull/5339)) - Linux-GNU: Add the new `f_type` field to `statvfs` and `statvfs64` ([#&#8203;5434](https://redirect.github.com/rust-lang/libc/pull/5434)) - Linux-like: Add additional `STATX_*` constants ([#&#8203;5412](https://redirect.github.com/rust-lang/libc/pull/5412)) - Linux-musl, Emscripten: Add `SIGEV_THREAD_ID` ([#&#8203;5375](https://redirect.github.com/rust-lang/libc/pull/5375)) - Linux-musl: Add `*_SUPER_MAGIC` constants ([#&#8203;5453](https://redirect.github.com/rust-lang/libc/pull/5453)) - Linux-musl: Make `statx` always available ([#&#8203;5448](https://redirect.github.com/rust-lang/libc/pull/5448)) - Linux-s390x: Add `max_align_t` ([#&#8203;5389](https://redirect.github.com/rust-lang/libc/pull/5389)) - Linux: Add `BCACHEFS_SUPER_MAGIC` ([#&#8203;5516](https://redirect.github.com/rust-lang/libc/pull/5516)) - Linux: Add `ETH_P_LLDP` ([#&#8203;5438](https://redirect.github.com/rust-lang/libc/pull/5438)) - Linux: Add `FUTEX_ROBUST_UNLOCK` and `FUTEX_ROBUST_LIST32` ([#&#8203;5525](https://redirect.github.com/rust-lang/libc/pull/5525)) - Linux: Add `NLMSG_*` helpers ([#&#8203;5321](https://redirect.github.com/rust-lang/libc/pull/5321)) - Linux: Update the definition of `siginfo_t` and add more getter functions ([#&#8203;5345](https://redirect.github.com/rust-lang/libc/pull/5345)) - Musl riscv64: Add `SYS_futex_waitv` ([#&#8203;5527](https://redirect.github.com/rust-lang/libc/pull/5527)) - Newlib: Add `__errno` ([#&#8203;5346](https://redirect.github.com/rust-lang/libc/pull/5346)) - OpenBSD: Add `RTLD_NODELETE` and `RTLD_NOLOAD` ([#&#8203;5377](https://redirect.github.com/rust-lang/libc/pull/5377)) - OpenBSD: Add `getexecpath` ([#&#8203;5465](https://redirect.github.com/rust-lang/libc/pull/5465)) - OpenBSD: Add bindings from `sensors.h` ([#&#8203;5510](https://redirect.github.com/rust-lang/libc/pull/5510)) - OpenBSD: Add missing `HW_*` sysctl constants ([#&#8203;5371](https://redirect.github.com/rust-lang/libc/pull/5371)) - QNX: Add definitions for io-sock ([#&#8203;5469](https://redirect.github.com/rust-lang/libc/pull/5469)) - Redox: Add `FILENAME_MAX` ([#&#8203;5530](https://redirect.github.com/rust-lang/libc/pull/5530)) - Redox: Add `clock_settime` and `pause` ([#&#8203;5363](https://redirect.github.com/rust-lang/libc/pull/5363)) - Redox: Add `getrandom` bindings ([#&#8203;5333](https://redirect.github.com/rust-lang/libc/pull/5333)) - Unix: Add RFC 3678 multicast `group_req`/`group_source_req` and `MCAST_*` where supported ([#&#8203;5236](https://redirect.github.com/rust-lang/libc/pull/5236)) - Unix: Add `HOST_NAME_MAX` ([#&#8203;5531](https://redirect.github.com/rust-lang/libc/pull/5531)) - Unix: Add `_PATH_BSHELL` and `_PATH_DEFPATH` where available ([#&#8203;5449](https://redirect.github.com/rust-lang/libc/pull/5449)) - WASI: Add `SOCK_CLOEXEC` ([#&#8203;5336](https://redirect.github.com/rust-lang/libc/pull/5336)) - WASI: Add locale category constants ([#&#8203;5378](https://redirect.github.com/rust-lang/libc/pull/5378)) - WASI: Add more pthread APIs ([#&#8203;5310](https://redirect.github.com/rust-lang/libc/pull/5310)) - uClibc: Support 64-bit `time_t` on 32-bit platforms via cfg ([#&#8203;5261](https://redirect.github.com/rust-lang/libc/pull/5261)) ##### Deprecated - AIX: deprecate `_kernel_simple_lock` ([#&#8203;5380](https://redirect.github.com/rust-lang/libc/pull/5380)) - Deprecate integer `*_MIN`/`*_MAX` in favor of e.g. `c_int::MAX` ([#&#8203;5404](https://redirect.github.com/rust-lang/libc/pull/5404)) - Fuchsia: Deprecate types that do not exist upstream ([#&#8203;5127](https://redirect.github.com/rust-lang/libc/pull/5127)) - Hurd: Deprecate `fallocate64`, which does not exist on the platform ([#&#8203;5242](https://redirect.github.com/rust-lang/libc/pull/5242)) - Hurd: Deprecate redundant `glob64` types and routines ([#&#8203;5242](https://redirect.github.com/rust-lang/libc/pull/5242)) - L4Re: deprecate LFS bindings ([#&#8203;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` ([#&#8203;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. ([#&#8203;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. ([#&#8203;5348](https://redirect.github.com/rust-lang/libc/pull/5348)) - Exclude non-required repository files from the published crate ([#&#8203;5312](https://redirect.github.com/rust-lang/libc/pull/5312)) - AIX: Correct the function signature in `fileops_t.fo_select` ([#&#8203;5380](https://redirect.github.com/rust-lang/libc/pull/5380)) - AIX: Fix the alignment of `file` ([#&#8203;5380](https://redirect.github.com/rust-lang/libc/pull/5380)) - Android: Add missing padding to `ucontext_t` ([#&#8203;5189](https://redirect.github.com/rust-lang/libc/pull/5189)) - Android: Fix the value of RISC-V `O_` flags ([#&#8203;5554](https://redirect.github.com/rust-lang/libc/pull/5554)) - Fuchsia: Correct `mcontext_t` and `ucontext_t` and make them usable on more platforms ([#&#8203;5127](https://redirect.github.com/rust-lang/libc/pull/5127)) - Fuchsia: Fix available fields in `glob_t` and `statvfs` ([#&#8203;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 ([#&#8203;5127](https://redirect.github.com/rust-lang/libc/pull/5127)) - Haiku: Correct the definition of `sem_t` ([#&#8203;5351](https://redirect.github.com/rust-lang/libc/pull/5351)) - Linux-GNU: Fix the padding field in `statvfs64` on 32-bit RISC-V ([#&#8203;5518](https://redirect.github.com/rust-lang/libc/pull/5518)) - Linux: Correct PowerPC64 speed symbols with elfv2 ([#&#8203;5342](https://redirect.github.com/rust-lang/libc/pull/5342)) - Linux: Fix syscall numbers on 32-bit RISC-V ([#&#8203;5455](https://redirect.github.com/rust-lang/libc/pull/5455)) - Musl riscv64: Fix the definition of `ipc_perm` ([#&#8203;5527](https://redirect.github.com/rust-lang/libc/pull/5527)) - Musl riscv64: Fix the name of the `uc_flags` field in `ucontext_t` ([#&#8203;5527](https://redirect.github.com/rust-lang/libc/pull/5527)) - NetBSD: Fix `WIFSTOPPED` ([#&#8203;5458](https://redirect.github.com/rust-lang/libc/pull/5458)) - Newlib: Update the `time_t` alias. This is a correction on Arm32 RTEMS ([#&#8203;5132](https://redirect.github.com/rust-lang/libc/pull/5132)) - NuttX: Correct `O_` open flags ([#&#8203;5414](https://redirect.github.com/rust-lang/libc/pull/5414)) - RTEMS: Correct `socket.h` definitions ([#&#8203;5313](https://redirect.github.com/rust-lang/libc/pull/5313)) - RTEMS: Correct the size of clock and storage type aliases ([#&#8203;5450](https://redirect.github.com/rust-lang/libc/pull/5450)) - Redox: Correct `signal.h` types ([#&#8203;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. ([#&#8203;5376](https://redirect.github.com/rust-lang/libc/pull/5376)) - AIX: Make function pointers in signatures `unsafe` ([#&#8203;5380](https://redirect.github.com/rust-lang/libc/pull/5380)) - Cygwin: Change `POSIX_SPAWN_*` flags to `c_short` ([#&#8203;5572](https://redirect.github.com/rust-lang/libc/pull/5572)) - Hermit: Make iovec fields public ([#&#8203;5460](https://redirect.github.com/rust-lang/libc/pull/5460)) - Improve the panic message for out-of-range fds in `FD_*` functions ([#&#8203;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 ([#&#8203;5533](https://redirect.github.com/rust-lang/libc/pull/5533)) - Various: Make obsolete `stat` fields non-`pub` ([#&#8203;5542](https://redirect.github.com/rust-lang/libc/pull/5542)) - uClibc: No longer link to libutil ([#&#8203;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. ([#&#8203;5158](https://redirect.github.com/rust-lang/libc/pull/5158)) - **breaking** Apple: Remove the unsupported `exec*` and `fork` calls from tvOS and watchOS ([#&#8203;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 ([#&#8203;5401](https://redirect.github.com/rust-lang/libc/pull/5401)) Other removed items: - Dragonfly: Remove `INHERIT_ZERO` that does not exist upstream ([#&#8203;5587](https://redirect.github.com/rust-lang/libc/pull/5587)) - Musl riscv64: Remove GNU-gated `REG_*` definitions ([#&#8203;5527](https://redirect.github.com/rust-lang/libc/pull/5527)) - Musl riscv64: Remove non-esxistant `REG_NARGS` ([#&#8203;5527](https://redirect.github.com/rust-lang/libc/pull/5527)) A huge thank you to our GSoC student Adam Martinez ([@&#8203;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` ([#&#8203;5270](https://redirect.github.com/rust-lang/libc/pull/5270)) - Linux SPARC: Enable the `clone3` syscall ([#&#8203;4980](https://redirect.github.com/rust-lang/libc/pull/4980)) - Solarish: Add `CLOCK_PROCESS_CPUTIME_ID` and `CLOCK_THREAD_CPUTIME_ID` ([#&#8203;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 ([#&#8203;5245](https://redirect.github.com/rust-lang/libc/pull/5245)) - Windows: Add back link names for `time`-related symbols ([#&#8203;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` ([#&#8203;5065](https://redirect.github.com/rust-lang/libc/pull/5065)) - Add support for new QNX targets ([#&#8203;5241](https://redirect.github.com/rust-lang/libc/pull/5241)) - Better document breaking change policy and recommended usage ([#&#8203;5179](https://redirect.github.com/rust-lang/libc/pull/5179)) ##### Added - Android: Add `POSIX_SPAWN_*` constants ([#&#8203;5104](https://redirect.github.com/rust-lang/libc/pull/5104)) - Android: Add `getpwent`, `setpwent`, and `endpwent` ([#&#8203;5160](https://redirect.github.com/rust-lang/libc/pull/5160)) - Android: Add `preadv2` and `pwritev2` ([#&#8203;5157](https://redirect.github.com/rust-lang/libc/pull/5157)) - Android: Add `seccomp_notif*` structures ([#&#8203;5224](https://redirect.github.com/rust-lang/libc/pull/5224)) - Android: Add `timer_[create, delete, getoverrun, gettime, settime]` ([#&#8203;5108](https://redirect.github.com/rust-lang/libc/pull/5108)) - Apple: Add `PROC_PIDT_SHORTBSDINFO` and `proc_bsdshortinfo` ([#&#8203;5110](https://redirect.github.com/rust-lang/libc/pull/5110)) - Apple: Add `SIOC*` constants from `sockio.h` ([#&#8203;5263](https://redirect.github.com/rust-lang/libc/pull/5263)) - Apple: Add `_IOR`, `_IOW`, `_IOWR` ([#&#8203;5264](https://redirect.github.com/rust-lang/libc/pull/5264)) - Apple: Add `bpf_program` and `bpf_insn` ([#&#8203;5235](https://redirect.github.com/rust-lang/libc/pull/5235)) - Apple: Add additional `kqueue` constants ([#&#8203;5077](https://redirect.github.com/rust-lang/libc/pull/5077)) - Apple: Update `vm_statistics64` with recently added fields ([#&#8203;5253](https://redirect.github.com/rust-lang/libc/pull/5253)) - Apple: add `IN6_IFF_*` and `SIOCGIFAFLAG_IN6` ([#&#8203;5239](https://redirect.github.com/rust-lang/libc/pull/5239)) - Dragonfly: Add `O_*`, `POSIX_FADV_*`, `NI*`, and a few other missing constants ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) - Dragonfly: add `fdatasync`, `dlvsym`, `reallocarray`, `qsort_r`, `pthread_*affinity_np`, `ftok`, `extattr_*`, and `dup3` ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) - Emscripten: Add `in6_pktinfo` ([#&#8203;5256](https://redirect.github.com/rust-lang/libc/pull/5256)) - FreeBSD: Add SOL_LOCAL ([#&#8203;5185](https://redirect.github.com/rust-lang/libc/pull/5185)) - FreeBSD: Add `DLT_*` constants ([#&#8203;5235](https://redirect.github.com/rust-lang/libc/pull/5235)) - FreeBSD: Add `PROC_LOGSIGEXIT_*` and `PPROT_*` ([#&#8203;4657](https://redirect.github.com/rust-lang/libc/pull/4657)) - FreeBSD: Add `SO_RERROR` ([#&#8203;5260](https://redirect.github.com/rust-lang/libc/pull/5260)) - FreeBSD: add `IN6_IFF_*`, `in6_ifreq`, and `SIOCGIFAFLAG_IN6` ([#&#8203;5239](https://redirect.github.com/rust-lang/libc/pull/5239)) - FreeBSD: add `_IO*` helpers from `sys/ioccom.h` ([#&#8203;5239](https://redirect.github.com/rust-lang/libc/pull/5239)) - Glibc: Add `PTHREAD_*_MUTEX_INITIALIZER_NP` for riscv64 ([#&#8203;5094](https://redirect.github.com/rust-lang/libc/pull/5094)) - Glibc: Add new fields to `struct tcp_info` ([#&#8203;5215](https://redirect.github.com/rust-lang/libc/pull/5215)) - Linux: Add `OPEN_TREE_NAMESPACE` ([#&#8203;5145](https://redirect.github.com/rust-lang/libc/pull/5145)) - Linux: Add `SECCOMP_IOCTL_*` constants ([#&#8203;5224](https://redirect.github.com/rust-lang/libc/pull/5224)) - Linux: Add `SO_DETACH_REUSEPORT_BPF` ([#&#8203;5081](https://redirect.github.com/rust-lang/libc/pull/5081)) - Linux: Add `futex_waitv` ([#&#8203;5125](https://redirect.github.com/rust-lang/libc/pull/5125)) - Linux: Add constants for `fsopen`, `fsconfig`, `fsmount`, and `fspick` ([#&#8203;5145](https://redirect.github.com/rust-lang/libc/pull/5145)) - Linux: Add fields to `statx` present since 6.16 ([#&#8203;4621](https://redirect.github.com/rust-lang/libc/pull/4621)) - Linux: Add network entry API ([#&#8203;5049](https://redirect.github.com/rust-lang/libc/pull/5049)) - Linux: add `ifaddrmsg` and `rtattr` ([#&#8203;5234](https://redirect.github.com/rust-lang/libc/pull/5234)) - Linux: add `sockaddr_iucv` ([#&#8203;5041](https://redirect.github.com/rust-lang/libc/pull/5041)) - MacOS: Add `ENOTCAPABLE` ([#&#8203;4925](https://redirect.github.com/rust-lang/libc/pull/4925)) - Musl: Add `renameat2` ([#&#8203;5113](https://redirect.github.com/rust-lang/libc/pull/5113)) - NuttX: Add `F_SETFD` ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add `POLLRD*` and `POLLWR*` constants ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add `SO_KEEPALIVE` and TCP keepalive constants ([#&#8203;5111](https://redirect.github.com/rust-lang/libc/pull/5111)) - NuttX: Add `TCP_MAXSEG` ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add `eventfd` and `EFD_*` constants ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add `pipe2` ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add `strerror_r` ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add `netinet` structs and constants ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - NuttX: Add socket structs, functions and constants ([#&#8203;5258](https://redirect.github.com/rust-lang/libc/pull/5258)) - QuRT: Add POSIX timer functions ([#&#8203;5091](https://redirect.github.com/rust-lang/libc/pull/5091)) - QuRT: Add missing pthread functions from QuRT SDK headers ([#&#8203;5091](https://redirect.github.com/rust-lang/libc/pull/5091)) - QuRT: Add missing unistd process and file functions ([#&#8203;5091](https://redirect.github.com/rust-lang/libc/pull/5091)) - QuRT: Add mqueue subsystem (message queues, select/pselect) ([#&#8203;5091](https://redirect.github.com/rust-lang/libc/pull/5091)) - Redox: Add `*at` and `dirent` functions ([#&#8203;5117](https://redirect.github.com/rust-lang/libc/pull/5117)) - Solarish: Add IP TTL and IPv6 Hop Limit consts ([#&#8203;5089](https://redirect.github.com/rust-lang/libc/pull/5089)) - Solarish: Add `port_alert` and `PORT_ALERT*` constants ([#&#8203;5203](https://redirect.github.com/rust-lang/libc/pull/5203)) - Solarish: add AI_CANONNAME ([#&#8203;5085](https://redirect.github.com/rust-lang/libc/pull/5085)) - aarch64: Add SYS_sendfile and SYS_fadvise64 constants ([#&#8203;5133](https://redirect.github.com/rust-lang/libc/pull/5133)) ##### Deprecated - Dragonfly: Deprecate compatibility aliases `CPUCTL_RSMSR` and `UTX_DB_LASTLOG` ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) ##### Fixed - **breaking** NetBSD: Correct `ts` from `*const timespec` to `*mut timespec` in \_lwp_park\` ([#&#8203;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` ([#&#8203;4936](https://redirect.github.com/rust-lang/libc/pull/4936)) - Fix the soundness bug in the representation of extern types ([#&#8203;5021](https://redirect.github.com/rust-lang/libc/pull/5021)) - Cygwin: fix `cpuset_t` typo in `CPU_ZERO` ([#&#8203;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 ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) - Dragonfly: Correct values of `CPUCTL_CPUID*`, `EV_HUP`, and `EV_SYSFLAGS` ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) - Emscripten: fix pthread type sizes for wasm64 (MEMORY64) ([#&#8203;5156](https://redirect.github.com/rust-lang/libc/pull/5156)) - Horizon: Fix the value of `POLLOUT` ([#&#8203;5090](https://redirect.github.com/rust-lang/libc/pull/5090)) - Linux: Correct the value of `EPIOC[GS]PARAMS` with nonstandard \_IOC ([#&#8203;5188](https://redirect.github.com/rust-lang/libc/pull/5188)) - Make VxWorks shims `unsafe` ([#&#8203;3727](https://redirect.github.com/rust-lang/libc/pull/3727)) - NetBSD: Correct getmntinfo to link `__getmntinfo13` ([#&#8203;5251](https://redirect.github.com/rust-lang/libc/pull/5251)) - QNX: Fix the value of `PTHREAD_MUTEX_INITIALIZER` ([#&#8203;5241](https://redirect.github.com/rust-lang/libc/pull/5241)) - QuRT: fix type and definition inaccuracies against SDK headers ([#&#8203;5091](https://redirect.github.com/rust-lang/libc/pull/5091)) - Windows: Correctly link to 32-bit time routines on 32-bit platforms ([#&#8203;5059](https://redirect.github.com/rust-lang/libc/pull/5059)) - uClibc: Fix constants accidentally removed ([#&#8203;5141](https://redirect.github.com/rust-lang/libc/pull/5141)) - uclibc: Fix build issues ([#&#8203;5046](https://redirect.github.com/rust-lang/libc/pull/5046)) - uclibc: Fix type of PRIO_PROCESS and friends ([#&#8203;5046](https://redirect.github.com/rust-lang/libc/pull/5046)) ##### Changed - AIX, TeeOS: Drop unneeded `-> c_void` ([#&#8203;5240](https://redirect.github.com/rust-lang/libc/pull/5240)) - Apple: Change `AIO_LISTIO_MAX` to account for changes in macOS 27 ([#&#8203;5253](https://redirect.github.com/rust-lang/libc/pull/5253)) - Glibc: Update the value of `MS_NOUSER` ([#&#8203;5215](https://redirect.github.com/rust-lang/libc/pull/5215)) - L4Re: Update definitions and test infra ([#&#8203;5275](https://redirect.github.com/rust-lang/libc/pull/5275)) - Linux: Update the value of `SW_MAX` and `SW_CNT` ([#&#8203;5215](https://redirect.github.com/rust-lang/libc/pull/5215)) - MacOS: Add `swapped_count` to `vm_statistics64` ([#&#8203;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 ([#&#8203;5062](https://redirect.github.com/rust-lang/libc/pull/5062)) ##### Removed - Dragonfly: Remove FreeBSD-only `Elf32_Lword`, `ip_mreq_source`, and `IP_` constants ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) - Dragonfly: Remove private VM type bindings ([#&#8203;5116](https://redirect.github.com/rust-lang/libc/pull/5116)) - Linux: Remove `KERN_REALROOTDEV` and `VM_LAPTOP_MODE` ([#&#8203;5177](https://redirect.github.com/rust-lang/libc/pull/5177)) - VxWorks: Remove non-user-facing (kernel) API ([#&#8203;5129](https://redirect.github.com/rust-lang/libc/pull/5129)) ##### Other - Print config information if `LIBC_BUILD_VERBOSE` is set ([#&#8203;5272](https://redirect.github.com/rust-lang/libc/pull/5272)) - Annotate `*LAST` constants as potentially changing ([#&#8203;5120](https://redirect.github.com/rust-lang/libc/pull/5120)) - Annotate `*MAX` constants as potentially changing ([#&#8203;5122](https://redirect.github.com/rust-lang/libc/pull/5122)) - BSD: Annotate `ELAST` constants as potentially changing ([#&#8203;5118](https://redirect.github.com/rust-lang/libc/pull/5118)) - FreeBSD: Annotate `RAND_MAX` as potentially changing ([#&#8203;5119](https://redirect.github.com/rust-lang/libc/pull/5119)) - Linux, L4re: Annotate `*NUM` constants as potentially changing ([#&#8203;5123](https://redirect.github.com/rust-lang/libc/pull/5123)) - QNX: Restructure to support new platforms ([#&#8203;4984](https://redirect.github.com/rust-lang/libc/pull/4984)) - Unix: Annotate `*COUNT` constants as potentially changing ([#&#8203;5121](https://redirect.github.com/rust-lang/libc/pull/5121)) - uClibc: Add unstable support of 64-bit `time_t` ([#&#8203;5046](https://redirect.github.com/rust-lang/libc/pull/5046)) - (internal) FreeBSD: Replace unstable env to set version with an unstable cfg ([#&#8203;5201](https://redirect.github.com/rust-lang/libc/pull/5201)) - (internal) Glibc: Remove public configuration for file offset bits ([#&#8203;5268](https://redirect.github.com/rust-lang/libc/pull/5268)) - (internal) Linux: Delete config via `RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64` ([#&#8203;5197](https://redirect.github.com/rust-lang/libc/pull/5197)) - (internal) Replace `RUST_LIBC_UNSTABLE` env with `libc_unstable*` cfg ([#&#8203;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 ([#&#8203;5070](https://redirect.github.com/rust-lang/libc/pull/5070)) - Linux: Add `PR_SET_MEMORY_MERGE` and `PR_GET_MEMORY_MERGE` ([#&#8203;5060](https://redirect.github.com/rust-lang/libc/pull/5060)) ##### Changed - CI: Migrate FreeBSD CI from Cirrus CI to GitHub Actions ([#&#8203;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 ([#&#8203;5035](https://redirect.github.com/rust-lang/libc/pull/5035)) - Hexagon: add missing constants and fix types for linux-musl ([#&#8203;5042](https://redirect.github.com/rust-lang/libc/pull/5042)) - Redox: Add semaphore functions ([#&#8203;5051](https://redirect.github.com/rust-lang/libc/pull/5051)) - Windows: Add `sprintf`, `snprintf`, and the `scanf` family ([#&#8203;5024](https://redirect.github.com/rust-lang/libc/pull/5024)) ##### Fixed - Hexagon: Decouple `time64` types from musl symbol redirects ([#&#8203;5040](https://redirect.github.com/rust-lang/libc/pull/5040)) - Horizon: Change `POLL` constants from `c_short` to `c_int` ([#&#8203;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.) ([#&#8203;4972](https://redirect.github.com/rust-lang/libc/pull/4972)) ##### Added - BSD: Add `IP_MINTTL` to bsd ([#&#8203;5026](https://redirect.github.com/rust-lang/libc/pull/5026)) - Cygwin: Add `TIOCM_DSR` ([#&#8203;5031](https://redirect.github.com/rust-lang/libc/pull/5031)) - FreeBSD: Added `xfile` structe and file descriptor types ([#&#8203;5002](https://redirect.github.com/rust-lang/libc/pull/5002)) - Linux: Add CAN netlink bindings ([#&#8203;5011](https://redirect.github.com/rust-lang/libc/pull/5011)) - Linux: Add `struct ethhdr` ([#&#8203;4239](https://redirect.github.com/rust-lang/libc/pull/4239)) - Linux: Add `struct ifinfomsg` ([#&#8203;5012](https://redirect.github.com/rust-lang/libc/pull/5012)) - Linux: Define `max_align_t` for riscv64 ([#&#8203;5029](https://redirect.github.com/rust-lang/libc/pull/5029)) - NetBSD: Add missing `CLOCK_` constants ([#&#8203;5020](https://redirect.github.com/rust-lang/libc/pull/5020)) - NuttX: Add `_SC_HOST_NAME_MAX` ([#&#8203;5004](https://redirect.github.com/rust-lang/libc/pull/5004)) - VxWorks: Add `flock` and `F_*LCK` constants ([#&#8203;4043](https://redirect.github.com/rust-lang/libc/pull/4043)) - WASI: Add all `_SC_*` sysconf constants ([#&#8203;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. ([#&#8203;4343](https://redirect.github.com/rust-lang/libc/pull/4343)) ##### Fixed - **breaking** Redox: Fix signal action constant types ([#&#8203;5009](https://redirect.github.com/rust-lang/libc/pull/5009)) - EspIDF: Correct the value of `DT_*` constants ([#&#8203;5034](https://redirect.github.com/rust-lang/libc/pull/5034)) - Redox: Fix locale values and add `RTLD_NOLOAD`, some TCP constants ([#&#8203;5025](https://redirect.github.com/rust-lang/libc/pull/5025)) - Various: Use `Padding::new(<zeroed>)` rather than `Padding::uninit()` ([#&#8203;5036](https://redirect.github.com/rust-lang/libc/pull/5036)) ##### Changed - **potentially breaking** Linux: Add new fields to `struct ptrace_syscall_info` ([#&#8203;4966](https://redirect.github.com/rust-lang/libc/pull/4966)) - Re-export `core::ffi` integer types rather than redefining ([#&#8203;5015](https://redirect.github.com/rust-lang/libc/pull/5015)) - Redox: Update `F_DUPFD`, `IP`, and `TCP` constants to match relibc ([#&#8203;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` ([#&#8203;4993](https://redirect.github.com/rust-lang/libc/pull/4993)) - Linux: Add `name_to_handle_at` and `open_by_handle_at` ([#&#8203;4988](https://redirect.github.com/rust-lang/libc/pull/4988)) - NetBSD: Add `kinfo_file`, `kinfo_pcb`, and related constants ([#&#8203;4985](https://redirect.github.com/rust-lang/libc/pull/4985)) - OpenBSD: Add `kinfo_file` and related constants ([#&#8203;4991](https://redirect.github.com/rust-lang/libc/pull/4991)) - VxWorks: Add additional structs and defines ([#&#8203;5003](https://redirect.github.com/rust-lang/libc/pull/5003)) - Various: Implement `Default` for `timeval` and `timespec` ([#&#8203;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` ([#&#8203;4992](https://redirect.github.com/rust-lang/libc/pull/4992)) - Nintendo Switch: Fix target support ([#&#8203;4982](https://redirect.github.com/rust-lang/libc/pull/4982)) - OpenBSD: Wrap an unused field in `Padding` ([#&#8203;4997](https://redirect.github.com/rust-lang/libc/pull/4997)) - Redox: Change `sigaction.sa_flags` to `c_int` ([#&#8203;4986](https://redirect.github.com/rust-lang/libc/pull/4986)) - Redox: Fix `blkcnt_t` type ([#&#8203;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` ([#&#8203;4970](https://redirect.github.com/rust-lang/libc/pull/4970)) - Redox: Add `RENAME_NOREPLACE` ([#&#8203;4968](https://redirect.github.com/rust-lang/libc/pull/4968)) - Redox: Add `renameat2` ([#&#8203;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` ([#&#8203;4924](https://redirect.github.com/rust-lang/libc/pull/4924)) - Redox: Add `makedev`, `major`, and `minor` ([#&#8203;4928](https://redirect.github.com/rust-lang/libc/pull/4928)) - GLibc: Add `PTRACE_SET_SYSCALL_INFO` ([#&#8203;4933](https://redirect.github.com/rust-lang/libc/pull/4933)) - OpenBSD: Add more kqueue related constants for ([#&#8203;4945](https://redirect.github.com/rust-lang/libc/pull/4945)) - Linux: add CAN error types ([#&#8203;4944](https://redirect.github.com/rust-lang/libc/pull/4944)) - OpenBSD: Add siginfo_t::si_status ([#&#8203;4946](https://redirect.github.com/rust-lang/libc/pull/4946)) - QNX NTO: Add `max_align_t` ([#&#8203;4927](https://redirect.github.com/rust-lang/libc/pull/4927)) - Illumos: Add `_CS_PATH` ([#&#8203;4956](https://redirect.github.com/rust-lang/libc/pull/4956)) - OpenBSD: add `ppoll` ([#&#8203;4957](https://redirect.github.com/rust-lang/libc/pull/4957)) ##### Fixed - **Breaking**: Redox: Fix the type of `dev_t` ([#&#8203;4928](https://redirect.github.com/rust-lang/libc/pull/4928)) - AIX: Change 'tv_nsec' of 'struct timespec' to type 'c_long' ([#&#8203;4931](https://redirect.github.com/rust-lang/libc/pull/4931)) - AIX: Use 'struct st_timespec' in 'struct stat{,64}' ([#&#8203;4931](https://redirect.github.com/rust-lang/libc/pull/4931)) - Glibc: Link old version of `tc{g,s}etattr` ([#&#8203;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 ([#&#8203;4938](https://redirect.github.com/rust-lang/libc/pull/4938)) - OpenBSD: Fix constness of tm.tm_zone ([#&#8203;4948](https://redirect.github.com/rust-lang/libc/pull/4948)) - OpenBSD: Fix the definition of `ptrace_thread_state` ([#&#8203;4947](https://redirect.github.com/rust-lang/libc/pull/4947)) - QuRT: Fix type visibility and defs ([#&#8203;4932](https://redirect.github.com/rust-lang/libc/pull/4932)) - Redox: Fix values for `PTHREAD_MUTEX_{NORMAL, RECURSIVE}` ([#&#8203;4943](https://redirect.github.com/rust-lang/libc/pull/4943)) - Various: Mark additional fields as private padding ([#&#8203;4922](https://redirect.github.com/rust-lang/libc/pull/4922)) ##### Changed - Fuchsia: Update `SO_*` constants ([#&#8203;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+ ) ([#&#8203;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 ([#&#8203;1333](https://redirect.github.com/serde-rs/json/issues/1333), thanks [@&#8203;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 ([#&#8203;1345](https://redirect.github.com/serde-rs/json/issues/1345), thanks [@&#8203;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 ([#&#8203;1346](https://redirect.github.com/serde-rs/json/issues/1346), thanks [@&#8203;yuxi-liu-wired](https://redirect.github.com/yuxi-liu-wired)) - Fix comparison of large non-integer values with f32::INFINITY ([#&#8203;1347](https://redirect.github.com/serde-rs/json/issues/1347), thanks [@&#8203;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 ([#&#8203;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 ([#&#8203;2086](https://redirect.github.com/dtolnay/syn/issues/2086), [#&#8203;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 ([#&#8203;2085](https://redirect.github.com/dtolnay/syn/issues/2085), thanks [@&#8203;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 ([#&#8203;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` ([#&#8203;2080](https://redirect.github.com/dtolnay/syn/issues/2080), thanks [@&#8203;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` ([#&#8203;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 ([#&#8203;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 ([#&#8203;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`. [#&#8203;5336](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5336) - Added the `texture-compression-unaligned` variant to `GpuFeatureName`, matching the WebGPU specification. [#&#8203;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`. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;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!`. [#&#8203;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`. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;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`). [#&#8203;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. [#&#8203;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. [#&#8203;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`. [#&#8203;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. [#&#8203;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. [#&#8203;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. [#&#8203;5230](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5230) [#&#8203;5272](https://redirect.github.com/wasm-bindgen/wasm-bindgen/pull/5272) [#&#8203;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. [#&#8203;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>
main
5 days ago
[autofix.ci] apply automated fixes
renovate/rust-crates
5 days ago
Update rust crates
renovate/rust-crates
5 days ago
chore: release v5.0.2
release-plz-2026-08-13T00-29-26Z
7 days ago
chore: release v5.0.2
release-plz-2026-08-13T00-29-26Z
7 days ago
chore: release v5.0.2
release-plz-2026-08-13T00-29-26Z
14 days ago

Latest Branches

CodSpeed Performance Gauge
0%
chore: release v5.0.2#841
16 hours ago
e0eb8c4
release-plz-2026-08-13T00-29-26Z
CodSpeed Performance Gauge
+15%
Update rust crates#907
5 days ago
c8aaed9
renovate/rust-crates
CodSpeed Performance Gauge
-1%
28 days ago
3e5a9da
update-1790382645
Ā© 2026 CodSpeed Technology
Home Terms Privacy Docs