This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/main by this push:
new fc3f778962 Prepare for 58.2.0 release (#9800)
fc3f778962 is described below
commit fc3f77896295df9cd72891cc4d8fdf6349244887
Author: Andrew Lamb <[email protected]>
AuthorDate: Tue Apr 28 16:42:57 2026 -0400
Prepare for 58.2.0 release (#9800)
# Which issue does this PR close?
- Part of https://github.com/apache/arrow-rs/issues/9109
# Rationale for this change
Keep code flowing
# What changes are included in this PR?
1. Update verison to 58.2.0
2. Update changelog. Rendered Preview:
https://github.com/alamb/arrow-rs/blob/alamb/prepare_58.2.0/CHANGELOG.md
# Are these changes tested?
By CI
# Are there any user-facing changes?
New version / changelog
---------
Co-authored-by: Thaddeus Covert <[email protected]>
---
CHANGELOG-old.md | 119 ++++++++++++++++++
CHANGELOG.md | 252 ++++++++++++++++++++++++---------------
Cargo.toml | 42 +++----
dev/release/update_change_log.sh | 4 +-
4 files changed, 296 insertions(+), 121 deletions(-)
diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md
index 273884ea1f..c400a53c03 100644
--- a/CHANGELOG-old.md
+++ b/CHANGELOG-old.md
@@ -19,6 +19,125 @@
# Historical Changelog
+# Changelog
+
+## [58.1.0](https://github.com/apache/arrow-rs/tree/58.1.0) (2026-03-20)
+
+[Full Changelog](https://github.com/apache/arrow-rs/compare/58.0.0...58.1.0)
+
+**Implemented enhancements:**
+
+- Reuse compression dict lz4\_block
[\#9566](https://github.com/apache/arrow-rs/issues/9566)
+- \[Variant\] Add `variant_to_arrow` `Struct` type support
[\#9529](https://github.com/apache/arrow-rs/issues/9529)
+- \[Variant\] Add `unshred_variant` support for `Binary` and `LargeBinary`
types [\#9526](https://github.com/apache/arrow-rs/issues/9526)
+- \[Variant\] Add `shred_variant` support for `LargeUtf8` and `LargeBinary`
types [\#9525](https://github.com/apache/arrow-rs/issues/9525)
+- \[Variant\] `variant_get` tests clean up
[\#9517](https://github.com/apache/arrow-rs/issues/9517)
+- parquet\_variant: Support LargeUtf8 typed value in `unshred_variant`
[\#9513](https://github.com/apache/arrow-rs/issues/9513)
+- parquet-variant: Support string view typed value in `unshred_variant`
[\#9512](https://github.com/apache/arrow-rs/issues/9512)
+- Deprecate ArrowTimestampType::make\_value in favor of from\_naive\_datetime
[\#9490](https://github.com/apache/arrow-rs/issues/9490)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Followup for support \['fieldName'\] in VariantPath
[\#9478](https://github.com/apache/arrow-rs/issues/9478)
+- Speedup DELTA\_BINARY\_PACKED decoding when bitwidth is 0
[\#9476](https://github.com/apache/arrow-rs/issues/9476)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Support CSV files encoded with charsets other than UTF-8
[\#9465](https://github.com/apache/arrow-rs/issues/9465)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Expose Avro writer schema when building the reader
[\#9460](https://github.com/apache/arrow-rs/issues/9460)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Python: avoid importing pyarrow classes ever time
[\#9438](https://github.com/apache/arrow-rs/issues/9438)
+- Add `append_nulls` to `MapBuilder`
[\#9431](https://github.com/apache/arrow-rs/issues/9431)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Add `append_non_nulls` to `StructBuilder`
[\#9429](https://github.com/apache/arrow-rs/issues/9429)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Add `append_value_n` to GenericByteBuilder
[\#9425](https://github.com/apache/arrow-rs/issues/9425)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Optimize `from_bitwise_binary_op`
[\#9378](https://github.com/apache/arrow-rs/issues/9378)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Configurable Arrow representation of UTC timestamps for Avro reader
[\#9279](https://github.com/apache/arrow-rs/issues/9279)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+
+**Fixed bugs:**
+
+- MutableArrayData::extend does not copy child values for ListView arrays
[\#9561](https://github.com/apache/arrow-rs/issues/9561)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- ListView interleave bug
[\#9559](https://github.com/apache/arrow-rs/issues/9559)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Flight encoding panics with "no dict id for field" with nested dict arrays
[\#9555](https://github.com/apache/arrow-rs/issues/9555)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+- "DeltaBitPackDecoder only supports Int32Type and Int64Type" but unsigned
types are supported too
[\#9551](https://github.com/apache/arrow-rs/issues/9551)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Potential overflow when calling `util::bit_mask::set_bits` \(soundness
issue\) [\#9543](https://github.com/apache/arrow-rs/issues/9543)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- handle Null type in try\_merge for Struct, List, LargeList, and Union
[\#9523](https://github.com/apache/arrow-rs/issues/9523)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Invalid offset in sparse column chunk data for multiple predicates
[\#9516](https://github.com/apache/arrow-rs/issues/9516)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- debug\_assert\_eq! in BatchCoalescer panics in debug mode when batch\_size
\< 4 [\#9506](https://github.com/apache/arrow-rs/issues/9506)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet Statistics::null\_count\_opt wrongly returns Some\(0\) when stats
are missing [\#9451](https://github.com/apache/arrow-rs/issues/9451)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Error "Not all children array length are the same!" when decoding rows
spanning across page boundaries in parquet file when using `RowSelection`
[\#9370](https://github.com/apache/arrow-rs/issues/9370)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Avro schema resolution not properly supported for complex types
[\#9336](https://github.com/apache/arrow-rs/issues/9336)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+
+**Documentation updates:**
+
+- Update planned release schedule in README.md
[\#9466](https://github.com/apache/arrow-rs/pull/9466)
([alamb](https://github.com/alamb))
+
+**Performance improvements:**
+
+- Introduce `NullBuffer::try_from_unsliced` to simplify array construction
[\#9385](https://github.com/apache/arrow-rs/issues/9385)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- perf: Coalesce page fetches when RowSelection selects all rows
[\#9578](https://github.com/apache/arrow-rs/pull/9578)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- Use chunks\_exact for has\_true/has\_false to enable compiler unrolling
[\#9570](https://github.com/apache/arrow-rs/pull/9570)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([adriangb](https://github.com/adriangb))
+- pyarrow: Cache the imported classes to avoid importing them each time
[\#9439](https://github.com/apache/arrow-rs/pull/9439)
([Tpt](https://github.com/Tpt))
+
+**Closed issues:**
+
+- Duplicate macro definition: `partially_shredded_variant_array_gen`
[\#9492](https://github.com/apache/arrow-rs/issues/9492)
+- Enable `LargeList` / `ListView` / `LargeListView` for
`VariantArray::try_new` [\#9455](https://github.com/apache/arrow-rs/issues/9455)
+- Support variables/expressions in record\_batch! macro
[\#9245](https://github.com/apache/arrow-rs/issues/9245)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+
+**Merged pull requests:**
+
+- \[Variant\] Add unshred\_variant support for Binary and LargeBinary types
[\#9576](https://github.com/apache/arrow-rs/pull/9576)
([kunalsinghdadhwal](https://github.com/kunalsinghdadhwal))
+- \[Variant\] Add `variant_to_arrow` `Struct` type support
[\#9572](https://github.com/apache/arrow-rs/pull/9572)
([sdf-jkl](https://github.com/sdf-jkl))
+- Make Sbbf Constructers Public
[\#9569](https://github.com/apache/arrow-rs/pull/9569)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([cetra3](https://github.com/cetra3))
+- fix: Used `checked_add` for bounds checks to avoid UB
[\#9568](https://github.com/apache/arrow-rs/pull/9568)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([etseidl](https://github.com/etseidl))
+- Add mutable operations to BooleanBuffer \(Bit\*Assign\)
[\#9567](https://github.com/apache/arrow-rs/pull/9567)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- chore\(deps\): update lz4\_flex requirement from 0.12 to 0.13
[\#9565](https://github.com/apache/arrow-rs/pull/9565)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- arrow-select: fix MutableArrayData interleave for ListView
[\#9560](https://github.com/apache/arrow-rs/pull/9560)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([asubiotto](https://github.com/asubiotto))
+- Move `ValueIter` into own module, and add public `record_count` function
[\#9557](https://github.com/apache/arrow-rs/pull/9557)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Rafferty97](https://github.com/Rafferty97))
+- arrow-flight: generate dict\_ids for dicts nested inside complex types
[\#9556](https://github.com/apache/arrow-rs/pull/9556)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
([asubiotto](https://github.com/asubiotto))
+- add `shred_variant` support for `LargeUtf8` and `LargeBinary`
[\#9554](https://github.com/apache/arrow-rs/pull/9554)
([sdf-jkl](https://github.com/sdf-jkl))
+- \[minor\] Download clickbench file when missing
[\#9553](https://github.com/apache/arrow-rs/pull/9553)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- DeltaBitPackEncoderConversion: Fix panic message on invalid type
[\#9552](https://github.com/apache/arrow-rs/pull/9552)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([progval](https://github.com/progval))
+- Replace interleave overflow panic with error
[\#9549](https://github.com/apache/arrow-rs/pull/9549)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([xudong963](https://github.com/xudong963))
+- feat\(arrow-avro\): `HeaderInfo` to expose OCF header
[\#9548](https://github.com/apache/arrow-rs/pull/9548)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- chore: Protect `main` branch with required reviews
[\#9547](https://github.com/apache/arrow-rs/pull/9547)
([comphead](https://github.com/comphead))
+- Add benchmark for `infer_json_schema`
[\#9546](https://github.com/apache/arrow-rs/pull/9546)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Rafferty97](https://github.com/Rafferty97))
+- chore\(deps\): bump black from 24.3.0 to 26.3.1 in /parquet/pytest
[\#9545](https://github.com/apache/arrow-rs/pull/9545)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- Unroll interleave -25-30%
[\#9542](https://github.com/apache/arrow-rs/pull/9542)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- Optimize `take_fixed_size_binary` For Predefined Value Lengths
[\#9535](https://github.com/apache/arrow-rs/pull/9535)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([tobixdev](https://github.com/tobixdev))
+- feat: expose arrow schema on async avro reader
[\#9534](https://github.com/apache/arrow-rs/pull/9534)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- Make with\_file\_decryption\_properties pub instead of pub\(crate\)
[\#9532](https://github.com/apache/arrow-rs/pull/9532)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- fix: handle Null type in try\_merge for Struct, List, LargeList, and Union
[\#9524](https://github.com/apache/arrow-rs/pull/9524)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([zhuqi-lucas](https://github.com/zhuqi-lucas))
+- chore: extend record\_batch macro to support variables and expressions
[\#9522](https://github.com/apache/arrow-rs/pull/9522)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([buraksenn](https://github.com/buraksenn))
+- \[Variant\] clean up `variant_get` tests
[\#9518](https://github.com/apache/arrow-rs/pull/9518)
([sdf-jkl](https://github.com/sdf-jkl))
+- support large string for unshred variant
[\#9515](https://github.com/apache/arrow-rs/pull/9515)
([friendlymatthew](https://github.com/friendlymatthew))
+- support string view unshred variant
[\#9514](https://github.com/apache/arrow-rs/pull/9514)
([friendlymatthew](https://github.com/friendlymatthew))
+- Add has\_true\(\) and has\_false\(\) to BooleanArray
[\#9511](https://github.com/apache/arrow-rs/pull/9511)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([adriangb](https://github.com/adriangb))
+- Fix Invalid offset in sparse column chunk data error for multiple predicates
[\#9509](https://github.com/apache/arrow-rs/pull/9509)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([cetra3](https://github.com/cetra3))
+- fix: remove incorrect debug assertion in BatchCoalescer
[\#9508](https://github.com/apache/arrow-rs/pull/9508)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Tim-53](https://github.com/Tim-53))
+- \[Json\] Add benchmarks for list json reader
[\#9507](https://github.com/apache/arrow-rs/pull/9507)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- fix: first next\_back\(\) on new RowsIter panics
[\#9505](https://github.com/apache/arrow-rs/pull/9505)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- Add some benchmarks for decoding delta encoded Parquet
[\#9500](https://github.com/apache/arrow-rs/pull/9500)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+- chore: remove duplicate macro `partially_shredded_variant_array_gen`
[\#9498](https://github.com/apache/arrow-rs/pull/9498)
([codephage2020](https://github.com/codephage2020))
+- Deprecate ArrowTimestampType::make\_value in favor of from\_naive\_datetime
[\#9491](https://github.com/apache/arrow-rs/pull/9491)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
+- fix: Do not assume missing nullcount stat means zero nullcount
[\#9481](https://github.com/apache/arrow-rs/pull/9481)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([scovich](https://github.com/scovich))
+- \[Variant\] Enahcne bracket access for VariantPath
[\#9479](https://github.com/apache/arrow-rs/pull/9479)
([klion26](https://github.com/klion26))
+- Optimize delta binary decoder in the case where bitwidth=0
[\#9477](https://github.com/apache/arrow-rs/pull/9477)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+- Add PrimitiveRunBuilder::with\_data\_type\(\) to customize the values'
DataType [\#9473](https://github.com/apache/arrow-rs/pull/9473)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brunal](https://github.com/brunal))
+- Convert `prettyprint` tests in `arrow-cast` to `insta` inline snapshots
[\#9472](https://github.com/apache/arrow-rs/pull/9472)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([grtlr](https://github.com/grtlr))
+- Update strum\_macros requirement from 0.27 to 0.28
[\#9471](https://github.com/apache/arrow-rs/pull/9471)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- docs\(parquet\): Fix broken links in README
[\#9467](https://github.com/apache/arrow-rs/pull/9467)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([SYaoJun](https://github.com/SYaoJun))
+- Add list-like types support to VariantArray::try\_new
[\#9457](https://github.com/apache/arrow-rs/pull/9457)
([sdf-jkl](https://github.com/sdf-jkl))
+- Simplify downcast\_...!\(\) macro definitions
[\#9454](https://github.com/apache/arrow-rs/pull/9454)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brunal](https://github.com/brunal))
+- feat\(parquet\): add content defined chunking for arrow writer
[\#9450](https://github.com/apache/arrow-rs/pull/9450)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([kszucs](https://github.com/kszucs))
+- refactor: simplify iterator using cloned\(\).map\(Some\)
[\#9449](https://github.com/apache/arrow-rs/pull/9449)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([SYaoJun](https://github.com/SYaoJun))
+- feat: Optimize from\_bitwise\_binary\_op with 64-bit alignment
[\#9441](https://github.com/apache/arrow-rs/pull/9441)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([kunalsinghdadhwal](https://github.com/kunalsinghdadhwal))
+- docs: fix markdown link syntax in README
[\#9440](https://github.com/apache/arrow-rs/pull/9440)
([SYaoJun](https://github.com/SYaoJun))
+- Move `ListLikeArray` to arrow-array to be shared with json writer and
parquet unshredding [\#9437](https://github.com/apache/arrow-rs/pull/9437)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- Add `claim` method to recordbatch for memory accounting
[\#9433](https://github.com/apache/arrow-rs/pull/9433)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cetra3](https://github.com/cetra3))
+- Add `append_nulls` to `MapBuilder`
[\#9432](https://github.com/apache/arrow-rs/pull/9432)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
+- Add `append_non_nulls` to `StructBuilder`
[\#9430](https://github.com/apache/arrow-rs/pull/9430)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
+- Add `append_value_n` to GenericByteBuilder
[\#9426](https://github.com/apache/arrow-rs/pull/9426)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
+- refactor: simplify dynamic state for Avro record projection
[\#9419](https://github.com/apache/arrow-rs/pull/9419)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- Add `NullBuffer::from_unsliced_buffer` helper and refactor call sites
[\#9411](https://github.com/apache/arrow-rs/pull/9411)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Eyad3skr](https://github.com/Eyad3skr))
+- Implement min, max, sum for run-end-encoded arrays.
[\#9409](https://github.com/apache/arrow-rs/pull/9409)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brunal](https://github.com/brunal))
+- feat: add `RunArray::new_unchecked` and `RunArray::into_parts`
[\#9376](https://github.com/apache/arrow-rs/pull/9376)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- Fix skip\_records over-counting when partial record precedes num\_rows page
skip [\#9374](https://github.com/apache/arrow-rs/pull/9374)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jonded94](https://github.com/jonded94))
+- fix: resolution of complex type variants in Avro unions
[\#9328](https://github.com/apache/arrow-rs/pull/9328)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- feat\(arrow-avro\): Configurable Arrow timezone ID for Avro timestamps
[\#9280](https://github.com/apache/arrow-rs/pull/9280)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
## [58.0.0](https://github.com/apache/arrow-rs/tree/58.0.0) (2026-02-19)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index baccdfa79c..03c4e15794 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,123 +19,179 @@
# Changelog
-## [58.1.0](https://github.com/apache/arrow-rs/tree/58.1.0) (2026-03-20)
+## [58.2.0](https://github.com/apache/arrow-rs/tree/58.2.0) (2026-04-28)
-[Full Changelog](https://github.com/apache/arrow-rs/compare/58.0.0...58.1.0)
+[Full Changelog](https://github.com/apache/arrow-rs/compare/58.1.0...58.2.0)
**Implemented enhancements:**
-- Reuse compression dict lz4\_block
[\#9566](https://github.com/apache/arrow-rs/issues/9566)
-- \[Variant\] Add `variant_to_arrow` `Struct` type support
[\#9529](https://github.com/apache/arrow-rs/issues/9529)
-- \[Variant\] Add `unshred_variant` support for `Binary` and `LargeBinary`
types [\#9526](https://github.com/apache/arrow-rs/issues/9526)
-- \[Variant\] Add `shred_variant` support for `LargeUtf8` and `LargeBinary`
types [\#9525](https://github.com/apache/arrow-rs/issues/9525)
-- \[Variant\] `variant_get` tests clean up
[\#9517](https://github.com/apache/arrow-rs/issues/9517)
-- parquet\_variant: Support LargeUtf8 typed value in `unshred_variant`
[\#9513](https://github.com/apache/arrow-rs/issues/9513)
-- parquet-variant: Support string view typed value in `unshred_variant`
[\#9512](https://github.com/apache/arrow-rs/issues/9512)
-- Deprecate ArrowTimestampType::make\_value in favor of from\_naive\_datetime
[\#9490](https://github.com/apache/arrow-rs/issues/9490)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Followup for support \['fieldName'\] in VariantPath
[\#9478](https://github.com/apache/arrow-rs/issues/9478)
-- Speedup DELTA\_BINARY\_PACKED decoding when bitwidth is 0
[\#9476](https://github.com/apache/arrow-rs/issues/9476)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Support CSV files encoded with charsets other than UTF-8
[\#9465](https://github.com/apache/arrow-rs/issues/9465)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Expose Avro writer schema when building the reader
[\#9460](https://github.com/apache/arrow-rs/issues/9460)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Python: avoid importing pyarrow classes ever time
[\#9438](https://github.com/apache/arrow-rs/issues/9438)
-- Add `append_nulls` to `MapBuilder`
[\#9431](https://github.com/apache/arrow-rs/issues/9431)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Add `append_non_nulls` to `StructBuilder`
[\#9429](https://github.com/apache/arrow-rs/issues/9429)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Add `append_value_n` to GenericByteBuilder
[\#9425](https://github.com/apache/arrow-rs/issues/9425)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Optimize `from_bitwise_binary_op`
[\#9378](https://github.com/apache/arrow-rs/issues/9378)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Configurable Arrow representation of UTC timestamps for Avro reader
[\#9279](https://github.com/apache/arrow-rs/issues/9279)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Expose ColumnCloseResult on ArrowColumnChunk
[\#9774](https://github.com/apache/arrow-rs/issues/9774)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Expose FFI data structures fields
[\#9771](https://github.com/apache/arrow-rs/issues/9771)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- short-circuit last predicate in `RowFilter` when `with_limit(N)` is set
[\#9765](https://github.com/apache/arrow-rs/issues/9765)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- vectorise dict-index bounds check
[\#9747](https://github.com/apache/arrow-rs/issues/9747)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Refactor `RleEncoder::flush_bit_packed_run`
[\#9734](https://github.com/apache/arrow-rs/issues/9734)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Add benchmark for cast from/to decimals
[\#9728](https://github.com/apache/arrow-rs/issues/9728)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Add a security policy for arrow-rs
[\#9727](https://github.com/apache/arrow-rs/issues/9727)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+- Support `FixedSizeList` in arrow-json reader
[\#9714](https://github.com/apache/arrow-rs/issues/9714)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] Add `VariantArrayBuilder::append_nulls` API
[\#9684](https://github.com/apache/arrow-rs/issues/9684)
+- \[Json\] RunEndEncoded decoder optimization
[\#9645](https://github.com/apache/arrow-rs/issues/9645)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] `variant_get(..., List<_>)` non-Struct types support
[\#9615](https://github.com/apache/arrow-rs/issues/9615)
+- \[Variant\] Add unshredded `Struct` fast-path for `variant_get(..., Struct)`
[\#9596](https://github.com/apache/arrow-rs/issues/9596)
+- Allow setting custom line terminator for CSV writer
[\#9571](https://github.com/apache/arrow-rs/issues/9571)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] Align cast logic for `variant_get` to cast kernel for
numeric/bool types [\#9564](https://github.com/apache/arrow-rs/issues/9564)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- ci: use ubuntu-slim where applicable
[\#9536](https://github.com/apache/arrow-rs/issues/9536)
+- Publicly export `arrow_string::Predicate` and its methods?
[\#9480](https://github.com/apache/arrow-rs/issues/9480)
+- Don't create CompressionContext when no compression is selected \[IPC\]
[\#9463](https://github.com/apache/arrow-rs/issues/9463)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet: Raw level buffering causes unbounded memory growth for sparse
columns [\#9446](https://github.com/apache/arrow-rs/issues/9446)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Parallel Parquet Reading
[\#9381](https://github.com/apache/arrow-rs/issues/9381)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
**Fixed bugs:**
-- MutableArrayData::extend does not copy child values for ListView arrays
[\#9561](https://github.com/apache/arrow-rs/issues/9561)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- ListView interleave bug
[\#9559](https://github.com/apache/arrow-rs/issues/9559)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Flight encoding panics with "no dict id for field" with nested dict arrays
[\#9555](https://github.com/apache/arrow-rs/issues/9555)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
-- "DeltaBitPackDecoder only supports Int32Type and Int64Type" but unsigned
types are supported too
[\#9551](https://github.com/apache/arrow-rs/issues/9551)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Potential overflow when calling `util::bit_mask::set_bits` \(soundness
issue\) [\#9543](https://github.com/apache/arrow-rs/issues/9543)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- handle Null type in try\_merge for Struct, List, LargeList, and Union
[\#9523](https://github.com/apache/arrow-rs/issues/9523)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Invalid offset in sparse column chunk data for multiple predicates
[\#9516](https://github.com/apache/arrow-rs/issues/9516)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- debug\_assert\_eq! in BatchCoalescer panics in debug mode when batch\_size
\< 4 [\#9506](https://github.com/apache/arrow-rs/issues/9506)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Parquet Statistics::null\_count\_opt wrongly returns Some\(0\) when stats
are missing [\#9451](https://github.com/apache/arrow-rs/issues/9451)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Error "Not all children array length are the same!" when decoding rows
spanning across page boundaries in parquet file when using `RowSelection`
[\#9370](https://github.com/apache/arrow-rs/issues/9370)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Avro schema resolution not properly supported for complex types
[\#9336](https://github.com/apache/arrow-rs/issues/9336)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] `unshred_variant` panics on malformed bytes despite returning
`Result` [\#9740](https://github.com/apache/arrow-rs/issues/9740)
+- RecordBatch::normalize\(\) does not propagate top level null bitmap into the
results [\#9732](https://github.com/apache/arrow-rs/issues/9732)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Incorrect accounting in `DictEncoder::estimated_memory_size`
[\#9719](https://github.com/apache/arrow-rs/issues/9719)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- arrow-ipc writer does not comply with spec for empty variable-size arrays
[\#9716](https://github.com/apache/arrow-rs/issues/9716)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Panic when reading corrupt parquet file with truncated data instead of
ParquetError [\#9705](https://github.com/apache/arrow-rs/issues/9705)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- NOTICE.txt is inaccurate
[\#9703](https://github.com/apache/arrow-rs/issues/9703)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Unnecessary dependency on regex crate
[\#9672](https://github.com/apache/arrow-rs/issues/9672)
+- \[arrow-avro\] Avro reader produces incorrect results when reader schema and
writer schema differ [\#9655](https://github.com/apache/arrow-rs/issues/9655)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- parquet docs are broken on docs.rs
[\#9649](https://github.com/apache/arrow-rs/issues/9649)
+- \[Parquet\] ArrowWriter with CDC panics on nested ListArrays
[\#9637](https://github.com/apache/arrow-rs/issues/9637)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+- Use release KEYS file for verification instead of dev KEYS
[\#9603](https://github.com/apache/arrow-rs/issues/9603)
+- IPC reader: handling of dictionaries with only null values
[\#9595](https://github.com/apache/arrow-rs/issues/9595)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet RleDecoder::get\_batch\_with\_dict panics on oob dictionary indices
[\#9434](https://github.com/apache/arrow-rs/issues/9434)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
**Documentation updates:**
-- Update planned release schedule in README.md
[\#9466](https://github.com/apache/arrow-rs/pull/9466)
([alamb](https://github.com/alamb))
+- docs\(variant\): link VariantArray doc to official Parquet Variant extension
type [\#9779](https://github.com/apache/arrow-rs/pull/9779)
([mcharrel](https://github.com/mcharrel))
+- Document Security Policy
[\#9730](https://github.com/apache/arrow-rs/pull/9730)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
([alamb](https://github.com/alamb))
+- Docs: add example of how to read parquet row groups in parallel
[\#9396](https://github.com/apache/arrow-rs/pull/9396)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
**Performance improvements:**
-- Introduce `NullBuffer::try_from_unsliced` to simplify array construction
[\#9385](https://github.com/apache/arrow-rs/issues/9385)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- perf: Coalesce page fetches when RowSelection selects all rows
[\#9578](https://github.com/apache/arrow-rs/pull/9578)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- Use chunks\_exact for has\_true/has\_false to enable compiler unrolling
[\#9570](https://github.com/apache/arrow-rs/pull/9570)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([adriangb](https://github.com/adriangb))
-- pyarrow: Cache the imported classes to avoid importing them each time
[\#9439](https://github.com/apache/arrow-rs/pull/9439)
([Tpt](https://github.com/Tpt))
+- parquet: avoid decode and heap allocation on terminal skip in
DeltaBitPackDecoder [\#9784](https://github.com/apache/arrow-rs/issues/9784)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- parquet: O\(1\) skip for bw=0 miniblocks in DeltaBitPackDecoder
[\#9783](https://github.com/apache/arrow-rs/issues/9783)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Remove per-message flush overhead in Arrow IPC writer
[\#9762](https://github.com/apache/arrow-rs/issues/9762)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support `GenericListViewArray::new_unchecked` and refactor ListView json
decoder [\#9646](https://github.com/apache/arrow-rs/issues/9646)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support nested REE in arrow-ord `partition` function
[\#9640](https://github.com/apache/arrow-rs/issues/9640)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Parquet\] Remove the BIT\_PACKED encoder
[\#9635](https://github.com/apache/arrow-rs/issues/9635)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Pre-reserve output capacity in ByteView/ByteArray dictionary decoding
[\#9587](https://github.com/apache/arrow-rs/issues/9587)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Fuse RLE decoding and view gathering for StringView dictionary decoding
[\#9582](https://github.com/apache/arrow-rs/issues/9582)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Use branchless index clamping and add get\_batch\_direct to RleDecoder
[\#9581](https://github.com/apache/arrow-rs/issues/9581)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Reduce per-byte overhead in VLQ integer decoding
[\#9580](https://github.com/apache/arrow-rs/issues/9580)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- feat\(parquet\): batch RLE runs in level encoder via scan-ahead
[\#9830](https://github.com/apache/arrow-rs/pull/9830)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- fix: lazy-init zstd compression contexts to avoid unnecessary FFI calls
[\#9808](https://github.com/apache/arrow-rs/pull/9808)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mbutrovich](https://github.com/mbutrovich))
+- parquet: O\(1\) skip for bw=0 miniblocks in DeltaBitPackDecoder
[\#9786](https://github.com/apache/arrow-rs/pull/9786)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sahuagin](https://github.com/sahuagin))
+- chore: add benchmark for row filters with LIMIT short-circuit
[\#9767](https://github.com/apache/arrow-rs/pull/9767)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([haohuaijin](https://github.com/haohuaijin))
+- Push `LIMIT` / `OFFSET` into the last `RowFilter` predicate and skip unused
row groups [\#9766](https://github.com/apache/arrow-rs/pull/9766)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([haohuaijin](https://github.com/haohuaijin))
+- feat\(ipc\): Remove per-message flush in IPC writer hot path
[\#9763](https://github.com/apache/arrow-rs/pull/9763)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([pchintar](https://github.com/pchintar))
+- perf\(parquet\): Defer fixed length byte array buffer alloc and skip
zero-batch init [\#9756](https://github.com/apache/arrow-rs/pull/9756)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
+- feat\(parquet\): batch consecutive null/empty rows in `write_list`
[\#9752](https://github.com/apache/arrow-rs/pull/9752)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- Remove `len` field from buffer builder
[\#9750](https://github.com/apache/arrow-rs/pull/9750)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cetra3](https://github.com/cetra3))
+- perf\(parquet\): Vectorize dict-index bounds check in
RleDecoder::get\_batch\_with\_dict \(up to -7.9%\)
[\#9746](https://github.com/apache/arrow-rs/pull/9746)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- feat\(parquet\): precompute `offset_index_disabled` at build-time
[\#9724](https://github.com/apache/arrow-rs/pull/9724)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- \[Parquet\] Improve dictionary decoder by unrolling loops
[\#9662](https://github.com/apache/arrow-rs/pull/9662)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- \[Json\] Use `partition` and `take` in RunEndEncoded decoder
[\#9658](https://github.com/apache/arrow-rs/pull/9658)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- Improve take performance on List arrays
[\#9643](https://github.com/apache/arrow-rs/pull/9643)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([AdamGS](https://github.com/AdamGS))
+- \[Json\] Replace `ArrayData` with typed Array construction in json-reader
[\#9497](https://github.com/apache/arrow-rs/pull/9497)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- feat\(parquet\): stream-encode definition/repetition levels incrementally
[\#9447](https://github.com/apache/arrow-rs/pull/9447)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
**Closed issues:**
-- Duplicate macro definition: `partially_shredded_variant_array_gen`
[\#9492](https://github.com/apache/arrow-rs/issues/9492)
-- Enable `LargeList` / `ListView` / `LargeListView` for
`VariantArray::try_new` [\#9455](https://github.com/apache/arrow-rs/issues/9455)
-- Support variables/expressions in record\_batch! macro
[\#9245](https://github.com/apache/arrow-rs/issues/9245)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Incorrect buffer skipping for V4 Union types in IPC `skip_field`
[\#9828](https://github.com/apache/arrow-rs/issues/9828)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Replace wildcard match in `skip_field` with explicit `DataType` handling
[\#9821](https://github.com/apache/arrow-rs/issues/9821)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Column projection misalignment for ListView / LargeListView in IPC reader
[\#9805](https://github.com/apache/arrow-rs/issues/9805)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Avoid panic on malformed compressed buffer prefix in IPC
[\#9801](https://github.com/apache/arrow-rs/issues/9801)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- DeltaByteArrayDecoder panics on invalid prefix lengths
[\#9796](https://github.com/apache/arrow-rs/issues/9796)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Use NullBufferBuilder when reading json
[\#9781](https://github.com/apache/arrow-rs/issues/9781)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Perfectly shredded arrays with top-level null values loss nullability when
`typed_value` is extracted
[\#9701](https://github.com/apache/arrow-rs/issues/9701)
+- \[Parquet Metadata\] API to determine page-index presence separately from
page-index load [\#9693](https://github.com/apache/arrow-rs/issues/9693)
+- Union cast is incorrect for duplicate field names
[\#9664](https://github.com/apache/arrow-rs/issues/9664)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- List and ListView are missing `take` benchmarks
[\#9627](https://github.com/apache/arrow-rs/issues/9627)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support RunEndEncoded arrays in comparison kernels \(eq, lt, etc.\)
[\#9620](https://github.com/apache/arrow-rs/issues/9620)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- variant\_get should follow JSONpath semantics
[\#9606](https://github.com/apache/arrow-rs/issues/9606)
+- GenericByteViewArray: support finding total length of all strings
[\#9435](https://github.com/apache/arrow-rs/issues/9435)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
**Merged pull requests:**
-- \[Variant\] Add unshred\_variant support for Binary and LargeBinary types
[\#9576](https://github.com/apache/arrow-rs/pull/9576)
([kunalsinghdadhwal](https://github.com/kunalsinghdadhwal))
-- \[Variant\] Add `variant_to_arrow` `Struct` type support
[\#9572](https://github.com/apache/arrow-rs/pull/9572)
([sdf-jkl](https://github.com/sdf-jkl))
-- Make Sbbf Constructers Public
[\#9569](https://github.com/apache/arrow-rs/pull/9569)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([cetra3](https://github.com/cetra3))
-- fix: Used `checked_add` for bounds checks to avoid UB
[\#9568](https://github.com/apache/arrow-rs/pull/9568)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([etseidl](https://github.com/etseidl))
-- Add mutable operations to BooleanBuffer \(Bit\*Assign\)
[\#9567](https://github.com/apache/arrow-rs/pull/9567)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- chore\(deps\): update lz4\_flex requirement from 0.12 to 0.13
[\#9565](https://github.com/apache/arrow-rs/pull/9565)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([dependabot[bot]](https://github.com/apps/dependabot))
-- arrow-select: fix MutableArrayData interleave for ListView
[\#9560](https://github.com/apache/arrow-rs/pull/9560)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([asubiotto](https://github.com/asubiotto))
-- Move `ValueIter` into own module, and add public `record_count` function
[\#9557](https://github.com/apache/arrow-rs/pull/9557)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Rafferty97](https://github.com/Rafferty97))
-- arrow-flight: generate dict\_ids for dicts nested inside complex types
[\#9556](https://github.com/apache/arrow-rs/pull/9556)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
([asubiotto](https://github.com/asubiotto))
-- add `shred_variant` support for `LargeUtf8` and `LargeBinary`
[\#9554](https://github.com/apache/arrow-rs/pull/9554)
([sdf-jkl](https://github.com/sdf-jkl))
-- \[minor\] Download clickbench file when missing
[\#9553](https://github.com/apache/arrow-rs/pull/9553)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- DeltaBitPackEncoderConversion: Fix panic message on invalid type
[\#9552](https://github.com/apache/arrow-rs/pull/9552)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([progval](https://github.com/progval))
-- Replace interleave overflow panic with error
[\#9549](https://github.com/apache/arrow-rs/pull/9549)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([xudong963](https://github.com/xudong963))
-- feat\(arrow-avro\): `HeaderInfo` to expose OCF header
[\#9548](https://github.com/apache/arrow-rs/pull/9548)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
-- chore: Protect `main` branch with required reviews
[\#9547](https://github.com/apache/arrow-rs/pull/9547)
([comphead](https://github.com/comphead))
-- Add benchmark for `infer_json_schema`
[\#9546](https://github.com/apache/arrow-rs/pull/9546)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Rafferty97](https://github.com/Rafferty97))
-- chore\(deps\): bump black from 24.3.0 to 26.3.1 in /parquet/pytest
[\#9545](https://github.com/apache/arrow-rs/pull/9545)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([dependabot[bot]](https://github.com/apps/dependabot))
-- Unroll interleave -25-30%
[\#9542](https://github.com/apache/arrow-rs/pull/9542)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- Optimize `take_fixed_size_binary` For Predefined Value Lengths
[\#9535](https://github.com/apache/arrow-rs/pull/9535)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([tobixdev](https://github.com/tobixdev))
-- feat: expose arrow schema on async avro reader
[\#9534](https://github.com/apache/arrow-rs/pull/9534)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
-- Make with\_file\_decryption\_properties pub instead of pub\(crate\)
[\#9532](https://github.com/apache/arrow-rs/pull/9532)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- fix: handle Null type in try\_merge for Struct, List, LargeList, and Union
[\#9524](https://github.com/apache/arrow-rs/pull/9524)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([zhuqi-lucas](https://github.com/zhuqi-lucas))
-- chore: extend record\_batch macro to support variables and expressions
[\#9522](https://github.com/apache/arrow-rs/pull/9522)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([buraksenn](https://github.com/buraksenn))
-- \[Variant\] clean up `variant_get` tests
[\#9518](https://github.com/apache/arrow-rs/pull/9518)
([sdf-jkl](https://github.com/sdf-jkl))
-- support large string for unshred variant
[\#9515](https://github.com/apache/arrow-rs/pull/9515)
([friendlymatthew](https://github.com/friendlymatthew))
-- support string view unshred variant
[\#9514](https://github.com/apache/arrow-rs/pull/9514)
([friendlymatthew](https://github.com/friendlymatthew))
-- Add has\_true\(\) and has\_false\(\) to BooleanArray
[\#9511](https://github.com/apache/arrow-rs/pull/9511)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([adriangb](https://github.com/adriangb))
-- Fix Invalid offset in sparse column chunk data error for multiple predicates
[\#9509](https://github.com/apache/arrow-rs/pull/9509)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([cetra3](https://github.com/cetra3))
-- fix: remove incorrect debug assertion in BatchCoalescer
[\#9508](https://github.com/apache/arrow-rs/pull/9508)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Tim-53](https://github.com/Tim-53))
-- \[Json\] Add benchmarks for list json reader
[\#9507](https://github.com/apache/arrow-rs/pull/9507)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
-- fix: first next\_back\(\) on new RowsIter panics
[\#9505](https://github.com/apache/arrow-rs/pull/9505)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- Add some benchmarks for decoding delta encoded Parquet
[\#9500](https://github.com/apache/arrow-rs/pull/9500)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
-- chore: remove duplicate macro `partially_shredded_variant_array_gen`
[\#9498](https://github.com/apache/arrow-rs/pull/9498)
([codephage2020](https://github.com/codephage2020))
-- Deprecate ArrowTimestampType::make\_value in favor of from\_naive\_datetime
[\#9491](https://github.com/apache/arrow-rs/pull/9491)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
-- fix: Do not assume missing nullcount stat means zero nullcount
[\#9481](https://github.com/apache/arrow-rs/pull/9481)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([scovich](https://github.com/scovich))
-- \[Variant\] Enahcne bracket access for VariantPath
[\#9479](https://github.com/apache/arrow-rs/pull/9479)
([klion26](https://github.com/klion26))
-- Optimize delta binary decoder in the case where bitwidth=0
[\#9477](https://github.com/apache/arrow-rs/pull/9477)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
-- Add PrimitiveRunBuilder::with\_data\_type\(\) to customize the values'
DataType [\#9473](https://github.com/apache/arrow-rs/pull/9473)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brunal](https://github.com/brunal))
-- Convert `prettyprint` tests in `arrow-cast` to `insta` inline snapshots
[\#9472](https://github.com/apache/arrow-rs/pull/9472)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([grtlr](https://github.com/grtlr))
-- Update strum\_macros requirement from 0.27 to 0.28
[\#9471](https://github.com/apache/arrow-rs/pull/9471)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([dependabot[bot]](https://github.com/apps/dependabot))
-- docs\(parquet\): Fix broken links in README
[\#9467](https://github.com/apache/arrow-rs/pull/9467)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([SYaoJun](https://github.com/SYaoJun))
-- Add list-like types support to VariantArray::try\_new
[\#9457](https://github.com/apache/arrow-rs/pull/9457)
([sdf-jkl](https://github.com/sdf-jkl))
-- Simplify downcast\_...!\(\) macro definitions
[\#9454](https://github.com/apache/arrow-rs/pull/9454)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brunal](https://github.com/brunal))
-- feat\(parquet\): add content defined chunking for arrow writer
[\#9450](https://github.com/apache/arrow-rs/pull/9450)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([kszucs](https://github.com/kszucs))
-- refactor: simplify iterator using cloned\(\).map\(Some\)
[\#9449](https://github.com/apache/arrow-rs/pull/9449)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([SYaoJun](https://github.com/SYaoJun))
-- feat: Optimize from\_bitwise\_binary\_op with 64-bit alignment
[\#9441](https://github.com/apache/arrow-rs/pull/9441)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([kunalsinghdadhwal](https://github.com/kunalsinghdadhwal))
-- docs: fix markdown link syntax in README
[\#9440](https://github.com/apache/arrow-rs/pull/9440)
([SYaoJun](https://github.com/SYaoJun))
-- Move `ListLikeArray` to arrow-array to be shared with json writer and
parquet unshredding [\#9437](https://github.com/apache/arrow-rs/pull/9437)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
-- Add `claim` method to recordbatch for memory accounting
[\#9433](https://github.com/apache/arrow-rs/pull/9433)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cetra3](https://github.com/cetra3))
-- Add `append_nulls` to `MapBuilder`
[\#9432](https://github.com/apache/arrow-rs/pull/9432)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
-- Add `append_non_nulls` to `StructBuilder`
[\#9430](https://github.com/apache/arrow-rs/pull/9430)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
-- Add `append_value_n` to GenericByteBuilder
[\#9426](https://github.com/apache/arrow-rs/pull/9426)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
-- refactor: simplify dynamic state for Avro record projection
[\#9419](https://github.com/apache/arrow-rs/pull/9419)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
-- Add `NullBuffer::from_unsliced_buffer` helper and refactor call sites
[\#9411](https://github.com/apache/arrow-rs/pull/9411)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Eyad3skr](https://github.com/Eyad3skr))
-- Implement min, max, sum for run-end-encoded arrays.
[\#9409](https://github.com/apache/arrow-rs/pull/9409)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brunal](https://github.com/brunal))
-- feat: add `RunArray::new_unchecked` and `RunArray::into_parts`
[\#9376](https://github.com/apache/arrow-rs/pull/9376)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- Fix skip\_records over-counting when partial record precedes num\_rows page
skip [\#9374](https://github.com/apache/arrow-rs/pull/9374)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jonded94](https://github.com/jonded94))
-- fix: resolution of complex type variants in Avro unions
[\#9328](https://github.com/apache/arrow-rs/pull/9328)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
-- feat\(arrow-avro\): Configurable Arrow timezone ID for Avro timestamps
[\#9280](https://github.com/apache/arrow-rs/pull/9280)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- support length\(\) on Run-end encoding arrays
[\#9838](https://github.com/apache/arrow-rs/pull/9838)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Rich-T-kid](https://github.com/Rich-T-kid))
+- fix\(ipc\): correct skip\_field handling for V4 Union
[\#9829](https://github.com/apache/arrow-rs/pull/9829)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([pchintar](https://github.com/pchintar))
+- fix\(ipc\): replace wildcard in skip\_field with explicit DataType handling
[\#9822](https://github.com/apache/arrow-rs/pull/9822)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([pchintar](https://github.com/pchintar))
+- Prevent buffer builder length overflow in `MutableBuffer::extend_zeros`
[\#9820](https://github.com/apache/arrow-rs/pull/9820)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Prevent repeat slice length overflow
[\#9819](https://github.com/apache/arrow-rs/pull/9819)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Prevent BitChunks length overflow
[\#9818](https://github.com/apache/arrow-rs/pull/9818)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Prevent Rows row index overflow
[\#9817](https://github.com/apache/arrow-rs/pull/9817)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Prevent ArrayData validation length overflow
[\#9816](https://github.com/apache/arrow-rs/pull/9816)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[Json\] Remove arrow-data dependency from arrow-json
[\#9812](https://github.com/apache/arrow-rs/pull/9812)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- Replace `BooleanBufferBuilder` with `NullBufferBuilder` in arrow-json if
applicable [\#9811](https://github.com/apache/arrow-rs/pull/9811)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- refactor\(ipc\): derive Default for CompressionContext
[\#9809](https://github.com/apache/arrow-rs/pull/9809)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mbutrovich](https://github.com/mbutrovich))
+- fix\(ipc\): reader misalignment when skipping ListView / LargeListView
columns [\#9806](https://github.com/apache/arrow-rs/pull/9806)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([pchintar](https://github.com/pchintar))
+- fix\(ipc\): Avoid panic on malformed compressed buffer prefix
[\#9802](https://github.com/apache/arrow-rs/pull/9802)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([pchintar](https://github.com/pchintar))
+- parquet: fix panic in DeltaByteArrayDecoder on invalid prefix lengths
[\#9797](https://github.com/apache/arrow-rs/pull/9797)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([pchintar](https://github.com/pchintar))
+- feat\(parquet\): fuse level encoding with counting and histogram updates
[\#9795](https://github.com/apache/arrow-rs/pull/9795)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- Expose ColumnCloseResult on ArrowColumnChunk
[\#9773](https://github.com/apache/arrow-rs/pull/9773)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([leoyvens](https://github.com/leoyvens))
+- feat: make FFI structs fields `pub`
[\#9772](https://github.com/apache/arrow-rs/pull/9772)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([ashdnazg](https://github.com/ashdnazg))
+- chore: Refine the error message for List to non List cast
[\#9757](https://github.com/apache/arrow-rs/pull/9757)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([comphead](https://github.com/comphead))
+- refactor\(parquet\): replace magic `8` literals with named constants
[\#9751](https://github.com/apache/arrow-rs/pull/9751)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- feat\(ipc\): add with\_skip\_validation to StreamDecoder
[\#9749](https://github.com/apache/arrow-rs/pull/9749)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([pantShrey](https://github.com/pantShrey))
+- remove panics in unshred variant
[\#9741](https://github.com/apache/arrow-rs/pull/9741)
([friendlymatthew](https://github.com/friendlymatthew))
+- Add benchmark for ListView interleave
[\#9738](https://github.com/apache/arrow-rs/pull/9738)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([vegarsti](https://github.com/vegarsti))
+- arrow-arith: fix 'occured' -\> 'occurred' in arity.rs comments
[\#9736](https://github.com/apache/arrow-rs/pull/9736)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([SAY-5](https://github.com/SAY-5))
+- Refactor `RleEncoder::flush_bit_packed_run` to make flow clearer
[\#9735](https://github.com/apache/arrow-rs/pull/9735)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+- Fix RecordBatch::normalize\(\) null bitmap bug and add
StructArray::flatten\(\) [\#9733](https://github.com/apache/arrow-rs/pull/9733)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([sqd](https://github.com/sqd))
+- Add benchmark for cast from/to decimals
[\#9729](https://github.com/apache/arrow-rs/pull/9729)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([klion26](https://github.com/klion26))
+- refactor\(arrow-avro\): use `Decoder::flush_block` in async reader
[\#9726](https://github.com/apache/arrow-rs/pull/9726)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- fix: ParquetError when reading corrupt parquet file with truncated data
instead of Panic [\#9725](https://github.com/apache/arrow-rs/pull/9725)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([xuzifu666](https://github.com/xuzifu666))
+- feat\(parquet\): add wide-schema writer overhead benchmark
[\#9723](https://github.com/apache/arrow-rs/pull/9723)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- fix: correct accounting in `DictEncoder::estimated_memory_size`,
`Interner::estimated_memory_size`
[\#9720](https://github.com/apache/arrow-rs/pull/9720)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([mzabaluev](https://github.com/mzabaluev))
+- arrow-ipc: Write 0 offset buffer for length-0 variable-size arrays
[\#9717](https://github.com/apache/arrow-rs/pull/9717)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([atwam](https://github.com/atwam))
+- \[Json\] Support `FixedSizeList` in json decoder
[\#9715](https://github.com/apache/arrow-rs/pull/9715)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- chore\(deps\): bump actions/upload-pages-artifact from 4 to 5
[\#9713](https://github.com/apache/arrow-rs/pull/9713)
([dependabot[bot]](https://github.com/apps/dependabot))
+- Fix clippy warning in fixed\_size\_binary\_array.rs
[\#9712](https://github.com/apache/arrow-rs/pull/9712)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([AdamGS](https://github.com/AdamGS))
+- feat: add `has_non_empty_nulls` helper function in `OffsetBuffer`
[\#9711](https://github.com/apache/arrow-rs/pull/9711)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- chore\(deps\): bump pytest from 7.2.0 to 9.0.3 in /parquet/pytest
[\#9706](https://github.com/apache/arrow-rs/pull/9706)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- Fedora license audit [\#9704](https://github.com/apache/arrow-rs/pull/9704)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([michel-slm](https://github.com/michel-slm))
+- \[Variant\] Take top-level nulls into consideration when extracting
perfectly shredded children
[\#9702](https://github.com/apache/arrow-rs/pull/9702)
([AdamGS](https://github.com/AdamGS))
+- feat\(parquet\): add `push_decoder` benchmark for `PushBuffers` overhead
[\#9696](https://github.com/apache/arrow-rs/pull/9696)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- Add mutable bitwise operations to `BooleanArray` and
`NullBuffer::union_many` [\#9692](https://github.com/apache/arrow-rs/pull/9692)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mbutrovich](https://github.com/mbutrovich))
+- chore\(deps\): update hashbrown requirement from 0.16.0 to 0.17.0
[\#9691](https://github.com/apache/arrow-rs/pull/9691)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore\(deps\): bump actions/github-script from 8 to 9
[\#9690](https://github.com/apache/arrow-rs/pull/9690)
([dependabot[bot]](https://github.com/apps/dependabot))
+- minor: Re-enable CDC bench
[\#9686](https://github.com/apache/arrow-rs/pull/9686)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+- \[Variant\] Add `VariantArrayBuilder::append_nulls` API
[\#9685](https://github.com/apache/arrow-rs/pull/9685)
([sdf-jkl](https://github.com/sdf-jkl))
+- feat\(parquet\): add struct-column writer benchmarks
[\#9679](https://github.com/apache/arrow-rs/pull/9679)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- \[Arrow\] Add API to check if `Field` has a valid `ExtensionType`
[\#9677](https://github.com/apache/arrow-rs/pull/9677)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([sdf-jkl](https://github.com/sdf-jkl))
+- \[Variant\] `variant_get` should follow JSONPath semantics for Field path
element [\#9676](https://github.com/apache/arrow-rs/pull/9676)
([sdf-jkl](https://github.com/sdf-jkl))
+- ParquetMetaDataPushDecoder API to clear all buffered ranges
[\#9673](https://github.com/apache/arrow-rs/pull/9673)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([nathanb9](https://github.com/nathanb9))
+- Fix union cast incorrectness for duplicate field names
[\#9666](https://github.com/apache/arrow-rs/pull/9666)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([friendlymatthew](https://github.com/friendlymatthew))
+- chore: re-export `MAX_INLINE_VIEW_LEN` from `arrow_data`
[\#9665](https://github.com/apache/arrow-rs/pull/9665)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- No longer allow BIT\_PACKED level encoding in Parquet writer
[\#9656](https://github.com/apache/arrow-rs/pull/9656)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+- feat\(parquet\): add sparse-column writer benchmarks
[\#9654](https://github.com/apache/arrow-rs/pull/9654)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([HippoBaro](https://github.com/HippoBaro))
+- Support `GenericListViewArray::new_unchecked` and refactor `ListView` json
decoder [\#9648](https://github.com/apache/arrow-rs/pull/9648)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- \[Json\] Add json reader benchmarks for ListView
[\#9647](https://github.com/apache/arrow-rs/pull/9647)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- fix\(parquet\): fix CDC panic on nested ListArrays with null entries
[\#9644](https://github.com/apache/arrow-rs/pull/9644)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([kszucs](https://github.com/kszucs))
+- Add a test for reading nested REE data in json
[\#9634](https://github.com/apache/arrow-rs/pull/9634)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[Variant\] Fix `variant_get` to return `List<T>` instead of `List<Struct>`
[\#9631](https://github.com/apache/arrow-rs/pull/9631)
([liamzwbao](https://github.com/liamzwbao))
+- ci: use ubuntu-slim runner for lightweight CI jobs
[\#9630](https://github.com/apache/arrow-rs/pull/9630)
([CuteChuanChuan](https://github.com/CuteChuanChuan))
+- Add bloom filter folding to automatically size SBBF filters
[\#9628](https://github.com/apache/arrow-rs/pull/9628)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([adriangb](https://github.com/adriangb))
+- Add List and ListView take benchmarks
[\#9626](https://github.com/apache/arrow-rs/pull/9626)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([AdamGS](https://github.com/AdamGS))
+- ParquetPushDecoder API to clear all buffered ranges
[\#9624](https://github.com/apache/arrow-rs/pull/9624)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([nathanb9](https://github.com/nathanb9))
+- fix: handle missing dictionary batch for null-only columns in IPC reader
[\#9623](https://github.com/apache/arrow-rs/pull/9623)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([joaquinhuigomez](https://github.com/joaquinhuigomez))
+- Fix `MutableBuffer::clear`
[\#9622](https://github.com/apache/arrow-rs/pull/9622)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Rafferty97](https://github.com/Rafferty97))
+- feat\[arrow-ord\]: suppport REE comparisons
[\#9621](https://github.com/apache/arrow-rs/pull/9621)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([asubiotto](https://github.com/asubiotto))
+- chore\(deps\): update sha2 requirement from 0.10 to 0.11
[\#9618](https://github.com/apache/arrow-rs/pull/9618)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- Expose option to set line terminator for CSV writer
[\#9617](https://github.com/apache/arrow-rs/pull/9617)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([svranesevic](https://github.com/svranesevic))
+- \[Json\] Add json reader benchmarks for Map and REE
[\#9616](https://github.com/apache/arrow-rs/pull/9616)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- deps: fix `object_store` breakage for 0.13.2
[\#9612](https://github.com/apache/arrow-rs/pull/9612)
([mzabaluev-flarion](https://github.com/mzabaluev-flarion))
+- \[Variant\] Support Binary/LargeBinary children
[\#9610](https://github.com/apache/arrow-rs/pull/9610)
([AdamGS](https://github.com/AdamGS))
+- fix: use writer types in Skipper for resolved named record types
[\#9605](https://github.com/apache/arrow-rs/pull/9605)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([ariel-miculas](https://github.com/ariel-miculas))
+- feat\(parquet\): derive `PartialEq` and `Eq` for `CdcOptions`
[\#9602](https://github.com/apache/arrow-rs/pull/9602)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([kszucs](https://github.com/kszucs))
+- Add `finish_preserve_values` to `ArrayBuilder` trait
[\#9601](https://github.com/apache/arrow-rs/pull/9601)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([adamreichold](https://github.com/adamreichold))
+- \[Variant\] extend shredded null handling for arrays
[\#9599](https://github.com/apache/arrow-rs/pull/9599)
([sdf-jkl](https://github.com/sdf-jkl))
+- \[Variant\] Add unshredded `Struct` fast-path for `variant_get(...,
Struct)` [\#9597](https://github.com/apache/arrow-rs/pull/9597)
([sdf-jkl](https://github.com/sdf-jkl))
+- Pre-reserve output capacity in ByteView/ByteArray dictionary decoding
[\#9590](https://github.com/apache/arrow-rs/pull/9590)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- \[Variant\] Align cast logic for variant\_get to cast kernel for
numeric/bool types [\#9563](https://github.com/apache/arrow-rs/pull/9563)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([klion26](https://github.com/klion26))
+- Add support to cast from `UnionArray`
[\#9544](https://github.com/apache/arrow-rs/pull/9544)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([friendlymatthew](https://github.com/friendlymatthew))
+- Support `ListView` codec in arrow-json
[\#9503](https://github.com/apache/arrow-rs/pull/9503)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
diff --git a/Cargo.toml b/Cargo.toml
index 4ca4b068f6..52140a0528 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -68,7 +68,7 @@ exclude = [
]
[workspace.package]
-version = "58.1.0"
+version = "58.2.0"
homepage = "https://github.com/apache/arrow-rs"
repository = "https://github.com/apache/arrow-rs"
authors = ["Apache Arrow <[email protected]>"]
@@ -85,26 +85,26 @@ edition = "2024"
rust-version = "1.85"
[workspace.dependencies]
-arrow = { version = "58.1.0", path = "./arrow", default-features = false }
-arrow-arith = { version = "58.1.0", path = "./arrow-arith" }
-arrow-array = { version = "58.1.0", path = "./arrow-array" }
-arrow-buffer = { version = "58.1.0", path = "./arrow-buffer" }
-arrow-cast = { version = "58.1.0", path = "./arrow-cast" }
-arrow-csv = { version = "58.1.0", path = "./arrow-csv" }
-arrow-data = { version = "58.1.0", path = "./arrow-data" }
-arrow-ipc = { version = "58.1.0", path = "./arrow-ipc" }
-arrow-json = { version = "58.1.0", path = "./arrow-json" }
-arrow-ord = { version = "58.1.0", path = "./arrow-ord" }
-arrow-pyarrow = { version = "58.1.0", path = "./arrow-pyarrow" }
-arrow-row = { version = "58.1.0", path = "./arrow-row" }
-arrow-schema = { version = "58.1.0", path = "./arrow-schema" }
-arrow-select = { version = "58.1.0", path = "./arrow-select" }
-arrow-string = { version = "58.1.0", path = "./arrow-string" }
-parquet = { version = "58.1.0", path = "./parquet", default-features = false }
-parquet-geospatial = { version = "58.1.0", path = "./parquet-geospatial" }
-parquet-variant = { version = "58.1.0", path = "./parquet-variant" }
-parquet-variant-json = { version = "58.1.0", path = "./parquet-variant-json" }
-parquet-variant-compute = { version = "58.1.0", path =
"./parquet-variant-compute" }
+arrow = { version = "58.2.0", path = "./arrow", default-features = false }
+arrow-arith = { version = "58.2.0", path = "./arrow-arith" }
+arrow-array = { version = "58.2.0", path = "./arrow-array" }
+arrow-buffer = { version = "58.2.0", path = "./arrow-buffer" }
+arrow-cast = { version = "58.2.0", path = "./arrow-cast" }
+arrow-csv = { version = "58.2.0", path = "./arrow-csv" }
+arrow-data = { version = "58.2.0", path = "./arrow-data" }
+arrow-ipc = { version = "58.2.0", path = "./arrow-ipc" }
+arrow-json = { version = "58.2.0", path = "./arrow-json" }
+arrow-ord = { version = "58.2.0", path = "./arrow-ord" }
+arrow-pyarrow = { version = "58.2.0", path = "./arrow-pyarrow" }
+arrow-row = { version = "58.2.0", path = "./arrow-row" }
+arrow-schema = { version = "58.2.0", path = "./arrow-schema" }
+arrow-select = { version = "58.2.0", path = "./arrow-select" }
+arrow-string = { version = "58.2.0", path = "./arrow-string" }
+parquet = { version = "58.2.0", path = "./parquet", default-features = false }
+parquet-geospatial = { version = "58.2.0", path = "./parquet-geospatial" }
+parquet-variant = { version = "58.2.0", path = "./parquet-variant" }
+parquet-variant-json = { version = "58.2.0", path = "./parquet-variant-json" }
+parquet-variant-compute = { version = "58.2.0", path =
"./parquet-variant-compute" }
chrono = { version = "0.4.40", default-features = false, features = ["clock"] }
diff --git a/dev/release/update_change_log.sh b/dev/release/update_change_log.sh
index ae7bf81b0c..d4c8fa2501 100755
--- a/dev/release/update_change_log.sh
+++ b/dev/release/update_change_log.sh
@@ -29,8 +29,8 @@
set -e
-SINCE_TAG="58.0.0"
-FUTURE_RELEASE="58.1.0"
+SINCE_TAG="58.1.0"
+FUTURE_RELEASE="58.2.0"
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_TOP_DIR="$(cd "${SOURCE_DIR}/../../" && pwd)"