New features added
* [python] Add back deprecated function `tiledbsoma_build_index` by jp-dark in 2344
* [python/ci] `typeguard==4.2.1`, make `requirements_dev.txt` canonical by ryan-williams in 2314
* [python] `tiledbsoma.io.from_h5ad`: document new `additional_metadata` param by ryan-williams in 2360
* [python] Ingestion performance by johnkerl in 2434
* [r] Add `obsm`, `varm`, `obsp`, and `varp` to `SOMAExperimentAxisQuery` by mojaveazure in 2351
* [r] Port blockwise iterator/reader to R by mojaveazure in 2152
* [r] Add `$reopen()` to `TileDBObject` by mojaveazure in 2372
Minor changes
* Use core 2.22.0, TileDB-Py 0.28.0, TileDB-R 0.26.0 on `main` branch by johnkerl in 2448
* [python/ci] Typofix from 2305 by johnkerl in 2326
* [python/ci] Unbreak wheel builds, `main` by johnkerl in 2341
* [python] Remove no-longer-necessary `_query_condition` import by ryan-williams in 2286
* [c++/python] Add `soma_type` argument for `SOMAObject::open` by nguyenv in 2350
* [python] Skip writing empty `arrow_table`s by ryan-williams in 2357
* [python] `isort`: `tiledbsoma` before `tiledb` by ryan-williams in 2381
* [c++,r,python] Move `nanoarrow` to `src/external` by eddelbuettel in 2383
* [python/ci] Run SO copying workflow on macos-13 to avoid SIP by jdblischak in 2435
* [python] Code-review-feedback follow-up from 2434 by johnkerl in 2441
* [r] Bump `DESCRIPTION` version for `main` past 1.9 by johnkerl in 2328
* [r] Additional `nanoarrow` refactor followup by eddelbuettel in 2376
* [r] TileDB-SOMA R 1.10 (`release-1.10` branch) by johnkerl in 2452
* [r/ci] Continue 2275 by johnkerl in 2395
* [c++, r] Update and refactor nanoarrow by eddelbuettel in 2188
* [c++] Set `nanoarrow.c` to use `CMAKE_CXX_COMPILER` by nguyenv in 2366
* [c++] Address final `valgrind` issue by eddelbuettel in 2403
* [c++] Refactor `metadata` and `create` to respect timestamps by nguyenv in 2180
* Do not include nanoarrow files in clang-format by nguyenv in 2449
Bug fixes
* [python] Expand coverage for registration of multi-region S3-backed H5ADs by johnkerl in 2369
* [python] More `nan_append` checks: not-all-NaN, non-dupe IDs by ryan-williams in 2364
* [python] Check for uniqueness of registration obs/var field-name inputs by johnkerl in 2380
* [python] Enforce if-not-exists semantics for append/registration by johnkerl in 2384
* [python] Pass more context in registrar by johnkerl in 2411
* [python] `verify_core_versions()` during `import tiledbsoma` by ryan-williams in 2437
* [r] Check that TileDB Core library versions match by eddelbuettel in 2410
* [r/ci] Unbreak wheel builds by johnkerl in 2398
**Full Changelog**: https://github.com/single-cell-data/TileDB-SOMA/compare/1.9.5...1.10.0rc0