Skip to content

v0.26.0

Choose a tag to compare

@denehoffman denehoffman released this 03 Apr 22:16
e8d27db

0.26.0 (2026-04-03)

⚠ BREAKING CHANGES

  • remove top-level rust helpers and split python init/config API
  • split algorithm init from config
  • add mixed Python package integration
  • add sampled MCMC chain retention
  • add rolling MCMC chain storage
  • simplify MCMC walker storage
  • standardize bounds handling modes
  • validate sampler walkers and custom simplex shapes
  • validate weighted MCMC move inputs
  • Status: This strongly types status messages and removes convergence flags in favor of matching the message type

Features

  • Add CMA-ES optimizer (9ad2122)
  • Add convenience methods for gradient and gradient-free fits and MCMC sampling using reasonable default settings (66e4561)
  • Add debug derives for swarm types (ccd37eb)
  • Add differential evolution optimizer (166181e)
  • Add generic error type and use Results rather than panics in algorithm configuration (8dc1e6a)
  • Add interval progress observer (def4775)
  • Add MCMC diagnostics helpers (3a145ed)
  • Add mixed Python package integration (9050360)
  • Add multistart minimization orchestration (7b4553e)
  • Add nonlinear conjugate gradient optimizer (550d493)
  • Add numpy-backed python conversions (7da54cb)
  • Add python config schema exports (eb92f4f)
  • Add python feature scaffolding (d072c43)
  • Add python LBFGSB config wrapper (756aaf3)
  • Add python mcmc summary dict export (9ee8b6c)
  • Add python mcmc summary wrapper (d8790e0)
  • Add python minimization summary dict export (b8bcabe)
  • Add python minimization summary wrapper (693af90)
  • Add python multistart summary wrapper (cb1ef76)
  • Add python run options wrappers (beb34b4)
  • Add python simulated annealing config wrapper (e722b04)
  • Add python simulated annealing summary exports (d78232b)
  • Add python wrappers for cmaes and differential evolution configs (128cebf)
  • Add python wrappers for core optimizer configs (629c8b4)
  • Add recoverable numerical helper errors (769da30)
  • Add rolling MCMC chain storage (76f0dc3)
  • Add sampled MCMC chain retention (ac6d174)
  • Add scale transform helpers (72dba5c)
  • Add step-boundary checkpoint and resume support (1bce7f2)
  • Add summary export helpers (fe6a292)
  • Add trust-region optimizer (23b611f)
  • Add typed python error mapping (2fdd5b9)
  • Propagate parameter names from config (54cc088)
  • Standardize bounds handling modes (6f97c00)
  • Status: Replace status String with a StatusMessage type and remove convergence fields in favor of StatusMessage::success() (a28a3a3)

Bug Fixes

  • ci: Restore release publishing workflows (9e24122)
  • Ensure all Status-like structs are correctly and fully reset on reset() calls (29ee51c)
  • Faithfully record function evaluations in NM init, MCMC, and PSO init (e14cf24)
  • Guard ESS adaptive scaling against zero updates (0a13ad4)
  • Harden bound containment and infinite sampling (4aa3dd8)
  • Properly compute free indices in L-BFGS-B (589cfde)
  • Scale volume by delta^n rather than delta^{n+1} in shrink steps for Nelder-Mead (cb40999)
  • Use best neighbor rather than worst in PSO ring topology (32e49dd)
  • Use best simplex point instead of worst in Diameter and Higham x-terminator methods of Nelder-Mead (34d9d19)
  • Use correct random variable draw range in PSO (0effd12)
  • Use correct update step in simulated annealing (08201fe)
  • Use proper sign in stretch move proposal (bcdd5b4)
  • Validate sampler walkers and custom simplex shapes (d6b9243)
  • Validate weighted MCMC move inputs (6ca7561)

Performance Improvements

  • Add lightweight benchmark matrix (7929116)
  • Avoid walker clones in ensemble proposals (ecdbfb3)
  • Cache resolved Nelder-Mead bounds state (8da188e)
  • Reduce status formatting overhead in progress paths (0462dd7)
  • Simplify MCMC walker storage (7a7cdba)
  • Use fused objective and derivative evaluations (7bf83c1)

Code Refactoring

  • Remove top-level rust helpers and split python init/config API (3f5959c)
  • Split algorithm init from config (2c82cf3)