Repository navigation
v2026.5.14.2
PyAutoGalaxy v2026.5.14.2
What's New
Breaking Changes
- feat: replace Ludlow16 colossus pure_callback with JAX-native impl (#403) (#406)
- The colossus
pure_callbackchain is replaced by a JAX-native port. Production no longer importscolossus. The internal mcr_util helpers (_ludlow16_cosmology_callback,ludlow16_cosmology_jax) are removed; new public entry points live inautogalaxy/profiles/mass/dark/ludlow16.py. Thexpbranches in the two callers (kappa_s_and_scale_radius_for_ludlow,kappa_s_scale_radius_and_core_radius_for_ludlow) collapse to singlexp-aware calls.colossusmoves from required to test/dev extras. See full details below.
- The colossus
- fix: register DatasetModel pytree in _register_fit_quantity_pytrees (#405)
- feat: wire ag.VisualizerQuantity through fit_for_visualization (#404)
-
- Added:
ag.AnalysisQuantity.fit_from(instance)— thin alias for the existingfit_quantity_for_instance(instance). Required so the autofit baseAnalysis.fit_for_visualizationdispatcher can find afit_frommethod on this analysis class (mirrors the imaging/interferometer pattern).
- Added:
- Strictly additive — no existing call site is affected.
fit_quantity_for_instanceretained for backwards compatibility.
-
- feat: pytree registration for FitEllipse + FitQuantity (Phase 0c) (#401)
-
ag.AnalysisEllipse.__init__andag.AnalysisQuantity.__init__gain**kwargspassthrough — strictly additive. Callers can now passuse_jax_for_visualization=True(and any other autofit-baseAnalysiskwarg) withoutTypeError.
-
- New
_register_fit_ellipse_pytreesand_register_fit_quantity_pytreesstatic methods on the respective analysis classes, invoked underif use_jax:. They registerEllipse,EllipseMultipole,FitEllipse,FitQuantity, and reuseregister_galaxies_pytree()for theGalaxiesaggregate insideFitQuantity.light_mass_obj.
- New
-
- fix: ag.AnalysisInterferometer.init kwargs passthrough (#399)
ag.AnalysisInterferometer.__init__gains a**kwargspassthrough — strictly additive. Any caller that previously worked is unaffected. New: callers can now passuse_jax_for_visualization=True(or any other kwarg accepted by the autofit baseAnalysis) withoutTypeError.
- refactor: DatasetInterp delegates to aa.interp_2d; expose xp (#398)
- feat: add galaxy_table CSV reader/writer for galaxy populations (#393)
New Features
- docs: add nufftax + FINUFFT citation guidance (#396)
- test: pin FitEllipse masked-points-loop behaviour (#395)
Internal
- docs(research): Ludlow16 JAX concentration feasibility study (#397) (#402)
- feat: re-export TransformerNUFFTPyNUFFT (legacy pynufft NUFFT) (#391)
- feat: dispatch autogalaxy visualizers via fit_for_visualization (#390)
Upstream Changes
PyAutoFit
- fix: populate NUTS samples_info keys under test-mode bypass (#1260)
- fix: stop passing dataset=None to fit_cls when sensitivity Job is complete (#1259)
PyAutoArray
- feat: add aa.interp_2d (NumPy + JAX bilinear interpolation) (#308)
- perf: batched transform_mapping_matrix in TransformerNUFFT (single nufft2d2 call) (#305)
- fix(inversion): regularization_weights_mapper_dict uses correct linear_obj_list index (#304)
- feat: nufftax-backed TransformerNUFFT as default; rename pynufft variant to TransformerNUFFTPyNUFFT (#303)
- Make use_mixed_precision actually emit fp32 FFT for light profiles (#302)
- feat: honor PYAUTO_SMALL_DATASETS in Imaging.from_fits (#301)
Full changelog: 2026.5.8.2...2026.5.14.2