Skip to content

Bump MSRV to 1.88#10254

Open
alamb wants to merge 7 commits into
apache:mainfrom
alamb:codex/issue-10226-bump-msrv-1-88
Open

Bump MSRV to 1.88#10254
alamb wants to merge 7 commits into
apache:mainfrom
alamb:codex/issue-10226-bump-msrv-1-88

Conversation

@alamb

@alamb alamb commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

This implements the suggestion from #10226 (comment) to bump the MSRV from Rust 1.85 to Rust 1.88 for the next major release.

What changes are included in this PR?

  • Updates the workspace MSRV to 1.88.
  • Updates the standalone pyarrow testing crate MSRV pins to 1.88.
  • Removes now-unnecessary std::mem::transmute workarounds in arrow-array that were only needed because const f32::from_bits and f64::from_bits were unavailable under the previous MSRV.

Are there any user-facing changes?

Users building arrow-rs crates will need Rust 1.88 or newer.

How was this tested?

CI

@github-actions github-actions Bot added the arrow Changes to the arrow crate label Jul 1, 2026
@github-actions github-actions Bot added parquet Changes to the parquet crate arrow-flight Changes to the arrow-flight crate parquet-variant parquet-variant* crates labels Jul 1, 2026
n.len(),
)));
}
if let Some(n) = nulls.as_ref()

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating MSRV requires updating clippy as well

"encountered non UTF-8 data".to_string(),
));
}
if validate_utf8 && let Some(&b) = data.first() {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is all basically driven by the introduction of let chains

Comment thread Cargo.toml
]
edition = "2024"
rust-version = "1.85"
rust-version = "1.88"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the main change of this PR

@github-actions github-actions Bot added the arrow-avro arrow-avro crate label Jul 1, 2026
@alamb alamb marked this pull request as ready for review July 1, 2026 21:37
@alamb alamb added next-major-release the PR has API changes and it waiting on the next major version api-change Changes to the arrow API labels Jul 1, 2026

@Jefffrey Jefffrey left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also found this note in the codebase which could also be resolved in this PR

/// Equivalent to [`garbage_collect_dictionary`] but without requiring casting to a specific key type.
pub fn garbage_collect_any_dictionary(
dictionary: &dyn AnyDictionaryArray,
) -> Result<ArrayRef, ArrowError> {
// FIXME: this is a workaround for MSRV Rust versions below 1.86 where trait upcasting is not stable.
// From 1.86 onward, `&dyn AnyDictionaryArray` can be directly passed to `downcast_dictionary_array!`.
let dictionary = &*dictionary.slice(0, dictionary.len());
downcast_dictionary_array!(
dictionary => garbage_collect_dictionary(dictionary).map(|dict| Arc::new(dict) as ArrayRef),
_ => unreachable!("have a dictionary array")
)
}

Comment thread parquet/src/arrow/array_reader/fixed_len_byte_array.rs Outdated
alamb and others added 3 commits July 2, 2026 06:47
Co-authored-by: Jeffrey Vo <jeffrey.vo.australia@gmail.com>
…p-msrv-1-88

# Conflicts:
#	parquet/src/arrow/arrow_writer/mod.rs
@alamb

alamb commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

also found this note in the codebase which could also be resolved in this PR

in c92f581

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-change Changes to the arrow API arrow Changes to the arrow crate arrow-avro arrow-avro crate arrow-flight Changes to the arrow-flight crate next-major-release the PR has API changes and it waiting on the next major version parquet Changes to the parquet crate parquet-derive parquet-variant parquet-variant* crates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants