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 6cadf3b4de Prepare for 58.1.0 Release (#9573)
6cadf3b4de is described below
commit 6cadf3b4de916c707e2103b123a168154e668a33
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Mar 20 15:00:39 2026 -0400
Prepare for 58.1.0 Release (#9573)
# Which issue does this PR close?
- part of https://github.com/apache/arrow-rs/issues/9108
# Rationale for this change
Prepare for next release
# What changes are included in this PR?
1. Update version to `58.1.0`
2. Add changelog. See rendered preview here:
https://github.com/alamb/arrow-rs/blob/alamb/prepare_58.1.0/CHANGELOG.md
# Are these changes tested?
By CI
# Are there any user-facing changes?
Yes
---
CHANGELOG-old.md | 196 ++++++++++++++++++++++++++++
CHANGELOG.md | 273 ++++++++++++++-------------------------
Cargo.toml | 42 +++---
dev/release/update_change_log.sh | 4 +-
4 files changed, 317 insertions(+), 198 deletions(-)
diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md
index 300c1f4b2e..273884ea1f 100644
--- a/CHANGELOG-old.md
+++ b/CHANGELOG-old.md
@@ -19,6 +19,202 @@
# Historical Changelog
+
+## [58.0.0](https://github.com/apache/arrow-rs/tree/58.0.0) (2026-02-19)
+
+[Full Changelog](https://github.com/apache/arrow-rs/compare/57.3.0...58.0.0)
+
+**Breaking changes:**
+
+- Remove support for List types in bit\_length kernel
[\#9350](https://github.com/apache/arrow-rs/pull/9350)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
+- Optimize `from_bitwise_unary_op`
[\#9297](https://github.com/apache/arrow-rs/pull/9297)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- Mark `BufferBuilder::new_from_buffer` as unsafe
[\#9292](https://github.com/apache/arrow-rs/pull/9292)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- \[Variant\] Support `['fieldName']` in VariantPath parser
[\#9276](https://github.com/apache/arrow-rs/pull/9276)
([klion26](https://github.com/klion26))
+- Remove parquet arrow\_cast dependency
[\#9077](https://github.com/apache/arrow-rs/pull/9077)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([tustvold](https://github.com/tustvold))
+- feat: change default behavior for Parquet `PageEncodingStats` to bitmask
[\#9051](https://github.com/apache/arrow-rs/pull/9051)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([WaterWhisperer](https://github.com/WaterWhisperer))
+- \[arrow\] Minimize allocation in GenericViewArray::slice\(\)
[\#9016](https://github.com/apache/arrow-rs/pull/9016)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([maxburke](https://github.com/maxburke))
+
+**Implemented enhancements:**
+
+- Avoid allocating a `Vec` in `StructBuilder`
[\#9427](https://github.com/apache/arrow-rs/issues/9427)
+- Zstd context reuse [\#9401](https://github.com/apache/arrow-rs/issues/9401)
+- Optimize `from_bitwise_unary_op`
[\#9364](https://github.com/apache/arrow-rs/issues/9364)
+- Support `RunEndEncoded` in ord comparator
[\#9360](https://github.com/apache/arrow-rs/issues/9360)
+- Support `RunEndEncoded` arrays in `arrow-json`
[\#9359](https://github.com/apache/arrow-rs/issues/9359)
+- Support `BinaryView` in `bit_length` kernel
[\#9351](https://github.com/apache/arrow-rs/issues/9351)
+- Remove support for `List` types in `bit_length` kernel
[\#9349](https://github.com/apache/arrow-rs/issues/9349)
+- Support roundtrip `ListView` in parquet arrow writer
[\#9344](https://github.com/apache/arrow-rs/issues/9344)
+- Support `ListView` in `length` kernel
[\#9343](https://github.com/apache/arrow-rs/issues/9343)
+- Support `ListView` in sort kernel
[\#9341](https://github.com/apache/arrow-rs/issues/9341)
+- Add some way to create a Timestamp from a `DateTime`
[\#9337](https://github.com/apache/arrow-rs/issues/9337)
+- Introduce `DataType::is_list` and `DataType::IsBinary`
[\#9326](https://github.com/apache/arrow-rs/issues/9326)
+- Performance of creating all null dictionary array can be improved
[\#9321](https://github.com/apache/arrow-rs/issues/9321)
+- \[arrow-avro\] Add missing Arrow DataType support with `avro_custom_types`
round-trip + non-custom fallbacks
[\#9290](https://github.com/apache/arrow-rs/issues/9290)
+
+**Fixed bugs:**
+
+- ArrowArrayStreamReader errors on zero-column record batches
[\#9394](https://github.com/apache/arrow-rs/issues/9394)
+- Regression on main \(58\): Parquet argument error: Parquet error: Required
field type\_ is missing
[\#9315](https://github.com/apache/arrow-rs/issues/9315)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+
+**Documentation updates:**
+
+- Improve safety documentation of the `Array` trait
[\#9314](https://github.com/apache/arrow-rs/pull/9314)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Improve docs and add build\(\) method to `{Null,Boolean,}BufferBuilder`
[\#9155](https://github.com/apache/arrow-rs/pull/9155)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Improve `ArrowReaderBuilder::with_row_filter` documentation
[\#9153](https://github.com/apache/arrow-rs/pull/9153)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
+- docs: Improve main README.md and highlight community
[\#9119](https://github.com/apache/arrow-rs/pull/9119)
([alamb](https://github.com/alamb))
+- Docs: Add additional documentation and example for `make_array`
[\#9112](https://github.com/apache/arrow-rs/pull/9112)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- doc: fix link on FixedSizeListArray doc
[\#9033](https://github.com/apache/arrow-rs/pull/9033)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+
+**Performance improvements:**
+
+- Replace `ArrayData` with direct Array construction
[\#9338](https://github.com/apache/arrow-rs/pull/9338)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
+- Remove some `unsafe` and allocations when creating PrimitiveArrays from Vec
and `from_trusted_len_iter`
[\#9299](https://github.com/apache/arrow-rs/pull/9299)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- parquet: rle skip decode loop when batch contains all max levels \(aka no
nulls\) [\#9258](https://github.com/apache/arrow-rs/pull/9258)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
+- Improve parquet BinaryView / StringView decoder performance \(up to -35%\)
[\#9236](https://github.com/apache/arrow-rs/pull/9236)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- Avoid a clone when creating `BooleanArray` from ArrayData
[\#9159](https://github.com/apache/arrow-rs/pull/9159)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid overallocating arrays in coalesce primitives / views
[\#9132](https://github.com/apache/arrow-rs/pull/9132)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- perf: Avoid ArrayData allocation in PrimitiveArray::reinterpret\_cast
[\#9129](https://github.com/apache/arrow-rs/pull/9129)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[Parquet\] perf: Create StructArrays directly rather than via `ArrayData`
\(1% improvement\) [\#9120](https://github.com/apache/arrow-rs/pull/9120)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid clones in `make_array` for `StructArray` and `GenericByteViewArray`
[\#9114](https://github.com/apache/arrow-rs/pull/9114)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- perf: optimize hex decoding in json \(1.8x faster in binary-heavy\)
[\#9091](https://github.com/apache/arrow-rs/pull/9091)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
+- Speed up binary kernels \(30% faster `and` and `or`\), add
`BooleanBuffer::from_bitwise_binary_op`
[\#9090](https://github.com/apache/arrow-rs/pull/9090)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- perf: improve field indexing in JSON StructArrayDecoder \(1.7x speed up\)
[\#9086](https://github.com/apache/arrow-rs/pull/9086)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
+- bench: added to row\_format benchmark conversion of 53 non-nested columns
[\#9081](https://github.com/apache/arrow-rs/pull/9081)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- perf: improve calculating length performance for view byte array in row
conversion [\#9080](https://github.com/apache/arrow-rs/pull/9080)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- perf: improve calculating length performance for nested arrays in row
conversion [\#9079](https://github.com/apache/arrow-rs/pull/9079)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- perf: improve calculating length performance for `GenericByteArray` in row
conversion [\#9078](https://github.com/apache/arrow-rs/pull/9078)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+
+**Closed issues:**
+
+- BatchCoalescer::push\_batch panics on schema mismatch instead of returning
error [\#9389](https://github.com/apache/arrow-rs/issues/9389)
+- Release arrow-rs / parquet Minor version `57.3.0` \(January 2026\)
[\#9240](https://github.com/apache/arrow-rs/issues/9240)
+- \[Variant\] support `..` and `['fieldName']` syntax in the VariantPath
parser [\#9050](https://github.com/apache/arrow-rs/issues/9050)
+- Support Float16 for create\_random\_array
[\#9028](https://github.com/apache/arrow-rs/issues/9028)
+
+**Merged pull requests:**
+
+- Avoid allocating a `Vec` in `StructBuilder`
[\#9428](https://github.com/apache/arrow-rs/pull/9428)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
+- fix: fixed trait functions clash get\_date\_time\_part\_extract\_fn
\(\#8221\) [\#9424](https://github.com/apache/arrow-rs/pull/9424)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([esavier](https://github.com/esavier))
+- \[Minor\] Use per-predicate projection masks in arrow\_reader\_clickbench
benchmark [\#9413](https://github.com/apache/arrow-rs/pull/9413)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- Fix `ArrowArrayStreamReader` for 0-columns record batch streams
[\#9405](https://github.com/apache/arrow-rs/pull/9405)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jonded94](https://github.com/jonded94))
+- Use zstd::bulk API in IPC and Parquet with context reuse for compression and
decompression [\#9400](https://github.com/apache/arrow-rs/pull/9400)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- Reproduce the issue of \#9370 in a minimal, end-to-end way
[\#9399](https://github.com/apache/arrow-rs/pull/9399)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jonded94](https://github.com/jonded94))
+- perf: optimize skipper for varint values used when projecting Avro record
types [\#9397](https://github.com/apache/arrow-rs/pull/9397)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
+- fix: return error instead of panic on schema mismatch in
BatchCoalescer::push\_batch
[\#9390](https://github.com/apache/arrow-rs/pull/9390)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([bvolpato-dd](https://github.com/bvolpato-dd))
+- Minor: Add additional test coverage for
WriterProperties::{max\_row\_group\_row\_count,max\_row\_group\_size}
[\#9387](https://github.com/apache/arrow-rs/pull/9387)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
+- Moving invalid\_utf8 tests into a separate mod
[\#9384](https://github.com/apache/arrow-rs/pull/9384)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
+- Update sysinfo requirement from 0.37.1 to 0.38.1
[\#9383](https://github.com/apache/arrow-rs/pull/9383)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([dependabot[bot]](https://github.com/apps/dependabot))
+- feat: support RunEndEncoded arrays in arrow-json reader and writer
[\#9379](https://github.com/apache/arrow-rs/pull/9379)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Abhisheklearn12](https://github.com/Abhisheklearn12))
+- Remove lint issues in parquet-related code.
[\#9375](https://github.com/apache/arrow-rs/pull/9375)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([brunal](https://github.com/brunal))
+- Add RunEndEncoded array comparator
[\#9368](https://github.com/apache/arrow-rs/pull/9368)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
+- feat: support BinaryView in bit\_length kernel
[\#9363](https://github.com/apache/arrow-rs/pull/9363)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Abhisheklearn12](https://github.com/Abhisheklearn12))
+- Add regression tests for Parquet large binary offset overflow
[\#9361](https://github.com/apache/arrow-rs/pull/9361)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([vigneshsiva11](https://github.com/vigneshsiva11))
+- feat: add max\_row\_group\_bytes option to WriterProperties
[\#9357](https://github.com/apache/arrow-rs/pull/9357)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([yonipeleg33](https://github.com/yonipeleg33))
+- doc: remove disclaimer about `ListView` not being fully supported
[\#9356](https://github.com/apache/arrow-rs/pull/9356)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- Move row\_filter async tests from parquet async reader
[\#9355](https://github.com/apache/arrow-rs/pull/9355)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
+- \[Parquet\] Allow setting page size per column
[\#9353](https://github.com/apache/arrow-rs/pull/9353)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([XiangpengHao](https://github.com/XiangpengHao))
+- feat: Support roundtrip ListView in parquet arrow writer
[\#9352](https://github.com/apache/arrow-rs/pull/9352)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([codephage2020](https://github.com/codephage2020))
+- feat: add ListView and LargeListView support to arrow-ord
[\#9347](https://github.com/apache/arrow-rs/pull/9347)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
+- Support ListView in length kernel
[\#9346](https://github.com/apache/arrow-rs/pull/9346)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([vegarsti](https://github.com/vegarsti))
+- feat: Add from\_datetime method to Timestamp types
[\#9345](https://github.com/apache/arrow-rs/pull/9345)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
+- \[main\] Update version to 57.3.0, add changelog
[\#9334](https://github.com/apache/arrow-rs/pull/9334)
([alamb](https://github.com/alamb))
+- build\(deps\): update pyo3 requirement from 0.27.1 to 0.28.0
[\#9331](https://github.com/apache/arrow-rs/pull/9331)
([dependabot[bot]](https://github.com/apps/dependabot))
+- Add `DataType::is_list` and `DataType::is_binary`
[\#9327](https://github.com/apache/arrow-rs/pull/9327)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([AdamGS](https://github.com/AdamGS))
+- Fix string array equality when the values buffer is the same and only the
offsets to access it differ
[\#9325](https://github.com/apache/arrow-rs/pull/9325)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jhorstmann](https://github.com/jhorstmann))
+- perf: skip validation of dictionary keys if all null
[\#9322](https://github.com/apache/arrow-rs/pull/9322)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([albertlockett](https://github.com/albertlockett))
+- parquet: use rwlock instead of mutex in predicate cache
[\#9319](https://github.com/apache/arrow-rs/pull/9319)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
+- nit: remove usused code
[\#9318](https://github.com/apache/arrow-rs/pull/9318)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
+- Remove unnecessary Arc\<ArrayRef\>
[\#9316](https://github.com/apache/arrow-rs/pull/9316)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
+- Optimize data page statistics conversion \(up to 4x\)
[\#9303](https://github.com/apache/arrow-rs/pull/9303)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- \[regression\] Error with adaptive predicate pushdown: "Invalid offset in
sparse column chunk data: 754, no matching page found."
[\#9301](https://github.com/apache/arrow-rs/pull/9301)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
+- Improve `PrimitiveArray::from_iter` perf
[\#9294](https://github.com/apache/arrow-rs/pull/9294)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- Add additional Arrow type support
[\#9291](https://github.com/apache/arrow-rs/pull/9291)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
+- fix: ensure `BufferBuilder::truncate` doesn't overset length
[\#9288](https://github.com/apache/arrow-rs/pull/9288)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- Add benchmark for row group index reader perf
[\#9285](https://github.com/apache/arrow-rs/pull/9285)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
+- fix union array row converter to handle non-sequential type ids
[\#9283](https://github.com/apache/arrow-rs/pull/9283)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([friendlymatthew](https://github.com/friendlymatthew))
+- parquet: reduce clone in delta byte array decoder
[\#9282](https://github.com/apache/arrow-rs/pull/9282)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
+- fix: fix \[\[NULL\]\] array doesn't roundtrip in arrow-row bug
[\#9275](https://github.com/apache/arrow-rs/pull/9275)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([lichuang](https://github.com/lichuang))
+- Enhance list casting, adding more cases for list views
[\#9274](https://github.com/apache/arrow-rs/pull/9274)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- \[Variant\] Add path index access tests for list
[\#9273](https://github.com/apache/arrow-rs/pull/9273)
([liamzwbao](https://github.com/liamzwbao))
+- Factor out json reader's static make\_decoder args to a struct
[\#9271](https://github.com/apache/arrow-rs/pull/9271)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
+- make\_decoder accepts borrowed DataType instead of owned
[\#9270](https://github.com/apache/arrow-rs/pull/9270)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
+- Implement a more generic from\_nested\_iter method for list arrays
[\#9268](https://github.com/apache/arrow-rs/pull/9268)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jhorstmann](https://github.com/jhorstmann))
+- Move extension type construction logic out of Field
[\#9266](https://github.com/apache/arrow-rs/pull/9266)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
+- fix: support casting string to f16
[\#9262](https://github.com/apache/arrow-rs/pull/9262)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- Add additional coverage for StringViewArray comparisons
[\#9257](https://github.com/apache/arrow-rs/pull/9257)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Upgrade to object store 0.13.1
[\#9256](https://github.com/apache/arrow-rs/pull/9256)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- \[Parquet\] test adaptive predicate pushdown with skipped page
[\#9251](https://github.com/apache/arrow-rs/pull/9251)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
+- Speed up string view comparison \(up to 3x\)
[\#9250](https://github.com/apache/arrow-rs/pull/9250)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- Add bench for LocalFileSystem
[\#9248](https://github.com/apache/arrow-rs/pull/9248)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
+- \[Parquet\] Add test for reading/writing long UTF8 StringViews
[\#9246](https://github.com/apache/arrow-rs/pull/9246)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
+- \[Parquet\] test adaptive predicate pushdown with skipped page
[\#9243](https://github.com/apache/arrow-rs/pull/9243)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([erratic-pattern](https://github.com/erratic-pattern))
+- Add tests and fixes for schema resolution bug
[\#9237](https://github.com/apache/arrow-rs/pull/9237)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
+- Revert "Seal Array trait \(\#9092\)", mark `Array` as `unsafe`
[\#9234](https://github.com/apache/arrow-rs/pull/9234)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([gabotechs](https://github.com/gabotechs))
+- Speedup filter \(up to ~1.5x\)
`FilterBuilder::Optimize`/`BitIndexIterator`/`iter_set_bits_rev`
[\#9229](https://github.com/apache/arrow-rs/pull/9229)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- optimize `RowGroupIndexReader` for single row group reads
[\#9226](https://github.com/apache/arrow-rs/pull/9226)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
+- test: improve arrow-row fuzz tests
[\#9222](https://github.com/apache/arrow-rs/pull/9222)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- arrow-cast: support packing to Dictionary\(\_, Utf8View/BinaryView\)
[\#9220](https://github.com/apache/arrow-rs/pull/9220)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([ethan-tyler](https://github.com/ethan-tyler))
+- Add additional test coverage for `BatchCoalescer` push\_batch\_with\_filter
[\#9218](https://github.com/apache/arrow-rs/pull/9218)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[Parquet\] Optimize appending max level comparison in
DefinitionLevelDecoder [\#9217](https://github.com/apache/arrow-rs/pull/9217)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jhorstmann](https://github.com/jhorstmann))
+- Remove dead code to fix clippy failure on main
[\#9215](https://github.com/apache/arrow-rs/pull/9215)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[Parquet\] perf: reuse seeked File clone in ChunkReader::get\_read\(\)
[\#9214](https://github.com/apache/arrow-rs/pull/9214)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([fvaleye](https://github.com/fvaleye))
+- fix: \[9018\]Fixed RunArray slice offsets\(row, cast, eq\)
[\#9213](https://github.com/apache/arrow-rs/pull/9213)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([manishkr](https://github.com/manishkr))
+- Add benchmarks for reading struct arrays from parquet
[\#9210](https://github.com/apache/arrow-rs/pull/9210)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jhorstmann](https://github.com/jhorstmann))
+- Support casting negative scale decimals to numeric
[\#9207](https://github.com/apache/arrow-rs/pull/9207)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Chiicake](https://github.com/Chiicake))
+- Deprecate `ArrowReaderOptions::with_page_index` and update API
[\#9199](https://github.com/apache/arrow-rs/pull/9199)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
+- arrow-ipc: add reset method to DictionaryTracker
[\#9196](https://github.com/apache/arrow-rs/pull/9196)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([albertlockett](https://github.com/albertlockett))
+- Avoid a clone when creating `ListArray` from ArrayData
[\#9194](https://github.com/apache/arrow-rs/pull/9194)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `ListViewArray` from ArrayData
[\#9193](https://github.com/apache/arrow-rs/pull/9193)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `MapArray` from ArrayData
[\#9192](https://github.com/apache/arrow-rs/pull/9192)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `NullArray` from ArrayData
[\#9191](https://github.com/apache/arrow-rs/pull/9191)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `PrimitiveArray` from ArrayData
[\#9190](https://github.com/apache/arrow-rs/pull/9190)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `RunEndArray` from ArrayData
[\#9189](https://github.com/apache/arrow-rs/pull/9189)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `UnionArray` from ArrayData
[\#9188](https://github.com/apache/arrow-rs/pull/9188)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `FixedSizeListArray` from ArrayData
[\#9187](https://github.com/apache/arrow-rs/pull/9187)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `FixedSizeBinaryArray` from ArrayData
[\#9186](https://github.com/apache/arrow-rs/pull/9186)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Avoid a clone when creating `DictionaryArray` from ArrayData
[\#9185](https://github.com/apache/arrow-rs/pull/9185)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- fix: take\_run return empty array instead of panic.
[\#9182](https://github.com/apache/arrow-rs/pull/9182)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([thorfour](https://github.com/thorfour))
+- lint: remove unused function \(fix clippy
[\#9178](https://github.com/apache/arrow-rs/pull/9178)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- add `#[inline]` to `BitIterator` `next` function
[\#9177](https://github.com/apache/arrow-rs/pull/9177)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- Add ListView support to `arrow-row` and `arrow-ord`
[\#9176](https://github.com/apache/arrow-rs/pull/9176)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
+- arrow-cast: Add display formatter for ListView
[\#9175](https://github.com/apache/arrow-rs/pull/9175)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
+- Add BinaryFormatSupport and Row Encoder to `arrow-avro` Writer
[\#9171](https://github.com/apache/arrow-rs/pull/9171)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
+- docs\(parquet\): move async parquet example into ArrowReaderBuilder docs
[\#9167](https://github.com/apache/arrow-rs/pull/9167)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([vigneshsiva11](https://github.com/vigneshsiva11))
+- feat\(array\): add `RecordBatchStream` trait
[\#9166](https://github.com/apache/arrow-rs/pull/9166)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([lidavidm](https://github.com/lidavidm))
+- refactor: streamline date64 tests
[\#9165](https://github.com/apache/arrow-rs/pull/9165)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cht42](https://github.com/cht42))
+- docs: update examples in ArrowReaderOptions to use in-memory buffers
[\#9163](https://github.com/apache/arrow-rs/pull/9163)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([AndreaBozzo](https://github.com/AndreaBozzo))
+- Add Avro Reader projection API
[\#9162](https://github.com/apache/arrow-rs/pull/9162)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
+- Avoid a clone when creating StringArray/BinaryArray from ArrayData
[\#9160](https://github.com/apache/arrow-rs/pull/9160)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- fix missing utf8 check for conversion from BinaryViewArray to
StringViewArray [\#9158](https://github.com/apache/arrow-rs/pull/9158)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Minor: try and avoid an allocation creating `GenericByteViewArray` from
`ArrayData` [\#9156](https://github.com/apache/arrow-rs/pull/9156)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Add find\_nth\_set\_bit\_position
[\#9151](https://github.com/apache/arrow-rs/pull/9151)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- feat: add null comparison handling in make\_comparator
[\#9150](https://github.com/apache/arrow-rs/pull/9150)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
+- Uncomment part of test\_utf8\_single\_column\_reader\_test
[\#9148](https://github.com/apache/arrow-rs/pull/9148)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
+- arrow-ipc: Add tests for nested dicts for Map and Union arrays
[\#9146](https://github.com/apache/arrow-rs/pull/9146)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
+- Update ASF copyright year in NOTICE
[\#9145](https://github.com/apache/arrow-rs/pull/9145)
([mohit7705](https://github.com/mohit7705))
+- Avoid panic on Date32 overflow
[\#9144](https://github.com/apache/arrow-rs/pull/9144)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cht42](https://github.com/cht42))
+- feat: add `reserve` to `Rows`
[\#9142](https://github.com/apache/arrow-rs/pull/9142)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- docs\(variant\): fix VariantObject::get documentation to reflect Option
return type [\#9139](https://github.com/apache/arrow-rs/pull/9139)
([mohit7705](https://github.com/mohit7705))
+- Add `BooleanBufferBuilder::extend_trusted_len`
[\#9137](https://github.com/apache/arrow-rs/pull/9137)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
+- fix: support cast from `Null` to list view/run encoded/union types
[\#9134](https://github.com/apache/arrow-rs/pull/9134)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- Fix clippy [\#9130](https://github.com/apache/arrow-rs/pull/9130)
([alamb](https://github.com/alamb))
+- Fix IPC roundtripping dicts nested in ListViews
[\#9126](https://github.com/apache/arrow-rs/pull/9126)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
+- Update readme for geospatial crate
[\#9124](https://github.com/apache/arrow-rs/pull/9124)
([paleolimbot](https://github.com/paleolimbot))
+- \[Parquet\] perf: Create `PrimitiveArray`s directly rather than via
`ArrayData` [\#9122](https://github.com/apache/arrow-rs/pull/9122)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
+- \[Parquet\] perf: Create Utf8/BinaryViewArray directly rather than via
`ArrayData` [\#9121](https://github.com/apache/arrow-rs/pull/9121)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
+- \[parquet\] Add row group index virtual column
[\#9117](https://github.com/apache/arrow-rs/pull/9117)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
+- docs\(parquet\): add example for preserving dictionary encoding
[\#9116](https://github.com/apache/arrow-rs/pull/9116)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([AndreaBozzo](https://github.com/AndreaBozzo))
+- doc: add example of RowFilter usage
[\#9115](https://github.com/apache/arrow-rs/pull/9115)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sonhmai](https://github.com/sonhmai))
+- docs: Update release schedule in README.md
[\#9111](https://github.com/apache/arrow-rs/pull/9111)
([alamb](https://github.com/alamb))
+- feat: add benchmarks for json parser
[\#9107](https://github.com/apache/arrow-rs/pull/9107)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
+- chore: switch test from `bincode` to maintained `postcard` crate
\(RUSTSEC-2025-0141 \) [\#9104](https://github.com/apache/arrow-rs/pull/9104)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- Add nullif\_kernel benchmark
[\#9089](https://github.com/apache/arrow-rs/pull/9089)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
+- \[Variant\] Support Shredded Lists/Array in `variant_get`
[\#9049](https://github.com/apache/arrow-rs/pull/9049)
([liamzwbao](https://github.com/liamzwbao))
+- fix:\[9018\]Fixed RunArray slice offsets
[\#9036](https://github.com/apache/arrow-rs/pull/9036)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([manishkr](https://github.com/manishkr))
+- Support Float16 for create\_random\_array
[\#9029](https://github.com/apache/arrow-rs/pull/9029)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([niebayes](https://github.com/niebayes))
+- fix: display `0 secs` for empty DayTime/MonthDayNano intervals
[\#9023](https://github.com/apache/arrow-rs/pull/9023)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- Add options to skip decoding `Statistics` and `SizeStatistics` in Parquet
metadata [\#9008](https://github.com/apache/arrow-rs/pull/9008)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+
## [57.3.0](https://github.com/apache/arrow-rs/tree/57.3.0) (2026-02-02)
[Full Changelog](https://github.com/apache/arrow-rs/compare/57.2.0...57.3.0)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e73ee8ba33..baccdfa79c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,200 +19,123 @@
# Changelog
-## [58.0.0](https://github.com/apache/arrow-rs/tree/58.0.0) (2026-02-19)
+## [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/57.3.0...58.0.0)
-
-**Breaking changes:**
-
-- Remove support for List types in bit\_length kernel
[\#9350](https://github.com/apache/arrow-rs/pull/9350)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
-- Optimize `from_bitwise_unary_op`
[\#9297](https://github.com/apache/arrow-rs/pull/9297)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- Mark `BufferBuilder::new_from_buffer` as unsafe
[\#9292](https://github.com/apache/arrow-rs/pull/9292)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- \[Variant\] Support `['fieldName']` in VariantPath parser
[\#9276](https://github.com/apache/arrow-rs/pull/9276)
([klion26](https://github.com/klion26))
-- Remove parquet arrow\_cast dependency
[\#9077](https://github.com/apache/arrow-rs/pull/9077)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([tustvold](https://github.com/tustvold))
-- feat: change default behavior for Parquet `PageEncodingStats` to bitmask
[\#9051](https://github.com/apache/arrow-rs/pull/9051)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([WaterWhisperer](https://github.com/WaterWhisperer))
-- \[arrow\] Minimize allocation in GenericViewArray::slice\(\)
[\#9016](https://github.com/apache/arrow-rs/pull/9016)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([maxburke](https://github.com/maxburke))
+[Full Changelog](https://github.com/apache/arrow-rs/compare/58.0.0...58.1.0)
**Implemented enhancements:**
-- Avoid allocating a `Vec` in `StructBuilder`
[\#9427](https://github.com/apache/arrow-rs/issues/9427)
-- Zstd context reuse [\#9401](https://github.com/apache/arrow-rs/issues/9401)
-- Optimize `from_bitwise_unary_op`
[\#9364](https://github.com/apache/arrow-rs/issues/9364)
-- Support `RunEndEncoded` in ord comparator
[\#9360](https://github.com/apache/arrow-rs/issues/9360)
-- Support `RunEndEncoded` arrays in `arrow-json`
[\#9359](https://github.com/apache/arrow-rs/issues/9359)
-- Support `BinaryView` in `bit_length` kernel
[\#9351](https://github.com/apache/arrow-rs/issues/9351)
-- Remove support for `List` types in `bit_length` kernel
[\#9349](https://github.com/apache/arrow-rs/issues/9349)
-- Support roundtrip `ListView` in parquet arrow writer
[\#9344](https://github.com/apache/arrow-rs/issues/9344)
-- Support `ListView` in `length` kernel
[\#9343](https://github.com/apache/arrow-rs/issues/9343)
-- Support `ListView` in sort kernel
[\#9341](https://github.com/apache/arrow-rs/issues/9341)
-- Add some way to create a Timestamp from a `DateTime`
[\#9337](https://github.com/apache/arrow-rs/issues/9337)
-- Introduce `DataType::is_list` and `DataType::IsBinary`
[\#9326](https://github.com/apache/arrow-rs/issues/9326)
-- Performance of creating all null dictionary array can be improved
[\#9321](https://github.com/apache/arrow-rs/issues/9321)
-- \[arrow-avro\] Add missing Arrow DataType support with `avro_custom_types`
round-trip + non-custom fallbacks
[\#9290](https://github.com/apache/arrow-rs/issues/9290)
+- 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:**
-- ArrowArrayStreamReader errors on zero-column record batches
[\#9394](https://github.com/apache/arrow-rs/issues/9394)
-- Regression on main \(58\): Parquet argument error: Parquet error: Required
field type\_ is missing
[\#9315](https://github.com/apache/arrow-rs/issues/9315)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- 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:**
-- Improve safety documentation of the `Array` trait
[\#9314](https://github.com/apache/arrow-rs/pull/9314)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Improve docs and add build\(\) method to `{Null,Boolean,}BufferBuilder`
[\#9155](https://github.com/apache/arrow-rs/pull/9155)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Improve `ArrowReaderBuilder::with_row_filter` documentation
[\#9153](https://github.com/apache/arrow-rs/pull/9153)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
-- docs: Improve main README.md and highlight community
[\#9119](https://github.com/apache/arrow-rs/pull/9119)
([alamb](https://github.com/alamb))
-- Docs: Add additional documentation and example for `make_array`
[\#9112](https://github.com/apache/arrow-rs/pull/9112)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- doc: fix link on FixedSizeListArray doc
[\#9033](https://github.com/apache/arrow-rs/pull/9033)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
+- Update planned release schedule in README.md
[\#9466](https://github.com/apache/arrow-rs/pull/9466)
([alamb](https://github.com/alamb))
**Performance improvements:**
-- Replace `ArrayData` with direct Array construction
[\#9338](https://github.com/apache/arrow-rs/pull/9338)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([liamzwbao](https://github.com/liamzwbao))
-- Remove some `unsafe` and allocations when creating PrimitiveArrays from Vec
and `from_trusted_len_iter`
[\#9299](https://github.com/apache/arrow-rs/pull/9299)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- parquet: rle skip decode loop when batch contains all max levels \(aka no
nulls\) [\#9258](https://github.com/apache/arrow-rs/pull/9258)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
-- Improve parquet BinaryView / StringView decoder performance \(up to -35%\)
[\#9236](https://github.com/apache/arrow-rs/pull/9236)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- Avoid a clone when creating `BooleanArray` from ArrayData
[\#9159](https://github.com/apache/arrow-rs/pull/9159)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid overallocating arrays in coalesce primitives / views
[\#9132](https://github.com/apache/arrow-rs/pull/9132)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- perf: Avoid ArrayData allocation in PrimitiveArray::reinterpret\_cast
[\#9129](https://github.com/apache/arrow-rs/pull/9129)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[Parquet\] perf: Create StructArrays directly rather than via `ArrayData`
\(1% improvement\) [\#9120](https://github.com/apache/arrow-rs/pull/9120)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid clones in `make_array` for `StructArray` and `GenericByteViewArray`
[\#9114](https://github.com/apache/arrow-rs/pull/9114)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- perf: optimize hex decoding in json \(1.8x faster in binary-heavy\)
[\#9091](https://github.com/apache/arrow-rs/pull/9091)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
-- Speed up binary kernels \(30% faster `and` and `or`\), add
`BooleanBuffer::from_bitwise_binary_op`
[\#9090](https://github.com/apache/arrow-rs/pull/9090)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- perf: improve field indexing in JSON StructArrayDecoder \(1.7x speed up\)
[\#9086](https://github.com/apache/arrow-rs/pull/9086)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
-- bench: added to row\_format benchmark conversion of 53 non-nested columns
[\#9081](https://github.com/apache/arrow-rs/pull/9081)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- perf: improve calculating length performance for view byte array in row
conversion [\#9080](https://github.com/apache/arrow-rs/pull/9080)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- perf: improve calculating length performance for nested arrays in row
conversion [\#9079](https://github.com/apache/arrow-rs/pull/9079)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- perf: improve calculating length performance for `GenericByteArray` in row
conversion [\#9078](https://github.com/apache/arrow-rs/pull/9078)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
+- 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:**
-- BatchCoalescer::push\_batch panics on schema mismatch instead of returning
error [\#9389](https://github.com/apache/arrow-rs/issues/9389)
-- Release arrow-rs / parquet Minor version `57.3.0` \(January 2026\)
[\#9240](https://github.com/apache/arrow-rs/issues/9240)
-- \[Variant\] support `..` and `['fieldName']` syntax in the VariantPath
parser [\#9050](https://github.com/apache/arrow-rs/issues/9050)
-- Support Float16 for create\_random\_array
[\#9028](https://github.com/apache/arrow-rs/issues/9028)
+- 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:**
-- Avoid allocating a `Vec` in `StructBuilder`
[\#9428](https://github.com/apache/arrow-rs/pull/9428)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Fokko](https://github.com/Fokko))
-- fix: fixed trait functions clash get\_date\_time\_part\_extract\_fn
\(\#8221\) [\#9424](https://github.com/apache/arrow-rs/pull/9424)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([esavier](https://github.com/esavier))
-- \[Minor\] Use per-predicate projection masks in arrow\_reader\_clickbench
benchmark [\#9413](https://github.com/apache/arrow-rs/pull/9413)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- Fix `ArrowArrayStreamReader` for 0-columns record batch streams
[\#9405](https://github.com/apache/arrow-rs/pull/9405)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jonded94](https://github.com/jonded94))
-- Use zstd::bulk API in IPC and Parquet with context reuse for compression and
decompression [\#9400](https://github.com/apache/arrow-rs/pull/9400)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- Reproduce the issue of \#9370 in a minimal, end-to-end way
[\#9399](https://github.com/apache/arrow-rs/pull/9399)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jonded94](https://github.com/jonded94))
-- perf: optimize skipper for varint values used when projecting Avro record
types [\#9397](https://github.com/apache/arrow-rs/pull/9397)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([mzabaluev](https://github.com/mzabaluev))
-- fix: return error instead of panic on schema mismatch in
BatchCoalescer::push\_batch
[\#9390](https://github.com/apache/arrow-rs/pull/9390)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([bvolpato-dd](https://github.com/bvolpato-dd))
-- Minor: Add additional test coverage for
WriterProperties::{max\_row\_group\_row\_count,max\_row\_group\_size}
[\#9387](https://github.com/apache/arrow-rs/pull/9387)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
-- Moving invalid\_utf8 tests into a separate mod
[\#9384](https://github.com/apache/arrow-rs/pull/9384)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
-- Update sysinfo requirement from 0.37.1 to 0.38.1
[\#9383](https://github.com/apache/arrow-rs/pull/9383)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([dependabot[bot]](https://github.com/apps/dependabot))
-- feat: support RunEndEncoded arrays in arrow-json reader and writer
[\#9379](https://github.com/apache/arrow-rs/pull/9379)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Abhisheklearn12](https://github.com/Abhisheklearn12))
-- Remove lint issues in parquet-related code.
[\#9375](https://github.com/apache/arrow-rs/pull/9375)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([brunal](https://github.com/brunal))
-- Add RunEndEncoded array comparator
[\#9368](https://github.com/apache/arrow-rs/pull/9368)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
-- feat: support BinaryView in bit\_length kernel
[\#9363](https://github.com/apache/arrow-rs/pull/9363)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Abhisheklearn12](https://github.com/Abhisheklearn12))
-- Add regression tests for Parquet large binary offset overflow
[\#9361](https://github.com/apache/arrow-rs/pull/9361)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([vigneshsiva11](https://github.com/vigneshsiva11))
-- feat: add max\_row\_group\_bytes option to WriterProperties
[\#9357](https://github.com/apache/arrow-rs/pull/9357)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([yonipeleg33](https://github.com/yonipeleg33))
-- doc: remove disclaimer about `ListView` not being fully supported
[\#9356](https://github.com/apache/arrow-rs/pull/9356)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- Move row\_filter async tests from parquet async reader
[\#9355](https://github.com/apache/arrow-rs/pull/9355)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
-- \[Parquet\] Allow setting page size per column
[\#9353](https://github.com/apache/arrow-rs/pull/9353)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([XiangpengHao](https://github.com/XiangpengHao))
-- feat: Support roundtrip ListView in parquet arrow writer
[\#9352](https://github.com/apache/arrow-rs/pull/9352)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([codephage2020](https://github.com/codephage2020))
-- feat: add ListView and LargeListView support to arrow-ord
[\#9347](https://github.com/apache/arrow-rs/pull/9347)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
-- Support ListView in length kernel
[\#9346](https://github.com/apache/arrow-rs/pull/9346)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([vegarsti](https://github.com/vegarsti))
-- feat: Add from\_datetime method to Timestamp types
[\#9345](https://github.com/apache/arrow-rs/pull/9345)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([codephage2020](https://github.com/codephage2020))
-- \[main\] Update version to 57.3.0, add changelog
[\#9334](https://github.com/apache/arrow-rs/pull/9334)
([alamb](https://github.com/alamb))
-- build\(deps\): update pyo3 requirement from 0.27.1 to 0.28.0
[\#9331](https://github.com/apache/arrow-rs/pull/9331)
([dependabot[bot]](https://github.com/apps/dependabot))
-- Add `DataType::is_list` and `DataType::is_binary`
[\#9327](https://github.com/apache/arrow-rs/pull/9327)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([AdamGS](https://github.com/AdamGS))
-- Fix string array equality when the values buffer is the same and only the
offsets to access it differ
[\#9325](https://github.com/apache/arrow-rs/pull/9325)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jhorstmann](https://github.com/jhorstmann))
-- perf: skip validation of dictionary keys if all null
[\#9322](https://github.com/apache/arrow-rs/pull/9322)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([albertlockett](https://github.com/albertlockett))
-- parquet: use rwlock instead of mutex in predicate cache
[\#9319](https://github.com/apache/arrow-rs/pull/9319)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
-- nit: remove usused code
[\#9318](https://github.com/apache/arrow-rs/pull/9318)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
-- Remove unnecessary Arc\<ArrayRef\>
[\#9316](https://github.com/apache/arrow-rs/pull/9316)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
-- Optimize data page statistics conversion \(up to 4x\)
[\#9303](https://github.com/apache/arrow-rs/pull/9303)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- \[regression\] Error with adaptive predicate pushdown: "Invalid offset in
sparse column chunk data: 754, no matching page found."
[\#9301](https://github.com/apache/arrow-rs/pull/9301)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
-- Improve `PrimitiveArray::from_iter` perf
[\#9294](https://github.com/apache/arrow-rs/pull/9294)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- Add additional Arrow type support
[\#9291](https://github.com/apache/arrow-rs/pull/9291)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
-- fix: ensure `BufferBuilder::truncate` doesn't overset length
[\#9288](https://github.com/apache/arrow-rs/pull/9288)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- Add benchmark for row group index reader perf
[\#9285](https://github.com/apache/arrow-rs/pull/9285)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
-- fix union array row converter to handle non-sequential type ids
[\#9283](https://github.com/apache/arrow-rs/pull/9283)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([friendlymatthew](https://github.com/friendlymatthew))
-- parquet: reduce clone in delta byte array decoder
[\#9282](https://github.com/apache/arrow-rs/pull/9282)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([lyang24](https://github.com/lyang24))
-- fix: fix \[\[NULL\]\] array doesn't roundtrip in arrow-row bug
[\#9275](https://github.com/apache/arrow-rs/pull/9275)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([lichuang](https://github.com/lichuang))
-- Enhance list casting, adding more cases for list views
[\#9274](https://github.com/apache/arrow-rs/pull/9274)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- \[Variant\] Add path index access tests for list
[\#9273](https://github.com/apache/arrow-rs/pull/9273)
([liamzwbao](https://github.com/liamzwbao))
-- Factor out json reader's static make\_decoder args to a struct
[\#9271](https://github.com/apache/arrow-rs/pull/9271)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
-- make\_decoder accepts borrowed DataType instead of owned
[\#9270](https://github.com/apache/arrow-rs/pull/9270)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
-- Implement a more generic from\_nested\_iter method for list arrays
[\#9268](https://github.com/apache/arrow-rs/pull/9268)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jhorstmann](https://github.com/jhorstmann))
-- Move extension type construction logic out of Field
[\#9266](https://github.com/apache/arrow-rs/pull/9266)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([scovich](https://github.com/scovich))
-- fix: support casting string to f16
[\#9262](https://github.com/apache/arrow-rs/pull/9262)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- Add additional coverage for StringViewArray comparisons
[\#9257](https://github.com/apache/arrow-rs/pull/9257)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Upgrade to object store 0.13.1
[\#9256](https://github.com/apache/arrow-rs/pull/9256)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- \[Parquet\] test adaptive predicate pushdown with skipped page
[\#9251](https://github.com/apache/arrow-rs/pull/9251)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
-- Speed up string view comparison \(up to 3x\)
[\#9250](https://github.com/apache/arrow-rs/pull/9250)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- Add bench for LocalFileSystem
[\#9248](https://github.com/apache/arrow-rs/pull/9248)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([Dandandan](https://github.com/Dandandan))
-- \[Parquet\] Add test for reading/writing long UTF8 StringViews
[\#9246](https://github.com/apache/arrow-rs/pull/9246)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
-- \[Parquet\] test adaptive predicate pushdown with skipped page
[\#9243](https://github.com/apache/arrow-rs/pull/9243)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([erratic-pattern](https://github.com/erratic-pattern))
-- Add tests and fixes for schema resolution bug
[\#9237](https://github.com/apache/arrow-rs/pull/9237)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
-- Revert "Seal Array trait \(\#9092\)", mark `Array` as `unsafe`
[\#9234](https://github.com/apache/arrow-rs/pull/9234)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([gabotechs](https://github.com/gabotechs))
-- Speedup filter \(up to ~1.5x\)
`FilterBuilder::Optimize`/`BitIndexIterator`/`iter_set_bits_rev`
[\#9229](https://github.com/apache/arrow-rs/pull/9229)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- optimize `RowGroupIndexReader` for single row group reads
[\#9226](https://github.com/apache/arrow-rs/pull/9226)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
-- test: improve arrow-row fuzz tests
[\#9222](https://github.com/apache/arrow-rs/pull/9222)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- arrow-cast: support packing to Dictionary\(\_, Utf8View/BinaryView\)
[\#9220](https://github.com/apache/arrow-rs/pull/9220)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([ethan-tyler](https://github.com/ethan-tyler))
-- Add additional test coverage for `BatchCoalescer` push\_batch\_with\_filter
[\#9218](https://github.com/apache/arrow-rs/pull/9218)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[Parquet\] Optimize appending max level comparison in
DefinitionLevelDecoder [\#9217](https://github.com/apache/arrow-rs/pull/9217)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jhorstmann](https://github.com/jhorstmann))
-- Remove dead code to fix clippy failure on main
[\#9215](https://github.com/apache/arrow-rs/pull/9215)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[Parquet\] perf: reuse seeked File clone in ChunkReader::get\_read\(\)
[\#9214](https://github.com/apache/arrow-rs/pull/9214)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([fvaleye](https://github.com/fvaleye))
-- fix: \[9018\]Fixed RunArray slice offsets\(row, cast, eq\)
[\#9213](https://github.com/apache/arrow-rs/pull/9213)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([manishkr](https://github.com/manishkr))
-- Add benchmarks for reading struct arrays from parquet
[\#9210](https://github.com/apache/arrow-rs/pull/9210)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([jhorstmann](https://github.com/jhorstmann))
-- Support casting negative scale decimals to numeric
[\#9207](https://github.com/apache/arrow-rs/pull/9207)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Chiicake](https://github.com/Chiicake))
-- Deprecate `ArrowReaderOptions::with_page_index` and update API
[\#9199](https://github.com/apache/arrow-rs/pull/9199)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
-- arrow-ipc: add reset method to DictionaryTracker
[\#9196](https://github.com/apache/arrow-rs/pull/9196)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([albertlockett](https://github.com/albertlockett))
-- Avoid a clone when creating `ListArray` from ArrayData
[\#9194](https://github.com/apache/arrow-rs/pull/9194)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `ListViewArray` from ArrayData
[\#9193](https://github.com/apache/arrow-rs/pull/9193)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `MapArray` from ArrayData
[\#9192](https://github.com/apache/arrow-rs/pull/9192)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `NullArray` from ArrayData
[\#9191](https://github.com/apache/arrow-rs/pull/9191)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `PrimitiveArray` from ArrayData
[\#9190](https://github.com/apache/arrow-rs/pull/9190)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `RunEndArray` from ArrayData
[\#9189](https://github.com/apache/arrow-rs/pull/9189)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `UnionArray` from ArrayData
[\#9188](https://github.com/apache/arrow-rs/pull/9188)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `FixedSizeListArray` from ArrayData
[\#9187](https://github.com/apache/arrow-rs/pull/9187)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `FixedSizeBinaryArray` from ArrayData
[\#9186](https://github.com/apache/arrow-rs/pull/9186)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Avoid a clone when creating `DictionaryArray` from ArrayData
[\#9185](https://github.com/apache/arrow-rs/pull/9185)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- fix: take\_run return empty array instead of panic.
[\#9182](https://github.com/apache/arrow-rs/pull/9182)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([thorfour](https://github.com/thorfour))
-- lint: remove unused function \(fix clippy
[\#9178](https://github.com/apache/arrow-rs/pull/9178)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- add `#[inline]` to `BitIterator` `next` function
[\#9177](https://github.com/apache/arrow-rs/pull/9177)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- Add ListView support to `arrow-row` and `arrow-ord`
[\#9176](https://github.com/apache/arrow-rs/pull/9176)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
-- arrow-cast: Add display formatter for ListView
[\#9175](https://github.com/apache/arrow-rs/pull/9175)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
-- Add BinaryFormatSupport and Row Encoder to `arrow-avro` Writer
[\#9171](https://github.com/apache/arrow-rs/pull/9171)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
-- docs\(parquet\): move async parquet example into ArrowReaderBuilder docs
[\#9167](https://github.com/apache/arrow-rs/pull/9167)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([vigneshsiva11](https://github.com/vigneshsiva11))
-- feat\(array\): add `RecordBatchStream` trait
[\#9166](https://github.com/apache/arrow-rs/pull/9166)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([lidavidm](https://github.com/lidavidm))
-- refactor: streamline date64 tests
[\#9165](https://github.com/apache/arrow-rs/pull/9165)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cht42](https://github.com/cht42))
-- docs: update examples in ArrowReaderOptions to use in-memory buffers
[\#9163](https://github.com/apache/arrow-rs/pull/9163)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([AndreaBozzo](https://github.com/AndreaBozzo))
-- Add Avro Reader projection API
[\#9162](https://github.com/apache/arrow-rs/pull/9162)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([jecsand838](https://github.com/jecsand838))
-- Avoid a clone when creating StringArray/BinaryArray from ArrayData
[\#9160](https://github.com/apache/arrow-rs/pull/9160)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- fix missing utf8 check for conversion from BinaryViewArray to
StringViewArray [\#9158](https://github.com/apache/arrow-rs/pull/9158)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Minor: try and avoid an allocation creating `GenericByteViewArray` from
`ArrayData` [\#9156](https://github.com/apache/arrow-rs/pull/9156)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Add find\_nth\_set\_bit\_position
[\#9151](https://github.com/apache/arrow-rs/pull/9151)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- feat: add null comparison handling in make\_comparator
[\#9150](https://github.com/apache/arrow-rs/pull/9150)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
-- Uncomment part of test\_utf8\_single\_column\_reader\_test
[\#9148](https://github.com/apache/arrow-rs/pull/9148)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sdf-jkl](https://github.com/sdf-jkl))
-- arrow-ipc: Add tests for nested dicts for Map and Union arrays
[\#9146](https://github.com/apache/arrow-rs/pull/9146)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
-- Update ASF copyright year in NOTICE
[\#9145](https://github.com/apache/arrow-rs/pull/9145)
([mohit7705](https://github.com/mohit7705))
-- Avoid panic on Date32 overflow
[\#9144](https://github.com/apache/arrow-rs/pull/9144)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([cht42](https://github.com/cht42))
-- feat: add `reserve` to `Rows`
[\#9142](https://github.com/apache/arrow-rs/pull/9142)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([rluvaton](https://github.com/rluvaton))
-- docs\(variant\): fix VariantObject::get documentation to reflect Option
return type [\#9139](https://github.com/apache/arrow-rs/pull/9139)
([mohit7705](https://github.com/mohit7705))
-- Add `BooleanBufferBuilder::extend_trusted_len`
[\#9137](https://github.com/apache/arrow-rs/pull/9137)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Dandandan](https://github.com/Dandandan))
-- fix: support cast from `Null` to list view/run encoded/union types
[\#9134](https://github.com/apache/arrow-rs/pull/9134)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- Fix clippy [\#9130](https://github.com/apache/arrow-rs/pull/9130)
([alamb](https://github.com/alamb))
-- Fix IPC roundtripping dicts nested in ListViews
[\#9126](https://github.com/apache/arrow-rs/pull/9126)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([brancz](https://github.com/brancz))
-- Update readme for geospatial crate
[\#9124](https://github.com/apache/arrow-rs/pull/9124)
([paleolimbot](https://github.com/paleolimbot))
-- \[Parquet\] perf: Create `PrimitiveArray`s directly rather than via
`ArrayData` [\#9122](https://github.com/apache/arrow-rs/pull/9122)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
-- \[Parquet\] perf: Create Utf8/BinaryViewArray directly rather than via
`ArrayData` [\#9121](https://github.com/apache/arrow-rs/pull/9121)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([alamb](https://github.com/alamb))
-- \[parquet\] Add row group index virtual column
[\#9117](https://github.com/apache/arrow-rs/pull/9117)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([friendlymatthew](https://github.com/friendlymatthew))
-- docs\(parquet\): add example for preserving dictionary encoding
[\#9116](https://github.com/apache/arrow-rs/pull/9116)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([AndreaBozzo](https://github.com/AndreaBozzo))
-- doc: add example of RowFilter usage
[\#9115](https://github.com/apache/arrow-rs/pull/9115)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([sonhmai](https://github.com/sonhmai))
-- docs: Update release schedule in README.md
[\#9111](https://github.com/apache/arrow-rs/pull/9111)
([alamb](https://github.com/alamb))
-- feat: add benchmarks for json parser
[\#9107](https://github.com/apache/arrow-rs/pull/9107)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Weijun-H](https://github.com/Weijun-H))
-- chore: switch test from `bincode` to maintained `postcard` crate
\(RUSTSEC-2025-0141 \) [\#9104](https://github.com/apache/arrow-rs/pull/9104)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- Add nullif\_kernel benchmark
[\#9089](https://github.com/apache/arrow-rs/pull/9089)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([alamb](https://github.com/alamb))
-- \[Variant\] Support Shredded Lists/Array in `variant_get`
[\#9049](https://github.com/apache/arrow-rs/pull/9049)
([liamzwbao](https://github.com/liamzwbao))
-- fix:\[9018\]Fixed RunArray slice offsets
[\#9036](https://github.com/apache/arrow-rs/pull/9036)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([manishkr](https://github.com/manishkr))
-- Support Float16 for create\_random\_array
[\#9029](https://github.com/apache/arrow-rs/pull/9029)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([niebayes](https://github.com/niebayes))
-- fix: display `0 secs` for empty DayTime/MonthDayNano intervals
[\#9023](https://github.com/apache/arrow-rs/pull/9023)
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
([Jefffrey](https://github.com/Jefffrey))
-- Add options to skip decoding `Statistics` and `SizeStatistics` in Parquet
metadata [\#9008](https://github.com/apache/arrow-rs/pull/9008)
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
([etseidl](https://github.com/etseidl))
+- \[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))
diff --git a/Cargo.toml b/Cargo.toml
index 1a02830b0b..65043fb60f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -68,7 +68,7 @@ exclude = [
]
[workspace.package]
-version = "58.0.0"
+version = "58.1.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.0.0", path = "./arrow", default-features = false }
-arrow-arith = { version = "58.0.0", path = "./arrow-arith" }
-arrow-array = { version = "58.0.0", path = "./arrow-array" }
-arrow-buffer = { version = "58.0.0", path = "./arrow-buffer" }
-arrow-cast = { version = "58.0.0", path = "./arrow-cast" }
-arrow-csv = { version = "58.0.0", path = "./arrow-csv" }
-arrow-data = { version = "58.0.0", path = "./arrow-data" }
-arrow-ipc = { version = "58.0.0", path = "./arrow-ipc" }
-arrow-json = { version = "58.0.0", path = "./arrow-json" }
-arrow-ord = { version = "58.0.0", path = "./arrow-ord" }
-arrow-pyarrow = { version = "58.0.0", path = "./arrow-pyarrow" }
-arrow-row = { version = "58.0.0", path = "./arrow-row" }
-arrow-schema = { version = "58.0.0", path = "./arrow-schema" }
-arrow-select = { version = "58.0.0", path = "./arrow-select" }
-arrow-string = { version = "58.0.0", path = "./arrow-string" }
-parquet = { version = "58.0.0", path = "./parquet", default-features = false }
-parquet-geospatial = { version = "58.0.0", path = "./parquet-geospatial" }
-parquet-variant = { version = "58.0.0", path = "./parquet-variant" }
-parquet-variant-json = { version = "58.0.0", path = "./parquet-variant-json" }
-parquet-variant-compute = { version = "58.0.0", path =
"./parquet-variant-compute" }
+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" }
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 b444cae649..ae7bf81b0c 100755
--- a/dev/release/update_change_log.sh
+++ b/dev/release/update_change_log.sh
@@ -29,8 +29,8 @@
set -e
-SINCE_TAG="57.3.0"
-FUTURE_RELEASE="58.0.0"
+SINCE_TAG="58.0.0"
+FUTURE_RELEASE="58.1.0"
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_TOP_DIR="$(cd "${SOURCE_DIR}/../../" && pwd)"