Skip to content

Commit 9270874

Browse files
authored
Merge pull request #241 from igerber/bump/v2.7.6
Bump version to 2.7.6
2 parents 8f92bc9 + ad39928 commit 9270874

5 files changed

Lines changed: 33 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.7.6] - 2026-03-28
11+
12+
### Added
13+
- **AI practitioner guardrails** based on Baker et al. (2025) "Difference-in-Differences Designs: A Practitioner's Guide"
14+
- `practitioner.py` module with 8-step workflow enforcement for AI agents
15+
- Estimator-specific handlers ensuring correct diagnostic ordering (pre-trends before estimation, Bacon decomposition before estimator selection)
16+
- `docs/llms.txt`, `docs/llms-practitioner.txt`, `docs/llms-full.txt` for AI agent discoverability
17+
- Evaluation rubric (`docs/practitioner-guide-evaluation.md`) with correctness-aware scoring
18+
- **Survey Phase 6: Advanced features**
19+
- Survey-aware bootstrap for all 8 bootstrap-using estimators (PSU-level multiplier for CS/Imputation/TwoStage/Continuous/Efficient; Rao-Wu rescaled for SA/SyntheticDiD/TROP)
20+
- Replicate weight variance estimation (BRR, Fay's BRR, JK1, JKn) for OLS-based and IF-based estimators
21+
- Per-coefficient DEFF diagnostics comparing survey vs SRS variance
22+
- Subpopulation analysis via `SurveyDesign.subpopulation()` preserving full design structure
23+
- CS analytical expansion: strata/PSU/FPC for aggregated SEs via `compute_survey_if_variance()`
24+
- TROP cross-classified pseudo-strata for survey-aware bootstrap
25+
26+
### Changed
27+
- Estimator-specific guidance for parallel trends tests and placebo checks (no shared templates)
28+
- SDiD and TROP split into separate decision tree branches in practitioner workflow
29+
30+
### Fixed
31+
- Fix replicate weight df calculation using pivoted QR rank with R-compatible tolerance
32+
- Fix replicate IF variance score scaling for EfficientDiD, TripleDiff, ContinuousDiD
33+
- Fix panel-to-unit replicate weight propagation and normalization
34+
- Fix CS zero-mass return type and vectorized guard for survey paths
35+
- Fix `solve_logit` effective-sample validation for zero-weight designs
36+
- Fix subpopulation mask validation and EfficientDiD bootstrap guard
37+
1038
## [2.7.5] - 2026-03-23
1139

1240
### Added
@@ -978,6 +1006,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9781006
- `to_dict()` and `to_dataframe()` export methods
9791007
- `is_significant` and `significance_stars` properties
9801008

1009+
[2.7.6]: https://github.com/igerber/diff-diff/compare/v2.7.5...v2.7.6
9811010
[2.7.5]: https://github.com/igerber/diff-diff/compare/v2.7.4...v2.7.5
9821011
[2.7.4]: https://github.com/igerber/diff-diff/compare/v2.7.3...v2.7.4
9831012
[2.7.3]: https://github.com/igerber/diff-diff/compare/v2.7.2...v2.7.3

diff_diff/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@
194194
Bacon = BaconDecomposition
195195
EDiD = EfficientDiD
196196

197-
__version__ = "2.7.5"
197+
__version__ = "2.7.6"
198198
__all__ = [
199199
# Estimators
200200
"DifferenceInDifferences",

docs/llms-full.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
> A Python library for Difference-in-Differences causal inference analysis. Provides sklearn-like estimators with statsmodels-style output for econometric analysis.
44

5-
- Version: 2.7.5
5+
- Version: 2.7.6
66
- Repository: https://github.com/igerber/diff-diff
77
- License: MIT
88
- Dependencies: numpy, pandas, scipy (no statsmodels dependency)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "maturin"
44

55
[project]
66
name = "diff-diff"
7-
version = "2.7.5"
7+
version = "2.7.6"
88
description = "Difference-in-Differences causal inference with sklearn-like API. Callaway-Sant'Anna, Synthetic DiD, Honest DiD, event studies, parallel trends."
99
readme = "README.md"
1010
license = "MIT"

rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "diff_diff_rust"
3-
version = "2.7.5"
3+
version = "2.7.6"
44
edition = "2021"
55
description = "Rust backend for diff-diff DiD library"
66
license = "MIT"

0 commit comments

Comments
 (0)