v2026.4.13.3
PyAutoGalaxy v2026.4.13.3
What's New
Breaking Changes
- refactor: rename env vars to PYAUTO_* prefix (#343)
- One env var rename. Quantity visualizer now controlled by
PYAUTO_SKIP_VISUALIZATIONinstead ofPYAUTOFIT_TEST_MODE. See full details below.
- One env var rename. Quantity visualizer now controlled by
- fix: give each basis independent ell_comps in mge_model_from (#342)
-
- New parameter:
centre_per_basis: bool = Falseonmge_model_from— when True, each basis gets independent centre priors
- New parameter:
-
- Behaviour change:
mge_model_fromwithgaussian_per_basis > 1now produces independent ell_comps per basis (was previously tied). Calls withgaussian_per_basis=1are unchanged.
- Behaviour change:
-
- refactor: merge PYAUTO_DISABLE_CRITICAL_CAUSTICS into PYAUTO_FAST_PLOTS (#340)
- Environment variable only — no Python API changes.
PYAUTO_DISABLE_CRITICAL_CAUSTICSis retired; setPYAUTO_FAST_PLOTS=1instead to skip bothtight_layout()and critical-curve/caustic overlay computation. Callers that only setPYAUTO_DISABLE_CRITICAL_CAUSTICSwill no longer skip overlays — they must migrate toPYAUTO_FAST_PLOTS=1. - Paired PyAutoBuild PR removes the retired flag from the release workflow, default env vars, and docs. A follow-up workspace sweep will remove it from the
autofit/autogalaxy/autolensworkspaceenv_vars.yaml,run_scripts.sh, and CLAUDE.md files.
- Environment variable only — no Python API changes.
- feat: reinstate title_prefix on all matplotlib subplot panel titles (#333)
- refactor: remove integral-based deflection/potential methods from mass profiles (#324)
- The following methods are removed from mass profile classes:
-
deflections_2d_via_integral_from— removed from Gaussian, Sersic, SersicGradient, NFW, gNFW, gNFWSph
-
deflection_func— removed from Gaussian, Sersic, SersicGradient, NFW, gNFW
New Features
- docs: update Python version to 3.12-3.13 (#346)
- perf: defer matplotlib imports and lazy-load plot submodule (#330)
- perf: cache cosmology distances and cap MGE gaussians for smoke tests (#329)
- feat: PYAUTO_DISABLE_CRITICAL_CAUSTICS env var to skip curve computation (#325)
Bug Fixes
- fix: re-export subplot_interferometer_dataset from autogalaxy.plot (#337)
- Fix cosmology distance cache breaking JAX JIT tracing (#334)
- fix: correct stale module paths in docs API (#319)
Internal
- build: add Python 3.13 to CI matrix (#345)
- build: raise astropy cap, update JAX Partial imports for 0.5+ compat (#344)
- Retire main_build: check out PyAutoFit main in CI (#338)
- Expose dataset_util via autogalaxy.util.dataset (#336)
- Remove Copilot dispatch workflow (#335)
- perf: remove unused astropy.modeling import from convert.py (#331)
- perf: skip savefig in _save_subplot when PYAUTO_FAST_PLOTS=1 (#328)
- refactor: import is_test_mode from autoconf (#327)
- feat: use tight_layout wrapper for PYAUTO_FAST_PLOTS support (#326)
- perf: reduce unit test runtime from 82s to 28s (#322)
- Use centralized is_test_mode() from PyAutoFit (#320)
- Add ReadTheDocs config with Python 3.12 (#318)
- Drop Python 3.9-3.11, add 3.13 (#317)
Upstream Changes
PyAutoFit
- refactor: replace search YAML config with explicit Python defaults (#1202)
- fix: guard interpolator and grid search against edge cases (#1201)
- docs: update Python version to 3.12-3.13 (#1199)
- build: add Python 3.13 support (#1198)
- build: raise scipy cap, relax threadpoolctl and SQLAlchemy pins (#1197)
- fix: bump scipy cap to <=1.15.2 (#1196)
- refactor: separate PYAUTOFIT_TEST_MODE into distinct PYAUTO_* env vars (#1195)
PyAutoArray
- fix: guard zoom_array against non-autoarray mask objects (#270)
- build: add Python 3.13 to CI matrix (#268)
- build: raise caps on scipy, astropy, scikit-image, scikit-learn (#267)
- fix: bump scipy cap to <=1.15.2 (#266)
- refactor: rename env vars to PYAUTO_* prefix (#265)
- Guarantee GaussianKernel regularization matrix is PD (#264)
- refactor: clamp brightest_coordinate_in_region_from to array bounds (#263)
- fix: add _mappings_sizes_weights_split to InterpolatorRectangular (#262)
- Add should_simulate utility for auto-simulation with small datasets (#261)
- feat: add title_prefix support to subplot_imaging_dataset (#260)
- perf: defer scipy imports to reduce import time (#259)
- perf: skip radial bins computation when PYAUTO_WORKSPACE_SMALL_DATASETS=1 (#258)
- perf: force over_sample_size=2 when PYAUTO_WORKSPACE_SMALL_DATASETS=1 (#257)
- fix: import is_test_mode from autoconf instead of autofit (#256)
- perf: skip savefig rendering in PYAUTO_FAST_PLOTS mode (#255)
- feat: add tight_layout wrapper with PYAUTO_FAST_PLOTS env var (#254)
- feat: PYAUTO_WORKSPACE_SMALL_DATASETS env var for fast smoke tests (#253)
- perf: speed up unit tests 63% by removing JAX from triangle tests (#252)
- Use centralized is_test_mode() from PyAutoFit (#250)
- Drop Python 3.9-3.11, add 3.13 (#249)
Full changelog: 2026.4.5.3...2026.4.13.3