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 913bab26ba Prepare for `58.3.0` release (#9893)
913bab26ba is described below

commit 913bab26ba9bed8fc2bc1acda300cc52345b0da1
Author: Andrew Lamb <[email protected]>
AuthorDate: Thu May 7 10:21:39 2026 -0400

    Prepare for `58.3.0` release (#9893)
    
    # Which issue does this PR close?
    
    - Part of https://github.com/apache/arrow-rs/issues/9859
    
    # Rationale for this change
    
    Even though we just did a release from 58, I want to get a release out
    that has these changes:
    - https://github.com/apache/arrow-rs/pull/9872
    - https://github.com/apache/arrow-rs/pull/9813
    
    # What changes are included in this PR?
    
    1. Update version to 58.3.0
    2. Update CHANGELOG. See Rendered preview here:
    https://github.com/alamb/arrow-rs/blob/alamb/prepare_58.3.0/CHANGELOG.md
    
    # Are these changes tested?
    
    By CI
    # Are there any user-facing changes?
    
    yes
---
 CHANGELOG-old.md                 | 175 ++++++++++++++++++++++++++++++++
 CHANGELOG.md                     | 208 ++++++++++-----------------------------
 Cargo.toml                       |  42 ++++----
 dev/release/update_change_log.sh |   4 +-
 4 files changed, 249 insertions(+), 180 deletions(-)

diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md
index c400a53c03..0fab248908 100644
--- a/CHANGELOG-old.md
+++ b/CHANGELOG-old.md
@@ -21,6 +21,181 @@
 
 # Changelog
 
+## [58.2.0](https://github.com/apache/arrow-rs/tree/58.2.0) (2026-04-28)
+
+[Full Changelog](https://github.com/apache/arrow-rs/compare/58.1.0...58.2.0)
+
+**Implemented enhancements:**
+
+- Expose ColumnCloseResult on ArrowColumnChunk 
[\#9774](https://github.com/apache/arrow-rs/issues/9774) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Expose FFI data structures fields 
[\#9771](https://github.com/apache/arrow-rs/issues/9771) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- short-circuit last predicate in `RowFilter` when `with_limit(N)` is set 
[\#9765](https://github.com/apache/arrow-rs/issues/9765) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- vectorise dict-index bounds check 
[\#9747](https://github.com/apache/arrow-rs/issues/9747) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Refactor `RleEncoder::flush_bit_packed_run` 
[\#9734](https://github.com/apache/arrow-rs/issues/9734) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Add benchmark for cast from/to decimals 
[\#9728](https://github.com/apache/arrow-rs/issues/9728) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Add a security policy for arrow-rs 
[\#9727](https://github.com/apache/arrow-rs/issues/9727) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+- Support `FixedSizeList` in arrow-json reader 
[\#9714](https://github.com/apache/arrow-rs/issues/9714) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] Add `VariantArrayBuilder::append_nulls` API 
[\#9684](https://github.com/apache/arrow-rs/issues/9684)
+- \[Json\] RunEndEncoded decoder optimization 
[\#9645](https://github.com/apache/arrow-rs/issues/9645) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] `variant_get(..., List<_>)` non-Struct types support 
[\#9615](https://github.com/apache/arrow-rs/issues/9615)
+- \[Variant\] Add unshredded `Struct` fast-path for `variant_get(..., Struct)` 
[\#9596](https://github.com/apache/arrow-rs/issues/9596)
+- Allow setting custom line terminator for CSV writer 
[\#9571](https://github.com/apache/arrow-rs/issues/9571) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Variant\] Align cast logic for `variant_get` to cast kernel for 
numeric/bool types [\#9564](https://github.com/apache/arrow-rs/issues/9564) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- ci: use ubuntu-slim where applicable 
[\#9536](https://github.com/apache/arrow-rs/issues/9536)
+- Publicly export `arrow_string::Predicate` and its methods? 
[\#9480](https://github.com/apache/arrow-rs/issues/9480)
+- Don't create CompressionContext when no compression is selected \[IPC\] 
[\#9463](https://github.com/apache/arrow-rs/issues/9463) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet: Raw level buffering causes unbounded memory growth for sparse 
columns [\#9446](https://github.com/apache/arrow-rs/issues/9446) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Parallel Parquet Reading 
[\#9381](https://github.com/apache/arrow-rs/issues/9381) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+
+**Fixed bugs:**
+
+- \[Variant\] `unshred_variant` panics on malformed bytes despite returning 
`Result` [\#9740](https://github.com/apache/arrow-rs/issues/9740)
+- RecordBatch::normalize\(\) does not propagate top level null bitmap into the 
results [\#9732](https://github.com/apache/arrow-rs/issues/9732) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Incorrect accounting in `DictEncoder::estimated_memory_size` 
[\#9719](https://github.com/apache/arrow-rs/issues/9719) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- arrow-ipc writer does not comply with spec for empty variable-size arrays 
[\#9716](https://github.com/apache/arrow-rs/issues/9716) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Panic when reading corrupt parquet file with truncated data instead of 
ParquetError [\#9705](https://github.com/apache/arrow-rs/issues/9705) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- NOTICE.txt is inaccurate 
[\#9703](https://github.com/apache/arrow-rs/issues/9703) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Unnecessary dependency on regex crate 
[\#9672](https://github.com/apache/arrow-rs/issues/9672)
+- \[arrow-avro\] Avro reader produces incorrect results when reader schema and 
writer schema differ [\#9655](https://github.com/apache/arrow-rs/issues/9655) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- parquet docs are broken on docs.rs 
[\#9649](https://github.com/apache/arrow-rs/issues/9649)
+- \[Parquet\] ArrowWriter with CDC panics on nested ListArrays 
[\#9637](https://github.com/apache/arrow-rs/issues/9637) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
+- Use release KEYS file for verification instead of dev KEYS 
[\#9603](https://github.com/apache/arrow-rs/issues/9603)
+- IPC reader: handling of dictionaries with only null values 
[\#9595](https://github.com/apache/arrow-rs/issues/9595) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet RleDecoder::get\_batch\_with\_dict panics on oob dictionary indices 
[\#9434](https://github.com/apache/arrow-rs/issues/9434) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+
+**Documentation updates:**
+
+- docs\(variant\): link VariantArray doc to official Parquet Variant extension 
type [\#9779](https://github.com/apache/arrow-rs/pull/9779) 
([mcharrel](https://github.com/mcharrel))
+- Document Security Policy 
[\#9730](https://github.com/apache/arrow-rs/pull/9730) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([alamb](https://github.com/alamb))
+- Docs: add example of how to read parquet row groups in parallel 
[\#9396](https://github.com/apache/arrow-rs/pull/9396) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
+
+**Performance improvements:**
+
+- parquet: avoid decode and heap allocation on terminal skip in 
DeltaBitPackDecoder [\#9784](https://github.com/apache/arrow-rs/issues/9784) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- parquet: O\(1\) skip for bw=0 miniblocks in DeltaBitPackDecoder 
[\#9783](https://github.com/apache/arrow-rs/issues/9783) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Remove per-message flush overhead in Arrow IPC writer 
[\#9762](https://github.com/apache/arrow-rs/issues/9762) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support `GenericListViewArray::new_unchecked` and refactor ListView json 
decoder [\#9646](https://github.com/apache/arrow-rs/issues/9646) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support nested REE in arrow-ord `partition` function 
[\#9640](https://github.com/apache/arrow-rs/issues/9640) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[Parquet\] Remove the BIT\_PACKED encoder 
[\#9635](https://github.com/apache/arrow-rs/issues/9635) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Pre-reserve output capacity in ByteView/ByteArray dictionary decoding 
[\#9587](https://github.com/apache/arrow-rs/issues/9587) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Fuse RLE decoding and view gathering for StringView dictionary decoding 
[\#9582](https://github.com/apache/arrow-rs/issues/9582) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Use branchless index clamping and add get\_batch\_direct to RleDecoder 
[\#9581](https://github.com/apache/arrow-rs/issues/9581) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Reduce per-byte overhead in VLQ integer decoding 
[\#9580](https://github.com/apache/arrow-rs/issues/9580) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- feat\(parquet\): batch RLE runs in level encoder via scan-ahead 
[\#9830](https://github.com/apache/arrow-rs/pull/9830) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- fix: lazy-init zstd compression contexts to avoid unnecessary FFI calls 
[\#9808](https://github.com/apache/arrow-rs/pull/9808) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
+- parquet: O\(1\) skip for bw=0 miniblocks in DeltaBitPackDecoder 
[\#9786](https://github.com/apache/arrow-rs/pull/9786) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([sahuagin](https://github.com/sahuagin))
+- chore: add benchmark for row filters with LIMIT short-circuit 
[\#9767](https://github.com/apache/arrow-rs/pull/9767) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([haohuaijin](https://github.com/haohuaijin))
+- Push `LIMIT` / `OFFSET` into the last `RowFilter` predicate and skip unused 
row groups [\#9766](https://github.com/apache/arrow-rs/pull/9766) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([haohuaijin](https://github.com/haohuaijin))
+- feat\(ipc\): Remove per-message flush in IPC writer hot path 
[\#9763](https://github.com/apache/arrow-rs/pull/9763) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+- perf\(parquet\): Defer fixed length byte array buffer alloc and skip 
zero-batch init [\#9756](https://github.com/apache/arrow-rs/pull/9756) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([lyang24](https://github.com/lyang24))
+- feat\(parquet\): batch consecutive null/empty rows in `write_list` 
[\#9752](https://github.com/apache/arrow-rs/pull/9752) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- Remove `len` field from buffer builder 
[\#9750](https://github.com/apache/arrow-rs/pull/9750) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([cetra3](https://github.com/cetra3))
+- perf\(parquet\): Vectorize dict-index bounds check in 
RleDecoder::get\_batch\_with\_dict \(up to -7.9%\) 
[\#9746](https://github.com/apache/arrow-rs/pull/9746) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Dandandan](https://github.com/Dandandan))
+- feat\(parquet\): precompute `offset_index_disabled` at build-time 
[\#9724](https://github.com/apache/arrow-rs/pull/9724) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- \[Parquet\] Improve dictionary decoder by unrolling loops 
[\#9662](https://github.com/apache/arrow-rs/pull/9662) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Dandandan](https://github.com/Dandandan))
+- \[Json\] Use `partition` and `take` in RunEndEncoded decoder 
[\#9658](https://github.com/apache/arrow-rs/pull/9658) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- Improve take performance on List arrays 
[\#9643](https://github.com/apache/arrow-rs/pull/9643) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+- \[Json\] Replace `ArrayData` with typed Array construction in json-reader 
[\#9497](https://github.com/apache/arrow-rs/pull/9497) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- feat\(parquet\): stream-encode definition/repetition levels incrementally 
[\#9447](https://github.com/apache/arrow-rs/pull/9447) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+
+**Closed issues:**
+
+- Incorrect buffer skipping for V4 Union types in IPC `skip_field` 
[\#9828](https://github.com/apache/arrow-rs/issues/9828) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Replace wildcard match in `skip_field` with explicit `DataType` handling 
[\#9821](https://github.com/apache/arrow-rs/issues/9821) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Column projection misalignment for ListView / LargeListView in IPC reader 
[\#9805](https://github.com/apache/arrow-rs/issues/9805) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Avoid panic on malformed compressed buffer prefix in IPC 
[\#9801](https://github.com/apache/arrow-rs/issues/9801) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- DeltaByteArrayDecoder panics on invalid prefix lengths 
[\#9796](https://github.com/apache/arrow-rs/issues/9796) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Use NullBufferBuilder when reading json 
[\#9781](https://github.com/apache/arrow-rs/issues/9781) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Perfectly shredded arrays with top-level null values loss nullability when 
`typed_value` is extracted 
[\#9701](https://github.com/apache/arrow-rs/issues/9701)
+- \[Parquet Metadata\] API to determine page-index presence separately from 
page-index load [\#9693](https://github.com/apache/arrow-rs/issues/9693)
+- Union cast is incorrect for duplicate field names 
[\#9664](https://github.com/apache/arrow-rs/issues/9664) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- List and ListView are missing `take` benchmarks 
[\#9627](https://github.com/apache/arrow-rs/issues/9627) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Support RunEndEncoded arrays in comparison kernels \(eq, lt, etc.\) 
[\#9620](https://github.com/apache/arrow-rs/issues/9620) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- variant\_get should follow JSONpath semantics 
[\#9606](https://github.com/apache/arrow-rs/issues/9606)
+- GenericByteViewArray: support finding total length of all strings 
[\#9435](https://github.com/apache/arrow-rs/issues/9435) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+
+**Merged pull requests:**
+
+- support length\(\) on Run-end encoding arrays 
[\#9838](https://github.com/apache/arrow-rs/pull/9838) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- fix\(ipc\): correct skip\_field handling for V4 Union 
[\#9829](https://github.com/apache/arrow-rs/pull/9829) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+- fix\(ipc\): replace wildcard in skip\_field with explicit DataType handling 
[\#9822](https://github.com/apache/arrow-rs/pull/9822) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+- Prevent buffer builder length overflow in `MutableBuffer::extend_zeros` 
[\#9820](https://github.com/apache/arrow-rs/pull/9820) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Prevent repeat slice length overflow 
[\#9819](https://github.com/apache/arrow-rs/pull/9819) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Prevent BitChunks length overflow 
[\#9818](https://github.com/apache/arrow-rs/pull/9818) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Prevent Rows row index overflow 
[\#9817](https://github.com/apache/arrow-rs/pull/9817) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Prevent ArrayData validation length overflow 
[\#9816](https://github.com/apache/arrow-rs/pull/9816) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- \[Json\] Remove arrow-data dependency from arrow-json 
[\#9812](https://github.com/apache/arrow-rs/pull/9812) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- Replace `BooleanBufferBuilder` with `NullBufferBuilder` in arrow-json if 
applicable [\#9811](https://github.com/apache/arrow-rs/pull/9811) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- refactor\(ipc\): derive Default for CompressionContext 
[\#9809](https://github.com/apache/arrow-rs/pull/9809) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
+- fix\(ipc\): reader misalignment when skipping ListView / LargeListView 
columns [\#9806](https://github.com/apache/arrow-rs/pull/9806) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+- fix\(ipc\): Avoid panic on malformed compressed buffer prefix 
[\#9802](https://github.com/apache/arrow-rs/pull/9802) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
+- parquet: fix panic in DeltaByteArrayDecoder on invalid prefix lengths 
[\#9797](https://github.com/apache/arrow-rs/pull/9797) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([pchintar](https://github.com/pchintar))
+- feat\(parquet\): fuse level encoding with counting and histogram updates 
[\#9795](https://github.com/apache/arrow-rs/pull/9795) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- Expose ColumnCloseResult on ArrowColumnChunk 
[\#9773](https://github.com/apache/arrow-rs/pull/9773) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([leoyvens](https://github.com/leoyvens))
+- feat: make FFI structs fields `pub` 
[\#9772](https://github.com/apache/arrow-rs/pull/9772) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ashdnazg](https://github.com/ashdnazg))
+- chore: Refine the error message for List to non List cast 
[\#9757](https://github.com/apache/arrow-rs/pull/9757) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([comphead](https://github.com/comphead))
+- refactor\(parquet\): replace magic `8` literals with named constants 
[\#9751](https://github.com/apache/arrow-rs/pull/9751) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- feat\(ipc\): add with\_skip\_validation to StreamDecoder  
[\#9749](https://github.com/apache/arrow-rs/pull/9749) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pantShrey](https://github.com/pantShrey))
+- remove panics in unshred variant 
[\#9741](https://github.com/apache/arrow-rs/pull/9741) 
([friendlymatthew](https://github.com/friendlymatthew))
+- Add benchmark for ListView interleave 
[\#9738](https://github.com/apache/arrow-rs/pull/9738) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([vegarsti](https://github.com/vegarsti))
+- arrow-arith: fix 'occured' -\> 'occurred' in arity.rs comments 
[\#9736](https://github.com/apache/arrow-rs/pull/9736) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([SAY-5](https://github.com/SAY-5))
+- Refactor `RleEncoder::flush_bit_packed_run` to make flow clearer 
[\#9735](https://github.com/apache/arrow-rs/pull/9735) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- Fix RecordBatch::normalize\(\) null bitmap bug and add 
StructArray::flatten\(\) [\#9733](https://github.com/apache/arrow-rs/pull/9733) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sqd](https://github.com/sqd))
+- Add benchmark for cast from/to decimals 
[\#9729](https://github.com/apache/arrow-rs/pull/9729) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([klion26](https://github.com/klion26))
+- refactor\(arrow-avro\): use `Decoder::flush_block` in async reader 
[\#9726](https://github.com/apache/arrow-rs/pull/9726) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mzabaluev](https://github.com/mzabaluev))
+- fix: ParquetError when reading corrupt parquet file with truncated data 
instead of Panic [\#9725](https://github.com/apache/arrow-rs/pull/9725) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([xuzifu666](https://github.com/xuzifu666))
+- feat\(parquet\): add wide-schema writer overhead benchmark 
[\#9723](https://github.com/apache/arrow-rs/pull/9723) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- fix: correct accounting in `DictEncoder::estimated_memory_size`, 
`Interner::estimated_memory_size` 
[\#9720](https://github.com/apache/arrow-rs/pull/9720) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([mzabaluev](https://github.com/mzabaluev))
+- arrow-ipc: Write 0 offset buffer for length-0 variable-size arrays 
[\#9717](https://github.com/apache/arrow-rs/pull/9717) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([atwam](https://github.com/atwam))
+- \[Json\] Support `FixedSizeList` in json decoder 
[\#9715](https://github.com/apache/arrow-rs/pull/9715) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- chore\(deps\): bump actions/upload-pages-artifact from 4 to 5 
[\#9713](https://github.com/apache/arrow-rs/pull/9713) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- Fix clippy warning in fixed\_size\_binary\_array.rs 
[\#9712](https://github.com/apache/arrow-rs/pull/9712) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+- feat: add `has_non_empty_nulls` helper function in `OffsetBuffer` 
[\#9711](https://github.com/apache/arrow-rs/pull/9711) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- chore\(deps\): bump pytest from 7.2.0 to 9.0.3 in /parquet/pytest 
[\#9706](https://github.com/apache/arrow-rs/pull/9706) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([dependabot[bot]](https://github.com/apps/dependabot))
+- Fedora license audit [\#9704](https://github.com/apache/arrow-rs/pull/9704) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([michel-slm](https://github.com/michel-slm))
+- \[Variant\] Take top-level nulls into consideration when extracting 
perfectly shredded children 
[\#9702](https://github.com/apache/arrow-rs/pull/9702) 
([AdamGS](https://github.com/AdamGS))
+- feat\(parquet\): add `push_decoder` benchmark for `PushBuffers` overhead 
[\#9696](https://github.com/apache/arrow-rs/pull/9696) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- Add mutable bitwise operations to `BooleanArray` and 
`NullBuffer::union_many` [\#9692](https://github.com/apache/arrow-rs/pull/9692) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
+- chore\(deps\): update hashbrown requirement from 0.16.0 to 0.17.0 
[\#9691](https://github.com/apache/arrow-rs/pull/9691) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([dependabot[bot]](https://github.com/apps/dependabot))
+- chore\(deps\): bump actions/github-script from 8 to 9 
[\#9690](https://github.com/apache/arrow-rs/pull/9690) 
([dependabot[bot]](https://github.com/apps/dependabot))
+- minor: Re-enable CDC bench 
[\#9686](https://github.com/apache/arrow-rs/pull/9686) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- \[Variant\] Add `VariantArrayBuilder::append_nulls` API  
[\#9685](https://github.com/apache/arrow-rs/pull/9685) 
([sdf-jkl](https://github.com/sdf-jkl))
+- feat\(parquet\): add struct-column writer benchmarks 
[\#9679](https://github.com/apache/arrow-rs/pull/9679) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- \[Arrow\] Add API to check if `Field` has a valid `ExtensionType` 
[\#9677](https://github.com/apache/arrow-rs/pull/9677) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sdf-jkl](https://github.com/sdf-jkl))
+- \[Variant\] `variant_get` should follow JSONPath semantics for Field path 
element [\#9676](https://github.com/apache/arrow-rs/pull/9676) 
([sdf-jkl](https://github.com/sdf-jkl))
+- ParquetMetaDataPushDecoder API to clear all buffered ranges 
[\#9673](https://github.com/apache/arrow-rs/pull/9673) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([nathanb9](https://github.com/nathanb9))
+- Fix union cast incorrectness for duplicate field names 
[\#9666](https://github.com/apache/arrow-rs/pull/9666) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([friendlymatthew](https://github.com/friendlymatthew))
+- chore: re-export `MAX_INLINE_VIEW_LEN` from `arrow_data` 
[\#9665](https://github.com/apache/arrow-rs/pull/9665) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
+- No longer allow BIT\_PACKED level encoding in Parquet writer 
[\#9656](https://github.com/apache/arrow-rs/pull/9656) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- feat\(parquet\): add sparse-column writer benchmarks 
[\#9654](https://github.com/apache/arrow-rs/pull/9654) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- Support `GenericListViewArray::new_unchecked` and refactor `ListView` json 
decoder [\#9648](https://github.com/apache/arrow-rs/pull/9648) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- \[Json\] Add json reader benchmarks for ListView 
[\#9647](https://github.com/apache/arrow-rs/pull/9647) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- fix\(parquet\): fix CDC panic on nested ListArrays with null entries  
[\#9644](https://github.com/apache/arrow-rs/pull/9644) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([kszucs](https://github.com/kszucs))
+- Add a test for reading nested REE data in json 
[\#9634](https://github.com/apache/arrow-rs/pull/9634) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- \[Variant\] Fix `variant_get` to return `List<T>` instead of `List<Struct>` 
[\#9631](https://github.com/apache/arrow-rs/pull/9631) 
([liamzwbao](https://github.com/liamzwbao))
+- ci: use ubuntu-slim runner for lightweight CI jobs 
[\#9630](https://github.com/apache/arrow-rs/pull/9630) 
([CuteChuanChuan](https://github.com/CuteChuanChuan))
+- Add bloom filter folding to automatically size SBBF filters 
[\#9628](https://github.com/apache/arrow-rs/pull/9628) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
+- Add List and ListView take benchmarks 
[\#9626](https://github.com/apache/arrow-rs/pull/9626) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
+- ParquetPushDecoder API to clear all buffered ranges 
[\#9624](https://github.com/apache/arrow-rs/pull/9624) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([nathanb9](https://github.com/nathanb9))
+- fix: handle missing dictionary batch for null-only columns in IPC reader 
[\#9623](https://github.com/apache/arrow-rs/pull/9623) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([joaquinhuigomez](https://github.com/joaquinhuigomez))
+- Fix `MutableBuffer::clear` 
[\#9622](https://github.com/apache/arrow-rs/pull/9622) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rafferty97](https://github.com/Rafferty97))
+- feat\[arrow-ord\]: suppport REE comparisons 
[\#9621](https://github.com/apache/arrow-rs/pull/9621) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
+- chore\(deps\): update sha2 requirement from 0.10 to 0.11 
[\#9618](https://github.com/apache/arrow-rs/pull/9618) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([dependabot[bot]](https://github.com/apps/dependabot))
+- Expose option to set line terminator for CSV writer 
[\#9617](https://github.com/apache/arrow-rs/pull/9617) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([svranesevic](https://github.com/svranesevic))
+- \[Json\] Add json reader benchmarks for Map and REE 
[\#9616](https://github.com/apache/arrow-rs/pull/9616) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- deps: fix `object_store` breakage for 0.13.2 
[\#9612](https://github.com/apache/arrow-rs/pull/9612) 
([mzabaluev-flarion](https://github.com/mzabaluev-flarion))
+- \[Variant\] Support Binary/LargeBinary children  
[\#9610](https://github.com/apache/arrow-rs/pull/9610) 
([AdamGS](https://github.com/AdamGS))
+- fix: use writer types in Skipper for resolved named record types 
[\#9605](https://github.com/apache/arrow-rs/pull/9605) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ariel-miculas](https://github.com/ariel-miculas))
+- feat\(parquet\): derive `PartialEq` and `Eq` for `CdcOptions` 
[\#9602](https://github.com/apache/arrow-rs/pull/9602) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([kszucs](https://github.com/kszucs))
+- Add  `finish_preserve_values` to `ArrayBuilder` trait 
[\#9601](https://github.com/apache/arrow-rs/pull/9601) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([adamreichold](https://github.com/adamreichold))
+- \[Variant\] extend shredded null handling for arrays 
[\#9599](https://github.com/apache/arrow-rs/pull/9599) 
([sdf-jkl](https://github.com/sdf-jkl))
+- \[Variant\]  Add unshredded `Struct` fast-path for `variant_get(..., 
Struct)` [\#9597](https://github.com/apache/arrow-rs/pull/9597) 
([sdf-jkl](https://github.com/sdf-jkl))
+- Pre-reserve output capacity in ByteView/ByteArray dictionary decoding 
[\#9590](https://github.com/apache/arrow-rs/pull/9590) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Dandandan](https://github.com/Dandandan))
+- \[Variant\] Align cast logic for variant\_get to cast kernel for 
numeric/bool types [\#9563](https://github.com/apache/arrow-rs/pull/9563) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([klion26](https://github.com/klion26))
+- Add support to cast from `UnionArray` 
[\#9544](https://github.com/apache/arrow-rs/pull/9544) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([friendlymatthew](https://github.com/friendlymatthew))
+- Support `ListView` codec in arrow-json 
[\#9503](https://github.com/apache/arrow-rs/pull/9503) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+
+
 ## [58.1.0](https://github.com/apache/arrow-rs/tree/58.1.0) (2026-03-20)
 
 [Full Changelog](https://github.com/apache/arrow-rs/compare/58.0.0...58.1.0)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 03c4e15794..311d5e99a3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,179 +19,73 @@
 
 # Changelog
 
-## [58.2.0](https://github.com/apache/arrow-rs/tree/58.2.0) (2026-04-28)
+## [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.1.0...58.2.0)
+[Full Changelog](https://github.com/apache/arrow-rs/compare/58.2.0...58.3.0)
 
 **Implemented enhancements:**
 
-- Expose ColumnCloseResult on ArrowColumnChunk 
[\#9774](https://github.com/apache/arrow-rs/issues/9774) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Expose FFI data structures fields 
[\#9771](https://github.com/apache/arrow-rs/issues/9771) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- short-circuit last predicate in `RowFilter` when `with_limit(N)` is set 
[\#9765](https://github.com/apache/arrow-rs/issues/9765) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- vectorise dict-index bounds check 
[\#9747](https://github.com/apache/arrow-rs/issues/9747) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Refactor `RleEncoder::flush_bit_packed_run` 
[\#9734](https://github.com/apache/arrow-rs/issues/9734) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Add benchmark for cast from/to decimals 
[\#9728](https://github.com/apache/arrow-rs/issues/9728) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Add a security policy for arrow-rs 
[\#9727](https://github.com/apache/arrow-rs/issues/9727) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
-- Support `FixedSizeList` in arrow-json reader 
[\#9714](https://github.com/apache/arrow-rs/issues/9714) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[Variant\] Add `VariantArrayBuilder::append_nulls` API 
[\#9684](https://github.com/apache/arrow-rs/issues/9684)
-- \[Json\] RunEndEncoded decoder optimization 
[\#9645](https://github.com/apache/arrow-rs/issues/9645) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[Variant\] `variant_get(..., List<_>)` non-Struct types support 
[\#9615](https://github.com/apache/arrow-rs/issues/9615)
-- \[Variant\] Add unshredded `Struct` fast-path for `variant_get(..., Struct)` 
[\#9596](https://github.com/apache/arrow-rs/issues/9596)
-- Allow setting custom line terminator for CSV writer 
[\#9571](https://github.com/apache/arrow-rs/issues/9571) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[Variant\] Align cast logic for `variant_get` to cast kernel for 
numeric/bool types [\#9564](https://github.com/apache/arrow-rs/issues/9564) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- ci: use ubuntu-slim where applicable 
[\#9536](https://github.com/apache/arrow-rs/issues/9536)
-- Publicly export `arrow_string::Predicate` and its methods? 
[\#9480](https://github.com/apache/arrow-rs/issues/9480)
-- Don't create CompressionContext when no compression is selected \[IPC\] 
[\#9463](https://github.com/apache/arrow-rs/issues/9463) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Parquet: Raw level buffering causes unbounded memory growth for sparse 
columns [\#9446](https://github.com/apache/arrow-rs/issues/9446) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Parallel Parquet Reading 
[\#9381](https://github.com/apache/arrow-rs/issues/9381) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Add `DatePart::from_str` API 
[\#9930](https://github.com/apache/arrow-rs/issues/9930) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- should use DictionaryArray::with\_values instead of try\_new on the 
dictionary fast path [\#9889](https://github.com/apache/arrow-rs/issues/9889) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-string\] add concat\_elements for BinaryViewArray and 
FixedSizeBinary [\#9875](https://github.com/apache/arrow-rs/issues/9875) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Expose eq ignore ascii case from arrow-string 
[\#9870](https://github.com/apache/arrow-rs/issues/9870) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Configurable data page v2 compression threshold 
[\#9827](https://github.com/apache/arrow-rs/issues/9827) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
 
 **Fixed bugs:**
 
-- \[Variant\] `unshred_variant` panics on malformed bytes despite returning 
`Result` [\#9740](https://github.com/apache/arrow-rs/issues/9740)
-- RecordBatch::normalize\(\) does not propagate top level null bitmap into the 
results [\#9732](https://github.com/apache/arrow-rs/issues/9732) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Incorrect accounting in `DictEncoder::estimated_memory_size` 
[\#9719](https://github.com/apache/arrow-rs/issues/9719) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- arrow-ipc writer does not comply with spec for empty variable-size arrays 
[\#9716](https://github.com/apache/arrow-rs/issues/9716) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Panic when reading corrupt parquet file with truncated data instead of 
ParquetError [\#9705](https://github.com/apache/arrow-rs/issues/9705) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- NOTICE.txt is inaccurate 
[\#9703](https://github.com/apache/arrow-rs/issues/9703) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Unnecessary dependency on regex crate 
[\#9672](https://github.com/apache/arrow-rs/issues/9672)
-- \[arrow-avro\] Avro reader produces incorrect results when reader schema and 
writer schema differ [\#9655](https://github.com/apache/arrow-rs/issues/9655) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- parquet docs are broken on docs.rs 
[\#9649](https://github.com/apache/arrow-rs/issues/9649)
-- \[Parquet\] ArrowWriter with CDC panics on nested ListArrays 
[\#9637](https://github.com/apache/arrow-rs/issues/9637) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)]
-- Use release KEYS file for verification instead of dev KEYS 
[\#9603](https://github.com/apache/arrow-rs/issues/9603)
-- IPC reader: handling of dictionaries with only null values 
[\#9595](https://github.com/apache/arrow-rs/issues/9595) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Parquet RleDecoder::get\_batch\_with\_dict panics on oob dictionary indices 
[\#9434](https://github.com/apache/arrow-rs/issues/9434) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- \[arrow-cast\] incorrect Time32 -\> Time64 conversion 
[\#9851](https://github.com/apache/arrow-rs/issues/9851) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Panic when reading malformed compact-Thrift bool fields in Parquet page 
metadata [\#9839](https://github.com/apache/arrow-rs/issues/9839) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Parquet `DeltaBitPackDecoder::skip` could panic on "non-standard" miniblocks 
[\#9793](https://github.com/apache/arrow-rs/issues/9793) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
 
 **Documentation updates:**
 
-- docs\(variant\): link VariantArray doc to official Parquet Variant extension 
type [\#9779](https://github.com/apache/arrow-rs/pull/9779) 
([mcharrel](https://github.com/mcharrel))
-- Document Security Policy 
[\#9730](https://github.com/apache/arrow-rs/pull/9730) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
[[arrow-flight](https://github.com/apache/arrow-rs/labels/arrow-flight)] 
([alamb](https://github.com/alamb))
-- Docs: add example of how to read parquet row groups in parallel 
[\#9396](https://github.com/apache/arrow-rs/pull/9396) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([alamb](https://github.com/alamb))
-
-**Performance improvements:**
-
-- parquet: avoid decode and heap allocation on terminal skip in 
DeltaBitPackDecoder [\#9784](https://github.com/apache/arrow-rs/issues/9784) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- parquet: O\(1\) skip for bw=0 miniblocks in DeltaBitPackDecoder 
[\#9783](https://github.com/apache/arrow-rs/issues/9783) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Remove per-message flush overhead in Arrow IPC writer 
[\#9762](https://github.com/apache/arrow-rs/issues/9762) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Support `GenericListViewArray::new_unchecked` and refactor ListView json 
decoder [\#9646](https://github.com/apache/arrow-rs/issues/9646) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Support nested REE in arrow-ord `partition` function 
[\#9640](https://github.com/apache/arrow-rs/issues/9640) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- \[Parquet\] Remove the BIT\_PACKED encoder 
[\#9635](https://github.com/apache/arrow-rs/issues/9635) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Pre-reserve output capacity in ByteView/ByteArray dictionary decoding 
[\#9587](https://github.com/apache/arrow-rs/issues/9587) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Fuse RLE decoding and view gathering for StringView dictionary decoding 
[\#9582](https://github.com/apache/arrow-rs/issues/9582) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Use branchless index clamping and add get\_batch\_direct to RleDecoder 
[\#9581](https://github.com/apache/arrow-rs/issues/9581) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Reduce per-byte overhead in VLQ integer decoding 
[\#9580](https://github.com/apache/arrow-rs/issues/9580) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- feat\(parquet\): batch RLE runs in level encoder via scan-ahead 
[\#9830](https://github.com/apache/arrow-rs/pull/9830) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- fix: lazy-init zstd compression contexts to avoid unnecessary FFI calls 
[\#9808](https://github.com/apache/arrow-rs/pull/9808) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
-- parquet: O\(1\) skip for bw=0 miniblocks in DeltaBitPackDecoder 
[\#9786](https://github.com/apache/arrow-rs/pull/9786) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([sahuagin](https://github.com/sahuagin))
-- chore: add benchmark for row filters with LIMIT short-circuit 
[\#9767](https://github.com/apache/arrow-rs/pull/9767) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([haohuaijin](https://github.com/haohuaijin))
-- Push `LIMIT` / `OFFSET` into the last `RowFilter` predicate and skip unused 
row groups [\#9766](https://github.com/apache/arrow-rs/pull/9766) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([haohuaijin](https://github.com/haohuaijin))
-- feat\(ipc\): Remove per-message flush in IPC writer hot path 
[\#9763](https://github.com/apache/arrow-rs/pull/9763) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
-- perf\(parquet\): Defer fixed length byte array buffer alloc and skip 
zero-batch init [\#9756](https://github.com/apache/arrow-rs/pull/9756) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([lyang24](https://github.com/lyang24))
-- feat\(parquet\): batch consecutive null/empty rows in `write_list` 
[\#9752](https://github.com/apache/arrow-rs/pull/9752) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- Remove `len` field from buffer builder 
[\#9750](https://github.com/apache/arrow-rs/pull/9750) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([cetra3](https://github.com/cetra3))
-- perf\(parquet\): Vectorize dict-index bounds check in 
RleDecoder::get\_batch\_with\_dict \(up to -7.9%\) 
[\#9746](https://github.com/apache/arrow-rs/pull/9746) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Dandandan](https://github.com/Dandandan))
-- feat\(parquet\): precompute `offset_index_disabled` at build-time 
[\#9724](https://github.com/apache/arrow-rs/pull/9724) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- \[Parquet\] Improve dictionary decoder by unrolling loops 
[\#9662](https://github.com/apache/arrow-rs/pull/9662) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Dandandan](https://github.com/Dandandan))
-- \[Json\] Use `partition` and `take` in RunEndEncoded decoder 
[\#9658](https://github.com/apache/arrow-rs/pull/9658) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- Improve take performance on List arrays 
[\#9643](https://github.com/apache/arrow-rs/pull/9643) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
-- \[Json\] Replace `ArrayData` with typed Array construction in json-reader 
[\#9497](https://github.com/apache/arrow-rs/pull/9497) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- feat\(parquet\): stream-encode definition/repetition levels incrementally 
[\#9447](https://github.com/apache/arrow-rs/pull/9447) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- docs: Add guidance for AI assisted submissions to CONTRIBUTING.md 
[\#9892](https://github.com/apache/arrow-rs/pull/9892) 
([etseidl](https://github.com/etseidl))
+- Update release schedule on README 
[\#9881](https://github.com/apache/arrow-rs/pull/9881) 
([alamb](https://github.com/alamb))
+- Add more documentation for FixedSizeBinary arrays 
[\#9866](https://github.com/apache/arrow-rs/pull/9866) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Minor: document why FixedSizeBinary offset is always 0 
[\#9861](https://github.com/apache/arrow-rs/pull/9861) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- docs: Update contributing guidelines with benchmark results 
[\#9782](https://github.com/apache/arrow-rs/pull/9782) 
([alamb](https://github.com/alamb))
 
 **Closed issues:**
 
-- Incorrect buffer skipping for V4 Union types in IPC `skip_field` 
[\#9828](https://github.com/apache/arrow-rs/issues/9828) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Replace wildcard match in `skip_field` with explicit `DataType` handling 
[\#9821](https://github.com/apache/arrow-rs/issues/9821) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Column projection misalignment for ListView / LargeListView in IPC reader 
[\#9805](https://github.com/apache/arrow-rs/issues/9805) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Avoid panic on malformed compressed buffer prefix in IPC 
[\#9801](https://github.com/apache/arrow-rs/issues/9801) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- DeltaByteArrayDecoder panics on invalid prefix lengths 
[\#9796](https://github.com/apache/arrow-rs/issues/9796) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
-- Use NullBufferBuilder when reading json 
[\#9781](https://github.com/apache/arrow-rs/issues/9781) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Perfectly shredded arrays with top-level null values loss nullability when 
`typed_value` is extracted 
[\#9701](https://github.com/apache/arrow-rs/issues/9701)
-- \[Parquet Metadata\] API to determine page-index presence separately from 
page-index load [\#9693](https://github.com/apache/arrow-rs/issues/9693)
-- Union cast is incorrect for duplicate field names 
[\#9664](https://github.com/apache/arrow-rs/issues/9664) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- List and ListView are missing `take` benchmarks 
[\#9627](https://github.com/apache/arrow-rs/issues/9627) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- Support RunEndEncoded arrays in comparison kernels \(eq, lt, etc.\) 
[\#9620](https://github.com/apache/arrow-rs/issues/9620) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
-- variant\_get should follow JSONpath semantics 
[\#9606](https://github.com/apache/arrow-rs/issues/9606)
-- GenericByteViewArray: support finding total length of all strings 
[\#9435](https://github.com/apache/arrow-rs/issues/9435) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- GenericByteDictionaryBuilder::with\_capacity does not pre-size dedup 
HashTable [\#9907](https://github.com/apache/arrow-rs/issues/9907) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-buffer\] Integer overflow in repeat\_slice\_n\_times leads to 
undefined behavior [\#9904](https://github.com/apache/arrow-rs/issues/9904) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-buffer\] Integer overflow in BitChunks::new leads to undefined 
behavior [\#9903](https://github.com/apache/arrow-rs/issues/9903) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-row\] Integer overflow in Rows::row index handling leads to 
undefined behavior [\#9901](https://github.com/apache/arrow-rs/issues/9901) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-data\] Integer overflow in ArrayData validation leads to undefined 
behavior [\#9900](https://github.com/apache/arrow-rs/issues/9900) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-data\] Integer overflow in ArrayData::slice leads to undefined 
behavior [\#9899](https://github.com/apache/arrow-rs/issues/9899) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-array\] Integer overflow in FixedSizeBinaryArray::value leads to 
undefined behavior [\#9898](https://github.com/apache/arrow-rs/issues/9898) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- \[arrow-buffer\] Integer overflow in BufferBuilder::reserve leads to 
undefined behavior [\#9897](https://github.com/apache/arrow-rs/issues/9897) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- arrow-csv: integer overflow panic in Reader::records::flush 
[\#9885](https://github.com/apache/arrow-rs/issues/9885) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Make an API to help with the pattern of 'replaces the values of the REE 
array'  [\#9854](https://github.com/apache/arrow-rs/issues/9854) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
+- Parquet reader rejects canonical UNKNOWN logical type on BOOLEAN physical 
columns [\#9844](https://github.com/apache/arrow-rs/issues/9844) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- ColumnIndex length mismatch can cause panic during decoding in Parquet 
[\#9832](https://github.com/apache/arrow-rs/issues/9832) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)]
+- Bug converting json to fixed list of zero size 
[\#9780](https://github.com/apache/arrow-rs/issues/9780) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)]
 
 **Merged pull requests:**
 
-- support length\(\) on Run-end encoding arrays 
[\#9838](https://github.com/apache/arrow-rs/pull/9838) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
-- fix\(ipc\): correct skip\_field handling for V4 Union 
[\#9829](https://github.com/apache/arrow-rs/pull/9829) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
-- fix\(ipc\): replace wildcard in skip\_field with explicit DataType handling 
[\#9822](https://github.com/apache/arrow-rs/pull/9822) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
-- Prevent buffer builder length overflow in `MutableBuffer::extend_zeros` 
[\#9820](https://github.com/apache/arrow-rs/pull/9820) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- Prevent repeat slice length overflow 
[\#9819](https://github.com/apache/arrow-rs/pull/9819) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- Prevent BitChunks length overflow 
[\#9818](https://github.com/apache/arrow-rs/pull/9818) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- Prevent Rows row index overflow 
[\#9817](https://github.com/apache/arrow-rs/pull/9817) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- Prevent ArrayData validation length overflow 
[\#9816](https://github.com/apache/arrow-rs/pull/9816) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- \[Json\] Remove arrow-data dependency from arrow-json 
[\#9812](https://github.com/apache/arrow-rs/pull/9812) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- Replace `BooleanBufferBuilder` with `NullBufferBuilder` in arrow-json if 
applicable [\#9811](https://github.com/apache/arrow-rs/pull/9811) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- refactor\(ipc\): derive Default for CompressionContext 
[\#9809](https://github.com/apache/arrow-rs/pull/9809) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
-- fix\(ipc\): reader misalignment when skipping ListView / LargeListView 
columns [\#9806](https://github.com/apache/arrow-rs/pull/9806) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
-- fix\(ipc\): Avoid panic on malformed compressed buffer prefix 
[\#9802](https://github.com/apache/arrow-rs/pull/9802) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pchintar](https://github.com/pchintar))
-- parquet: fix panic in DeltaByteArrayDecoder on invalid prefix lengths 
[\#9797](https://github.com/apache/arrow-rs/pull/9797) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([pchintar](https://github.com/pchintar))
-- feat\(parquet\): fuse level encoding with counting and histogram updates 
[\#9795](https://github.com/apache/arrow-rs/pull/9795) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- Expose ColumnCloseResult on ArrowColumnChunk 
[\#9773](https://github.com/apache/arrow-rs/pull/9773) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([leoyvens](https://github.com/leoyvens))
-- feat: make FFI structs fields `pub` 
[\#9772](https://github.com/apache/arrow-rs/pull/9772) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ashdnazg](https://github.com/ashdnazg))
-- chore: Refine the error message for List to non List cast 
[\#9757](https://github.com/apache/arrow-rs/pull/9757) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([comphead](https://github.com/comphead))
-- refactor\(parquet\): replace magic `8` literals with named constants 
[\#9751](https://github.com/apache/arrow-rs/pull/9751) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- feat\(ipc\): add with\_skip\_validation to StreamDecoder  
[\#9749](https://github.com/apache/arrow-rs/pull/9749) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([pantShrey](https://github.com/pantShrey))
-- remove panics in unshred variant 
[\#9741](https://github.com/apache/arrow-rs/pull/9741) 
([friendlymatthew](https://github.com/friendlymatthew))
-- Add benchmark for ListView interleave 
[\#9738](https://github.com/apache/arrow-rs/pull/9738) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([vegarsti](https://github.com/vegarsti))
-- arrow-arith: fix 'occured' -\> 'occurred' in arity.rs comments 
[\#9736](https://github.com/apache/arrow-rs/pull/9736) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([SAY-5](https://github.com/SAY-5))
-- Refactor `RleEncoder::flush_bit_packed_run` to make flow clearer 
[\#9735](https://github.com/apache/arrow-rs/pull/9735) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- Fix RecordBatch::normalize\(\) null bitmap bug and add 
StructArray::flatten\(\) [\#9733](https://github.com/apache/arrow-rs/pull/9733) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sqd](https://github.com/sqd))
-- Add benchmark for cast from/to decimals 
[\#9729](https://github.com/apache/arrow-rs/pull/9729) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([klion26](https://github.com/klion26))
-- refactor\(arrow-avro\): use `Decoder::flush_block` in async reader 
[\#9726](https://github.com/apache/arrow-rs/pull/9726) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mzabaluev](https://github.com/mzabaluev))
-- fix: ParquetError when reading corrupt parquet file with truncated data 
instead of Panic [\#9725](https://github.com/apache/arrow-rs/pull/9725) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([xuzifu666](https://github.com/xuzifu666))
-- feat\(parquet\): add wide-schema writer overhead benchmark 
[\#9723](https://github.com/apache/arrow-rs/pull/9723) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- fix: correct accounting in `DictEncoder::estimated_memory_size`, 
`Interner::estimated_memory_size` 
[\#9720](https://github.com/apache/arrow-rs/pull/9720) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([mzabaluev](https://github.com/mzabaluev))
-- arrow-ipc: Write 0 offset buffer for length-0 variable-size arrays 
[\#9717](https://github.com/apache/arrow-rs/pull/9717) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([atwam](https://github.com/atwam))
-- \[Json\] Support `FixedSizeList` in json decoder 
[\#9715](https://github.com/apache/arrow-rs/pull/9715) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- chore\(deps\): bump actions/upload-pages-artifact from 4 to 5 
[\#9713](https://github.com/apache/arrow-rs/pull/9713) 
([dependabot[bot]](https://github.com/apps/dependabot))
-- Fix clippy warning in fixed\_size\_binary\_array.rs 
[\#9712](https://github.com/apache/arrow-rs/pull/9712) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
-- feat: add `has_non_empty_nulls` helper function in `OffsetBuffer` 
[\#9711](https://github.com/apache/arrow-rs/pull/9711) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
-- chore\(deps\): bump pytest from 7.2.0 to 9.0.3 in /parquet/pytest 
[\#9706](https://github.com/apache/arrow-rs/pull/9706) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([dependabot[bot]](https://github.com/apps/dependabot))
-- Fedora license audit [\#9704](https://github.com/apache/arrow-rs/pull/9704) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([michel-slm](https://github.com/michel-slm))
-- \[Variant\] Take top-level nulls into consideration when extracting 
perfectly shredded children 
[\#9702](https://github.com/apache/arrow-rs/pull/9702) 
([AdamGS](https://github.com/AdamGS))
-- feat\(parquet\): add `push_decoder` benchmark for `PushBuffers` overhead 
[\#9696](https://github.com/apache/arrow-rs/pull/9696) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- Add mutable bitwise operations to `BooleanArray` and 
`NullBuffer::union_many` [\#9692](https://github.com/apache/arrow-rs/pull/9692) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([mbutrovich](https://github.com/mbutrovich))
-- chore\(deps\): update hashbrown requirement from 0.16.0 to 0.17.0 
[\#9691](https://github.com/apache/arrow-rs/pull/9691) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([dependabot[bot]](https://github.com/apps/dependabot))
-- chore\(deps\): bump actions/github-script from 8 to 9 
[\#9690](https://github.com/apache/arrow-rs/pull/9690) 
([dependabot[bot]](https://github.com/apps/dependabot))
-- minor: Re-enable CDC bench 
[\#9686](https://github.com/apache/arrow-rs/pull/9686) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- \[Variant\] Add `VariantArrayBuilder::append_nulls` API  
[\#9685](https://github.com/apache/arrow-rs/pull/9685) 
([sdf-jkl](https://github.com/sdf-jkl))
-- feat\(parquet\): add struct-column writer benchmarks 
[\#9679](https://github.com/apache/arrow-rs/pull/9679) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- \[Arrow\] Add API to check if `Field` has a valid `ExtensionType` 
[\#9677](https://github.com/apache/arrow-rs/pull/9677) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sdf-jkl](https://github.com/sdf-jkl))
-- \[Variant\] `variant_get` should follow JSONPath semantics for Field path 
element [\#9676](https://github.com/apache/arrow-rs/pull/9676) 
([sdf-jkl](https://github.com/sdf-jkl))
-- ParquetMetaDataPushDecoder API to clear all buffered ranges 
[\#9673](https://github.com/apache/arrow-rs/pull/9673) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([nathanb9](https://github.com/nathanb9))
-- Fix union cast incorrectness for duplicate field names 
[\#9666](https://github.com/apache/arrow-rs/pull/9666) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([friendlymatthew](https://github.com/friendlymatthew))
-- chore: re-export `MAX_INLINE_VIEW_LEN` from `arrow_data` 
[\#9665](https://github.com/apache/arrow-rs/pull/9665) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rluvaton](https://github.com/rluvaton))
-- No longer allow BIT\_PACKED level encoding in Parquet writer 
[\#9656](https://github.com/apache/arrow-rs/pull/9656) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
-- feat\(parquet\): add sparse-column writer benchmarks 
[\#9654](https://github.com/apache/arrow-rs/pull/9654) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
-- Support `GenericListViewArray::new_unchecked` and refactor `ListView` json 
decoder [\#9648](https://github.com/apache/arrow-rs/pull/9648) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- \[Json\] Add json reader benchmarks for ListView 
[\#9647](https://github.com/apache/arrow-rs/pull/9647) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- fix\(parquet\): fix CDC panic on nested ListArrays with null entries  
[\#9644](https://github.com/apache/arrow-rs/pull/9644) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([kszucs](https://github.com/kszucs))
-- Add a test for reading nested REE data in json 
[\#9634](https://github.com/apache/arrow-rs/pull/9634) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
-- \[Variant\] Fix `variant_get` to return `List<T>` instead of `List<Struct>` 
[\#9631](https://github.com/apache/arrow-rs/pull/9631) 
([liamzwbao](https://github.com/liamzwbao))
-- ci: use ubuntu-slim runner for lightweight CI jobs 
[\#9630](https://github.com/apache/arrow-rs/pull/9630) 
([CuteChuanChuan](https://github.com/CuteChuanChuan))
-- Add bloom filter folding to automatically size SBBF filters 
[\#9628](https://github.com/apache/arrow-rs/pull/9628) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([adriangb](https://github.com/adriangb))
-- Add List and ListView take benchmarks 
[\#9626](https://github.com/apache/arrow-rs/pull/9626) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([AdamGS](https://github.com/AdamGS))
-- ParquetPushDecoder API to clear all buffered ranges 
[\#9624](https://github.com/apache/arrow-rs/pull/9624) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([nathanb9](https://github.com/nathanb9))
-- fix: handle missing dictionary batch for null-only columns in IPC reader 
[\#9623](https://github.com/apache/arrow-rs/pull/9623) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([joaquinhuigomez](https://github.com/joaquinhuigomez))
-- Fix `MutableBuffer::clear` 
[\#9622](https://github.com/apache/arrow-rs/pull/9622) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rafferty97](https://github.com/Rafferty97))
-- feat\[arrow-ord\]: suppport REE comparisons 
[\#9621](https://github.com/apache/arrow-rs/pull/9621) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
-- chore\(deps\): update sha2 requirement from 0.10 to 0.11 
[\#9618](https://github.com/apache/arrow-rs/pull/9618) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([dependabot[bot]](https://github.com/apps/dependabot))
-- Expose option to set line terminator for CSV writer 
[\#9617](https://github.com/apache/arrow-rs/pull/9617) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([svranesevic](https://github.com/svranesevic))
-- \[Json\] Add json reader benchmarks for Map and REE 
[\#9616](https://github.com/apache/arrow-rs/pull/9616) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
-- deps: fix `object_store` breakage for 0.13.2 
[\#9612](https://github.com/apache/arrow-rs/pull/9612) 
([mzabaluev-flarion](https://github.com/mzabaluev-flarion))
-- \[Variant\] Support Binary/LargeBinary children  
[\#9610](https://github.com/apache/arrow-rs/pull/9610) 
([AdamGS](https://github.com/AdamGS))
-- fix: use writer types in Skipper for resolved named record types 
[\#9605](https://github.com/apache/arrow-rs/pull/9605) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([ariel-miculas](https://github.com/ariel-miculas))
-- feat\(parquet\): derive `PartialEq` and `Eq` for `CdcOptions` 
[\#9602](https://github.com/apache/arrow-rs/pull/9602) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([kszucs](https://github.com/kszucs))
-- Add  `finish_preserve_values` to `ArrayBuilder` trait 
[\#9601](https://github.com/apache/arrow-rs/pull/9601) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([adamreichold](https://github.com/adamreichold))
-- \[Variant\] extend shredded null handling for arrays 
[\#9599](https://github.com/apache/arrow-rs/pull/9599) 
([sdf-jkl](https://github.com/sdf-jkl))
-- \[Variant\]  Add unshredded `Struct` fast-path for `variant_get(..., 
Struct)` [\#9597](https://github.com/apache/arrow-rs/pull/9597) 
([sdf-jkl](https://github.com/sdf-jkl))
-- Pre-reserve output capacity in ByteView/ByteArray dictionary decoding 
[\#9590](https://github.com/apache/arrow-rs/pull/9590) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([Dandandan](https://github.com/Dandandan))
-- \[Variant\] Align cast logic for variant\_get to cast kernel for 
numeric/bool types [\#9563](https://github.com/apache/arrow-rs/pull/9563) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([klion26](https://github.com/klion26))
-- Add support to cast from `UnionArray` 
[\#9544](https://github.com/apache/arrow-rs/pull/9544) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([friendlymatthew](https://github.com/friendlymatthew))
-- Support `ListView` codec in arrow-json 
[\#9503](https://github.com/apache/arrow-rs/pull/9503) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- impl `FromStr` for `DatePart` 
[\#9931](https://github.com/apache/arrow-rs/pull/9931) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([sdf-jkl](https://github.com/sdf-jkl))
+- Pre-size dedup HashTable in GenericByteDictionaryBuilder::with\_capacity 
[\#9908](https://github.com/apache/arrow-rs/pull/9908) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([rabenhorst](https://github.com/rabenhorst))
+- \[arrow-array\] Use consistent `value_length` name in FixedSizeBinaryArray 
[\#9905](https://github.com/apache/arrow-rs/pull/9905) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- replace Dictionary::try\_new\(\) calls with with\_values. 
[\#9894](https://github.com/apache/arrow-rs/pull/9894) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- API to help with the pattern of 'replaces the values of the REE array 
[\#9891](https://github.com/apache/arrow-rs/pull/9891) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- fix\(arrow-csv\): bound RecordDecoder::flush offset accumulation 
[\#9886](https://github.com/apache/arrow-rs/pull/9886) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([masumi-ryugo](https://github.com/masumi-ryugo))
+- fix\(parquet\): bound schema num\_children before Vec::with\_capacity 
[\#9884](https://github.com/apache/arrow-rs/pull/9884) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([masumi-ryugo](https://github.com/masumi-ryugo))
+- feat\(arrow-string\): concat\_elements for view, fixed binary 
[\#9876](https://github.com/apache/arrow-rs/pull/9876) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([theirix](https://github.com/theirix))
+- Prevent `FixedSizeBinaryArray` `i32` offset overflows \(try 2\) 
[\#9872](https://github.com/apache/arrow-rs/pull/9872) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- \[arrow-string\]: add `like::eq_ascii_ignore_case` kernel 
[\#9871](https://github.com/apache/arrow-rs/pull/9871) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([albertlockett](https://github.com/albertlockett))
+- fix\(parquet\): Prevent negative list sizes in Thrift compact protocol 
parser [\#9868](https://github.com/apache/arrow-rs/pull/9868) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([masumi-ryugo](https://github.com/masumi-ryugo))
+- \[PARQUET\] Allow `UNKNOWN` logical type annotation on any physical type 
[\#9855](https://github.com/apache/arrow-rs/pull/9855) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
+- \[arrow-ipc\]: dictionary builders for delta - doc fix and integration tests 
for nested types [\#9853](https://github.com/apache/arrow-rs/pull/9853) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([albertlockett](https://github.com/albertlockett))
+- fix\(arrow-cast\): fix incorrect conversion 
[\#9852](https://github.com/apache/arrow-rs/pull/9852) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([bboissin](https://github.com/bboissin))
+- chore\[benches\]: add REE interleave benchmarks 
[\#9849](https://github.com/apache/arrow-rs/pull/9849) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([asubiotto](https://github.com/asubiotto))
+- test\(parquet\): replace `InMemoryArrayReader` with `PrimitiveArrayReader` 
in tests [\#9847](https://github.com/apache/arrow-rs/pull/9847) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([HippoBaro](https://github.com/HippoBaro))
+- REE row conversion speed up 
[\#9845](https://github.com/apache/arrow-rs/pull/9845) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([Rich-T-kid](https://github.com/Rich-T-kid))
+- fix\(parquet\): Avoid panic on malformed thrift bool fields in parquet 
metadata [\#9840](https://github.com/apache/arrow-rs/pull/9840) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([BoazC-MSFT](https://github.com/BoazC-MSFT))
+- fix\(parquet\): avoid panic on ColumnIndex length mismatch 
[\#9833](https://github.com/apache/arrow-rs/pull/9833) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([pchintar](https://github.com/pchintar))
+- configurable data page v2 compression threshold 
[\#9826](https://github.com/apache/arrow-rs/pull/9826) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([leoyvens](https://github.com/leoyvens))
+- Prevent `ArrayData::slice` length overflow 
[\#9813](https://github.com/apache/arrow-rs/pull/9813) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([alamb](https://github.com/alamb))
+- Fix JSON reader panic for non-nullable zero-size FixedSizeList 
[\#9810](https://github.com/apache/arrow-rs/pull/9810) 
[[arrow](https://github.com/apache/arrow-rs/labels/arrow)] 
([liamzwbao](https://github.com/liamzwbao))
+- \[Parquet\] Do not panic when trying to skip records in delta encoded files 
using non-standard block sizes 
[\#9794](https://github.com/apache/arrow-rs/pull/9794) 
[[parquet](https://github.com/apache/arrow-rs/labels/parquet)] 
([etseidl](https://github.com/etseidl))
 
 
 
diff --git a/Cargo.toml b/Cargo.toml
index 52140a0528..9a13149626 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -68,7 +68,7 @@ exclude = [
 ]
 
 [workspace.package]
-version = "58.2.0"
+version = "58.3.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.2.0", path = "./arrow", default-features = false }
-arrow-arith = { version = "58.2.0", path = "./arrow-arith" }
-arrow-array = { version = "58.2.0", path = "./arrow-array" }
-arrow-buffer = { version = "58.2.0", path = "./arrow-buffer" }
-arrow-cast = { version = "58.2.0", path = "./arrow-cast" }
-arrow-csv = { version = "58.2.0", path = "./arrow-csv" }
-arrow-data = { version = "58.2.0", path = "./arrow-data" }
-arrow-ipc = { version = "58.2.0", path = "./arrow-ipc" }
-arrow-json = { version = "58.2.0", path = "./arrow-json" }
-arrow-ord = { version = "58.2.0", path = "./arrow-ord" }
-arrow-pyarrow = { version = "58.2.0", path = "./arrow-pyarrow" }
-arrow-row = { version = "58.2.0", path = "./arrow-row" }
-arrow-schema = { version = "58.2.0", path = "./arrow-schema" }
-arrow-select = { version = "58.2.0", path = "./arrow-select" }
-arrow-string = { version = "58.2.0", path = "./arrow-string" }
-parquet = { version = "58.2.0", path = "./parquet", default-features = false }
-parquet-geospatial = { version = "58.2.0", path = "./parquet-geospatial" }
-parquet-variant = { version = "58.2.0", path = "./parquet-variant" }
-parquet-variant-json = { version = "58.2.0", path = "./parquet-variant-json" }
-parquet-variant-compute = { version = "58.2.0", path = 
"./parquet-variant-compute" }
+arrow = { version = "58.3.0", path = "./arrow", default-features = false }
+arrow-arith = { version = "58.3.0", path = "./arrow-arith" }
+arrow-array = { version = "58.3.0", path = "./arrow-array" }
+arrow-buffer = { version = "58.3.0", path = "./arrow-buffer" }
+arrow-cast = { version = "58.3.0", path = "./arrow-cast" }
+arrow-csv = { version = "58.3.0", path = "./arrow-csv" }
+arrow-data = { version = "58.3.0", path = "./arrow-data" }
+arrow-ipc = { version = "58.3.0", path = "./arrow-ipc" }
+arrow-json = { version = "58.3.0", path = "./arrow-json" }
+arrow-ord = { version = "58.3.0", path = "./arrow-ord" }
+arrow-pyarrow = { version = "58.3.0", path = "./arrow-pyarrow" }
+arrow-row = { version = "58.3.0", path = "./arrow-row" }
+arrow-schema = { version = "58.3.0", path = "./arrow-schema" }
+arrow-select = { version = "58.3.0", path = "./arrow-select" }
+arrow-string = { version = "58.3.0", path = "./arrow-string" }
+parquet = { version = "58.3.0", path = "./parquet", default-features = false }
+parquet-geospatial = { version = "58.3.0", path = "./parquet-geospatial" }
+parquet-variant = { version = "58.3.0", path = "./parquet-variant" }
+parquet-variant-json = { version = "58.3.0", path = "./parquet-variant-json" }
+parquet-variant-compute = { version = "58.3.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 d4c8fa2501..21b4c2d295 100755
--- a/dev/release/update_change_log.sh
+++ b/dev/release/update_change_log.sh
@@ -29,8 +29,8 @@
 
 set -e
 
-SINCE_TAG="58.1.0"
-FUTURE_RELEASE="58.2.0"
+SINCE_TAG="58.2.0"
+FUTURE_RELEASE="58.3.0"
 
 SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 SOURCE_TOP_DIR="$(cd "${SOURCE_DIR}/../../" && pwd)"

Reply via email to