Release v3.5.2: version bump + CHANGELOG reconciliation#536
Conversation
Bump version 3.5.1 -> 3.5.2 across __init__.py, pyproject.toml, rust/Cargo.toml, llms-full.txt, and CITATION.cff (date-released 2026-06-08). Reconcile the CHANGELOG: the Firpo & Possebom (2018) confidence-sets -by-test-inversion feature (PR #527) was filed under [3.5.1] but merged AFTER the v3.5.1 tag was cut, so the tagged v3.5.1 did not actually contain it. Move that entry into the new [3.5.2] section alongside everything else that landed post-tag (CBWSDID balancing #534, SyntheticControl conformal inference #530, the placebo_effects -> variance_effects rename/deprecation #532, and the ImputationDiD validation + SE fixes #533). The Firpo PR-A paper review (#524, docs-only) stays in [3.5.1] since it was in that tag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. Executive Summary
MethodologyNo P0/P1 findings. The Code QualityNo findings. Only PerformanceNo findings. No runtime code paths changed. Maintainability
Tech DebtNo blocking findings. The only noted issue is the P3 stale release-maintenance comment above. SecurityNo findings. No secrets, credentials, network logic, or input-handling code changed. Documentation/TestsNo blocking findings. Version metadata is consistent across the changed release surfaces: Validation note: static version parsing passed. Import validation could not run because this review environment lacks |
Address CI AI-review P3 (consistency note). The placebo_effects -> variance_effects rename/deprecation (PR #532) ships in THIS release, which is 3.5.2, not the guessed next-minor 3.6.0. Update the `.. deprecated::` Sphinx directive accordingly and drop the now-resolved "assumed next-minor (current is 3.5.1); confirm/resolve at bump-version time" placeholder comment. The v4.0.0 removal target (stated in the warning message) is unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good. No unmitigated P0/P1 findings. Executive Summary
MethodologyNo findings. Affected method prose: Code QualityNo findings. Only touched package code is the version literal at PerformanceNo findings. No runtime performance paths changed. MaintainabilityNo findings. Re-review note: the previous stale “current is 3.5.1” comment was removed, and the deprecation directive now matches the release where the alias is introduced: Tech DebtNo findings. No new deferred work is introduced. SecurityNo findings. No secrets, credentials, network logic, or input-handling changes. Documentation/TestsNo findings. Version metadata is consistent across changed release surfaces: |
Summary
3.5.1→3.5.2acrossdiff_diff/__init__.py,pyproject.toml,rust/Cargo.toml,diff_diff/guides/llms-full.txt, andCITATION.cff(date-released: 2026-06-08).[3.5.1]but merged after thev3.5.1tag was cut, so the taggedv3.5.1did not actually contain it. That entry now lives in the new## [3.5.2]section.[3.5.2]collects everything that landed post-tag: CBWSDID covariate balancing (Add CBWSDID covariate balancing to StackedDiD (Ustyuzhanin 2026) #534),SyntheticControlconformal inference (SyntheticControl: conformal inference (Chernozhukov-Wüthrich-Zhu 2021) #530), the Firpo-Possebom confidence sets (SyntheticControl: confidence sets by test inversion (Firpo-Possebom 2018, PR-B) #527), theplacebo_effects→variance_effectsrename + deprecation (refactor: rename SyntheticDiDResults.placebo_effects → variance_effects (deprecated alias) #532), and the ImputationDiD methodology validation + SE corrections (ImputationDiD methodology validation (PR-B): exact FE variance + unit-clustered Eq.8 + R parity #533).[3.5.1]— it was genuinely in that tag. A fresh empty[Unreleased]heading and the[3.5.2]comparison link were added.Methodology references (required if estimator / math changes)
diff_diff/change is the__version__string literal; all other changes are release metadata + CHANGELOG prose. The features being re-attributed (CBWSDID, conformal, Firpo-Possebom, ImputationDiD) were validated in their own prior PRs.Validation
3.5.2;diff_diff/__init__.pyparses; CHANGELOG diff is a clean move of the misfiled SyntheticControl: confidence sets by test inversion (Firpo-Possebom 2018, PR-B) #527 bullet with no content lost.Security / privacy
🤖 Generated with Claude Code