Skip to content

Bodo 2025.12 Release (Date: 12/11/2025)

πŸŽ‰ Highlights

This release, we are excited to add Join Filters in the plan optimizer, significantly improving performance on real workloads. We also improve Bodo's timezone support and fix several minor bugs.

✨ New Features

  • Support datetime.datetime in query plans.
  • Validate repl argument of Series.str.replace same as Pandas.
  • Improve concat output order.
  • Support Series.take().
  • Support timezones in to_datetime.

🏎️ Performance Improvements

  • Add Join Filters to remove rows with keys that won’t match a join key as early as possible.
  • Box/unbox date arrays using Arrow.
  • Box/unbox time arrays using Arrow.

πŸ› Bug Fixes

  • Avoid hang in scattering BodoSeries.
  • Fix explode bug for Arrow large list type.
  • Allow int64/uint64 mismatch in some internal data structures.
  • Fix for ArrowExtensionArray iloc indexing.
  • Fix timezone in convert_dtypes.
  • Fix for nested join.
  • Fixed remove unused column pass to keep column references alive in conjunction with duckdb version upgrade.
  • Better support for operations that result in empty dataframes.

2025.12.1

✨ New Features

  • Support negative n in df.head()
  • Handle tuple column selection in df.loc

🏎️ Performance Improvements

  • Improved performance of pd.to_datetime()

πŸ› Bug Fixes

  • Removed support for AWS Bedrock's EOL titan-text models in the DataFrame Library AI Toolkit
  • Fixed overflow error when estimating the size of large Parquet datasets
  • Allow ranks to send concurrent async messages to each other during shuffle
  • Fix output Series.name for pd.to_datetime()
  • Cast binary operation result to output type properly to avoid downstream errors
  • Keep input timestamp unit in Series.dt.tz_localize()
  • Fix slicing with negative steps
  • Avoid double cast for integer division

βš™οΈ Dependency Changes

  • Upgrade to Numba 0.63.1

2025.12.2

🏎️ Performance Improvements

  • Generate min/max filters that are pushed to Parquet or Iceberg I/O using statistics collected during join build.
  • Estimate large Parquet dataset cardinality during planning instead of getting exact row count.

βš™οΈ Dependency Changes

  • Added support for Python 3.14.
  • Dropped support for Mac Intel.