Publishing CLI tools, crates, and versions
When a C project is shipped to other people, the hard part is often not whether the source builds. The hard part is the contract around it:
How is the tool installed into PATH?
Where do the headers and libraries go?
Which version should users link against?
Will an upgrade break existing code?
Does a public API change count as compatible?
Can the binary ABI remain stable over time?
Rust has the same questions, but the shipped object usually falls into one of three groups:
Read More