Skip to content

v0.73.0

@MakazhanAlpamys MakazhanAlpamys tagged this 09 Aug 11:50
The only CODE in this release is #358. Everything else shipping here already
landed on main, reviewed and TDD'd at its own commit, over the 5-9 August 8xH100
session: the #331 silent wrong-gradient repair, four backends that had never
actually run, the vLLM rewrite, training.seed (#341), full fine-tuning as
lora.r=0 (#340), and the trl cap raised to <0.29 behind a capability probe (#326).

#358 — requires-python was ">=3.10" with no ceiling while CI tests 3.10/3.11/3.12
and nothing above. On 3.13+ pip resolved torch wheels nobody here has run, and the
failure is not a Soup error message: it is a loader crash inside c10.dll /
libc10.so before any Soup code executes, so the user has nothing to act on. Set to
">=3.10,<3.13" — NOT the <3.14 an external report suggested, because 3.13 is
equally untested here.

tests/test_requires_python_bound.py DERIVES the bound from the CI matrix rather
than hardcoding it, because a floating declaration and a fixed matrix drifting
apart is the failure it exists to catch: widening the matrix and widening the
bound must happen together. RED first — 4 failed / 4 passed against ">=3.10", and
the 4 that passed are the controls (a missing ceiling must raise; a ceiling that
lags the matrix must not read as agreement).

WHY A MINOR AND NOT v0.72.5. 28 feat/fix commits since v0.72.4, two of them feat,
adding capabilities that did not exist. A patch in this project means something
like v0.71.37 (pip install quoting); v0.72.5 in the CHANGELOG would hide half the
week. The v0.72.5 number was never used — the hardware-gated reference benchmark
that held it is renumbered v0.73.1 and stays infra-blocked.

STEP 5 SKIPPED DELIBERATELY, not silently. The five ECC review agents are not run
for this commit: the change is one line of packaging metadata plus its test, not
src/ code, which the checklist's own CI/docs-hotfix clause allows. Every src/
change in this release went through the full review + TDD cycle when it landed.

STEP 6 was run in full: `soup version` prints 0.73.0 against both files, `soup
--help` loads, the BUILT WHEEL carries `Requires-Python: <3.13,>=3.10`, and the
specifier refuses 3.9 / 3.13 / 3.14 while accepting 3.10-3.12. The two new
capabilities were exercised through load_config_from_string as well — seed set
and unset-is-None, lora.r=0 parses, r=-5 refused naming the bound.

Hard gate met: full local pytest on Windows / py3.10 / torch 2.5.1 / trl 0.19.1 —
17344 passed, 135 skipped, exit 0, coverage 81.97% in 17m13s. ruff clean.

STEP 13a — benchmarks/gate-h100-validation.md was already committed and indexed;
verified here rather than re-added. Its filename deliberately does NOT follow
gate-vX.Y.Z-<slug>.md: it is an external-hardware validation spanning the whole
series, not the gate for one version, so it is not renamed. One stale row IS
fixed: the index still said the 72B backward was "not re-run" after STEP 14
re-gated it at 320/320.

STEP 13b — no MEASURED number the preprint states changes (its 8B NF4 config sits
at 105 MiB/layer, below the 163.8-171.5 MiB #331 boundary, and survives a
50-backward soak at worst_abs 0.0). The SCOPE changes, and Zenodo v2 is where that
lands. One caveat is now published rather than left implicit: the 119.6 tok/s
laptop figure predates the #331 repair and has not been re-run on repaired code
(the repair cost -4.8% at 32B), so it ships labelled pre-repair. An H100 cannot
substitute — the method is transfer-bound, which is precisely what the H100 run
established.

Also renamed tests/test_v07205.py -> tests/test_v07300.py. It covers the #331
repair, which ships HERE; the version it was named for no longer exists.

Docs: CHANGELOG gets the whole week, not just #358. README's What's New block is
REPLACED (v0.72.4 rolled into a details block, the oldest one dropped). Python
badge 3.10+ -> 3.10-3.12. SECURITY supported window 0.72.x -> 0.73.x. Test counts
17068 -> 17344 across CLAUDE.md (3 places) and CONTRIBUTING (2).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Assets 2
Loading