Coordinated versioning between crates with different owners
⚓ Rust 📅 2026-02-28 👤 surdeus 👁️ 1I have a question about versioning of crates that are not published by the same person or organizations, but are designed to be used together in an application.
Specifically, I created a crate plotters-wxdragon that is a backend for plotters. My first thought is that this crate should have its own versioning, since it cannot follow the versions of both plotters and wxdragon crates.
But the documentation of plotters-backend (which defines the interface that my crate implements for plotter compatibility) recommends the following:
We also impose a versioning rule with
plottersand some backends: The compatible main crate (plotters) and this crate (plotters-backend) are always use the same major and minor version number. All the plotters main crate and second-party backends with version “x.y.*” should be compatible, and they should depens on the latest version ofplotters-backend x.y.*
I understand that plotters-xxx backends developed under the "plotters" organization follow a same-version principle, but it is not really desirable to do so in third-party backends.
Do you have any thoughts on this?
3 posts - 2 participants
🏷️ Rust_feed