Xuanwo commented on PR #6337:
URL: https://github.com/apache/arrow-rs/pull/6337#issuecomment-2323184864

   > DataFusion needs to use prost version matching arrow-flight, or there can 
be difficult to understand errors.
   > This limited ability to update prost there 
[apache/datafusion#12237](https://github.com/apache/datafusion/pull/12237).
   > Can the semver always be trusted, i.e. should different patch versions be 
_assumed_ to be always compatible?
   
   Hi, as long as all of those crates depend on `prost 0.12`, regardless of 
which patch they are using, we will ultimately pick the latest one. For 
example, if `arrow` depends on `prost 0.12` and `datafusion` depends on `prost 
0.12.2`, the application built by `datafusion` will use `prost 0.12.2` instead. 
Cargo will always merge all semver-compatible versions into one. It should be 
treated as a bug if crate maintainers have incompatibilities in this case.
   
   > Secondly, if we defer the patch version update here to give downstream 
projects more freedom, when do we do it? "Never" sounds like a wrong answer, so 
what would the rule be?
   
   We are not postponing the patch version update. Instead, we are letting the 
downstream project decide. Regardless of our actions, the downstream can update 
`prost` according to their own requirements.
   
   For more information about dependency versions, we can visit 
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-cratesio
   
   ---
   
   Please let me know if I misunderstood your motivation. Thank you!


-- 
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