Skip to content

Commit 7e0f873

Browse files
authored
Merge pull request #200 from igerber/release/v2.7.0
Release v2.7.0
2 parents 154639a + ec81f57 commit 7e0f873

5 files changed

Lines changed: 47 additions & 3 deletions

File tree

.claude/commands/submit-pr.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,26 @@ git remote get-url origin
310310
# Extract owner from URL
311311
```
312312

313+
### 10b. Ensure PR ref exists
314+
315+
After PR creation, GitHub may not immediately create `refs/pull/<number>/head` (especially
316+
when the PR is created via API). Push a no-op to the branch to force ref creation:
317+
318+
```bash
319+
git push <push-remote> <branch-name>
320+
```
321+
322+
Then verify:
323+
```bash
324+
git ls-remote <push-remote> refs/pull/<number>/head
325+
```
326+
327+
If still missing, push an empty commit:
328+
```bash
329+
git commit --allow-empty -m "Trigger PR ref creation"
330+
git push <push-remote> <branch-name>
331+
```
332+
313333
### 11. Report Results
314334

315335
```

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [2.7.0] - 2026-03-15
11+
12+
### Added
13+
- **EfficientDiD estimator** (`EfficientDiD`) implementing Chen, Sant'Anna & Xie (2025) efficient DiD
14+
- CallawaySantAnna event study SEs (WIF-based) and simultaneous confidence bands (sup-t)
15+
- R comparison tests for event-study SEs and cband critical values
16+
- Non-finite outcome validation in `EfficientDiD.fit()`
17+
- CallawaySantAnna speed benchmarks with baseline results
18+
- Estimator alias documentation in README, quickstart, and API docs
19+
1020
### Changed
1121
- **BREAKING: TROP nuclear norm solver step size fix** — The proximal gradient
1222
threshold for the L matrix (both `method="global"` and `method="twostep"` with
@@ -17,6 +27,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1727
agreement with exact convex optimization solutions. Users with finite
1828
`lambda_nn` will observe different ATT estimates. Added FISTA/Nesterov
1929
acceleration to the twostep inner solver for faster L convergence.
30+
- Add (1-W) weight masking to TROP global method, rename joint→global
31+
- Optimize CallawaySantAnna covariate path with Cholesky and pscore caching
32+
- Update Codex AI review model from gpt-5.2-codex to gpt-5.4
33+
34+
### Fixed
35+
- Fix CallawaySantAnna event study SEs (missing WIF) and simultaneous confidence bands
36+
- Fix analytical and bootstrap WIF pg scaling to use global N
37+
- Fix TROP nuclear norm solver threshold scaling for non-uniform weights
38+
- Fix stale coefficients in TROP global low-rank solver and NaN bootstrap poisoning
39+
- Fix NaN-cell preservation in CallawaySantAnna balance_e aggregation
40+
- Fix not-yet-treated cache keys and dropped-cell warning
41+
- Fix rank-deficiency handling with Cholesky rank checks and reduced-column solve
42+
- Fix Rust convergence criterion, n_valid_treated consistency, and NaN bootstrap SE
2043

2144
## [2.6.1] - 2026-03-08
2245

@@ -865,6 +888,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
865888
- `to_dict()` and `to_dataframe()` export methods
866889
- `is_significant` and `significance_stars` properties
867890

891+
[2.7.0]: https://github.com/igerber/diff-diff/compare/v2.6.1...v2.7.0
868892
[2.6.1]: https://github.com/igerber/diff-diff/compare/v2.6.0...v2.6.1
869893
[2.6.0]: https://github.com/igerber/diff-diff/compare/v2.5.0...v2.6.0
870894
[2.5.0]: https://github.com/igerber/diff-diff/compare/v2.4.3...v2.5.0

diff_diff/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@
179179
Bacon = BaconDecomposition
180180
EDiD = EfficientDiD
181181

182-
__version__ = "2.6.1"
182+
__version__ = "2.7.0"
183183
__all__ = [
184184
# Estimators
185185
"DifferenceInDifferences",

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.6.1"
7+
version = "2.7.0"
88
description = "A library for Difference-in-Differences causal inference analysis"
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.6.1"
3+
version = "2.7.0"
44
edition = "2021"
55
description = "Rust backend for diff-diff DiD library"
66
license = "MIT"

0 commit comments

Comments
 (0)