0.8.0
What's Changed
Major Changes 馃洜
- Add
PiecewiseITSexperiment for known interruption dates by @drbenvincent in #614
New Features 馃帀
- Add Comparative Interrupted Time Series documentation with geo-experimentation example by @Copilot in #595
- Add Donut Regression Discontinuity functionality by @drbenvincent in #610
- Support datetime treatment_time in SyntheticControl plots by @drbenvincent in #731
- Add market correlation analysis for Synthetic Control (G8) by @drbenvincent in #760
- Add automated donor pool correlation warning in SyntheticControl by @drbenvincent in #762
- Add detailed narrative report to effect_summary() by @drbenvincent in #764
Bugfixes 馃悰
- Fix Sphinx docs build by excluding .codespell test fixtures by @drbenvincent in #699
- Add default PyMC models when model=None for all experiment classes by @ErikRingen in #707
- Enforce BaseExperiment abstract methods by @drbenvincent in #694
- Replace ZeroSumNormal with Normal for _annual_seasonal by @maresb in #679
- fix: welcome workflow fails on fork PRs due to GITHUB_TOKEN restrictions by @drbenvincent in #756
- Add pre-commit nbformat validation for notebooks by @drbenvincent in #772
- Fix equation rendering issues in a few notebooks by @drbenvincent in #768
- Fix custom exceptions to preserve messages by @drbenvincent in #695
Documentation 馃摉
- Docs: Rename How-to section to Examples and add method groupings by @drbenvincent in #678
- Update to next version of docs theme by @OriolAbril in #593
- Delete deprecated RtD workflow by @maresb in #690
- Substantial improvements to the multi-cell geolift docs by @drbenvincent in #692
- Re-execute ITS comparative notebook for clearer date axis ticks by @drbenvincent in #714
- Clarify staggered DiD estimator identity and assumptions by @drbenvincent in #730
- docs: direct users with questions to GitHub Discussions (#249) by @louloret in #734
- Add automated notebook testing with Papermill by @drbenvincent in #602
- Fix plot auto-display in Jupyter notebooks after style context change by @Copilot in #616
Agent-related 馃
- Add .scratch guidance and ignore by @drbenvincent in #659
- Update AGENTS backwards compatibility guidance by @drbenvincent in #686
- Align skills to .github and add workflow shims by @drbenvincent in #675
AGENTS.md: add sandbox/permissions guidance by @drbenvincent in #701AGENTS.md: Require CausalPy conda env for Python tooling by @drbenvincent in #700- Remove custom
implementationskill by @drbenvincent in #729 - Add Agent-related category to auto-generated release notes by @drbenvincent in #715
- Add pr-to-green skill and CI/conflict subagents by @drbenvincent in #737
- Add type hint style guidance to AGENTS.md by @drbenvincent in #739
- Update issue-to-pr skill by @drbenvincent in #732
- Align issue-to-pr draft path with AGENTS guidance by @drbenvincent in #769
- Align issue-to-pr draft path with AGENTS guidance by @drbenvincent in #771
Maintenance 馃敡
- Make dataset discovery command future-proof by @drbenvincent in #639
- update notebook full with standardised nhefs by @NathanielF in #655
- Support Python 3.14 by @juanitorduz in #658
- Refactor Experiment Classes: Extract Methods from
__init__by @drbenvincent in #641 - Add welcome workflow for first-time contributors by @drbenvincent in #636
- Add zizmor GHA security linter and Dependabot by @maresb in #687
- Fix invalid escape sequence warnings in variable_selection_priors.py by @maresb in #710
- Move interrogate badge to CI-managed orphan branch by @maresb in #711
- Modernize conda/mamba/micromamba instructions by @maresb in #709
- Add estimands knowledgebase page for core methods by @ErikRingen in #683
- Triage TODOs and placeholder logic in core code paths by @drbenvincent in #728
- Sync environment.yml with pyproject.toml via pyproject2conda pre-commit hook by @drbenvincent in #713
New Contributors
- @maresb made their first contribution in #687
- @ErikRingen made their first contribution in #707
- @louloret made their first contribution in #734
- @dependabot[bot] made their first contribution in #774
Full Changelog: 0.7.0...0.8.0