From 2cb3ab69f41e68262c4c3e8379697811e28bc809 Mon Sep 17 00:00:00 2001 From: igerber Date: Tue, 17 Feb 2026 06:58:40 -0500 Subject: [PATCH] Bump version to 2.4.1 Update version numbers in __init__.py, pyproject.toml, and Cargo.toml. Add CHANGELOG entry for v2.4.1 covering module splits, safe_inference migration, tutorial additions, and bug fixes. Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 16 ++++++++++++++++ diff_diff/__init__.py | 2 +- pyproject.toml | 2 +- rust/Cargo.toml | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c38c03ff..f111464f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.4.1] - 2026-02-17 + +### Added +- Tutorial notebook for Two-Stage DiD (Gardner 2022) (`docs/tutorials/12_two_stage_did.ipynb`) + +### Changed +- Module splits for large files: ImputationDiD, TwoStageDiD, and TROP each split into separate results and bootstrap submodules +- Migrated remaining inline inference computations to `safe_inference()` utility +- Replaced `np.dot()` calls with `@` operator across codebase +- Updated TODO.md and ROADMAP.md for accuracy post-v2.4.0 + +### Fixed +- Matplotlib import guards added to tutorials 11 and 12 +- Various bug fixes from code quality cleanup (diagnostics, estimators, linalg, staggered, sun_abraham, synthetic_did, triple_diff) + ## [2.4.0] - 2026-02-16 ### Added @@ -739,6 +754,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.4.1]: https://github.com/igerber/diff-diff/compare/v2.4.0...v2.4.1 [2.4.0]: https://github.com/igerber/diff-diff/compare/v2.3.2...v2.4.0 [2.3.2]: https://github.com/igerber/diff-diff/compare/v2.3.1...v2.3.2 [2.3.1]: https://github.com/igerber/diff-diff/compare/v2.3.0...v2.3.1 diff --git a/diff_diff/__init__.py b/diff_diff/__init__.py index 05e3f517..d40e675c 100644 --- a/diff_diff/__init__.py +++ b/diff_diff/__init__.py @@ -148,7 +148,7 @@ load_mpdta, ) -__version__ = "2.4.0" +__version__ = "2.4.1" __all__ = [ # Estimators "DifferenceInDifferences", diff --git a/pyproject.toml b/pyproject.toml index 6e411d64..26794937 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "diff-diff" -version = "2.4.0" +version = "2.4.1" description = "A library for Difference-in-Differences causal inference analysis" readme = "README.md" license = "MIT" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 3b7f6178..00e75504 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "diff_diff_rust" -version = "2.4.0" +version = "2.4.1" edition = "2021" description = "Rust backend for diff-diff DiD library" license = "MIT"