What's Changed
🚀 Features & Enhancements
- 💥 Add explicit figure export controls by @faridrashidi in #217
- ✨ Add physical figure sizing units by @faridrashidi in #218
- ✨ Improve dataset access and discovery by @faridrashidi in #219
- ✨ Add palette discovery and registration by @faridrashidi in #220
- ✨ Add safe skill lifecycle commands by @faridrashidi in #221
- ✨ Expose categorical comparison results by @faridrashidi in #222
- ✨ Add diagnostics and grouped cross-validation by @faridrashidi in #223
- ✨ Expose survival results and adjustments by @faridrashidi in #224
- ✨ Add prediction curves and results by @faridrashidi in #225
- ✨ Align paired comparisons by subject by @faridrashidi in #238
🐛 Bug Fixes
- 🐛 Relax runtime dependency caps by @faridrashidi in #122
- 👽️ Prevent dependency deprecation failures by @faridrashidi in #123
- 🦺 Validate malformed distribution plot data by @faridrashidi in #124
- 🦺 Validate CoxModel survival inputs by @faridrashidi in #205
- 🐛 Isolate LogisticModel cross-validation preprocessing by @faridrashidi in #206
- 🐛 Preserve survival when inference fails by @faridrashidi in #208
- 🐛 Align KDE comparisons with plots by @faridrashidi in #209
- 🐛 Make multipanel newline force rows by @faridrashidi in #210
- 🐛 Respect categorical statistical annotation orientation by @faridrashidi in #211
- 🐛 Correct categorical axis sample counts by @faridrashidi in #212
- 🐛 Isolate violin overlay keyword arguments by @faridrashidi in #213
- 🐛 Preserve distinct SVG label weights by @faridrashidi in #214
- 🐛 Restore Matplotlib style after contexts by @faridrashidi in #215
- 🐛 Fix pie and donut ordering by @faridrashidi in #216
- 🐛 Fix font caching and exports by @faridrashidi in #227
- 🐛 Match heatmap legends to cells by @faridrashidi in #239
- 🐛 Prevent volcano gene misclassification by @faridrashidi in #240
- 🐛 Align phyloplot leaves with heatmaps by @faridrashidi in #241
- 🐛 Preserve FDR for undefined comparisons by @faridrashidi in #242
- 🐛 Fix hidden and unfilled boxplots by @faridrashidi in #244
- 🐛 Prevent heatmap nonsingular deprecation by @faridrashidi in #245
- 🐛 Preserve fonts of Unicode labels by @faridrashidi in #247
📚 Documentation
- 📝 Explain statistical methods and uncertainty by @faridrashidi in #230
🧰 Maintenance & Under the Hood
- ✅ Add hash-based visual regression tests by @faridrashidi in #121
- 🔧 Import AGENTS.md into Claude by @faridrashidi in #125
- 💚 Remove unused SciPy inventory by @faridrashidi in #207
- 🧑💻 Separate documentation and development workflows by @faridrashidi in #228
- ⚡️ Bound bootstrap and clustering memory by @faridrashidi in #229
- 👷 Require validated release artifacts by @faridrashidi in #243
Full Changelog: v0.7.0...v0.8.0