🎉 Highlights
We've started to revamp our CSV and JSON reader and writer to work more inline with our Parquet I/O. As part of this release, we standardized multiple smaller features and filesystem support. We’ve just begun, so look forward to more changes!
In addition, we also started working on improving our compilation time by first creating a global cache for internal functions. This can provide dramatic speedups on subsequent uses of Bodo.
✨ New Features
* Support reading CSV/JSON/Parquet data from HuggingFace by ehsantn in 175 and 176
* Support Google Cloud Storage (GCS) for CSV/JSON/Parquet I/O by ehsantn in 169
* Support glob format in CSV read by ehsantn in 180
* Support zstd compression in CSV/JSON I/O by ehsantn in 027
* Improved reliability of spawn destructors for lazy data structures by ehsantn in 161
🏎️ Performance Improvements
* Improved compilation time of dataframe unboxing by ehsantn in 147
* Improved compilation time by caching functions internal to Bodo across program runs by DrTodd13 in 154
🐞 Bug Fixes
* Improved the error message when Bodo detects an OOM to provide potential solutions and paths forward by srilman in 205
* Fixed a bug in parallel read of JSON lines files by ehsantn in 178
* Fix the Pandas warning that appears when using to_csv or to_json by hadia206 in 216 and 234
⚙️ Dependency Upgrades
* Upgraded Calcite to 1.38 by IsaacWarren in 148, 190, and 195
* Upgraded Numba to 0.61 by ehsantn in 98 and 201
💖 New Contributors
* DrTodd13 made their first contribution in https://github.com/bodo-ai/Bodo/pull/154
**Full Changelog**: https://github.com/bodo-ai/Bodo/compare/2025.1...2025.2