Skip to content

v2026.7.19.1

Latest

Choose a tag to compare

@Jammy2211 Jammy2211 released this 19 Jul 13:52
cdf00a7

PyAutoLens v2026.7.19.1

πŸ“£ Major Milestones Announcement β€” PyAutoLens now ships an AI assistant (conversational + agentic), full JAX GPU support, and agentic-AI development via PyAutoScientist. Read the announcement β†’

What's New

Breaking Changes

  • fix: Marquardt-scaled LM damping + zero-fill correction profiles (#626)
    • Behaviour change (internal numerics): the LM damping in al.pc.dense_util.solve_lm_step_from is now Marquardt-scaled; identical solutions at convergence, different damping trajectories. No signatures changed.

New Features

  • feat: per-iteration evidence re-optimization for the interferometer LM engine (#628)
  • feat: visibility-space iterative LM engine (interferometer phase 2a) (#625)
  • feat: visibility-space potential corrections β€” sparse-operator route (interferometer phase 1) (#624)
  • feat: xp-API dense kernels + iterative LM engine (potential correction phase 4) (#622)
  • feat: potential_correction subpackage β€” gravitational imaging (phase 3) (#621)
  • refactor: use paths.preserve_in_zip for the positions cache (#1389 phase 2) (#620)
  • feat: cache solved multiple-image positions for SLaM resume fast-path (#619)
  • feat: from_coolest(intermediate=True) β€” rebuild PEMDs as PowerLawIntermediate (#617)
  • feat: COOLEST template import/export (autolens.interop.coolest) (#613)

Bug Fixes

  • docs: fix stale autosummary entries breaking the docs build (#635)
  • fix: interferometer LM objective double-counting + warm start (mid-tier certified) (#629)
  • fix: COOLEST interop rejects relative file paths (#615)

Internal

  • chore: rename PyAutoConf β†’ PyAutoNerves in docs/prose (#637)
  • refactor!: depend on and import autonerves (renamed from autoconf) (#636)
  • refactor: re-export autoconf config surface from autolens (#634)
  • Rename PyAutoBuild to PyAutoHands (#633)
  • Add opt-in gauge_project_x0 to the imaging iterative warm start (#632)
  • feat: x0 warm start for the imaging iterative engine (parity) (#630)
  • Refactor: consolidate duplicated critical-curve plot helper; remove stale plan doc (#611)

Upstream Changes

PyAutoFit

  • chore: rename PyAutoConf β†’ PyAutoNerves in docs/prose (#1396)
  • refactor!: depend on and import autonerves (renamed from autoconf) (#1395)
  • refactor: re-export autoconf config surface from autofit (#1394)
  • Rename PyAutoBuild to PyAutoHands (#1393)
  • docs: pin Fitness's NaN guard contract β€” value-only, never gradient (#1392)
  • refactor: public AbstractPaths.preserve_in_zip for post-completion artifacts (#1389) (#1390)
  • fix: mark test-mode bypassed fits complete so they are resumable (#1387) (#1388)
  • fix: AggregateFITS leaked one file handle per HDU per result (crash at ~500 results) (#1386)
  • fix: from_dict dropped dict entries with falsy values (0.0 parameters vanish on load) (#1384)
  • fix: EP projection β€” transform samples to base space + use log weights (#1383)
  • feat: size-realistic test-mode bypass samples (PYAUTO_TEST_MODE_SAMPLES) (#1381)
  • fix: sqlite database slicing + direct-write samples_summary (aggregator Phase D) (#1380)
  • perf: aggregator result-loading speedups (single-scan listing, cached summaries, faster samples parse) (#1376)
  • feat(search): add batch_size to the multi-start gradient searches (#1374)

PyAutoArray

  • chore: rename PyAutoConf β†’ PyAutoNerves in docs/prose (#395)
  • refactor!: depend on and import autonerves (renamed from autoconf) (#394)
  • refactor: re-export autoconf config surface from autoarray (#393)
  • feat: opt-in gradient-safe log-det via Settings (default unchanged) (#392)
  • feat: masked-grid derivative operators + mask regularizations (potential correction phase 1) (#390)

PyAutoGalaxy

  • chore: rename PyAutoConf β†’ PyAutoNerves in docs/prose (#513)
  • refactor!: depend on and import autonerves (renamed from autoconf) (#512)
  • refactor: re-export autoconf config surface from autogalaxy (#511)
  • Rename PyAutoBuild to PyAutoHands (#510)
  • feat: make Lenstool-native parameterization the default dPIE profile (#509)
  • feat: zero-fill extrapolation for input pixelized mass profiles (#508)
  • refactor: use paths.preserve_in_zip for the galaxy-image cache (#1389 phase 2) (#507)
  • feat: input pixelized mass profiles (potential correction phase 2) (#505)
  • feat: cache per-galaxy result images for SLaM resume fast-path (#502) (#504)
  • feat: PowerLawIntermediate β€” intermediate-axis (COOLEST) Einstein radius power-law (#503)
  • feat: COOLEST-standard profile parameter converters (autogalaxy.interop.coolest) (#501)

Full changelog: 2026.7.15.1...2026.7.19.1