Skip to content

chore(deps): bump coset from 0.3.8 to 0.4.2 - #1494

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/coset-0.4.2
Open

chore(deps): bump coset from 0.3.8 to 0.4.2#1494
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/coset-0.4.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor

Bumps coset from 0.3.8 to 0.4.2.

Changelog

Sourced from coset's changelog.

0.4.2 - 2026-03-02

  • Add CoseKeyBuilder::new_mldsa_pub_key() helper, with associated MlDsaVariant enum.

0.4.1 - 2026-01-19

  • Bump MSRV to 1.81.
  • Implement the core version of Error, making the std feature now a no-op.
  • Add new IANA COSE algorithm values.
  • Add helpers for converting EC keys to SEC1 octet strings.

0.4.0 - 2025-09-22

  • Breaking change: alter type of crit field in Header to support private-use labels (in accordance with 9052 §3.1).
  • Deprecate CoseMac[0]::verify_tag in favour of verify_payload_tag.
  • Deprecate CoseEncrypt[0]::decrypt, CoseRecipient::decrypt in favour of decrypt_ciphertext.
Commits

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 [coset](https://github.com/google/coset) from 0.3.8 to 0.4.2.
- [Changelog](https://github.com/google/coset/blob/main/CHANGELOG.md)
- [Commits](google/coset@v0.3.8...v0.4.2)

---
updated-dependencies:
- dependency-name: coset
  dependency-version: 0.4.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Aug 3, 2026

@tangletools tangletools left a comment

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.

🟢 Value Audit — sound

Verdict sound
Concerns 1 (1 weak-concern)
Heuristic 0.0s
Duplication 0.0s
Interrogation 671.5s (2 bridge agents)
Total 671.5s

💰 Value — sound

Bumps coset 0.3.8→0.4.2 in the workspace manifest + the blueprint-remote-providers dev-deps; the repo only touches APIs that are unchanged across the 0.3→0.4 break, so it ships clean.

  • What it does: Raises the coset dependency floor from 0.3 to 0.4 across two manifests (Cargo.toml:298 workspace entry, crates/blueprint-remote-providers/Cargo.toml:102 dev-dep) and regenerates Cargo.lock (5057-5061). No source changes.
  • Goals it achieves: Keeps the COSE parsing library (used by the AWS Nitro attestation verifier in crates/tee/src/attestation/providers/aws_nitro.rs:15 and the synthetic-COSE test fixtures in crates/blueprint-remote-providers/tests/tee_attestation.rs:433) on a current release — pulls in the 0.4.1 MSRV bump, std Error impl, new IANA algorithm values, and the 0.4.2 ML-DSA key builder.
  • Assessment: Coherent and minimal. The 0.4.0 breaking change is the type of Header.crit plus deprecation of verify_tag/decrypt; I grepped the repo's entire coset surface (rg 'coset' under crates/) and the only symbols used are CborSerializable, CoseSign1, TaggedCborSerializable, CoseSign1Builder, HeaderBuilder, and coset::iana::Algorithm::ES384 — none touched by the break. Both manifest edits move in lockstep
  • Better / existing approach: none — this is the right approach. Verified the only two consumers and confirmed no usage of the 0.4.0 breaking surface; no existing in-repo COSE abstraction to reuse (coset is itself the canonical COSE library and is already the workspace choice).
  • Model: opencode/zai-coding-plan/glm-5.2
  • Bridge attempts: 2
  • Bridge warning: opencode/kimi-for-coding/k2p7: opencode: opencode error

🎯 Usefulness — sound

Clean dependency bump of coset 0.3 -> 0.4 on a real, reachable path (AWS Nitro COSE attestation verifier); the 0.4 breaking changes do not touch any API surface used in this workspace.

  • Integration: coset is consumed in exactly two places, both live and reachable: the production AWS Nitro verifier at crates/tee/src/attestation/providers/aws_nitro.rs:15 (imports CborSerializable, CoseSign1, TaggedCborSerializable) and its integration test at crates/blueprint-remote-providers/tests/tee_attestation.rs:433,505 (CoseSign1Builder, HeaderBuilder, iana::Algorithm::ES384). The verifier is wired into t
  • Fit with existing patterns: This is a routine workspace-dependency bump, fully in the grain of the codebase. coset is already a workspace dep (Cargo.toml:298) and the bump simply moves the minimum-version floor from 0.3 to 0.4 in two manifests. No competing pattern, no new abstraction introduced.
  • Real-world viability: Holds up: the coset 0.4.0 breaking change (type of the crit Header field) and the deprecated methods (CoseMac::verify_tag, CoseEncrypt/CoseRecipient::decrypt) do not touch any symbol referenced in this workspace — confirmed by grepping the full tree for .crit, verify_tag, and coset-typed .decrypt( (all .decrypt() matches are on chacha20poly1305/envelope types, not coset). The MSRV bump t
  • Model: opencode/zai-coding-plan/glm-5.2
  • Bridge attempts: 1

🎯 Usefulness Audit

🟡 blueprint-remote-providers declares coset inline instead of via workspace = true [ergonomics] ``

crates/blueprint-remote-providers/Cargo.toml:102 uses coset = { version = "0.4" } while the sibling tee crate uses coset = { workspace = true, optional = true } (crates/tee/Cargo.toml:56). The workspace already centralizes coset at Cargo.toml:298. This PR touched the inline line, so it could have folded it into the workspace dep for consistency (same applies to ciborium/p384/rcgen in that block). Pre-existing inconsistency, not introduced here, and does not gate shipping — just leaves two ve


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

Pass What it asks
Heuristic Vague title? Whitespace-only or cruft-bearing diff? (content signals only)
Duplication Do added function/class names already exist elsewhere in the repo?
Value Audit What does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness Audit Does it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260803T122831Z

@tangletools

Copy link
Copy Markdown
Contributor

⚠️ Review Interrupted — 210c24a8

The review runner stopped before publishing a final verdict: webhook_restarted.

State Detail
Interrupted webhook restarted

No review verdict was produced for this run. Trigger a fresh review on the current PR head if the PR is still open.

tangletools · #1494 · model: kimi-for-coding · updated 2026-08-03T12:51:30Z

@tangletools tangletools left a comment

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.

🟡 Value Audit — sound-with-nits

Verdict sound-with-nits
Concerns 2 (2 weak-concern)
Heuristic 0.0s
Duplication 0.0s
Interrogation 46.6s (2 bridge agents)
Total 46.6s

💰 Value — sound-with-nits

Routine, safe bump of coset 0.3.8 → 0.4.2; the 0.4.0 breaking changes don't touch any API this repo uses, and one small workspace-dep centralization opportunity was missed while editing these exact lines.

  • What it does: Bumps the coset crate (COSE/CBOR for TEE attestation) across the workspace: Cargo.lock 0.3.8→0.4.2, workspace Cargo.toml version = "0.3""0.4", and the blueprint-remote-providers dev-dep 0.30.4. Gains ML-DSA post-quantum key helpers, new IANA COSE algorithm values, and core Error impl; MSRV moves to 1.81 (workspace is on 1.88).
  • Goals it achieves: Keep the TEE-attestation crypto dep current (maintenance/security hygiene) and pick up post-quantum (ML-DSA) and additional IANA algorithm support for future attestation work. The bump is the standard dependabot-style version-floor raise (0.30.4) plus a lock refresh.
  • Assessment: Good change, low risk. I grepped every coset usage (crates/tee/src/attestation/providers/aws_nitro.rs:15 uses CborSerializable/CoseSign1/TaggedCborSerializable; crates/blueprint-remote-providers/tests/tee_attestation.rs:433,505 use CoseSign1Builder/HeaderBuilder/iana::Algorithm::ES384) and none of them touch the three breaking changes in 0.4.0: the crit Header field type change, the deprecated `
  • Better / existing approach: none — this is the right approach. Searched for whether an existing workspace or higher-level attestation crate already centralizes coset versioning; the workspace Cargo.toml:298 already defines coset = { version = "0.4", default-features = false } and crates/tee/Cargo.toml:56 correctly consumes it via workspace = true. The only gap is the dev-dep in blueprint-remote-providers.
  • Model: opencode/zai-coding-plan/glm-5.2
  • Bridge attempts: 2
  • Bridge warning: opencode/kimi-for-coding/k2p7: opencode: opencode error

🎯 Usefulness — sound

Routine coset 0.3.8 → 0.4.2 bump; none of the 0.4.0 breaking changes touch the APIs the Nitro COSE verifier or its tests actually use, and both the workspace and test-crate version pins are updated consistently.

  • Integration: Reachable and exercised. coset is consumed by the AWS Nitro attestation verifier (crates/tee/src/attestation/providers/aws_nitro.rs:15,100-101,443) and its integration test (crates/blueprint-remote-providers/tests/tee_attestation.rs:433,504-507). Both paths compile against the 0.4 API surface — the parsed/built types (CoseSign1, CoseSign1Builder, HeaderBuilder, iana::Algorithm) are unchanged acros
  • Fit with existing patterns: Fits the codebase pattern exactly. The workspace Cargo.toml is the single source of truth for coset (crates/tee/Cargo.toml:56 references it via workspace = true), and the bump keeps that contract. The one outlier is crates/blueprint-remote-providers/Cargo.toml:102 pinning coset directly instead of via workspace — but that predates this PR (was already version = "0.3") and is a test-only dep, s
  • Real-world viability: The 0.4.0 changelog lists three breaking changes: Header crit field type change, and deprecation of CoseMac[0]::verify_tag / CoseEncrypt[0]::decrypt / CoseRecipient::decrypt. Grep across the workspace shows zero usage of crit, verify_tag, .decrypt, or decrypt_ciphertext — this codebase does its own signature verification via x509_parser+p384 and only uses coset for CBOR (de)seriali
  • Model: opencode/zai-coding-plan/glm-5.2
  • Bridge attempts: 1

🎯 Usefulness Audit

🟡 Test-crate pins coset directly instead of via workspace [integration] ``

crates/blueprint-remote-providers/Cargo.toml:102 declares coset = { version = "0.4" } directly rather than coset = { workspace = true } like crates/tee/Cargo.toml:56 does. This is pre-existing (was version = "0.3" before this PR) and only affects test deps, so it does not gate the bump — but folding it into the workspace dep would prevent this exact two-line bump from being needed again on the next coset release.

💰 Value Audit

🟡 blueprint-remote-providers dev-dep could use workspace = true [maintenance] ``

crates/blueprint-remote-providers/Cargo.toml:102 declares coset = { version = "0.4" } directly in [dev-dependencies] even though the workspace root (Cargo.toml:298) already declares coset. crates/tee/Cargo.toml:56 already follows the workspace pattern (coset = { workspace = true, optional = true }). Since this PR is editing exactly that line, it could centralize to coset = { workspace = true } to avoid future version drift (the 0.3→0.4 bump had to be made in two places for exactly this rea


What this audit checks

It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.

Pass What it asks
Heuristic Vague title? Whitespace-only or cruft-bearing diff? (content signals only)
Duplication Do added function/class names already exist elsewhere in the repo?
Value Audit What does it do? What goal does it achieve? Is it good? Better architecture or already-exists?
Usefulness Audit Does it integrate and fit? Will it hold up in real use and actually get used?

Findings are concerns, not blocks — the human reviewer decides what to do with them.

value-audit · 20260803T130808Z

@tangletools

Copy link
Copy Markdown
Contributor

✅ No Blockers — 210c24a8

Review health 100/100 · Reviewer score 92/100 · Confidence 75/100 · 1 finding (1 low)

glm deepseek deepseek-flash aggregate
Readiness 92 95 95 92
Confidence 75 75 75 75
Correctness 92 95 95 92
Security 92 95 95 92
Testing 92 95 95 92
Architecture 92 95 95 92

Reviewer score is advisory once the run is complete and the verdict has no blockers.

Full multi-shot audit completed 3/3 planned shots over 3 changed files. Global verifier still owns final merge decision. | Full multi-shot audit completed 3/3 planned shots over 3 changed files. Global verifier still owns final merge decision. | Full multi-shot audit completed 3/3 planned shots over 3 changed files. Global verifier still owns final merge decision.

🟡 LOW Dev-dep not migrated to workspace = true (pre-existing inconsistency) — crates/blueprint-remote-providers/Cargo.toml

The dev-dep uses coset = { version = "0.4" } (default features on) while the workspace dep at Cargo.toml:298 is coset = { version = "0.4", default-features = false }. Cargo unifies them and pulls default features into the test build, which is intentional and harmless for test-only code (CoseSign1Builder requires default features). This matches the existing pattern in the same dev-deps block (rsa, p384, ciborium, rcgen all pin versions directly rather than via workspace). Not blocking; flagged only for awareness — if the intent is full workspace unification, a follow-up could convert the entire block. Out of scope for this PR.


tangletools · 2026-08-03T13:41:54Z · trace

@tangletools tangletools left a comment

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.

✅ Approved — 1 non-blocking finding — 210c24a8

Full multi-shot audit completed 3/3 planned shots over 3 changed files. Global verifier still owns final merge decision. | Full multi-shot audit completed 3/3 planned shots over 3 changed files. Global verifier still owns final merge decision. | Full multi-shot audit completed 3/3 planned shots over 3 changed files. Global verifier still owns final merge decision.

Full immutable report for this review: trace

Summary comment for this run: full summary


tangletools · 2026-08-03T13:41:54Z · immutable trace

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

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant