# NLopt Release Notes
## NLopt 2.6.2
15 April 2020
* Fixed forced stop exception with dimension elimination ([#317])
* Fixed `get_initial_step` wrapping ([#319])
* Various build fixes ([#314], [#308], [#303], [#278])
## NLopt 2.6.1
13 April 2019
* Fix `nlopt_version` result for 2.6.x and update soname.
## NLopt 2.6
12 April 2019
* New `nlopt_set_upper_bound` and `nlopt_set_lower_bound` functions in the low-level C API to set one bound at a time ([#257]).
* There is no longer a separate `libnlopt_cxx` library: C++ algorithms (STOGO and AGS) are compiled and included by default ([#198]).
* Various build fixes ([#197], [#216], [#245], [#250], [#230], [#261], etc.), other fixes ([#242], [#258]).
## NLopt 2.5
26 July 2018
* New AGS global solver ([#194]), thanks to Vladislav Sovrasov.
* New `nlopt_get_numevals` function providing a built-in evaluation counter ([#160]).
* New `nlopt_get_errmsg` function for more descriptive error messages.
* Build system is converted to `cmake` ([#49]), thanks to Julien Schueller
* Plugins updated for recent Octave and Guile versions.
* Various other build fixes and minor bug fixes.
The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
NLopt is a free/open-source library for nonlinear optimization,
providing a common interface for a number of different free optimization
outines available online as well as original implementations of various
other algorithms.
Its features include:
- Callable from C, C++, Fortran, Matlab or GNU Octave, Python,
GNU Guile, Julia, GNU R, Lua, and OCaml.
- A common interface for many different algorithms -- try a different
algorithm just by changing one parameter.
- Support for large-scale optimization (some algorithms scalable to
millions of parameters and thousands of constraints).
- Both global and local optimization algorithms.
- Algorithms using function values only (derivative-free) and also
algorithms exploiting user-supplied gradients.
- Algorithms for unconstrained optimization, bound-constrained
optimization, and general nonlinear inequality/equality constraints.
Reviewed by: wiz@