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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
This checklist is the source of truth for what is published to crates.io and
what must stay private during a release cut.
The following package manifests are intentionally non-public and must keep
`publish = false` under `[package]`:
- -----------------
Do not publish example crates such as `hopper-vault`, `hopper-parity-vault`, or
`hopper-policy-vault` unless the release explicitly promotes them as public
starter templates and their manifests receive complete crates.io metadata first.
Every package intended for crates.io must have complete crates.io metadata in
`[package]` before publishing:
- -------
Publish the public Hopper crates in this dependency order. Run
`cargo publish --dry-run -p <package>` before each real publish and wait for
crates.io indexing before publishing the next dependent crate.
1. 2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.
`hopper-cli` is intentionally published after `hopper-manager` and
`hopper-schema` have indexed because it depends on both. The top-level
framework package publishes as `hopper-framework` because the crates.io
`hopper` package name is occupied by an unrelated crate; consumers should alias
it back to `hopper` in `Cargo.toml` with `hopper = { package = "hopper-framework", ... }`.