Skip to content

v2026.5.1.4

Choose a tag to compare

@Jammy2211 Jammy2211 released this 01 May 11:36
· 13 commits to main since this release

PyAutoArray v2026.5.1.4

Highlights

Python 3.9–3.13 supported, 3.12 / 3.13 recommended

This release expands supported Python versions to 3.9 through 3.13 (#293). 3.12 and 3.13 are first-class recommended; 3.9, 3.10, 3.11 are supported but emit a loud (bypassable) banner on import. Silence the banner via version.python_version_check: False in your workspace's config/general.yaml. Python 3.14 is not yet supported.

Key impacts for users:

  • requires-python = ">=3.9" in pyproject.toml (lower floor than before)
  • Classifiers now cover 3.9, 3.10, 3.11, 3.12, 3.13
  • JAX is now an optional extra: pip install autoarray[jax], gated on python_version >= '3.11'. Plain pip install autoarray no longer pulls JAX as a transitive dep.
  • AbstractNDArray.__array__ now coerces to numpy and accepts numpy 2.0's copy kwarg, fixing interop with newer numpy when JAX isn't installed.

Bug Fixes

  • Handle off-centre masks in convolver and blurring grid padding (#274) — convolution no longer drifts the result for masks whose centre isn't aligned with the grid origin
  • Fix NaN gradients from jaxnnls backward pass via Jacobi preconditioning (#279) — gradients through the NNLS solver are now numerically stable
  • Lower nnls_target_kappa default to 1e-11 for stable NNLS gradients (#283) — the previous default could produce diverging Jacobi-preconditioned solves on stiff problems
  • Align hardcoded nnls_target_kappa fallback with the YAML default (1e-11) (#284) — keeps inline-default and config-default in sync

Internal / Cleanup

  • Remove jax-using unit tests; assertions moved to autolens_workspace_test (#295) — keeps the library's unit suite numpy-only

Upstream Changes

PyAutoConf

  • Support Python 3.9–3.13, first-class 3.12/3.13 (PyAutoConf#102)
  • Soften Python version check with general.yaml bypass (PyAutoConf#96)

Full changelog: 2026.4.13.6...2026.5.1.4