github jorgecarleitao/arrow2 v0.4.0

latest releases: v0.17.0, v0.16.0, v0.15.0...
2 years ago

A new release is here! 🎉🎉🎉

This one marked by a lot of enhancements to existing functionality. Of special mention:

  • 🚀 improved performance of integer division by 4x-10x via strength division (@sundy-li and @ritchie46)
  • 🚀 improved performance of concatenating nullable arrays by 4x
  • 🚀 improved performance of comparisons by 2x-14x
  • 🔧 moved most tests to a separate directory
  • 🔧 Increased test coverage to over 80%
  • 🔧 Made multiversion, lexical-core and serde-derive dependencies optional
  • ✅ Added support for UnionArray (including FFI and IPC tests)
  • ✅ Added support for FFI of Field

(full list below)

As usual, there is a small number of backward incompatible changes. The associated issues include the migration paths.

Finally, thank you to all contributors and reporters 🙇 In particular, thank you to polars and datafuse teams for the 🐛 reports. They help tremendously 💯

Full Changelog

Breaking changes:

  • Change dictionary iterator of values from Arrays of one element to Scalars #335
  • Align FFI API with arrow's C++ API #328
  • Make *_compare_scalar not return Result #316
  • Make io::print, get_value_display and get_display not return Result #286
  • Add MetadataVersion to IPC interfaces #282
  • Change DataType::Union to enable round trips in IPC #281
  • Removed clone requirement in StructArray -> RecordBatch #307 (jorgecarleitao)
  • Fixed error in reading a non-finished IPC stream. #302 (jorgecarleitao)
  • Generalized ZipIterator to accept a BitmapIter #296 (jorgecarleitao)

New features:

Fixed bugs:

Enhancements:

Documentation updates:

Testing updates:

Closed issues:

  • Make parquet_read_record support async #331
  • Panic due to SIMD comparison #312
  • Bitmap::mutable line 155 may Panic/segfault #309
  • IPC's StreamReader may abort due to excessive memory by overflowing a usized variable #301
  • Improve performance of rem_scalar/div_scalar for integer types (4x-10x) #259

Don't miss a new arrow2 release

NewReleases is sending notifications on new releases.