Changes since 1.2.1 (released 2026-10-28).
Highlights
- Source installs restore the
vdf_client,vdf_bench,prover_test,1weso_testand2weso_testbinaries, with CI coverage that fails if any is missing. hw_vdf_clientgains an optional--expected-serialcheck and an explicit reset-and-quiescence initialization sequence.- FTDI driver and library download scripts fetch SHA-256-pinned archives from
download.chia.net, with a fallback for Windows.
Upgrade notes
- Default behaviour is unchanged.
--expected-serialis optional; omitting it keeps the previous behaviour. - Source installs again include the binaries listed above; wheels are unaffected (built with
BUILD_VDF_CLIENT=N). - On multi-board hosts, pass
--device-loctogether with--expected-serial. - Physical-board validation for
--expected-serialand qualification for the new initialization sequence are still pending.
Packaging
- Restored install hooks — Source installs (
pip installfrom an sdist or checkout) copyvdf_client,prover_test,1weso_testand2weso_test(withBUILD_VDF_CLIENT=Y, the default) andvdf_bench(withBUILD_VDF_BENCH=Y) into the install directory again. The hooks were dropped in #315; this restores them. Wheels are unaffected (built withBUILD_VDF_CLIENT=N). CI now does a source install with both options on and fails if any binary is missing. The Rust crate is bumped to 1.2.2. (#476)
ASIC timelord
- Expected board serial —
hw_vdf_clientgains an optional--expected-serial. It reads the identity of the opened SPI and GPIO interfaces and refuses to continue, closing both handles before any configuration, if the identity is unreadable, malformed or does not match. It accepts the board serial (1–15 printable characters) or its full interface-A serial; omitting it keeps the previous behaviour.--listalso prints serials. The legacy open path also checks the FT4222 device type and mode before configuring; onlyCNFMODE0andCNFMODE1are supported. On multi-board hosts, also pass--device-loc. Adds theftdi_identity_testemulator test target. Physical-board validation is still pending. (#474) - Board initialization —
hw_vdf_clientnow resets the board, writes clock-disable and reset-assert to every engine, reads back every engine's control register, and only then programs PLL and voltage. It makes at most two attempts; if quiescence is not confirmed, the requested operating point is not applied. The reset previously hidden insideSetPLLFrequencyis now explicit. Each confirmed readback is logged. Adds thehw_initialization_testtarget. Physical-board qualification is still pending. (#475)
Release tooling
- FTDI downloads —
scripts/get-libft4222.ps1downloads the FTDI CDM 2.12.36.20 archive fromdownload.chia.netfirst, withftdichip.cnas fallback (SHA-256 pinned;driver\SOURCE.txtrecords the URL used). On macOS,scripts/get-libft4222.shtakeslibftd2xxand headers fromD2XX1.4.36.dmgondownload.chia.net(SHA-256 pinned). On Linux, the script moves to libft4222 1.4.4.232 (zip ondownload.chia.net, SHA-256 pinned). (#479)
Build and CI
Full Changelog: 1.2.1...1.2.2