chiavdf 1.2.1
Changes since 1.2.0 (released 2026-10-22).
Highlights
- Windows now ships a signed installer (for winget) that stages the FTDI drivers.
- ASIC timelords gain supervised live control and per-engine telemetry, checkpoint reuse across proof requests, and a configurable
--segment-threadsoption. - A new
prove_low_memoryPython API produces the same proof asprovein constant memory. - The macOS arm64 release bundle ships a GMP build tuned for Apple Silicon, and class-group compositions are interleaved on Apple Silicon.
New contributor: @andlo (#454).
Upgrade notes
- Default behaviour is unchanged. New options (
--live-control,--raw-speed,--segment-threads) are opt-in or default to the previous behaviour (--segment-threadsdefaults to 2). - Windows users can install
vdf_clientwithwinget install --id Chia.chiavdf --exact. The portablechiavdf-win64.zipis still published. - The macOS arm64 release bundle now includes a GMP 6.3.0 built from source in place of Homebrew's bottle.
Core
- Low-memory prover — Adds
prove_low_memory, which returns the same bytes asprovewhile keeping memory use constant in the iteration count, at roughly twice the time. (#454, #462) - Apple Silicon class-group kernels — Independent class-group compositions run two at a time on Apple Silicon, raising throughput of the ASIC client's proof construction. Proof format and verification are unchanged. (#461)
- ProveSlow iteration rounding — Rounding the iteration count up to a multiple of
k*lno longer wraps for values near 2^64; very large counts now fail with a normal allocation error. (#460) - Small primes in
is_prime_bpsw— Small primes (for example 11, 13, 151 and 233) are no longer reported as composite. Production callers only pass large values, so their results do not change. (#464)
ASIC timelord
- Supervised live control and telemetry —
hw_vdf_clientgains an opt-in--live-controlmode, which lets a supervising application change operating points without restarting the client, and opt-in per-engine--raw-speedtelemetry. Legacy behaviour is unchanged outside live-control mode. (#459) - Checkpoint reuse — Successive proof requests reuse dispatched checkpoints, and the cached prefix is chosen using the available proof parallelism. (#450)
--segment-threads— Sets how many threads share one proof segment (1–8, default 2, the previous behaviour). Proof bytes do not depend on the value. (#468)
Signing and release packaging
- Windows installer — Adds a signed Inno Setup installer for
Chia.chiavdfthat installs the Windows binaries, adds them to the machinePATH, and stages the FTDI driver packages withpnputil. (#453) - macOS arm64 GMP — The macOS arm64 release bundle ships GMP 6.3.0 built from source with a faster two-limb division method for Apple cores, with a pinned source hash and a release-check script that verifies the bundled libraries. (#463)
- macOS GMP build follow-ups — The macOS architecture is now derived from
runner.arch,GMP_TARBALLmay point at the build directory's own copy, and a build directory containing a comma is rejected with a clear message. (#472)
Build and CI
VDF_MODEoverride —VDF_MODEcan be overridden in the Makefile and CMake, the assert-enabledVDF_MODE=1configuration builds again, and CI builds and runs it. (#465)1weso_testexit status —1weso_testnow returns a failing status when verification fails, including in default builds whereassertis compiled out. (#466)- Managed workflow updates — Syncs the shared dependency review, Node runtime check and Dependabot configuration from the organization template, and removes the retired dependency-review helper scripts. (#449, #455, #469)
Documentation
- Package-manager installs — Documents installing the release builds with Homebrew, winget and apt. (#451)
- Cubing vs. squaring — Records the NUCUBE vs. NUDUPL evaluation in
README_BACKGROUND_COMPETITION.md. (#467)
Dependencies
Full Changelog: 1.2.0...1.2.1