Skip to content

chore(deps): move the workspace to the published head (trql-client 0.16, vta-sdk 0.35, TDK 0.13) - #38

Merged
stormer78 merged 2 commits into
mainfrom
deps/trql-client-0.16
Sep 10, 2026
Merged

chore(deps): move the workspace to the published head (trql-client 0.16, vta-sdk 0.35, TDK 0.13)#38
stormer78 merged 2 commits into
mainfrom
deps/trql-client-0.16

Conversation

@stormer78

@stormer78 stormer78 commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

What

Moves the workspace onto the published head of the stack. Two commits:

  1. trql-client git rev"0.16" — retires the pin now that the registry has published, and removes the last git dependency from the lockfile.
  2. vta-sdk 0.34 → 0.35, affinidi-tdk 0.12 → 0.13 — the line VTI main runs and the registry merged onto in #133.

Plus cargo update for the transitive set. No source change was needed for either step.

Commit 1 — retire the git pin

trql-client was pinned to a git rev because the last published version (0.14.0) declared trust-tasks-rs ^0.9 against a stack on ^0.17. The registry has now published through 0.16.0. The rev → 0.16.0 diff touches only trql-client/src/client.rs, and only to route builder failures through one payload_build_error helper — none of the symbols verify-trust imports changed.

cargo publish rejects git dependencies outright, so publish.yml could not have got past the manifest on a release tag while the rev stood. That blocker is gone (see caveats for the one that remains).

Commit 2 — vta-sdk 0.35 / TDK 0.13

⚠️ This one leads the consumer instead of following it — knowingly, and the manifest now records it as a temporary, known break rather than a new licence to lead.

Workspace vta-sdk TDK trust-tasks
VTI main 0.35 0.13 0.19.4
this PR 0.35 0.13 0.19.4 (+0.18.11, below)
OpenVTC main 0.34.1 0.12 0.18.5

OpenVTC is still a minor behind with no branch in flight. Until it moves, a build taking both did-git-sign and vta-sdk directly resolves 0.34.1 and 0.35.0 together — and vti-common re-exports vta_sdk::acl::{ActScope, ApproveScope, ContextDirection} as its own public API, so those copies carry types that cannot unify. OpenVTC needs a follow-up move to 0.35; that debt is the thing to clear next.

Known duplicate

trust-tasks-rs splits as a side effect — trql-client 0.16 declares ^0.18, vta-sdk 0.35 declares ^0.19.4:

trust-tasks-rs v0.18.11
└── trql-client v0.16.0
    └── verify-trust

with every other consumer on 0.19.4. This is the narrowed, historically tolerated shape: verify-trust passes no trust-tasks type across trql-client's HTTPS transport, and did-git-sign — the crate OpenVTC consumes — has no trql-client edge at all (cargo tree -p did-git-sign | grep -c trql0), so the duplicate never reaches a graph where a type has to unify.

trql-client 0.17.0 is the fix: merged upstream as registry d99228a (#133), declares ^0.19.4, collapses the tree to one copy. It is not taken here as a git rev — that would re-block cargo publish at the manifest, which commit 1 just cleared, to buy a duplicate that is already tolerable. Bump to "0.17" when it reaches crates.io; I verified the coupled move locally (single trust-tasks-rs 0.19.4, clippy and tests green, no source change).

Testing

cargo fmt --all --check, cargo check --workspace, cargo clippy --workspace --all-targets -- -D warnings, cargo test --workspace (136 pass), and cargo +1.95.0 check --workspace for MSRV — all clean.

Pre-existing, not fixed here

Both present on main:

  • cargo audit reports RUSTSEC-2023-0071 (rsa 0.9.10 via pgp 0.20 and ssh-key 0.6). No upstream fix available; not a CI gate.
  • cargo publish --dry-run -p verify-trust still fails: the published vgi-core 0.4.7 predates signer_did / conflicting_signer_dids while the packaged build resolves it from crates.io. vgi-core needs republishing before any dependent can go out.

Follow-ups

  • Move OpenVTC to vta-sdk 0.35 / TDK 0.13 (clears the leading-the-consumer debt)
  • Bump trql-client to "0.17" once published (collapses the trust-tasks duplicate)
  • Republish vgi-core (unblocks releases)

The registry has published through trql-client 0.16.0, which is what the
`rev` pin was scaffolding for. 0.16.0 declares `trust-tasks-rs ^0.18` — the
line vta-sdk 0.34 already resolves — so this goes back to a plain version
requirement and the workspace holds one copy of trust-tasks again:

    trust-tasks-rs v0.18.11
    ├── affinidi-messaging-sdk -> affinidi-tdk -> {verify-trust, vta-sdk}
    ├── trql-client v0.16.0 -> verify-trust
    └── vta-sdk v0.34.1

Previously 0.17.3 (via the pinned rev) and 0.18.6 sat in the tree together.
The lockfile now carries no git sources at all, so `publish.yml` can get
past the manifest on a release tag; a separate, older blocker remains, noted
below.

The 0.15.0 rev -> 0.16.0 diff touches only `trql-client/src/client.rs`, and
only to route builder failures through one `payload_build_error` helper. No
symbol verify-trust imports changed, and no source change was needed here.
0.16.0 also drops the AWS SDK's legacy hyper-0.14 client from the registry's
graph, and with it the h2 0.3 / rustls 0.21 advisories it was suppressing.

`cargo update` alongside it, which floats vta-sdk 0.34.0 -> 0.34.1 and
refreshes the usual transitive set (reqwest, rustls, tokio-rustls, uuid,
wasm-bindgen, zerocopy).

vta-sdk 0.35 and affinidi-tdk 0.13 are published and deliberately not taken.
The follow-never-lead rule in the manifest cuts both ways: OpenVTC is on
vta-sdk 0.34.1 / TDK 0.12, so moving here would put two vta-sdk copies in its
binary — the break that comment exists to prevent, caused from this side. It
would also re-split trust-tasks, since vta-sdk 0.35 wants ^0.19.4 against
trql-client 0.16's ^0.18. That bump belongs in the step where OpenVTC moves.

fmt, clippy -D warnings, check and all 136 tests pass. Two things this does
not fix, both pre-existing on main: `cargo audit` reports RUSTSEC-2023-0071
(rsa 0.9.10, via pgp 0.20 and ssh-key 0.6, no fixed version available), and
`cargo publish --dry-run -p verify-trust` fails because the published
vgi-core 0.4.7 predates `signer_did` / `conflicting_signer_dids` while the
packaged build resolves it from crates.io — vgi-core needs republishing
before any dependent can go out.

Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
@affinidi-appsecurity-bot

Copy link
Copy Markdown

🛡️ AI Agentic Security Code Review — all clear. We checked this change and found nothing to report. Keep shipping secure code!

Note: for major, breaking, or feature-introducing changes, you can always request an in-depth review from the security team.

VTI main is on this line (vta-sdk 0.35, TDK 0.13, trust-tasks 0.19.4) and the
trust registry merged onto it in #133, so this moves the workspace to the
published head rather than sitting a minor behind. No source change was
needed: this crate reaches the VTA through `connect_auto` and takes display
names, and names none of the types 0.35 changed.

This one *leads* the consumer instead of following it, which is the rule the
vta-sdk comment in this manifest otherwise exists to enforce. OpenVTC main is
still on vta-sdk 0.34.1 / TDK 0.12 / trust-tasks 0.18.5 with no branch in
flight, so until it moves, a build taking both this crate and vta-sdk directly
resolves 0.34.1 and 0.35.0 together — and `vti-common` re-exports
`vta_sdk::acl::{ActScope, ApproveScope, ContextDirection}`, so those copies
carry types that cannot unify. That was accepted deliberately to get this
workspace current; OpenVTC is to be moved separately, and the manifest records
it as a known, temporary break rather than a new licence to lead.

trust-tasks-rs splits again as a side effect — trql-client 0.16 declares ^0.18
while vta-sdk 0.35 declares ^0.19.4:

    trust-tasks-rs v0.18.11
    └── trql-client v0.16.0
        └── verify-trust

with every other consumer on 0.19.4. That is the narrowed, historically
tolerated shape: verify-trust passes no trust-tasks type across trql-client's
HTTPS transport, and did-git-sign — the crate OpenVTC consumes — has no
trql-client edge at all (`cargo tree -p did-git-sign | grep -c trql` is 0), so
the duplicate never reaches a graph where a type has to unify.

trql-client 0.17.0 is the fix and is merged but not yet published (registry
d99228a, #133) — it declares ^0.19.4 and collapses the tree to one copy. It is
deliberately not taken as a git `rev`: that would re-block `cargo publish` at
the manifest, which the previous commit just cleared, to buy a duplicate that
is already tolerable. Bump to `"0.17"` when it reaches crates.io; the coupled
move was verified locally as clippy/test green with no source change.

fmt, clippy -D warnings, check, MSRV 1.95.0 and all 136 tests pass.

Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
@stormer78 stormer78 changed the title chore(deps): take trql-client 0.16 from crates.io and retire the git pin chore(deps): move the workspace to the published head (trql-client 0.16, vta-sdk 0.35, TDK 0.13) Sep 10, 2026
@stormer78
stormer78 merged commit 07b27bf into main Sep 10, 2026
6 checks passed
@stormer78
stormer78 deleted the deps/trql-client-0.16 branch September 10, 2026 13:22
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.

2 participants