1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[]
# `protocol` is taken on crates.io (an unrelated crate, at 3.x), so the package
# carries the prefix and every dependent renames it back with
# `package = "microvms-protocol"`. That keeps `use protocol::` compiling in all 17
# source files that name it: the rename is a manifest concern and does not reach
# the code.
= "microvms-protocol"
= "1.3.0"
= true
= true
= true
= true
= "Wire types shared by the microvms-agentd daemon and its clients"
= "README.md"
= ["microvms", "lambda", "aws", "protocol", "serde"]
= ["encoding", "virtualization"]
[]
= { = "1", = ["derive"] }
# Same pin and the same two features as the daemon carries, and for the same
# reason: `preserve_order` must stay off or the committed `docs/schema.json` stops
# being a function of the types. One version of schemars in the tree is what makes
# the generated artifact reproducible across the two crates that feed it.
= { = "1.2.2", = false, = ["derive", "std"] }
# Not a new edge in the tree — schemars already pulls `serde_json` in — but it is now
# a *runtime* one rather than only a dev one, and the reason is `RunHook::parse`.
# That function walks the payload as a `Value` instead of deriving the read, because
# the payload carries the agent token and serde's own error messages quote the value
# they rejected. Quoting a value there would put secret material into a log line and
# a response body, which is the one thing docs/TRUST.md promises never happens, so
# every refusal names a key or a shape and the walk is what makes that possible.
= "1"
[]
# No hand-written `unsafe` in this crate; a future one is a build error, not a scan finding.
= "forbid"
# `mise run semver:check` and CI's `semver` job hold this crate's API to its last release on
# crates.io (#298). A break the crate means to ship is allowed here, in
# `[package.metadata.cargo-semver-checks.lints]`, by lint and with the reason; none is allowed,
# so any break fails.