Summary
This minor release adds support for two additional optimizer libraries:
- Nevergrad: A library for gradient-free optimization developed by Facebook Research.
- Bayesian Optimization: A library for constrained bayesian global optimization with Gaussian processes.
In addition, this release includes several bug fixes and improvements to the documentation. Many contributions in this release were made by Google Summer of Code (GSoC) 2025 applicants, with @gauravmanmode and @spline2hg being the accepted contributors.
Pull Requests
- #620 Uses interactive plotly figures in documentation (@timmens).
- #618 Improves bounds processing when no bounds are specified (@timmens).
- #615 Adds pre-commit hook that checks mypy version consistency (@timmens).
- #613 Exposes converter functionality (@spline2hg).
- #612 Fixes results processing to work with new cobyla optimizer (@janosg).
- #610 Adds
needs_bounds
andsupports_infinite_bounds
fields to algorithm info (@gauravmanmode). - #608 Adds support for plotly >= 6 (@hmgaudecker, @timmens).
- #607 Returns
run_explorations
results in a dataclass (@r3kste). - #605 Enhances batch evaluator checking and processing, introduces the internal
BatchEvaluatorLiteral
literal, and updates CHANGES.md (@janosg, @timmens). - #602 Adds optimizer wrapper for bayesian-optimization package (@spline2hg).
- #601 Updates pre-commit hooks and fixes mypy issues (@janosg).
- #598 Fixes and adds links to GitHub in the documentation (@hamogu).
- #594 Refines newly added optimizer wrappers (@janosg).
- #591 Adds multiple optimizers from the nevergrad package (@gauravmanmode).
- #589 Rewrites the algorithm selection pre-commit hook in pure Python to address issues with bash scripts on Windows (@timmens).
- #586 and #592 Ensure the SciPy
disp
parameter is exposed for the following SciPy algorithms: slsqp, neldermead, powell, conjugate_gradient, newton_cg, cobyla, truncated_newton, trust_constr (@sefmef, @TimBerti). - #585 Exposes all parameters of SciPy's BFGS optimizer in optimagic (@TimBerti).
- #582 Adds support for handling infinite gradients during optimization (@Aziz-Shameem).
- #579 Implements a wrapper for the PSO optimizer from the nevergrad package (@r3kste).
- #578 Integrates the
intersphinx-registry
package into the documentation for automatic linking to up-to-date external documentation (@Schefflera-Arboricola). - #576 Wraps oneplusone optimizer from nevergrad (@gauravmanmode, @gulshan-123).
- #572 and #573 Fix bugs in error handling for parameter selector processing and constraints checking (@hmgaudecker).
- #570 Adds a how-to guide for adding algorithms to optimagic and improves internal documentation (@janosg).
- #569 Implements a threading batch evaluator (@spline2hg).
- #568 Introduces an initial wrapper for the migrad optimizer from the iminuit package (@spline2hg).
- #567 Makes the
fun
argument optional whenfun_and_jac
is provided (@gauravmanmode). - #563 Fixes a bug in input harmonization for history plotting (@gauravmanmode).
- #552 Refactors and extends the
History
class, removing the internalHistoryArrays
class (@timmens). - #485 Adds bootstrap weights functionality (@alanlujan91).