Avatar for the vortex-data user
vortex-data
vortex
BlogDocsChangelog

Performance History

Latest Results

Add focused RowFn executor benchmarks Cover RowFn executor overhead and strict validity policies with focused microbenchmarks. Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
ct/row-fn-api
41 minutes ago
Lock file maintenance
renovate/lock-file-maintenance-rust-lock-file-maintenance
59 minutes ago
Update lance benchmark dependencies to v59
renovate/major-lance-bench
1 hour ago
Update lance benchmark dependencies (major) (#9312) > ā„¹ļø **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [lance](https://redirect.github.com/lance-format/lance) | dependencies | major | `9` → `10` | | [lance-encoding](https://redirect.github.com/lance-format/lance) | dependencies | major | `9` → `10` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/357) for more information. --- ### Release Notes <details> <summary>apache/arrow-rs (arrow-cast)</summary> ### [`v59.2.0`](https://redirect.github.com/apache/arrow-rs/blob/HEAD/CHANGELOG.md#5920---2026-08-02) [Compare Source](https://redirect.github.com/apache/arrow-rs/compare/59.1.0...59.2.0) [Full Changelog](https://redirect.github.com/apache/arrow-rs/compare/59.1.0...59.2.0) ##### Enhancements - arrow-avro: Deprecate object\_store integration by [@&#8203;brancz](https://redirect.github.com/brancz) in [#&#8203;10484](https://redirect.github.com/apache/arrow-rs/pull/10484) - chore(arrow): add unchecked array builder methods by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10440](https://redirect.github.com/apache/arrow-rs/pull/10440) - feat(arrow-ipc): add sans-IO stream encoder by [@&#8203;Phoenix500526](https://redirect.github.com/Phoenix500526) in [#&#8203;10277](https://redirect.github.com/apache/arrow-rs/pull/10277) - chore(arrow-cast): support suffix white space in arrow-cast parse by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10396](https://redirect.github.com/apache/arrow-rs/pull/10396) - feat(coalesce): add size function by [@&#8203;rluvaton](https://redirect.github.com/rluvaton) in [#&#8203;10331](https://redirect.github.com/apache/arrow-rs/pull/10331) - fix(parquet): support mask filtering across skipped pages by [@&#8203;hhhizzz](https://redirect.github.com/hhhizzz) in [#&#8203;10288](https://redirect.github.com/apache/arrow-rs/pull/10288) - chore(arrow-cast): support white space prefixed parse for ints and floats by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10374](https://redirect.github.com/apache/arrow-rs/pull/10374) - chore(arrow-buffer): Make more of i256 available in const code by [@&#8203;AdamGS](https://redirect.github.com/AdamGS) in [#&#8203;10363](https://redirect.github.com/apache/arrow-rs/pull/10363) - feat(arrow-array): Expose builder buffer capacity accessors by [@&#8203;Weijun-H](https://redirect.github.com/Weijun-H) in [#&#8203;10342](https://redirect.github.com/apache/arrow-rs/pull/10342) - feat(arrow-arith): Add interval multiplication by i64 by [@&#8203;peterxcli](https://redirect.github.com/peterxcli) in [#&#8203;10336](https://redirect.github.com/apache/arrow-rs/pull/10336) - fix: Make `parquet-index` work with column paths by [@&#8203;korowa](https://redirect.github.com/korowa) in [#&#8203;10330](https://redirect.github.com/apache/arrow-rs/pull/10330) - feat(arrow-csv): add support for parsing `Float16` by [@&#8203;Glatzel](https://redirect.github.com/Glatzel) in [#&#8203;10343](https://redirect.github.com/apache/arrow-rs/pull/10343) - Remove the unmaintained paste dependency from arrow by [@&#8203;Phoenix500526](https://redirect.github.com/Phoenix500526) in [#&#8203;10303](https://redirect.github.com/apache/arrow-rs/pull/10303) - chore: formalize the default map field names to match default arrow spec by [@&#8203;rluvaton](https://redirect.github.com/rluvaton) in [#&#8203;10297](https://redirect.github.com/apache/arrow-rs/pull/10297) - feat(variant): Add `variant_to_arrow` `Map` type support by [@&#8203;sdf-jkl](https://redirect.github.com/sdf-jkl) in [#&#8203;10307](https://redirect.github.com/apache/arrow-rs/pull/10307) ##### Bug fixes - fix(arrow-schema): Persist dictionary ordered flag on FFI schema import by [@&#8203;borchero](https://redirect.github.com/borchero) in [#&#8203;10514](https://redirect.github.com/apache/arrow-rs/pull/10514) - fix(arrow-json): validate ListView child nullability by [@&#8203;dk3yyyy](https://redirect.github.com/dk3yyyy) in [#&#8203;10486](https://redirect.github.com/apache/arrow-rs/pull/10486) - fix(arrow-json): validate map value nullability by [@&#8203;subotac](https://redirect.github.com/subotac) in [#&#8203;10475](https://redirect.github.com/apache/arrow-rs/pull/10475) - avro: bound VLQDecoder::long against overlong varints by [@&#8203;STiFLeR7](https://redirect.github.com/STiFLeR7) in [#&#8203;10407](https://redirect.github.com/apache/arrow-rs/pull/10407) - arrow-row: Fix decode\_fixed\_size\_list to apply the corrected\_type step for dictionary children by [@&#8203;zhuqi-lucas](https://redirect.github.com/zhuqi-lucas) in [#&#8203;10414](https://redirect.github.com/apache/arrow-rs/pull/10414) - \[Variant] make `value` mandatory field for `VariantArray`/`ShreddingState` by [@&#8203;sdf-jkl](https://redirect.github.com/sdf-jkl) in [#&#8203;10318](https://redirect.github.com/apache/arrow-rs/pull/10318) - fix off by one error for slice accounting by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10406](https://redirect.github.com/apache/arrow-rs/pull/10406) - fix: `GenericByteViewArray::gc()` drops inline views on the multi-buffer slow path by [@&#8203;adriangb](https://redirect.github.com/adriangb) in [#&#8203;10287](https://redirect.github.com/apache/arrow-rs/pull/10287) - fix(arrow-json): render coerced f32 as its value in the string decoder by [@&#8203;hareshkh](https://redirect.github.com/hareshkh) in [#&#8203;10386](https://redirect.github.com/apache/arrow-rs/pull/10386) - fix(arrow-cast): make `b64_encode` reject invalid UTF-8 from misbehaving `Engine` impls by [@&#8203;bit2swaz](https://redirect.github.com/bit2swaz) in [#&#8203;10324](https://redirect.github.com/apache/arrow-rs/pull/10324) - fix: take FFI\_ArrowArrayStream errno values from libc by [@&#8203;fornwall](https://redirect.github.com/fornwall) in [#&#8203;10299](https://redirect.github.com/apache/arrow-rs/pull/10299) - fix(arrow-data): allow full dictionary key range when concatenating by [@&#8203;raphaelroshan](https://redirect.github.com/raphaelroshan) in [#&#8203;10323](https://redirect.github.com/apache/arrow-rs/pull/10323) - Don't panic on invalid c ffi schema name by [@&#8203;robert3005](https://redirect.github.com/robert3005) in [#&#8203;10328](https://redirect.github.com/apache/arrow-rs/pull/10328) - fix(REE): check upfront if sorting empty array or 0 limit by [@&#8203;Jefffrey](https://redirect.github.com/Jefffrey) in [#&#8203;10293](https://redirect.github.com/apache/arrow-rs/pull/10293) - fix(arrow-avro): bound untrusted OCF block size and item counts by [@&#8203;miniex](https://redirect.github.com/miniex) in [#&#8203;10237](https://redirect.github.com/apache/arrow-rs/pull/10237) - fix(arrow-array): disallow creating `MapArray` with nullable key field by [@&#8203;rluvaton](https://redirect.github.com/rluvaton) in [#&#8203;10272](https://redirect.github.com/apache/arrow-rs/pull/10272) - fix: don't panic on `ArrayData::try_new` on bad input even when `force_validate` feature is on by [@&#8203;rluvaton](https://redirect.github.com/rluvaton) in [#&#8203;10282](https://redirect.github.com/apache/arrow-rs/pull/10282) ##### Performance improvements - perf(parquet): slice up contiguous buffer for decimals and fsb by [@&#8203;MassivePizza](https://redirect.github.com/MassivePizza) in [#&#8203;10364](https://redirect.github.com/apache/arrow-rs/pull/10364) - feat(parquet): `RowSelection` can be backed by a `BooleanBuffer` by [@&#8203;haohuaijin](https://redirect.github.com/haohuaijin) in [#&#8203;10141](https://redirect.github.com/apache/arrow-rs/pull/10141) - perf(parquet): use Cursor in ZSTDCodec to avoid Vec alloc and copy by [@&#8203;MassivePizza](https://redirect.github.com/MassivePizza) in [#&#8203;10345](https://redirect.github.com/apache/arrow-rs/pull/10345) - optimize(parquet): Nested list batching child.write calls by [@&#8203;mapleFU](https://redirect.github.com/mapleFU) in [#&#8203;10085](https://redirect.github.com/apache/arrow-rs/pull/10085) - perf(parquet): splice buffered pages with `write_all` instead of `io::copy` (adapts [#&#8203;10052](https://redirect.github.com/apache/arrow-rs/issues/10052)) by [@&#8203;adriangb](https://redirect.github.com/adriangb) in [#&#8203;10353](https://redirect.github.com/apache/arrow-rs/pull/10353) - hoist calls for null\_sentinel by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10356](https://redirect.github.com/apache/arrow-rs/pull/10356) - perf: speed up substring\_by\_char with an ASCII fast path and single-pass bounds by [@&#8203;andygrove](https://redirect.github.com/andygrove) in [#&#8203;10334](https://redirect.github.com/apache/arrow-rs/pull/10334) - Cache encoded field name in FieldEncoder by [@&#8203;MassivePizza](https://redirect.github.com/MassivePizza) in [#&#8203;10296](https://redirect.github.com/apache/arrow-rs/pull/10296) - perf: allow users to skip utf8 validation in arrow-row by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10319](https://redirect.github.com/apache/arrow-rs/pull/10319) - perf: Improve decimal addition and subtraction when scale is equal by [@&#8203;AdamGS](https://redirect.github.com/AdamGS) in [#&#8203;10333](https://redirect.github.com/apache/arrow-rs/pull/10333) - optimize(interleave): implement interleave for FixedSizeList/Map type by [@&#8203;mapleFU](https://redirect.github.com/mapleFU) in [#&#8203;10046](https://redirect.github.com/apache/arrow-rs/pull/10046) - Perf: Pre-size buffer allocations to avoid intermediate allocations by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10262](https://redirect.github.com/apache/arrow-rs/pull/10262) - Perf: create dictionary reader config and default unsafeflag to false by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10260](https://redirect.github.com/apache/arrow-rs/pull/10260) - Perf: Introduce zero copy path when tonic returns an aligned buffer by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10273](https://redirect.github.com/apache/arrow-rs/pull/10273) - Validate short view strings in separate buffer in arrow-row by [@&#8203;Jefffrey](https://redirect.github.com/Jefffrey) in [#&#8203;10250](https://redirect.github.com/apache/arrow-rs/pull/10250) ##### Documentation updates - chore(parquet): add link to ticket in object\_store deprecation message by [@&#8203;alamb](https://redirect.github.com/alamb) in [#&#8203;10502](https://redirect.github.com/apache/arrow-rs/pull/10502) - chore(avro): add link to ticket in object\_store deprecation message by [@&#8203;alamb](https://redirect.github.com/alamb) in [#&#8203;10503](https://redirect.github.com/apache/arrow-rs/pull/10503) - docs: clarify decimal negative scale behavior by [@&#8203;ByteBaker](https://redirect.github.com/ByteBaker) in [#&#8203;10304](https://redirect.github.com/apache/arrow-rs/pull/10304) - Docs: fix mutableArrayData comments by [@&#8203;Rich-T-kid](https://redirect.github.com/Rich-T-kid) in [#&#8203;10326](https://redirect.github.com/apache/arrow-rs/pull/10326) - docs: trim release schedule for released versions by [@&#8203;alamb](https://redirect.github.com/alamb) in [#&#8203;10280](https://redirect.github.com/apache/arrow-rs/pull/10280) - Align parquet-geospatial crate docs with README by [@&#8203;paleolimbot](https://redirect.github.com/paleolimbot) in [#&#8203;10302](https://redirect.github.com/apache/arrow-rs/pull/10302) ##### Miscellaneous - Revert "chore: formalize the default map field names to match default arrow spec ([#&#8203;10297](https://redirect.github.com/apache/arrow-rs/issues/10297))" by [@&#8203;alamb](https://redirect.github.com/alamb) in [#&#8203;10506](https://redirect.github.com/apache/arrow-rs/pull/10506) - parquet: deprecate explicit `object_store` integration by [@&#8203;brancz](https://redirect.github.com/brancz) in [#&#8203;10354](https://redirect.github.com/apache/arrow-rs/pull/10354) - fix(parquet): restore opaque return type for `RowSelection::iter` by [@&#8203;haohuaijin](https://redirect.github.com/haohuaijin) in [#&#8203;10450](https://redirect.github.com/apache/arrow-rs/pull/10450) - refactor(parquet): split `arrow_reader/selection` into smaller modules by [@&#8203;haohuaijin](https://redirect.github.com/haohuaijin) in [#&#8203;10434](https://redirect.github.com/apache/arrow-rs/pull/10434) - chore: deduplicate filter nulls code in coalesce/filter kernel by [@&#8203;Jefffrey](https://redirect.github.com/Jefffrey) in [#&#8203;10348](https://redirect.github.com/apache/arrow-rs/pull/10348) - chore: remove parquet dependency from parquet\_derive by [@&#8203;ByteBaker](https://redirect.github.com/ByteBaker) in [#&#8203;10327](https://redirect.github.com/apache/arrow-rs/pull/10327) ### [`v59.1.0`](https://redirect.github.com/apache/arrow-rs/blob/HEAD/CHANGELOG.md#5910-2026-07-03) [Compare Source](https://redirect.github.com/apache/arrow-rs/compare/59.0.0...59.1.0) [Full Changelog](https://redirect.github.com/apache/arrow-rs/compare/59.0.0...59.1.0) **Implemented enhancements:** - Fast path for nested `DictionaryArray` casting [#&#8203;10247](https://redirect.github.com/apache/arrow-rs/issues/10247) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - parquet/arrow: reading multiple nested columns fails with "Not all children array length are the same!" when a list continues across DataPageV2 page boundary [#&#8203;10243](https://redirect.github.com/apache/arrow-rs/issues/10243) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Add product aggregate kernel to arrow-rs [#&#8203;10150](https://redirect.github.com/apache/arrow-rs/issues/10150) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Stricter `DataType` parsing [#&#8203;10146](https://redirect.github.com/apache/arrow-rs/issues/10146) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Support validating CSV headers against Schema [#&#8203;10143](https://redirect.github.com/apache/arrow-rs/issues/10143) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - arrow-ipc: Supports compression level configuration for arrow-ipc writer [#&#8203;10132](https://redirect.github.com/apache/arrow-rs/issues/10132) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - \[Variant] `VariantArray` field API naming [#&#8203;10093](https://redirect.github.com/apache/arrow-rs/issues/10093) - Add `StructArray::field_` APIs symmetric to `StructArray::column_` ones [#&#8203;10092](https://redirect.github.com/apache/arrow-rs/issues/10092) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - arrow-buffer: implement Saturating, CheckedShl, Not num-traits for i256 [#&#8203;10087](https://redirect.github.com/apache/arrow-rs/issues/10087) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - feat: native concat for `MapArray` [#&#8203;10047](https://redirect.github.com/apache/arrow-rs/issues/10047) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - \[Variant] Add `variant_to_arrow` `Dictionary/REE` type support [#&#8203;10013](https://redirect.github.com/apache/arrow-rs/issues/10013) **Fixed bugs:** - arrow-row on fixed size binary/list with size 0 and no nulls return wrong length [#&#8203;10270](https://redirect.github.com/apache/arrow-rs/issues/10270) - casting list to 0-size fixedsizelist can cause incorrect output length [#&#8203;10227](https://redirect.github.com/apache/arrow-rs/issues/10227) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Buffer count mismatched with metadata when encoding records with dictionary of dictionaries [#&#8203;10213](https://redirect.github.com/apache/arrow-rs/issues/10213) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - `Buffer::into_mutable` is not consistent regarding sliced data and can lead to panics [#&#8203;10117](https://redirect.github.com/apache/arrow-rs/issues/10117) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - parquet\_derive: cannot read or write columns whose name is a Rust keyword (raw identifiers like r#type become column "r#type") [#&#8203;10112](https://redirect.github.com/apache/arrow-rs/issues/10112) - parquet: fix OffsetBuffer panic on corrupt input [#&#8203;10107](https://redirect.github.com/apache/arrow-rs/issues/10107) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Parquet geospatial conversion uses metadata key "algorithm" instead of "edges" in geoarrow metadata [#&#8203;9929](https://redirect.github.com/apache/arrow-rs/issues/9929) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] **Documentation updates:** - doc: More comments to `concat_batches` [#&#8203;10178](https://redirect.github.com/apache/arrow-rs/pull/10178) ([2010YOUY01](https://redirect.github.com/2010YOUY01)) - Minor: improve PageStore docs with a temp-file spilling example [#&#8203;10074](https://redirect.github.com/apache/arrow-rs/pull/10074) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([alamb](https://redirect.github.com/alamb)) **Performance improvements:** - perf: interleave\_list for List\<Primitive> could be optimized? [#&#8203;10022](https://redirect.github.com/apache/arrow-rs/issues/10022) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - perf(arrow-ord): Avoid full index materialization for small-limit lexsorts [#&#8203;9990](https://redirect.github.com/apache/arrow-rs/issues/9990) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Replace conversion of binary->string in arrow-row from arraydata to direct construction [#&#8203;10261](https://redirect.github.com/apache/arrow-rs/pull/10261) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - \[arrow-flight encode path]re-use flatbufferbuilder [#&#8203;10220](https://redirect.github.com/apache/arrow-rs/pull/10220) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - \[10125] arrow-flight decode path optimizations (add `skip_validation` to arrow-flight) [#&#8203;10206](https://redirect.github.com/apache/arrow-rs/pull/10206) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - Improve performance of `concat_elements` ByteViewArray concatenation [#&#8203;10161](https://redirect.github.com/apache/arrow-rs/pull/10161) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([pepijnve](https://redirect.github.com/pepijnve)) - \[arrow-flight] Optimize flight, remove some allocations, add dictionary focused benchmarks [#&#8203;10126](https://redirect.github.com/apache/arrow-rs/pull/10126) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - optimize(concat): concat map implementation [#&#8203;10048](https://redirect.github.com/apache/arrow-rs/pull/10048) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([mapleFU](https://redirect.github.com/mapleFU)) - Reduce copies in Arrow IPC writer [#&#8203;10044](https://redirect.github.com/apache/arrow-rs/pull/10044) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - perf(interleave): Optimize list interleave\_list when child is primitive [#&#8203;10025](https://redirect.github.com/apache/arrow-rs/pull/10025) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([mapleFU](https://redirect.github.com/mapleFU)) **Closed issues:** - Soundness: Unsound alignment contract in public `FromBytes` trait and `BitReader::get_batch` [#&#8203;10164](https://redirect.github.com/apache/arrow-rs/issues/10164) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - ParquetPushDecoder: expose the next row-group index that try\_next\_reader will yield [#&#8203;10148](https://redirect.github.com/apache/arrow-rs/issues/10148) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - arrow-ipc: Extend writer benchmarks to include dictionaries [#&#8203;10119](https://redirect.github.com/apache/arrow-rs/issues/10119) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - bench(parquet): benchmark for nested list write [#&#8203;10083](https://redirect.github.com/apache/arrow-rs/issues/10083) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Support i256 implement From\<i128> [#&#8203;10080](https://redirect.github.com/apache/arrow-rs/issues/10080) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] **Merged pull requests:** - fix(arrow-row): allow to convert non empty fixed size binary/list array with size length 0 and no nulls [#&#8203;10271](https://redirect.github.com/apache/arrow-rs/pull/10271) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([rluvaton](https://redirect.github.com/rluvaton)) - chore: Fix audit CI run by ignore quick-xml audit advisories [#&#8203;10267](https://redirect.github.com/apache/arrow-rs/pull/10267) ([alamb](https://redirect.github.com/alamb)) - fix main: parquet test compilation failure [#&#8203;10266](https://redirect.github.com/apache/arrow-rs/pull/10266) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - minor: drive-by refactors for dicts in substring & filter [#&#8203;10264](https://redirect.github.com/apache/arrow-rs/pull/10264) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - Add validated row decode benchmark [#&#8203;10259](https://redirect.github.com/apache/arrow-rs/pull/10259) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://redirect.github.com/alamb)) - arrow-cast: Add optimized path for unnesting a dict [#&#8203;10248](https://redirect.github.com/apache/arrow-rs/pull/10248) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([brancz](https://redirect.github.com/brancz)) - feat: support uuid from fixed type of length 16 [#&#8203;10241](https://redirect.github.com/apache/arrow-rs/pull/10241) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([ariel-miculas](https://redirect.github.com/ariel-miculas)) - chore(deps): bump actions/cache from 6.0.0 to 6.1.0 [#&#8203;10240](https://redirect.github.com/apache/arrow-rs/pull/10240) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - fix: Rename parquet feature flag 'flate2-rust\_backened' to 'flate2-rust\_backend' [#&#8203;10239](https://redirect.github.com/apache/arrow-rs/pull/10239) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([dannycjones](https://redirect.github.com/dannycjones)) - chore: Make clippy::question\_mark happy [#&#8203;10231](https://redirect.github.com/apache/arrow-rs/pull/10231) ([Tpt](https://redirect.github.com/Tpt)) - fix(ipc): reject dictionary-encoded dictionary values [#&#8203;10230](https://redirect.github.com/apache/arrow-rs/pull/10230) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([goutamadwant](https://redirect.github.com/goutamadwant)) - Replace `ArrayData` with direct `Array` construction in `arrow-row` [#&#8203;10229](https://redirect.github.com/apache/arrow-rs/pull/10229) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - fix: casting list to fixedsizelist didn't respect input length [#&#8203;10228](https://redirect.github.com/apache/arrow-rs/pull/10228) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - chore: Fix clippy::byte\_char\_slices (use byte strings instead of explicit arrays) [#&#8203;10225](https://redirect.github.com/apache/arrow-rs/pull/10225) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Tpt](https://redirect.github.com/Tpt)) - nit: arrow-pyarrow: Use string interning [#&#8203;10224](https://redirect.github.com/apache/arrow-rs/pull/10224) ([Tpt](https://redirect.github.com/Tpt)) - Support concatenation of mixed FixedSizeBinary via `concat_elements_dyn` [#&#8203;10222](https://redirect.github.com/apache/arrow-rs/pull/10222) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([pepijnve](https://redirect.github.com/pepijnve)) - rename Compression struct [#&#8203;10221](https://redirect.github.com/apache/arrow-rs/pull/10221) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - chore(deps): bump the all-other-cargo-deps group across 1 directory with 16 updates [#&#8203;10218](https://redirect.github.com/apache/arrow-rs/pull/10218) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - chore(deps): bump actions/setup-python from 6.2.0 to 6.3.0 [#&#8203;10210](https://redirect.github.com/apache/arrow-rs/pull/10210) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - \[10125] Introduce mult-batch decode benchmarks [#&#8203;10207](https://redirect.github.com/apache/arrow-rs/pull/10207) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - chore(deps): bump actions/cache from 5.0.5 to 6.0.0 [#&#8203;10203](https://redirect.github.com/apache/arrow-rs/pull/10203) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - introduce decode benchmarks [#&#8203;10202](https://redirect.github.com/apache/arrow-rs/pull/10202) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - Fix `merge_kernels` benchmark panic due to not wrapping with `Scalar` [#&#8203;10199](https://redirect.github.com/apache/arrow-rs/pull/10199) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - Benchmarks and performance improvement for parquet boolean reader [#&#8203;10196](https://redirect.github.com/apache/arrow-rs/pull/10196) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([jhorstmann](https://redirect.github.com/jhorstmann)) - add stale PR workflow [#&#8203;10194](https://redirect.github.com/apache/arrow-rs/pull/10194) ([Jefffrey](https://redirect.github.com/Jefffrey)) - chore: group minor/patch dependabot updates [#&#8203;10193](https://redirect.github.com/apache/arrow-rs/pull/10193) ([Jefffrey](https://redirect.github.com/Jefffrey)) - chore(deps): bump http from 1.4.0 to 1.4.2 [#&#8203;10191](https://redirect.github.com/apache/arrow-rs/pull/10191) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - chore(deps): bump syn from 2.0.117 to 2.0.118 [#&#8203;10190](https://redirect.github.com/apache/arrow-rs/pull/10190) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - chore(deps): bump chrono from 0.4.44 to 0.4.45 [#&#8203;10188](https://redirect.github.com/apache/arrow-rs/pull/10188) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - chore(deps): bump uuid from 1.23.1 to 1.23.3 [#&#8203;10186](https://redirect.github.com/apache/arrow-rs/pull/10186) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - chore: run `cargo update` to bump quinn [#&#8203;10181](https://redirect.github.com/apache/arrow-rs/pull/10181) ([Jefffrey](https://redirect.github.com/Jefffrey)) - test: cover signed integers and bool in BitReader::get\_batch test [#&#8203;10180](https://redirect.github.com/apache/arrow-rs/pull/10180) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([alamb](https://redirect.github.com/alamb)) - \[arrow-select] perf: Replace `ArrayData` with direct `Array` construction in take kernels [#&#8203;10176](https://redirect.github.com/apache/arrow-rs/pull/10176) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([liamzwbao](https://redirect.github.com/liamzwbao)) - Return PyValueError for nullable PyArrow struct imports [#&#8203;10174](https://redirect.github.com/apache/arrow-rs/pull/10174) ([fallintoplace](https://redirect.github.com/fallintoplace)) - Fix Variant time microsecond JSON formatting [#&#8203;10173](https://redirect.github.com/apache/arrow-rs/pull/10173) ([fallintoplace](https://redirect.github.com/fallintoplace)) - Split traits for plain and bitpacked decoding and fix soundness issue in BitReader::get\_batch [#&#8203;10172](https://redirect.github.com/apache/arrow-rs/pull/10172) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([jhorstmann](https://redirect.github.com/jhorstmann)) - fix: switch generic usages of `i128` to `IntervalMonthDayNano` for MonthDayNano type [#&#8203;10171](https://redirect.github.com/apache/arrow-rs/pull/10171) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - chore: specify `--locked` when cargo installing `cargo-audit` [#&#8203;10170](https://redirect.github.com/apache/arrow-rs/pull/10170) ([Jefffrey](https://redirect.github.com/Jefffrey)) - chore: Fix clippy::useless\_borrows\_in\_formatting [#&#8203;10163](https://redirect.github.com/apache/arrow-rs/pull/10163) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Tpt](https://redirect.github.com/Tpt)) - fix(arrow-cast): respect cast safety for overflowing temporal casts [#&#8203;10162](https://redirect.github.com/apache/arrow-rs/pull/10162) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([SAY-5](https://redirect.github.com/SAY-5)) - chore(deps): bump actions/checkout from 6 to 7 [#&#8203;10159](https://redirect.github.com/apache/arrow-rs/pull/10159) ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - feat(parquet): add ParquetPushDecoder::peek\_next\_row\_group() [#&#8203;10158](https://redirect.github.com/apache/arrow-rs/pull/10158) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([zhuqi-lucas](https://redirect.github.com/zhuqi-lucas)) - feat(pyarrow) `FromPyArrow` on `Vec<T>`: allow any iterable for input [#&#8203;10155](https://redirect.github.com/apache/arrow-rs/pull/10155) ([Tpt](https://redirect.github.com/Tpt)) - nit: pyarrow: simplify class validation error creation [#&#8203;10154](https://redirect.github.com/apache/arrow-rs/pull/10154) ([Tpt](https://redirect.github.com/Tpt)) - \[Variant] add doc reference to `VariantArrayBuilder` [#&#8203;10152](https://redirect.github.com/apache/arrow-rs/pull/10152) ([sdf-jkl](https://redirect.github.com/sdf-jkl)) - feat: Adds product aggregate compute kernel [#&#8203;10151](https://redirect.github.com/apache/arrow-rs/pull/10151) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([devanbenz](https://redirect.github.com/devanbenz)) - Stricter datatype parsing for decimals, fixedsizelists and time32/64 [#&#8203;10147](https://redirect.github.com/apache/arrow-rs/pull/10147) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - feat(arrow\_csv): add header validation option [#&#8203;10144](https://redirect.github.com/apache/arrow-rs/pull/10144) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([XiNiHa](https://redirect.github.com/XiNiHa)) - \[Parquet] route dictionary page through the PageStore [#&#8203;10142](https://redirect.github.com/apache/arrow-rs/pull/10142) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([liamzwbao](https://redirect.github.com/liamzwbao)) - chore: update pyo3 dependency to 0.29 [#&#8203;10134](https://redirect.github.com/apache/arrow-rs/pull/10134) ([timsaucer](https://redirect.github.com/timsaucer)) - feat(ipc): Supports compression level configuration [#&#8203;10133](https://redirect.github.com/apache/arrow-rs/pull/10133) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([wForget](https://redirect.github.com/wForget)) - fix: write error for dbg output of out of range timestamps [#&#8203;10130](https://redirect.github.com/apache/arrow-rs/pull/10130) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Jefffrey](https://redirect.github.com/Jefffrey)) - \[Variant] `VariantArray` field API naming [#&#8203;10124](https://redirect.github.com/apache/arrow-rs/pull/10124) ([sdf-jkl](https://redirect.github.com/sdf-jkl)) - feat(arrow\_array): add helper function to create MapArray from `Vec<Option<Vec<(Key, Option<Value>)>>>` for tests [#&#8203;10123](https://redirect.github.com/apache/arrow-rs/pull/10123) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([rluvaton](https://redirect.github.com/rluvaton)) - perf(arrow-ipc): Add writer benchmarks for dictionaries [#&#8203;10122](https://redirect.github.com/apache/arrow-rs/pull/10122) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([JakeDern](https://redirect.github.com/JakeDern)) - feat: support `MapArray` in lengths kernel [#&#8203;10121](https://redirect.github.com/apache/arrow-rs/pull/10121) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([rluvaton](https://redirect.github.com/rluvaton)) - feat: add `OffsetBuffer::subtract` to allow to shift offsets by value [#&#8203;10120](https://redirect.github.com/apache/arrow-rs/pull/10120) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([rluvaton](https://redirect.github.com/rluvaton)) - fix: `Buffer::into_mutable` return error instead of panic for converting owned sliced when not start at 0 and fix returned Mutable length [#&#8203;10118](https://redirect.github.com/apache/arrow-rs/pull/10118) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([rluvaton](https://redirect.github.com/rluvaton)) - chore: update `Bytes` visibility to correctly reflect the actual visibility [#&#8203;10115](https://redirect.github.com/apache/arrow-rs/pull/10115) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([rluvaton](https://redirect.github.com/rluvaton)) - fix(parquet\_derive): support raw identifiers as column names [#&#8203;10113](https://redirect.github.com/apache/arrow-rs/pull/10113) ([cbmixx](https://redirect.github.com/cbmixx)) - removed clippy ignore statment [#&#8203;10111](https://redirect.github.com/apache/arrow-rs/pull/10111) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - Add `StructArray::field_` APIs symmetric to `StructArray::column_` ones [#&#8203;10110](https://redirect.github.com/apache/arrow-rs/pull/10110) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([sdf-jkl](https://redirect.github.com/sdf-jkl)) - fix(parquet): return error instead of panicking in pad\_nulls on corrupt input [#&#8203;10108](https://redirect.github.com/apache/arrow-rs/pull/10108) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([thepenguinco](https://redirect.github.com/thepenguinco)) - Minor: Add interleave tests for List\<Decimal128> and List\<Timestamp(tz)> [#&#8203;10099](https://redirect.github.com/apache/arrow-rs/pull/10099) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://redirect.github.com/alamb)) - Add arrow-flight test coverage for IPC compression [#&#8203;10097](https://redirect.github.com/apache/arrow-rs/pull/10097) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([alamb](https://redirect.github.com/alamb)) - chore(deps): bump pyspark from 3.3.2 to 3.4.4 in /parquet/pytest [#&#8203;10091](https://redirect.github.com/apache/arrow-rs/pull/10091) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([dependabot\[bot\]](https://redirect.github.com/apps/dependabot)) - refactor(parquet): bundle array reader recursion args into `ReaderArgs` [#&#8203;10089](https://redirect.github.com/apache/arrow-rs/pull/10089) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([HippoBaro](https://redirect.github.com/HippoBaro)) - arrow-buffer: implement Saturating, Checked num-traits for i256 [#&#8203;10088](https://redirect.github.com/apache/arrow-rs/pull/10088) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([theirix](https://redirect.github.com/theirix)) - bench(parquet): add nested list writer benchmarks [#&#8203;10084](https://redirect.github.com/apache/arrow-rs/pull/10084) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([mapleFU](https://redirect.github.com/mapleFU)) - Implement From\<i128> for i256 [#&#8203;10081](https://redirect.github.com/apache/arrow-rs/pull/10081) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([AdamGS](https://redirect.github.com/AdamGS)) - test(parquet): drop confusing `main` reference in page-roundtrip test comment [#&#8203;10072](https://redirect.github.com/apache/arrow-rs/pull/10072) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([adriangb](https://redirect.github.com/adriangb)) - ci: Split miri tests into 4 parallel shards [#&#8203;10067](https://redirect.github.com/apache/arrow-rs/pull/10067) ([AdamGS](https://redirect.github.com/AdamGS)) - Add tests and fix corner cases for Parquet/GeoArrow extension type conversion [#&#8203;10065](https://redirect.github.com/apache/arrow-rs/pull/10065) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([paleolimbot](https://redirect.github.com/paleolimbot)) - Support writing REE arrays directly to Parquet [#&#8203;10064](https://redirect.github.com/apache/arrow-rs/pull/10064) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - test(arrow-select): additional tests for inline-view filter fast path (tests for [#&#8203;9755](https://redirect.github.com/apache/arrow-rs/issues/9755)) [#&#8203;10054](https://redirect.github.com/apache/arrow-rs/pull/10054) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://redirect.github.com/alamb)) - test(arrow-select): add take\_bytes coverage for sliced values and nullable offset overflow [#&#8203;10053](https://redirect.github.com/apache/arrow-rs/pull/10053) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://redirect.github.com/alamb)) - Consolidate `filter_null_mask` into `FilterPredicate::filter_nulls` [#&#8203;10049](https://redirect.github.com/apache/arrow-rs/pull/10049) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([alamb](https://redirect.github.com/alamb)) - \[Variant] Add `VariantBuilder` values check [#&#8203;10016](https://redirect.github.com/apache/arrow-rs/pull/10016) ([sdf-jkl](https://redirect.github.com/sdf-jkl)) - \[Variant] Preserve `UUID` extension type metadata for Parquet writer [#&#8203;10015](https://redirect.github.com/apache/arrow-rs/pull/10015) ([sdf-jkl](https://redirect.github.com/sdf-jkl)) - feat(parquet-variant): add Dictionary and REE variant\_to\_arrow support [#&#8203;10014](https://redirect.github.com/apache/arrow-rs/pull/10014) ([mneetika](https://redirect.github.com/mneetika)) - perf(arrow-ord): Avoid full index materialization for small-limit lexsorts [#&#8203;9991](https://redirect.github.com/apache/arrow-rs/pull/9991) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([pchintar](https://redirect.github.com/pchintar)) \* *This Changelog was automatically generated by [github\_changelog\_generator](https://redirect.github.com/github-changelog-generator/github-changelog-generator)* ### [`v59.0.0`](https://redirect.github.com/apache/arrow-rs/releases/tag/59.0.0): arrow 59.0.0 [Compare Source](https://redirect.github.com/apache/arrow-rs/compare/58.4.0...59.0.0) <!--- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> ##### Changelog ##### [59.0.0](https://redirect.github.com/apache/arrow-rs/tree/59.0.0) (2026-06-04) [Full Changelog](https://redirect.github.com/apache/arrow-rs/compare/57.3.1...59.0.0) **Breaking changes:** - chore: Remove some deprecated Arrow functions from the public API [#&#8203;10040](https://redirect.github.com/apache/arrow-rs/pull/10040) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([etseidl](https://redirect.github.com/etseidl)) - chore: Remove some deprecated functions from parquet crate [#&#8203;10035](https://redirect.github.com/apache/arrow-rs/pull/10035) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([etseidl](https://redirect.github.com/etseidl)) - Replace `From<Vec<_>>` impls with `TryFrom`s for `FixedSizeBinaryArray` [#&#8203;10019](https://redirect.github.com/apache/arrow-rs/pull/10019) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([quantumish](https://redirect.github.com/quantumish)) - Use Thrift macro to generate Parquet `LogicalType` serialization code [#&#8203;9997](https://redirect.github.com/apache/arrow-rs/pull/9997) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([etseidl](https://redirect.github.com/etseidl)) - refactor: make `BloomFilterProperties` fpp/ndv private with accessors [#&#8203;9969](https://redirect.github.com/apache/arrow-rs/pull/9969) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([CuteChuanChuan](https://redirect.github.com/CuteChuanChuan)) - Remove deprecated parquet::format module and thrift dependency [#&#8203;9962](https://redirect.github.com/apache/arrow-rs/pull/9962) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([jhorstmann](https://redirect.github.com/jhorstmann)) - generic channel support for FlightClient [#&#8203;9933](https://redirect.github.com/apache/arrow-rs/pull/9933) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([rumenov](https://redirect.github.com/rumenov)) - Add `CompressionCodec` Thrift enum for Parquet metadata [#&#8203;9864](https://redirect.github.com/apache/arrow-rs/pull/9864) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([etseidl](https://redirect.github.com/etseidl)) - \[Variant] remove `BorrowedShreddingState` [#&#8203;9791](https://redirect.github.com/apache/arrow-rs/pull/9791) ([sdf-jkl](https://redirect.github.com/sdf-jkl)) - Remove deprecated legacy `like` kernels in `arrow-string` [#&#8203;9674](https://redirect.github.com/apache/arrow-rs/pull/9674) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([AdamGS](https://redirect.github.com/AdamGS)) **Implemented enhancements:** - Allow casting plain struct to dictionary encoded struct [#&#8203;10038](https://redirect.github.com/apache/arrow-rs/issues/10038) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Optimize arrow-flight [#&#8203;10029](https://redirect.github.com/apache/arrow-rs/issues/10029) - Align buffers when importing via `from_ffi` / `ArrowArrayStreamReader` [#&#8203;10028](https://redirect.github.com/apache/arrow-rs/issues/10028) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Switch Parquet `LogicalType` enum to macro generated version [#&#8203;9995](https://redirect.github.com/apache/arrow-rs/issues/9995) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Future proof Parquet Thrift parser [#&#8203;9973](https://redirect.github.com/apache/arrow-rs/issues/9973) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Add `DatePart` 1-indexed variants [#&#8203;9964](https://redirect.github.com/apache/arrow-rs/issues/9964) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - perf: Rework Parquet Thrift handling of boolean fields [#&#8203;9946](https://redirect.github.com/apache/arrow-rs/issues/9946) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Add benchmarks for REE to parquet [#&#8203;9935](https://redirect.github.com/apache/arrow-rs/issues/9935) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - (re) Allow Large `FixedSizeBinaryArray`s [#&#8203;9906](https://redirect.github.com/apache/arrow-rs/issues/9906) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Add a is\_normalized flag to DictionaryArray [#&#8203;9841](https://redirect.github.com/apache/arrow-rs/issues/9841) - \[Variant] Remove `BorrowedShreddingState` [#&#8203;9790](https://redirect.github.com/apache/arrow-rs/issues/9790) - \[parquet] Expose whether FileDecryptionProperties uses a KeyRetriever [#&#8203;9721](https://redirect.github.com/apache/arrow-rs/issues/9721) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Align cast logic for from/to\_decimal for variant to cast kernel [#&#8203;9688](https://redirect.github.com/apache/arrow-rs/issues/9688) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] **Fixed bugs:** - parquet-variant build might fail on s390x [#&#8203;10026](https://redirect.github.com/apache/arrow-rs/issues/10026) - `FixedSizeBinaryArray` implements `From<Vec<&[u8]>>` etc despite conversion being fallible [#&#8203;10018](https://redirect.github.com/apache/arrow-rs/issues/10018) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - string -> decimal cast should not treat empty string as 0 [#&#8203;10009](https://redirect.github.com/apache/arrow-rs/issues/10009) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Cast FixedSizeList to List will lost datatype metadata in list [#&#8203;10004](https://redirect.github.com/apache/arrow-rs/issues/10004) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Record reader panics with "index out of bounds" when row group num\_rows exceeds actual column data [#&#8203;9992](https://redirect.github.com/apache/arrow-rs/issues/9992) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - parquet predicate-cache: panic / silent row drop on single-leaf nullable struct [#&#8203;9982](https://redirect.github.com/apache/arrow-rs/issues/9982) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - parquet-variant doesn't build on 32-bit targets [#&#8203;9977](https://redirect.github.com/apache/arrow-rs/issues/9977) - Date32 doesn't parse date with large year [#&#8203;9960](https://redirect.github.com/apache/arrow-rs/issues/9960) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - msrv check failing on main due to `tonic@0.14.6` [#&#8203;9938](https://redirect.github.com/apache/arrow-rs/issues/9938) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] **Documentation updates:** - Release arrow-rs / parquet Minor/Patch version `58.3.0` or `58.2.1` (May 2026) [#&#8203;9859](https://redirect.github.com/apache/arrow-rs/issues/9859) - Add docs for `BitWriter` [#&#8203;9949](https://redirect.github.com/apache/arrow-rs/pull/9949) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([alamb](https://redirect.github.com/alamb)) - Add docs for `BitReader` [#&#8203;9948](https://redirect.github.com/apache/arrow-rs/pull/9948) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([alamb](https://redirect.github.com/alamb)) **Performance improvements:** - perf: parquet LevelInfoBuilder::write\_list can be optimized? [#&#8203;10023](https://redirect.github.com/apache/arrow-rs/issues/10023) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - perf(parquet): LevelInfoBuilder batch write when no repetition childs [#&#8203;10037](https://redirect.github.com/apache/arrow-rs/pull/10037) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([mapleFU](https://redirect.github.com/mapleFU)) - \[arrow-select] Replace `ArrayData` with direct `Array` construction in filter kernels [#&#8203;9986](https://redirect.github.com/apache/arrow-rs/pull/9986) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([liamzwbao](https://redirect.github.com/liamzwbao)) - Bulk-fill definition levels for majority-null leaf columns [#&#8203;9967](https://redirect.github.com/apache/arrow-rs/pull/9967) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([RyanJamesStewart](https://redirect.github.com/RyanJamesStewart)) - perf: Remove `bool_val` from Parquet Thrift `FieldIdentifier` [#&#8203;9945](https://redirect.github.com/apache/arrow-rs/pull/9945) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([etseidl](https://redirect.github.com/etseidl)) - feat(parquet): compact level representation with generic writer dispatch [#&#8203;9831](https://redirect.github.com/apache/arrow-rs/pull/9831) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([HippoBaro](https://redirect.github.com/HippoBaro)) **Closed issues:** - Bound ArrowWriter peak memory [#&#8203;10071](https://redirect.github.com/apache/arrow-rs/issues/10071) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Parquet writer can produce massively oversized data pages for large variable-width values [#&#8203;10061](https://redirect.github.com/apache/arrow-rs/issues/10061) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - Remove the `fused_inline_view_columns` field from `BatchCoalescer` if possible [#&#8203;10055](https://redirect.github.com/apache/arrow-rs/issues/10055) - DataType parser permits negative FixedSizeBinary size [#&#8203;10033](https://redirect.github.com/apache/arrow-rs/issues/10033) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Parquet: return error for overlong INT96 column metadata statistics [#&#8203;10002](https://redirect.github.com/apache/arrow-rs/issues/10002) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - `Uuid` extension type fails to deserialize when `ARROW:extension:metadata` is an empty string [#&#8203;10000](https://redirect.github.com/apache/arrow-rs/issues/10000) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - parquet: timeline for removing thrift crate dependency (CVE-2026-43868) [#&#8203;9999](https://redirect.github.com/apache/arrow-rs/issues/9999) - Failure in CI: `Archery test With other arrows` - `binary_view Rust producing, .NET consuming` [#&#8203;9989](https://redirect.github.com/apache/arrow-rs/issues/9989) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Validate FIXED\_LEN\_BYTE\_ARRAY type\_length for DECIMAL and INTERVAL in Parquet → Arrow schema conversion [#&#8203;9984](https://redirect.github.com/apache/arrow-rs/issues/9984) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] - IPC reader projection does not handle duplicate projection indices correctly [#&#8203;9950](https://redirect.github.com/apache/arrow-rs/issues/9950) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - `AnyRunArray` trait [#&#8203;9909](https://redirect.github.com/apache/arrow-rs/issues/9909) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Release arrow-rs / parquet Patch version `57.3.1` (May 2026) [#&#8203;9858](https://redirect.github.com/apache/arrow-rs/issues/9858) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - Release arrow-rs / parquet Patch version `56.2.1` (May 2026) [#&#8203;9857](https://redirect.github.com/apache/arrow-rs/issues/9857) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - parquet/arrow: should sync/async readers converge on a shared physical read planner [#&#8203;9764](https://redirect.github.com/apache/arrow-rs/issues/9764) - `arrow-string` has a lot of macro-generated deprecated kernels in `like.rs` [#&#8203;9675](https://redirect.github.com/apache/arrow-rs/issues/9675) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] - \[parquet] Add BloomFilterProperties builder API to make bloom filter configuration explicit [#&#8203;9667](https://redirect.github.com/apache/arrow-rs/issues/9667) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] **Merged pull requests:** - Bump max throughput in `flight` benchmark before blocking [#&#8203;10070](https://redirect.github.com/apache/arrow-rs/pull/10070) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - Add coalesce inline-view filter benchmarks [#&#8203;10050](https://redirect.github.com/apache/arrow-rs/pull/10050) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([ClSlaid](https://redirect.github.com/ClSlaid)) - fix: better error handling for negative size of FixedSizeBinary [#&#8203;10042](https://redirect.github.com/apache/arrow-rs/pull/10042) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([theirix](https://redirect.github.com/theirix)) - bench(parquet): add Sbbf check/insert benchmarks [#&#8203;10041](https://redirect.github.com/apache/arrow-rs/pull/10041) \[[parquet](https://redirect.github.com/apache/arrow-rs/labels/parquet)] ([dmatth1](https://redirect.github.com/dmatth1)) - arrow-cast: Add ability to cast plain struct to dictionary [#&#8203;10039](https://redirect.github.com/apache/arrow-rs/pull/10039) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([brancz](https://redirect.github.com/brancz)) - \[[#&#8203;10029](https://redirect.github.com/apache/arrow-rs/issues/10029)]\[benchmarks] arrow-flight roundtrip as well as encode/decode [#&#8203;10031](https://redirect.github.com/apache/arrow-rs/pull/10031) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] \[[arrow-flight](https://redirect.github.com/apache/arrow-rs/labels/arrow-flight)] ([Rich-T-kid](https://redirect.github.com/Rich-T-kid)) - Call `align_buffers()` in `from_ffi`, remove redundant call from `arrow-pyarrow` [#&#8203;10030](https://redirect.github.com/apache/arrow-rs/pull/10030) \[[arrow](https://redirect.github.com/apache/arrow-rs/labels/arrow)] ([mbutrovich](https://redirect.github.com/mbutrovich)) - Adjust Variant size expectation for s390x architecture [#&#8203;10027](https://redirect.github.com/apache/arrow-rs/pull/10027) ([frantisekz](https://redirect.github.com/frantisekz > āœ‚ **Note** > > PR body was truncated to here. </details> --- ### Configuration šŸ“… **Schedule**: (UTC) - Branch creation - Between 12:00 AM and 03:59 AM, on the second Monday and fourth Monday of the month (`* 0-3 * * 1#2,1#4`) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ā™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. šŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vortex-data/vortex). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMi4wIiwidXBkYXRlZEluVmVyIjoiNDQuMTIuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOlsiY2hhbmdlbG9nL2Nob3JlIl19--> --------- Signed-off-by: Robert Kruszewski <github@robertk.io> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Robert Kruszewski <github@robertk.io>
develop
1 hour ago

Latest Branches

CodSpeed Performance Gauge
+3%
Add the RowFn scalar function framework#9319
48 minutes ago
84837ad
ct/row-fn-api
CodSpeed Performance Gauge
-16%
48 minutes ago
37eb039
ct/row-fn-numeric
CodSpeed Performance Gauge
+9%
1 hour ago
0792d2c
renovate/lock-file-maintenance-rust-lock-file-maintenance
Ā© 2026 CodSpeed Technology
Home Terms Privacy Docs