# Changelog
## [v0.17.0](https://github.com/jorgecarleitao/arrow2/tree/v0.17.0) (2023-03-27)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.16.0...v0.17.0)
**Breaking changes:**
- Changed async ipc writer to accept schema by value [\#1439](https://github.com/jorgecarleitao/arrow2/pull/1439) ([ritchie46](https://github.com/ritchie46))
- Made `len/len_proxy` consistent with `Offsets` [\#1434](https://github.com/jorgecarleitao/arrow2/pull/1434) ([ritchie46](https://github.com/ritchie46))
- Changed methods to slice arrays [\#1396](https://github.com/jorgecarleitao/arrow2/pull/1396) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added buffer interoperability with arrow-rs [\#1437](https://github.com/jorgecarleitao/arrow2/pull/1437) ([tustvold](https://github.com/tustvold))
- Added MapScalar [\#1428](https://github.com/jorgecarleitao/arrow2/pull/1428) ([b41sh](https://github.com/b41sh))
- Added support for JSON serialization of dictionary [\#1424](https://github.com/jorgecarleitao/arrow2/pull/1424) ([ritchie46](https://github.com/ritchie46))
- Added support for MapArray read and write to parquet [\#1419](https://github.com/jorgecarleitao/arrow2/pull/1419) ([b41sh](https://github.com/b41sh))
**Fixed bugs:**
- `parquet_read` panics when working with `date64`s [\#1400](https://github.com/jorgecarleitao/arrow2/issues/1400)
- Round Trip \[Rust -\> arrow2\_convert -\> Arrow -\> Parquet -\> Arrow -\> Rust\] [\#1376](https://github.com/jorgecarleitao/arrow2/issues/1376)
- Parquet writes incorrect `List<u32>` [\#1368](https://github.com/jorgecarleitao/arrow2/issues/1368)
- Slicing nullable list arrays into multiple parquet pages doesn't work [\#1356](https://github.com/jorgecarleitao/arrow2/issues/1356)
- Reading parquet file with multiple row groups and nested nullable struct types panics [\#1249](https://github.com/jorgecarleitao/arrow2/issues/1249)
- Changed encoded float::Inf as null in json [\#1427](https://github.com/jorgecarleitao/arrow2/pull/1427) ([SimonSchneider](https://github.com/SimonSchneider))
- Fixed statistics writing flag and correct null\_count in dictionaries [\#1414](https://github.com/jorgecarleitao/arrow2/pull/1414) ([ritchie46](https://github.com/ritchie46))
- Fixed ahash dependency for wasm [\#1407](https://github.com/jorgecarleitao/arrow2/pull/1407) ([hzuo](https://github.com/hzuo))
- Fixed writing of sliced arrays to parquet [\#1397](https://github.com/jorgecarleitao/arrow2/pull/1397) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed writing nested parquet [\#1390](https://github.com/jorgecarleitao/arrow2/pull/1390) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Added interoperability with arrow-schema [\#1442](https://github.com/jorgecarleitao/arrow2/pull/1442) ([tustvold](https://github.com/tustvold))
- Updated dependencies [\#1441](https://github.com/jorgecarleitao/arrow2/pull/1441) ([ritchie46](https://github.com/ritchie46))
- Updated multiversion and support wider registers [\#1440](https://github.com/jorgecarleitao/arrow2/pull/1440) ([ritchie46](https://github.com/ritchie46))
- Added impl\_mutable\_array\_mut\_validity macro for mutable arrays [\#1435](https://github.com/jorgecarleitao/arrow2/pull/1435) ([Arty-Maly](https://github.com/Arty-Maly))
- Re-exported the `bloom_filter` module from `parquet2` crate [\#1420](https://github.com/jorgecarleitao/arrow2/pull/1420) ([ozgrakkurt](https://github.com/ozgrakkurt))
- Updated base64 to 0.21 [\#1408](https://github.com/jorgecarleitao/arrow2/pull/1408) ([WindSoilder](https://github.com/WindSoilder))
- Added apply\_validity and set\_validity to mutable utf8 array [\#1406](https://github.com/jorgecarleitao/arrow2/pull/1406) ([Arty-Maly](https://github.com/Arty-Maly))
- Added cast for FixedSizeBinary to \(Large\)Binary [\#1403](https://github.com/jorgecarleitao/arrow2/pull/1403) ([ritchie46](https://github.com/ritchie46))
- Improved support for date64 written by pyarrow to parquet [\#1402](https://github.com/jorgecarleitao/arrow2/pull/1402) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code [\#1401](https://github.com/jorgecarleitao/arrow2/pull/1401) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved API of getting mutable from Buffer [\#1399](https://github.com/jorgecarleitao/arrow2/pull/1399) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code via DRY [\#1398](https://github.com/jorgecarleitao/arrow2/pull/1398) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `set_len` method to Buffer [\#1374](https://github.com/jorgecarleitao/arrow2/pull/1374) ([haixuanTao](https://github.com/haixuanTao))
**Documentation updates:**
- Fixed broken guide link [\#1395](https://github.com/jorgecarleitao/arrow2/pull/1395) ([kjschiroo](https://github.com/kjschiroo))
## [v0.16.0](https://github.com/jorgecarleitao/arrow2/tree/v0.16.0) (2023-02-09)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.15.0...v0.16.0)
**Breaking changes:**
- Made IPC writer take owned schema [\#1361](https://github.com/jorgecarleitao/arrow2/pull/1361) ([ritchie46](https://github.com/ritchie46))
- Correctly update child-offsets in `GrowableUnion` [\#1360](https://github.com/jorgecarleitao/arrow2/pull/1360) ([jleibs](https://github.com/jleibs))
**Fixed bugs:**
- invalid written parquet file of nested structures. \(Mixing list with structs\) [\#1325](https://github.com/jorgecarleitao/arrow2/issues/1325)
- Fix incorrect downcast in `estimated_size_bytes` [\#1351](https://github.com/jorgecarleitao/arrow2/pull/1351) ([jleibs](https://github.com/jleibs))
- fix\(parquet\): nested struct /list writing [\#1347](https://github.com/jorgecarleitao/arrow2/pull/1347) ([ritchie46](https://github.com/ritchie46))
- Fixed csv infer\_schema on empty fields [\#1342](https://github.com/jorgecarleitao/arrow2/pull/1342) ([tripokey](https://github.com/tripokey))
**Enhancements:**
- Added support for `take` of `FixedSizeListArray` [\#1386](https://github.com/jorgecarleitao/arrow2/pull/1386) ([kylebarron](https://github.com/kylebarron))
- Renamed `factory` argument on parquet read functions to `reader_factory` [\#1380](https://github.com/jorgecarleitao/arrow2/pull/1380) ([ozgrakkurt](https://github.com/ozgrakkurt))
- Made some structs and functions public [\#1375](https://github.com/jorgecarleitao/arrow2/pull/1375) ([b41sh](https://github.com/b41sh))
- Added `Utf8Array::apply_validity` [\#1367](https://github.com/jorgecarleitao/arrow2/pull/1367) ([Arty-Maly](https://github.com/Arty-Maly))
- Added set/get scratches [\#1363](https://github.com/jorgecarleitao/arrow2/pull/1363) ([ritchie46](https://github.com/ritchie46))
- Amortized intermediate allocations in IPC writer [\#1362](https://github.com/jorgecarleitao/arrow2/pull/1362) ([ritchie46](https://github.com/ritchie46))
- Improved clippy [\#1353](https://github.com/jorgecarleitao/arrow2/pull/1353) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Fixed typo in `OffsetsBuffer` docs [\#1373](https://github.com/jorgecarleitao/arrow2/pull/1373) ([DzenanJupic](https://github.com/DzenanJupic))
- Update README.md to fix capitalization and spelling [\#1338](https://github.com/jorgecarleitao/arrow2/pull/1338) ([yerke](https://github.com/yerke))
**Testing updates:**
- add toolchain.toml [\#1349](https://github.com/jorgecarleitao/arrow2/pull/1349) ([ritchie46](https://github.com/ritchie46))
## [v0.15.0](https://github.com/jorgecarleitao/arrow2/tree/v0.15.0) (2022-12-18)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.14.2...v0.15.0)
**Breaking changes:**
- Added values' capacity to `MutableBinaryArray::reserve` [\#1277](https://github.com/jorgecarleitao/arrow2/issues/1277)
- Removed `from_data` from all arrays [\#1328](https://github.com/jorgecarleitao/arrow2/pull/1328) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `Offsets` and `OffsetsBuffer` [\#1316](https://github.com/jorgecarleitao/arrow2/pull/1316) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped parquet2 dependency [\#1304](https://github.com/jorgecarleitao/arrow2/pull/1304) ([ritchie46](https://github.com/ritchie46))
- Added data\_pagesize\_limit to write parquet pages [\#1303](https://github.com/jorgecarleitao/arrow2/pull/1303) ([sundy-li](https://github.com/sundy-li))
- Bumped arrow-format to 0.8 [\#1298](https://github.com/jorgecarleitao/arrow2/pull/1298) ([Xuanwo](https://github.com/Xuanwo))
- Improved iterators [\#1270](https://github.com/jorgecarleitao/arrow2/pull/1270) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added `TryExtendFromSelf` [\#1278](https://github.com/jorgecarleitao/arrow2/pull/1278) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for JSON ser/de records layout [\#1275](https://github.com/jorgecarleitao/arrow2/pull/1275) ([AnIrishDuck](https://github.com/AnIrishDuck))
**Fixed bugs:**
- Parquet writes all values of sliced arrays? [\#1323](https://github.com/jorgecarleitao/arrow2/issues/1323)
- Avro schema: Invalid record names [\#1269](https://github.com/jorgecarleitao/arrow2/issues/1269)
- Fixed writing nested/sliced arrays to parquet [\#1326](https://github.com/jorgecarleitao/arrow2/pull/1326) ([ritchie46](https://github.com/ritchie46))
- Fixed failing to accept dictionary full of nulls [\#1312](https://github.com/jorgecarleitao/arrow2/pull/1312) ([ritchie46](https://github.com/ritchie46))
- Added support for Extension types in ffi [\#1300](https://github.com/jorgecarleitao/arrow2/pull/1300) ([jondo2010](https://github.com/jondo2010))
- Fixed error in memory usage of sliced binary/list/utf8arrays [\#1293](https://github.com/jorgecarleitao/arrow2/pull/1293) ([ritchie46](https://github.com/ritchie46))
- Fixed descending ordering when specify nulls first [\#1286](https://github.com/jorgecarleitao/arrow2/pull/1286) ([sandflee](https://github.com/sandflee))
- Added avro record names when converting arrow schema to avro [\#1279](https://github.com/jorgecarleitao/arrow2/pull/1279) ([Samrose-Ahmed](https://github.com/Samrose-Ahmed))
**Enhancements:**
- Fixed clippy [\#1336](https://github.com/jorgecarleitao/arrow2/pull/1336) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved `UnionArray` [\#1331](https://github.com/jorgecarleitao/arrow2/pull/1331) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped json-deserializer version [\#1321](https://github.com/jorgecarleitao/arrow2/pull/1321) ([universalmind303](https://github.com/universalmind303))
- Removed flushing during arrow IPC writing to improve performance when using a buffered writer [\#1318](https://github.com/jorgecarleitao/arrow2/pull/1318) ([cyr](https://github.com/cyr))
- Improved performance of check\_indexes [\#1313](https://github.com/jorgecarleitao/arrow2/pull/1313) ([ritchie46](https://github.com/ritchie46))
- Improved performance of checking offsets `~-64-73%` [\#1305](https://github.com/jorgecarleitao/arrow2/pull/1305) ([ritchie46](https://github.com/ritchie46))
- Added `reserve` to pushable containers in parquet extend\_from\_decoder [\#1301](https://github.com/jorgecarleitao/arrow2/pull/1301) ([ritchie46](https://github.com/ritchie46))
- Optimized slicing [\#1285](https://github.com/jorgecarleitao/arrow2/pull/1285) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved ZipValidity iterators [\#1284](https://github.com/jorgecarleitao/arrow2/pull/1284) ([ritchie46](https://github.com/ritchie46))
- Added `MutableBinaryValuesArray` [\#1276](https://github.com/jorgecarleitao/arrow2/pull/1276) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Fixed link from the API to the guide [\#1290](https://github.com/jorgecarleitao/arrow2/pull/1290) ([datapythonista](https://github.com/datapythonista))
## [v0.15.0](https://github.com/jorgecarleitao/arrow2/tree/v0.15.0) (2022-12-18)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.14.2...v0.15.0)
**Breaking changes:**
- Added values' capacity to `MutableBinaryArray::reserve` [\#1277](https://github.com/jorgecarleitao/arrow2/issues/1277)
- Removed `from_data` from all arrays [\#1328](https://github.com/jorgecarleitao/arrow2/pull/1328) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `Offsets` and `OffsetsBuffer` [\#1316](https://github.com/jorgecarleitao/arrow2/pull/1316) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped parquet2 dependency [\#1304](https://github.com/jorgecarleitao/arrow2/pull/1304) ([ritchie46](https://github.com/ritchie46))
- Added data\_pagesize\_limit to write parquet pages [\#1303](https://github.com/jorgecarleitao/arrow2/pull/1303) ([sundy-li](https://github.com/sundy-li))
- Bumped arrow-format to 0.8 [\#1298](https://github.com/jorgecarleitao/arrow2/pull/1298) ([Xuanwo](https://github.com/Xuanwo))
- Improved iterators [\#1270](https://github.com/jorgecarleitao/arrow2/pull/1270) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added `TryExtendFromSelf` [\#1278](https://github.com/jorgecarleitao/arrow2/pull/1278) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for JSON ser/de records layout [\#1275](https://github.com/jorgecarleitao/arrow2/pull/1275) ([AnIrishDuck](https://github.com/AnIrishDuck))
**Fixed bugs:**
- Parquet writes all values of sliced arrays? [\#1323](https://github.com/jorgecarleitao/arrow2/issues/1323)
- Avro schema: Invalid record names [\#1269](https://github.com/jorgecarleitao/arrow2/issues/1269)
- Fixed writing nested/sliced arrays to parquet [\#1326](https://github.com/jorgecarleitao/arrow2/pull/1326) ([ritchie46](https://github.com/ritchie46))
- Fixed failing to accept dictionary full of nulls [\#1312](https://github.com/jorgecarleitao/arrow2/pull/1312) ([ritchie46](https://github.com/ritchie46))
- Added support for Extension types in ffi [\#1300](https://github.com/jorgecarleitao/arrow2/pull/1300) ([jondo2010](https://github.com/jondo2010))
- Fixed error in memory usage of sliced binary/list/utf8arrays [\#1293](https://github.com/jorgecarleitao/arrow2/pull/1293) ([ritchie46](https://github.com/ritchie46))
- Fixed descending ordering when specify nulls first [\#1286](https://github.com/jorgecarleitao/arrow2/pull/1286) ([sandflee](https://github.com/sandflee))
- Added avro record names when converting arrow schema to avro [\#1279](https://github.com/jorgecarleitao/arrow2/pull/1279) ([Samrose-Ahmed](https://github.com/Samrose-Ahmed))
**Enhancements:**
- Fixed clippy [\#1336](https://github.com/jorgecarleitao/arrow2/pull/1336) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved `UnionArray` [\#1331](https://github.com/jorgecarleitao/arrow2/pull/1331) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped json-deserializer version [\#1321](https://github.com/jorgecarleitao/arrow2/pull/1321) ([universalmind303](https://github.com/universalmind303))
- Removed flushing during arrow IPC writing to improve performance when using a buffered writer [\#1318](https://github.com/jorgecarleitao/arrow2/pull/1318) ([cyr](https://github.com/cyr))
- Improved performance of check\_indexes [\#1313](https://github.com/jorgecarleitao/arrow2/pull/1313) ([ritchie46](https://github.com/ritchie46))
- Improved performance of checking offsets `~-64-73%` [\#1305](https://github.com/jorgecarleitao/arrow2/pull/1305) ([ritchie46](https://github.com/ritchie46))
- Added `reserve` to pushable containers in parquet extend\_from\_decoder [\#1301](https://github.com/jorgecarleitao/arrow2/pull/1301) ([ritchie46](https://github.com/ritchie46))
- Optimized slicing [\#1285](https://github.com/jorgecarleitao/arrow2/pull/1285) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved ZipValidity iterators [\#1284](https://github.com/jorgecarleitao/arrow2/pull/1284) ([ritchie46](https://github.com/ritchie46))
- Added `MutableBinaryValuesArray` [\#1276](https://github.com/jorgecarleitao/arrow2/pull/1276) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Fixed link from the API to the guide [\#1290](https://github.com/jorgecarleitao/arrow2/pull/1290) ([datapythonista](https://github.com/datapythonista))
## [v0.14.2](https://github.com/jorgecarleitao/arrow2/tree/v0.14.2) (2022-10-05)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.14.1...v0.14.2)
**New features:**
- Added MutableUtf8ValuesArray [\#1260](https://github.com/jorgecarleitao/arrow2/pull/1260) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Unnecessary println in library code [\#1263](https://github.com/jorgecarleitao/arrow2/issues/1263)
**Testing updates:**
- Added test for `MutableUtf8Array::as_box` [\#1266](https://github.com/jorgecarleitao/arrow2/pull/1266) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.14.1](https://github.com/jorgecarleitao/arrow2/tree/v0.14.1) (2022-09-27)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.14.0...v0.14.1)
**Fixed bugs:**
- Potentially unneeded call in Parquet repetition-level encoding [\#1254](https://github.com/jorgecarleitao/arrow2/issues/1254)
- Potential bug in reading lists from avro? [\#1252](https://github.com/jorgecarleitao/arrow2/issues/1252)
- Removed un-used code [\#1258](https://github.com/jorgecarleitao/arrow2/pull/1258) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error reading unbounded Avro list [\#1253](https://github.com/jorgecarleitao/arrow2/pull/1253) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Add missing call to `try_push_valid` for nested avro deserialization [\#1248](https://github.com/jorgecarleitao/arrow2/pull/1248) ([shaeqahmed](https://github.com/shaeqahmed))
**Enhancements:**
- Bump json\_deserializer version to 0.4.1 [\#1261](https://github.com/jorgecarleitao/arrow2/pull/1261) ([cjermain](https://github.com/cjermain))
- Fixed clippy for 1.60 [\#1259](https://github.com/jorgecarleitao/arrow2/pull/1259) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `BinaryArray::into_mut` and double-ended support for its iterator [\#1255](https://github.com/jorgecarleitao/arrow2/pull/1255) ([ozgrakkurt](https://github.com/ozgrakkurt))
**Testing updates:**
- Improved test for nullable struct read from Avro [\#1250](https://github.com/jorgecarleitao/arrow2/pull/1250) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.14.0](https://github.com/jorgecarleitao/arrow2/tree/v0.14.0) (2022-09-12)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.13.0...v0.14.0)
**Breaking changes:**
- Removed `Count` \(parquet statistics\) [\#1217](https://github.com/jorgecarleitao/arrow2/pull/1217) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Exposed parquet indexed page filtering to `FileReader` [\#1216](https://github.com/jorgecarleitao/arrow2/pull/1216) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simpler IPC API [\#1208](https://github.com/jorgecarleitao/arrow2/pull/1208) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Migrated Avro code to avro-schema repo [\#1199](https://github.com/jorgecarleitao/arrow2/pull/1199) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for decimal 256 [\#1194](https://github.com/jorgecarleitao/arrow2/pull/1194) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added support for decoding delta-length-encoded binary \(parquet\) [\#1228](https://github.com/jorgecarleitao/arrow2/pull/1228) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read and write Parquet's delta-bitpacked \(integer encoding\) [\#1226](https://github.com/jorgecarleitao/arrow2/pull/1226) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for parquet sidecar to `FileReader` [\#1215](https://github.com/jorgecarleitao/arrow2/pull/1215) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Write 64bit aligned IPC files [\#1201](https://github.com/jorgecarleitao/arrow2/pull/1201) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to mmap IPC format [\#1197](https://github.com/jorgecarleitao/arrow2/pull/1197) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `MutableStructArray` [\#1196](https://github.com/jorgecarleitao/arrow2/pull/1196) ([hohav](https://github.com/hohav))
**Fixed bugs:**
- Stack overflow in parquet RowGroupReader with groups\_filter [\#1206](https://github.com/jorgecarleitao/arrow2/issues/1206)
- fixed comparisson and validity kernels [\#1243](https://github.com/jorgecarleitao/arrow2/pull/1243) ([ritchie46](https://github.com/ritchie46))
- Fixed reading nested stats [\#1240](https://github.com/jorgecarleitao/arrow2/pull/1240) ([jorgecarleitao](https://github.com/jorgecarleitao))
- `FileSink` now closes the underlying writer. [\#1213](https://github.com/jorgecarleitao/arrow2/pull/1213) ([samkaufman](https://github.com/samkaufman))
- Fixed JSON infer order [\#1212](https://github.com/jorgecarleitao/arrow2/pull/1212) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed StackOverflow in skipping many parquet row groups [\#1210](https://github.com/jorgecarleitao/arrow2/pull/1210) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fix escaped like wildcards [\#1204](https://github.com/jorgecarleitao/arrow2/pull/1204) ([daniel-martinez-maqueda-sap](https://github.com/daniel-martinez-maqueda-sap))
- Removed println :\( [\#1203](https://github.com/jorgecarleitao/arrow2/pull/1203) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Added schema to FileReader [\#1246](https://github.com/jorgecarleitao/arrow2/pull/1246) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simpler nested parquet read [\#1241](https://github.com/jorgecarleitao/arrow2/pull/1241) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed unneeded code [\#1229](https://github.com/jorgecarleitao/arrow2/pull/1229) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved `MutableStruct::push` [\#1223](https://github.com/jorgecarleitao/arrow2/pull/1223) ([hohav](https://github.com/hohav))
- Reduced binary size [\#1221](https://github.com/jorgecarleitao/arrow2/pull/1221) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added utf8 \<\> binary cast [\#1220](https://github.com/jorgecarleitao/arrow2/pull/1220) ([jorgecarleitao](https://github.com/jorgecarleitao))
- split parquet compression backend features [\#1207](https://github.com/jorgecarleitao/arrow2/pull/1207) ([ritchie46](https://github.com/ritchie46))
- Improved API of `mmap` [\#1205](https://github.com/jorgecarleitao/arrow2/pull/1205) ([ritchie46](https://github.com/ritchie46))
- Added `MutableArray::reserve` [\#1202](https://github.com/jorgecarleitao/arrow2/pull/1202) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Delayed dict [\#1185](https://github.com/jorgecarleitao/arrow2/pull/1185) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Fixed guide and improved examples [\#1247](https://github.com/jorgecarleitao/arrow2/pull/1247) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added documentation on parquet compatibility under `TimeUnit`. [\#1238](https://github.com/jorgecarleitao/arrow2/pull/1238) ([TurnOfACard](https://github.com/TurnOfACard))
- Fixed typo in error message for impl StructArray [\#1237](https://github.com/jorgecarleitao/arrow2/pull/1237) ([knil-sama](https://github.com/knil-sama))
- Fixed incorrect command in doc for generating ORC files [\#1234](https://github.com/jorgecarleitao/arrow2/pull/1234) ([poga](https://github.com/poga))
- Improved github page generation [\#1233](https://github.com/jorgecarleitao/arrow2/pull/1233) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fix a typo in the docs [\#1225](https://github.com/jorgecarleitao/arrow2/pull/1225) ([teymour-aldridge](https://github.com/teymour-aldridge))
- Fix some doc links/typos [\#1211](https://github.com/jorgecarleitao/arrow2/pull/1211) ([AnIrishDuck](https://github.com/AnIrishDuck))
**Testing updates:**
- Fixed clippy warnings [\#1227](https://github.com/jorgecarleitao/arrow2/pull/1227) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Updated integration test [\#1214](https://github.com/jorgecarleitao/arrow2/pull/1214) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.13.0](https://github.com/jorgecarleitao/arrow2/tree/v0.13.0) (2022-07-31)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.12.0...v0.13.0)
**Breaking changes:**
- Made `nested` argument of `array_to_pages` non-owning [\#1174](https://github.com/jorgecarleitao/arrow2/issues/1174)
- Replaced `Result` by `panic` in boolean comparison [\#1159](https://github.com/jorgecarleitao/arrow2/pull/1159) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved dictionary invariants [\#1137](https://github.com/jorgecarleitao/arrow2/pull/1137) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Change signature of PrimitiveScalar::value to return reference [\#1129](https://github.com/jorgecarleitao/arrow2/pull/1129) ([ncpenke](https://github.com/ncpenke))
- Removed need to pass encodings by value [\#1123](https://github.com/jorgecarleitao/arrow2/pull/1123) ([ritchie46](https://github.com/ritchie46))
- Removed unused `NativeType::to_ne_bytes` [\#1112](https://github.com/jorgecarleitao/arrow2/pull/1112) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Avoid clone in `with_validity` [\#1104](https://github.com/jorgecarleitao/arrow2/pull/1104) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Reduced need of `unsafe` in FFI [\#1100](https://github.com/jorgecarleitao/arrow2/pull/1100) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed `Buffer::into_mut` and `make_mut` functions [\#1089](https://github.com/jorgecarleitao/arrow2/pull/1089) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Renamed `Bitmap::null_count` to `Bitmap::unset_bits` [\#1087](https://github.com/jorgecarleitao/arrow2/pull/1087) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `chunk_size` optional in parquet's `column_iter_to_arrays` [\#1055](https://github.com/jorgecarleitao/arrow2/pull/1055) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Migrated from `Arc<dyn Array>` to `Box<dyn Array>` [\#1042](https://github.com/jorgecarleitao/arrow2/pull/1042) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added support to read ORC [\#1189](https://github.com/jorgecarleitao/arrow2/pull/1189) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for limit pushdown to IPC reading [\#1135](https://github.com/jorgecarleitao/arrow2/pull/1135) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write and read Intervals from and to parquet [\#1122](https://github.com/jorgecarleitao/arrow2/pull/1122) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write `FixedSizeBinary` to Avro [\#1118](https://github.com/jorgecarleitao/arrow2/pull/1118) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for projections in reading IPC streams [\#1097](https://github.com/jorgecarleitao/arrow2/pull/1097) ([joshuataylor](https://github.com/joshuataylor))
- Added support to write parquet `_metadata` sidecar [\#1063](https://github.com/jorgecarleitao/arrow2/pull/1063) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added cow APIs \(2x-10x vs non-cow\) [\#1061](https://github.com/jorgecarleitao/arrow2/pull/1061) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read and write f16 [\#1051](https://github.com/jorgecarleitao/arrow2/pull/1051) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Fixed error not implemented error when reading plain, after-dict pages for fix-len-binary from parquet [\#1192](https://github.com/jorgecarleitao/arrow2/pull/1192) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in decoding nested multi-page columns from parquet [\#1188](https://github.com/jorgecarleitao/arrow2/pull/1188) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in counting items in nested parquet [\#1182](https://github.com/jorgecarleitao/arrow2/pull/1182) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed reading stats from int96 parquet [\#1181](https://github.com/jorgecarleitao/arrow2/pull/1181) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed limit pushdown in parquet [\#1180](https://github.com/jorgecarleitao/arrow2/pull/1180) ([jorgecarleitao](https://github.com/jorgecarleitao))
- use `FnOnce` for `PrimitiveArray::apply_validity` [\#1176](https://github.com/jorgecarleitao/arrow2/pull/1176) ([ritchie46](https://github.com/ritchie46))
- release memory on predicate with 0% selectivity [\#1163](https://github.com/jorgecarleitao/arrow2/pull/1163) ([ritchie46](https://github.com/ritchie46))
- Fixed error in reading `Struct<List<...>>` from parquet [\#1150](https://github.com/jorgecarleitao/arrow2/pull/1150) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed IPC projection [\#1149](https://github.com/jorgecarleitao/arrow2/pull/1149) ([ritchie46](https://github.com/ritchie46))
- Fixed casting dictionary keys [\#1143](https://github.com/jorgecarleitao/arrow2/pull/1143) ([ritchie46](https://github.com/ritchie46))
- Fixed reading arrays from parquet with required children [\#1140](https://github.com/jorgecarleitao/arrow2/pull/1140) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed panic in deserializing nested statistics [\#1139](https://github.com/jorgecarleitao/arrow2/pull/1139) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Aligned name of `FixedSizeBinaryArray::values_iter` [\#1117](https://github.com/jorgecarleitao/arrow2/pull/1117) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in `FixedSizeListArray::new_null` [\#1114](https://github.com/jorgecarleitao/arrow2/pull/1114) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed panic in writing dictionaries to parquet [\#1113](https://github.com/jorgecarleitao/arrow2/pull/1113) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in reading chunked parquet [\#1108](https://github.com/jorgecarleitao/arrow2/pull/1108) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Raise error when invalid fields are passed to flight [\#1093](https://github.com/jorgecarleitao/arrow2/pull/1093) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made IPC projection not sort projection [\#1082](https://github.com/jorgecarleitao/arrow2/pull/1082) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in chunked\_mut bitmap [\#1081](https://github.com/jorgecarleitao/arrow2/pull/1081) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed panic in bitmap assign\_mut [\#1078](https://github.com/jorgecarleitao/arrow2/pull/1078) ([ritchie46](https://github.com/ritchie46))
- Panic-free read of IPC files [\#1075](https://github.com/jorgecarleitao/arrow2/pull/1075) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped parquet2 \(minor\) requirement [\#1071](https://github.com/jorgecarleitao/arrow2/pull/1071) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed divide by zero on reading empty row group [\#1062](https://github.com/jorgecarleitao/arrow2/pull/1062) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed missing validation of number of encodings passed when writing to parquet [\#1057](https://github.com/jorgecarleitao/arrow2/pull/1057) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Improved performance of reading Binary from parquet [\#1190](https://github.com/jorgecarleitao/arrow2/pull/1190) ([ritchie46](https://github.com/ritchie46))
- Bumped to latest nightly [\#1186](https://github.com/jorgecarleitao/arrow2/pull/1186) ([gyscos](https://github.com/gyscos))
- Improved error message [\#1179](https://github.com/jorgecarleitao/arrow2/pull/1179) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read and write nested dictionaries to parquet [\#1175](https://github.com/jorgecarleitao/arrow2/pull/1175) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `MutableUtf8Array::into_data` [\#1170](https://github.com/jorgecarleitao/arrow2/pull/1170) ([ritchie46](https://github.com/ritchie46))
- Added `Default` for `Utf8Array` [\#1169](https://github.com/jorgecarleitao/arrow2/pull/1169) ([ritchie46](https://github.com/ritchie46))
- fix\(parquet\): allow to read other logical types from parquet [\#1168](https://github.com/jorgecarleitao/arrow2/pull/1168) ([sundy-li](https://github.com/sundy-li))
- fix\(parquet\): enforce to use ParquetTimeUnit::Nanoseconds for PhysicalType::Int96 [\#1167](https://github.com/jorgecarleitao/arrow2/pull/1167) ([sundy-li](https://github.com/sundy-li))
- Added constructor `MutableFixedSizeListArray::new_from` [\#1161](https://github.com/jorgecarleitao/arrow2/pull/1161) ([hohav](https://github.com/hohav))
- Removed unneeded `Default` constraint [\#1157](https://github.com/jorgecarleitao/arrow2/pull/1157) ([hohav](https://github.com/hohav))
- Improved checks to safety invariants in FFI [\#1154](https://github.com/jorgecarleitao/arrow2/pull/1154) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed un-needed indirection [\#1153](https://github.com/jorgecarleitao/arrow2/pull/1153) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Soften generic constraint of `Buffer` [\#1152](https://github.com/jorgecarleitao/arrow2/pull/1152) ([sundy-li](https://github.com/sundy-li))
- Use ahash by default [\#1148](https://github.com/jorgecarleitao/arrow2/pull/1148) ([ritchie46](https://github.com/ritchie46))
- Reduced bound checks [\#1142](https://github.com/jorgecarleitao/arrow2/pull/1142) ([ritchie46](https://github.com/ritchie46))
- Moved `Bytes` to own crate [\#1141](https://github.com/jorgecarleitao/arrow2/pull/1141) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed clippy for 1.62 [\#1134](https://github.com/jorgecarleitao/arrow2/pull/1134) ([Xuanwo](https://github.com/Xuanwo))
- Cleaned example [\#1130](https://github.com/jorgecarleitao/arrow2/pull/1130) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed `O(N)` clone in writing CSV [\#1128](https://github.com/jorgecarleitao/arrow2/pull/1128) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Avoid zeroed allocation in reading avro [\#1127](https://github.com/jorgecarleitao/arrow2/pull/1127) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Reduced allocations of reading bitmaps from IPC [\#1126](https://github.com/jorgecarleitao/arrow2/pull/1126) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of reading from IPC [\#1125](https://github.com/jorgecarleitao/arrow2/pull/1125) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved parquet read performance [\#1124](https://github.com/jorgecarleitao/arrow2/pull/1124) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Optimized write nulls to Avro [\#1119](https://github.com/jorgecarleitao/arrow2/pull/1119) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `row_group::get_field_columns` public [\#1110](https://github.com/jorgecarleitao/arrow2/pull/1110) ([ritchie46](https://github.com/ritchie46))
- Removed some panics reading invalid parquet files [\#1106](https://github.com/jorgecarleitao/arrow2/pull/1106) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Reduced reallocations when reading from IPC \(`~12%`\) [\#1105](https://github.com/jorgecarleitao/arrow2/pull/1105) ([ritchie46](https://github.com/ritchie46))
- Exposed utilities in `io::flight` [\#1094](https://github.com/jorgecarleitao/arrow2/pull/1094) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Accept decoding parquet's `i64` into `u32` written by `pyarrow` [\#1090](https://github.com/jorgecarleitao/arrow2/pull/1090) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code [\#1088](https://github.com/jorgecarleitao/arrow2/pull/1088) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed un-necessary allocation in `assign_ops` [\#1085](https://github.com/jorgecarleitao/arrow2/pull/1085) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replaced some macros by generics [\#1084](https://github.com/jorgecarleitao/arrow2/pull/1084) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of `Bitmap::make_mut` with offset [\#1079](https://github.com/jorgecarleitao/arrow2/pull/1079) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Implemented `Default` for `PrimitiveArray` [\#1073](https://github.com/jorgecarleitao/arrow2/pull/1073) ([ritchie46](https://github.com/ritchie46))
- Expose share counts in `Buffer` [\#1072](https://github.com/jorgecarleitao/arrow2/pull/1072) ([ritchie46](https://github.com/ritchie46))
- Added `compute::arity_assign` [\#1070](https://github.com/jorgecarleitao/arrow2/pull/1070) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance in lexical write \(~5%\) [\#1067](https://github.com/jorgecarleitao/arrow2/pull/1067) ([ritchie46](https://github.com/ritchie46))
- Added cast to/from `Null` from/to every type [\#1066](https://github.com/jorgecarleitao/arrow2/pull/1066) ([jorgecarleitao](https://github.com/jorgecarleitao))
- prevent unneeded offset check [\#1059](https://github.com/jorgecarleitao/arrow2/pull/1059) ([ritchie46](https://github.com/ritchie46))
**Documentation updates:**
- Fixed parquet write example [\#1193](https://github.com/jorgecarleitao/arrow2/pull/1193) ([rajasekarv](https://github.com/rajasekarv))
- Improved docs [\#1164](https://github.com/jorgecarleitao/arrow2/pull/1164) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Minor cleanup of internal namings [\#1160](https://github.com/jorgecarleitao/arrow2/pull/1160) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added example reading Avro produced by Kafka [\#1151](https://github.com/jorgecarleitao/arrow2/pull/1151) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Updated license wording [\#1138](https://github.com/jorgecarleitao/arrow2/pull/1138) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed wrong package name in examples [\#1133](https://github.com/jorgecarleitao/arrow2/pull/1133) ([Xuanwo](https://github.com/Xuanwo))
- Improved example [\#1131](https://github.com/jorgecarleitao/arrow2/pull/1131) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests [\#1111](https://github.com/jorgecarleitao/arrow2/pull/1111) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved examples [\#1109](https://github.com/jorgecarleitao/arrow2/pull/1109) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved internal docs [\#1107](https://github.com/jorgecarleitao/arrow2/pull/1107) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added notes about creating parquet files and submodules in the development documentation [\#1096](https://github.com/jorgecarleitao/arrow2/pull/1096) ([joshuataylor](https://github.com/joshuataylor))
- Improved docs for `BooleanArray` [\#1083](https://github.com/jorgecarleitao/arrow2/pull/1083) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added missing link to guide [\#1065](https://github.com/jorgecarleitao/arrow2/pull/1065) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improve Docs Readability [\#1054](https://github.com/jorgecarleitao/arrow2/pull/1054) ([ryanrussell](https://github.com/ryanrussell))
**Testing updates:**
- Temporary skip decimal256 integration tests [\#1198](https://github.com/jorgecarleitao/arrow2/pull/1198) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code [\#1183](https://github.com/jorgecarleitao/arrow2/pull/1183) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made kafka schema\_id `u32` in example [\#1162](https://github.com/jorgecarleitao/arrow2/pull/1162) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests [\#1158](https://github.com/jorgecarleitao/arrow2/pull/1158) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped MIRI [\#1156](https://github.com/jorgecarleitao/arrow2/pull/1156) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code in flight integration tests [\#1136](https://github.com/jorgecarleitao/arrow2/pull/1136) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests for nested parquet [\#1121](https://github.com/jorgecarleitao/arrow2/pull/1121) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests for reading and writing CSV [\#1120](https://github.com/jorgecarleitao/arrow2/pull/1120) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added test for scalar division [\#1115](https://github.com/jorgecarleitao/arrow2/pull/1115) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests [\#1103](https://github.com/jorgecarleitao/arrow2/pull/1103) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Enabled more integration tests with pyarrow [\#1102](https://github.com/jorgecarleitao/arrow2/pull/1102) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified `Bytes` \(internal\) [\#1099](https://github.com/jorgecarleitao/arrow2/pull/1099) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Updated patch to arrow integration tests [\#1068](https://github.com/jorgecarleitao/arrow2/pull/1068) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests [\#1064](https://github.com/jorgecarleitao/arrow2/pull/1064) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.12.0](https://github.com/jorgecarleitao/arrow2/tree/v0.12.0) (2022-06-05)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.11.2...v0.12.0)
**Breaking changes:**
- Require one encoding per parquet column on write [\#1012](https://github.com/jorgecarleitao/arrow2/issues/1012)
- Bumped parquet2 [\#1035](https://github.com/jorgecarleitao/arrow2/pull/1035) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of deserializing JSON \(2x\) [\#1024](https://github.com/jorgecarleitao/arrow2/pull/1024) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Remove `from_trusted_len_*` from `Buffer` [\#1020](https://github.com/jorgecarleitao/arrow2/pull/1020) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped arrow-format [\#1011](https://github.com/jorgecarleitao/arrow2/pull/1011) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replace `fn Offset::is_large()` as `const Offset::IS_LARGE` [\#1002](https://github.com/jorgecarleitao/arrow2/pull/1002) ([HaoYang670](https://github.com/HaoYang670))
- Renamed `ArrowError` to `Error` [\#993](https://github.com/jorgecarleitao/arrow2/pull/993) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added support to deserialize `MapArray` from parquet [\#1045](https://github.com/jorgecarleitao/arrow2/pull/1045) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for random access reads from IPC [\#1034](https://github.com/jorgecarleitao/arrow2/pull/1034) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for custom sort `build_compare_fn` [\#1016](https://github.com/jorgecarleitao/arrow2/pull/1016) ([b41sh](https://github.com/b41sh))
- Added support to write nested parquet [\#1007](https://github.com/jorgecarleitao/arrow2/pull/1007) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for deserializing JSON from iterator [\#989](https://github.com/jorgecarleitao/arrow2/pull/989) ([cjermain](https://github.com/cjermain))
**Fixed bugs:**
- Writing of `ListArray` does not preserve all values [\#1008](https://github.com/jorgecarleitao/arrow2/issues/1008)
- Write a two-dimensional list to parquet file failed [\#992](https://github.com/jorgecarleitao/arrow2/issues/992)
- Writing to Parquet fails for extension types that contain lists [\#830](https://github.com/jorgecarleitao/arrow2/issues/830)
- Fixed using lower limit than size of first parquet row group [\#1046](https://github.com/jorgecarleitao/arrow2/pull/1046) ([arxra](https://github.com/arxra))
- Fixed error in consuming sliced `FixedSizedBinary` from c data interface \(FFI\) [\#1026](https://github.com/jorgecarleitao/arrow2/pull/1026) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed lexsort limit equal or greater than row\_count [\#1021](https://github.com/jorgecarleitao/arrow2/pull/1021) ([b41sh](https://github.com/b41sh))
- Fixed error in reading nested parquet structs [\#1015](https://github.com/jorgecarleitao/arrow2/pull/1015) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed panic on debug print of invalid timezones [\#1013](https://github.com/jorgecarleitao/arrow2/pull/1013) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Treat empty timezone string as no-timezone [\#1009](https://github.com/jorgecarleitao/arrow2/pull/1009) ([dbr](https://github.com/dbr))
- Fixed encoding of `NaN` to json [\#990](https://github.com/jorgecarleitao/arrow2/pull/990) ([SimonSchneider](https://github.com/SimonSchneider))
- Fixed error in writing `ListArray` to parquet [\#984](https://github.com/jorgecarleitao/arrow2/pull/984) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed decoding Binary Plain pages with dictionary pages [\#982](https://github.com/jorgecarleitao/arrow2/pull/982) ([aptr322](https://github.com/aptr322))
**Enhancements:**
- Added `Debug` and `PartialEq` for `MapArray` [\#1043](https://github.com/jorgecarleitao/arrow2/pull/1043) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Exposed compression levels for parquet [\#1041](https://github.com/jorgecarleitao/arrow2/pull/1041) ([ritchie46](https://github.com/ritchie46))
- Added `.arced`/`.boxed` to arrays [\#1040](https://github.com/jorgecarleitao/arrow2/pull/1040) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added utility to create encodings [\#1018](https://github.com/jorgecarleitao/arrow2/pull/1018) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `parquet_to_arrow_schema` public [\#1006](https://github.com/jorgecarleitao/arrow2/pull/1006) ([martingallagher](https://github.com/martingallagher))
- Speeded up `min_max_boolean` for the case where all values are null [\#1005](https://github.com/jorgecarleitao/arrow2/pull/1005) ([HaoYang670](https://github.com/HaoYang670))
- Simplified `min_max_string` and `min_max_binary` [\#1004](https://github.com/jorgecarleitao/arrow2/pull/1004) ([HaoYang670](https://github.com/HaoYang670))
- Added support for Decimal in `build_compare` [\#998](https://github.com/jorgecarleitao/arrow2/pull/998) ([GPSnoopy](https://github.com/GPSnoopy))
- remove accidental quadratic null\_count [\#991](https://github.com/jorgecarleitao/arrow2/pull/991) ([ritchie46](https://github.com/ritchie46))
- Aligns MutableDictionaryArray's with MutablePrimitiveArrays with TryPush [\#981](https://github.com/jorgecarleitao/arrow2/pull/981) ([TurnOfACard](https://github.com/TurnOfACard))
**Documentation updates:**
- Cleaned docs for BinaryArray [\#1047](https://github.com/jorgecarleitao/arrow2/pull/1047) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved API docs for `MutableBitmap` [\#1025](https://github.com/jorgecarleitao/arrow2/pull/1025) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved docs for `bitmap` [\#1022](https://github.com/jorgecarleitao/arrow2/pull/1022) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved API docs for `PrimitiveArray` and `Utf8Array` [\#1017](https://github.com/jorgecarleitao/arrow2/pull/1017) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed dev guide [\#1003](https://github.com/jorgecarleitao/arrow2/pull/1003) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- Added more tests [\#1029](https://github.com/jorgecarleitao/arrow2/pull/1029) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Moved coverage reporting to `cargo-llvm-cov` [\#1028](https://github.com/jorgecarleitao/arrow2/pull/1028) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests \(increase coverage\) [\#1027](https://github.com/jorgecarleitao/arrow2/pull/1027) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Moved tests from lib to `tests` [\#1001](https://github.com/jorgecarleitao/arrow2/pull/1001) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Allowed feature-specific test runs [\#985](https://github.com/jorgecarleitao/arrow2/pull/985) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.11.2](https://github.com/jorgecarleitao/arrow2/tree/v0.11.2) (2022-05-05)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.11.1...v0.11.2)
**New features:**
- Added support to append to existing IPC Arrow file [\#972](https://github.com/jorgecarleitao/arrow2/pull/972) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added pop to utf8/binary/fixedSize MutableArray [\#966](https://github.com/jorgecarleitao/arrow2/pull/966) ([ygf11](https://github.com/ygf11))
- Added support for union scalars [\#930](https://github.com/jorgecarleitao/arrow2/pull/930) ([ncpenke](https://github.com/ncpenke))
**Fixed bugs:**
- Added support to read nested binary from parquet [\#978](https://github.com/jorgecarleitao/arrow2/pull/978) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed empty reader panic for NDJSON type infer [\#974](https://github.com/jorgecarleitao/arrow2/pull/974) ([Roberto-XY](https://github.com/Roberto-XY))
- Prevented SO in large parquet files [\#973](https://github.com/jorgecarleitao/arrow2/pull/973) ([ritchie46](https://github.com/ritchie46))
- Fixed API bug in `async` read of IPC metadata [\#969](https://github.com/jorgecarleitao/arrow2/pull/969) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed writing required list to parquet [\#968](https://github.com/jorgecarleitao/arrow2/pull/968) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Added support Parquet deserialize LargeList and Uint data types [\#979](https://github.com/jorgecarleitao/arrow2/pull/979) ([b41sh](https://github.com/b41sh))
- Made reading of IPC dictionaries lazy [\#971](https://github.com/jorgecarleitao/arrow2/pull/971) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Allowed creating IPC `FileWriter` without writing to the file [\#970](https://github.com/jorgecarleitao/arrow2/pull/970) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.11.1](https://github.com/jorgecarleitao/arrow2/tree/v0.11.1) (2022-04-27)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.11.0...v0.11.1)
**Fixed bugs:**
- Fixed bug in writing csv with buffer resizing [\#965](https://github.com/jorgecarleitao/arrow2/pull/965) ([ritchie46](https://github.com/ritchie46))
## [v0.11.0](https://github.com/jorgecarleitao/arrow2/tree/v0.11.0) (2022-04-27)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.10.1...v0.11.0)
**Breaking changes:**
- Refactored parquet statistics deserialization [\#962](https://github.com/jorgecarleitao/arrow2/pull/962) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made GroupFilter `Send + Sync` [\#947](https://github.com/jorgecarleitao/arrow2/pull/947) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added support for non-ordered projections to IPC reading [\#961](https://github.com/jorgecarleitao/arrow2/pull/961) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for reading indexed parquet pages [\#923](https://github.com/jorgecarleitao/arrow2/pull/923) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Parquet regression: `exceptions.ArrowErrorException: NotYetImplemented("Can't read Dictionary(UInt32, LargeUtf8, false) from parquet")` [\#955](https://github.com/jorgecarleitao/arrow2/issues/955)
- Reading Parquet binary column panics during deserialization 'attempt to subtract with overflow` [\#944](https://github.com/jorgecarleitao/arrow2/issues/944)
- Reading Parquet file written by pyarrow with `lz4` compression fails with `OutOfSpec("Thrift out of range")` [\#940](https://github.com/jorgecarleitao/arrow2/issues/940)
- Issues when trying to create a parquet file with FixedSizedListArray [\#691](https://github.com/jorgecarleitao/arrow2/issues/691)
- Fixed bug in writing csv with buffer resizing [\#965](https://github.com/jorgecarleitao/arrow2/pull/965) ([ritchie46](https://github.com/ritchie46))
- Fixed bug in reading binary parquet [\#945](https://github.com/jorgecarleitao/arrow2/pull/945) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in writing fixedSizeListArray to parquet [\#941](https://github.com/jorgecarleitao/arrow2/pull/941) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed support to read dict nested binary parquet [\#924](https://github.com/jorgecarleitao/arrow2/pull/924) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Reduced memory usage in reading parquet [\#964](https://github.com/jorgecarleitao/arrow2/pull/964) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simpler IPC code [\#939](https://github.com/jorgecarleitao/arrow2/pull/939) ([jorgecarleitao](https://github.com/jorgecarleitao))
- don't allocate string when writing to csv [\#935](https://github.com/jorgecarleitao/arrow2/pull/935) ([ritchie46](https://github.com/ritchie46))
- Removed un-needed generic parameter [\#927](https://github.com/jorgecarleitao/arrow2/pull/927) ([jorgecarleitao](https://github.com/jorgecarleitao))
- update to odbc-api 0.36.0 [\#925](https://github.com/jorgecarleitao/arrow2/pull/925) ([pacman82](https://github.com/pacman82))
**Documentation updates:**
- Fixed example of parallel read via rayon [\#958](https://github.com/jorgecarleitao/arrow2/pull/958) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed guide deployment [\#931](https://github.com/jorgecarleitao/arrow2/pull/931) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Typo fix [\#919](https://github.com/jorgecarleitao/arrow2/pull/919) ([bkmgit](https://github.com/bkmgit))
**Testing updates:**
- Fixed patch of integration tests [\#960](https://github.com/jorgecarleitao/arrow2/pull/960) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added test for MapArray [\#942](https://github.com/jorgecarleitao/arrow2/pull/942) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed wrong clippy warning [\#938](https://github.com/jorgecarleitao/arrow2/pull/938) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.10.1](https://github.com/jorgecarleitao/arrow2/tree/v0.10.1) (2022-03-16)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.10.0...v0.10.1)
**New features:**
- Added support to write `StructArray` to Avro [\#909](https://github.com/jorgecarleitao/arrow2/pull/909) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write `ListArray` to Avro [\#908](https://github.com/jorgecarleitao/arrow2/pull/908) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Fixed error in `FixedSizeBinaryArray::new_null` [\#914](https://github.com/jorgecarleitao/arrow2/pull/914) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- remove csv dependency for csv-write [\#917](https://github.com/jorgecarleitao/arrow2/pull/917) ([ritchie46](https://github.com/ritchie46))
- Added `capacity` to some mutable arrays and tests [\#913](https://github.com/jorgecarleitao/arrow2/pull/913) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Support `sum`, `min` and `max` for extension and decimal [\#907](https://github.com/jorgecarleitao/arrow2/pull/907) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- Added more tests [\#910](https://github.com/jorgecarleitao/arrow2/pull/910) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.10.0](https://github.com/jorgecarleitao/arrow2/tree/v0.10.0) (2022-03-12)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.9.1...v0.10.0)
**Breaking changes:**
- Renamed `Ffi_ArrowArray` and `Ffi_ArrowSchema` [\#859](https://github.com/jorgecarleitao/arrow2/issues/859)
- Improved performance and stability of writing to CSV [\#866](https://github.com/jorgecarleitao/arrow2/pull/866) ([ritchie46](https://github.com/ritchie46))
- Simplified API for writing to JSON [\#864](https://github.com/jorgecarleitao/arrow2/pull/864) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified API to import from FFI [\#854](https://github.com/jorgecarleitao/arrow2/pull/854) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified compute \(lower/upper\) [\#847](https://github.com/jorgecarleitao/arrow2/pull/847) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified infering arrow schema from a parquet schema [\#819](https://github.com/jorgecarleitao/arrow2/pull/819) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped parquet and aligned API to fit into it [\#795](https://github.com/jorgecarleitao/arrow2/pull/795) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added `GrowableUnion` [\#902](https://github.com/jorgecarleitao/arrow2/pull/902) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added cast to `months_days_ns` [\#900](https://github.com/jorgecarleitao/arrow2/pull/900) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for `hash` of `month_day_ns` arrays [\#899](https://github.com/jorgecarleitao/arrow2/pull/899) ([jorgecarleitao](https://github.com/jorgecarleitao))
- IPC sink types and IPC file stream [\#878](https://github.com/jorgecarleitao/arrow2/pull/878) ([dexterduck](https://github.com/dexterduck))
- implemented `futures::Sink` for parquet async writer [\#877](https://github.com/jorgecarleitao/arrow2/pull/877) ([dexterduck](https://github.com/dexterduck))
- Added `try_new` and `new` to all arrays [\#873](https://github.com/jorgecarleitao/arrow2/pull/873) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for datatypes serde [\#858](https://github.com/jorgecarleitao/arrow2/pull/858) ([houqp](https://github.com/houqp))
- Added support to the Arrow C stream interface \(read and write\) [\#857](https://github.com/jorgecarleitao/arrow2/pull/857) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Support to read/write from/to ODBC [\#849](https://github.com/jorgecarleitao/arrow2/pull/849) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added operators that include validities in comparisons [\#846](https://github.com/jorgecarleitao/arrow2/pull/846) ([ritchie46](https://github.com/ritchie46))
- Added support to read and write `Decimal128` to Avro [\#837](https://github.com/jorgecarleitao/arrow2/pull/837) ([potter420](https://github.com/potter420))
- Added support to read Arrow streams asynchronously [\#832](https://github.com/jorgecarleitao/arrow2/pull/832) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write `LargeUtf8` and `LargeBinary` to Avro [\#828](https://github.com/jorgecarleitao/arrow2/pull/828) ([illumination-k](https://github.com/illumination-k))
- Added support for pushdown projection in reading Avro [\#827](https://github.com/jorgecarleitao/arrow2/pull/827) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read Avro's structs [\#826](https://github.com/jorgecarleitao/arrow2/pull/826) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write largeUtf8/Binary to Avro [\#825](https://github.com/jorgecarleitao/arrow2/pull/825) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added json serialization of timestamp/date32/date64 [\#814](https://github.com/jorgecarleitao/arrow2/pull/814) ([ritchie46](https://github.com/ritchie46))
- Added `BooleanArray::from_trusted_len_values_iter_unchecked` [\#799](https://github.com/jorgecarleitao/arrow2/pull/799) ([ritchie46](https://github.com/ritchie46))
- Added `MutableUtf8Array::extend_values` [\#798](https://github.com/jorgecarleitao/arrow2/pull/798) ([ritchie46](https://github.com/ritchie46))
- Added COW semantics to `Buffer`, `Bitmap` and some arrays [\#794](https://github.com/jorgecarleitao/arrow2/pull/794) ([ritchie46](https://github.com/ritchie46))
- Added support to read parquet row groups in chunks [\#789](https://github.com/jorgecarleitao/arrow2/pull/789) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added scalar bitwise ops [\#788](https://github.com/jorgecarleitao/arrow2/pull/788) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Migrated to portable simd [\#747](https://github.com/jorgecarleitao/arrow2/pull/747) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Fixed edge case in reading multiple parquet pages [\#904](https://github.com/jorgecarleitao/arrow2/pull/904) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bug fix in offset for sliced unions [\#891](https://github.com/jorgecarleitao/arrow2/pull/891) ([ncpenke](https://github.com/ncpenke))
- Fix edge case in reading nested parquet [\#884](https://github.com/jorgecarleitao/arrow2/pull/884) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed unsoundness of `#derive(Clone)` for FFI structs [\#882](https://github.com/jorgecarleitao/arrow2/pull/882) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed json writing of dates and datetimes [\#867](https://github.com/jorgecarleitao/arrow2/pull/867) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed reading parquet with timezone [\#862](https://github.com/jorgecarleitao/arrow2/pull/862) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in writing compressed IPC arrow [\#855](https://github.com/jorgecarleitao/arrow2/pull/855) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed wrong null\_count when slicing a sliced Bitmap [\#848](https://github.com/jorgecarleitao/arrow2/pull/848) ([satlank](https://github.com/satlank))
- Fixed error in writing compressed IPC files [\#840](https://github.com/jorgecarleitao/arrow2/pull/840) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed float to i128 cast [\#817](https://github.com/jorgecarleitao/arrow2/pull/817) ([houqp](https://github.com/houqp))
- fix unescaped '"' in json writing [\#812](https://github.com/jorgecarleitao/arrow2/pull/812) ([ritchie46](https://github.com/ritchie46))
- Fixed reading parquet binary dict page [\#791](https://github.com/jorgecarleitao/arrow2/pull/791) ([danburkert](https://github.com/danburkert))
**Enhancements:**
- Add `FixedSizeBinaryScalar` [\#782](https://github.com/jorgecarleitao/arrow2/issues/782)
- Use more idiomatic versions [\#898](https://github.com/jorgecarleitao/arrow2/pull/898) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for min/max for decimal [\#897](https://github.com/jorgecarleitao/arrow2/pull/897) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `FixedSizeList::try_push_valid` public and added `new_with_field` [\#887](https://github.com/jorgecarleitao/arrow2/pull/887) ([ncpenke](https://github.com/ncpenke))
- Added `MutableFixedList::mut_values` [\#886](https://github.com/jorgecarleitao/arrow2/pull/886) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made IPC IO use `try_new` [\#879](https://github.com/jorgecarleitao/arrow2/pull/879) ([jorgecarleitao](https://github.com/jorgecarleitao))
- expose `ListValuesIter` [\#874](https://github.com/jorgecarleitao/arrow2/pull/874) ([ritchie46](https://github.com/ritchie46))
- Bumped crc [\#856](https://github.com/jorgecarleitao/arrow2/pull/856) ([jorgecarleitao](https://github.com/jorgecarleitao))
- DRY parquet reading [\#845](https://github.com/jorgecarleitao/arrow2/pull/845) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Refactored \(internal\) fmt [\#842](https://github.com/jorgecarleitao/arrow2/pull/842) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped zstd [\#841](https://github.com/jorgecarleitao/arrow2/pull/841) ([jorgecarleitao](https://github.com/jorgecarleitao))
- inline push [\#835](https://github.com/jorgecarleitao/arrow2/pull/835) ([ritchie46](https://github.com/ritchie46))
- Increased API consistency for COW and respective docs [\#833](https://github.com/jorgecarleitao/arrow2/pull/833) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved flexibility of reading parquet [\#820](https://github.com/jorgecarleitao/arrow2/pull/820) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Small improvement to deserializing fixed-len parquet statistics. [\#818](https://github.com/jorgecarleitao/arrow2/pull/818) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for other timestamp units from parquet [\#803](https://github.com/jorgecarleitao/arrow2/pull/803) ([jorgecarleitao](https://github.com/jorgecarleitao))
- More to `into_mut` implementations [\#801](https://github.com/jorgecarleitao/arrow2/pull/801) ([ritchie46](https://github.com/ritchie46))
- Added `FixedSizeListScalar` and `FixedSizeBinaryScalar` [\#786](https://github.com/jorgecarleitao/arrow2/pull/786) ([illumination-k](https://github.com/illumination-k))
- DRY parquet module [\#785](https://github.com/jorgecarleitao/arrow2/pull/785) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Improved documentation [\#860](https://github.com/jorgecarleitao/arrow2/pull/860) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made crate `deny(missing_docs)` [\#808](https://github.com/jorgecarleitao/arrow2/pull/808) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed doc for `Bitmap::set_bit` [\#802](https://github.com/jorgecarleitao/arrow2/pull/802) ([yjshen](https://github.com/yjshen))
- Fixed `dyn Array::slice` docstring [\#792](https://github.com/jorgecarleitao/arrow2/pull/792) ([ritchie46](https://github.com/ritchie46))
**Testing updates:**
- Simpler code \(DRY\) [\#901](https://github.com/jorgecarleitao/arrow2/pull/901) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed integration test [\#885](https://github.com/jorgecarleitao/arrow2/pull/885) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code to generate parquet files for tests [\#883](https://github.com/jorgecarleitao/arrow2/pull/883) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed un-needed `unsafe` [\#843](https://github.com/jorgecarleitao/arrow2/pull/843) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests [\#810](https://github.com/jorgecarleitao/arrow2/pull/810) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Reduced code duplication [\#805](https://github.com/jorgecarleitao/arrow2/pull/805) ([jorgecarleitao](https://github.com/jorgecarleitao))
- upgrade to clap 3.0 [\#797](https://github.com/jorgecarleitao/arrow2/pull/797) ([Jimexist](https://github.com/Jimexist))
- Simplified avro reading and added more tests [\#737](https://github.com/jorgecarleitao/arrow2/pull/737) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.9.1](https://github.com/jorgecarleitao/arrow2/tree/v0.9.1) (2022-01-19)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.9.0...v0.9.1)
**New features:**
- Added support for compare dictionary-encoded with scalar [\#686](https://github.com/jorgecarleitao/arrow2/pull/686) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Allowed passing `None` as ipc\_fields in flight API [\#780](https://github.com/jorgecarleitao/arrow2/pull/780) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Read dict binary from parquet [\#781](https://github.com/jorgecarleitao/arrow2/pull/781) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read and write float dict from parquet [\#778](https://github.com/jorgecarleitao/arrow2/pull/778) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- Fixed CI for SIMD [\#779](https://github.com/jorgecarleitao/arrow2/pull/779) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.9.0](https://github.com/jorgecarleitao/arrow2/tree/v0.9.0) (2022-01-14)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.8.1...v0.9.0)
**Breaking changes:**
- Added number of rows read in CSV inference [\#765](https://github.com/jorgecarleitao/arrow2/pull/765) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Refactored `nullif` [\#753](https://github.com/jorgecarleitao/arrow2/pull/753) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Migrated to latest parquet2 [\#752](https://github.com/jorgecarleitao/arrow2/pull/752) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replace flatbuffers dependency by Planus [\#732](https://github.com/jorgecarleitao/arrow2/pull/732) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified `Schema` and `Field` [\#728](https://github.com/jorgecarleitao/arrow2/pull/728) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replaced `RecordBatch` by `Chunk` [\#717](https://github.com/jorgecarleitao/arrow2/pull/717) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed `Option` from fields' metadata [\#715](https://github.com/jorgecarleitao/arrow2/pull/715) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Moved dict\_id to IPC-specific IO [\#713](https://github.com/jorgecarleitao/arrow2/pull/713) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Moved is\_ordered from `Field` to `DataType::Dictionary` [\#711](https://github.com/jorgecarleitao/arrow2/pull/711) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Refactored JSON writing \(5-10x\) [\#709](https://github.com/jorgecarleitao/arrow2/pull/709) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made Avro read API use `Block` and `CompressedBlock` [\#698](https://github.com/jorgecarleitao/arrow2/pull/698) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified most traits [\#696](https://github.com/jorgecarleitao/arrow2/pull/696) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replaced `Display` by `Debug` for `Array` [\#694](https://github.com/jorgecarleitao/arrow2/pull/694) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replaced `MutableBuffer` by `std::Vec` [\#693](https://github.com/jorgecarleitao/arrow2/pull/693) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified `Utf8Scalar` and `BinaryScalar` [\#660](https://github.com/jorgecarleitao/arrow2/pull/660) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified Primitive and Boolean scalar [\#648](https://github.com/jorgecarleitao/arrow2/pull/648) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Add `and_scalar` and `or_scalar` for boolean\_kleene [\#662](https://github.com/jorgecarleitao/arrow2/issues/662)
- Add `lower` and `upper` support for string [\#635](https://github.com/jorgecarleitao/arrow2/issues/635)
- Added support to cast decimal [\#761](https://github.com/jorgecarleitao/arrow2/pull/761) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to deserialize JSON \(!= NDJSON\) [\#758](https://github.com/jorgecarleitao/arrow2/pull/758) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to infer nested json structs [\#750](https://github.com/jorgecarleitao/arrow2/pull/750) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to compare intervals [\#746](https://github.com/jorgecarleitao/arrow2/pull/746) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `any` and `all` kernel [\#739](https://github.com/jorgecarleitao/arrow2/pull/739) ([ritchie46](https://github.com/ritchie46))
- Added support to write Avro async [\#736](https://github.com/jorgecarleitao/arrow2/pull/736) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write interval to Avro [\#734](https://github.com/jorgecarleitao/arrow2/pull/734) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `and_scalar` and `or_scalar` for boolean kleene [\#723](https://github.com/jorgecarleitao/arrow2/pull/723) ([silathdiir](https://github.com/silathdiir))
- Added `and_scalar` and `or_scalar` for boolean [\#707](https://github.com/jorgecarleitao/arrow2/pull/707) ([silathdiir](https://github.com/silathdiir))
- Refactored JSON read to split IO-bounded from CPU-bounded tasks [\#706](https://github.com/jorgecarleitao/arrow2/pull/706) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more conversions from parquet [\#701](https://github.com/jorgecarleitao/arrow2/pull/701) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for compressed Avro write [\#699](https://github.com/jorgecarleitao/arrow2/pull/699) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write to Avro [\#690](https://github.com/jorgecarleitao/arrow2/pull/690) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added dynamic version of negation [\#685](https://github.com/jorgecarleitao/arrow2/pull/685) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read dictionary-encoded required parquet pages [\#683](https://github.com/jorgecarleitao/arrow2/pull/683) ([mdrach](https://github.com/mdrach))
- Added `upper` [\#664](https://github.com/jorgecarleitao/arrow2/pull/664) ([Xuanwo](https://github.com/Xuanwo))
- Added `lower` [\#641](https://github.com/jorgecarleitao/arrow2/pull/641) ([Xuanwo](https://github.com/Xuanwo))
- Added support for `async` read of Avro [\#620](https://github.com/jorgecarleitao/arrow2/pull/620) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Pyarrow and Arrow2 don't agree on Timestamp resolution [\#700](https://github.com/jorgecarleitao/arrow2/issues/700)
- Writing compressed dictionary in parquet corrupts the files [\#667](https://github.com/jorgecarleitao/arrow2/issues/667)
- Replaced assert by error in IPC read [\#748](https://github.com/jorgecarleitao/arrow2/pull/748) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made all panics in IPC read errors [\#722](https://github.com/jorgecarleitao/arrow2/pull/722) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in compare booleans [\#721](https://github.com/jorgecarleitao/arrow2/pull/721) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in dispatching scalar arithmetics [\#682](https://github.com/jorgecarleitao/arrow2/pull/682) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in reading negative decimals from parquet [\#679](https://github.com/jorgecarleitao/arrow2/pull/679) ([mdrach](https://github.com/mdrach))
- Made IPC reader less restrictive [\#678](https://github.com/jorgecarleitao/arrow2/pull/678) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in trait constraint in compute [\#665](https://github.com/jorgecarleitao/arrow2/pull/665) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed performance regression of CSV reading [\#657](https://github.com/jorgecarleitao/arrow2/pull/657) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed filter of predicate with validity [\#653](https://github.com/jorgecarleitao/arrow2/pull/653) ([ritchie46](https://github.com/ritchie46))
- Made `Scalar: Send+Sync` [\#644](https://github.com/jorgecarleitao/arrow2/pull/644) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Feature: JSON IO? [\#712](https://github.com/jorgecarleitao/arrow2/issues/712)
- Simplified code [\#760](https://github.com/jorgecarleitao/arrow2/pull/760) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added iterator of values of `FixedBinaryArray` [\#757](https://github.com/jorgecarleitao/arrow2/pull/757) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Remove un-needed `unsafe` [\#756](https://github.com/jorgecarleitao/arrow2/pull/756) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replaced un-needed `unsafe` [\#755](https://github.com/jorgecarleitao/arrow2/pull/755) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made IO `#[forbid(unsafe)]` [\#749](https://github.com/jorgecarleitao/arrow2/pull/749) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved reading nullable Avro arrays [\#727](https://github.com/jorgecarleitao/arrow2/pull/727) ([Igosuki](https://github.com/Igosuki))
- Allow to create primitive array by vec without extra memcopy [\#710](https://github.com/jorgecarleitao/arrow2/pull/710) ([sundy-li](https://github.com/sundy-li))
- Removed requirement of `use Array` to access primitives' `data_type` [\#697](https://github.com/jorgecarleitao/arrow2/pull/697) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Cleaned up trait usage and added forbid\_unsafe to parts [\#695](https://github.com/jorgecarleitao/arrow2/pull/695) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Migrated from `avro-rs` to `avro-schema` [\#692](https://github.com/jorgecarleitao/arrow2/pull/692) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `MutablePrimitiveArray::extend_constant` [\#689](https://github.com/jorgecarleitao/arrow2/pull/689) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Do not write validity without nulls in IPC [\#688](https://github.com/jorgecarleitao/arrow2/pull/688) ([jorgecarleitao](https://github.com/jorgecarleitao))
- DRY code via macro [\#681](https://github.com/jorgecarleitao/arrow2/pull/681) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `dyn Array` and `Scalar` usable in `#[derive(PartialEq)]` [\#680](https://github.com/jorgecarleitao/arrow2/pull/680) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made IPC ZSTD-compressed consumable by pyarrow [\#675](https://github.com/jorgecarleitao/arrow2/pull/675) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified trait bounds in arithmetics [\#671](https://github.com/jorgecarleitao/arrow2/pull/671) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of reading utf8 required from parquet \(-15%\) [\#670](https://github.com/jorgecarleitao/arrow2/pull/670) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Avoid double utf8 checks on MutableUtf8 -\> Utf8 [\#655](https://github.com/jorgecarleitao/arrow2/pull/655) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `Buffer::offset` public [\#652](https://github.com/jorgecarleitao/arrow2/pull/652) ([ritchie46](https://github.com/ritchie46))
- Improved performance in cast Primitive to Binary/String \(2x\) [\#646](https://github.com/jorgecarleitao/arrow2/pull/646) ([sundy-li](https://github.com/sundy-li))
- Made `Filter: Send+Sync` [\#645](https://github.com/jorgecarleitao/arrow2/pull/645) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made API to create field accept `String` [\#643](https://github.com/jorgecarleitao/arrow2/pull/643) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Fixed clippy \(coming from 1.58\) [\#763](https://github.com/jorgecarleitao/arrow2/pull/763) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Described how to run part of the tests [\#762](https://github.com/jorgecarleitao/arrow2/pull/762) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved README [\#735](https://github.com/jorgecarleitao/arrow2/pull/735) ([jorgecarleitao](https://github.com/jorgecarleitao))
- clarify boolean value in DataType::Dictionary [\#718](https://github.com/jorgecarleitao/arrow2/pull/718) ([ritchie46](https://github.com/ritchie46))
- readme typo [\#687](https://github.com/jorgecarleitao/arrow2/pull/687) ([max-sixty](https://github.com/max-sixty))
- Added example to read parquet in parallel with rayon [\#658](https://github.com/jorgecarleitao/arrow2/pull/658) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added documentation to `Bitmap::as_slice` [\#654](https://github.com/jorgecarleitao/arrow2/pull/654) ([ritchie46](https://github.com/ritchie46))
**Testing updates:**
- Improved json tests [\#742](https://github.com/jorgecarleitao/arrow2/pull/742) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added integration tests for writing compressed parquet [\#740](https://github.com/jorgecarleitao/arrow2/pull/740) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Updated patch for integration test [\#731](https://github.com/jorgecarleitao/arrow2/pull/731) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added cargo check to benchmarks [\#730](https://github.com/jorgecarleitao/arrow2/pull/730) ([sundy-li](https://github.com/sundy-li))
- More tests to CSV writing [\#724](https://github.com/jorgecarleitao/arrow2/pull/724) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added integration tests for other compressions with parquet from pyarrow [\#674](https://github.com/jorgecarleitao/arrow2/pull/674) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped nightly in CI [\#672](https://github.com/jorgecarleitao/arrow2/pull/672) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Invalidate caches from CI. [\#656](https://github.com/jorgecarleitao/arrow2/pull/656) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.8.1](https://github.com/jorgecarleitao/arrow2/tree/v0.8.1) (2021-11-27)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.8.0...v0.8.1)
**Fixed bugs:**
- Fixed compilation with individual features activated [\#642](https://github.com/jorgecarleitao/arrow2/pull/642) ([ritchie46](https://github.com/ritchie46))
## [v0.8.0](https://github.com/jorgecarleitao/arrow2/tree/v0.8.0) (2021-11-27)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.7.0...v0.8.0)
**Breaking changes:**
- Made CSV write options use chrono formatting by default [\#624](https://github.com/jorgecarleitao/arrow2/issues/624)
- Add `compression` to `IpcWriteOptions` [\#570](https://github.com/jorgecarleitao/arrow2/issues/570)
- Made `cast` accept `CastOptions` parameter [\#569](https://github.com/jorgecarleitao/arrow2/issues/569)
- Simplified `ArrowError` [\#640](https://github.com/jorgecarleitao/arrow2/pull/640) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Use `DynComparator` for `lexsort` and `partition` [\#637](https://github.com/jorgecarleitao/arrow2/pull/637) ([yjshen](https://github.com/yjshen))
- Split "compute" feature [\#634](https://github.com/jorgecarleitao/arrow2/pull/634) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed unneeded trait. [\#628](https://github.com/jorgecarleitao/arrow2/pull/628) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Sealed 2 traits to forbid downstream implementations [\#621](https://github.com/jorgecarleitao/arrow2/pull/621) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified arithmetics compute [\#607](https://github.com/jorgecarleitao/arrow2/pull/607) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Refactored comparison `Operator` [\#604](https://github.com/jorgecarleitao/arrow2/pull/604) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified dictionary indexes [\#584](https://github.com/jorgecarleitao/arrow2/pull/584) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified IPC APIs [\#576](https://github.com/jorgecarleitao/arrow2/pull/576) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified IPC stream writer / remove finish on drop from stream writer [\#575](https://github.com/jorgecarleitao/arrow2/pull/575) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified trait in compute. [\#572](https://github.com/jorgecarleitao/arrow2/pull/572) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Compute: add partial option into CastOptions [\#561](https://github.com/jorgecarleitao/arrow2/pull/561) ([sundy-li](https://github.com/sundy-li))
- Introduced `UnionMode` enum [\#557](https://github.com/jorgecarleitao/arrow2/pull/557) ([simonvandel](https://github.com/simonvandel))
- Changed DataType::FixedSize\*\(i32\) to DataType::FixedSize\*\(usize\) [\#556](https://github.com/jorgecarleitao/arrow2/pull/556) ([simonvandel](https://github.com/simonvandel))
**New features:**
- Added support to write timestamps with timezones for CSV [\#623](https://github.com/jorgecarleitao/arrow2/pull/623) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read Avro files' metadata asynchronously [\#614](https://github.com/jorgecarleitao/arrow2/pull/614) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added iterator for `StructArray` [\#613](https://github.com/jorgecarleitao/arrow2/pull/613) ([illumination-k](https://github.com/illumination-k))
- Added support to read snappy-compressed Avro [\#612](https://github.com/jorgecarleitao/arrow2/pull/612) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read decimal from csv [\#602](https://github.com/jorgecarleitao/arrow2/pull/602) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to cast `NullArray` to all other types [\#589](https://github.com/jorgecarleitao/arrow2/pull/589) ([flaneur2020](https://github.com/flaneur2020))
- Added support dictionaries in nested types over IPC [\#587](https://github.com/jorgecarleitao/arrow2/pull/587) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write Arrow IPC streams asynchronously [\#577](https://github.com/jorgecarleitao/arrow2/pull/577) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to write compressed Arrow IPC \(feather v2\) [\#566](https://github.com/jorgecarleitao/arrow2/pull/566) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for ffi for `FixedSizeList` and `FixedSizeBinary` [\#565](https://github.com/jorgecarleitao/arrow2/pull/565) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for `async` csv reading. [\#562](https://github.com/jorgecarleitao/arrow2/pull/562) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for `bitwise` operations [\#553](https://github.com/jorgecarleitao/arrow2/pull/553) ([1aguna](https://github.com/1aguna))
- Added support to read `StructArray` from parquet [\#547](https://github.com/jorgecarleitao/arrow2/pull/547) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Fixed error in reading nullable from Avro. [\#631](https://github.com/jorgecarleitao/arrow2/pull/631) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in union FFI [\#625](https://github.com/jorgecarleitao/arrow2/pull/625) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in computing projection in `io::ipc::read::reader::FileReader` [\#596](https://github.com/jorgecarleitao/arrow2/pull/596) ([illumination-k](https://github.com/illumination-k))
- Fixed error in compressing IPC LZ4 [\#593](https://github.com/jorgecarleitao/arrow2/pull/593) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed growable of dictionaries negative keys [\#582](https://github.com/jorgecarleitao/arrow2/pull/582) ([ritchie46](https://github.com/ritchie46))
- Made substring kernel on utf8 take chars into account. [\#568](https://github.com/jorgecarleitao/arrow2/pull/568) ([ritchie46](https://github.com/ritchie46))
- Fixed error in passing sliced arrays via FFI [\#564](https://github.com/jorgecarleitao/arrow2/pull/564) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Faster `take` with null values \(2-3x\) [\#633](https://github.com/jorgecarleitao/arrow2/pull/633) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved error message for missing feature in compressed parquet [\#632](https://github.com/jorgecarleitao/arrow2/pull/632) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `to` conversion to `FixedSizeBinary` [\#622](https://github.com/jorgecarleitao/arrow2/pull/622) ([ritchie46](https://github.com/ritchie46))
- Bumped `confy-table` [\#618](https://github.com/jorgecarleitao/arrow2/pull/618) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `MutableArray` `Send + Sync` [\#617](https://github.com/jorgecarleitao/arrow2/pull/617) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed most of allocations in IPC reading [\#611](https://github.com/jorgecarleitao/arrow2/pull/611) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Speed up boolean comparison kernels \(~3x\) [\#610](https://github.com/jorgecarleitao/arrow2/pull/610) ([Dandandan](https://github.com/Dandandan))
- Improved performance of decimal arithmetics [\#605](https://github.com/jorgecarleitao/arrow2/pull/605) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified traits and added documentation [\#603](https://github.com/jorgecarleitao/arrow2/pull/603) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of `is_not_null`. [\#600](https://github.com/jorgecarleitao/arrow2/pull/600) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `len` to every array [\#599](https://github.com/jorgecarleitao/arrow2/pull/599) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for `NullArray` at FFI. [\#598](https://github.com/jorgecarleitao/arrow2/pull/598) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Optimized `MutableBinaryArray` [\#597](https://github.com/jorgecarleitao/arrow2/pull/597) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Speedup/simplify bitwise operations \(avoid extra allocation\) [\#586](https://github.com/jorgecarleitao/arrow2/pull/586) ([Dandandan](https://github.com/Dandandan))
- Improved performance of `bitmap::from_trusted` \(3x\) [\#578](https://github.com/jorgecarleitao/arrow2/pull/578) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made bitmap not cache null count [\#563](https://github.com/jorgecarleitao/arrow2/pull/563) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Avoided redundant checks in creating an `Utf8Array` from `MutableUtf8Array` [\#560](https://github.com/jorgecarleitao/arrow2/pull/560) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Avoid unnecessary allocations [\#559](https://github.com/jorgecarleitao/arrow2/pull/559) ([simonvandel](https://github.com/simonvandel))
- Surfaced errors in reading from avro [\#558](https://github.com/jorgecarleitao/arrow2/pull/558) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Simplified example [\#619](https://github.com/jorgecarleitao/arrow2/pull/619) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made example of parallel parquet write be over multiple batches [\#544](https://github.com/jorgecarleitao/arrow2/pull/544) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- Cleaned up benches [\#636](https://github.com/jorgecarleitao/arrow2/pull/636) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Ignored tests code in coverage report [\#615](https://github.com/jorgecarleitao/arrow2/pull/615) ([yjhmelody](https://github.com/yjhmelody))
- Added more tests [\#601](https://github.com/jorgecarleitao/arrow2/pull/601) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Mitigated `RUSTSEC-2020-0159` [\#595](https://github.com/jorgecarleitao/arrow2/pull/595) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests [\#591](https://github.com/jorgecarleitao/arrow2/pull/591) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.7.0](https://github.com/jorgecarleitao/arrow2/tree/v0.7.0) (2021-10-29)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.6.2...v0.7.0)
**Breaking changes:**
- Simplified reading parquet [\#532](https://github.com/jorgecarleitao/arrow2/pull/532) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Change IPC `FileReader` to own the underlying reader [\#518](https://github.com/jorgecarleitao/arrow2/pull/518) ([blakesmith](https://github.com/blakesmith))
- Migrate to `arrow_format` crate [\#517](https://github.com/jorgecarleitao/arrow2/pull/517) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added read of 2-level nested lists from parquet [\#548](https://github.com/jorgecarleitao/arrow2/pull/548) ([jorgecarleitao](https://github.com/jorgecarleitao))
- add dictionary serialization for csv-writer [\#515](https://github.com/jorgecarleitao/arrow2/pull/515) ([ritchie46](https://github.com/ritchie46))
- Added `checked_negate` and `wrapping_negate` for `PrimitiveArray` [\#506](https://github.com/jorgecarleitao/arrow2/pull/506) ([yjhmelody](https://github.com/yjhmelody))
**Fixed bugs:**
- Fixed error in reading fixed len binary from parquet [\#549](https://github.com/jorgecarleitao/arrow2/pull/549) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed ffi of sliced arrays [\#540](https://github.com/jorgecarleitao/arrow2/pull/540) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed s3 example [\#536](https://github.com/jorgecarleitao/arrow2/pull/536) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in writing compressed parquet dict pages [\#523](https://github.com/jorgecarleitao/arrow2/pull/523) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Validity taken into account when writing `StructArray` to json [\#511](https://github.com/jorgecarleitao/arrow2/pull/511) ([VasanthakumarV](https://github.com/VasanthakumarV))
**Enhancements:**
- Bumped Prost and Tonic [\#550](https://github.com/jorgecarleitao/arrow2/pull/550) ([PsiACE](https://github.com/PsiACE))
- Speedup scalar boolean operations [\#546](https://github.com/jorgecarleitao/arrow2/pull/546) ([Dandandan](https://github.com/Dandandan))
- Added fast path for validating ASCII text \(~1.12-1.89x improvement on reading ASCII parquet data\) [\#542](https://github.com/jorgecarleitao/arrow2/pull/542) ([Dandandan](https://github.com/Dandandan))
- Exposed missing APIs to write parquet in parallel [\#539](https://github.com/jorgecarleitao/arrow2/pull/539) ([jorgecarleitao](https://github.com/jorgecarleitao))
- improve utf8 init validity [\#530](https://github.com/jorgecarleitao/arrow2/pull/530) ([ritchie46](https://github.com/ritchie46))
- export missing `BinaryValueIter` [\#526](https://github.com/jorgecarleitao/arrow2/pull/526) ([yjhmelody](https://github.com/yjhmelody))
**Documentation updates:**
- Added more IPC documentation [\#534](https://github.com/jorgecarleitao/arrow2/pull/534) ([HagaiHargil](https://github.com/HagaiHargil))
- Fixed clippy and fmt [\#521](https://github.com/jorgecarleitao/arrow2/pull/521) ([ritchie46](https://github.com/ritchie46))
**Testing updates:**
- Added more tests for `utf8` [\#543](https://github.com/jorgecarleitao/arrow2/pull/543) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Ignored RUSTSEC-2020-0071 and RUSTSEC-2020-0159 [\#537](https://github.com/jorgecarleitao/arrow2/pull/537) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved parquet read benches [\#533](https://github.com/jorgecarleitao/arrow2/pull/533) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added fmt and clippy checks to CI. [\#522](https://github.com/jorgecarleitao/arrow2/pull/522) ([xudong963](https://github.com/xudong963))
## [v0.6.2](https://github.com/jorgecarleitao/arrow2/tree/v0.6.2) (2021-10-09)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.6.1...v0.6.2)
**New features:**
- Added wrapping version arithmetics for `PrimitiveArray` [\#496](https://github.com/jorgecarleitao/arrow2/pull/496) ([yjhmelody](https://github.com/yjhmelody))
**Fixed bugs:**
- Do not check offsets or utf8 validity in ffi \(\#505\) [\#510](https://github.com/jorgecarleitao/arrow2/pull/510) ([NilsBarlaug](https://github.com/NilsBarlaug))
- Made `try_push_valid` public again [\#509](https://github.com/jorgecarleitao/arrow2/pull/509) ([ritchie46](https://github.com/ritchie46))
**Enhancements:**
- Use static-typed equal functions directly [\#507](https://github.com/jorgecarleitao/arrow2/pull/507) ([yjhmelody](https://github.com/yjhmelody))
## [v0.6.1](https://github.com/jorgecarleitao/arrow2/tree/v0.6.1) (2021-10-07)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.5.3...v0.6.1)
**Breaking changes:**
- Bring `MutableFixedSizeListArray` to the spec used by the rest of the Mutable API [\#475](https://github.com/jorgecarleitao/arrow2/issues/475)
- Removed `ALIGNMENT` invariant from `[Mutable]Buffer` [\#449](https://github.com/jorgecarleitao/arrow2/issues/449)
- Un-nested `compute::arithemtics::basic` [\#461](https://github.com/jorgecarleitao/arrow2/pull/461) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more serialization options for csv writer. [\#453](https://github.com/jorgecarleitao/arrow2/pull/453) ([ritchie46](https://github.com/ritchie46))
- Changed validity from `&Option<Bitmap>` to `Option<&Bitmap>`. [\#431](https://github.com/jorgecarleitao/arrow2/pull/431) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped parquet2 [\#422](https://github.com/jorgecarleitao/arrow2/pull/422) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Changed IPC `FileWriter` to own the `writer`. [\#420](https://github.com/jorgecarleitao/arrow2/pull/420) ([yjshen](https://github.com/yjshen))
- Made `DynComparator` `Send+Sync` [\#414](https://github.com/jorgecarleitao/arrow2/pull/414) ([yjshen](https://github.com/yjshen))
**New features:**
- Read Decimal from Parquet File [\#444](https://github.com/jorgecarleitao/arrow2/issues/444)
- Add IO read for Avro [\#401](https://github.com/jorgecarleitao/arrow2/issues/401)
- Added support to read Avro logical types, `List`,`Enum`, `Duration` and `Fixed`. [\#493](https://github.com/jorgecarleitao/arrow2/pull/493) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added read `Decimal` from parquet [\#489](https://github.com/jorgecarleitao/arrow2/pull/489) ([potter420](https://github.com/potter420))
- Implement `BitXor` trait for `Bitmap` [\#485](https://github.com/jorgecarleitao/arrow2/pull/485) ([houqp](https://github.com/houqp))
- Added `extend`/`extend_unchecked` for `MutableBooleanArray` [\#478](https://github.com/jorgecarleitao/arrow2/pull/478) ([VasanthakumarV](https://github.com/VasanthakumarV))
- expose `shrink_to_fit` to mutable arrays [\#467](https://github.com/jorgecarleitao/arrow2/pull/467) ([ritchie46](https://github.com/ritchie46))
- Added support for `DataType::Map` and `MapArray` [\#464](https://github.com/jorgecarleitao/arrow2/pull/464) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Extract parts of datetime [\#433](https://github.com/jorgecarleitao/arrow2/pull/433) ([VasanthakumarV](https://github.com/VasanthakumarV))
- Added support to add an interval to a timestamp [\#417](https://github.com/jorgecarleitao/arrow2/pull/417) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read Avro. [\#406](https://github.com/jorgecarleitao/arrow2/pull/406) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Replaced own allocator by `std::Vec`. [\#385](https://github.com/jorgecarleitao/arrow2/pull/385) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- crash in parquet read [\#459](https://github.com/jorgecarleitao/arrow2/issues/459)
- Made writing stream to parquet require a non-static lifetime [\#471](https://github.com/jorgecarleitao/arrow2/pull/471) ([GrandChaman](https://github.com/GrandChaman))
- Made importing from FFI `unsafe` [\#458](https://github.com/jorgecarleitao/arrow2/pull/458) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed panic in division using nulls. [\#438](https://github.com/jorgecarleitao/arrow2/pull/438) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error writing dictionary extension to IPC [\#397](https://github.com/jorgecarleitao/arrow2/pull/397) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in extending `MutableBitmap` [\#393](https://github.com/jorgecarleitao/arrow2/pull/393) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Some `compare` function are not exported [\#349](https://github.com/jorgecarleitao/arrow2/issues/349)
- Investigate how to add support for timezones in timestamp [\#23](https://github.com/jorgecarleitao/arrow2/issues/23)
- Made `hash` work for extension type [\#487](https://github.com/jorgecarleitao/arrow2/pull/487) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `extend`/`extend_unchecked` for `MutableBinaryArray` [\#486](https://github.com/jorgecarleitao/arrow2/pull/486) ([VasanthakumarV](https://github.com/VasanthakumarV))
- Improved inference and deserialization of CSV [\#483](https://github.com/jorgecarleitao/arrow2/pull/483) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `GrowableFixedSizeList` and improved `MutableFixedSizeListArray` [\#470](https://github.com/jorgecarleitao/arrow2/pull/470) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `MutableBitmap::shrink_to_fit` [\#468](https://github.com/jorgecarleitao/arrow2/pull/468) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `MutableArray::as_box` [\#450](https://github.com/jorgecarleitao/arrow2/pull/450) ([sd2k](https://github.com/sd2k))
- Improved performance of sum aggregation via aligned loads \(-10%\) [\#445](https://github.com/jorgecarleitao/arrow2/pull/445) ([ritchie46](https://github.com/ritchie46))
- Removed `assert` from `MutableBuffer::set_len` [\#443](https://github.com/jorgecarleitao/arrow2/pull/443) ([ritchie46](https://github.com/ritchie46))
- Optimized `null_count` [\#442](https://github.com/jorgecarleitao/arrow2/pull/442) ([ritchie46](https://github.com/ritchie46))
- Improved performance of list iterator \(- 10-20%\) [\#441](https://github.com/jorgecarleitao/arrow2/pull/441) ([ritchie46](https://github.com/ritchie46))
- Improved performance of `PrimitiveGrowable` for nulls \(-10%\) [\#434](https://github.com/jorgecarleitao/arrow2/pull/434) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Allowed accessing validity without importing `Array` [\#432](https://github.com/jorgecarleitao/arrow2/pull/432) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Optimize hashing using `ahash` and `multiversion` \(-30%\) [\#428](https://github.com/jorgecarleitao/arrow2/pull/428) ([Dandandan](https://github.com/Dandandan))
- Improved performance of iterator of `Utf8Array` and `BinaryArray` \(3-4x\) [\#427](https://github.com/jorgecarleitao/arrow2/pull/427) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of utf8 validation of large strings via `simdutf8` \(-40%\) [\#426](https://github.com/jorgecarleitao/arrow2/pull/426) ([Dandandan](https://github.com/Dandandan))
- Added reading of parquet required dictionary-encoded binary. [\#419](https://github.com/jorgecarleitao/arrow2/pull/419) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Add `extend`/`extend_unchecked` for `MutableUtf8Array` [\#413](https://github.com/jorgecarleitao/arrow2/pull/413) ([VasanthakumarV](https://github.com/VasanthakumarV))
- Added support to extract hours and years from timestamps with timezone [\#412](https://github.com/jorgecarleitao/arrow2/pull/412) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `io_csv_read` and `io_csv_write` feature [\#408](https://github.com/jorgecarleitao/arrow2/pull/408) ([ritchie46](https://github.com/ritchie46))
- Improve `comparison` docs and re-export the array-comparing function [\#404](https://github.com/jorgecarleitao/arrow2/pull/404) ([HagaiHargil](https://github.com/HagaiHargil))
- Added support to read dict-encoded required primitive types from parquet [\#402](https://github.com/jorgecarleitao/arrow2/pull/402) ([Dandandan](https://github.com/Dandandan))
- Added `Array::with_validity` [\#399](https://github.com/jorgecarleitao/arrow2/pull/399) ([ritchie46](https://github.com/ritchie46))
**Documentation updates:**
- Improved documentation [\#491](https://github.com/jorgecarleitao/arrow2/pull/491) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more API docs. [\#479](https://github.com/jorgecarleitao/arrow2/pull/479) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more documentation [\#476](https://github.com/jorgecarleitao/arrow2/pull/476) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved documentation [\#462](https://github.com/jorgecarleitao/arrow2/pull/462) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added example showing parallel writes to parquet \(x num\_cores\) [\#436](https://github.com/jorgecarleitao/arrow2/pull/436) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved documentation [\#430](https://github.com/jorgecarleitao/arrow2/pull/430) ([jorgecarleitao](https://github.com/jorgecarleitao))
- \[0.5\] The docs `io` module has no submodules [\#390](https://github.com/jorgecarleitao/arrow2/issues/390)
- Made docs be compiled with feature `full` [\#391](https://github.com/jorgecarleitao/arrow2/pull/391) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- DRY via macro. [\#477](https://github.com/jorgecarleitao/arrow2/pull/477) ([jorgecarleitao](https://github.com/jorgecarleitao))
- DRY of type check and len check code in `compute` [\#474](https://github.com/jorgecarleitao/arrow2/pull/474) ([yjhmelody](https://github.com/yjhmelody))
- Added property testing [\#460](https://github.com/jorgecarleitao/arrow2/pull/460) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added fmt to CI. [\#455](https://github.com/jorgecarleitao/arrow2/pull/455) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified CI [\#452](https://github.com/jorgecarleitao/arrow2/pull/452) ([jorgecarleitao](https://github.com/jorgecarleitao))
- fix filter kernels bench [\#440](https://github.com/jorgecarleitao/arrow2/pull/440) ([ritchie46](https://github.com/ritchie46))
- Reduced number of combinations in feature tests. [\#429](https://github.com/jorgecarleitao/arrow2/pull/429) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Move tests from `src/compute/` to `tests/` [\#423](https://github.com/jorgecarleitao/arrow2/pull/423) ([VasanthakumarV](https://github.com/VasanthakumarV))
- Skipped some feature permutations. [\#411](https://github.com/jorgecarleitao/arrow2/pull/411) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added tests to some invariants of `unsafe` [\#403](https://github.com/jorgecarleitao/arrow2/pull/403) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read and write extension types to and from parquet [\#396](https://github.com/jorgecarleitao/arrow2/pull/396) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fix testing of SIMD [\#394](https://github.com/jorgecarleitao/arrow2/pull/394) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.5.3](https://github.com/jorgecarleitao/arrow2/tree/v0.5.3) (2021-09-14)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.5.2...v0.5.3)
**New features:**
- Added support to read and write extension types to and from parquet [\#396](https://github.com/jorgecarleitao/arrow2/pull/396) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Fixed error writing dictionary extension to IPC [\#397](https://github.com/jorgecarleitao/arrow2/pull/397) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in extending `MutableBitmap` [\#393](https://github.com/jorgecarleitao/arrow2/pull/393) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Added support to read dict-encoded required primitive types from parquet [\#402](https://github.com/jorgecarleitao/arrow2/pull/402) ([Dandandan](https://github.com/Dandandan))
- Added `Array::with_validity` [\#399](https://github.com/jorgecarleitao/arrow2/pull/399) ([ritchie46](https://github.com/ritchie46))
**Testing updates:**
- Fix testing of SIMD [\#394](https://github.com/jorgecarleitao/arrow2/pull/394) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.5.1](https://github.com/jorgecarleitao/arrow2/tree/v0.5.1) (2021-09-09)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.5.0...v0.5.1)
**Documentation updates:**
- \[0.5\] The docs `io` module has no submodules [\#390](https://github.com/jorgecarleitao/arrow2/issues/390)
- Made docs be compiled with feature `full` [\#391](https://github.com/jorgecarleitao/arrow2/pull/391) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.5.0](https://github.com/jorgecarleitao/arrow2/tree/v0.5.0) (2021-09-07)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.4.0...v0.5.0)
**Breaking changes:**
- Added `Extension` to `DataType` [\#361](https://github.com/jorgecarleitao/arrow2/issues/361)
- `MonthDayNano` added to enum `IntervalUnit` [\#360](https://github.com/jorgecarleitao/arrow2/issues/360)
- Make `io::parquet::write::write_*` return size of file in bytes [\#354](https://github.com/jorgecarleitao/arrow2/issues/354)
- Renamed `bitmap::utils::null_count` to `bitmap::utils::count_zeros` [\#342](https://github.com/jorgecarleitao/arrow2/issues/342)
- Made `GroupFilter` optional in parquet's`RecordReader` and added method to set it. [\#386](https://github.com/jorgecarleitao/arrow2/pull/386) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed `PartialOrd` and `Ord` of all enums in `datatypes` [\#379](https://github.com/jorgecarleitao/arrow2/pull/379) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `cargo` features not default [\#369](https://github.com/jorgecarleitao/arrow2/pull/369) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Prepare APIs for extension types [\#357](https://github.com/jorgecarleitao/arrow2/pull/357) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added support for `async` parquet write [\#372](https://github.com/jorgecarleitao/arrow2/pull/372) ([GrandChaman](https://github.com/GrandChaman))
- Add support to extension types in FFI [\#363](https://github.com/jorgecarleitao/arrow2/pull/363) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for field's metadata via FFI [\#362](https://github.com/jorgecarleitao/arrow2/pull/362) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for `Extension` \(logical\) type [\#359](https://github.com/jorgecarleitao/arrow2/pull/359) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for compute to `BinaryArray` [\#346](https://github.com/jorgecarleitao/arrow2/pull/346) ([zhyass](https://github.com/zhyass))
- Added support for reading binary from CSV [\#337](https://github.com/jorgecarleitao/arrow2/pull/337) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for `MONTH_DAY_NANO` interval type [\#268](https://github.com/jorgecarleitao/arrow2/pull/268) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Parquet read skips a few rows at the end of the page [\#373](https://github.com/jorgecarleitao/arrow2/issues/373)
- `parquet_read` fails when a column has too many rows with string values [\#366](https://github.com/jorgecarleitao/arrow2/issues/366)
- `parquet_read` panics with `index_out_of_bounds` [\#351](https://github.com/jorgecarleitao/arrow2/issues/351)
- Fixed error in `MutableBitmap::push_unchecked` [\#384](https://github.com/jorgecarleitao/arrow2/pull/384) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed display of timestamp with tz. [\#375](https://github.com/jorgecarleitao/arrow2/pull/375) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Added `extend_*values` to `MutablePrimitiveArray` [\#383](https://github.com/jorgecarleitao/arrow2/pull/383) ([ritchie46](https://github.com/ritchie46))
- Improved performance of writing to CSV \(20-25%\) [\#382](https://github.com/jorgecarleitao/arrow2/pull/382) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped `lexical-core` [\#378](https://github.com/jorgecarleitao/arrow2/pull/378) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed casting of utf8 \<\> Timestamp with and without timezone [\#376](https://github.com/jorgecarleitao/arrow2/pull/376) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `Send+Sync` to `MutableBuffer` [\#368](https://github.com/jorgecarleitao/arrow2/pull/368) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of unary \_not\_ for aligned bitmaps \(3x\) [\#365](https://github.com/jorgecarleitao/arrow2/pull/365) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Reduced dependencies within `num` [\#353](https://github.com/jorgecarleitao/arrow2/pull/353) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped to parquet2 v0.4 [\#352](https://github.com/jorgecarleitao/arrow2/pull/352) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Bumped tonic and prost in flight [\#344](https://github.com/jorgecarleitao/arrow2/pull/344) ([PsiACE](https://github.com/PsiACE))
- Improved null count calculation \(5x\) [\#343](https://github.com/jorgecarleitao/arrow2/pull/343) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved perf of deserializing integers from json \(30%\) [\#340](https://github.com/jorgecarleitao/arrow2/pull/340) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified code of json schema inference [\#339](https://github.com/jorgecarleitao/arrow2/pull/339) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Moved guide examples to examples/ [\#387](https://github.com/jorgecarleitao/arrow2/pull/387) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more docs. [\#358](https://github.com/jorgecarleitao/arrow2/pull/358) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved API docs. [\#355](https://github.com/jorgecarleitao/arrow2/pull/355) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- Moved tests to `tests/` [\#389](https://github.com/jorgecarleitao/arrow2/pull/389) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Moved compute tests to tests/ [\#388](https://github.com/jorgecarleitao/arrow2/pull/388) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests. [\#380](https://github.com/jorgecarleitao/arrow2/pull/380) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Pinned nightly in SIMD tests [\#364](https://github.com/jorgecarleitao/arrow2/pull/364) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved benches for take [\#348](https://github.com/jorgecarleitao/arrow2/pull/348) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made IPC integration tests run tests that are not run by arrow-rs [\#278](https://github.com/jorgecarleitao/arrow2/pull/278) ([jorgecarleitao](https://github.com/jorgecarleitao))
## [v0.4.0](https://github.com/jorgecarleitao/arrow2/tree/v0.4.0) (2021-08-24)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.3.0...v0.4.0)
**Breaking changes:**
- Change dictionary iterator of values from `Array`s of one element to `Scalar`s [\#335](https://github.com/jorgecarleitao/arrow2/issues/335)
- Align FFI API with arrow's C++ API [\#328](https://github.com/jorgecarleitao/arrow2/issues/328)
- Make `*_compare_scalar` not return `Result` [\#316](https://github.com/jorgecarleitao/arrow2/issues/316)
- Make `io::print`, `get_value_display` and `get_display` not return `Result` [\#286](https://github.com/jorgecarleitao/arrow2/issues/286)
- Add `MetadataVersion` to IPC interfaces [\#282](https://github.com/jorgecarleitao/arrow2/issues/282)
- Change `DataType::Union` to enable round trips in IPC [\#281](https://github.com/jorgecarleitao/arrow2/issues/281)
- Removed clone requirement in `StructArray -> RecordBatch` [\#307](https://github.com/jorgecarleitao/arrow2/pull/307) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in reading a non-finished IPC stream. [\#302](https://github.com/jorgecarleitao/arrow2/pull/302) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Generalized ZipIterator to accept a `BitmapIter` [\#296](https://github.com/jorgecarleitao/arrow2/pull/296) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Added API to FFI `Field` [\#321](https://github.com/jorgecarleitao/arrow2/pull/321) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added `compare_scalar` [\#317](https://github.com/jorgecarleitao/arrow2/pull/317) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Add `UnionArray` [\#283](https://github.com/jorgecarleitao/arrow2/pull/283) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- SliceIterator of last bytes is not correct [\#292](https://github.com/jorgecarleitao/arrow2/issues/292)
- Fixed error in displaying dictionaries with nulls in values [\#334](https://github.com/jorgecarleitao/arrow2/pull/334) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in dict equality [\#333](https://github.com/jorgecarleitao/arrow2/pull/333) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed small inconsistencies between `compute::cast` and `compute::can_cast` [\#295](https://github.com/jorgecarleitao/arrow2/pull/295) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed order implementation for `days_ms` / `Interval(DayTime)` [\#285](https://github.com/jorgecarleitao/arrow2/pull/285) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Added support for remaining non-nested datatypes [\#336](https://github.com/jorgecarleitao/arrow2/pull/336) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made `multiversion` and `lexical-core` optional [\#324](https://github.com/jorgecarleitao/arrow2/pull/324) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of utf8 comparison \(1.7x-4x\) [\#322](https://github.com/jorgecarleitao/arrow2/pull/322) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of boolean comparison \(5x-14x\) [\#318](https://github.com/jorgecarleitao/arrow2/pull/318) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added trait `TryPush` [\#314](https://github.com/jorgecarleitao/arrow2/pull/314) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added cast `date32 -> i64` and `date64 -> i32` [\#308](https://github.com/jorgecarleitao/arrow2/pull/308) ([ritchie46](https://github.com/ritchie46))
- Improved performance of comparison with SIMD feature flag \(2x-3.5x\) [\#305](https://github.com/jorgecarleitao/arrow2/pull/305) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read json to `BinaryArray` [\#304](https://github.com/jorgecarleitao/arrow2/pull/304) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved `MutableFixedSizeBinaryArray` [\#303](https://github.com/jorgecarleitao/arrow2/pull/303) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved `MutablePrimitiveArray` and `MutableUtf8Array` [\#299](https://github.com/jorgecarleitao/arrow2/pull/299) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved `MutableBooleanArray` [\#297](https://github.com/jorgecarleitao/arrow2/pull/297) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved performance of concatenating non-aligned validities \(15x\) [\#291](https://github.com/jorgecarleitao/arrow2/pull/291) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for timestamps with tz and interval to `io::print::write` [\#287](https://github.com/jorgecarleitao/arrow2/pull/287) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved debug repr of buffers and bitmaps. [\#284](https://github.com/jorgecarleitao/arrow2/pull/284) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Cleaned up internals of json integration [\#280](https://github.com/jorgecarleitao/arrow2/pull/280) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Removed `serde_derive` dependency [\#279](https://github.com/jorgecarleitao/arrow2/pull/279) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Simplified IPC code. [\#277](https://github.com/jorgecarleitao/arrow2/pull/277) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Reduced dependencies from confi-table and enabled `wasm` on `io_print` feature. [\#276](https://github.com/jorgecarleitao/arrow2/pull/276) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improve performance of `rem_scalar/div_scalar` for integer types \(4x-10x\) [\#275](https://github.com/jorgecarleitao/arrow2/pull/275) ([ritchie46](https://github.com/ritchie46))
**Documentation updates:**
- Cleaned examples and docs from old API. [\#330](https://github.com/jorgecarleitao/arrow2/pull/330) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Improved documentation [\#306](https://github.com/jorgecarleitao/arrow2/pull/306) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Testing updates:**
- Improved naming of testing workflows [\#315](https://github.com/jorgecarleitao/arrow2/pull/315) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added tests to scalar API [\#300](https://github.com/jorgecarleitao/arrow2/pull/300) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Made CSV and JSON tests not use files. [\#290](https://github.com/jorgecarleitao/arrow2/pull/290) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Moved tests to integration tests [\#289](https://github.com/jorgecarleitao/arrow2/pull/289) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Closed issues:**
- Make parquet\_read\_record support async [\#331](https://github.com/jorgecarleitao/arrow2/issues/331)
- Panic due to SIMD comparison [\#312](https://github.com/jorgecarleitao/arrow2/issues/312)
- Bitmap::mutable line 155 may Panic/segfault [\#309](https://github.com/jorgecarleitao/arrow2/issues/309)
- IPC's `StreamReader` may abort due to excessive memory by overflowing a `usize`d variable [\#301](https://github.com/jorgecarleitao/arrow2/issues/301)
- Improve performance of `rem_scalar/div_scalar` for integer types \(4x-10x\) [\#259](https://github.com/jorgecarleitao/arrow2/issues/259)
## [v0.3.0](https://github.com/jorgecarleitao/arrow2/tree/v0.3.0) (2021-08-11)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.2.0...v0.3.0)
**Breaking changes:**
- Renamed `sum` to `sum_primitive` [\#273](https://github.com/jorgecarleitao/arrow2/issues/273)
- Moved trait `Index` from `array::Index` to `types::Index` [\#272](https://github.com/jorgecarleitao/arrow2/issues/272)
- Added optional `projection` to IPC FileReader [\#271](https://github.com/jorgecarleitao/arrow2/issues/271)
- Added optional `page_filter` to parquet's `RecordReader` and `get_page_iterator` [\#270](https://github.com/jorgecarleitao/arrow2/issues/270)
- Renamed parquets' `CompressionCodec` to `Compression` [\#269](https://github.com/jorgecarleitao/arrow2/issues/269)
**New features:**
- Added support for FFI of dictionary-encoded arrays [\#267](https://github.com/jorgecarleitao/arrow2/pull/267) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for projection pushdown on IPC files [\#264](https://github.com/jorgecarleitao/arrow2/pull/264) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to read parquet asynchronously [\#260](https://github.com/jorgecarleitao/arrow2/pull/260) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to filter parquet pages. [\#256](https://github.com/jorgecarleitao/arrow2/pull/256) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added wrapping\_cast to cast kernels [\#254](https://github.com/jorgecarleitao/arrow2/pull/254) ([sundy-li](https://github.com/sundy-li))
- Added support to parquet IO on wasm32 [\#239](https://github.com/jorgecarleitao/arrow2/pull/239) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support to round-trip dictionary arrays on parquet [\#232](https://github.com/jorgecarleitao/arrow2/pull/232) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added Scalar API [\#56](https://github.com/jorgecarleitao/arrow2/pull/56) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Fixed error in computing remainder of chunk iterator [\#262](https://github.com/jorgecarleitao/arrow2/pull/262) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed error in slicing bitmap. [\#250](https://github.com/jorgecarleitao/arrow2/pull/250) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Improve the performance in cast kernel using AsPrimitive trait in generic dispatch [\#252](https://github.com/jorgecarleitao/arrow2/issues/252)
- Poor performance in `sort::sort_to_indices` with limit option in arrow2 [\#245](https://github.com/jorgecarleitao/arrow2/issues/245)
- Support loading Feather v2 \(IPC\) files with more than 1 million tables [\#231](https://github.com/jorgecarleitao/arrow2/issues/231)
- Migrated to parquet2 v0.3 [\#265](https://github.com/jorgecarleitao/arrow2/pull/265) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added more tests to cast and min/max [\#253](https://github.com/jorgecarleitao/arrow2/pull/253) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Prettytable is unmaintained. Change to comfy-table [\#251](https://github.com/jorgecarleitao/arrow2/pull/251) ([PsiACE](https://github.com/PsiACE))
- Added IndexRange to remove checks in hot loops [\#247](https://github.com/jorgecarleitao/arrow2/pull/247) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Make merge\_sort\_slices MergeSortSlices public [\#243](https://github.com/jorgecarleitao/arrow2/pull/243) ([sundy-li](https://github.com/sundy-li))
**Documentation updates:**
- Added example and guide section on compute [\#242](https://github.com/jorgecarleitao/arrow2/pull/242) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Closed issues:**
- Allow projection pushdown to IPC files [\#261](https://github.com/jorgecarleitao/arrow2/issues/261)
- Add support to write dictionary-encoded pages [\#211](https://github.com/jorgecarleitao/arrow2/issues/211)
- Make IpcWriteOptions easier to find. [\#120](https://github.com/jorgecarleitao/arrow2/issues/120)
## [v0.2.0](https://github.com/jorgecarleitao/arrow2/tree/v0.2.0) (2021-07-30)
[Full Changelog](https://github.com/jorgecarleitao/arrow2/compare/v0.1.0...v0.2.0)
**Breaking changes:**
- Simplified `new` signature of growable API [\#238](https://github.com/jorgecarleitao/arrow2/pull/238) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Add support to merge sort with a limit [\#222](https://github.com/jorgecarleitao/arrow2/pull/222) ([sundy-li](https://github.com/sundy-li))
- Generalized sort to accept indices other than i32. [\#220](https://github.com/jorgecarleitao/arrow2/pull/220) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added support for limited sort [\#218](https://github.com/jorgecarleitao/arrow2/pull/218) ([jorgecarleitao](https://github.com/jorgecarleitao))
**New features:**
- Merge sort support limit option [\#221](https://github.com/jorgecarleitao/arrow2/issues/221)
- Introduce limit option to sort [\#215](https://github.com/jorgecarleitao/arrow2/issues/215)
- Added support for take of interval of days\_ms [\#219](https://github.com/jorgecarleitao/arrow2/pull/219) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Added FFI for remaining types [\#213](https://github.com/jorgecarleitao/arrow2/pull/213) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Fixed bugs:**
- Filter operation on sliced utf8 arrays are incorrect [\#233](https://github.com/jorgecarleitao/arrow2/issues/233)
- Fixed error in slicing bitmap. [\#237](https://github.com/jorgecarleitao/arrow2/pull/237) ([jorgecarleitao](https://github.com/jorgecarleitao))
- Fixed nested FFI. [\#212](https://github.com/jorgecarleitao/arrow2/pull/212) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Enhancements:**
- Avoid materialization of indices in filter\_record\_batch for single arrays [\#234](https://github.com/jorgecarleitao/arrow2/issues/234)
- Add integration tests for writing to parquet [\#80](https://github.com/jorgecarleitao/arrow2/issues/80)
- Short-circuited boolean evaluation in GrowableList [\#228](https://github.com/jorgecarleitao/arrow2/pull/228) ([ritchie46](https://github.com/ritchie46))
- Add extra inlining to speed up take [\#226](https://github.com/jorgecarleitao/arrow2/pull/226) ([Dandandan](https://github.com/Dandandan))
- Removed un-needed `unsafe` [\#225](https://github.com/jorgecarleitao/arrow2/pull/225) ([jorgecarleitao](https://github.com/jorgecarleitao))
**Documentation updates:**
- Add documentation to guide [\#96](https://github.com/jorgecarleitao/arrow2/issues/96)
- Add git submodule command to correct the test doc [\#223](https://github.com/jorgecarleitao/arrow2/pull/223) ([sundy-li](https://github.com/sundy-li))
- Added badges to README [\#216](https://github.com/jorgecarleitao/arrow2/pull/216) ([sundy-li](https://github.com/sundy-li))
- Clarified differences with arrow crate [\#210](https://github.com/jorgecarleitao/arrow2/pull/210) ([alamb](https://github.com/alamb))
- Clarified differences with arrow crate [\#209](https://github.com/jorgecarleitao/arrow2/pull/209) ([alamb](https://github.com/alamb))
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*