v2026.5.1.4
PyAutoGalaxy 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 (#382). 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"inpyproject.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 autogalaxy[jax], gated onpython_version >= '3.11'. Plainpip install autogalaxyno longer pulls JAX as a transitive dep.
HowToGalaxy moved to its own repo
The HowToGalaxy lecture series now lives in its own repository at PyAutoLabs/HowToGalaxy (#363). Existing URLs/prose in the library and workspace pointing at the previous location have been updated. Clone the new repo to follow the tutorial chapters.
Bug Fixes
- Mark
pytree_tokenas ephemeral in light/linear profiles via__getstate__/__setstate__(#374) — fixes pickling round-trips when JAX pytree-aware profiles are serialised - xp-gate
jax.scipy.special.factorialinshapelets/exponential.py(#385) — exponential shapelets now use the array-namespace dispatcher instead of a hard JAX import, so the module imports cleanly when JAX is not installed
Internal / Cleanup
- Remove unused
pyprojrootimport (#381) - Remove jax from unit tests (moved to
autogalaxy_workspace_test) (#384) — 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.yamlbypass (PyAutoConf#96)
PyAutoArray
- Support Python 3.9–3.13 (PyAutoArray#293)
- Handle off-centre masks in convolver and blurring grid padding (PyAutoArray#274)
- Fix NaN gradients from
jaxnnlsbackward pass via Jacobi preconditioning (PyAutoArray#279) - Lower
nnls_target_kappadefault to1e-11for stable NNLS gradients (PyAutoArray#283, #284)
PyAutoFit
- Support Python 3.9–3.13 (PyAutoFit#1244)
- JAX-jitted likelihoods in Dynesty via
use_jax_jit(PyAutoFit#1243) - Skip
FitExceptionsamples incompute_latent_samples(PyAutoFit#1233)
Full changelog: 2026.4.13.6...2026.5.1.4