From 9b6c0129a39e70a77c6afbad23f4c970e2b5b08b Mon Sep 17 00:00:00 2001 From: Peter Bower <37089506+pbower@users.noreply.github.com> Date: Thu, 23 Jul 2026 07:25:00 +0100 Subject: [PATCH] Hot fix release 0.16.2: fix TextArrayV String conversions without large_string --- CHANGELOG.md | 5 +++++ Cargo.lock | 2 +- Cargo.toml | 2 +- minarrow-py/Cargo.lock | 6 +++--- pyo3/CHANGELOG.md | 3 +++ pyo3/Cargo.lock | 4 ++-- pyo3/Cargo.toml | 4 ++-- src/structs/views/collections/text_array_view.rs | 8 ++++++++ 8 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8be10ba..d1352ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 # Minarrow Rust +## 0.16.2 - 2026-07-23 + +### Fixed +- `TextArrayV` conversions from `Vec64`, `Vec` and `&[&str]` now build a `String32` variant when the `large_string` feature is off, so the crate compiles without `large_string`. These `From` impls previously always constructed `String64`, which only exists under `large_string`, so any build that disabled the feature failed to compile. + ## 0.16.1 - 2026-07-23 ### Added diff --git a/Cargo.lock b/Cargo.lock index df68406..08d8efd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1667,7 +1667,7 @@ dependencies = [ [[package]] name = "minarrow" -version = "0.16.1" +version = "0.16.2" dependencies = [ "ahash", "arrow", diff --git a/Cargo.toml b/Cargo.toml index a99c889..bc8a4f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minarrow" -version = "0.16.1" +version = "0.16.2" edition = "2024" authors = ['Peter G. Bower'] build = "build.rs" diff --git a/minarrow-py/Cargo.lock b/minarrow-py/Cargo.lock index 4026625..c362336 100644 --- a/minarrow-py/Cargo.lock +++ b/minarrow-py/Cargo.lock @@ -28,7 +28,7 @@ checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a" [[package]] name = "minarrow" -version = "0.16.0" +version = "0.16.2" dependencies = [ "libc", "log", @@ -38,7 +38,7 @@ dependencies = [ [[package]] name = "minarrow-py" -version = "0.16.0" +version = "0.16.1" dependencies = [ "minarrow", "minarrow-pyo3", @@ -49,7 +49,7 @@ dependencies = [ [[package]] name = "minarrow-pyo3" -version = "0.16.0" +version = "0.16.2" dependencies = [ "minarrow", "pyo3", diff --git a/pyo3/CHANGELOG.md b/pyo3/CHANGELOG.md index 9d7ea73..7569896 100644 --- a/pyo3/CHANGELOG.md +++ b/pyo3/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.16.2] - 2026-07-23 +- Bumped `minarrow` dependency from 0.16.1 to 0.16.2. + ## [0.3.1] - 2026-05-26 - Bumped `minarrow` dependency from 0.11.0 to 0.12.1 diff --git a/pyo3/Cargo.lock b/pyo3/Cargo.lock index 327b125..8a24d58 100644 --- a/pyo3/Cargo.lock +++ b/pyo3/Cargo.lock @@ -28,7 +28,7 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "minarrow" -version = "0.16.1" +version = "0.16.2" dependencies = [ "libc", "log", @@ -38,7 +38,7 @@ dependencies = [ [[package]] name = "minarrow-pyo3" -version = "0.16.1" +version = "0.16.2" dependencies = [ "minarrow", "pyo3", diff --git a/pyo3/Cargo.toml b/pyo3/Cargo.toml index 2ba9c61..c63d6e5 100644 --- a/pyo3/Cargo.toml +++ b/pyo3/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "minarrow-pyo3" -version = "0.16.1" +version = "0.16.2" edition = "2024" authors = ['Peter G. Bower'] license = "Apache-2.0" @@ -24,7 +24,7 @@ name = "minarrow_pyo3" crate-type = ["cdylib", "rlib"] [dependencies] -minarrow = { version = "0.16.1", path = "..", features = ["large_string"] } +minarrow = { version = "0.16.2", path = "..", features = ["large_string"] } pyo3 = { version = "0.29" } thiserror = "2" diff --git a/src/structs/views/collections/text_array_view.rs b/src/structs/views/collections/text_array_view.rs index d23500f..20fe911 100644 --- a/src/structs/views/collections/text_array_view.rs +++ b/src/structs/views/collections/text_array_view.rs @@ -295,9 +295,14 @@ impl From for TextArrayV { impl From> for TextArrayV { fn from(strings: vec64::Vec64) -> Self { + #[cfg(feature = "large_string")] let array = TextArray::String64(Arc::new(StringArray::::from_vec64_owned( strings, None, ))); + #[cfg(not(feature = "large_string"))] + let array = TextArray::String32(Arc::new(StringArray::::from_vec64_owned( + strings, None, + ))); TextArrayV::from(array) } } @@ -311,7 +316,10 @@ impl From> for TextArrayV { impl<'a> From<&'a [&'a str]> for TextArrayV { fn from(strings: &'a [&'a str]) -> Self { + #[cfg(feature = "large_string")] let array = TextArray::String64(Arc::new(StringArray::::from_slice(strings))); + #[cfg(not(feature = "large_string"))] + let array = TextArray::String32(Arc::new(StringArray::::from_slice(strings))); TextArrayV::from(array) } }