Skip to content

Releases: PyAutoLabs/PyAutoArray

v2026.5.8.2

08 May 19:07

Choose a tag to compare

⚠️ v2026.5.8.2 is a no-op re-release of v2026.5.8.1 — same code, second release dispatched the same day to validate updated release-pipeline gates. The full set of changes shipped on 2026-05-08 follows.

PyAutoArray v2026.5.8.2

What's New

Breaking Changes

  • feat: honor PYAUTO_SMALL_DATASETS in Imaging.from_fits (#301)
      • New public utility autoarray.util.dataset_util.cap_array_2d_for_small_datasets(array_2d, pixel_scales) that center-crops a 2D autoarray to (15, 15)/0.6 when PYAUTO_SMALL_DATASETS=1 and the input exceeds the cap. Returns inputs unchanged otherwise.
      • Imaging.from_fits now calls this helper for data and noise_map. PSF unchanged. Signature, docstring, and default behaviour with the env var unset are unchanged — this is a behaviour change only under PYAUTO_SMALL_DATASETS=1.

Bug Fixes

  • fix OOB read in psf_precision_value_from causing NaN sparse-CPU log_evidence (#296)

Internal

  • refactor: replace os.path with pathlib (#300)
  • docs: convert remaining prose .rst to MyST .md (pass 2) (#298)
  • Fix subplot_of_mapper crash on interferometer data_subtracted (#297)
  • test: remove jax-using unit tests; assertions moved to autolens_workspace_test (#295)
  • docs: convert index.rst to MyST .md (#294)

Full changelog: 2026.5.1.4...2026.5.8.2

v2026.5.8.1

08 May 18:20

Choose a tag to compare

PyAutoArray v2026.5.8.1

What's New

Breaking Changes

  • feat: honor PYAUTO_SMALL_DATASETS in Imaging.from_fits (#301)
      • New public utility autoarray.util.dataset_util.cap_array_2d_for_small_datasets(array_2d, pixel_scales) that center-crops a 2D autoarray to (15, 15)/0.6 when PYAUTO_SMALL_DATASETS=1 and the input exceeds the cap. Returns inputs unchanged otherwise.
      • Imaging.from_fits now calls this helper for data and noise_map. PSF unchanged. Signature, docstring, and default behaviour with the env var unset are unchanged — this is a behaviour change only under PYAUTO_SMALL_DATASETS=1.

Bug Fixes

  • fix OOB read in psf_precision_value_from causing NaN sparse-CPU log_evidence (#296)

Internal

  • refactor: replace os.path with pathlib (#300)
  • docs: convert remaining prose .rst to MyST .md (pass 2) (#298)
  • Fix subplot_of_mapper crash on interferometer data_subtracted (#297)
  • test: remove jax-using unit tests; assertions moved to autolens_workspace_test (#295)
  • docs: convert index.rst to MyST .md (#294)

Full changelog: 2026.5.1.4...2026.5.8.1

v2026.5.1.4

01 May 11:36

Choose a tag to compare

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

v2026.4.13.6

13 Apr 09:46

Choose a tag to compare

PyAutoArray v2026.4.13.6

What's New

Bug Fixes

  • fix: pin autoconf dependency version and update homepage URL (#273)

Full changelog: 2026.4.13.5...2026.4.13.6

v2026.4.13.5

13 Apr 09:31

Choose a tag to compare

PyAutoArray v2026.4.13.5

What's New

Bug Fixes

  • fix: pin autoconf dependency version and update homepage URL (#273)

Full changelog: 2026.4.13.3...2026.4.13.5

v2026.4.13.3

13 Apr 08:35

Choose a tag to compare

PyAutoArray v2026.4.13.3

What's New

Breaking Changes

  • refactor: rename env vars to PYAUTO_* prefix (#265)
    • Three env var renames. Hilbert mesh validation now controlled by PYAUTO_SKIP_CHECKS instead of PYAUTOFIT_TEST_MODE. See full details below.

New Features

  • Add should_simulate utility for auto-simulation with small datasets (#261)
  • feat: add title_prefix support to subplot_imaging_dataset (#260)
  • feat: PYAUTO_WORKSPACE_SMALL_DATASETS env var for fast smoke tests (#253)

Bug Fixes

  • fix: bump scipy cap to <=1.15.2 (#266)
  • fix: add _mappings_sizes_weights_split to InterpolatorRectangular (#262)

Internal

  • 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)
  • Guarantee GaussianKernel regularization matrix is PD (#264)
  • refactor: clamp brightest_coordinate_in_region_from to array bounds (#263)
  • 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)
  • 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

v2026.4.5.3

05 Apr 18:59

Choose a tag to compare

PyAutoArray v2026.4.5.3

What's New

New Features

  • Make output_format configurable, default to show (#248)

Bug Fixes

  • Plot improvements: arcsec tick labels, circular import fix, test imports (#241)
  • perform fix by not linking state blurring grid to dataset grid (#221)
  • fix rectangular mesh grid plot (#219)
  • feature/psf_centering_fix (#216)
  • feature/final_border_fix (#212)

Internal

  • Drop Python 3.9-3.11, add 3.13 (#249)
  • Visualization final: config origin, fits API, output mode (#247)
  • Colorbar tick fontsize reduction and scientific notation consistency (#246)
  • Plot improvements: DPI config, Delaunay aspect ratio, tick rounding, source vmax (#244)
  • Add RGB support to plot_array (#243)
  • Plot improvements: line_colors, is_subplot colorbar sizing, inversion panels (#242)
  • Plot improvements batch 2 (#240)
  • Overhaul 2D plot styling and subplot layout (#239)
  • Add subplot_imaging and subplot_imaging_dataset_list standalone plot functions (#238)
  • Claude/refactor plotting module s6 zq1 (#236)
  • Refactor dataset and operator tests for granularity and clarity (#235)
  • Refactor inversion and mapper tests for granularity and clarity (#234)
  • Refactor regularization tests for granularity and clarity (#233)
  • refactor: split mask tests into granular focused tests (#232)
  • refactor: split structures tests into granular focused tests (#231)
  • refactor: split fit tests into granular focused tests (#230)
  • improve docstrings for autoarray/inversion package and update fit log… (#229)
  • Improve docstrings for autoarray/fit package (#228)
  • docs: refactor docstrings for autoarray/structures package (#227)
  • docs: refactor docstrings for autoarray/mask package (#226)
  • docs: refactor and complete docstrings for autoarray/geometry (#225)
  • docs: refactor and complete docstrings for autoarray/dataset (#224)
  • Add CLAUDE.md documenting decorator system and JAX jit boundary (#223)
  • eature/blurring_mask_padding (#222)
  • Feature/remove preloads (#220)
  • Feature/psf convolution refactor (#218)
  • Feature/mesh refactor (#217)
  • Feature/matern adaptive (#214)
  • feature/formatting (#213)
  • Feature/voronoi safe fallback (#211)
  • Feature/wcs coordinates (#210)
  • Feature/unconvolved images (#209)
  • Feature/border relocator via ellipse (#208)
  • Feature/linalg mixed precision (#205)
  • Feature/fft jax imaging (#204)
  • feature/remove mapper valued (#203)
  • Feature/jax w tilde preload (#202)
  • Feature/interferometer (#201)
  • feature/matern_jax (#200)
  • Feature/delaunay primitive (#199)
  • Feature/image mesh border (#198)
  • Feature/image mesh jax (#197)
  • Feature/numba speed up (#196)
  • Feature/w tilde via dataset (#195)

Full changelog: 2026.4.5.3...2026.4.5.3