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]
