Skip to content

chore(deps): update rust crate base64 to 0.23 - #38

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/base64-0.x
Open

chore(deps): update rust crate base64 to 0.23#38
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/base64-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 25, 2026

Copy link
Copy Markdown

This PR contains the following updates:

Package Type Update Change
base64 dependencies minor 0.220.23

Release Notes

marshallpierce/rust-base64 (base64)

v0.23.1

Compare Source

  • Make the tests build again on non-SIMD architectures

v0.23.0

Compare Source

  • Added more consts for preconfigured configs and engines
  • Make DecodeError::InvalidLastSymbol more clear by including the decoded value
  • Added SIMD-accelerated engines behind the default-on simd-unsafe feature: Simd picks the best
    instruction set at runtime (AVX2 on x86_64, NEON on aarch64) and falls back to the scalar
    GeneralPurpose engine, while Avx2 and Neon target one instruction set with no runtime
    detection and work in no_std. The engines support the standard and URL-safe alphabets.
  • Update MSRV to 1.71.0
  • Add support for custom padding symbols

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • 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.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

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

@changeset-bot

changeset-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 0f22a5c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@renovate
renovate Bot force-pushed the renovate/base64-0.x branch from 0f22a5c to 2f349ac Compare August 6, 2026 03:22
@greptile-apps

greptile-apps Bot commented Aug 6, 2026

Copy link
Copy Markdown

PR author is in the excluded authors list.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread sdk/rust/Cargo.toml
ureq = "2"
serde_json = "1"
base64 = "0.22" # 0.5.1 — wallet_hook(privy) needs Basic auth encoding
base64 = "0.23" # 0.5.1 — wallet_hook(privy) needs Basic auth encoding

@devin-ai-integration devin-ai-integration Bot Aug 6, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 Info: APIs used by the SDK are unaffected by the 0.22→0.23 bump; MSRV not pinned in-repo

Only two base64 usages exist in the Rust SDK — base64::engine::general_purpose::URL_SAFE_NO_PAD.encode (sdk/rust/src/lib.rs:30) and general_purpose::STANDARD.encode (sdk/rust/src/lib.rs:234) — both engine-API calls introduced in 0.21 and retained in 0.23; the 0.23 breaking notes concern DecodeError::InvalidLastSymbol and new consts/features, none of which are used (no decoding anywhere in the SDK). The new MSRV of 1.71.0 is also not a conflict: neither sdk/rust/Cargo.toml nor any workflow pins a rust-version/toolchain. Existing precedent in git history also shows dependency bumps not being recorded in CHANGELOG.md, so the missing Unreleased entry matches convention for non-user-facing chores.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@macroscopeapp

macroscopeapp Bot commented Aug 6, 2026

Copy link
Copy Markdown

Approvability

Verdict: Needs human review

Unable to check for correctness in 2f349ac. Dependency update to base64 0.23 touches a file owned by wave-av/streaming-team (not owned by renovate bot). An open review comment raises valid concerns about verifying the new version exists and passes CI build. The designated code owners should verify this update.

No code changes detected at ce7f3b3. Prior analysis still applies.

You can customize Macroscope's approvability policy. Learn more.

@renovate
renovate Bot force-pushed the renovate/base64-0.x branch 2 times, most recently from a649734 to 7492384 Compare August 7, 2026 13:26
@renovate
renovate Bot force-pushed the renovate/base64-0.x branch from 7492384 to 21c09c8 Compare August 14, 2026 17:23

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread sdk/rust/Cargo.toml
ureq = "2"
serde_json = "1"
base64 = "0.22" # 0.5.1 — wallet_hook(privy) needs Basic auth encoding
base64 = "0.23" # 0.5.1 — wallet_hook(privy) needs Basic auth encoding

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 New default-on SIMD engine feature ships unsafe code into the SDK

Per the release notes quoted in the PR, base64 0.23 adds SIMD-accelerated engines behind a default-on simd-unsafe feature. The dependency here is declared without default-features = false, so the SDK will now pull in runtime-detected unsafe SIMD code paths for the two call sites (sdk/rust/src/lib.rs:30 for the CDP-JWT base64url encoding and sdk/rust/src/lib.rs:234 for the Privy Basic auth header). These call sites encode tiny payloads where SIMD gives no meaningful benefit, so for a crypto-adjacent client SDK it may be preferable to opt out of the unsafe feature (base64 = { version = "0.23", default-features = false, features = ["std"] }). Worth confirming whether the repo has a policy on transitive unsafe code.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed against the registry — this one is real, so I am leaving it open rather than resolving it.

$ curl -s https://crates.io/api/v1/crates/base64/0.23.0 | jq .version.features
{
  "alloc": [],
  "default": ["std", "simd-unsafe"],
  "simd-unsafe": [],
  "std": ["alloc"]
}

simd-unsafe is in default, and sdk/rust/Cargo.toml declares base64 = "0.23" with no default-features = false. So the feature is enabled, exactly as described.

What makes this worth acting on is that it is a silent change in posture: 0.22 had no such feature, so the bump expands the published crate unsafe surface without a single line of the diff saying so. Nobody reading -base64 = "0.22" / +base64 = "0.23" would see it.

The minimal fix keeps the two call sites working while restoring the 0.22 posture:

base64 = { version = "0.23", default-features = false, features = ["std"] }

Both usages — URL_SAFE_NO_PAD.encode (sdk/rust/src/lib.rs:30) and STANDARD.encode (line 234) — are Engine::encode calls that need only std (which pulls alloc), so dropping simd-unsafe should not touch them.

I am deliberately not pushing that change, because I have no Rust toolchain here (command -v cargo -> not found) and I will not put an unverified dependency edit on a published crate. It needs someone who can actually run cargo build and cargo test on the SDK.

Related and worth fixing separately: nothing in CI compiles Rust at all — cargo appears in .github/workflows/ only inside a comment in license-truth.yml. That is why this PR and the other Rust bumps (rand_core, p256, ureq) all show green: no gate ever builds them. A cargo check --locked job over sdk/rust would give these bumps real signal.

@renovate
renovate Bot force-pushed the renovate/base64-0.x branch from 21c09c8 to 7ecbdfa Compare August 26, 2026 23:35
@codeant-ai

codeant-ai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@renovate
renovate Bot force-pushed the renovate/base64-0.x branch from 7ecbdfa to ce7f3b3 Compare September 3, 2026 08:13
@codeant-ai

codeant-ai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

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.

1 participant