[1.7.0] - 2026-04-20
Added
- Support for sparse Hessians in the SciPy interface.
#301 - Support for Python 3.14.
#306 - Installation supports pip extras:
pip install cyipopt[docs,examples,tests].
Changed
ipopt_wrapperC extension module is now installed into the
site-packages/cyipopt/directory instead of the top level
site-packages/. Importing directly fromipopt_wrapperwith
import ipopt_wrapperorfrom ipopt_wrapper import Problemis
deprecated. Useimport cyipopt.ipopt_wrapper. This replaces the
prior deprecatedcyipopt/ipopt_wrapper.pyfunctionality, see below.
#317- Ipopt DLLs are installed into
site-packages/cyipoptinstead of
site-packages/when usingsetup.pyadjacent Ipopt binaries. No
deprecation for accessing these DLLs fromsite-packages/.
#317
Removed
- Removed the
docs/requirements.txtfile in favor of
docs/rtd-env.ymlandpip install cyipopt[docs]. - Removed deprecated
cyipopt/ipopt_wrapper.py, use
scipy_interface.pyinstead.cyipopt/ipopt_wrapper.pywas legacy
code from when the package name was ipopt and long been deprecated.
Note that this has been replaced by the C extension module named
ipopt_wrapper, see above.
#309
Fixed
- If no hessian function is provided to
minimize_ipoptthen the Ipopt
limited memory hessian should be used. A bug was fixed that prevented
this due the hessian method always being present on
IpoptProblemWrapper. If there is a hessian attribute, thenProblem
would assume there is a dense hessian when it should have been
triggered to use the limited memory hessian option. The hessian
attribute is no longer present onIpoptProblemWrapperwhen a hessian
function is not provided. This is backwards incompatible, but was
broken and did not function in the current state, so no deprecation is
made. #323
What's Changed
- Change from macos-13 to macos-15-intel image on Github CI. by @moorepants in #297
- Replace disutils.sysconfig.get_python_lib() with sysconfig.get_path('purelib'). by @moorepants in #300
- Implemented support for sparse objective function hessian. by @dimasad in #301
- Add support for Python 3.14. by @moorepants in #306
- Remove the ipopt_wrapper.py module as it serves no purpose since we purged importing from ipopt. by @moorepants in #309
- Update actions by @moorepants in #310
- Move the compiled module into the cyipopt install directory. by @moorepants in #317
- Remove deprecated fetch_build_eggs(), fixes #311. by @moorepants in #320
- Only add hessian attribute to IpoptProblemWrapper if hess kwarg is not None. by @moorepants in #323
New Contributors
Full Changelog: v1.6.1...v1.7.0