github apache/arrow-rs 57.1.0
arrow 57.1.0

12 hours ago

Changelog

57.1.0 (2025-11-20)

Full Changelog

Implemented enhancements:

  • Eliminate bound checks in filter kernels #8865 [arrow]
  • Respect page index policy option for ParquetObjectReader when it's not skip #8856 [parquet]
  • Speed up collect_bool and remove unsafe #8848 [arrow]
  • Error reading parquet FileMetaData with empty lists encoded as element-type=0 #8826 [parquet]
  • ValueStatistics methods can't be used from generic context in external crate #8823 [parquet]
  • Custom Pretty-Printing Implementation for Column when Formatting Record Batches #8821 [arrow]
  • Parquet-concat: supports bloom filter and page index #8804 [parquet]
  • [Parquet] virtual row group number support #8800
  • [Variant] Enforce shredded-type validation in shred_variant #8795 [arrow]
  • Simplify decision logic to call FilterBuilder::optimize or not #8781 [arrow]
  • [Variant] Add variant to arrow for DataType::{Binary, LargeBinary, BinaryView} #8767 [arrow]
  • Provide algorithm that allows zipping arrays whose values are not prealigned #8752 [arrow]
  • [Parquet] ParquetMetadataReader decodes too much metadata under point-get scenerio #8751 [parquet]
  • arrow-json supports encoding binary arrays, but not decoding #8736 [arrow]
  • Allow FilterPredicate instances to be reused for RecordBatches #8692 [arrow]
  • ArrowJsonBatch::from_batch is incomplete #8684 [arrow]
  • parquet-layout: More info about layout including footer size, page index, bloom filter? #8682 [parquet]
  • Rewrite ParquetRecordBatchStream (async API) in terms of the PushDecoder #8677 [parquet]
  • [JSON] Add encoding for binary view #8674 [arrow]
  • Refactor arrow-cast decimal casting to unify the rescale logic used in Parquet variant casts #8670 [arrow]
  • [Variant] Support Uuid/FixedSizeBinary(16) shredding #8665
  • [Parquet]There should be an encoding counter to know how many encodings the repo supports in total #8662 [parquet]
  • Improve parse_data_type for List, ListView, LargeList, LargeListView, FixedSizeList, Union, Map, RunEndCoded. #8648 [arrow]
  • [Variant] Support variant to arrow primitive support null/time/decimal_* #8637
  • Return error from RleDecoder::reset rather than panic #8632 [parquet]
  • Add bitwise ops on BooleanBufferBuilder and MutableBuffer that mutate directly the buffer #8618 [arrow]
  • [Variant] Add variant_to_arrow Utf-8, LargeUtf8, Utf8View types support #8567 [arrow]

Fixed bugs:

  • Regression: Parsing List(Int64) results in nullable list in 57.0.0 and a non-nullable list in 57.1.0 #8883
  • Regression: FixedSlizeList data type parsing fails on 57.1.0 #8880
  • (dyn ArrayFormatterFactory + 'static) can't be safely shared between threads #8875
  • RowNumber reader has wrong row group ordering #8864 [parquet]
  • ThriftMetadataWriter::write_column_indexes cannot handle a ColumnIndexMetaData::NONE #8815 [parquet]
  • "Archery test With other arrows" Integration test failing on main: #8813 [arrow]
  • [Parquet] Writing in 57.0.0 seems 10% slower than 56.0.0 #8783 [parquet]
  • Parquet reader cannot handle files with unknown logical types #8776 [parquet]
  • zip now treats nulls as false in provided mask regardless of the underlying bit value #8721 [arrow]
  • [avro] Incorrect version in crate.io landing page #8691 [arrow]
  • Array: ViewType gc() has bug when array sum length exceed i32::MAX #8681 [arrow]
  • Parquet 56: encounter error: item_reader def levels are None when reading nested field with row filter #8657 [parquet]
  • Degnerate and non-nullable FixedSizeListArrays are not handled #8623 [arrow]
  • [Parquet]Performance Degradation with RowFilter on Unsorted Columns due to Fragmented ReadPlan #8565 [parquet]

Documentation updates:

Performance improvements:

Closed issues:

  • Variant to NullType conversion ignores strict casting #8810
  • Unify display representation for Field #8784
  • Misleading configuration name: skip_arrow_metadata #8780
  • Inconsistent display for types with Metadata #8761 [arrow]
  • Internal arrow-integration-test crate is linked from arrow docs #8739 [arrow]
  • Add benchmark for RunEndEncoded casting #8709 [arrow]
  • [Varaint] Support VariantArray::value to return a Result<Variant> #8672

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator

Don't miss a new arrow-rs release

NewReleases is sending notifications on new releases.