github apache/arrow-rs 58.0.0
arrow 58.0.0

4 hours ago

Changelog

58.0.0 (2026-02-19)

Full Changelog

Breaking changes:

Implemented enhancements:

  • Avoid allocating a Vec in StructBuilder #9427
  • Zstd context reuse #9401
  • Optimize from_bitwise_unary_op #9364
  • Support RunEndEncoded in ord comparator #9360
  • Support RunEndEncoded arrays in arrow-json #9359
  • Support BinaryView in bit_length kernel #9351
  • Remove support for List types in bit_length kernel #9349
  • Support roundtrip ListView in parquet arrow writer #9344
  • Support ListView in length kernel #9343
  • Support ListView in sort kernel #9341
  • Add some way to create a Timestamp from a DateTime #9337
  • Introduce DataType::is_list and DataType::IsBinary #9326
  • Performance of creating all null dictionary array can be improved #9321
  • [arrow-avro] Add missing Arrow DataType support with avro_custom_types round-trip + non-custom fallbacks #9290

Fixed bugs:

  • ArrowArrayStreamReader errors on zero-column record batches #9394
  • Regression on main (58): Parquet argument error: Parquet error: Required field type_ is missing #9315 [parquet]

Documentation updates:

  • Improve safety documentation of the Array trait #9314 [arrow] (alamb)
  • Improve docs and add build() method to {Null,Boolean,}BufferBuilder #9155 [arrow] (alamb)
  • Improve ArrowReaderBuilder::with_row_filter documentation #9153 [parquet] (alamb)
  • docs: Improve main README.md and highlight community #9119 (alamb)
  • Docs: Add additional documentation and example for make_array #9112 [arrow] (alamb)
  • doc: fix link on FixedSizeListArray doc #9033 [arrow] (Jefffrey)

Performance improvements:

  • Replace ArrayData with direct Array construction #9338 [arrow] (liamzwbao)
  • Remove some unsafe and allocations when creating PrimitiveArrays from Vec and from_trusted_len_iter #9299 [arrow] (alamb)
  • parquet: rle skip decode loop when batch contains all max levels (aka no nulls) #9258 [parquet] (lyang24)
  • Improve parquet BinaryView / StringView decoder performance (up to -35%) #9236 [parquet] (Dandandan)
  • Avoid a clone when creating BooleanArray from ArrayData #9159 [arrow] (alamb)
  • Avoid overallocating arrays in coalesce primitives / views #9132 [arrow] (Dandandan)
  • perf: Avoid ArrayData allocation in PrimitiveArray::reinterpret_cast #9129 [arrow] (alamb)
  • [Parquet] perf: Create StructArrays directly rather than via ArrayData (1% improvement) #9120 [parquet] [arrow] (alamb)
  • Avoid clones in make_array for StructArray and GenericByteViewArray #9114 [arrow] (alamb)
  • perf: optimize hex decoding in json (1.8x faster in binary-heavy) #9091 [arrow] (Weijun-H)
  • Speed up binary kernels (30% faster and and or), add BooleanBuffer::from_bitwise_binary_op #9090 [arrow] (alamb)
  • perf: improve field indexing in JSON StructArrayDecoder (1.7x speed up) #9086 [arrow] (Weijun-H)
  • bench: added to row_format benchmark conversion of 53 non-nested columns #9081 [arrow] (rluvaton)
  • perf: improve calculating length performance for view byte array in row conversion #9080 [arrow] (rluvaton)
  • perf: improve calculating length performance for nested arrays in row conversion #9079 [arrow] (rluvaton)
  • perf: improve calculating length performance for GenericByteArray in row conversion #9078 [arrow] (rluvaton)

Closed issues:

  • BatchCoalescer::push_batch panics on schema mismatch instead of returning error #9389
  • Release arrow-rs / parquet Minor version 57.3.0 (January 2026) #9240
  • [Variant] support .. and ['fieldName'] syntax in the VariantPath parser #9050
  • Support Float16 for create_random_array #9028

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.