Skip to content

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 21 Aug 01:03
· 1157 commits to main since this release
061afc0

[0.6.5] - 2026-08-20

Fixed

  • Predictions no longer depend on a target's position in a multi-target job. Two
    byte-identical inputs folded by one worker returned different affinity values
    (0.648724 / 0.722511 / 0.687149 for three copies of one CDK2 + ligand YAML); they now
    return the same value, bit-identical to folding either one on its own. Two causes.
    Ligand conformer generation left ETKDG's seed unset, so RDKit drew from a stream that
    advances on every embedding and the same SMILES got a different reference conformer
    each time it was parsed — that moved the structure prediction too, not just the
    affinity scalar, and it applies to BoltzGen as well. And the affinity checkpoint loads
    lazily inside the first affinity target of a run, which advanced the RNG the diffusion
    samples from, so target 1 sampled differently from every target after it.
    Ligand numbers move once with this fix: a pinned conformer is not the one the old
    stream happened to hand the first target, and the spread across conformers of one
    ligand is about 0.074 log10(IC50). Set TT_BIO_ETKDG_SEED to draw a different
    conformer. scripts/boltz2_affinity_batch_position_repro.py folds N targets in one
    process and fails if identical ones disagree, and tt-bio gates it as
    scripts/release_gate.py --model batch-position. CCD-bound ligands are unaffected.
    If you ran a multi-target SMILES-ligand job on 0.6.4 or earlier, re-run it: every
    target after the first one in that job got the wrong number.

  • An affinity run's results.json reported only the structure leg's time, so the
    number was short by however long the affinity trunk ran. It now reports both.

Changed

  • RFD3 designs in 91.4 s on a p150a, down from 105.1 s, which is 3.33x an H200's
    27.5 s and inside the 4x bar the performance page holds every model to. The row is
    no longer hidden there. (dff668d9)

Known issues

  • Boltz-2 affinity on the trypsin parity leg differs about 2% from the CPU reference
    (2.552 against 2.606 log10(IC50)); the predicted pose is unaffected. The reference
    bound tightened this release because the conformer-seeding fix above removed noise
    that had been inflating it, so this is a pre-existing gap now visible, not a new one.
    See docs/implementation-parity.md.