What's Changed
- Add comprehensive MCP startup timeout troubleshooting guide by @HendricksJudy in #593
- Add Codex OAuth support to ov.Agent by @HendricksJudy in #596
- Refactor smart agent runtime into modular ovagent services by @HendricksJudy in #598
- Codex/ovagent runtime upgrade 20260325 by @HendricksJudy in #600
- Refactor OVAgent runtime/backend decomposition and rerun E2E validation by @HendricksJudy in #601
- [codex] Harden OVAgent exception handling and context budget registry by @HendricksJudy in #602
- [codex] OmicVerse agent hardening, Jarvis unification, and integration coverage by @HendricksJudy in #603
- Refactor ovagent facade and complete Jarvis runtime migrations by @HendricksJudy in #604
- chore: update omicverse guide submodule by @Starlitnightly in #606
- [codex] Stabilize agent namespace and MCP startup boundaries by @HendricksJudy in #605
- Pin Pygments for docs deploy stability by @HendricksJudy in #607
- feat: add cell-cell communication plotting APIs by @mengxu98 in #608
- Add Marsilea-based heatmap plotting APIs by @mengxu98 in #609
- fix: improve notebook rendering and dense communication visualizations by @mengxu98 in #610
- fix: convert high-density sparse to dense before CPU PCA by @Starlitnightly in #614
- feat: update harmony to upstream harmonypy v0.2.0 (torch backend) by @Starlitnightly in #616
- fix: CellCharter AutoK, Banksy Jupyter compat, pickle loading by @Starlitnightly in #618
- feat: auto-detect mitochondrial gene prefix in pp.qc by @Starlitnightly in #619
- fix: align cellpose HD output with SpaceRanger v4 format by @Starlitnightly in #620
- Improves the trajectory-analysis workflow by @mengxu98 in #621
- Fix/visium hd spacerangerv4 compat by @Starlitnightly in #622
- fix: starfysh tutorial compatibility with modern dependencies by @Starlitnightly in #624
- feat: Rust-powered out-of-memory backend via anndataoom by @Starlitnightly in #625
- feat: add ov.single.Monocle — pure-Python Monocle 2 reimplementation by @Starlitnightly in #626
- perf(monocle2_py): fast DDRTree mode + Delaunay MST (≈3× speed-up) by @Starlitnightly in #627
- fix(pl): restore ov.pl.spatial background-image scaling by @Starlitnightly in #628
- test(monocle2_py): skip flaky BEAM test when branch-point has <2 descendants by @Starlitnightly in #630
- feat(io): add Xenium In Situ reader + tutorial by @Starlitnightly in #629
- feat(registry+docs): Monocle + create_custom_colormap registry polish by @Starlitnightly in #631
- fix(oom): spatial viz + drop snapatac2 dep + clear error for unsorted CSR by @Starlitnightly in #632
- feat(pp.qc): add pydoubletfinder backend for doublet detection by @Starlitnightly in #633
- fix(pp.qc): address PR #633 review — qc_gpu dispatch, OOM columns, validation, StopIteration hardening by @Starlitnightly in #635
- feat(pp.qc): add pyscdblfinder backend for doublet detection by @Starlitnightly in #634
- feat(metabol): add ov.metabol — metabolomics peak-table analysis module by @Starlitnightly in #636
- feat(alignment): 16S amplicon pipeline (cutadapt + vsearch UNOISE3 + SINTAX) by @Starlitnightly in #637
- feat(utils.cluster): replace rpy2 mclust_R with pure-Python pymclustR by @Starlitnightly in #638
- feat(alignment): phylogeny (MAFFT + FastTree) + ov.micro.attach_tree + t_16s_phylogeny tutorial by @Starlitnightly in #639
- feat(metabol): v0.3+v0.4 — batch, multi-factor, biomarker, correlation, multi-omics by @Starlitnightly in #640
- feat(alignment): DADA2 backend + phylogeny + fix skbio-skip tests (follow-up to #637) by @Starlitnightly in #641
- docs(spatial): wire the 5 per-method cluster notebooks into RTD toctree by @Starlitnightly in #642
- fix(docs): Sphinx stub for failed lazy-load imports by @Starlitnightly in #644
- fix(tests): lazy ov.micro, add ete3/skbio test extras, pre-CLI validation by @Starlitnightly in #645
- Fix/sphinx pin 7x by @Starlitnightly in #646
- fix(docs): widen lazy getattr + pin scipy<1.16 by @Starlitnightly in #647
- chore: bump omicverse_guide pointer to tutorials main tip by @Starlitnightly in #648
- fix(pl,single): int-keyed palette lookup + Monocle trajectory overlay API by @Starlitnightly in #649
- feat(micro.DA): ANCOM-BC on skbio 0.7.2+ with pseudocount + DA-comparison tutorial by @Starlitnightly in #650
New Contributors
Full Changelog: v2.0.0...v2.1.2