Skip to content

Releases: igerber/diff-diff

v3.3.3

15 May 19:15
f2dbce5

Choose a tag to compare

What's Changed

  • docs: utility coverage gaps (RTD audit Batch C) by @igerber in #403
  • Bump AI PR review to gpt-5.5 + add Single-Pass Completeness Mandate by @igerber in #404
  • HAD Phase 5 wave 1: agent-facing surfaces (_handle_had + llms-full.txt) by @igerber in #402
  • dCDH by_path Wave 3 #8+#9: non-binary treatment + paths_of_interest by @igerber in #401
  • docs: fix 86 Sphinx ERRORs (PR 1 of 2-PR cleanup) by @igerber in #405
  • Add inference-field aliases on staggered result classes by @igerber in #406
  • docs: add :no-index: to page-level autoclass directives (PR 2 of 2) by @igerber in #407
  • Compose by_path / paths_of_interest with survey_design (Wave 4 #10) by @igerber in #408
  • Tutorial 21: HAD pre-test workflow (composite QUG + Stute + Yatchew) by @igerber in #409
  • docs: custom autosummary template + residual triage (PR 2.5) by @igerber in #410
  • Replace CI Codex agent with single-shot Responses API + tighten verdict bar by @igerber in #415
  • docs: enforce Sphinx -W in CI (Sphinx cleanup PR 3) by @igerber in #413
  • dCDH by_path Wave 5 #11: + heterogeneity (predict_het per-by_level) by @igerber in #412
  • Revert AI review CI to Codex + gpt-5.4 (reverts #404, #415) by @igerber in #416
  • Create new comment on synchronize/reopened (not update canonical) by @igerber in #418
  • Use refs/pull/N/head for AI review checkout (unblock /ai-review on merged PRs) by @igerber in #417
  • Broaden dCDH by_path R-parser caveat to cover negative integers (re-audit follow-up to #401) by @igerber in #419
  • Address residual P2s+P3 from re-audit of PR #402 by @igerber in #420
  • Add Conley (1999) spatial HAC SE on DiD/TWFE/MultiPeriodDiD (Phase 1 of spillover-conley) by @igerber in #411
  • Address residual P1+P2s from re-audit of PR #412 by @igerber in #422
  • Address residual P3 docs drift from re-audit of PR #408 by @igerber in #424
  • Add Codex CLI backend to /ai-review-local by @igerber in #421
  • Add tutorial notebook prose extraction to AI review prompt by @igerber in #423
  • Pin T21 deterministic p-values quoted in tutorial (re-audit of PR #409) by @igerber in #425
  • Skip fork PRs in AI review workflow (closes CodeQL #11, #12) by @igerber in #427
  • Add TripleDifferenceResults exemplar + lock alias asdict-exclusion (re-audit of #406) by @igerber in #428
  • Address #412 holistic re-audit residuals (R2) by @igerber in #430
  • Phase 2: Conley space-time HAC + panel-estimator wire-up (MPD/TWFE) by @igerber in #426
  • Fix #402 holistic audit residuals: HAD↔ContinuousDiD Step-4 + fit() Union annotation + REGISTRY contracts by @igerber in #431
  • Fix #401 holistic audit residuals: two stale docstrings around dCDH by_path / paths_of_interest by @igerber in #434
  • Fix #408 holistic audit residuals: sibling-surface replicate-weight test gaps + stale by_path gate list by @igerber in #435
  • Phase 4.5 C: stratified survey-design support for HAD Stute family by @igerber in #432
  • Conley Wave A: DiD/cluster combo, sparse k-d-tree, callable metric by @igerber in #433
  • Fix #406 holistic audit residuals: alias-doc completeness + test helper bugs by @igerber in #437
  • docs: shorten 3 top-nav labels + bump pydata-sphinx-theme floor by @igerber in #438
  • Fix #409 holistic audit residuals: T20+T21 notebook cross-check + TODO status by @igerber in #439
  • fix-audit-410-r2: restore rendered-doc navigation regressed by #410 by @igerber in #441
  • Dismiss CodeQL #14 (untrusted-checkout-toctou) with guard test by @igerber in #436
  • fix-audit-407-r2: restore inventory + cross-refs for 19 :no-index: orphan classes by @igerber in #442
  • fix-audit-405-r2: mirror PR #405 CV notation + bacon Parameters fix into sibling surfaces by @igerber in #444
  • Add Tutorial 22: Survey-Weighted HAD walkthrough by @igerber in #440
  • docs: add retrospective paper reviews for TROP and Wooldridge ETWFE by @igerber in #443
  • Release 3.3.3: Conley spatial-HAC SE, HAD stratified-survey Stute bootstrap, dCDH by_path × survey_design, Tutorials 21+22 by @igerber in #445

Full Changelog: v3.3.2...v3.3.3

v3.3.2

27 Apr 00:46
33afb6a

Choose a tag to compare

What's Changed

  • chore: add community standards files; remove stray BRIEFING.md by @igerber in #388
  • Lift by_path + controls gate (DID^X residualization) by @igerber in #378
  • chore(ci): declare workflow-level permissions on publish.yml by @igerber in #390
  • docs: HAD ecosystem completion (RTD audit Batch A) by @igerber in #389
  • README: swap monthly downloads badge for cumulative; drop docs-passing badge by @igerber in #395
  • chore(rust): bump rand 0.8 -> 0.10, rand_xoshiro 0.6 -> 0.8 by @igerber in #391
  • HAD Phase 4: trends_lin (Eq 17/18) + R-package end-to-end parity by @igerber in #392
  • Fix latent doc-snippet bugs from PR #389 (HAD ecosystem) by @igerber in #396
  • Add LinkedIn carousel for HAD estimator announcement by @igerber in #398
  • dCDH by_path: lift trends_linear + trends_nonparam gates (Wave 3 #6+#7) by @igerber in #393
  • Add Tutorial 20: HAD for National Brand Campaign with Regional Spend Intensity by @igerber in #394
  • Add docs-tests.yml; remove test_doc_snippets.py from rust-test.yml by @igerber in #399
  • Add yatchew_hr_test(null='mean_independence') mode by @igerber in #397
  • Release 3.3.2: dCDH by_path × trends extensions, Yatchew mean_independence, HAD Phase 4 R-parity by @igerber in #400

Full Changelog: v3.3.1...v3.3.2

v3.3.1

26 Apr 00:56
81d0eda

Choose a tag to compare

What's Changed

  • Wave 2: PanelProfile outcome/dose shape extensions + autonomous-guide worked examples by @igerber in #366
  • Close SDID placebo R-parity gap: warm-start + R-anchored fixture + test seam by @igerber in #369
  • dCDH by_path + placebo: per-path backward-horizon placebos (Wave 2 #3) by @igerber in #371
  • Add Tutorial 19: dCDH for Marketing Pulse Campaigns by @igerber in #373
  • HAD Phase 4.5 C: linearity-family pretests under survey by @igerber in #370
  • Docs refresh: trim README to a 188-line landing page; redirect contributor conventions by @igerber in #372
  • Add per-path joint sup-t bands to ChaisemartinDHaultfoeuille.by_path by @igerber in #374
  • Refocus Tutorial 19 on dCDH alone (drop TWFE comparison) by @igerber in #375
  • chore(ci): add Dependabot config and workflow permissions by @igerber in #377
  • Chore(deps): Bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #379
  • Chore(deps): Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #385
  • Chore(deps): Bump actions/github-script from 7 to 9 by @dependabot[bot] in #383
  • Consolidate HAD survey-design API to single survey_design= kwarg by @igerber in #376
  • Chore(deps): Bump actions/checkout from 4 to 6 by @dependabot[bot] in #381
  • Chore(deps): Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #380
  • Release 3.3.1: HAD survey-design consolidation, dCDH by_path placebos + sup-t bands, Phase 4.5 C by @igerber in #387

New Contributors

Full Changelog: v3.3.0...v3.3.1

v3.3.0

25 Apr 11:48
9c908f1

Choose a tag to compare

What's Changed

  • Precompute stratum-PSU scaffolding in aggregate_survey (~19x BRFSS speedup) by @igerber in #338
  • Close BR/DR gap #4: canonical-dataset regression guards + wording fixes by @igerber in #341
  • Phase 1c: Bias-corrected local-linear CI (CCT 2014) by @igerber in #340
  • Delete compute_synthetic_weights shim; inline Frank-Wolfe in rank_control_units by @igerber in #344
  • Remove dead Rust compute_synthetic_weights (follow-up to PR #344) by @igerber in #345
  • Unify Rust TROP inner solver to SVD (close finding #23 grid-search divergence) by @igerber in #348
  • Phase 2a: HeterogeneousAdoptionDiD class (single-period, 3 design paths) by @igerber in #346
  • Close BR/DR gap #6: target-parameter block in schemas by @igerber in #347
  • Fix SyntheticDiD bootstrap p-value dispatch and SE formula by @igerber in #349
  • HAD Phase 2b: multi-period event-study extension (Appendix B.2) by @igerber in #350
  • HAD Phase 3: pre-test diagnostics (qug_test, stute_test, yatchew_hr_test, composite workflow) by @igerber in #352
  • Add SyntheticDiD variance_method='bootstrap_refit' and coverage MC study by @igerber in #351
  • Fix TROP bootstrap SE backend divergence under fixed seed by @igerber in #354
  • HAD Phase 3 follow-up: joint Stute pretest + event-study workflow by @igerber in #353
  • dCDH: add by_path per-path event-study disaggregation by @igerber in #357
  • Restore SDID survey-bootstrap via weighted Frank-Wolfe + Rao-Wu composition by @igerber in #355
  • Fix TROP local-method backend parity: drop Rust weight normalization + Python cache-fallthrough by @igerber in #358
  • HAD Phase 4.5: survey support on continuous-dose paths by @igerber in #359
  • dCDH by_path R-parity fixtures + TestDCDHDynRParityByPath by @igerber in #360
  • Fix CHANGELOG: rename survey-bootstrap PR placeholder #352 to #355 by @igerber in #361
  • Add profile_panel() + autonomous LLM guide for agent-facing workflows by @igerber in #356
  • HAD Phase 4.5 B: weighted mass-point 2SLS + event-study survey composition + sup-t bootstrap by @igerber in #363
  • dCDH by_path + n_bootstrap support (library-consistent percentile CI) by @igerber in #364
  • Restore SDID survey support for placebo and jackknife variance methods by @igerber in #365
  • HAD Phase 4.5 C0: QUG-under-survey decision gate by @igerber in #367
  • Release 3.3.0: HAD estimator, profile_panel, dCDH by_path, SDID survey complete by @igerber in #368

Full Changelog: v3.2.0...v3.3.0

v3.2.0

20 Apr 00:25
075b1e2

Choose a tag to compare

What's Changed

  • Add Zenodo DOI badge, citation metadata, and identifiers by @igerber in #325
  • Guard TROP bootstrap loops against silent high-failure-rate runs by @igerber in #324
  • Add cell-period IF allocator for dCDH survey variance by @igerber in #323
  • Surface PowerAnalysis simulation-failure count and narrow except clause by @igerber in #326
  • Extend PR #312 Y-normalization contract into SDID diagnostic methods by @igerber in #328
  • Extend dCDH heterogeneity SE to cell-period allocator by @igerber in #329
  • Exclude flaky wall-clock timing tests from default CI by @igerber in #330
  • Phase 1a: Kernel infrastructure + HC2/Bell-McCaffrey variance by @igerber in #327
  • Surface row-count for axis-E silent coercion / drop sites by @igerber in #331
  • Surface silent np.linalg.solve fallbacks across axis-A minor solver paths by @igerber in #334
  • Skip wall-clock timing tests on CI to stop false-positive flake by @igerber in #336
  • Add practitioner-workflow performance baseline by @igerber in #333
  • Extend dCDH PSU-level wild bootstrap to cell granularity by @igerber in #332
  • Add axis-G Rust vs Python backend parity edge-case tests by @igerber in #337
  • Phase 1b: MSE-optimal bandwidth selector (CCF 2018 DPI) by @igerber in #335
  • Add BusinessReport and DiagnosticReport (experimental preview) by @igerber in #318
  • Close axis-C/J silent-failures audit: B-spline derivative + PA survey cache by @igerber in #339
  • Release 3.2.0: BusinessReport preview, dCDH survey completion, silent-failures audit by @igerber in #342

Full Changelog: v3.1.3...v3.2.0

v3.1.3

18 Apr 21:59
35866e8

Choose a tag to compare

What's Changed

  • Add replicate-weight variance and PSU-level bootstrap to dCDH by @igerber in #311
  • Signal non-convergence in TROP alternating-minimization solvers by @igerber in #317
  • Add CITATION.cff to bump-version skill by @igerber in #320
  • Add Zenodo DOI auto-minting config for GitHub Releases by @igerber in #321
  • Signal silent sparse -> dense lstsq fallback in ImputationDiD and TwoStageDiD by @igerber in #319
  • Release 3.1.3: dCDH replicate weights, sparse fallback signaling, Zenodo config by @igerber in #322

Full Changelog: v3.1.2...v3.1.3

v3.1.2

18 Apr 17:57
ba790b0

Choose a tag to compare

What's Changed

  • Add SyntheticDiD validation diagnostics by @igerber in #309
  • Bundle LLM guide files in wheel with get_llm_guide() accessor by @igerber in #310
  • Add survey support to dCDH estimator by @igerber in #307
  • Fix SyntheticDiD catastrophic cancellation at extreme Y scale by @igerber in #312
  • Refresh ROADMAP to drop phase numbering and reflect shipped state by @igerber in #313
  • Signal non-convergence in FE imputation alternating-projection solvers by @igerber in #314
  • Signal non-convergence in Frank-Wolfe SC weight solver (numpy path) by @igerber in #315
  • Release 3.1.2: SDID scale fix, convergence warnings, roadmap refresh by @igerber in #316

Full Changelog: v3.1.1...v3.1.2

v3.1.1

16 Apr 10:33
d7f625d

Choose a tag to compare

What's Changed

Full Changelog: v3.1.0...v3.1.1

v3.1.0

14 Apr 22:32
796ea14

Choose a tag to compare

What's Changed

  • dCDH Phase 3a: placebo SE, non-binary treatment, parity SE assertions by @igerber in #300
  • Add Phase 3 PR B: covariates, trends, and extensions for dCDH by @igerber in #302
  • Add HonestDiD integration for dCDH, summary() Phase 3 blocks by @igerber in #303
  • Release v3.1.0 by @igerber in #304

Full Changelog: v3.0.2...v3.1.0

v3.0.2

13 Apr 00:00
993e43a

Choose a tag to compare

What's Changed

  • Add data science practitioner strategy and brand awareness tutorial by @igerber in #286
  • Add practitioner decision tree and getting started guide (B1b-d) by @igerber in #287
  • docs: surface aggregate_survey() and fix stale references by @igerber in #288
  • Add Tutorial 18: geo-experiment SyntheticDiD walkthrough (B2b) by @igerber in #289
  • docs: mark B2b Geo-Experiment tutorial as done in ROADMAP by @igerber in #291
  • Add ChaisemartinDHaultfoeuille (dCDH) DID_M estimator (Phase 1) by @igerber in #290
  • docs: update CITATION.cff with author and current version by @igerber in #293
  • docs: add CONTRIBUTORS.md by @igerber in #296
  • docs: add JOSS paper and bibliography by @igerber in #297
  • ci: extract CI Gate into standalone workflow for doc-only PRs by @igerber in #298
  • feat: add conditional_pt parameter to survey DGP by @igerber in #295
  • feat: add second_stage_weights parameter to aggregate_survey() by @igerber in #299
  • Add Phase 2 multi-horizon event study for dCDH estimator by @igerber in #294
  • feat: survey-aware power analysis (SurveyPowerConfig + deff) by @igerber in #292
  • Release v3.0.2 by @igerber in #301

Full Changelog: v3.0.1...v3.0.2