From 6e2de9a58977532f89a2c6d7b72d1961c615e2ed Mon Sep 17 00:00:00 2001 From: igerber Date: Mon, 6 Apr 2026 17:50:26 -0400 Subject: [PATCH] Bump version to 2.9.1 Co-Authored-By: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 22 ++++++++++++++++++++++ diff_diff/__init__.py | 2 +- docs/llms-full.txt | 2 +- pyproject.toml | 2 +- rust/Cargo.toml | 2 +- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50e8f99c..a959ba01 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.9.1] - 2026-04-06 + +### Added +- **Survey theory document** (`docs/methodology/survey-theory.md`) — formal justification for design-based variance estimation with modern DiD influence functions, citing Binder (1983), Rao & Wu (1988), Shao (1996) +- **Research-grade survey DGP** — 8 new parameters on `generate_survey_did_data()`: `icc`, `weight_cv`, `informative_sampling`, `heterogeneous_te_by_strata`, `te_covariate_interaction`, `covariate_effects`, `strata_sizes`, `return_true_population_att`. All backward-compatible. +- **R validation expansion** — 4 additional estimators cross-validated against R's `survey::svyglm()`: ImputationDiD, StackedDiD, SunAbraham, TripleDifference. Survey R validation coverage now 8 of 16 estimators. +- **LinkedIn carousel** for Wooldridge ETWFE estimator announcement + +### Changed +- Survey tutorial rewritten: leads with "Why Survey Design Matters" section showing flat-weight vs design-based comparison with known ground truth, coverage simulation, and false pre-trend detection rates +- Documentation refresh: ROADMAP.md, llms.txt, llms-full.txt, llms-practitioner.txt, choosing_estimator.rst updated for v2.9.0 — added WooldridgeDiD and StaggeredTripleDifference, DDD flowchart branch, standardized estimator counts, qualified survey claims +- Survey roadmap updated: Phase 10a-10d marked shipped, conditional PT noted for 10e + +### Fixed +- Fix stale "EfficientDiD covariates + survey not supported" note in choosing_estimator.rst +- Fix WooldridgeDiD described as "ASF-based" for OLS path (OLS uses direct coefficients; ASF only for logit/Poisson) +- Fix dead StaggeredTripleDifference API link in llms.txt +- Fix survey example attribute: `.design_effect` not `.deff` in llms-full.txt +- Fix `subpopulation()` example to show tuple unpacking in llms-full.txt +- Remove 8 resolved items from TODO.md + ## [2.9.0] - 2026-04-04 ### Added @@ -1152,6 +1173,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `to_dict()` and `to_dataframe()` export methods - `is_significant` and `significance_stars` properties +[2.9.1]: https://github.com/igerber/diff-diff/compare/v2.9.0...v2.9.1 [2.9.0]: https://github.com/igerber/diff-diff/compare/v2.8.4...v2.9.0 [2.8.4]: https://github.com/igerber/diff-diff/compare/v2.8.3...v2.8.4 [2.8.3]: https://github.com/igerber/diff-diff/compare/v2.8.2...v2.8.3 diff --git a/diff_diff/__init__.py b/diff_diff/__init__.py index 99a7e27f..f20be546 100644 --- a/diff_diff/__init__.py +++ b/diff_diff/__init__.py @@ -214,7 +214,7 @@ EDiD = EfficientDiD ETWFE = WooldridgeDiD -__version__ = "2.9.0" +__version__ = "2.9.1" __all__ = [ # Estimators "DifferenceInDifferences", diff --git a/docs/llms-full.txt b/docs/llms-full.txt index 1191f25b..446f3c67 100644 --- a/docs/llms-full.txt +++ b/docs/llms-full.txt @@ -2,7 +2,7 @@ > A Python library for Difference-in-Differences causal inference analysis. Provides sklearn-like estimators with statsmodels-style output for econometric analysis. -- Version: 2.9.0 +- Version: 2.9.1 - Repository: https://github.com/igerber/diff-diff - License: MIT - Dependencies: numpy, pandas, scipy (no statsmodels dependency) diff --git a/pyproject.toml b/pyproject.toml index 18a0f74e..b52a8ff6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "diff-diff" -version = "2.9.0" +version = "2.9.1" description = "Difference-in-Differences causal inference with sklearn-like API. Callaway-Sant'Anna, Synthetic DiD, Honest DiD, event studies, parallel trends." readme = "README.md" license = "MIT" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index e9269d79..c81fb180 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "diff_diff_rust" -version = "2.9.0" +version = "2.9.1" edition = "2021" description = "Rust backend for diff-diff DiD library" license = "MIT"