Repository navigation
PyGAD 3.8.1
Release Date: October 11, 2026.
- Random and adaptive mutation clip generated values to NumPy integer type limits before casting, fixing overflow errors and wraparound with types such as
numpy.uint8andnumpy.int8. The same rule covers additive and replacement mutation,Nonegene-space entries, constraint candidates, and duplicate repair. Clipping applies only to explicitly requested NumPy integer types. See issue #379 and Conversion and Rounding Rules. - Python
intconversion of candidate arrays and population columns uses explicit signed 64-bit storage across NumPy versions and platforms, fixing large-integer conversion and initialization failures on Windows with NumPy 1.x. Integer range sampling and bounded operators use the same storage limits. Parent selection and crossover share array allocation, preserving large integers throughout the lifecycle. Per-gene Pythonintelements keep their scalar type, and explicitly requested NumPy types keep their widths. Supplied Pythonintpopulation values must fit in signed 64-bit storage; usegene_type=objectfor larger supplied integers. See Conversion and Rounding Rules. - Regression tests cover integer mutation limits, exact large-integer storage, initialization, constraints, duplicate repair, parent selection, crossover, and NSGA-III population growth. Windows CI checks both NumPy 1.24.4 and the latest NumPy release without version-specific implementation branches. The 16 pre-existing Windows failures with NumPy 1.24.4 are fixed, and no higher NumPy minimum is required. The
pygad.helperandpygad.utilssubmodule versions are1.4.6and1.5.8.