knurling-rs / defmt

Efficient, deferred formatting for logging on embedded systems
https://defmt.ferrous-systems.com/
Apache License 2.0
750 stars 69 forks source link

Define an MSRV #819

Open MabezDev opened 3 months ago

MabezDev commented 3 months ago

The readme states the MSRV is the latest stable Rust, but I think now that defmt is a staple in the embedded-rust ecosystem you should consider picking an MSRV and only bumping when needed (and subsequently bumping the version in a semver compatible way too).

Urhengulas commented 3 months ago

How is this handled usually? Do we build and test against the latest stable and the MSRV in CI?

subsequently bumping the version in a semver compatible way too

What do you mean by that? Would you consider it a breaking change if the MSRV is bumped?

MabezDev commented 3 months ago

How is this handled usually? Do we build and test against the latest stable and the MSRV in CI?

Yes.

What do you mean by that? Would you consider it a breaking change if the MSRV is bumped?

There doesn't seem to be a clear answer here, at least upstream Rust hasn't taken a stance. In general though, unless defmt needs to opt in to new features, keeping MSRV as latest STABLE seems a bit silly, especially since defmt is used so widely in the ecosystem.

thejpster commented 1 month ago

I suspect we'll tie the MSRV to Ferrocene's upstream equivalents.