tustvold commented on issue #5368:
URL: https://github.com/apache/arrow-rs/issues/5368#issuecomment-2074491789

   The issue is defined in more detail here - 
https://doc.rust-lang.org/cargo/reference/resolver.html#version-incompatibility-hazards
   
   And further expanded upon here - 
https://github.com/dtolnay/semver-trick?tab=readme-ov-file#coordinated-upgrades
   
   Basically say a user has a dependency on pyo3 0.20 in their project, as soon 
as we publish a minor release their project will start failing to build 
(assuming no lockfile) with a thoroughly opaque error about two identically 
named types not being equal. Rustc does actually hint at what the issue might 
be, but unless people happen to know cargo's somewhat peculiar versioning 
behaviour, it can be not very obvious. In the past people have filled issues on 
this repo or pinged maintainers on discord/slack.
   
   The rust docs are fairly unambiguous that the correct response to this is to 
yank the release - 
https://doc.rust-lang.org/cargo/reference/resolver.html#semver-breaking-patch-release-breaks-the-build
   
   Whilst I agree it is unfortunate, and I had really hoped to avoid this 
release being breaking, I'm not really sure we can just pretend it isn't a 
breaking change...
   
   _Ultimately we should still be `0.x.x` as we expose `0.x.x` crates in our 
public APIs, but we are because the release cycle used to be synced with arrow 
proper which does quarterly breaking releases._


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to