Repository navigation
chore(deps): update all non-major dependencies - #2348
Conversation
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
There was a problem hiding this comment.
The Linux artifact published with a -fips tag would move from AWS-LC-FIPS 3.x’s validated module to 4.x, which the dependency release notes say is still awaiting NIST certification. Pin aws-lc-rs below 1.18 before shipping to customers that require validated cryptography.
🤖 Datadog Autotest · Commit 78e1a9e · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
| [[package]] | ||
| name = "aws-lc-fips-sys" | ||
| version = "0.13.14" | ||
| version = "0.14.1" |
There was a problem hiding this comment.
Keep the validated module in FIPS images
Customers using the advertised -fips image could deploy a cryptographic module without a current NIST certificate, violating their compliance requirements.
Assertion details
- Input: Any Linux agent-data-plane image built with the
fipsfeature; release CI publishes both amd64 and arm64 variants with a-fipstag. - Expected: Constrain the workspace
aws-lc-rsdependency to<1.18, then regenerate Cargo.lock so Linux FIPS artifacts retain the validated 3.x module until 4.x is certified and approved. This is a multi-file generated-lockfile fix, so no inline suggestion is safe. - Actual: Cargo.lock upgrades
aws-lc-fips-sysfrom 0.13.14 to 0.14.1 throughaws-lc-rs1.18.0. The supplied upstream release notes state this switches from validated AWS-LC-FIPS 3.x to 4.x, which is awaiting NIST certification, and direct validation-required consumers to pin below 1.18. Existing tests only check approved algorithms and cannot detect certification status.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
Regression Detector (Agent Data Plane)Run ID: Optimization Goals: ✅ No significant changes detectedFine details of change detection per experiment (5)Experiments configured
Bounds Checks: ❌ Failed (5)
ExplanationA change is flagged as a regression when |Δ mean %| > 5.00% in the regressing direction for its optimization goal AND SMP marks the experiment as a regression ( |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Newer clippy flags clone_on_copy under #![deny(warnings)].
opentelemetry-semantic-conventions 0.32.1 no longer re-exports CONTAINER_RUNTIME from the resource module; hardcode the attribute key like the other older/unstable semconv entries in this table.
aws-lc-rs 1.18 switches the fips feature from AWS-LC-FIPS 3.x (NIST CMVP certs #5314/#5298, validated) to AWS-LC-FIPS 4.x, which has only been submitted for certification and is not yet validated. Constrain the workspace dependency below 1.18 so Linux FIPS builds keep shipping a certified module until 4.x is approved.
| [[package]] | ||
| name = "aws-lc-fips-sys" | ||
| version = "0.13.14" | ||
| version = "0.13.16" |
There was a problem hiding this comment.
[Claude Sonnet 5] Correct — researched this: AWS-LC-FIPS 3.x (statically/dynamically linked, NIST CMVP certs #5314 / #5298) is validated. AWS-LC-FIPS 4.x, which aws-lc-fips-sys 0.14.x (pulled in by aws-lc-rs 1.18.0) switches to, has only completed lab testing and been submitted to NIST — it's on the CMVP Modules In Process list, not yet certified.
Pinned the workspace aws-lc-rs dependency to <1.18 and regenerated Cargo.lock (back to aws-lc-fips-sys 0.13.16, still on the validated 3.x module). Added a comment on the pin with links to check certification status before lifting it.
Also fixed the two other unrelated CI failures in this PR (both pre-existing bugs exposed by the dependency bumps, not caused by them):
- a new clippy
clone_on_copylint onSizeHintinsaluki-io opentelemetry-semantic-conventions0.32.1 dropping its re-export ofCONTAINER_RUNTIME, fixed by hardcoding the attribute key like the other legacy entries in that mapping table
All pushed to this branch; local cargo check, clippy, fmt, license check, and the affected crates' test suites (1092 tests) pass.
Binary Size Analysis (Agent Data Plane)Baseline: d6c6e40 · Comparison: a4e8d1b · diff ✅ Binary size difference within thresholdChanges by Module
Detailed Symbol Changes |
d2234c4
into
main
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [anyhow](https://redirect.github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.103` → `1.0.104` | |
| [anymap3](https://redirect.github.com/reivilibre/anymap3) | workspace.dependencies | minor | `1.0.1` → `1.1.0` | |
| [arc-swap](https://redirect.github.com/vorner/arc-swap) | workspace.dependencies | patch | `1.9.1` → `1.9.2` | |
| [async-compression](https://redirect.github.com/Nullus157/async-compression) | workspace.dependencies | patch | `0.4.42` → `0.4.43` | |
| [async-trait](https://redirect.github.com/dtolnay/async-trait) | workspace.dependencies | patch | `0.1.89` → `0.1.92` | |
| [aws-lc-rs](https://redirect.github.com/aws/aws-lc-rs) | workspace.dependencies | minor | `1.17.1` → `1.18.0` | |
| [bytes](https://redirect.github.com/tokio-rs/bytes) | workspace.dependencies | patch | `1.12.0` → `1.12.1` | |
| [bytesize](https://redirect.github.com/bytesize-rs/bytesize) | workspace.dependencies | minor | `2.4.0` → `2.7.0` | |
| [clap](https://redirect.github.com/clap-rs/clap) | workspace.dependencies | patch | `4.6.1` → `4.6.6` | |
| [crossbeam-queue](https://redirect.github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-queue) ([source](https://redirect.github.com/crossbeam-rs/crossbeam)) | workspace.dependencies | patch | `0.3.12` → `0.3.13` | |
| [futures](https://rust-lang.github.io/futures-rs) ([source](https://redirect.github.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.32` → `0.3.33` | `0.3.34` |
| [http](https://redirect.github.com/hyperium/http) | workspace.dependencies | minor | `1.4.2` → `1.5.0` | |
| [http-body](https://redirect.github.com/hyperium/http-body) | workspace.dependencies | minor | `1.0.1` → `1.1.0` | |
| [http-body-util](https://redirect.github.com/hyperium/http-body) | workspace.dependencies | patch | `0.1.3` → `0.1.4` | `0.1.5` |
| [hyper](https://hyper.rs) ([source](https://redirect.github.com/hyperium/hyper)) | workspace.dependencies | minor | `1.10.1` → `1.11.0` | |
| [kube](https://redirect.github.com/kube-rs/kube) | workspace.dependencies | minor | `4.0.0` → `4.2.0` | |
| [libc](https://redirect.github.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.186` → `0.2.189` | |
| [memchr](https://redirect.github.com/BurntSushi/memchr) | workspace.dependencies | patch | `2.8.2` → `2.8.3` | |
| [opentelemetry-semantic-conventions](https://redirect.github.com/open-telemetry/opentelemetry-rust/tree/main/opentelemetry-semantic-conventions) ([source](https://redirect.github.com/open-telemetry/opentelemetry-rust/tree/HEAD/opentelemetry-semantic-conventions)) | workspace.dependencies | patch | `0.32.0` → `0.32.1` | |
| [proc-macro2](https://redirect.github.com/dtolnay/proc-macro2) | workspace.dependencies | patch | `1.0.106` → `1.0.107` | |
| [quote](https://redirect.github.com/dtolnay/quote) | workspace.dependencies | patch | `1.0.45` → `1.0.47` | |
| [rand](https://rust-random.github.io/book) ([source](https://redirect.github.com/rust-random/rand)) | workspace.dependencies | patch | `0.10.1` → `0.10.2` | |
| [regex](https://redirect.github.com/rust-lang/regex) | workspace.dependencies | minor | `1.12.4` → `1.13.1` | |
| [rustls](https://redirect.github.com/rustls/rustls) | workspace.dependencies | patch | `0.23.41` → `0.23.43` | |
| [rustls-pki-types](https://redirect.github.com/rustls/pki-types) | workspace.dependencies | minor | `1.14.1` → `1.15.1` | |
| [serde](https://serde.rs) ([source](https://redirect.github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.228` → `1.0.229` | |
| [serde_json](https://redirect.github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.150` → `1.0.151` | |
| [serde_with](https://redirect.github.com/jonasbb/serde_with) | workspace.dependencies | minor | `3.21.0` → `3.22.0` | |
| [snafu](https://redirect.github.com/shepmaster/snafu) | workspace.dependencies | patch | `0.9.1` → `0.9.2` | |
| [socket2](https://redirect.github.com/rust-lang/socket2) | workspace.dependencies | patch | `0.6.4` → `0.6.5` | |
| [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.52.3` → `1.53.1` | |
| [tokio-util](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | patch | `0.7.18` → `0.7.19` | |
| [triomphe](https://redirect.github.com/Manishearth/triomphe) | workspace.dependencies | patch | `0.1.15` → `0.1.16` | |
| [trybuild](https://redirect.github.com/dtolnay/trybuild) | workspace.dependencies | patch | `1.0.117` → `1.0.120` | |
| [twox-hash](https://redirect.github.com/shepmaster/twox-hash) | workspace.dependencies | patch | `2.1.2` → `2.1.3` | |
| [uuid](https://redirect.github.com/uuid-rs/uuid) | workspace.dependencies | minor | `1.23.3` → `1.24.0` | `1.24.1` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/1486) for more information.
---
### Release Notes
<details>
<summary>dtolnay/anyhow (anyhow)</summary>
### [`v1.0.104`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.104)
[Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.103...1.0.104)
- Update `syn` dev-dependency to version 3
</details>
<details>
<summary>reivilibre/anymap3 (anymap3)</summary>
### [`v1.1.0`](https://redirect.github.com/reivilibre/anymap3/blob/HEAD/CHANGELOG.md#110-2026-06-14)
[Compare Source](https://redirect.github.com/reivilibre/anymap3/compare/1.0.1...v1.1.0)
##### Removals and Deprecations
- Increase Minimum Supported Rust Version (MSRV) to 1.56 (October 2021). ([#​7](https://redirect.github.com/reivilibre/anymap3/pull/7))
##### Features
- Support the `AnyDebug` trait from the [`anymore` crate](https://redirect.github.com/linebender/anymore). Enable with `anymore` crate feature. Contributed by [@​DJMcNab](https://redirect.github.com/DJMcNab) — thank you. ([#​5](https://redirect.github.com/reivilibre/anymap3/pull/5))
##### Internal Changes
- Add CI for tests and linting. ([#​6](https://redirect.github.com/reivilibre/anymap3/pull/6))
- Fix our tests to work with new Rust versions, which changed the internal representation of `TypeId`. Runtime behaviour was unaffected. ([#​7](https://redirect.github.com/reivilibre/anymap3/pull/7))
</details>
<details>
<summary>vorner/arc-swap (arc-swap)</summary>
### [`v1.9.2`](https://redirect.github.com/vorner/arc-swap/blob/HEAD/CHANGELOG.md#192)
- Document RefCnt must not panic ([#​208](https://redirect.github.com/vorner/arc-swap/issues/208)).
</details>
<details>
<summary>Nullus157/async-compression (async-compression)</summary>
### [`v0.4.43`](https://redirect.github.com/Nullus157/async-compression/releases/tag/async-compression-v0.4.43)
[Compare Source](https://redirect.github.com/Nullus157/async-compression/compare/async-compression-v0.4.42...async-compression-v0.4.43)
##### Other
- Fix hang when decoding a corrupt subsequent zstd frame ([#​470](https://redirect.github.com/Nullus157/async-compression/pull/470))
</details>
<details>
<summary>dtolnay/async-trait (async-trait)</summary>
### [`v0.1.92`](https://redirect.github.com/dtolnay/async-trait/releases/tag/0.1.92)
[Compare Source](https://redirect.github.com/dtolnay/async-trait/compare/0.1.91...0.1.92)
- Resolve double\_must\_use clippy lint in generated code ([#​303](https://redirect.github.com/dtolnay/async-trait/issues/303))
### [`v0.1.91`](https://redirect.github.com/dtolnay/async-trait/compare/0.1.90...0.1.91)
[Compare Source](https://redirect.github.com/dtolnay/async-trait/compare/0.1.90...0.1.91)
### [`v0.1.90`](https://redirect.github.com/dtolnay/async-trait/releases/tag/0.1.90)
[Compare Source](https://redirect.github.com/dtolnay/async-trait/compare/0.1.89...0.1.90)
- Update to syn 3
</details>
<details>
<summary>aws/aws-lc-rs (aws-lc-rs)</summary>
### [`v1.18.0`](https://redirect.github.com/aws/aws-lc-rs/releases/tag/v1.18.0): aws-lc-rs v1.18.0
[Compare Source](https://redirect.github.com/aws/aws-lc-rs/compare/v1.17.3...v1.18.0)
#### AWS-LC-FIPS module updated to 4.x
This release switches `aws-lc-fips-sys` (used via the `fips` feature) from the AWS-LC-FIPS 3.x branch to [AWS-LC-FIPS 4.0](https://redirect.github.com/aws/aws-lc/releases/tag/v4.0.0).
- **If your project requires FIPS compliance, please consult your local FIPS compliance experts before upgrading.** The FIPS v3 module shipped in aws-lc-rs v1.17.x is FIPS 140-3 validated ([Certificate #​5314](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5314) static, [Certificate #​5298](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5298) dynamic). The 4.x module has completed validation testing by an accredited lab and has been submitted to NIST for certification. Refer to the [CMVP Modules In Progress List](https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/Modules-In-Process-List) for its current status, and to [FIPS.md](https://redirect.github.com/aws/aws-lc/blob/main/crypto/fipsmodule/FIPS.md) for security policies and supported operating environments.
- Consumers who need to remain on the FIPS 3.x module should pin `aws-lc-rs` to `<1.18.0`. See the Cargo Book on [Specifying Dependencies](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html).
| AWS-LC-FIPS module | aws-lc-rs |
| ------------------ | --------- |
| 2.0.x | <1.12.0 |
| 3.0.x | <1.18.0 |
| 4.x | *latest* |
#### What's Changed
- Switch `aws-lc-fips-sys` to AWS-LC's "FIPS 4.0" branch by [@​justsmth](https://redirect.github.com/justsmth) in [#​1185](https://redirect.github.com/aws/aws-lc-rs/pull/1185)
- `aws-lc-fips-sys` v0.13.16 -> v0.14.0. Please see the call-out above.
- **The ML-DSA signature APIs are now stable** 🎉 by [@​justsmth](https://redirect.github.com/justsmth) in [#​1188](https://redirect.github.com/aws/aws-lc-rs/pull/1188) and [#​1189](https://redirect.github.com/aws/aws-lc-rs/pull/1189)
- `PqdsaKeyPair`, `PqdsaPublicKey`, `PqdsaPrivateKey`, `PqdsaSigningAlgorithm`, `PqdsaVerificationAlgorithm`, and the `ML_DSA_44` / `ML_DSA_65` / `ML_DSA_87` algorithms (and their `_SIGNING` counterparts) now live in `aws_lc_rs::signature`. ML-DSA no longer requires the `unstable` feature, and is now available under `fips` -- the FIPS 4.0 module provides ML-DSA, which is what had kept these APIs unstable. See our updated [API documentation](https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/index.html).
- Please migrate any use of `aws_lc_rs::unstable::signature` to `aws_lc_rs::signature`. The `unstable::signature` module remains as deprecated aliases and will be removed in a future release.
- `PqdsaKeyPair::to_pkcs8` has been renamed to `to_pkcs8v1`, since elsewhere in the module an unqualified `to_pkcs8` means [PKCS#8](https://redirect.github.com/PKCS/aws-lc-rs/issues/8) v2. A deprecated `to_pkcs8` alias remains available under the `unstable` feature.
- Existing `unstable` consumers continue to compile, with deprecation warnings. Two cases need a source change: builds using `#![deny(warnings)]`, and code that glob-imports both `signature::*` and `unstable::signature::*`, which now needs an explicit import to disambiguate.
- **Behavior change:** `PqdsaVerificationAlgorithm::parsed_verify_digest_sig` now always returns `Unspecified`. Digest-then-verify is not an operation defined by FIPS 204 -- pure ML-DSA signs the message itself, and the pre-hash variant (HashML-DSA) uses a distinct domain separator that this API does not implement.
- Add out-of-place AEAD sealing by [@​iainmcgin](https://redirect.github.com/iainmcgin) in [#​1183](https://redirect.github.com/aws/aws-lc-rs/pull/1183)
- Adds `seal_separate_out_of_place` to `LessSafeKey` and `TlsRecordSealingKey`. Every sealing entry point was previously in-place, so a caller whose plaintext was borrowed or shared had to copy it into a scratch buffer purely to make it mutable. This mirrors the existing `open_separate_gather`, so the sealing and opening directions now match.
- Add `rsa::KeyPair::from_components` for constructing RSA key pairs from raw components by [@​justsmth](https://redirect.github.com/justsmth) in [#​1175](https://redirect.github.com/aws/aws-lc-rs/pull/1175)
- Adds `rsa::KeyPairComponents` and `rsa::KeyPair::from_components`, matching ring 0.17, so a signing key can be built from formats such as JWK without first encoding the components as DER. Unlike ring, `d` and the CRT parameters are validated at construction using `RSA_check_key`, so keys with inconsistent or placeholder values that ring accepts may be rejected. Unnecessary generic bounds were also removed from `PublicKeyComponents`.
- Automatically optimize aws-lc for size when opt-level is "s" or "z" by [@​justsmth](https://redirect.github.com/justsmth) in [#​1159](https://redirect.github.com/aws/aws-lc-rs/pull/1159)
- The builder now enables AWS-LC's size-optimized configuration (`OPENSSL_SMALL`, and no AVX-512 assembly on x86\_64) whenever Cargo is already building for size. In CI, a small binary exercising SHA-256, AES-256-GCM, and ECDSA P-256 is **36-50% smaller** at `opt-level=z` than at `opt-level=3`: 50% on x86\_64 Linux, 48% on aarch64 macOS, 39% on x86\_64 Windows, 36% on aarch64 Linux. Your own savings depend on how much of AWS-LC your binary retains.
- No algorithms are removed and outputs are unchanged; the trade-off is slower elliptic-curve performance. Set `AWS_LC_SYS_SMALL=1`/`=0` to force it on or off independently of opt-level.
- FIPS builds do not opt in automatically: `aws-lc-fips-sys` requires an explicit `AWS_LC_FIPS_SYS_SMALL=1`, and warns when it is set.
- Partially addresses [#​745](https://redirect.github.com/aws/aws-lc-rs/issues/745); the default size under `opt-level=3` footprint is unchanged.
- Export native library build metadata from the -sys crates by [@​justsmth](https://redirect.github.com/justsmth) in [#​1187](https://redirect.github.com/aws/aws-lc-rs/pull/1187), including original commits from [@​glebpom](https://redirect.github.com/glebpom) in [#​1184](https://redirect.github.com/aws/aws-lc-rs/pull/1184)
- Downstream build scripts compiling C code against AWS-LC can now locate our artifacts via `DEP_AWS_LC_*` / `DEP_AWS_LC_FIPS_*` (`libdir`, `libcrypto_path`, `link_kind`, and `libssl_path` with `ssl`), consistently across the CC, CMake, and system-library build paths. Existing linker directives are unchanged. On Windows, the `*_path` values are the link-time artifact (import library), not the runtime DLL.
- Key wrap hardening by [@​justsmth](https://redirect.github.com/justsmth) in [#​1190](https://redirect.github.com/aws/aws-lc-rs/pull/1190) and [#​1191](https://redirect.github.com/aws/aws-lc-rs/pull/1191)
- `KeyEncryptionKey::unwrap` no longer underflows on ciphertexts shorter than 8 bytes. Since the ciphertext is untrusted input, builds with `overflow-checks = true` would panic instead of returning the documented `Err(Unspecified)`; default release builds were unaffected.
- `KeyEncryptionKey` now zeroizes its key material on drop, consistent with the other key types in this crate.
- docs(signature): correct outdated note about signing a separate digest by [@​WesleyRosenblum](https://redirect.github.com/WesleyRosenblum) in [#​1186](https://redirect.github.com/aws/aws-lc-rs/pull/1186)
##### Upstream AWS-LC (v5.5.0)
`aws-lc-sys` v0.44.0 aligns with [AWS-LC v5.5.0](https://redirect.github.com/aws/aws-lc/releases/tag/v5.5.0) (previously v5.2.0). See also the release notes for [v5.3.0](https://redirect.github.com/aws/aws-lc/releases/tag/v5.3.0) and [v5.4.0](https://redirect.github.com/aws/aws-lc/releases/tag/v5.4.0).
##### Build Improvements
- Fix bindings copy from read-only prebuilt AWS-LC install by [@​justsmth](https://redirect.github.com/justsmth) in [#​1194](https://redirect.github.com/aws/aws-lc-rs/pull/1194)
- Copies into `OUT_DIR` now remove any stale destination first and leave the fresh copy writable, so building against a read-only prebuilt install (e.g. the Nix store) no longer fails with `Permission denied` on a build-script rerun. An `OUT_DIR` already poisoned by an earlier build now recovers without a `cargo clean`.
##### Issues Being Closed
- ML-DSA stabilization? -- [#​964](https://redirect.github.com/aws/aws-lc-rs/issues/964)
- Expose out-of-place AEAD sealing -- [#​1182](https://redirect.github.com/aws/aws-lc-rs/issues/1182)
- Construct an RSA Key pair from raw private components -- [#​791](https://redirect.github.com/aws/aws-lc-rs/issues/791)
- aws-lc-sys build script fails to copy bindings from read only prebuild aws-lc on repeat runs -- [#​1193](https://redirect.github.com/aws/aws-lc-rs/issues/1193)
#### Other Merged PRs
- ci: fix mdbook test failure and run docs checks on PRs by [@​justsmth](https://redirect.github.com/justsmth) in [#​1181](https://redirect.github.com/aws/aws-lc-rs/pull/1181)
- Publish script fixes: cargo clean failure, and verify aws-lc-rs against minimum published sys crates by [@​justsmth](https://redirect.github.com/justsmth) in [#​1179](https://redirect.github.com/aws/aws-lc-rs/pull/1179)
- Prepare aws-lc-sys v0.44.0 by [@​justsmth](https://redirect.github.com/justsmth) in [#​1199](https://redirect.github.com/aws/aws-lc-rs/pull/1199)
- Prepare aws-lc-rs v1.18.0 by [@​justsmth](https://redirect.github.com/justsmth) in [#​1200](https://redirect.github.com/aws/aws-lc-rs/pull/1200)
#### New Contributors
- [@​iainmcgin](https://redirect.github.com/iainmcgin) made their first contribution in [#​1183](https://redirect.github.com/aws/aws-lc-rs/pull/1183)
- [@​glebpom](https://redirect.github.com/glebpom) made their first contribution in [#​1184](https://redirect.github.com/aws/aws-lc-rs/pull/1184) (landed via [#​1187](https://redirect.github.com/aws/aws-lc-rs/pull/1187))
**Full Changelog**: <https://github.com/aws/aws-lc-rs/compare/v1.17.3...v1.18.0>
### [`v1.17.3`](https://redirect.github.com/aws/aws-lc-rs/releases/tag/v1.17.3): aws-lc-rs v1.17.3
[Compare Source](https://redirect.github.com/aws/aws-lc-rs/compare/v1.17.2...v1.17.3)
#### What's Changed
- Add public API to check AWS-LC and FIPS versions by [@​prasden](https://redirect.github.com/prasden) in [#​1167](https://redirect.github.com/aws/aws-lc-rs/pull/1167)
- `awslc_version()` returns the linked AWS-LC library version (e.g., `"5.1.0"`), resolved at runtime. `fips_version()` returns the AWS-LC FIPS release-branch version as `Some(version)`, or `None` when unavailable. Note that `fips_version()` is independent of `try_fips_mode()`.
- Clarify representations of `PqdsaKeyPair` in serialized forms by [@​Mark-Simulacrum](https://redirect.github.com/Mark-Simulacrum) in [#​1174](https://redirect.github.com/aws/aws-lc-rs/pull/1174)
- Documents how to use `PqdsaKeyPair::from_seed` in a FIPS setting, and notes that key pairs constructed from the expanded form cannot be re-serialized to [PKCS#8](https://redirect.github.com/PKCS/aws-lc-rs/issues/8) (which contains just the seed).
##### Build Improvements
- Fix `TARGET_*` env leakage into host builds by [@​justsmth](https://redirect.github.com/justsmth) in [#​1171](https://redirect.github.com/aws/aws-lc-rs/pull/1171)
- Per the cc-rs convention, `TARGET_CC`/`TARGET_CXX`/`TARGET_CFLAGS` are now only applied when cross-compiling, and `HOST_*` variables are honored for native builds. Previously, when `aws-lc-sys` appeared as both a dependency and a build-dependency in a cross build, the cross toolchain's flags leaked into the host-side build.
- Restore cc default flags in memcmp probe; only fail build on confirmed bug by [@​justsmth](https://redirect.github.com/justsmth) in [#​1173](https://redirect.github.com/aws/aws-lc-rs/pull/1173)
- Fixes build failures under RPM hardened build flags (Fedora/RHEL/Rocky `rpmbuild` defaults): the memcmp probe (GCC bug 95189 check) now retains cc's computed target default flags (e.g., `-fPIC`) while still excluding user CFLAGS. The check also only runs for GCC versions that may contain the bug, and a probe that fails to build only warns -- the build only fails when the miscompilation is actually demonstrated.
##### Issues Being Closed
- Public API for FIPS status -- [#​1166](https://redirect.github.com/aws/aws-lc-rs/issues/1166)
- memcmp probe fails under RPM hardened build flags -- [#​1168](https://redirect.github.com/aws/aws-lc-rs/issues/1168)
- Cross-compilation failure: `TARGET_CFLAGS` applied to host builds -- [#​1169](https://redirect.github.com/aws/aws-lc-rs/issues/1169)
#### Other Merged PRs
- ci: Stop installing winehq-stable in cross windows-gnu pre-build by [@​justsmth](https://redirect.github.com/justsmth) in [#​1172](https://redirect.github.com/aws/aws-lc-rs/pull/1172)
- ci: only run push-triggered workflows on main by [@​justsmth](https://redirect.github.com/justsmth) in [#​1163](https://redirect.github.com/aws/aws-lc-rs/pull/1163)
- Prepare aws-lc-sys v0.43.0 by [@​justsmth](https://redirect.github.com/justsmth) in [#​1176](https://redirect.github.com/aws/aws-lc-rs/pull/1176)
- Prepare aws-lc-rs v1.17.2 by [@​justsmth](https://redirect.github.com/justsmth) in [#​1178](https://redirect.github.com/aws/aws-lc-rs/pull/1178)
- Prepare aws-lc-fips-sys v0.13.16 by [@​justsmth](https://redirect.github.com/justsmth) in [#​1180](https://redirect.github.com/aws/aws-lc-rs/pull/1180)
- build(deps): bump actions/setup-go from 6 to 7 by [@​dependabot](https://redirect.github.com/dependabot)\[bot] in [#​1177](https://redirect.github.com/aws/aws-lc-rs/pull/1177)
#### New Contributors
- [@​Mark-Simulacrum](https://redirect.github.com/Mark-Simulacrum) made their first contribution in [#​1174](https://redirect.github.com/aws/aws-lc-rs/pull/1174)
- [@​prasden](https://redirect.github.com/prasden) made their first contribution in [#​1167](https://redirect.github.com/aws/aws-lc-rs/pull/1167)
**Full Changelog**: <https://github.com/aws/aws-lc-rs/compare/v1.17.1...v1.17.3>
> \[!NOTE]
> **aws-lc-rs v1.17.2 has been yanked.** It failed to compile with the `fips` feature when `aws-lc-fips-sys` resolved to v0.13.15 (or earlier), since that version lacks functions needed by the new version APIs. v1.17.3 is identical to v1.17.2 aside from requiring `aws-lc-fips-sys` v0.13.16.
### [`v1.17.2`](https://redirect.github.com/aws/aws-lc-rs/compare/v1.17.1...v1.17.2)
[Compare Source](https://redirect.github.com/aws/aws-lc-rs/compare/v1.17.1...v1.17.2)
</details>
<details>
<summary>tokio-rs/bytes (bytes)</summary>
### [`v1.12.1`](https://redirect.github.com/tokio-rs/bytes/blob/HEAD/CHANGELOG.md#1121-July-8th-2026)
[Compare Source](https://redirect.github.com/tokio-rs/bytes/compare/v1.12.0...v1.12.1)
##### Fixed
- Properly handle when `Box::new` panics ([#​837](https://redirect.github.com/tokio-rs/bytes/issues/837))
</details>
<details>
<summary>bytesize-rs/bytesize (bytesize)</summary>
### [`v2.7.0`](https://redirect.github.com/bytesize-rs/bytesize/blob/HEAD/CHANGELOG.md#270)
[Compare Source](https://redirect.github.com/bytesize-rs/bytesize/compare/bytesize-v2.6.0...bytesize-v2.7.0)
- Remove no-alloc support because it removed `ByteSize::display()` when default features were disabled.
### [`v2.6.0`](https://redirect.github.com/bytesize-rs/bytesize/blob/HEAD/CHANGELOG.md#260)
[Compare Source](https://redirect.github.com/bytesize-rs/bytesize/compare/bytesize-v2.5.0...bytesize-v2.6.0)
- Add display styles for IEC and SI bit units.
### [`v2.5.0`](https://redirect.github.com/bytesize-rs/bytesize/blob/HEAD/CHANGELOG.md#250)
[Compare Source](https://redirect.github.com/bytesize-rs/bytesize/compare/bytesize-v2.4.2...bytesize-v2.5.0)
- Honor precision when a width is set with formatting args.
- Add `#[no_alloc]` support.
### [`v2.4.2`](https://redirect.github.com/bytesize-rs/bytesize/blob/HEAD/CHANGELOG.md#242)
[Compare Source](https://redirect.github.com/bytesize-rs/bytesize/compare/bytesize-v2.4.1...bytesize-v2.4.2)
- Improve accuracy of parsing large non-decimal byte count strings.
### [`v2.4.1`](https://redirect.github.com/bytesize-rs/bytesize/blob/HEAD/CHANGELOG.md#241)
[Compare Source](https://redirect.github.com/bytesize-rs/bytesize/compare/bytesize-v2.4.0...bytesize-v2.4.1)
- Fix rounding error near power-of-unit boundaries.
</details>
<details>
<summary>clap-rs/clap (clap)</summary>
### [`v4.6.6`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#466---2026-08-06)
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.6.5...v4.6.6)
##### Features
- Add `Command::get_overridden_usage`
### [`v4.6.5`](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.6.4...clap_complete-v4.6.5)
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.6.4...v4.6.5)
### [`v4.6.4`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#464---2026-07-21)
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.6.3...v4.6.4)
##### Internal
- Update to syn v3
### [`v4.6.3`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#463---2026-07-20)
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.6.2...v4.6.3)
##### Fixes
- *(derive)* Allow `"literal".function()` as attribute values
### [`v4.6.2`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#462---2026-07-15)
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.6.1...v4.6.2)
##### Fixes
- *(help)* Say `alias` when there is only one
</details>
<details>
<summary>crossbeam-rs/crossbeam (crossbeam-queue)</summary>
### [`v0.3.13`](https://redirect.github.com/crossbeam-rs/crossbeam/releases/tag/crossbeam-queue-0.3.13): crossbeam-queue 0.3.13
[Compare Source](https://redirect.github.com/crossbeam-rs/crossbeam/compare/crossbeam-queue-0.3.12...crossbeam-queue-0.3.13)
- Add `push_mut` and `pop_mut` to `ArrayQueue` and `SegQueue`. ([#​1191](https://redirect.github.com/crossbeam-rs/crossbeam/issues/1191))
</details>
<details>
<summary>rust-lang/futures-rs (futures)</summary>
### [`v0.3.33`](https://redirect.github.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0333---2026-07-18)
[Compare Source](https://redirect.github.com/rust-lang/futures-rs/compare/0.3.32...0.3.33)
- Fix `ReadLine`'s soundness issue regarding to exception safety. ([#​3020](https://redirect.github.com/rust-lang/futures-rs/issues/3020))
- Fix unsound `Send` impl for `IterPinRef` and `Iter`. ([#​3003](https://redirect.github.com/rust-lang/futures-rs/issues/3003))
- Fix stacked borrows violation in `compat01as03` implementation. ([#​3012](https://redirect.github.com/rust-lang/futures-rs/issues/3012))
- Fix memory leak in `FuturesUnordered::IntoIter`. ([#​3005](https://redirect.github.com/rust-lang/futures-rs/issues/3005))
- Add `portable-atomic-alloc` feature and use it in `FuturesUnordered`. ([#​3007](https://redirect.github.com/rust-lang/futures-rs/issues/3007))
- Re-export `alloc::task::Wake`. ([#​3010](https://redirect.github.com/rust-lang/futures-rs/issues/3010))
- Update `spin` to 0.12. ([#​3014](https://redirect.github.com/rust-lang/futures-rs/issues/3014))
</details>
<details>
<summary>hyperium/http (http)</summary>
### [`v1.5.0`](https://redirect.github.com/hyperium/http/blob/HEAD/CHANGELOG.md#150-July-29-2026)
[Compare Source](https://redirect.github.com/hyperium/http/compare/v1.4.2...v1.5.0)
- Add `Method::QUERY` constant for the new QUERY method defined in RFC 10008.
- Fix `uri::Builder::path_and_query()` to allow empty strings to mean no path.
- Fix `uri::PathAndQuery` parsing to enforce URI max length.
</details>
<details>
<summary>hyperium/http-body (http-body)</summary>
### [`v1.1.0`](https://redirect.github.com/hyperium/http-body/releases/tag/v1.1.0)
[Compare Source](https://redirect.github.com/hyperium/http-body/compare/v1.0.1...v1.1.0)
#### tl;dr
- Implement `Add` for `SizeHint`.
- Implement `Copy` for `SizeHint`.
</details>
<details>
<summary>hyperium/hyper (hyper)</summary>
### [`v1.11.0`](https://redirect.github.com/hyperium/hyper/blob/HEAD/CHANGELOG.md#v1110-2026-07-20)
[Compare Source](https://redirect.github.com/hyperium/hyper/compare/v1.10.1...v1.11.0)
##### Bug Fixes
- **http1:**
- discard content-length header when received before transfer-encoding ([#​4124](https://redirect.github.com/hyperium/hyper/issues/4124)) ([540fff91](https://redirect.github.com/hyperium/hyper/commit/540fff9180ce47ee5fab01b6cc2126eb6c286eda), closes [#​4123](https://redirect.github.com/hyperium/hyper/issues/4123))
- use append for repeat trailer values in encoder ([#​4118](https://redirect.github.com/hyperium/hyper/issues/4118)) ([de1483d7](https://redirect.github.com/hyperium/hyper/commit/de1483d7db70477cc8799a344634ae6ee020a7db))
- allow up to max\_headers trailers ([#​4108](https://redirect.github.com/hyperium/hyper/issues/4108)) ([f584091a](https://redirect.github.com/hyperium/hyper/commit/f584091ac096bd5dd478f73256188c3261a945b9))
- use append for repeat trailers ([#​4107](https://redirect.github.com/hyperium/hyper/issues/4107)) ([876effe1](https://redirect.github.com/hyperium/hyper/commit/876effe10fd8f8ad4535ade1f84e88f199f2cf6b))
- flush buffered data before shutdown ([#​4018](https://redirect.github.com/hyperium/hyper/issues/4018)) ([72046cc7](https://redirect.github.com/hyperium/hyper/commit/72046cc72e7aa82c439eed00850b8b1ad3f7e4dc), closes [#​4022](https://redirect.github.com/hyperium/hyper/issues/4022))
- more strictly enforce max\_buf\_size when parsing ([#​4093](https://redirect.github.com/hyperium/hyper/issues/4093)) ([90ede307](https://redirect.github.com/hyperium/hyper/commit/90ede307470dba98b4e184ad88d6f5aae8b0afd7), closes [#​4081](https://redirect.github.com/hyperium/hyper/issues/4081))
- **http2:** avoid buffering `Upgraded` writes without send capacity ([#​4102](https://redirect.github.com/hyperium/hyper/issues/4102)) ([aecf5abf](https://redirect.github.com/hyperium/hyper/commit/aecf5abfbc3dc95f21ac1538db1aa3f690fa6ab6))
##### Features
- **rt:** add `ReadBufCursor::initialized_unfilled()` method ([#​4115](https://redirect.github.com/hyperium/hyper/issues/4115)) ([ccc1e850](https://redirect.github.com/hyperium/hyper/commit/ccc1e850dc0cda3e71b0acd11f60ca3d48d09034))
##### v1.10.1 (2026-05-29)
##### Bug Fixes
- **http1:** fix busy loop when peer half-closes and open body ([#​4086](https://redirect.github.com/hyperium/hyper/issues/4086)) ([c6cb906f](https://redirect.github.com/hyperium/hyper/commit/c6cb906fdcbc3df64fc3fb613be57430e0387e48), closes [#​4085](https://redirect.github.com/hyperium/hyper/issues/4085))
</details>
<details>
<summary>kube-rs/kube (kube)</summary>
### [`v4.2.0`](https://redirect.github.com/kube-rs/kube/blob/HEAD/CHANGELOG.md#420--2026-07-22)
[Compare Source](https://redirect.github.com/kube-rs/kube/compare/4.0.0...4.2.0)
\===================
- see <https://github.com/kube-rs/kube/compare/4.0.0...main>
</details>
<details>
<summary>rust-lang/libc (libc)</summary>
### [`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))
</details>
<details>
<summary>BurntSushi/memchr (memchr)</summary>
### [`v2.8.3`](https://redirect.github.com/BurntSushi/memchr/compare/2.8.2...2.8.3)
[Compare Source](https://redirect.github.com/BurntSushi/memchr/compare/2.8.2...2.8.3)
</details>
<details>
<summary>open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)</summary>
### [`v0.32.1`](https://redirect.github.com/open-telemetry/opentelemetry-rust/blob/HEAD/opentelemetry-semantic-conventions/CHANGELOG.md#0321)
[Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-semantic-conventions-0.32.0...opentelemetry-semantic-conventions-0.32.1)
Released 2026-Jun-26
- Update to [v1.42.0](https://redirect.github.com/open-telemetry/semantic-conventions/releases/tag/v1.42.0) of the semantic conventions.
</details>
<details>
<summary>dtolnay/proc-macro2 (proc-macro2)</summary>
### [`v1.0.107`](https://redirect.github.com/dtolnay/proc-macro2/releases/tag/1.0.107)
[Compare Source](https://redirect.github.com/dtolnay/proc-macro2/compare/1.0.106...1.0.107)
- Documentation improvements
</details>
<details>
<summary>dtolnay/quote (quote)</summary>
### [`v1.0.47`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.47)
[Compare Source](https://redirect.github.com/dtolnay/quote/compare/1.0.46...1.0.47)
- Documentation improvements
### [`v1.0.46`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.46)
[Compare Source](https://redirect.github.com/dtolnay/quote/compare/1.0.45...1.0.46)
- Avoid repeated `get_span` in `quote_spanned` ([#​329](https://redirect.github.com/dtolnay/quote/issues/329), thanks [@​Noratrieb](https://redirect.github.com/Noratrieb))
</details>
<details>
<summary>rust-random/rand (rand)</summary>
### [`v0.10.2`](https://redirect.github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#0102--2026-07-02)
[Compare Source](https://redirect.github.com/rust-random/rand/compare/0.10.1...0.10.2)
##### Fixes
- Fix possible memory safety violation due to deserialization of `UniformChar` from bad source ([#​1790])
##### Changes
- Document required output order of fn `partial_shuffle` and apply `#[must_use]` ([#​1769])
- Avoid usage of `unsafe` in contexts where non-local memory corruption could invalidate contract ([#​1791])
[#​1769]: https://redirect.github.com/rust-random/rand/pull/1769
[#​1790]: https://redirect.github.com/rust-random/rand/pull/1790
[#​1791]: https://redirect.github.com/rust-random/rand/pull/1791
</details>
<details>
<summary>rust-lang/regex (regex)</summary>
### [`v1.13.1`](https://redirect.github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1131-2026-07-15)
[Compare Source](https://redirect.github.com/rust-lang/regex/compare/1.13.0...1.13.1)
\===================
This is a release that fixes a bug where incorrect regex match offsets could be
reported. Note that this doesn't impact whether a match occurs or not, just
where it occurs. The match offsets are still valid for slicing, they just may
not refer to the correct leftmost-first match. See
[#​1364](https://redirect.github.com/rust-lang/regex/pull/1364) for (many) more details.
Bug fixes:
- [#​1354](https://redirect.github.com/rust-lang/regex/issues/1354):
Fixes previously unsound reverse suffix and inner optimizations.
### [`v1.13.0`](https://redirect.github.com/rust-lang/regex/blob/HEAD/CHANGELOG.md#1130-2026-07-09)
[Compare Source](https://redirect.github.com/rust-lang/regex/compare/1.12.4...1.13.0)
\===================
This release includes a new API, a `regex!` macro, for lazy compilation of
a regex from a string literal. If you use regexes a lot, it's likely you've
already written one exactly like it. The new macro can be used like this:
```rust
use regex::regex;
fn is_match(line: &str) -> bool {
// The regex will be compiled approximately once and reused automatically.
// This avoids the footgun of using `Regex::new` here, which would
// guarantee that it would be compiled every time this routine is called.
// This would likely make this routine much slower than it needs to be.
regex!(r"bar|baz").is_match(line)
}
let hay = "\
path/to/foo:54:Blue Harvest
path/to/bar:90:Something, Something, Something, Dark Side
path/to/baz:3:It's a Trap!
";
let matches = hay.lines().filter(|line| is_match(line)).count();
assert_eq!(matches, 2);
```
Improvements:
- [#​709](https://redirect.github.com/rust-lang/regex/issues/709):
Add a new `regex!` macro for efficient and automatic reuse of a compiled regex.
</details>
<details>
<summary>serde-rs/serde (serde)</summary>
### [`v1.0.229`](https://redirect.github.com/serde-rs/serde/releases/tag/v1.0.229)
[Compare Source](https://redirect.github.com/serde-rs/serde/compare/v1.0.228...v1.0.229)
- Update to syn 3
</details>
<details>
<summary>serde-rs/json (serde_json)</summary>
### [`v1.0.151`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.151)
[Compare Source](https://redirect.github.com/serde-rs/json/compare/v1.0.150...v1.0.151)
- Add RawValue::from\_string\_unchecked ([#​1331](https://redirect.github.com/serde-rs/json/issues/1331), thanks [@​WonderLawrence](https://redirect.github.com/WonderLawrence))
</details>
<details>
<summary>jonasbb/serde_with (serde_with)</summary>
### [`v3.22.0`](https://redirect.github.com/jonasbb/serde_with/releases/tag/v3.22.0): serde_with v3.22.0
[Compare Source](https://redirect.github.com/jonasbb/serde_with/compare/v3.21.0...v3.22.0)
##### Added
- Add support for `jiff` v0.2 behind the new `jiff_0_2` feature flag ([#​936](https://redirect.github.com/jonasbb/serde_with/issues/936))
`jiff::SignedDuration` works with `DurationSeconds` and its variants.
`jiff::Timestamp`, `jiff::Zoned`, and `jiff::civil::DateTime` work with `TimestampSeconds` and its variants.
Deserializing a `jiff::Zoned` uses the system time zone, like `chrono::DateTime<Local>`.
##### Fixed
- Extend the [GHSA-7gcf-g7xr-8hxj](https://redirect.github.com/jonasbb/serde_with/security/advisories/GHSA-7gcf-g7xr-8hxj) fix to the duplicate-key-prevention collections.
The `rust::sets_duplicate_value_is_error`, `rust::maps_duplicate_key_is_error`, `rust::sets_last_value_wins`, and `rust::maps_first_key_wins` adapters created their backing sets/maps with `with_capacity_and_hasher` using the raw deserializer `size_hint`, bypassing the `size_hint_cautious` cap added in [#​966](https://redirect.github.com/jonasbb/serde_with/issues/966) (the `clippy.toml` `disallowed_methods` lint only covers `Vec::with_capacity`, not `with_capacity_and_hasher`, so these sites were not flagged).
Attacker-controlled input claiming a huge length could panic with `Hash table capacity overflow` before a single element was read. All such constructions now route through `size_hint_cautious`.
</details>
<details>
<summary>shepmaster/snafu (snafu)</summary>
### [`v0.9.2`](https://redirect.github.com/shepmaster/snafu/blob/HEAD/CHANGELOG.md#092---2026-07-21)
[Compare Source](https://redirect.github.com/shepmaster/snafu/compare/0.9.1...0.9.2)
##### Fixed
- The `whatever` macro no longer triggers the
`semicolon_in_expressions_from_macros` lint.
[0.9.2]: https://redirect.github.com/shepmaster/snafu/releases/tag/0.9.2
</details>
<details>
<summary>rust-lang/socket2 (socket2)</summary>
### [`v0.6.5`](https://redirect.github.com/rust-lang/socket2/blob/HEAD/CHANGELOG.md#065)
- Add support for Emscripten (wasm32)
([#​660](https://redirect.github.com/rust-lang/socket2/pull/660)).
- Add support for NuttX
([#​663](https://redirect.github.com/rust-lang/socket2/pull/663)).
- Enable `Socket::(set_)tos_v4` on illumos
([#​662](https://redirect.github.com/rust-lang/socket2/pull/662)).
</details>
<details>
<summary>tokio-rs/tokio (tokio)</summary>
### [`v1.53.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.53.1): Tokio v1.53.1
[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.53.0...tokio-1.53.1)
### 1.53.1 (July 20th, 2026)
##### Fixed
- signal: restore MSRV by removing `OnceLock::wait` from the Windows handler ([#​8300])
##### Fixed (unstable)
- time: fix alt timer cancellation and insertion race ([#​8252])
##### Documented
- runtime: remove dead link definition in Runtime::block\_on ([#​8301])
[#​8252]: https://redirect.github.com/tokio-rs/tokio/pull/8252
[#​8300]: https://redirect.github.com/tokio-rs/tokio/pull/8300
[#​8301]: https://redirect.github.com/tokio-rs/tokio/pull/8301
### [`v1.53.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.53.0): Tokio v1.53.0
[Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.52.4...tokio-1.53.0)
### 1.53.0 (July 17th, 2026)
##### Added
- fs: implement `From<OwnedFd>` and `From<OwnedHandle>` for `File` ([#​8266])
- metrics: add task schedule latency metric ([#​7986])
- net: add `SocketAddr` methods to Unix sockets ([#​8144])
##### Changed
- io: add `#[inline]` to IO trait impls for in-memory types ([#​8242])
- net: implement UCred::pid on FreeBSD ([#​8086])
- net: support Nuttx target os ([#​8259])
- signal: refactor global variables on Windows ([#​8231])
- sync: `mpsc::{Receiver,UnboundedReceiver}` now drops waker on drop, even if there are still senders ([#​8095])
- taskdump: support taskdumps on s390x ([#​8192])
- time: add `#[track_caller]` to `timeout_at()` ([#​8077])
- time: consolidate mutex locks on spurious poll ([#​8124])
- time: defer waker clone on spurious poll ([#​8107])
- time: move lazy-registration state into `Sleep` ([#​8132])
- tracing: remove unnecessary span clone ([#​8126])
##### Fixed
- io: do not treat zero-length reads as EOF in `Chain` ([#​8251])
- net: use getpe
> ✂ **Note**
>
> PR body was truncated to here.
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, 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/DataDog/saluki).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yOS41IiwidXBkYXRlZEluVmVyIjoiNDQuMjkuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: jszwedko <jesse.szwedko@datadoghq.com>
Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com> d2234c41a02357ca77ad17df4dbe87027db09fd2
…PS 4.x (#2682) ## Summary We pin `aws-lc-rs` below 1.18 (see #2476) because 1.18 moves the `fips` feature from the certified AWS-LC-FIPS 3.x module to 4.x, which isn't FIPS 140-3 certified yet. Nothing in CI enforces that. The last attempted bump (#2348) was only caught because an AI review flagged it ([review](#2348 (review))). This change makes cargo-deny fail the build if the FIPS dependency graph ever resolves to the 4.x module, so a Renovate bump, a widened pin, or a new transitive dependency can't ship it by accident. There was also a blind spot: cargo-deny only resolved default features, so `aws-lc-fips-sys` was never in the graph it checked. That meant no bans, license checks, or advisory checks for FIPS-only crates. Resolving with `fips` fixes that. It also exposed that `aws-lc-fips-sys` carries the `OpenSSL` license, which this PR allows through a per-crate exception rather than globally. ```mermaid flowchart LR A[PR bumps deps] --> B["cargo deny check bans<br/>(graph resolved with fips)"] B -->|aws-lc-fips-sys 0.13.x<br/>AWS-LC-FIPS 3.x| C[pass] B -->|aws-lc-fips-sys ≥ 0.14<br/>AWS-LC-FIPS 4.x| D[fail: banned] ``` Once AWS-LC-FIPS 4.x moves from "Modules in Process" to "Validations" in [AWS-LC's FIPS.md](https://github.com/aws/aws-lc/blob/main/crypto/fipsmodule/FIPS.md), lift the ban together with the `Cargo.toml` pin and the Renovate rule. ## Test plan - [x] `cargo deny check bans licenses sources` passes with the new config - [x] Changing the ban to `aws-lc-fips-sys@>=0.13` fails with `crate 'aws-lc-fips-sys = 0.13.16' is explicitly banned`, confirming a 4.x bump would be caught - [ ] `check-deny` passes in CI (Makefile pins cargo-deny 0.18.9; I tested locally with 0.19.4) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: jesse.szwedko <jesse.szwedko@datadoghq.com>
…PS 4.x (#2682) ## Summary We pin `aws-lc-rs` below 1.18 (see #2476) because 1.18 moves the `fips` feature from the certified AWS-LC-FIPS 3.x module to 4.x, which isn't FIPS 140-3 certified yet. Nothing in CI enforces that. The last attempted bump (#2348) was only caught because an AI review flagged it ([review](#2348 (review))). This change makes cargo-deny fail the build if the FIPS dependency graph ever resolves to the 4.x module, so a Renovate bump, a widened pin, or a new transitive dependency can't ship it by accident. There was also a blind spot: cargo-deny only resolved default features, so `aws-lc-fips-sys` was never in the graph it checked. That meant no bans, license checks, or advisory checks for FIPS-only crates. Resolving with `fips` fixes that. It also exposed that `aws-lc-fips-sys` carries the `OpenSSL` license, which this PR allows through a per-crate exception rather than globally. ```mermaid flowchart LR A[PR bumps deps] --> B["cargo deny check bans<br/>(graph resolved with fips)"] B -->|aws-lc-fips-sys 0.13.x<br/>AWS-LC-FIPS 3.x| C[pass] B -->|aws-lc-fips-sys ≥ 0.14<br/>AWS-LC-FIPS 4.x| D[fail: banned] ``` Once AWS-LC-FIPS 4.x moves from "Modules in Process" to "Validations" in [AWS-LC's FIPS.md](https://github.com/aws/aws-lc/blob/main/crypto/fipsmodule/FIPS.md), lift the ban together with the `Cargo.toml` pin and the Renovate rule. ## Test plan - [x] `cargo deny check bans licenses sources` passes with the new config - [x] Changing the ban to `aws-lc-fips-sys@>=0.13` fails with `crate 'aws-lc-fips-sys = 0.13.16' is explicitly banned`, confirming a 4.x bump would be caught - [ ] `check-deny` passes in CI (Makefile pins cargo-deny 0.18.9; I tested locally with 0.19.4) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: jesse.szwedko <jesse.szwedko@datadoghq.com> 8cfc08c
The rustls <0.23.45 cap did not reliably constrain the transitive crypto backend: rustls 0.23.37 still permits aws-lc-rs 1.18, which switches to AWS-LC-FIPS 4.x, pending FIPS 140-3 certification. Pin the backend directly (>=1, <1.18), activated by the fips feature, mirroring DataDog/saluki#2348 and DataDog/serverless-components#173. Resolves to rustls 0.23.43, aws-lc-rs 1.17.4, aws-lc-fips-sys 0.13.17. The RUSTSEC-2026-0285 waiver is kept: the fix ships in rustls 0.23.45, which stays out of range.
The rustls <0.23.45 cap did not reliably constrain the transitive crypto backend: rustls 0.23.37 still permits aws-lc-rs 1.18, which switches to AWS-LC-FIPS 4.x, pending FIPS 140-3 certification. Pin the backend directly (>=1, <1.18), activated by the fips feature, mirroring DataDog/saluki#2348 and DataDog/serverless-components#173. Resolves to rustls 0.23.43, aws-lc-rs 1.17.4, aws-lc-fips-sys 0.13.17. The RUSTSEC-2026-0285 waiver is kept: the fix ships in rustls 0.23.45, which stays out of range.
The rustls <0.23.45 cap did not reliably constrain the transitive crypto backend: rustls 0.23.37 still permits aws-lc-rs 1.18, which switches to AWS-LC-FIPS 4.x, pending FIPS 140-3 certification. Pin the backend directly (>=1, <1.18), activated by the fips feature, mirroring DataDog/saluki#2348 and DataDog/serverless-components#173. Resolves to rustls 0.23.43, aws-lc-rs 1.17.4, aws-lc-fips-sys 0.13.17. The RUSTSEC-2026-0285 waiver is kept: the fix ships in rustls 0.23.45, which stays out of range.
#1390) ## Overview Pins the FIPS crypto backend directly: adds `aws-lc-rs = { version = ">=1, <1.18" }` as an optional dependency activated by the `fips` feature, and removes the `rustls <0.23.45` cap introduced by #1389. Capping `rustls` did not reliably constrain the transitive crypto backend: `rustls` 0.23.37 still permits `aws-lc-rs` 1.18, which switches to AWS-LC-FIPS 4.x. AWS-LC-FIPS 4.x has not completed FIPS 140-3 certification; only the 3.x module is NIST CMVP validated. The backend itself is therefore pinned as a direct dependency even though the crate does not call `aws-lc-rs` APIs directly, following the approach in DataDog/saluki#2348 and DataDog/serverless-components#173. The pin participates in resolution for both the default and FIPS builds, so a future `cargo update` can no longer silently re-select `aws-lc-rs` 1.18. | Package | Before | After | |---|---|---| | rustls | 0.23.37 | 0.23.43 | | rustls-webpki | 0.103.13 | 0.103.13 (unchanged) | | aws-lc-rs | 1.16.2 | 1.17.4 | | aws-lc-fips-sys | 0.13.13 | 0.13.17 | | aws-lc-sys | 0.39.0 | 0.45.0 (required by aws-lc-rs 1.17.4) | RUSTSEC-2026-0285 is only fixed in `rustls` >= 0.23.45, which stays out of range, so the existing waiver in `bottlecap/.cargo/audit.toml` (and the matching `ignore` in `rs_ci.yml`) is intentionally preserved. This change does not fix that advisory. **Removal criteria**: lift the `aws-lc-rs <1.18` bound and remove the `RUSTSEC-2026-0285` waiver (from `bottlecap/.cargo/audit.toml` and `rs_ci.yml`, then re-bump `rustls`) once AWS-LC-FIPS 4.x certification is verified. Once DataDog/serverless-components#173 merges, this local pin can instead be dropped by bumping the `serverless-components` git rev (currently `3ab01258`, kept aligned across the `datadog-fips`, `dogstatsd`, `datadog-agent-config`, and `datadog-agent-trace-sampler` dependencies). ## Testing - `cargo metadata --locked` (plain and `--all-features`) succeeds in `bottlecap/` without modifying the lockfile. - `cargo tree --locked -i aws-lc-rs` resolves to a single `aws-lc-rs 1.17.4` for both the default and FIPS builds; the FIPS build activates its `fips` feature, resolving to `aws-lc-fips-sys 0.13.17`. - `./scripts/verify_tls_root_features.sh` passes: default build keeps webpki roots, FIPS build keeps native roots. - `cargo clippy --workspace --all-targets` passes for both `--features default` and `--no-default-features --features fips` with `RUSTFLAGS=-D warnings`. - `cargo nextest run --workspace --locked`: 690 passed, 0 failed. - `cargo fmt --all -- --check` passes. - `dd-rust-license-tool check` passes with no changes to `LICENSE-3rdparty.csv`. - `cargo audit` exits 0: RUSTSEC-2026-0285 is ignored, only the 9 pre-existing allowed warnings remain. --------- Co-authored-by: Tianning Li <tianning.li@datadoghq.com>
This PR contains the following updates:
1.0.103→1.0.1041.0.1→1.1.01.9.1→1.9.20.4.42→0.4.430.1.89→0.1.921.17.1→1.18.01.12.0→1.12.12.4.0→2.7.04.6.1→4.6.60.3.12→0.3.130.3.32→0.3.330.3.341.4.2→1.5.01.0.1→1.1.00.1.3→0.1.40.1.51.10.1→1.11.04.0.0→4.2.00.2.186→0.2.1892.8.2→2.8.30.32.0→0.32.11.0.106→1.0.1071.0.45→1.0.470.10.1→0.10.21.12.4→1.13.10.23.41→0.23.431.14.1→1.15.11.0.228→1.0.2291.0.150→1.0.1513.21.0→3.22.00.9.1→0.9.20.6.4→0.6.51.52.3→1.53.10.7.18→0.7.190.1.15→0.1.161.0.117→1.0.1202.1.2→2.1.31.23.3→1.24.01.24.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
dtolnay/anyhow (anyhow)
v1.0.104Compare Source
syndev-dependency to version 3reivilibre/anymap3 (anymap3)
v1.1.0Compare Source
Removals and Deprecations
Features
AnyDebugtrait from theanymorecrate. Enable withanymorecrate feature. Contributed by @DJMcNab — thank you. (#5)Internal Changes
TypeId. Runtime behaviour was unaffected. (#7)vorner/arc-swap (arc-swap)
v1.9.2Nullus157/async-compression (async-compression)
v0.4.43Compare Source
Other
dtolnay/async-trait (async-trait)
v0.1.92Compare Source
v0.1.91Compare Source
v0.1.90Compare Source
aws/aws-lc-rs (aws-lc-rs)
v1.18.0: aws-lc-rs v1.18.0Compare Source
AWS-LC-FIPS module updated to 4.x
This release switches
aws-lc-fips-sys(used via thefipsfeature) from the AWS-LC-FIPS 3.x branch to AWS-LC-FIPS 4.0.aws-lc-rsto<1.18.0. See the Cargo Book on Specifying Dependencies.What's Changed
aws-lc-fips-systo AWS-LC's "FIPS 4.0" branch by @justsmth in #1185aws-lc-fips-sysv0.13.16 -> v0.14.0. Please see the call-out above.PqdsaKeyPair,PqdsaPublicKey,PqdsaPrivateKey,PqdsaSigningAlgorithm,PqdsaVerificationAlgorithm, and theML_DSA_44/ML_DSA_65/ML_DSA_87algorithms (and their_SIGNINGcounterparts) now live inaws_lc_rs::signature. ML-DSA no longer requires theunstablefeature, and is now available underfips-- the FIPS 4.0 module provides ML-DSA, which is what had kept these APIs unstable. See our updated API documentation.aws_lc_rs::unstable::signaturetoaws_lc_rs::signature. Theunstable::signaturemodule remains as deprecated aliases and will be removed in a future release.PqdsaKeyPair::to_pkcs8has been renamed toto_pkcs8v1, since elsewhere in the module an unqualifiedto_pkcs8means PKCS#8 v2. A deprecatedto_pkcs8alias remains available under theunstablefeature.unstableconsumers continue to compile, with deprecation warnings. Two cases need a source change: builds using#![deny(warnings)], and code that glob-imports bothsignature::*andunstable::signature::*, which now needs an explicit import to disambiguate.PqdsaVerificationAlgorithm::parsed_verify_digest_signow always returnsUnspecified. Digest-then-verify is not an operation defined by FIPS 204 -- pure ML-DSA signs the message itself, and the pre-hash variant (HashML-DSA) uses a distinct domain separator that this API does not implement.seal_separate_out_of_placetoLessSafeKeyandTlsRecordSealingKey. Every sealing entry point was previously in-place, so a caller whose plaintext was borrowed or shared had to copy it into a scratch buffer purely to make it mutable. This mirrors the existingopen_separate_gather, so the sealing and opening directions now match.rsa::KeyPair::from_componentsfor constructing RSA key pairs from raw components by @justsmth in #1175rsa::KeyPairComponentsandrsa::KeyPair::from_components, matching ring 0.17, so a signing key can be built from formats such as JWK without first encoding the components as DER. Unlike ring,dand the CRT parameters are validated at construction usingRSA_check_key, so keys with inconsistent or placeholder values that ring accepts may be rejected. Unnecessary generic bounds were also removed fromPublicKeyComponents.OPENSSL_SMALL, and no AVX-512 assembly on x86_64) whenever Cargo is already building for size. In CI, a small binary exercising SHA-256, AES-256-GCM, and ECDSA P-256 is 36-50% smaller atopt-level=zthan atopt-level=3: 50% on x86_64 Linux, 48% on aarch64 macOS, 39% on x86_64 Windows, 36% on aarch64 Linux. Your own savings depend on how much of AWS-LC your binary retains.AWS_LC_SYS_SMALL=1/=0to force it on or off independently of opt-level.aws-lc-fips-sysrequires an explicitAWS_LC_FIPS_SYS_SMALL=1, and warns when it is set.opt-level=3footprint is unchanged.DEP_AWS_LC_*/DEP_AWS_LC_FIPS_*(libdir,libcrypto_path,link_kind, andlibssl_pathwithssl), consistently across the CC, CMake, and system-library build paths. Existing linker directives are unchanged. On Windows, the*_pathvalues are the link-time artifact (import library), not the runtime DLL.KeyEncryptionKey::unwrapno longer underflows on ciphertexts shorter than 8 bytes. Since the ciphertext is untrusted input, builds withoverflow-checks = truewould panic instead of returning the documentedErr(Unspecified); default release builds were unaffected.KeyEncryptionKeynow zeroizes its key material on drop, consistent with the other key types in this crate.Upstream AWS-LC (v5.5.0)
aws-lc-sysv0.44.0 aligns with AWS-LC v5.5.0 (previously v5.2.0). See also the release notes for v5.3.0 and v5.4.0.Build Improvements
OUT_DIRnow remove any stale destination first and leave the fresh copy writable, so building against a read-only prebuilt install (e.g. the Nix store) no longer fails withPermission deniedon a build-script rerun. AnOUT_DIRalready poisoned by an earlier build now recovers without acargo clean.Issues Being Closed
Other Merged PRs
New Contributors
Full Changelog: aws/aws-lc-rs@v1.17.3...v1.18.0
v1.17.3: aws-lc-rs v1.17.3Compare Source
What's Changed
awslc_version()returns the linked AWS-LC library version (e.g.,"5.1.0"), resolved at runtime.fips_version()returns the AWS-LC FIPS release-branch version asSome(version), orNonewhen unavailable. Note thatfips_version()is independent oftry_fips_mode().PqdsaKeyPairin serialized forms by @Mark-Simulacrum in #1174PqdsaKeyPair::from_seedin a FIPS setting, and notes that key pairs constructed from the expanded form cannot be re-serialized to PKCS#8 (which contains just the seed).Build Improvements
TARGET_*env leakage into host builds by @justsmth in #1171TARGET_CC/TARGET_CXX/TARGET_CFLAGSare now only applied when cross-compiling, andHOST_*variables are honored for native builds. Previously, whenaws-lc-sysappeared as both a dependency and a build-dependency in a cross build, the cross toolchain's flags leaked into the host-side build.rpmbuilddefaults): the memcmp probe (GCC bug 95189 check) now retains cc's computed target default flags (e.g.,-fPIC) while still excluding user CFLAGS. The check also only runs for GCC versions that may contain the bug, and a probe that fails to build only warns -- the build only fails when the miscompilation is actually demonstrated.Issues Being Closed
TARGET_CFLAGSapplied to host builds -- #1169Other Merged PRs
New Contributors
Full Changelog: aws/aws-lc-rs@v1.17.1...v1.17.3
v1.17.2Compare Source
tokio-rs/bytes (bytes)
v1.12.1Compare Source
Fixed
Box::newpanics (#837)bytesize-rs/bytesize (bytesize)
v2.7.0Compare Source
ByteSize::display()when default features were disabled.v2.6.0Compare Source
v2.5.0Compare Source
#[no_alloc]support.v2.4.2Compare Source
v2.4.1Compare Source
clap-rs/clap (clap)
v4.6.6Compare Source
Features
Command::get_overridden_usagev4.6.5Compare Source
v4.6.4Compare Source
Internal
v4.6.3Compare Source
Fixes
"literal".function()as attribute valuesv4.6.2Compare Source
Fixes
aliaswhen there is only onecrossbeam-rs/crossbeam (crossbeam-queue)
v0.3.13: crossbeam-queue 0.3.13Compare Source
push_mutandpop_muttoArrayQueueandSegQueue. (#1191)rust-lang/futures-rs (futures)
v0.3.33Compare Source
ReadLine's soundness issue regarding to exception safety. (#3020)Sendimpl forIterPinRefandIter. (#3003)compat01as03implementation. (#3012)FuturesUnordered::IntoIter. (#3005)portable-atomic-allocfeature and use it inFuturesUnordered. (#3007)alloc::task::Wake. (#3010)spinto 0.12. (#3014)hyperium/http (http)
v1.5.0Compare Source
Method::QUERYconstant for the new QUERY method defined in RFC 10008.uri::Builder::path_and_query()to allow empty strings to mean no path.uri::PathAndQueryparsing to enforce URI max length.hyperium/http-body (http-body)
v1.1.0Compare Source
tl;dr
AddforSizeHint.CopyforSizeHint.hyperium/hyper (hyper)
v1.11.0Compare Source
Bug Fixes
Upgradedwrites without send capacity (#4102) (aecf5abf)Features
ReadBufCursor::initialized_unfilled()method (#4115) (ccc1e850)v1.10.1 (2026-05-29)
Bug Fixes
kube-rs/kube (kube)
v4.2.0Compare Source
===================
rust-lang/libc (libc)
v0.2.189Compare Source
Added
pthread_sigmask,sigwait,sigwaitinfo,sigtimedwait,faccessat, andpthread_kill(#5270)clone3syscall (#4980)CLOCK_PROCESS_CPUTIME_IDandCLOCK_THREAD_CPUTIME_ID(#5274)Deprecated
CLONE_INTO_CGROUPandCLONE_CLEAR_SIGHAND. These overflow their types and will be changed to a larger size in the future. (8c6e6710458d)Fixed
wchar_tdefinition under Arm (#5245)time-related symbols (#5300)v0.2.188Compare Source
Changed
SendandSyncforDIR(35b062263401)These were removed in 0.2.187 because
libcdoes not actually makeSendandSyncguarantees 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: Sendorlibc::DIR: Sync.v0.2.187Compare Source
This release contains a number of improvements related to 64-bit
time_tconfiguration.Of note the existing
RUST_LIBC_UNSTABLE_*environment variables have been replacedwith configuration options. The new way to use these is:
Being able to set this via
RUSTFLAGSmakes it easier to only apply configuration tospecific targets (and notably, not the host if build scripts are used).
There are two other notable changes:
The 32-bit
windows-gnutargets now respectlibc_unstable_gnu_time_bitsuClibc now supports a similar configuration option:
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
aarch64-unknown-linux-pauthtest(#5065)Added
POSIX_SPAWN_*constants (#5104)getpwent,setpwent, andendpwent(#5160)preadv2andpwritev2(#5157)seccomp_notif*structures (#5224)timer_[create, delete, getoverrun, gettime, settime](#5108)PROC_PIDT_SHORTBSDINFOandproc_bsdshortinfo(#5110)SIOC*constants fromsockio.h(#5263)_IOR,_IOW,_IOWR(#5264)bpf_programandbpf_insn(#5235)kqueueconstants (#5077)vm_statistics64with recently added fields (#5253)IN6_IFF_*andSIOCGIFAFLAG_IN6(#5239)O_*,POSIX_FADV_*,NI*, and a few other missing constants (#5116)fdatasync,dlvsym,reallocarray,qsort_r,pthread_*affinity_np,ftok,extattr_*, anddup3(#5116)in6_pktinfo(#5256)DLT_*constants (#5235)PROC_LOGSIGEXIT_*andPPROT_*(#4657)SO_RERROR(#5260)IN6_IFF_*,in6_ifreq, andSIOCGIFAFLAG_IN6(#5239)_IO*helpers fromsys/ioccom.h(#5239)PTHREAD_*_MUTEX_INITIALIZER_NPfor riscv64 (#5094)struct tcp_info(#5215)OPEN_TREE_NAMESPACE(#5145)SECCOMP_IOCTL_*constants (#5224)SO_DETACH_REUSEPORT_BPF(#5081)futex_waitv(#5125)fsopen,fsconfig,fsmount, andfspick(#5145)statxpresent since 6.16 (#4621)ifaddrmsgandrtattr(#5234)sockaddr_iucv(#5041)ENOTCAPABLE(#4925)renameat2(#5113)F_SETFD(#5258)POLLRD*andPOLLWR*constants (#5258)SO_KEEPALIVEand TCP keepalive constants (#5111)TCP_MAXSEG(#5258)eventfdandEFD_*constants (#5258)pipe2(#5258)strerror_r(#5258)netinetstructs and constants (#5258)*atanddirentfunctions (#5117)port_alertandPORT_ALERT*constants (#5203)Deprecated
CPUCTL_RSMSRandUTX_DB_LASTLOG(#5116)Fixed
tsfrom*const timespecto*mut timespecin _lwp_park` (#5169)PTRACE_*ET_SYSCALL_USER_DISPATCH_CONFIGconstants fromu8toc_uint(#4936)cpuset_ttypo inCPU_ZERO(#5098)ifaddrs, pthread barriers, process sizing fields, andmcontextalignment (#5116)CPUCTL_CPUID*,EV_HUP, andEV_SYSFLAGS(#5116)POLLOUT(#5090)EPIOC[GS]PARAMSwith nonstandard _IOC (#5188)unsafe(#3727)__getmntinfo13(#5251)PTHREAD_MUTEX_INITIALIZER(#5241)Changed
-> c_void(#5240)AIO_LISTIO_MAXto account for changes in macOS 27 (#5253)MS_NOUSER(#5215)SW_MAXandSW_CNT(#5215)swapped_counttovm_statistics64(#4926)libc_unstable_gnu_time_bitsfor 64-bittime_tconfig (#5062)Removed
Elf32_Lword,ip_mreq_source, andIP_constants (#5116)KERN_REALROOTDEVandVM_LAPTOP_MODE(#5177)Other
LIBC_BUILD_VERBOSEis set (#5272)*LASTconstants as potentially changing (#5120)*MAXconstants as potentially changing (#5122)ELASTconstants as potentially changing (#5118)RAND_MAXas potentially changing (#5119)*NUMconstants as potentially changing (#5123)*COUNTconstants as potentially changing (#5121)time_t(#5046)RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64(#5197)RUST_LIBC_UNSTABLEenv withlibc_unstable*cfg (#4977)BurntSushi/memchr (memchr)
v2.8.3Compare Source
open-telemetry/opentelemetry-rust (opentelemetry-semantic-conventions)
v0.32.1Compare Source
Released 2026-Jun-26
dtolnay/proc-macro2 (proc-macro2)
v1.0.107Compare Source
dtolnay/quote (quote)
v1.0.47Compare Source
v1.0.46Compare Source
get_spaninquote_spanned(#329, thanks @Noratrieb)rust-random/rand (rand)
v0.10.2Compare Source
Fixes
UniformCharfrom bad source (#1790)Changes
partial_shuffleand apply#[must_use](#1769)unsafein contexts where non-local memory corruption could invalidate contract (#1791)rust-lang/regex (regex)
v1.13.1Compare Source
===================
This is a release that fixes a bug where incorrect regex match offsets could be
reported. Note that this doesn't impact whether a match occurs or not, just
where it occurs. The match offsets are still valid for slicing, they just may
not refer to the correct leftmost-first match. See
#1364 for (many) more details.
Bug fixes:
Fixes previously unsound reverse suffix and inner optimizations.
v1.13.0Compare Source
===================
This release includes a new API, a
regex!macro, for lazy compilation ofa regex from a string literal. If you use regexes a lot, it's likely you've
already written one exactly like it. The new macro can be used like this:
Improvements:
Add a new
regex!macro for efficient and automatic reuse of a compiled regex.serde-rs/serde (serde)
v1.0.229Compare Source
serde-rs/json (serde_json)
v1.0.151Compare Source
jonasbb/serde_with (serde_with)
v3.22.0: serde_with v3.22.0Compare Source
Added
jiffv0.2 behind the newjiff_0_2feature flag (#936)jiff::SignedDurationworks withDurationSecondsand its variants.jiff::Timestamp,jiff::Zoned, andjiff::civil::DateTimework withTimestampSecondsand its variants.Deserializing a
jiff::Zoneduses the system time zone, likechrono::DateTime<Local>.Fixed
The
rust::sets_duplicate_value_is_error,rust::maps_duplicate_key_is_error,rust::sets_last_value_wins, andrust::maps_first_key_winsadapters created their backing sets/maps withwith_capacity_and_hasherusing the raw deserializersize_hint, bypassing thesize_hint_cautiouscap added in #966 (theclippy.tomldisallowed_methodslint only coversVec::with_capacity, notwith_capacity_and_hasher, so these sites were not flagged).Attacker-controlled input claiming a huge length could panic with
Hash table capacity overflowbefore a single element was read. All such constructions now route throughsize_hint_cautious.shepmaster/snafu (snafu)
v0.9.2Compare Source
Fixed
whatevermacro no longer triggers thesemicolon_in_expressions_from_macroslint.rust-lang/socket2 (socket2)
v0.6.5(#660).
(#663).
Socket::(set_)tos_v4on illumos(#662).
tokio-rs/tokio (tokio)
v1.53.1: Tokio v1.53.1Compare Source
1.53.1 (July 20th, 2026)
Fixed
OnceLock::waitfrom the Windows handler (#8300)Fixed (unstable)
Documented
v1.53.0: Tokio v1.53.0Compare Source
1.53.0 (July 17th, 2026)
Added
From<OwnedFd>andFrom<OwnedHandle>forFile([#8266])SocketAddrmethods to Unix sockets ([#8144])Changed
#[inline]to IO trait impls for in-memory types ([#8242])mpsc::{Receiver,UnboundedReceiver}now drops waker on drop, even if there are still senders ([#8095])#[track_caller]totimeout_at()([#8077])Sleep([#8132])Fixed
Chain([#8251])Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.