alamb opened a new issue, #9082:
URL: https://github.com/apache/arrow-datafusion/issues/9082

   ### Is your feature request related to a problem or challenge?
   
   As crates that DataFusion depends on release new versions, sometimes they 
require newer versions of Rust than the minimum supported by DataFusion. This 
means we can't update to those newer libraries. Recent examples:
   
   *  The latest version, `ahash`, requires 1.75 and we will hit problems 
sooner or later per @ozankabak 
   * env_logger needs a newer version of Rust: 
https://github.com/apache/arrow-datafusion/pull/8944
   * @Ted-Jiang also found an issue with Rust lower than 1.72: 
https://github.com/apache/arrow-datafusion/issues/8743 
   
   However, we have no "MSRV" policy that says when we should update the MSRV 
so it isn't clear when we should increase the version, in issues like 
https://github.com/apache/arrow-datafusion/pull/8997
   
   We currently have a MSRV of 1.70 which seems to have been released about 6 
months ago: 
https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1700-2023-06-01
 and we are starting to hit dependencies that require new versions
   
   
   ## Background
   
   DataFusion now has a minimum supported rust version that we test with a CI 
run: 
https://github.com/apache/arrow-datafusion/blob/15f59d9861082a4d5d39bddce63d81cc7b9fb299/.github/workflows/rust.yml#L496
   
   And the minimum supported rust version is defined in Cargo.toml 
https://github.com/apache/arrow-datafusion/blob/15f59d9861082a4d5d39bddce63d81cc7b9fb299/Cargo.toml#L31
   
   And we document what we test: 
https://github.com/apache/arrow-datafusion?tab=readme-ov-file#rust-version-compatibility
   
   🎉 
   
   
   
   ### Describe the solution you'd like
   
   I propose we adopt a policy of "last two stable version of Rust" which will 
result in DataFusion being close to but not quite bleeding edge and  compatible 
with most of the rest of the crate ecosystem
   
   This would result in DataFusion upgrading the MSRV roughly every 6 weeks, 
given the most recent release history of Rust 
   https://github.com/rust-lang/rust/blob/master/RELEASES.md
   
   ### Describe alternatives you've considered
   
   We could also adopt a policy like "Stable version of rust that is at least 3 
months old" (or 6 months)
   
   So for example, a 6 month policy at the time of writing, 2024-01-31, would 
mean supporting:
   * 1.75: 
https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1750-2023-12-28
   * 1.74: ...
   * ...
   * 1.72 (released 2023-08-24) 
https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1720-2023-08-24
   
   
   
   ### Additional context
   
   I think our previous convention (due to testing constraints) was simply to 
support the most recent version of rust


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