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 b1de629ae8 Prepare for `59.1.0` release (#10274)
b1de629ae8 is described below

commit b1de629ae82ee417e24a413f8f6815c884ec971b
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Jul 3 16:33:50 2026 -0400

    Prepare for `59.1.0` release (#10274)
    
    # Which issue does this PR close?
    
    - Part of https://github.com/apache/arrow-rs/issues/9878
    
    # Rationale for this change
    
    This prepares for the `59.1.0` (minor) release of the Rust Arrow /
    Parquet crates.
    
    # What changes are included in this PR?
    
    1. Update version to `59.1.0`
    2. Update CHANGELOG. See rendered preview here:
    https://github.com/alamb/arrow-rs/blob/release-59.1.0/CHANGELOG.md
    
    # Are these changes tested?
    
    By CI
    
    # Are there any user-facing changes?
    
    yes
---
 CHANGELOG-old.md                 | 131 ++++++++++++++++++++++
 CHANGELOG.md                     | 230 ++++++++++++++++++++-------------------
 Cargo.lock                       |  52 ++++-----
 Cargo.toml                       |  42 +++----
 dev/release/update_change_log.sh |   4 +-
 5 files changed, 299 insertions(+), 160 deletions(-)

diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md
index b35e601c4c..7371b8512f 100644
--- a/CHANGELOG-old.md
+++ b/CHANGELOG-old.md
@@ -21,6 +21,137 @@
 
 # Changelog
 
+## [59.0.0](https://github.com/apache/arrow-rs/tree/59.0.0) (2026-06-04)
+
+[Full Changelog](https://github.com/apache/arrow-rs/compare/58.3.0...59.0.0)
+
+**Breaking changes:**
+
+- chore: Remove some deprecated Arrow functions from the public API 
[\#10040](https://github.com/apache/arrow-rs/pull/10040) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([etseidl](https://github.com/etseidl))
+- chore: Remove some deprecated functions from parquet crate 
[\#10035](https://github.com/apache/arrow-rs/pull/10035) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- Replace `From<Vec<_>>` impls with `TryFrom`s for `FixedSizeBinaryArray` 
[\#10019](https://github.com/apache/arrow-rs/pull/10019) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([quantumish](https://github.com/quantumish))
+- Use Thrift macro to generate Parquet `LogicalType` serialization code 
[\#9997](https://github.com/apache/arrow-rs/pull/9997) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- refactor: make `BloomFilterProperties` fpp/ndv private with accessors 
[\#9969](https://github.com/apache/arrow-rs/pull/9969) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([CuteChuanChuan](https://github.com/CuteChuanChuan))
+- Remove deprecated parquet::format module and thrift dependency 
[\#9962](https://github.com/apache/arrow-rs/pull/9962) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([jhorstmann](https://github.com/jhorstmann))
+- generic channel support for FlightClient 
[\#9933](https://github.com/apache/arrow-rs/pull/9933) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([rumenov](https://github.com/rumenov))
+- Add `CompressionCodec` Thrift enum for Parquet metadata 
[\#9864](https://github.com/apache/arrow-rs/pull/9864) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- \[Variant\] remove `BorrowedShreddingState` 
[\#9791](https://github.com/apache/arrow-rs/pull/9791) 
([sdf-jkl](https://github.com/sdf-jkl))
+- Remove deprecated legacy `like` kernels in `arrow-string` 
[\#9674](https://github.com/apache/arrow-rs/pull/9674) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+
+**Implemented enhancements:**
+
+- Allow casting plain struct to dictionary encoded struct 
[\#10038](https://github.com/apache/arrow-rs/issues/10038) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Optimize arrow-flight 
[\#10029](https://github.com/apache/arrow-rs/issues/10029)
+- Align buffers when importing via `from_ffi` / `ArrowArrayStreamReader` 
[\#10028](https://github.com/apache/arrow-rs/issues/10028) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Switch Parquet `LogicalType` enum to macro generated version 
[\#9995](https://github.com/apache/arrow-rs/issues/9995) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Future proof Parquet Thrift parser 
[\#9973](https://github.com/apache/arrow-rs/issues/9973) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Add `DatePart` 1-indexed variants 
[\#9964](https://github.com/apache/arrow-rs/issues/9964) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- perf: Rework Parquet Thrift handling of boolean fields 
[\#9946](https://github.com/apache/arrow-rs/issues/9946) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Add benchmarks for REE to parquet 
[\#9935](https://github.com/apache/arrow-rs/issues/9935) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \(re\) Allow Large `FixedSizeBinaryArray`s 
[\#9906](https://github.com/apache/arrow-rs/issues/9906) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Add a is\_normalized flag to DictionaryArray 
[\#9841](https://github.com/apache/arrow-rs/issues/9841)
+- \[Variant\] Remove `BorrowedShreddingState` 
[\#9790](https://github.com/apache/arrow-rs/issues/9790)
+- \[parquet\] Expose whether FileDecryptionProperties uses a KeyRetriever 
[\#9721](https://github.com/apache/arrow-rs/issues/9721) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Align cast logic for from/to\_decimal for variant to cast kernel 
[\#9688](https://github.com/apache/arrow-rs/issues/9688) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+
+**Fixed bugs:**
+
+- parquet-variant build might fail on s390x 
[\#10026](https://github.com/apache/arrow-rs/issues/10026)
+- `FixedSizeBinaryArray` implements `From<Vec<&[u8]>>` etc despite conversion 
being fallible [\#10018](https://github.com/apache/arrow-rs/issues/10018) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- string -\> decimal cast should not treat empty string as 0 
[\#10009](https://github.com/apache/arrow-rs/issues/10009) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Cast FixedSizeList to List will lost datatype metadata in list 
[\#10004](https://github.com/apache/arrow-rs/issues/10004) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Record reader panics with "index out of bounds" when row group num\_rows 
exceeds actual column data 
[\#9992](https://github.com/apache/arrow-rs/issues/9992) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- parquet predicate-cache: panic / silent row drop on single-leaf nullable 
struct [\#9982](https://github.com/apache/arrow-rs/issues/9982) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- parquet-variant doesn't build on 32-bit targets 
[\#9977](https://github.com/apache/arrow-rs/issues/9977)
+- Date32 doesn't parse date with large year 
[\#9960](https://github.com/apache/arrow-rs/issues/9960) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- msrv check failing on main due to `[email protected]` 
[\#9938](https://github.com/apache/arrow-rs/issues/9938) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+
+**Documentation updates:**
+
+- Release arrow-rs / parquet  Minor/Patch version `58.3.0` or `58.2.1` \(May 
2026\) [\#9859](https://github.com/apache/arrow-rs/issues/9859)
+- Add docs for `BitWriter` 
[\#9949](https://github.com/apache/arrow-rs/pull/9949) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
+- Add docs for `BitReader` 
[\#9948](https://github.com/apache/arrow-rs/pull/9948) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
+
+**Performance improvements:**
+
+- perf: parquet LevelInfoBuilder::write\_list can be optimized? 
[\#10023](https://github.com/apache/arrow-rs/issues/10023) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- perf\(parquet\): LevelInfoBuilder batch write when no repetition childs 
[\#10037](https://github.com/apache/arrow-rs/pull/10037) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([mapleFU](https://github.com/mapleFU))
+- \[arrow-select\] Replace `ArrayData` with direct `Array` construction in 
filter kernels [\#9986](https://github.com/apache/arrow-rs/pull/9986) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- Bulk-fill definition levels for majority-null leaf columns 
[\#9967](https://github.com/apache/arrow-rs/pull/9967) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([RyanJamesStewart](https://github.com/RyanJamesStewart))
+- perf: Remove `bool_val` from Parquet Thrift `FieldIdentifier` 
[\#9945](https://github.com/apache/arrow-rs/pull/9945) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- feat\(parquet\): compact level representation with generic writer dispatch 
[\#9831](https://github.com/apache/arrow-rs/pull/9831) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+
+**Closed issues:**
+
+- Bound ArrowWriter peak memory  
[\#10071](https://github.com/apache/arrow-rs/issues/10071) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Parquet writer can produce massively oversized data pages for large 
variable-width values 
[\#10061](https://github.com/apache/arrow-rs/issues/10061) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Remove the `fused_inline_view_columns` field from `BatchCoalescer` if 
possible [\#10055](https://github.com/apache/arrow-rs/issues/10055)
+- DataType parser permits negative FixedSizeBinary size 
[\#10033](https://github.com/apache/arrow-rs/issues/10033) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet: return error for overlong INT96 column metadata statistics 
[\#10002](https://github.com/apache/arrow-rs/issues/10002) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- `Uuid` extension type fails to deserialize when `ARROW:extension:metadata` 
is an empty string [\#10000](https://github.com/apache/arrow-rs/issues/10000) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- parquet: timeline for removing thrift crate dependency \(CVE-2026-43868\) 
[\#9999](https://github.com/apache/arrow-rs/issues/9999)
+- Failure in CI: `Archery test With other arrows` - `binary_view Rust 
producing,  .NET consuming` 
[\#9989](https://github.com/apache/arrow-rs/issues/9989) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Validate FIXED\_LEN\_BYTE\_ARRAY type\_length for DECIMAL and INTERVAL in 
Parquet → Arrow schema conversion 
[\#9984](https://github.com/apache/arrow-rs/issues/9984) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- IPC reader projection does not handle duplicate projection indices correctly 
[\#9950](https://github.com/apache/arrow-rs/issues/9950) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- `AnyRunArray` trait [\#9909](https://github.com/apache/arrow-rs/issues/9909) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Release arrow-rs / parquet Patch version `57.3.1` \(May 2026\) 
[\#9858](https://github.com/apache/arrow-rs/issues/9858) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Release arrow-rs / parquet Patch version `56.2.1` \(May 2026\) 
[\#9857](https://github.com/apache/arrow-rs/issues/9857) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- parquet/arrow: should sync/async readers converge on a shared physical read 
planner [\#9764](https://github.com/apache/arrow-rs/issues/9764)
+- `arrow-string` has a lot of macro-generated deprecated kernels in `like.rs` 
[\#9675](https://github.com/apache/arrow-rs/issues/9675) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[parquet\] Add BloomFilterProperties builder API to make bloom filter 
configuration explicit [\#9667](https://github.com/apache/arrow-rs/issues/9667) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+
+**Merged pull requests:**
+
+- Bump max throughput in `flight` benchmark before blocking 
[\#10070](https://github.com/apache/arrow-rs/pull/10070) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- Add coalesce inline-view filter benchmarks 
[\#10050](https://github.com/apache/arrow-rs/pull/10050) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ClSlaid](https://github.com/ClSlaid))
+- fix: better error handling for negative size of FixedSizeBinary 
[\#10042](https://github.com/apache/arrow-rs/pull/10042) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([theirix](https://github.com/theirix))
+- bench\(parquet\): add Sbbf check/insert benchmarks 
[\#10041](https://github.com/apache/arrow-rs/pull/10041) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([dmatth1](https://github.com/dmatth1))
+- arrow-cast: Add ability to cast plain struct to dictionary 
[\#10039](https://github.com/apache/arrow-rs/pull/10039) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([brancz](https://github.com/brancz))
+- \[\#10029\]\[benchmarks\] arrow-flight roundtrip as well as encode/decode  
[\#10031](https://github.com/apache/arrow-rs/pull/10031) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- Call `align_buffers()` in `from_ffi`, remove redundant call from 
`arrow-pyarrow` [\#10030](https://github.com/apache/arrow-rs/pull/10030) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
+- Adjust Variant size expectation for s390x architecture 
[\#10027](https://github.com/apache/arrow-rs/pull/10027) 
([frantisekz](https://github.com/frantisekz))
+- bench\(parquet\): add short and large string `arrow_writer` benchmarks 
[\#10021](https://github.com/apache/arrow-rs/pull/10021) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
+- Pluggable page spilling API for the Parquet ArrowWriter \(PageStore\) 
[\#10020](https://github.com/apache/arrow-rs/pull/10020) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
+- fix: Reject empty strings when casting strings to decimal 
[\#10010](https://github.com/apache/arrow-rs/pull/10010) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([neilconway](https://github.com/neilconway))
+- feat: Implement decimal \<-\> float16 casts 
[\#10008](https://github.com/apache/arrow-rs/pull/10008) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([neilconway](https://github.com/neilconway))
+- fix\(cast\): Trying to fix cast losting schema problem 
[\#10005](https://github.com/apache/arrow-rs/pull/10005) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mapleFU](https://github.com/mapleFU))
+- fix\(parquet\): validate INT96 column metadata statistics 
[\#10003](https://github.com/apache/arrow-rs/pull/10003) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([fallintoplace](https://github.com/fallintoplace))
+- fix\(arrow-schema\): allow empty metadata value for UUID extension type 
[\#10001](https://github.com/apache/arrow-rs/pull/10001) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
+- Add helper functions to create `LogicalType` struct variants 
[\#9996](https://github.com/apache/arrow-rs/pull/9996) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- fix: prevent panic in record reader when row group metadata overcounts 
num\_rows [\#9993](https://github.com/apache/arrow-rs/pull/9993) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([BoazC-MSFT](https://github.com/BoazC-MSFT))
+- feat: extract `has_false` and `has_true` from BooleanArray to 
`BooleanBuffer` and reuse for no nulls 
[\#9987](https://github.com/apache/arrow-rs/pull/9987) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- Validate FIXED\_LEN\_BYTE\_ARRAY length for DECIMAL and INTERVAL types 
[\#9985](https://github.com/apache/arrow-rs/pull/9985) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([CynicDog](https://github.com/CynicDog))
+- fix\(parquet\): exclude single-leaf struct roots from predicate cache 
[\#9983](https://github.com/apache/arrow-rs/pull/9983) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([imhy](https://github.com/imhy))
+- Adds is\_null function to RowAccessor 
[\#9979](https://github.com/apache/arrow-rs/pull/9979) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([choubacha](https://github.com/choubacha))
+- Fix parquet-variant build on wasm targets 
[\#9978](https://github.com/apache/arrow-rs/pull/9978) 
([AdamGS](https://github.com/AdamGS))
+- Safely ignore Parquet fields with unimplemented Thrift types 
[\#9974](https://github.com/apache/arrow-rs/pull/9974) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- fix\(parquet\): bound data page byte size for large variable-width values 
[\#9972](https://github.com/apache/arrow-rs/pull/9972) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
+- feat\(parquet\): Add `ParquetPushDecoder::into_builder` to allow swapping 
projections / row filters at row group boundaries 
[\#9968](https://github.com/apache/arrow-rs/pull/9968) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
+- chore\(deps\): bump peaceiris/actions-gh-pages from 4.0.0 to 4.1.0 
[\#9966](https://github.com/apache/arrow-rs/pull/9966) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- Add `DatePart` enum 1-indexed variants 
[\#9965](https://github.com/apache/arrow-rs/pull/9965) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sdf-jkl](https://github.com/sdf-jkl))
+- fix\(arrow-cast\): support full Date32 range when parsing extended-year 
dates [\#9961](https://github.com/apache/arrow-rs/pull/9961) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([swanandx](https://github.com/swanandx))
+- Implement AnyRee [\#9959](https://github.com/apache/arrow-rs/pull/9959) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- test: add overflow tests for MutableBuffer 
[\#9958](https://github.com/apache/arrow-rs/pull/9958) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([SoimanVasile](https://github.com/SoimanVasile))
+- feat\(parquet\): generalize value encoder inputs 
[\#9955](https://github.com/apache/arrow-rs/pull/9955) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- feat\(parquet\): add all-null fast paths for level building 
[\#9954](https://github.com/apache/arrow-rs/pull/9954) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- fix\(ipc\): handle duplicate projection indices in IPC reader 
[\#9952](https://github.com/apache/arrow-rs/pull/9952) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+- Fix MSRV check by checking in Cargo.lock 
[\#9941](https://github.com/apache/arrow-rs/pull/9941) 
([alamb](https://github.com/alamb))
+- benchmarks for writing REE arrays to parquet 
[\#9936](https://github.com/apache/arrow-rs/pull/9936) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- Validate encoded Thrift lists match the schema 
[\#9924](https://github.com/apache/arrow-rs/pull/9924) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- \[arrow-array\] use usize arithmetic in FixedSizeBinaryArray, aggressive 
overflow checks [\#9910](https://github.com/apache/arrow-rs/pull/9910) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- feat\(parquet\): add uses\_key\_retriever method to FileDecryptionProperties 
[\#9895](https://github.com/apache/arrow-rs/pull/9895) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adamreeve](https://github.com/adamreeve))
+- Support ListView/BinaryView/RunEndEncoded types in integration test JSON 
parser [\#9888](https://github.com/apache/arrow-rs/pull/9888) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([paleolimbot](https://github.com/paleolimbot))
+- feat\(parquet\): add BloomFilterPropertiesBuilder 
[\#9877](https://github.com/apache/arrow-rs/pull/9877) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([CuteChuanChuan](https://github.com/CuteChuanChuan))
+- perf\[arrow-select\]: add specialized REE interleave 
[\#9856](https://github.com/apache/arrow-rs/pull/9856) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
+- bench\(parquet\): add `ListArray` benchmarks for runtime and peak memory 
[\#9846](https://github.com/apache/arrow-rs/pull/9846) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- feat\(parquet\): separate push decoder frontier state from row-group 
decoding [\#9804](https://github.com/apache/arrow-rs/pull/9804) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- arrow: add oversized coalesce take benchmarks 
[\#9799](https://github.com/apache/arrow-rs/pull/9799) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ClSlaid](https://github.com/ClSlaid))
+- Remove redundant benchmarks in `cast_kernels` 
[\#9789](https://github.com/apache/arrow-rs/pull/9789) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- \[Variant\] Align cast logic for from/to\_decimal for variant 
[\#9689](https://github.com/apache/arrow-rs/pull/9689) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([klion26](https://github.com/klion26))
+- \[Parquet\]: GH-563: Make `path_in_schema` optional 
[\#9678](https://github.com/apache/arrow-rs/pull/9678) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- Add support for FixedSizeList to variant\_to\_arrow 
[\#9663](https://github.com/apache/arrow-rs/pull/9663) 
([rishvin](https://github.com/rishvin))
+- Reduce Miri runtime even more 
[\#9650](https://github.com/apache/arrow-rs/pull/9650) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+
 ## [58.3.0](https://github.com/apache/arrow-rs/tree/58.3.0) (2026-05-07)
 
 [Full Changelog](https://github.com/apache/arrow-rs/compare/58.2.0...58.3.0)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b2272f2e38..08dd44d9b0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,136 +19,144 @@
 
 # Changelog
 
-## [59.0.0](https://github.com/apache/arrow-rs/tree/59.0.0) (2026-06-04)
+## [59.1.0](https://github.com/apache/arrow-rs/tree/59.1.0) (2026-07-03)
 
-[Full Changelog](https://github.com/apache/arrow-rs/compare/57.3.1...59.0.0)
-
-**Breaking changes:**
-
-- chore: Remove some deprecated Arrow functions from the public API 
[\#10040](https://github.com/apache/arrow-rs/pull/10040) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([etseidl](https://github.com/etseidl))
-- chore: Remove some deprecated functions from parquet crate 
[\#10035](https://github.com/apache/arrow-rs/pull/10035) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- Replace `From<Vec<_>>` impls with `TryFrom`s for `FixedSizeBinaryArray` 
[\#10019](https://github.com/apache/arrow-rs/pull/10019) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([quantumish](https://github.com/quantumish))
-- Use Thrift macro to generate Parquet `LogicalType` serialization code 
[\#9997](https://github.com/apache/arrow-rs/pull/9997) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- refactor: make `BloomFilterProperties` fpp/ndv private with accessors 
[\#9969](https://github.com/apache/arrow-rs/pull/9969) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([CuteChuanChuan](https://github.com/CuteChuanChuan))
-- Remove deprecated parquet::format module and thrift dependency 
[\#9962](https://github.com/apache/arrow-rs/pull/9962) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([jhorstmann](https://github.com/jhorstmann))
-- generic channel support for FlightClient 
[\#9933](https://github.com/apache/arrow-rs/pull/9933) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([rumenov](https://github.com/rumenov))
-- Add `CompressionCodec` Thrift enum for Parquet metadata 
[\#9864](https://github.com/apache/arrow-rs/pull/9864) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- \[Variant\] remove `BorrowedShreddingState` 
[\#9791](https://github.com/apache/arrow-rs/pull/9791) 
([sdf-jkl](https://github.com/sdf-jkl))
-- Remove deprecated legacy `like` kernels in `arrow-string` 
[\#9674](https://github.com/apache/arrow-rs/pull/9674) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+[Full Changelog](https://github.com/apache/arrow-rs/compare/59.0.0...59.1.0)
 
 **Implemented enhancements:**
 
-- Allow casting plain struct to dictionary encoded struct 
[\#10038](https://github.com/apache/arrow-rs/issues/10038) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Optimize arrow-flight 
[\#10029](https://github.com/apache/arrow-rs/issues/10029)
-- Align buffers when importing via `from_ffi` / `ArrowArrayStreamReader` 
[\#10028](https://github.com/apache/arrow-rs/issues/10028) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Switch Parquet `LogicalType` enum to macro generated version 
[\#9995](https://github.com/apache/arrow-rs/issues/9995) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Future proof Parquet Thrift parser 
[\#9973](https://github.com/apache/arrow-rs/issues/9973) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Add `DatePart` 1-indexed variants 
[\#9964](https://github.com/apache/arrow-rs/issues/9964) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- perf: Rework Parquet Thrift handling of boolean fields 
[\#9946](https://github.com/apache/arrow-rs/issues/9946) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Add benchmarks for REE to parquet 
[\#9935](https://github.com/apache/arrow-rs/issues/9935) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \(re\) Allow Large `FixedSizeBinaryArray`s 
[\#9906](https://github.com/apache/arrow-rs/issues/9906) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Add a is\_normalized flag to DictionaryArray 
[\#9841](https://github.com/apache/arrow-rs/issues/9841)
-- \[Variant\] Remove `BorrowedShreddingState` 
[\#9790](https://github.com/apache/arrow-rs/issues/9790)
-- \[parquet\] Expose whether FileDecryptionProperties uses a KeyRetriever 
[\#9721](https://github.com/apache/arrow-rs/issues/9721) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Align cast logic for from/to\_decimal for variant to cast kernel 
[\#9688](https://github.com/apache/arrow-rs/issues/9688) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Fast path for nested `DictionaryArray` casting 
[\#10247](https://github.com/apache/arrow-rs/issues/10247) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- parquet/arrow: reading multiple nested columns fails with "Not all children 
array length are the same!" when a list continues across DataPageV2 page 
boundary [\#10243](https://github.com/apache/arrow-rs/issues/10243) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Add product aggregate kernel to arrow-rs 
[\#10150](https://github.com/apache/arrow-rs/issues/10150) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Stricter `DataType` parsing 
[\#10146](https://github.com/apache/arrow-rs/issues/10146) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support validating CSV headers against Schema 
[\#10143](https://github.com/apache/arrow-rs/issues/10143) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- arrow-ipc: Supports compression level configuration for arrow-ipc writer 
[\#10132](https://github.com/apache/arrow-rs/issues/10132) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] `VariantArray` field API naming 
[\#10093](https://github.com/apache/arrow-rs/issues/10093)
+- Add `StructArray::field_` APIs symmetric to `StructArray::column_` ones 
[\#10092](https://github.com/apache/arrow-rs/issues/10092) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- arrow-buffer: implement Saturating, CheckedShl, Not num-traits for i256 
[\#10087](https://github.com/apache/arrow-rs/issues/10087) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- feat: native concat for `MapArray` 
[\#10047](https://github.com/apache/arrow-rs/issues/10047) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] Add `variant_to_arrow` `Dictionary/REE` type support 
[\#10013](https://github.com/apache/arrow-rs/issues/10013)
 
 **Fixed bugs:**
 
-- parquet-variant build might fail on s390x 
[\#10026](https://github.com/apache/arrow-rs/issues/10026)
-- `FixedSizeBinaryArray` implements `From<Vec<&[u8]>>` etc despite conversion 
being fallible [\#10018](https://github.com/apache/arrow-rs/issues/10018) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- string -\> decimal cast should not treat empty string as 0 
[\#10009](https://github.com/apache/arrow-rs/issues/10009) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Cast FixedSizeList to List will lost datatype metadata in list 
[\#10004](https://github.com/apache/arrow-rs/issues/10004) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Record reader panics with "index out of bounds" when row group num\_rows 
exceeds actual column data 
[\#9992](https://github.com/apache/arrow-rs/issues/9992) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- parquet predicate-cache: panic / silent row drop on single-leaf nullable 
struct [\#9982](https://github.com/apache/arrow-rs/issues/9982) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- parquet-variant doesn't build on 32-bit targets 
[\#9977](https://github.com/apache/arrow-rs/issues/9977)
-- Date32 doesn't parse date with large year 
[\#9960](https://github.com/apache/arrow-rs/issues/9960) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- msrv check failing on main due to `[email protected]` 
[\#9938](https://github.com/apache/arrow-rs/issues/9938) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+- arrow-row on fixed size binary/list with size 0 and no nulls return wrong 
length [\#10270](https://github.com/apache/arrow-rs/issues/10270)
+- casting list to 0-size fixedsizelist can cause incorrect output length 
[\#10227](https://github.com/apache/arrow-rs/issues/10227) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Buffer count mismatched with metadata when encoding records with dictionary 
of dictionaries [\#10213](https://github.com/apache/arrow-rs/issues/10213) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- `Buffer::into_mutable` is not consistent regarding sliced data and can lead 
to panics [\#10117](https://github.com/apache/arrow-rs/issues/10117) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- parquet\_derive: cannot read or write columns whose name is a Rust keyword 
\(raw identifiers like r\#type become column "r\#type"\) 
[\#10112](https://github.com/apache/arrow-rs/issues/10112)
+- parquet: fix OffsetBuffer panic on corrupt input 
[\#10107](https://github.com/apache/arrow-rs/issues/10107) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Parquet geospatial conversion uses metadata key "algorithm" instead of 
"edges" in geoarrow metadata 
[\#9929](https://github.com/apache/arrow-rs/issues/9929) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
 
 **Documentation updates:**
 
-- Release arrow-rs / parquet  Minor/Patch version `58.3.0` or `58.2.1` \(May 
2026\) [\#9859](https://github.com/apache/arrow-rs/issues/9859)
-- Add docs for `BitWriter` 
[\#9949](https://github.com/apache/arrow-rs/pull/9949) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
-- Add docs for `BitReader` 
[\#9948](https://github.com/apache/arrow-rs/pull/9948) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
+- doc: More comments to `concat_batches` 
[\#10178](https://github.com/apache/arrow-rs/pull/10178) 
([2010YOUY01](https://github.com/2010YOUY01))
+- Minor: improve PageStore docs with a temp-file spilling example 
[\#10074](https://github.com/apache/arrow-rs/pull/10074) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
 
 **Performance improvements:**
 
-- perf: parquet LevelInfoBuilder::write\_list can be optimized? 
[\#10023](https://github.com/apache/arrow-rs/issues/10023) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- perf\(parquet\): LevelInfoBuilder batch write when no repetition childs 
[\#10037](https://github.com/apache/arrow-rs/pull/10037) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([mapleFU](https://github.com/mapleFU))
-- \[arrow-select\] Replace `ArrayData` with direct `Array` construction in 
filter kernels [\#9986](https://github.com/apache/arrow-rs/pull/9986) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- Bulk-fill definition levels for majority-null leaf columns 
[\#9967](https://github.com/apache/arrow-rs/pull/9967) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([RyanJamesStewart](https://github.com/RyanJamesStewart))
-- perf: Remove `bool_val` from Parquet Thrift `FieldIdentifier` 
[\#9945](https://github.com/apache/arrow-rs/pull/9945) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- feat\(parquet\): compact level representation with generic writer dispatch 
[\#9831](https://github.com/apache/arrow-rs/pull/9831) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- perf: interleave\_list for List\<Primitive\> could be optimized? 
[\#10022](https://github.com/apache/arrow-rs/issues/10022) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- perf\(arrow-ord\): Avoid full index materialization for small-limit lexsorts 
[\#9990](https://github.com/apache/arrow-rs/issues/9990) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Replace conversion of binary-\>string in arrow-row from arraydata to direct 
construction [\#10261](https://github.com/apache/arrow-rs/pull/10261) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- \[arrow-flight encode path\]re-use flatbufferbuilder 
[\#10220](https://github.com/apache/arrow-rs/pull/10220) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- \[10125\] arrow-flight decode path optimizations \(add `skip_validation` to 
arrow-flight\) [\#10206](https://github.com/apache/arrow-rs/pull/10206) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- Improve performance of `concat_elements` ByteViewArray concatenation 
[\#10161](https://github.com/apache/arrow-rs/pull/10161) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pepijnve](https://github.com/pepijnve))
+- \[arrow-flight\] Optimize flight, remove some allocations, add dictionary 
focused benchmarks [\#10126](https://github.com/apache/arrow-rs/pull/10126) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- optimize\(concat\): concat map implementation 
[\#10048](https://github.com/apache/arrow-rs/pull/10048) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mapleFU](https://github.com/mapleFU))
+- Reduce copies in Arrow IPC writer 
[\#10044](https://github.com/apache/arrow-rs/pull/10044) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- perf\(interleave\): Optimize list interleave\_list when child is primitive 
[\#10025](https://github.com/apache/arrow-rs/pull/10025) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mapleFU](https://github.com/mapleFU))
 
 **Closed issues:**
 
-- Bound ArrowWriter peak memory  
[\#10071](https://github.com/apache/arrow-rs/issues/10071) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Parquet writer can produce massively oversized data pages for large 
variable-width values 
[\#10061](https://github.com/apache/arrow-rs/issues/10061) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Remove the `fused_inline_view_columns` field from `BatchCoalescer` if 
possible [\#10055](https://github.com/apache/arrow-rs/issues/10055)
-- DataType parser permits negative FixedSizeBinary size 
[\#10033](https://github.com/apache/arrow-rs/issues/10033) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Parquet: return error for overlong INT96 column metadata statistics 
[\#10002](https://github.com/apache/arrow-rs/issues/10002) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- `Uuid` extension type fails to deserialize when `ARROW:extension:metadata` 
is an empty string [\#10000](https://github.com/apache/arrow-rs/issues/10000) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- parquet: timeline for removing thrift crate dependency \(CVE-2026-43868\) 
[\#9999](https://github.com/apache/arrow-rs/issues/9999)
-- Failure in CI: `Archery test With other arrows` - `binary_view Rust 
producing,  .NET consuming` 
[\#9989](https://github.com/apache/arrow-rs/issues/9989) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Validate FIXED\_LEN\_BYTE\_ARRAY type\_length for DECIMAL and INTERVAL in 
Parquet → Arrow schema conversion 
[\#9984](https://github.com/apache/arrow-rs/issues/9984) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- IPC reader projection does not handle duplicate projection indices correctly 
[\#9950](https://github.com/apache/arrow-rs/issues/9950) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- `AnyRunArray` trait [\#9909](https://github.com/apache/arrow-rs/issues/9909) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Release arrow-rs / parquet Patch version `57.3.1` \(May 2026\) 
[\#9858](https://github.com/apache/arrow-rs/issues/9858) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Release arrow-rs / parquet Patch version `56.2.1` \(May 2026\) 
[\#9857](https://github.com/apache/arrow-rs/issues/9857) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- parquet/arrow: should sync/async readers converge on a shared physical read 
planner [\#9764](https://github.com/apache/arrow-rs/issues/9764)
-- `arrow-string` has a lot of macro-generated deprecated kernels in `like.rs` 
[\#9675](https://github.com/apache/arrow-rs/issues/9675) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[parquet\] Add BloomFilterProperties builder API to make bloom filter 
configuration explicit [\#9667](https://github.com/apache/arrow-rs/issues/9667) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Soundness: Unsound alignment contract in public `FromBytes` trait and 
`BitReader::get_batch` 
[\#10164](https://github.com/apache/arrow-rs/issues/10164) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- ParquetPushDecoder: expose the next row-group index that try\_next\_reader 
will yield [\#10148](https://github.com/apache/arrow-rs/issues/10148) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- arrow-ipc: Extend writer benchmarks to include dictionaries 
[\#10119](https://github.com/apache/arrow-rs/issues/10119) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- bench\(parquet\): benchmark for nested list write 
[\#10083](https://github.com/apache/arrow-rs/issues/10083) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Support i256 implement From\<i128\> 
[\#10080](https://github.com/apache/arrow-rs/issues/10080) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
 
 **Merged pull requests:**
 
-- Bump max throughput in `flight` benchmark before blocking 
[\#10070](https://github.com/apache/arrow-rs/pull/10070) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
-- Add coalesce inline-view filter benchmarks 
[\#10050](https://github.com/apache/arrow-rs/pull/10050) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ClSlaid](https://github.com/ClSlaid))
-- fix: better error handling for negative size of FixedSizeBinary 
[\#10042](https://github.com/apache/arrow-rs/pull/10042) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([theirix](https://github.com/theirix))
-- bench\(parquet\): add Sbbf check/insert benchmarks 
[\#10041](https://github.com/apache/arrow-rs/pull/10041) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([dmatth1](https://github.com/dmatth1))
-- arrow-cast: Add ability to cast plain struct to dictionary 
[\#10039](https://github.com/apache/arrow-rs/pull/10039) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([brancz](https://github.com/brancz))
-- \[\#10029\]\[benchmarks\] arrow-flight roundtrip as well as encode/decode  
[\#10031](https://github.com/apache/arrow-rs/pull/10031) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
-- Call `align_buffers()` in `from_ffi`, remove redundant call from 
`arrow-pyarrow` [\#10030](https://github.com/apache/arrow-rs/pull/10030) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
-- Adjust Variant size expectation for s390x architecture 
[\#10027](https://github.com/apache/arrow-rs/pull/10027) 
([frantisekz](https://github.com/frantisekz))
-- bench\(parquet\): add short and large string `arrow_writer` benchmarks 
[\#10021](https://github.com/apache/arrow-rs/pull/10021) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
-- Pluggable page spilling API for the Parquet ArrowWriter \(PageStore\) 
[\#10020](https://github.com/apache/arrow-rs/pull/10020) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
-- fix: Reject empty strings when casting strings to decimal 
[\#10010](https://github.com/apache/arrow-rs/pull/10010) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([neilconway](https://github.com/neilconway))
-- feat: Implement decimal \<-\> float16 casts 
[\#10008](https://github.com/apache/arrow-rs/pull/10008) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([neilconway](https://github.com/neilconway))
-- fix\(cast\): Trying to fix cast losting schema problem 
[\#10005](https://github.com/apache/arrow-rs/pull/10005) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mapleFU](https://github.com/mapleFU))
-- fix\(parquet\): validate INT96 column metadata statistics 
[\#10003](https://github.com/apache/arrow-rs/pull/10003) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([fallintoplace](https://github.com/fallintoplace))
-- fix\(arrow-schema\): allow empty metadata value for UUID extension type 
[\#10001](https://github.com/apache/arrow-rs/pull/10001) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
-- Add helper functions to create `LogicalType` struct variants 
[\#9996](https://github.com/apache/arrow-rs/pull/9996) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- fix: prevent panic in record reader when row group metadata overcounts 
num\_rows [\#9993](https://github.com/apache/arrow-rs/pull/9993) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([BoazC-MSFT](https://github.com/BoazC-MSFT))
-- feat: extract `has_false` and `has_true` from BooleanArray to 
`BooleanBuffer` and reuse for no nulls 
[\#9987](https://github.com/apache/arrow-rs/pull/9987) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
-- Validate FIXED\_LEN\_BYTE\_ARRAY length for DECIMAL and INTERVAL types 
[\#9985](https://github.com/apache/arrow-rs/pull/9985) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([CynicDog](https://github.com/CynicDog))
-- fix\(parquet\): exclude single-leaf struct roots from predicate cache 
[\#9983](https://github.com/apache/arrow-rs/pull/9983) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([imhy](https://github.com/imhy))
-- Adds is\_null function to RowAccessor 
[\#9979](https://github.com/apache/arrow-rs/pull/9979) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([choubacha](https://github.com/choubacha))
-- Fix parquet-variant build on wasm targets 
[\#9978](https://github.com/apache/arrow-rs/pull/9978) 
([AdamGS](https://github.com/AdamGS))
-- Safely ignore Parquet fields with unimplemented Thrift types 
[\#9974](https://github.com/apache/arrow-rs/pull/9974) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- fix\(parquet\): bound data page byte size for large variable-width values 
[\#9972](https://github.com/apache/arrow-rs/pull/9972) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
-- feat\(parquet\): Add `ParquetPushDecoder::into_builder` to allow swapping 
projections / row filters at row group boundaries 
[\#9968](https://github.com/apache/arrow-rs/pull/9968) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
-- chore\(deps\): bump peaceiris/actions-gh-pages from 4.0.0 to 4.1.0 
[\#9966](https://github.com/apache/arrow-rs/pull/9966) 
([dependabot[bot]](https://github.com/apps/dependabot))
-- Add `DatePart` enum 1-indexed variants 
[\#9965](https://github.com/apache/arrow-rs/pull/9965) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sdf-jkl](https://github.com/sdf-jkl))
-- fix\(arrow-cast\): support full Date32 range when parsing extended-year 
dates [\#9961](https://github.com/apache/arrow-rs/pull/9961) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([swanandx](https://github.com/swanandx))
-- Implement AnyRee [\#9959](https://github.com/apache/arrow-rs/pull/9959) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
-- test: add overflow tests for MutableBuffer 
[\#9958](https://github.com/apache/arrow-rs/pull/9958) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([SoimanVasile](https://github.com/SoimanVasile))
-- feat\(parquet\): generalize value encoder inputs 
[\#9955](https://github.com/apache/arrow-rs/pull/9955) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- feat\(parquet\): add all-null fast paths for level building 
[\#9954](https://github.com/apache/arrow-rs/pull/9954) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- fix\(ipc\): handle duplicate projection indices in IPC reader 
[\#9952](https://github.com/apache/arrow-rs/pull/9952) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
-- Fix MSRV check by checking in Cargo.lock 
[\#9941](https://github.com/apache/arrow-rs/pull/9941) 
([alamb](https://github.com/alamb))
-- benchmarks for writing REE arrays to parquet 
[\#9936](https://github.com/apache/arrow-rs/pull/9936) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
-- Validate encoded Thrift lists match the schema 
[\#9924](https://github.com/apache/arrow-rs/pull/9924) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- \[arrow-array\] use usize arithmetic in FixedSizeBinaryArray, aggressive 
overflow checks [\#9910](https://github.com/apache/arrow-rs/pull/9910) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- feat\(parquet\): add uses\_key\_retriever method to FileDecryptionProperties 
[\#9895](https://github.com/apache/arrow-rs/pull/9895) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adamreeve](https://github.com/adamreeve))
-- Support ListView/BinaryView/RunEndEncoded types in integration test JSON 
parser [\#9888](https://github.com/apache/arrow-rs/pull/9888) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([paleolimbot](https://github.com/paleolimbot))
-- feat\(parquet\): add BloomFilterPropertiesBuilder 
[\#9877](https://github.com/apache/arrow-rs/pull/9877) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([CuteChuanChuan](https://github.com/CuteChuanChuan))
-- perf\[arrow-select\]: add specialized REE interleave 
[\#9856](https://github.com/apache/arrow-rs/pull/9856) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
-- bench\(parquet\): add `ListArray` benchmarks for runtime and peak memory 
[\#9846](https://github.com/apache/arrow-rs/pull/9846) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- feat\(parquet\): separate push decoder frontier state from row-group 
decoding [\#9804](https://github.com/apache/arrow-rs/pull/9804) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- arrow: add oversized coalesce take benchmarks 
[\#9799](https://github.com/apache/arrow-rs/pull/9799) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ClSlaid](https://github.com/ClSlaid))
-- Remove redundant benchmarks in `cast_kernels` 
[\#9789](https://github.com/apache/arrow-rs/pull/9789) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- \[Variant\] Align cast logic for from/to\_decimal for variant 
[\#9689](https://github.com/apache/arrow-rs/pull/9689) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([klion26](https://github.com/klion26))
-- \[Parquet\]: GH-563: Make `path_in_schema` optional 
[\#9678](https://github.com/apache/arrow-rs/pull/9678) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- Add support for FixedSizeList to variant\_to\_arrow 
[\#9663](https://github.com/apache/arrow-rs/pull/9663) 
([rishvin](https://github.com/rishvin))
-- Reduce Miri runtime even more 
[\#9650](https://github.com/apache/arrow-rs/pull/9650) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+- fix\(arrow-row\): allow to convert non empty fixed size binary/list array 
with size length 0 and no nulls 
[\#10271](https://github.com/apache/arrow-rs/pull/10271) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- chore: Fix audit CI run by ignore quick-xml audit advisories 
[\#10267](https://github.com/apache/arrow-rs/pull/10267) 
([alamb](https://github.com/alamb))
+- fix main: parquet test compilation failure 
[\#10266](https://github.com/apache/arrow-rs/pull/10266) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Jefffrey](https://github.com/Jefffrey))
+- minor: drive-by refactors for dicts in substring & filter 
[\#10264](https://github.com/apache/arrow-rs/pull/10264) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- Add validated row decode benchmark 
[\#10259](https://github.com/apache/arrow-rs/pull/10259) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- arrow-cast: Add optimized path for unnesting a dict 
[\#10248](https://github.com/apache/arrow-rs/pull/10248) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([brancz](https://github.com/brancz))
+- feat: support uuid from fixed type of length 16 
[\#10241](https://github.com/apache/arrow-rs/pull/10241) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ariel-miculas](https://github.com/ariel-miculas))
+- chore\(deps\): bump actions/cache from 6.0.0 to 6.1.0 
[\#10240](https://github.com/apache/arrow-rs/pull/10240) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- fix: Rename parquet feature flag 'flate2-rust\_backened' to 
'flate2-rust\_backend' [\#10239](https://github.com/apache/arrow-rs/pull/10239) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([dannycjones](https://github.com/dannycjones))
+- chore: Make clippy::question\_mark happy 
[\#10231](https://github.com/apache/arrow-rs/pull/10231) 
([Tpt](https://github.com/Tpt))
+- fix\(ipc\): reject dictionary-encoded dictionary values 
[\#10230](https://github.com/apache/arrow-rs/pull/10230) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([goutamadwant](https://github.com/goutamadwant))
+- Replace `ArrayData` with direct `Array` construction in `arrow-row` 
[\#10229](https://github.com/apache/arrow-rs/pull/10229) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- fix: casting list to fixedsizelist didn't respect input length 
[\#10228](https://github.com/apache/arrow-rs/pull/10228) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- chore: Fix clippy::byte\_char\_slices \(use byte strings instead of explicit 
arrays\) [\#10225](https://github.com/apache/arrow-rs/pull/10225) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Tpt](https://github.com/Tpt))
+- nit: arrow-pyarrow: Use string interning 
[\#10224](https://github.com/apache/arrow-rs/pull/10224) 
([Tpt](https://github.com/Tpt))
+- Support concatenation of mixed FixedSizeBinary via `concat_elements_dyn` 
[\#10222](https://github.com/apache/arrow-rs/pull/10222) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pepijnve](https://github.com/pepijnve))
+- rename Compression struct 
[\#10221](https://github.com/apache/arrow-rs/pull/10221) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- chore\(deps\): bump the all-other-cargo-deps group across 1 directory with 
16 updates [\#10218](https://github.com/apache/arrow-rs/pull/10218) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore\(deps\): bump actions/setup-python from 6.2.0 to 6.3.0 
[\#10210](https://github.com/apache/arrow-rs/pull/10210) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- \[10125\] Introduce mult-batch decode benchmarks 
[\#10207](https://github.com/apache/arrow-rs/pull/10207) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- chore\(deps\): bump actions/cache from 5.0.5 to 6.0.0 
[\#10203](https://github.com/apache/arrow-rs/pull/10203) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- introduce decode benchmarks 
[\#10202](https://github.com/apache/arrow-rs/pull/10202) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- Fix `merge_kernels` benchmark panic due to not wrapping with `Scalar` 
[\#10199](https://github.com/apache/arrow-rs/pull/10199) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- Benchmarks and performance improvement for parquet boolean reader 
[\#10196](https://github.com/apache/arrow-rs/pull/10196) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([jhorstmann](https://github.com/jhorstmann))
+- add stale PR workflow 
[\#10194](https://github.com/apache/arrow-rs/pull/10194) 
([Jefffrey](https://github.com/Jefffrey))
+- chore: group minor/patch dependabot updates 
[\#10193](https://github.com/apache/arrow-rs/pull/10193) 
([Jefffrey](https://github.com/Jefffrey))
+- chore\(deps\): bump http from 1.4.0 to 1.4.2 
[\#10191](https://github.com/apache/arrow-rs/pull/10191) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore\(deps\): bump syn from 2.0.117 to 2.0.118 
[\#10190](https://github.com/apache/arrow-rs/pull/10190) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore\(deps\): bump chrono from 0.4.44 to 0.4.45 
[\#10188](https://github.com/apache/arrow-rs/pull/10188) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore\(deps\): bump uuid from 1.23.1 to 1.23.3 
[\#10186](https://github.com/apache/arrow-rs/pull/10186) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore: run `cargo update` to bump quinn 
[\#10181](https://github.com/apache/arrow-rs/pull/10181) 
([Jefffrey](https://github.com/Jefffrey))
+- test: cover signed integers and bool in BitReader::get\_batch test 
[\#10180](https://github.com/apache/arrow-rs/pull/10180) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
+- \[arrow-select\] perf: Replace `ArrayData` with direct `Array` construction 
in take kernels [\#10176](https://github.com/apache/arrow-rs/pull/10176) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- Return PyValueError for nullable PyArrow struct imports 
[\#10174](https://github.com/apache/arrow-rs/pull/10174) 
([fallintoplace](https://github.com/fallintoplace))
+- Fix Variant time microsecond JSON formatting 
[\#10173](https://github.com/apache/arrow-rs/pull/10173) 
([fallintoplace](https://github.com/fallintoplace))
+- Split traits for plain and bitpacked decoding and fix soundness issue in 
BitReader::get\_batch [\#10172](https://github.com/apache/arrow-rs/pull/10172) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([jhorstmann](https://github.com/jhorstmann))
+- fix: switch generic usages of `i128` to `IntervalMonthDayNano` for 
MonthDayNano type [\#10171](https://github.com/apache/arrow-rs/pull/10171) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- chore: specify `--locked` when cargo installing `cargo-audit` 
[\#10170](https://github.com/apache/arrow-rs/pull/10170) 
([Jefffrey](https://github.com/Jefffrey))
+- chore: Fix clippy::useless\_borrows\_in\_formatting 
[\#10163](https://github.com/apache/arrow-rs/pull/10163) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Tpt](https://github.com/Tpt))
+- fix\(arrow-cast\): respect cast safety for overflowing temporal casts 
[\#10162](https://github.com/apache/arrow-rs/pull/10162) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([SAY-5](https://github.com/SAY-5))
+- chore\(deps\): bump actions/checkout from 6 to 7 
[\#10159](https://github.com/apache/arrow-rs/pull/10159) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- feat\(parquet\): add ParquetPushDecoder::peek\_next\_row\_group\(\) 
[\#10158](https://github.com/apache/arrow-rs/pull/10158) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([zhuqi-lucas](https://github.com/zhuqi-lucas))
+- feat\(pyarrow\) `FromPyArrow` on `Vec<T>`: allow any iterable for input 
[\#10155](https://github.com/apache/arrow-rs/pull/10155) 
([Tpt](https://github.com/Tpt))
+- nit: pyarrow: simplify class validation error creation 
[\#10154](https://github.com/apache/arrow-rs/pull/10154) 
([Tpt](https://github.com/Tpt))
+- \[Variant\] add doc reference to `VariantArrayBuilder` 
[\#10152](https://github.com/apache/arrow-rs/pull/10152) 
([sdf-jkl](https://github.com/sdf-jkl))
+- feat: Adds product aggregate compute kernel 
[\#10151](https://github.com/apache/arrow-rs/pull/10151) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([devanbenz](https://github.com/devanbenz))
+- Stricter datatype parsing for decimals, fixedsizelists and time32/64 
[\#10147](https://github.com/apache/arrow-rs/pull/10147) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- feat\(arrow\_csv\): add header validation option 
[\#10144](https://github.com/apache/arrow-rs/pull/10144) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([XiNiHa](https://github.com/XiNiHa))
+- \[Parquet\] route dictionary page through the PageStore 
[\#10142](https://github.com/apache/arrow-rs/pull/10142) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([liamzwbao](https://github.com/liamzwbao))
+- chore: update pyo3 dependency to 0.29 
[\#10134](https://github.com/apache/arrow-rs/pull/10134) 
([timsaucer](https://github.com/timsaucer))
+- feat\(ipc\): Supports compression level configuration 
[\#10133](https://github.com/apache/arrow-rs/pull/10133) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([wForget](https://github.com/wForget))
+- fix: write error for dbg output of out of range timestamps 
[\#10130](https://github.com/apache/arrow-rs/pull/10130) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Jefffrey](https://github.com/Jefffrey))
+- \[Variant\] `VariantArray` field API naming 
[\#10124](https://github.com/apache/arrow-rs/pull/10124) 
([sdf-jkl](https://github.com/sdf-jkl))
+- feat\(arrow\_array\): add helper function to create MapArray from 
`Vec<Option<Vec<(Key, Option<Value>)>>>` for tests 
[\#10123](https://github.com/apache/arrow-rs/pull/10123) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([rluvaton](https://github.com/rluvaton))
+- perf\(arrow-ipc\): Add writer benchmarks for dictionaries 
[\#10122](https://github.com/apache/arrow-rs/pull/10122) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([JakeDern](https://github.com/JakeDern))
+- feat: support `MapArray` in lengths kernel 
[\#10121](https://github.com/apache/arrow-rs/pull/10121) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- feat: add `OffsetBuffer::subtract` to allow to shift offsets by value 
[\#10120](https://github.com/apache/arrow-rs/pull/10120) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- fix: `Buffer::into_mutable` return error instead of panic for converting 
owned sliced when not start at 0 and fix returned Mutable length 
[\#10118](https://github.com/apache/arrow-rs/pull/10118) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- chore: update `Bytes` visibility to correctly reflect the actual visibility 
[\#10115](https://github.com/apache/arrow-rs/pull/10115) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- fix\(parquet\_derive\): support raw identifiers as column names 
[\#10113](https://github.com/apache/arrow-rs/pull/10113) 
([cbmixx](https://github.com/cbmixx))
+- removed clippy ignore statment 
[\#10111](https://github.com/apache/arrow-rs/pull/10111) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- Add `StructArray::field_` APIs symmetric to `StructArray::column_` ones 
[\#10110](https://github.com/apache/arrow-rs/pull/10110) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sdf-jkl](https://github.com/sdf-jkl))
+- fix\(parquet\): return error instead of panicking in pad\_nulls on corrupt 
input [\#10108](https://github.com/apache/arrow-rs/pull/10108) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([thepenguinco](https://github.com/thepenguinco))
+- Minor: Add interleave tests for List\<Decimal128\> and 
List\<Timestamp\(tz\)\> 
[\#10099](https://github.com/apache/arrow-rs/pull/10099) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Add arrow-flight test coverage for IPC compression 
[\#10097](https://github.com/apache/arrow-rs/pull/10097) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([alamb](https://github.com/alamb))
+- chore\(deps\): bump pyspark from 3.3.2 to 3.4.4 in /parquet/pytest 
[\#10091](https://github.com/apache/arrow-rs/pull/10091) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([dependabot[bot]](https://github.com/apps/dependabot))
+- refactor\(parquet\): bundle array reader recursion args into `ReaderArgs` 
[\#10089](https://github.com/apache/arrow-rs/pull/10089) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- arrow-buffer: implement Saturating, Checked num-traits for i256 
[\#10088](https://github.com/apache/arrow-rs/pull/10088) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([theirix](https://github.com/theirix))
+- bench\(parquet\): add nested list writer benchmarks 
[\#10084](https://github.com/apache/arrow-rs/pull/10084) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([mapleFU](https://github.com/mapleFU))
+- Implement From\<i128\> for i256 
[\#10081](https://github.com/apache/arrow-rs/pull/10081) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+- test\(parquet\): drop confusing `main` reference in page-roundtrip test 
comment [\#10072](https://github.com/apache/arrow-rs/pull/10072) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
+- ci: Split miri tests into 4 parallel shards 
[\#10067](https://github.com/apache/arrow-rs/pull/10067) 
([AdamGS](https://github.com/AdamGS))
+- Add tests and fix corner cases for Parquet/GeoArrow extension type 
conversion [\#10065](https://github.com/apache/arrow-rs/pull/10065) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([paleolimbot](https://github.com/paleolimbot))
+- Support writing REE arrays directly to Parquet 
[\#10064](https://github.com/apache/arrow-rs/pull/10064) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- test\(arrow-select\): additional tests for inline-view filter fast path 
\(tests for \#9755\) [\#10054](https://github.com/apache/arrow-rs/pull/10054) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- test\(arrow-select\): add take\_bytes coverage for sliced values and 
nullable offset overflow 
[\#10053](https://github.com/apache/arrow-rs/pull/10053) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Consolidate `filter_null_mask` into `FilterPredicate::filter_nulls` 
[\#10049](https://github.com/apache/arrow-rs/pull/10049) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- \[Variant\] Add `VariantBuilder` values check 
[\#10016](https://github.com/apache/arrow-rs/pull/10016) 
([sdf-jkl](https://github.com/sdf-jkl))
+- \[Variant\] Preserve `UUID` extension type metadata for Parquet writer 
[\#10015](https://github.com/apache/arrow-rs/pull/10015) 
([sdf-jkl](https://github.com/sdf-jkl))
+- feat\(parquet-variant\): add Dictionary and REE variant\_to\_arrow support 
[\#10014](https://github.com/apache/arrow-rs/pull/10014) 
([mneetika](https://github.com/mneetika))
+- perf\(arrow-ord\): Avoid full index materialization for small-limit lexsorts 
[\#9991](https://github.com/apache/arrow-rs/pull/9991) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+
 
 
 \* *This Changelog was automatically generated by 
[github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
diff --git a/Cargo.lock b/Cargo.lock
index 1e5dc95ff3..ba16e5d290 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -170,7 +170,7 @@ dependencies = [
 
 [[package]]
 name = "arrow"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-arith",
  "arrow-array",
@@ -197,7 +197,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-arith"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -209,7 +209,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-array"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "ahash",
  "arrow-buffer",
@@ -229,7 +229,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-avro"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "apache-avro",
  "arrow",
@@ -266,7 +266,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-buffer"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "bytes",
  "criterion",
@@ -278,7 +278,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-cast"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -301,7 +301,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-csv"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -319,7 +319,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-data"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-buffer",
  "arrow-schema",
@@ -330,7 +330,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-flight"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "anyhow",
  "arrow-arith",
@@ -371,7 +371,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-integration-test"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -384,7 +384,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-integration-testing"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow",
  "arrow-buffer",
@@ -404,7 +404,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-ipc"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -423,7 +423,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-json"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arbitrary",
  "arrow-array",
@@ -454,7 +454,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-ord"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -467,7 +467,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-pyarrow"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-data",
@@ -477,7 +477,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-row"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -492,7 +492,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-schema"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "bitflags",
  "criterion",
@@ -505,7 +505,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-select"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "ahash",
  "arrow-array",
@@ -518,7 +518,7 @@ dependencies = [
 
 [[package]]
 name = "arrow-string"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-array",
  "arrow-buffer",
@@ -2315,7 +2315,7 @@ dependencies = [
 
 [[package]]
 name = "parquet"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "ahash",
  "arrow",
@@ -2365,7 +2365,7 @@ dependencies = [
 
 [[package]]
 name = "parquet-geospatial"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-schema",
  "geo-traits",
@@ -2377,7 +2377,7 @@ dependencies = [
 
 [[package]]
 name = "parquet-variant"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow",
  "arrow-schema",
@@ -2394,7 +2394,7 @@ dependencies = [
 
 [[package]]
 name = "parquet-variant-compute"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow",
  "arrow-schema",
@@ -2411,7 +2411,7 @@ dependencies = [
 
 [[package]]
 name = "parquet-variant-json"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "arrow-schema",
  "base64",
@@ -2423,7 +2423,7 @@ dependencies = [
 
 [[package]]
 name = "parquet_derive"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "parquet",
  "proc-macro2",
@@ -2433,7 +2433,7 @@ dependencies = [
 
 [[package]]
 name = "parquet_derive_test"
-version = "59.0.0"
+version = "59.1.0"
 dependencies = [
  "chrono",
  "parquet",
diff --git a/Cargo.toml b/Cargo.toml
index 6b9104efcc..4e2048c26f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -68,7 +68,7 @@ exclude = [
 ]
 
 [workspace.package]
-version = "59.0.0"
+version = "59.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 = "59.0.0", path = "./arrow", default-features = false }
-arrow-arith = { version = "59.0.0", path = "./arrow-arith" }
-arrow-array = { version = "59.0.0", path = "./arrow-array" }
-arrow-buffer = { version = "59.0.0", path = "./arrow-buffer" }
-arrow-cast = { version = "59.0.0", path = "./arrow-cast" }
-arrow-csv = { version = "59.0.0", path = "./arrow-csv" }
-arrow-data = { version = "59.0.0", path = "./arrow-data" }
-arrow-ipc = { version = "59.0.0", path = "./arrow-ipc" }
-arrow-json = { version = "59.0.0", path = "./arrow-json" }
-arrow-ord = { version = "59.0.0", path = "./arrow-ord" }
-arrow-pyarrow = { version = "59.0.0", path = "./arrow-pyarrow" }
-arrow-row = { version = "59.0.0", path = "./arrow-row" }
-arrow-schema = { version = "59.0.0", path = "./arrow-schema" }
-arrow-select = { version = "59.0.0", path = "./arrow-select" }
-arrow-string = { version = "59.0.0", path = "./arrow-string" }
-parquet = { version = "59.0.0", path = "./parquet", default-features = false }
-parquet-geospatial = { version = "59.0.0", path = "./parquet-geospatial" }
-parquet-variant = { version = "59.0.0", path = "./parquet-variant" }
-parquet-variant-json = { version = "59.0.0", path = "./parquet-variant-json" }
-parquet-variant-compute = { version = "59.0.0", path = 
"./parquet-variant-compute" }
+arrow = { version = "59.1.0", path = "./arrow", default-features = false }
+arrow-arith = { version = "59.1.0", path = "./arrow-arith" }
+arrow-array = { version = "59.1.0", path = "./arrow-array" }
+arrow-buffer = { version = "59.1.0", path = "./arrow-buffer" }
+arrow-cast = { version = "59.1.0", path = "./arrow-cast" }
+arrow-csv = { version = "59.1.0", path = "./arrow-csv" }
+arrow-data = { version = "59.1.0", path = "./arrow-data" }
+arrow-ipc = { version = "59.1.0", path = "./arrow-ipc" }
+arrow-json = { version = "59.1.0", path = "./arrow-json" }
+arrow-ord = { version = "59.1.0", path = "./arrow-ord" }
+arrow-pyarrow = { version = "59.1.0", path = "./arrow-pyarrow" }
+arrow-row = { version = "59.1.0", path = "./arrow-row" }
+arrow-schema = { version = "59.1.0", path = "./arrow-schema" }
+arrow-select = { version = "59.1.0", path = "./arrow-select" }
+arrow-string = { version = "59.1.0", path = "./arrow-string" }
+parquet = { version = "59.1.0", path = "./parquet", default-features = false }
+parquet-geospatial = { version = "59.1.0", path = "./parquet-geospatial" }
+parquet-variant = { version = "59.1.0", path = "./parquet-variant" }
+parquet-variant-json = { version = "59.1.0", path = "./parquet-variant-json" }
+parquet-variant-compute = { version = "59.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 ea1da947bc..c4d6f0c118 100755
--- a/dev/release/update_change_log.sh
+++ b/dev/release/update_change_log.sh
@@ -29,8 +29,8 @@
 
 set -e
 
-SINCE_TAG="58.3.0"
-FUTURE_RELEASE="59.0.0"
+SINCE_TAG="59.0.0"
+FUTURE_RELEASE="59.1.0"
 
 SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 SOURCE_TOP_DIR="$(cd "${SOURCE_DIR}/../../" && pwd)"

Reply via email to