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 9f96a8f5c3 Prepare for `59.0.0` release (#10063)
9f96a8f5c3 is described below
commit 9f96a8f5c3f47c6303c7d17ac7f00ad4ad0df513
Author: Andrew Lamb <[email protected]>
AuthorDate: Thu Jun 4 16:56:59 2026 -0400
Prepare for `59.0.0` release (#10063)
# Which issue does this PR close?
- Part of https://github.com/apache/arrow-rs/issues/9110
# Rationale for this change
This prepares for the `59.0.0` (major) release of the Rust Arrow /
Parquet crates.
# What changes are included in this PR?
1. Update version to `59.0.0`
2. Update CHANGELOG. See rendered preview here:
https://github.com/alamb/arrow-rs/blob/alamb/make_release_59.0.0/CHANGELOG.md
# Are these changes tested?
By CI
# Are there any user-facing changes?
yes
---
CHANGELOG-old.md | 68 ++++++++++++++++
CHANGELOG.md | 166 +++++++++++++++++++++++++++------------
Cargo.lock | 52 ++++++------
Cargo.toml | 42 +++++-----
dev/release/update_change_log.sh | 4 +-
5 files changed, 231 insertions(+), 101 deletions(-)
diff --git a/CHANGELOG-old.md b/CHANGELOG-old.md
index 0fab248908..b35e601c4c 100644
--- a/CHANGELOG-old.md
+++ b/CHANGELOG-old.md
@@ -21,6 +21,74 @@
# Changelog
+## [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)
+
+**Implemented enhancements:**
+
+- 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:**
+
+- \[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: 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:**
+
+- 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:**
+
+- 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))
+
## [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)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 311d5e99a3..b2272f2e38 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,74 +19,136 @@
# Changelog
-## [58.3.0](https://github.com/apache/arrow-rs/tree/58.3.0) (2026-05-07)
+## [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.2.0...58.3.0)
+[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))
**Implemented enhancements:**
-- 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)]
+- 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:**
-- \[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)]
+- 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:**
-- 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))
+- 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:**
-- 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)]
+- 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:**
-- 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))
-
+- 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))
\* *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 9e5963a70a..af1c980d45 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -170,7 +170,7 @@ dependencies = [
[[package]]
name = "arrow"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-arith",
"arrow-array",
@@ -197,7 +197,7 @@ dependencies = [
[[package]]
name = "arrow-arith"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -209,7 +209,7 @@ dependencies = [
[[package]]
name = "arrow-array"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"ahash",
"arrow-buffer",
@@ -229,7 +229,7 @@ dependencies = [
[[package]]
name = "arrow-avro"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"apache-avro",
"arrow",
@@ -266,7 +266,7 @@ dependencies = [
[[package]]
name = "arrow-buffer"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"bytes",
"criterion",
@@ -278,7 +278,7 @@ dependencies = [
[[package]]
name = "arrow-cast"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -301,7 +301,7 @@ dependencies = [
[[package]]
name = "arrow-csv"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -319,7 +319,7 @@ dependencies = [
[[package]]
name = "arrow-data"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-buffer",
"arrow-schema",
@@ -330,7 +330,7 @@ dependencies = [
[[package]]
name = "arrow-flight"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"anyhow",
"arrow-arith",
@@ -371,7 +371,7 @@ dependencies = [
[[package]]
name = "arrow-integration-test"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow",
"arrow-buffer",
@@ -384,7 +384,7 @@ dependencies = [
[[package]]
name = "arrow-integration-testing"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow",
"arrow-buffer",
@@ -403,7 +403,7 @@ dependencies = [
[[package]]
name = "arrow-ipc"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -422,7 +422,7 @@ dependencies = [
[[package]]
name = "arrow-json"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arbitrary",
"arrow-array",
@@ -453,7 +453,7 @@ dependencies = [
[[package]]
name = "arrow-ord"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -466,7 +466,7 @@ dependencies = [
[[package]]
name = "arrow-pyarrow"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-data",
@@ -476,7 +476,7 @@ dependencies = [
[[package]]
name = "arrow-row"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -491,7 +491,7 @@ dependencies = [
[[package]]
name = "arrow-schema"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"bitflags",
"criterion",
@@ -504,7 +504,7 @@ dependencies = [
[[package]]
name = "arrow-select"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"ahash",
"arrow-array",
@@ -517,7 +517,7 @@ dependencies = [
[[package]]
name = "arrow-string"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-array",
"arrow-buffer",
@@ -2314,7 +2314,7 @@ dependencies = [
[[package]]
name = "parquet"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"ahash",
"arrow",
@@ -2364,7 +2364,7 @@ dependencies = [
[[package]]
name = "parquet-geospatial"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-schema",
"geo-traits",
@@ -2376,7 +2376,7 @@ dependencies = [
[[package]]
name = "parquet-variant"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow",
"arrow-schema",
@@ -2393,7 +2393,7 @@ dependencies = [
[[package]]
name = "parquet-variant-compute"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow",
"arrow-schema",
@@ -2410,7 +2410,7 @@ dependencies = [
[[package]]
name = "parquet-variant-json"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"arrow-schema",
"base64",
@@ -2422,7 +2422,7 @@ dependencies = [
[[package]]
name = "parquet_derive"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"parquet",
"proc-macro2",
@@ -2432,7 +2432,7 @@ dependencies = [
[[package]]
name = "parquet_derive_test"
-version = "58.3.0"
+version = "59.0.0"
dependencies = [
"chrono",
"parquet",
diff --git a/Cargo.toml b/Cargo.toml
index 9a13149626..6b9104efcc 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -68,7 +68,7 @@ exclude = [
]
[workspace.package]
-version = "58.3.0"
+version = "59.0.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.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" }
+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" }
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 21b4c2d295..ea1da947bc 100755
--- a/dev/release/update_change_log.sh
+++ b/dev/release/update_change_log.sh
@@ -29,8 +29,8 @@
set -e
-SINCE_TAG="58.2.0"
-FUTURE_RELEASE="58.3.0"
+SINCE_TAG="58.3.0"
+FUTURE_RELEASE="59.0.0"
SOURCE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SOURCE_TOP_DIR="$(cd "${SOURCE_DIR}/../../" && pwd)"