New features added / breaking changes
For this alpha release, _many_ changes are breaking. This is a step toward 1.0rc0 in which we will
try to isolate the (hopefully zero) remaining opportunities for breaking changes before 1.0rc0.
* [python] Export `open` function, to universally open everything by thetorpedodog in 896
* [python] Add `add_new_collection` implementation by thetorpedodog in 837
* [python] Add `add_new_dataframe` and `_sparse`/`_dense_ndarray` by thetorpedodog in 848
* [python] Create and open objects using `Thing.create()` and `Thing.open()` by thetorpedodog in 824
* [python] Add static `exists` method to `TileDBObject` by thetorpedodog in 890
* [python] Generalize `tiledbsoma.io.add_X_layer` to `obsm`, `varp`, etc. by johnkerl in 814
* [python] Add timestamp slots in `SOMATileDBContext` and apply throughout by mlin in 892
* [python] Document newly-created `platform_config` options by thetorpedodog in 897
* [python] Re-export `somacore`'s `AxisColumnNames` at top level by johnkerl in 881
* [python] Support indices of type `bytes` by johnkerl in 861
* [r] Support iterated sparse and dense matrix reads by eddelbuettel in 835
* [r] Support `remotes::install_github` use by eddelbuettel in 826
* [r] Add iterated readers for SOMA classes by eddelbuettel in 811
* [python] Add user-level stats hooks, to reach parity with tiledbsoma-r by johnkerl in 871
* [r] Add stats API accessors by eddelbuettel in 865
* Use `show_package_versions` in bug-report issue template by johnkerl in 868
* [r,python] Add `show_package_versions` for bug-report use by johnkerl in 855
* Create bug-report and feature-request templates by maniarathi in 728
Internal support for features
* [python] Refactor processing of URIs for collection creation/setting by thetorpedodog in 889
* [python] Add additional create-time `platform_config` hooks for schema mods by bkmartinjr in 888
* [python] Pull in `somacore==0.0.0a12` and associated improvements by thetorpedodog in 882
* [python] Keep only the read or write TileDB handles open long-term by thetorpedodog in 863
* [python] Track ownership of accessed and added collection members. by thetorpedodog in 847
* [python] Create `ReadWriteHandle` to manage TileDB handles by thetorpedodog in 823
* [python] Switch to somacore 0.0.0a10 by thetorpedodog in 825
* [c++] SOMAReader open-at-timestamp support by mlin in 788
Minor changes
* [python] Move `io` into submodule and organize various `util_` files. by thetorpedodog in 899
* [python] Capture stdout/stderr from `stats_dump` output by thetorpedodog in 887
* [python] Un-xfail some tests which are now passing by thetorpedodog in 891
* [r] Validate no allow-duplicates for sparse N-d arrays and dataframes by johnkerl in 879
* [python] `string_dim_zstd_level` -> `int64_dim_zstd_level` by johnkerl in 883
* [python] Schema validation for DataFrame by johnkerl in 880
* [python] Directly use backend TileDB dimension names for `DataFrame` by thetorpedodog in 870
* [python] Use the array we already have open to generate the Arrow schema by thetorpedodog in 869
* [python] Unexpose TileDBArray and TileDBObject by johnkerl in 856
* Update LICENSE to make the years the same. by maniarathi in 852
* [python] Make `typeguard_ignore` decorator play nice with Pylance by thetorpedodog in 849
* [python] Remove `__eq__` method from base `TileDBObject` class by thetorpedodog in 846
* [python] Pull the common parts of NDArrays into the base NDArray class by thetorpedodog in 836
* [python] Fix legacy misuse of`urllib.parse.urljoin` by johnkerl in 832
* [r] Limit builds to unix operating systems by eddelbuettel in 831
* [r] Add lifecycle-maturity tags to Roxygen blocks by johnkerl in 829
* [python] Use the contents of `bld`, not `setup.py`, for binary cache by thetorpedodog in 827
* [python] Add lifecycle maturity tags to public API docstrings by atolopko-czi in 818
* [python] Move test data to `testdata` folder by thetorpedodog in 817
* [python] Refactor `factory._construct_member` by gsakkis in 815
Bug fixes
* [python] Fix and test over-indexing semantics by johnkerl in 901
* [python] No allow-duplicates for sparse N-d arrays by johnkerl in 878
* [python] Improve detection of nonexistent-array errors from TileDB Cloud by johnkerl in 873
* [python] Fix `__del__` error when improperly constructing a TileDB object by thetorpedodog in 864
* [python] Modify `setup.py` to find system-installed `libtiledbsoma` on POSIX by nguyenv in 838
* [python] Fix `use_relative_uri` for tiledbsoma.io [post-824] by johnkerl in 833
* [python] Fix 822 re small tile extents by johnkerl in 830
New Contributors
* nguyenv made their first contribution in 838
**Full Changelog**: https://github.com/single-cell-data/TileDB-SOMA/compare/0.5.0a8...0.5.0a9