@@ -7,6 +7,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 2.8.0] - 2026-03-31
11+
12+ ### Added
13+ - ** Staggered Triple Difference estimator** (Ortiz-Villavicencio & Sant'Anna 2025)
14+ - ` StaggeredTripleDifference ` class with group-time ATT(g,t) for DDD designs with staggered adoption
15+ - Event study aggregation, pre-treatment placebo effects, multiplier bootstrap inference
16+ - R benchmark validation against ` triplediff ` package
17+ - DGP function ` generate_staggered_ddd_data() ` for simulation and testing
18+ - ** Survey Phase 7a: CS IPW/DR + covariates + survey**
19+ - DRDID panel nuisance-estimation IF corrections (PS + OR) under survey weights
20+ - Survey-weighted propensity score estimation and outcome regression
21+ - IFs account for nuisance parameter estimation uncertainty (Sant'Anna & Zhao 2020, Theorem 3.1)
22+ - ** Survey Phase 7b: Repeated cross-sections**
23+ - ` CallawaySantAnna(panel=False) ` for repeated cross-section surveys (BRFSS, ACS, CPS)
24+ - Cross-sectional DRDID: ` reg ` matches ` DRDID::reg_did_rc ` , ` dr ` matches ` DRDID::drdid_rc ` , ` ipw ` matches ` DRDID::std_ipw_did_rc `
25+ - Survey weights, covariates, and all estimation methods supported
26+ - ** Survey Phase 7d: HonestDiD + survey variance**
27+ - Survey df and full event-study VCV from IF vectors propagated to sensitivity analysis
28+ - t-distribution critical values with survey degrees of freedom
29+ - Bootstrap/replicate designs fall back to diagonal VCV with warning
30+ - ** Plotly visualization styling** : thread ` marker ` , ` markersize ` , ` linewidth ` , ` capsize ` , ` ci_linewidth ` kwargs through plotly backends (previously silently ignored)
31+ - AI agent discoverability for practitioner guide
32+
33+ ### Changed
34+ - HonestDiD now raises ` ValueError ` on non-consecutive event-time grid (was warning)
35+ - HonestDiD validates full grid around reference period
36+ - Panel IPW/DR PS correction scaling matches R's ` H/n ` , ` asy_rep/n ` , ` colMeans ` convention
37+ - RC IF normalization follows R's ` psi ` convention with explicit ` phi ` conversion
38+
39+ ### Fixed
40+ - Fix HonestDiD reference-aware pre/post split for varying-base event studies
41+ - Fix HonestDiD ` _estimate_max_pre_violation ` to use reference-aware pre_periods
42+ - Fix panel M2 gradient scaling for IPW/DR nuisance IF corrections
43+ - Fix VCV index alignment for repeated cross-section aggregation
44+ - Fix replicate-weight df propagation: return per-statistic df instead of mutating shared state
45+ - Fix WIF population consistency: zero df ` first_treat ` for ineligible units
46+ - Fix bootstrap RCS cohort-mass weighting and stale event-study VCV reset
47+
1048## [ 2.7.6] - 2026-03-28
1149
1250### Added
@@ -1006,6 +1044,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10061044 - ` to_dict() ` and ` to_dataframe() ` export methods
10071045 - ` is_significant ` and ` significance_stars ` properties
10081046
1047+ [ 2.8.0 ] : https://github.com/igerber/diff-diff/compare/v2.7.6...v2.8.0
10091048[ 2.7.6 ] : https://github.com/igerber/diff-diff/compare/v2.7.5...v2.7.6
10101049[ 2.7.5 ] : https://github.com/igerber/diff-diff/compare/v2.7.4...v2.7.5
10111050[ 2.7.4 ] : https://github.com/igerber/diff-diff/compare/v2.7.3...v2.7.4
0 commit comments