PyAutoFit v2026.8.20.1
What's New
Breaking Changes
- fix: per-method recovery when stored samples fail model reconstruction (#1486) (#1504)
- Reconstruction failures from
to_instance-decorated methods (e.g.from_sample_index,median_pdf,values_at_sigma) now raiseautofit.exc.SamplesExceptioninstead of lettingModelParameterException(aValueError) escape; the original rejection is chained as__cause__.max_log_posteriorrecovers to the next valid stored sample instead of raising.Samples.instancesskips unreconstructable stored samples instead of raising, so it can be shorter thansample_list.
- Reconstruction failures from
- feat: promote optax to default dependency; update no-jax messages (PyAutoLens#702) (#1503)
- feat: clipper enters the MLE search identifiers (#1494)
- fix: enforce prior bounds in the NumPy-path objective (UniformPrior, LogUniformPrior) (#1490)
- No symbols added or removed — a behaviour restoration:
-
UniformPrior.log_prior_from_value(NumPy path):0.0inside[lower_limit, upper_limit],-infoutside (was: always0.0). Limits inclusive, matching JAX.
-
LogUniformPrior.log_prior_from_value(NumPy path):-infeverywhere outside[lower_limit, upper_limit](was:-infonly forvalue <= 0; finite-log(value)aboveupper_limitand belowlower_limit).
New Features
- docs: correct the install page — wrong failure mode, wrong cut release, wrong support range (#1507)
Internal
- refactor: defer heavy imports — blackjax/jax, sqlalchemy, IPython lazy (#1505) (#1506)
- test: property-based correctness sweep over every Prior subclass (#1499)
- maint: close search.log handler + four CLI-noise warning fixes (#1496)
- feat: re-mainline af.NSS as a first-class search on mainline blackjax ≥1.6 (#1492)
- chore: sync version stamp to 2026.8.17.1; drop dead release stamper (#1488)
- feat: per-parameter step scaling for the multi-start gradient searches (#1485)
- feat: seedable multi-start draws, alive-versus-step curve, and optional momentum reset (#1482)
Full changelog: 2026.8.17.1...2026.8.20.1