Skip to content

chore(deps): update rust crates - #3234

Open
renovate[bot] wants to merge 2 commits into
mainfrom
renovate/rust-crates
Open

renovate[bot] wants to merge 2 commits into
mainfrom
renovate/rust-crates

Conversation

@renovate

@renovate renovate Bot commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
globstar workspace.dependencies patch 0.0.4 → 0.0.6
httpmock workspace.dependencies minor 0.8 → 0.9
webpki-root-certs workspace.dependencies patch 1.0.10 → 1.0.11
zip workspace.dependencies minor 9.0.5 → 9.1.0

Release Notes

shulaoda/globstar (globstar)

v0.0.6

Compare Source

Full Changelog: shulaoda/globstar@v0.0.5...v0.0.6

v0.0.5

Compare Source

Full Changelog: shulaoda/globstar@v0.0.4...v0.0.5

httpmock/httpmock (httpmock)

v0.9.0

Compare Source

The crate was upgraded to the Rust 2024 edition. The minimum supported Rust version
remains 1.88.

Breaking changes
  • server::matchers is now crate-private
    (#​312). Its matcher, comparator and reader
    types are implementation details rather than a supported extension API; there is no
    replacement public path. Custom predicates remain possible with When::is_true.
  • The body helpers is_blank, contains_str, contains_slice and contains_vec
    were removed (#​246). Use
    request.body_string().contains(".."), which also works inside respond_with, or
    request.body_ref().windows(n).any(|w| w == b"..") with a non-empty needle, and
    When::body_includes when matching.
  • HttpMockRequest::query_params_map() was removed
    (#​246). Collect query_params() instead:
    let params: HashMap<String, String> = request.query_params().into_iter().collect();
    keeps the last value for duplicate keys, as the removed method did. query_params() has
    returned Vec<(String, String)> since 0.8.2.
  • The MockExt trait was removed and Mock's public id field is now private
    (#​285). Remove MockExt imports and
    replace direct mock.id field access with mock.id(). Mock::new(id, &server) is
    unchanged.
  • The mock server only accepts cleartext HTTP/2 connections (prior knowledge, as gRPC clients
    send it) when the http2 cargo feature is enabled
    (#​297). Previously this worked without the
    feature. It fails at runtime, not at compile time: the client sees the connection closed
    after the preface and the server logs "invalid HTTP version parsed (found HTTP2 preface)".
    Enable http2 to keep serving such clients; standalone and the Docker image already
    include it. HTTPS via ALPN is unaffected, as h2 was already only offered with the feature
    enabled. The crate also no longer enables tokio/signal or hyper/http2 for other crates
    in the build, so a crate that relied on that has to enable them itself.
  • server::state::MockServerState and server::state::HttpMockStateManager are now
    crate-private (#​289,
    #​326). Neither could be used from outside
    the crate beyond constructing it; code using the MockServer API is unaffected.
  • The empty experimental Cargo feature was removed
    (#​316). Remove it from your dependency's
    feature list; it did not enable any functionality.
  • The Docker image now uses a slim Debian runtime without the Rust toolchain or source tree
    (#​202,
    1231c63). curl and wget are no
    longer installed, so healthchecks that call them need another probe: an httpGet probe
    against /__httpmock__/ping, or from inside the container
    bash -c 'exec 3<>/dev/tcp/127.0.0.1/5050'. The CA files are no longer in the image either;
    use certs/ca.pem from the repository or server::DEFAULT_CA_CERTIFICATE. The executable
    is now at /usr/local/bin/httpmock, with a compatibility symlink at
    /usr/local/cargo/bin/httpmock so existing absolute paths continue to work.
  • The tls-detect cargo feature was removed
    (#​333). It only enabled an internal
    dependency that https already pulled in; remove it from your feature list.
  • Optional dependencies no longer double as cargo features: clap, colored, headers,
    hyper-rustls, if-addrs, rcgen, rustls, rustls-pki-types, serde_yaml,
    tokio-rustls and tracing-subscriber are enabled through the documented features only.
    Replace any of these names in your feature list with the feature that needs them, such as
    https or standalone.
  • RecordingRuleBuilder::config is now private
    (#​322). Its type could only be used through
    type inference; configure recordings through the builder's methods.
Upgrading from 0.8

Most code needs no changes. Remove MockExt imports and use mock.id() to read a mock's
ID. Replace body().is_blank() with body_string().trim().is_empty() and
body().contains_str("x") with body_string().contains("x"). Replace query_params_map()
with query_params().into_iter().collect::<HashMap<_, _>>().

Direct imports from server::matchers must be removed; use the When API to configure
matchers instead.

Tests whose clients speak cleartext HTTP/2 to the mock server additionally need the http2
feature.

The methods deprecated since 0.8.0 (Mock::hits, hits_async, assert_hits,
assert_hits_async and When::matches) are still available and will be removed in 1.0.

Improvements
  • #​326: Add HttpMockResponse::to_http_response()
    for converting to an HTTP response with a byte body. The method borrows the response and
    returns any conversion error.
  • #​108: Mocks can be limited to a number of
    calls with Then::up_to_n_times, Mock::up_to_n_times or Mock::up_to_n_times_async,
    after which they stop matching requests. Static mock YAML files support the same limit as
    up_to_n_times under then. MockServer::reset(), which start() and connect() call,
    now also resets the call counters of static YAML mocks. (resolves
    #​96)
    (thanks @​wfchandler)
  • Async mock, forwarding, proxy and recording setup futures implement Send when their
    inputs do, allowing registration inside tokio::spawn
    (#​325).
  • When, Then and the forwarding, proxy and recording rule builders are now Send and
    Sync (#​322).
  • #​297: httpmock's own dependency tree is about
    30% smaller (74 to 52 crates without default features, 86 to 64 with them), resolving
    #​46
  • #​333: async-trait and tls-detect are no
    longer dependencies. The server now tells TLS and plain HTTP connections apart by the first
    byte the client sends.
  • #​275: Owned HTTP request and response
    conversions avoid unnecessary body clones.
  • #​299: Static mock YAML files now support
    json_body and body_from_file (resolves issues
    #​118 and
    #​185)
  • #​251: The default CA certificate and key are
    exposed for testing as server::DEFAULT_CA_CERTIFICATE and server::DEFAULT_CA_PRIVATE_KEY
    (https feature) (thanks @​ErikMcClure)
  • #​298: The case-sensitive body matching
    introduced in v0.8.0 is now documented
Bug fixes
  • HttpMockServerBuilder::build() returns an error instead of panicking when the directory
    of static mock files cannot be listed, and the YAML and file error messages were reworded
    (904fc03)
  • Two error messages of the admin API changed: static mocks now report "cannot be modified or
    deleted" and failed state operations "state operation failed: ...". Only clients that match
    on the response body of a failed request can notice
  • The http2 feature now also enables HTTP/2 in the HTTPS client, so remote, https and
    http2 compile together without remote-https
  • #​229: The https feature builds correctly
    again (hyper-rustls/ring is enabled) (thanks @​danieleades)
  • #​242,
    #​326: Server TLS falls back to ring when no
    rustls crypto provider is installed, instead of panicking when several providers are compiled
    in (thanks @​danieleades)
  • #​243: DELETE /recordings/:id now deletes
    recordings instead of proxy rules (thanks @​danieleades)
  • #​245: The configured history_limit is
    honored instead of a hardcoded cap (thanks @​danieleades)
  • The *_prefix and *_suffix matchers no longer panic with a char-boundary error when
    building a mismatch report for a request value containing multi-byte UTF-8 characters
  • #​315: Mismatch reports print request and mock
    values containing tab characters (e.g. TSV bodies) verbatim instead of re-aligning them into
    columns
  • #​318: Recording::save and save_to no longer
    overwrite a recording saved under the same scenario name in the same second; the second file
    gets a counter suffix
    (<scenario>_<timestamp>_1.yaml)
Internal improvements and CI
Dependency updates
  • #​212: "Bump the npm_and_yarn group across 1 directory with 16 updates"
  • #​221: "ci(deps): bump docker/build-push-action from 6 to 7"
  • #​222: "ci(deps): bump docker/login-action from 3 to 4"
  • #​223: "ci(deps): bump withastro/action from 5 to 6"
  • #​225: "ci(deps): bump actions/deploy-pages from 4 to 5"
  • #​239: "ci(deps): bump codecov/codecov-action from 5 to 7"
  • #​240: "ci(deps): bump actions/checkout from 6 to 7"
  • #​253: "ci(deps): bump the npm_and_yarn group across 1 directory with 2 updates"
  • #​255: "ci(deps): bump taiki-e/install-action from 2 to 2.85.5"
  • #​256: "ci(deps): bump the npm_and_yarn group across 1 directory with 3 updates"
  • #​272: "ci(deps): bump js-yaml from 4.3.0 to 4.3.1 in /docs/website"
  • #​294: "ci(deps): bump taiki-e/install-action from 2.85.5 to 2.86.5"
  • #​295: "ci(deps): bump taiki-e/install-action from 2.86.5 to 2.87.0"
  • #​302: "ci(deps): bump fast-uri from 3.1.5 to 3.1.7 in /docs/website"
  • #​307: "ci(deps): bump svgo from 4.0.2 to 4.1.0 in /docs/website"
  • #​308: "ci(deps): bump taiki-e/install-action from 2.87.0 to 2.87.11"
  • #​309: "ci(deps): bump actions-rust-lang/setup-rust-toolchain from 1 to 2"
  • #​310: "ci(deps): bump the npm_and_yarn group across 1 directory with 5 updates"
  • #​313: "ci(deps): bump actions-rust-lang/setup-rust-toolchain from 1 to 2"
  • #​314: "ci(deps): bump taiki-e/install-action from 2.87.11 to 2.87.15"
  • #​319: "ci(deps): bump taiki-e/install-action from 2.87.15 to 2.87.20"
  • #​327: "ci(deps): bump taiki-e/install-action from 2.87.20 to 2.87.22"
  • #​330: "ci(deps): bump the npm_and_yarn group across 1 directory with 2 updates"
zip-rs/zip2 (zip)

v9.1.0

Compare Source

🚀 Features
  • (read) enforce header consistency on extract_with_options and expose duplicate name detection (#​1109)
  • Add borrowing inner method to reader wrappers (#​1050)
  • add with_size_limit to ExtractOptions to limit total declared uncompressed size (#​1019)
  • add file_names_raw iterator (#​1082)
🐛 Bug Fixes
  • raw_copy_file keeps an entry's name bytes and UTF-8 flag as stored (#​1124)
  • (write) prevent seek panic on streaming writer with comment (#​1151)
  • Accept bounded central directory digital signature record when enforcing header consistency in ZipStreamReader (#​1134)
  • apply unix permissions at creation (#​1104)
  • raw_copy_file should work with any extra fields (#​1120)
  • (read) avoid full-file forward scans and redundant allocations in central directory (#​1142)
  • don't enable typed-path's default std feature (#​1112)
  • ZIP64 size fields were being deep-copied incorrectly (via Copilot gpt-6-luna) (#​1107)
  • resolve decoded CP437 member names (#​1080) (#​1085)
  • Debug assertion doesn't account for length of archive comment (#​1097)
🚜 Refactor
⚡ Performance
  • (write) reuse the DEFLATE compressor across entries (#​1119)
⚙️ Miscellaneous Tasks
  • Fix reference to nonexistent variable on #[cfg(not(any(unix, windows)))] (#​1138)
  • target lzma-rust2 v0.23 (#​1096)
Bench

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 if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedcargo/​httpmock@​0.8.3 ⏵ 0.9.079 -1410093 -7100100

View full report

@cloudflare-workers-and-pages

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://renovate-rust-crates-viteplus-dev.voidzero-docs.workers.dev (commit 7f60985)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://c1d8490c-viteplus-dev.voidzero-docs.workers.dev 7f60985 2026-10-25T16:54:48.205Z Visit the dashboard ↗

@github-actions

Copy link
Copy Markdown
Contributor

CLI artifact sizes (7f60985)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 2.26 MiB 2.26 MiB 0 B (0.00%)
packages/core/dist Directory total 4.07 MiB 4.07 MiB 0 B (0.00%)
Combined package dist Directory total 6.33 MiB 6.33 MiB 0 B (0.00%)
vp (Linux x64) Binary 8.23 MiB 8.23 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 3.76 MiB 3.76 MiB 0 B (0.00%)
NAPI (Linux x64) Binary 35.45 MiB 35.60 MiB +148.00 KiB (+0.41%)
NAPI (Linux x64) gzip -9 14.12 MiB 14.20 MiB +78.47 KiB (+0.54%)
vp (macOS ARM64) Binary 5.38 MiB 5.38 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 3.20 MiB 3.20 MiB 0 B (0.00%)
NAPI (macOS ARM64) Binary 42.23 MiB 42.36 MiB +129.14 KiB (+0.30%)
NAPI (macOS ARM64) gzip -9 18.25 MiB 18.33 MiB +79.06 KiB (+0.42%)
vp (Windows x64) Binary 6.08 MiB 6.08 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 2.82 MiB 2.82 MiB -1 B (-0.00%)
NAPI (Windows x64) Binary 31.50 MiB 31.65 MiB +152.00 KiB (+0.47%)
NAPI (Windows x64) gzip -9 12.83 MiB 12.91 MiB +81.92 KiB (+0.62%)
Trampoline (Windows x64) Binary 13.50 KiB 13.50 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.09 KiB 7.09 KiB 0 B (0.00%)
Installer (Windows x64) Binary 4.67 MiB 4.67 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.24 MiB 2.24 MiB +1 B (+0.00%)

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants