Skip to content

minarrow v0.19.0

Latest

Choose a tag to compare

@pbower pbower released this 27 Oct 14:07
· 17 commits to main since this release
d4f59bd

Minarrow 0.19.0 - 2026-10-27

Breaking

  • default_categorical_8 now includes Categorical32 with Categorical8. Previously this feature gated out Categorical32 completely. Note: This change is only breaking for users who previously had the default_categorical_8 feature activated for 256 maximum categories at a lower memory footprint.
  • Column selection views have been optimised to replace expensive gathering with optimised Bitmask processing. As a result, DataSelector::resolve_indices has been replaced by resolve_mask, returning a Bitmask, and resolve_range.
  • Matrix::extract_rows is renamed gather_rows.

Added

  • Array::scatter_indices, the write counterpart to gather_indices.
  • adjacent_window and ptr_eq, joining consecutive windows of one parent without copying.
  • gather_rows_mask on Matrix and MatrixV.
  • Value::arrow_type.
  • DataSelector::to_owned, and DataSelector for Box<dyn DataSelector>.
  • logical_bytes for Matrix, NdArray, SuperNdArray, XArray and their views.

Optimisations

  • Word-level Bitmask copy and append, and Array::bool packing.
  • Integer arithmetic for datetime period flooring.
  • Faster string to categorical interning.

Bugfixes

  • Several bitmask kernels have been corrected to accept input windows at any bit offset.
  • Scalar to scalar broadcasting arithmetic now correctly reflects the underlying ArithmeticOperator.
  • Fixed a regression on word-based mask bug-fixes for lengths ending part-way through a word affecting all-true and all-false masks.
  • Fixed a bug in table column order selections.

Maintenance

  • Upgraded vec64 to 0.5.4.