diff --git a/ci/scripts/towncrier_automation.py b/ci/scripts/towncrier_automation.py index c532883036..10a8b0c9dc 100755 --- a/ci/scripts/towncrier_automation.py +++ b/ci/scripts/towncrier_automation.py @@ -92,7 +92,11 @@ def main(argv: Sequence[str] | None = None) -> None: f"--base={base_branch}", f"--title={pr_title}", f"--body={pr_description}", - *(["--label=no milestone"] if base_branch == "main" else []), + *( + ["--label=no milestone", "--label=Development Process 🚀"] + if base_branch == "main" + else [] + ), *(["--dry-run"] if args.dry_run else []), ], check=True, diff --git a/docs/release-notes/1.11.0.md b/docs/release-notes/1.11.0.md new file mode 100644 index 0000000000..8c51fe8a37 --- /dev/null +++ b/docs/release-notes/1.11.0.md @@ -0,0 +1,38 @@ +(v1.11.0)= +### 1.11.0 {small}`2024-12-20` + +### Features + +- {func}`~scanpy.pp.sample` supports both upsampling and downsampling of observations and variables. {func}`~scanpy.pp.subsample` is now deprecated. {smaller}`G Eraslan & P Angerer` ({pr}`943`) +- Add `layer` argument to {func}`scanpy.tl.score_genes` and {func}`scanpy.tl.score_genes_cell_cycle` {smaller}`L Zappia` ({pr}`2921`) +- Prevent `raw` conflict with `layer` in {func}`~scanpy.tl.score_genes` {smaller}`S Dicks` ({pr}`3155`) +- Add support for `median` as an aggregation function to the `Aggregation` class in `scanpy.get._aggregated.py`. This allows for median-based aggregation of data (e.g., pseudobulk), complementing existing methods like mean- and sum-based aggregation {smaller}`M Dehkordi (Farhad)` ({pr}`3180`) +- Add `key_added` argument to {func}`~scanpy.pp.pca`, {func}`~scanpy.tl.tsne` and {func}`~scanpy.tl.umap` {smaller}`P Angerer` ({pr}`3184`) +- Support running {func}`scanpy.pp.pca` on sparse Dask arrays with the `'covariance_eigh'` solver {smaller}`P Angerer` ({pr}`3263`) +- Use upstreamed {class}`~sklearn.decomposition.PCA` implementation for {class}`~scipy.sparse.csr_array` and {class}`~scipy.sparse.csr_matrix` (see {ref}`sklearn:changes_1_4`) {smaller}`P Angerer` ({pr}`3267`) +- Add explicit support to {func}`scanpy.pp.pca` for `svd_solver='covariance_eigh'` {smaller}`P Angerer` ({pr}`3296`) +- Add support {class}`dask.array.Array` to {func}`scanpy.pp.calculate_qc_metrics` {smaller}`I Gold` ({pr}`3307`) +- Support `layer` parameter in {func}`scanpy.pl.highest_expr_genes` {smaller}`P Angerer` ({pr}`3324`) +- Run numba functions single-threaded when called from inside of a ThreadPool {smaller}`P Angerer` ({pr}`3335`) +- Switch {func}`~scanpy.logging.print_header` and {func}`~scanpy.logging.print_versions` to {mod}`session_info2` {smaller}`P Angerer` ({pr}`3384`) +- Add sampling probabilities/mask parameter `p` to {func}`~scanpy.pp.sample` {smaller}`P Angerer` ({pr}`3410`) + +### Performance + +- Speed up {func}`~scanpy.pp.regress_out` {smaller}`P Ashish, P Angerer & S Dicks` ({pr}`3284`) + +### Documentation + +- Improve {func}`~scanpy.external.pp.harmony_integrate` docs {smaller}`D Kühl` ({pr}`3362`) +- Raise {exc}`FutureWarning` when calling deprecated {mod}`scanpy.pp` functions {smaller}`P Angerer` ({pr}`3380`) +- | Deprecate … | in favor of … | + | --- | --- | + | {func}`scanpy.read_visium` | {func}`squidpy.read.visium` | + | {func}`scanpy.datasets.visium_sge` | {func}`squidpy.datasets.visium` | + | {func}`scanpy.pl.spatial` | {func}`squidpy.pl.spatial_scatter` | + + {smaller}`P Angerer` ({pr}`3407`) + +### Bug fixes + +- Upper-bound {mod}`sklearn` `<1.6.0` due to {issue}`dask/dask-ml#1002` {smaller}`Ilan Gold` ({pr}`3393`) diff --git a/docs/release-notes/2921.feature.md b/docs/release-notes/2921.feature.md deleted file mode 100644 index e3c964abb2..0000000000 --- a/docs/release-notes/2921.feature.md +++ /dev/null @@ -1 +0,0 @@ -Add `layer` argument to {func}`scanpy.tl.score_genes` and {func}`scanpy.tl.score_genes_cell_cycle` {smaller}`L Zappia` diff --git a/docs/release-notes/3155.feature.md b/docs/release-notes/3155.feature.md deleted file mode 100644 index 770c504348..0000000000 --- a/docs/release-notes/3155.feature.md +++ /dev/null @@ -1 +0,0 @@ -Prevent `raw` conflict with `layer` in {func}`~scanpy.tl.score_genes` {smaller}`S Dicks` diff --git a/docs/release-notes/3180.feature.md b/docs/release-notes/3180.feature.md deleted file mode 100644 index ab73dfe18e..0000000000 --- a/docs/release-notes/3180.feature.md +++ /dev/null @@ -1 +0,0 @@ -Add support for `median` as an aggregation function to the `Aggregation` class in `scanpy.get._aggregated.py`. This allows for median-based aggregation of data (e.g., pseudobulk), complementing existing methods like mean- and sum-based aggregation {smaller}`M Dehkordi (Farhad)` diff --git a/docs/release-notes/3184.feature.md b/docs/release-notes/3184.feature.md deleted file mode 100644 index 3cc976b141..0000000000 --- a/docs/release-notes/3184.feature.md +++ /dev/null @@ -1 +0,0 @@ -Add `key_added` argument to {func}`~scanpy.pp.pca`, {func}`~scanpy.tl.tsne` and {func}`~scanpy.tl.umap` {smaller}`P Angerer` diff --git a/docs/release-notes/3263.feature.md b/docs/release-notes/3263.feature.md deleted file mode 100644 index 8e924e1799..0000000000 --- a/docs/release-notes/3263.feature.md +++ /dev/null @@ -1 +0,0 @@ -Support running {func}`scanpy.pp.pca` on sparse Dask arrays with the `'covariance_eigh'` solver {smaller}`P Angerer` diff --git a/docs/release-notes/3267.feature.md b/docs/release-notes/3267.feature.md deleted file mode 100644 index 6ea7fb20a2..0000000000 --- a/docs/release-notes/3267.feature.md +++ /dev/null @@ -1 +0,0 @@ -Use upstreamed {class}`~sklearn.decomposition.PCA` implementation for {class}`~scipy.sparse.csr_array` and {class}`~scipy.sparse.csr_matrix` (see {ref}`sklearn:changes_1_4`) {smaller}`P Angerer` diff --git a/docs/release-notes/3284.performance.md b/docs/release-notes/3284.performance.md deleted file mode 100644 index 31c95245ff..0000000000 --- a/docs/release-notes/3284.performance.md +++ /dev/null @@ -1 +0,0 @@ -* Speed up {func}`~scanpy.pp.regress_out` {smaller}`P Ashish, P Angerer & S Dicks` diff --git a/docs/release-notes/3296.feature.md b/docs/release-notes/3296.feature.md deleted file mode 100644 index 74b89945dd..0000000000 --- a/docs/release-notes/3296.feature.md +++ /dev/null @@ -1 +0,0 @@ -Add explicit support to {func}`scanpy.pp.pca` for `svd_solver='covariance_eigh'` {smaller}`P Angerer` diff --git a/docs/release-notes/3307.feature.md b/docs/release-notes/3307.feature.md deleted file mode 100644 index 1505befb40..0000000000 --- a/docs/release-notes/3307.feature.md +++ /dev/null @@ -1 +0,0 @@ -Add support {class}`dask.array.Array` to {func}`scanpy.pp.calculate_qc_metrics` {smaller}`I Gold` diff --git a/docs/release-notes/3324.feature.md b/docs/release-notes/3324.feature.md deleted file mode 100644 index 03d14dceb6..0000000000 --- a/docs/release-notes/3324.feature.md +++ /dev/null @@ -1 +0,0 @@ -Support `layer` parameter in {func}`scanpy.pl.highest_expr_genes` {smaller}`P Angerer` diff --git a/docs/release-notes/3335.feature.md b/docs/release-notes/3335.feature.md deleted file mode 100644 index 77a1723a8e..0000000000 --- a/docs/release-notes/3335.feature.md +++ /dev/null @@ -1 +0,0 @@ -Run numba functions single-threaded when called from inside of a ThreadPool {smaller}`P Angerer` diff --git a/docs/release-notes/3362.doc.md b/docs/release-notes/3362.doc.md deleted file mode 100644 index 1dae77b3e2..0000000000 --- a/docs/release-notes/3362.doc.md +++ /dev/null @@ -1 +0,0 @@ -Improve {func}`~scanpy.external.pp.harmony_integrate` docs {smaller}`D Kühl` diff --git a/docs/release-notes/3380.bugfix.md b/docs/release-notes/3380.bugfix.md deleted file mode 100644 index 633ce346af..0000000000 --- a/docs/release-notes/3380.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Raise {exc}`FutureWarning` when calling deprecated {mod}`scanpy.pp` functions {smaller}`P Angerer` diff --git a/docs/release-notes/3384.feature.md b/docs/release-notes/3384.feature.md deleted file mode 100644 index 755af9a8a3..0000000000 --- a/docs/release-notes/3384.feature.md +++ /dev/null @@ -1 +0,0 @@ -Switch {func}`~scanpy.logging.print_header` and {func}`~scanpy.logging.print_versions` to {mod}`session_info2` {smaller}`P Angerer` diff --git a/docs/release-notes/3393.bugfix.md b/docs/release-notes/3393.bugfix.md deleted file mode 100644 index 22af00f124..0000000000 --- a/docs/release-notes/3393.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Upper-bound {mod}`sklearn` `<1.6.0` due to {issue}`dask/dask-ml#1002` {smaller}`Ilan Gold` diff --git a/docs/release-notes/3407.misc.md b/docs/release-notes/3407.misc.md deleted file mode 100644 index 4670de6fd4..0000000000 --- a/docs/release-notes/3407.misc.md +++ /dev/null @@ -1,7 +0,0 @@ -| Deprecate … | in favor of … | -| --- | --- | -| {func}`scanpy.read_visium` | {func}`squidpy.read.visium` | -| {func}`scanpy.datasets.visium_sge` | {func}`squidpy.datasets.visium` | -| {func}`scanpy.pl.spatial` | {func}`squidpy.pl.spatial_scatter` | - -{smaller}`P Angerer` diff --git a/docs/release-notes/3410.feature.md b/docs/release-notes/3410.feature.md deleted file mode 100644 index d95ad201ba..0000000000 --- a/docs/release-notes/3410.feature.md +++ /dev/null @@ -1 +0,0 @@ -Add sampling probabilities/mask parameter `p` to {func}`~scanpy.pp.sample` {smaller}`P Angerer` diff --git a/docs/release-notes/943.feature.md b/docs/release-notes/943.feature.md deleted file mode 100644 index 4f5474d762..0000000000 --- a/docs/release-notes/943.feature.md +++ /dev/null @@ -1 +0,0 @@ -{func}`~scanpy.pp.sample` supports both upsampling and downsampling of observations and variables. {func}`~scanpy.pp.subsample` is now deprecated. {smaller}`G Eraslan` & {smaller}`P Angerer`