Skip to content

chore(deps): bump sanitization from 1.2.5 to 2.1.0 - #8

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/sanitization-2.1.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/sanitization-2.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 14, 2026

Copy link
Copy Markdown

Bumps sanitization from 1.2.5 to 2.1.0.

Release notes

Sourced from sanitization's releases.

Sanitization 2.1.0

sanitization 2.1.0

This release adds an isolated compatibility path for projects migrating from secrecy 0.10 while preserving the stricter exposure and storage contracts of the native sanitization containers.

Secrecy compatibility companion

  • Add the sanitization-secrecy sister crate with SecretBox<S>, SecretSlice<S>, SecretString, ExposeSecret, and ExposeSecretMut.
  • Add explicit CloneableSecret support and optional plaintext Serde through SerializableSecret.
  • Bound SecretString Serde loading to 1 MiB by default and isolate generic, inherently unbounded SecretBox<T> loading behind the explicit serde-compat-unbounded feature.
  • Provide the familiar new, init_with_mut, init_with, and try_init_with constructors. Temporary values used by cloning constructors are protected by a sanitizing unwind guard, and clone-based constructors require the explicit CloneableSecret partial-destination cleanup contract.
  • Add try_init_with_mut, runtime-length final-allocation byte-slice initialization, exact-capacity no-copy vector transfer, and data-oblivious equality with explicit call-site declassification.
  • Require audited shared and mutable storage-stability contracts for SecretBox reference exposure and mutable initialization under every feature combination. The explicit hazmat-unrestricted-exposure feature adds a visibly distinct UnrestrictedSecretBox rather than weakening existing trait implementations through Cargo feature unification.
  • Make runtime-length byte-slice allocation genuinely fallible and add try_init_with_len_bounded::<MAX, _> so untrusted lengths are rejected before allocation or initialization with typed build/initializer errors.
  • Clear complete owned String and Vec source capacities during boxed conversion, and sanitize completed destination elements if a later slice clone unwinds.
  • Build cloned slices directly in exact boxed storage with initialized-prefix unwind cleanup and a mandatory full-initialization assertion before the guard is disarmed, avoiding allocator-dependent Vec capacity assertions, and restrict automatic array clone authorization to reviewed integer arrays.
  • Make explicit consumption sanitize exactly once and add diagnostic-matching regression coverage for the clone authorization marker.
  • Correct full-capacity String wiping to use allocation-wide vector provenance, preserving UTF-8 validity during optional multi-pass clearing and covering excess-capacity strings under Miri.
  • Re-export zeroize by default and implement Zeroize/ZeroizeOnDrop for the compatibility wrapper by delegating to SecureSanitize.
  • Support Cargo package aliasing so many existing secrecy::... imports can remain unchanged during incremental migration.
  • Add downstream package-alias tests, no-default/all-feature tests, Miri coverage, package verification, and release-script integration.

... (truncated)

Changelog

Sourced from sanitization's changelog.

2.1.0

  • Add sanitization-secrecy, an isolated compatibility companion for migrating secrecy 0.10 applications.
  • Provide SecretBox, SecretSlice, SecretString, exposure traits, controlled cloning, optional plaintext Serde, and default zeroize trait compatibility while delegating wrapper cleanup to SecureSanitize.
  • Bound compatibility SecretString Serde loading to 1 MiB and require the explicit serde-compat-unbounded feature for generic SecretBox<T> loading.
  • Scrub complete source capacities when converting owned String and Vec values into boxed compatibility storage, and guard completed slice clones against panic-unwind remanence.
  • Add exact-capacity no-copy slice transfer, fallible in-place initialization, runtime-length final-allocation byte initialization, and data-oblivious comparisons whose Choice result requires call-site declassification.
  • Require stable-storage attestations for SecretBox compatibility exposure and mutable initialization under every feature combination; the explicit hazmat-unrestricted-exposure feature adds a separate UnrestrictedSecretBox so feature unification cannot downgrade existing trait implementations.
  • Report runtime byte-slice allocation failures, add const-bounded slice initialization for untrusted lengths, and keep build and callback errors distinct.
  • Replace allocator-dependent slice-clone capacity assertions with exact boxed construction, initialized-prefix unwind cleanup, and a mandatory full-initialization assertion before disarming the guard; restrict automatic array clone authorization to reviewed integer arrays.
  • Avoid duplicate sanitization in SecretBox::into_cleared and strengthen the clone opt-in compile-failure test so it checks the intended marker bound.
  • Route full-capacity String clearing through allocation-wide vector provenance, with the live UTF-8 length cleared before the 0xFF phase of an optional multi-pass wipe; excess-capacity paths now pass Miri.
  • Document the intentional SecretString clone exception, package-alias type boundary, Serde length policy, and custom clone implementor obligations.
  • Add SecureSanitize for str through the existing audited wipe backend.
  • Add package-alias migration fixtures and integrate the sixth crate into checks, Miri, archive verification, documentation, and release tooling.
  • Coordinate all six workspace crates at version 2.1.0.

2.0.4

  • Pin release development to Rust 1.98.1 while retaining Rust 1.90.0 as the minimum supported Rust version and extending the compatibility matrix through the new stable release.
  • Update syn to 3.0.4, BLAKE3 to 1.8.7, and refresh all workspace and standalone-tool lockfiles to current compatible dependency releases.
  • Update the pinned Swatinem/rust-cache GitHub Action to 2.9.2; confirm checkout, artifact upload, and Kani actions remain current and SHA-pinned.
  • Pin rust-cache to the signed commit referenced by the annotated v2.9.2 tag rather than the tag object's SHA.

... (truncated)

Commits
  • a303297 Record 2.1.0 security review
  • 2ab1c6f Harden secrecy compatibility release
  • 2962370 Add secrecy compatibility companion
  • 0f95eec Record 2.0.4 security review
  • d5a7c9e Fail closed on timing evidence excursions
  • 00fd65b Harden protection continuity and timing evidence
  • a6e546a Prepare 2.0.4 maintenance release
  • d9ee657 Refresh dependencies and CI tooling
  • ffcb211 Record 2.0.3 security review
  • d9578b2 Restore protected fill boundary regression tests
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [sanitization](https://github.com/valkyoth/sanitization) from 1.2.5 to 2.1.0.
- [Release notes](https://github.com/valkyoth/sanitization/releases)
- [Changelog](https://github.com/valkyoth/sanitization/blob/main/CHANGELOG.md)
- [Commits](valkyoth/sanitization@v1.2.5...v2.1.0)

---
updated-dependencies:
- dependency-name: sanitization
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Sep 14, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

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