Note: PyPI wheels are missing due to 2337 so there will be an immediate 1.9.1.
New features added
* [python] Let ingest accept `additional_metadata: dict[str, Metadatum]` by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2258
* [c++/python] Use a shared threadpool for the reindexer by beroy in https://github.com/single-cell-data/TileDB-SOMA/pull/2148
* [c++] Optimizing indexer for pandas and pyarrow by beroy in https://github.com/single-cell-data/TileDB-SOMA/pull/2159
Breaking changes
* [Backport release-1.9] [python/ci] `typeguard==4.2.1`, make `requirements_dev.txt` canonical by github-actions in https://github.com/single-cell-data/TileDB-SOMA/pull/2332
* [python] Drop support for Python 3.7 by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2181
Bug fixes
* [python] Fix race in `SOMADataFrame` schema with multiple enumerated columns by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2194
* [python] Fix context-type for `tiledbsoma_build_index` by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2224
* [python] Fix an ingestion corner case with empty chunks by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2283
* [python] Fix registration path with non-standard obs/var index names by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2281
* [c++] Match `delete[]` with `new[]` by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2259
* [c++] Fix display of Arrow schema for enum of `bytes` datatype by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2305
* [c++] Use `std::future::get()` instead of `::wait()` by eddelbuettel in https://github.com/single-cell-data/TileDB-SOMA/pull/2320
Minor changes
* Use core 2.21.1 by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2301
* Use TileDB core 2.21.0, TileDB-Py 0.27.0, TileDB-R 0.25.0 by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2294
* [python] Expose `tiledbsoma.io.ExperimentAmbientLabelMapping` by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2175
* [c++] Address issues related to reindexer advanced features by beroy in https://github.com/single-cell-data/TileDB-SOMA/pull/2186
* [ci] Fix `scripts/bld` typo (`aarch64` opts) by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2193
* [python] Fix a lint fail on `main` by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2200
* [python] Fix and test `setup.py` flags to external shared objects by jdblischak in https://github.com/single-cell-data/TileDB-SOMA/pull/2221
* [python] Typo fixes, broken README link by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2235
* [python] Attempt to repro 1565 by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2236
* [python] Verify `pa.{Chunked,Integer}Array` args to `SparseNDArray.read` by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2234
* [python/ci] Restore pre-merge lint checks by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2247
* [python] Factor `io/ingest.py`, create `io/{_common,outgest}.py` by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2246
* [python] Bump `somacore` to 1.0.9 by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2251
* [ci/python] Use Python 3.11 for single version CI runs by jp-dark in https://github.com/single-cell-data/TileDB-SOMA/pull/2255
* [python] Remove deprecated Python 3.7 AST types by jp-dark in https://github.com/single-cell-data/TileDB-SOMA/pull/2271
* [python/ci] Complete 3.8 -> 3.11 work by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2278
* [python] Neaten registration-mapping test code by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2285
* [python] Extract fs wrapper to util file by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2290
* [python] Fix many `typeguard` warnings by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/1960
* [python/ci] Factor `pytest.fixture`s, verify 1988 by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2299
* [python] Make `_util.read_h5ad` a `contextmanager` by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2291
* [python] Make `test_empty_categorical_query` work with TileDB<2.21 by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2308
* [python/ci] Pin `typeguard==4.1.5` by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2313
* [python] Implement `IntIndexer` as class that wraps around `clib.IntIndexer` by jp-dark in https://github.com/single-cell-data/TileDB-SOMA/pull/2310
* [Backport release-1.9] [python/ci] Typofix from 2305 by github-actions in https://github.com/single-cell-data/TileDB-SOMA/pull/2331
* [r] Call array schema evolution after loop setting up enums by eddelbuettel in https://github.com/single-cell-data/TileDB-SOMA/pull/2201
* [ci] Updated hard-coded core version in another file by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2207
* [ci] Add MacOS job to test shared object copying by jdblischak in https://github.com/single-cell-data/TileDB-SOMA/pull/2220
* Append `LD_LIBRARY_PATH` for census by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2218
* [ci] Only run build tests when build files are modified by jdblischak in https://github.com/single-cell-data/TileDB-SOMA/pull/2229
* Needed changes for census profiling by beroy in https://github.com/single-cell-data/TileDB-SOMA/pull/2074
* [r] Correct parenthesis in covr() call activate quiet=FALSE by eddelbuettel in https://github.com/single-cell-data/TileDB-SOMA/pull/2243
* [c++] Fix building TileDB if a CMake toolchain is not specified by teo-tsirpanis in https://github.com/single-cell-data/TileDB-SOMA/pull/2244
* [r/ci] Set `options(pkgType = "binary")` for MacOS by mojaveazure in https://github.com/single-cell-data/TileDB-SOMA/pull/2257
* [r/ci] Point at correct TileDB-R location by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2275
* `ingest.py` cleanups, doc nits by ryan-williams in https://github.com/single-cell-data/TileDB-SOMA/pull/2256
* [r] Add tests for enum value filters in `SOMAExperimentAxisQuery ` by mojaveazure in https://github.com/single-cell-data/TileDB-SOMA/pull/2316
* [r] R version for `release-1.9` branch by johnkerl in https://github.com/single-cell-data/TileDB-SOMA/pull/2329
New Contributors
* jdblischak made their first contribution in https://github.com/single-cell-data/TileDB-SOMA/pull/2220
**Full Changelog**: https://github.com/single-cell-data/TileDB-SOMA/compare/1.8.1...1.9.0