AldaronLau / png_pong

A pure Rust PNG image decoder and encoder based on lodepng.
https://docs.rs/png_pong
Apache License 2.0
26 stars 3 forks source link

MSRV addition #22

Closed dkozma closed 8 months ago

dkozma commented 8 months ago

Is your feature request related to a problem? Please describe. I noticed that as part of the latest release (thank you by the way) the MSRV was updated to 1.77. We use this as a dependency of our SDK, and try not to force people into the most bleeding edge version of Rust if possible, since people may not have upgraded. After trying to upgrade to png_pong v0.9.0 to fix a bug, our tests failed since we test on Rust 1.75 to ensure compatibility with older clients.

Describe the solution you'd like I was wondering if the latest version needs 1.77 to function, or if this is an arbitrary requirement that is open to change/input - I also see that the MSRV policy says the following, so I didn't know if this was temporary:

The current MSRV policy only supports the most recent Rust. This will be changed in the future.

If you are open to changing it and there are no technical requirements to requiring 1.77, would it be possible to relax the requirement to something such as 1.73 (or even 1.75) for wider compatibility?

Describe alternatives you've considered Upgrading our library to use 1.77, which would require code changes plus possibly render our versions incompatible with a subset of the population.

Additional context N/A

AldaronLau commented 8 months ago

I can lower it, there's just no testing in place yet for older Rust versions, so I marked it as the most recent version. I'm willing to go down to 1.65 if needed. Although, I wonder what policy makes sense, would you prefer support on current Rust - 4 versions back, or some other policy for when png_pong can upgrade MSRV?

dkozma commented 8 months ago

N-4 sounds good to me, and is a fair balance from my perspective. Thanks for considering this.

AldaronLau commented 8 months ago

I'm planning on applying this MSRV policy to share across different crates I maintain, so png_pong will use this as well:

https://github.com/ardaku/.github/blob/05a83745d9366a78da6c1680256c3fc76a9f50d3/profile/MSRV.md

AldaronLau commented 8 months ago

Just released PNG Pong 0.9.1!

https://crates.io/crates/png_pong/0.9.1

https://github.com/AldaronLau/png_pong/releases/tag/v0.9.1