- Note that 2.4.1 was skipped due to accidental tagging of the 2.4.1 git tag during CI testing
API Changes
* Addition of `overwrite` parameter to `Array.create` [713](https://github.com/TileDB-Inc/TileDB-Py/pull/713)
* Addition of `"ascii"` dtype for `Dim`s [720](https://github.com/TileDB-Inc/TileDB-Py/pull/720)
Bug fixes
* Pass `Ctx` to `ArraySchema.load` in `from_pandas` [709](https://github.com/TileDB-Inc/TileDB-Py/pull/709)
* Give clear error message when attempting to apply `QueryCondition` on dimensions [722](https://github.com/TileDB-Inc/TileDB-Py/pull/722)
* Do not add string range when querying empty array [721](https://github.com/TileDB-Inc/TileDB-Py/pull/721)
Improvements
* String dimension default fix in core [2436](https://github.com/TileDB-Inc/TileDB/pull/2436) reverts a previous change in which the nonempty domain was passed the to multi-range indexer if unspecified [#712](https://github.com/TileDB-Inc/TileDB-Py/pull/712)
TileDB-Py 0.10.2 Release Notes
API Changes
* Deprecate sparse writes to dense arrays [681](https://github.com/TileDB-Inc/TileDB-Py/pull/681)
* Addition of `Attr.isascii` [681](https://github.com/TileDB-Inc/TileDB-Py/pull/681)
* Addition of `Ctx.get_stats` and `Query.get_stats` [698](https://github.com/TileDB-Inc/TileDB-Py/pull/698)
Improvements
* Added support for `timestamp` argument in `tiledb.from_numpy` [699](https://github.com/TileDB-Inc/TileDB-Py/pull/699)
TileDB-Py 0.10.1 Release Notes
API Changes
* Do not require `domain=(None, None)` for string dimensions [662](https://github.com/TileDB-Inc/TileDB-Py/pull/662)
Improvements
* Print a warning about ContextVar bug when running under ipykernel < 6.0. [665](https://github.com/TileDB-Inc/TileDB-Py/pull/665)
Please see https://github.com/TileDB-Inc/TileDB-Py/issues/667 for more information.
* `tiledb.Dim` representation now displays `var=True` for dimensions with `bytes` datatype, consistent with `tiledb.Attr` [669](https://github.com/TileDB-Inc/TileDB-Py/pull/669)
Bug fixes
* Fix concurrent use of `Array.multi_index` and `.df` by using new instance for each invocation [672](https://github.com/TileDB-Inc/TileDB-Py/pull/672)
* For attributes, if `var=False` but the bytestring is fixed-width or if `var=True` but the bytestring is variable length, error out [663](https://github.com/TileDB-Inc/TileDB-Py/pull/663)
TileDB-Py 0.10.0 Release Notes
TileDB Embedded updates:
* TileDB-Py 0.10.0 includes TileDB Embedded [TileDB 2.4.0](https://github.com/TileDB-Inc/TileDB/releases/tag/2.4.0) with a number of
new features and improvements, including:
- new platform support: Apple M1
- support for ArraySchema evolution (adding and removing attributes)
- support for Azure SAS (shared access signature) tokens
API Changes
* When using `Array.multi_index`, an empty result is returned if the nonempty domain is empty [656](https://github.com/TileDB-Inc/TileDB-Py/pull/656)
* Addition of `Array.set_query` to read array using a serialized query [651](https://github.com/TileDB-Inc/TileDB-Py/pull/651)
Improvements
* Support numeric column names in `from_pandas` by casting to str dtype [652](https://github.com/TileDB-Inc/TileDB-Py/pull/652)
* New `tiledb.ArraySchemaEvolution` API to add and drop attributes from an existing array [657](https://github.com/TileDB-Inc/TileDB-Py/pull/657)
Bug Fixes
* Correct listing of consolidated fragments to vacuum in the Fragment Info API by deprecating `FragmentInfoList.to_vacuum_uri`, `FragmentInfoList.to_vacuum_num`, `FragmentInfo.to_vacuum_uri`, and `FragmentInfo.to_vacuum_num` and replacing with `FragmentInfoList.to_vacuum` [650](https://github.com/TileDB-Inc/TileDB-Py/pull/650)
* Correct issue where appending `None` to `FilterList` causes segfault by checking the `filter` argument [653](https://github.com/TileDB-Inc/TileDB-Py/pull/653)
TileDB-Py 0.9.5 Release Notes
TileDB Embedded updates: