|
2 | 2 |
|
3 | 3 | ## Changed |
4 | 4 |
|
5 | | -- Project version is bumped to 0.9.2 in `pyproject.toml`, `crates/mlsirm-core`, |
6 | | - and `crates/fast-mlsirm-py`. The accumulated `Unreleased` notes now form the |
7 | | - `[0.9.2] - 2026-08-27` release section: preregistered external-validation and |
8 | | - transportability evidence profiles, a domain-neutral Rust/PyO3 |
9 | | - finite-population proportion sampling-design contract (sample size, finite- |
10 | | - population correction, proportional/equal-cost Neyman allocation, and a |
11 | | - terminal SRSWOR achieved-proportion artifact with Wang/Konijn exact |
12 | | - confidence limits) plus a bounded threshold-sorted water-filling capped-strata |
13 | | - allocation, a domain-neutral lineage-channel-weight evidence contract, a |
14 | | - shared canonical judge-result IRT projection core, provisional-versus- |
15 | | - calibrated item-parameter provenance with independent (non-self-referential) |
16 | | - provenance edges, item-bank lifecycle public-identity replay, customer-facing |
17 | | - error-copy actionability across the CLI and public API, and a continuation of |
18 | | - the hostile-input/structural-budget hardening sweep (2PL response/tolerance |
19 | | - admission, confirmatory loading-pattern evidence, residual interaction-map |
20 | | - and RSM structural traversal, sampling result-contract replay, release |
21 | | - acceptance watchdog budget, and release helper import integrity). |
22 | | -- This cut removes the standing predecessor note `release-0.9.1-cut.md`, whose |
23 | | - substance is permanently recorded in the `[0.9.1] - 2026-08-25` section and |
24 | | - in git history, mirroring the precedent set by the v0.9.1 cut's removal of |
25 | | - the stale `release-0.9.0-cut.md` leftover. |
26 | | -- Released authoritative fragments are removed from `docs/changelog.d`; the |
27 | | - directory again holds only genuinely unreleased notes. |
| 5 | +- Stage package version metadata at `0.9.2` across Python, Rust, `python/fast_mlsirm/_version.py`, and the derived lock metadata on the Draft release branch. This fragment does not claim that a `v0.9.2` tag, package, or immutable GitHub release already exists. |
| 6 | +- The historical 2026-08-27 cut folded the then-current 17 unreleased fragments into the draft `[0.9.2]` section. The branch has since been merged forward non-destructively with protected `main`, including the binary-response Measurement contract, so that historical section is no longer complete release provenance for the code that would now be tagged. |
| 7 | +- Keep the current authoritative fragments until the exact tag target is ready. Before release, regenerate the managed `Unreleased` block and the dated `0.9.2` release body from that exact inventory, fold every released fragment without losing its evidence, and require `python scripts/render_changelog_fragments.py --check CHANGELOG.md` plus the release-consistency gates to pass on one unchanged head. |
0 commit comments