What's Changed
- docs: correct Dube et al. (2025) JAE citation to issue 7 by @igerber in #610
- feat(had): cluster-robust event-study inference + clustered sup-t band by @igerber in #612
- docs(cs): keep cluster= (not deprecate) + close TODO row by @igerber in #614
- feat(interop): balance interop launch - composition-drift tutorial, contract tests, isolated interop CI job by @igerber in #613
- perf(imputation,two_stage): shared MAP demeaning engine + zero-weight replicate fix by @igerber in #615
- feat(continuous-did): covariate support (reg + dr) under conditional parallel trends by @igerber in #616
- perf(staggered): O(n_units) CS aggregation IF assembly + R did 2.5.1 yardstick by @igerber in #617
- fix(staggered): CS panel reg/ipw influence functions + per-cell SEs to DRDID parity by @igerber in #619
- feat(continuous-did): discrete-treatment saturated regression (treatment_type="discrete") by @igerber in #618
- fix(inference): three standard-error parity fixes vs canonical R by @igerber in #620
- perf(bootstrap): fused column-tiled scatter-GEMM multiplier bootstrap (CS + EfficientDiD) by @igerber in #622
- CS positional base period + absorbed-FE full-K SE parity vs R by @igerber in #621
- feat(continuous-did): lowest-dose-as-control (control_group="lowest_dose", Remark 3.1) by @igerber in #623
- test(se-audit): CI-lock flagship + previously-unasserted SE parity (G2 + C1-C3/C5) by @igerber in #624
- perf(efficient_did): omega_ridge stabilization + fused tiled GEMM analytical path (43x) by @igerber in #625
- fix(callaway): IF-based per-cell SE for no-covariate doubly-robust by @igerber in #627
- test(se-audit): fiddly-bits SE parity locks (C2 DOF, C3 df, C4 intercept SE, C5 Yatchew p/sigma2, G2 cluster band) by @igerber in #628
- perf(efficient_did): cross-cell kcov-table hoisting + per-group W lifecycle (100k: 86 -> 18 min) by @igerber in #629
- feat(imputation): leave-one-out conservative variance (BJS 2024 App. A.9) by @igerber in #630
- perf(efficient_did): dispatch conditional Omega* ridge solves to a Rust batched-Cholesky kernel (fits 1.4-1.8x) by @igerber in #632
- feat(callaway): allow_unbalanced_panel — RC-on-panel parity with R did by @igerber in #631
- perf(linalg): per-cell solver fast paths - IRLS Cholesky inner solve + rank-detection certification (CS covariate fits 1.5-2x) by @igerber in #634
- refactor(had): remove deprecated survey=/weights= kwargs from HeterogeneousAdoptionDiD.fit (3.7.0) by @igerber in #633
- fix(honest_did): nested optimal-FLCI optimizer — R center parity (SE-audit B2b) by @igerber in #635
- perf(callaway): fancy-+= per-(g,t) IF scatters; drop dead _compute_aggregated_se by @igerber in #636
- fix(tests): sandbox doc-snippet env mutations; order-robust dCDH baseline backend detection by @igerber in #637
- test(callaway): fold ipw R yardsticks into regenerated golden; record no-cov ipw document-only decision by @igerber in #638
- perf(efficient_did): skip _ridge_solve_weights fancy-index copy when no row is zero-masked by @igerber in #639
- docs(todo): park SC fit-snapshot residency + stratified PSU draw-tiling with investigation findings by @igerber in #646
- test(se-audit): G2 hetero + cluster machine-precision fixest locks on unbalanced heteroskedastic DGP by @igerber in #644
- perf(callaway): stop materializing per-cell unit-label arrays in influence_func_info by @igerber in #640
- feat(rust): one-way HC2 robust vcov kernel by @igerber in #651
- test(imputation): covariate-path R parity anchor vs didimputation by @igerber in #643
- fix(survey): unify explicit-vcov_type contract under replicate designs (warn + hc1 remap) by @igerber in #654
- test(callaway): machine-precision golden tolerances — SE-audit C6 closure by @igerber in #658
- refactor(spillover): route stage-1 FE through shared _iterative_fe_solve by @igerber in #642
- feat(reviewer-eval): port CI notebook-prose extraction into ci_prompt by @igerber in #649
- refactor(had): remove deprecated survey=/weights= kwargs from the 7 pretest helpers (3.7.x) by @igerber in #659
- perf(utils): precompute r-independent wild-bootstrap inversion pieces (~7x, outputs unchanged) by @igerber in #647
- docs: publish REGISTRY.md + REPORTING.md as in-site Sphinx pages (MyST) by @igerber in #652
- fix(rust): deterministic clustered vcov — first-appearance cluster aggregation by @igerber in #653
- Bump version to 3.7.0 by @igerber in #661
Full Changelog: v3.6.2...v3.7.0