Skip to content

Version 1.7.0

Latest

Choose a tag to compare

@moorepants moorepants released this 20 Apr 03:58
· 1 commit to master since this release

[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_wrapper C extension module is now installed into the
    site-packages/cyipopt/ directory instead of the top level
    site-packages/. Importing directly from ipopt_wrapper with
    import ipopt_wrapper or from ipopt_wrapper import Problem is
    deprecated. Use import cyipopt.ipopt_wrapper. This replaces the
    prior deprecated cyipopt/ipopt_wrapper.py functionality, see below.
    #317
  • Ipopt DLLs are installed into site-packages/cyipopt instead of
    site-packages/ when using setup.py adjacent Ipopt binaries. No
    deprecation for accessing these DLLs from site-packages/.
    #317

Removed

  • Removed the docs/requirements.txt file in favor of
    docs/rtd-env.yml and pip install cyipopt[docs].
  • Removed deprecated cyipopt/ipopt_wrapper.py, use
    scipy_interface.py instead. cyipopt/ipopt_wrapper.py was 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_ipopt then 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, then Problem
    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 on IpoptProblemWrapper when 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