Skip to content

Releases: mechmotum/cyipopt

Version 1.5.0

08 Sep 12:34
Compare
Choose a tag to compare

Added

  • Added instructions for using the HSL solvers on Windows. #254

Changed

  • Dropped support for Python 3.8. #263
  • Dropped support for building the package with NumPy < 1.25. #263

What's Changed

  • Fixed #249, ensure intermediate_cb returns its value if no exception. by @moorepants in #250
  • Add install instructions for HSL on windows by @avdudchenko in #254
  • Updated unit tests to call coo_array on 2d arrays not 1d arrays due to change in behavior in SciPy 1.13. by @moorepants in #257
  • Remove deprecated oldest-supported-numpy from pyproject.toml. by @moorepants in #263

New Contributors

Full Changelog: v1.4.1...v1.5.0

Version 1.4.1

02 Apr 17:20
Compare
Choose a tag to compare

[1.4.1] - 2024-04-02

Fixed

  • Addressed regression in return value of intermediate_cb. #250

Full Changelog: v1.4.0...v1.4.1

Version 1.4.0

01 Apr 15:23
Compare
Choose a tag to compare

[1.4.0] - 2024-04-01

Added

  • Support for building with Cython 3. #227, #240
  • Exposed the eps kwarg in the SciPy interface. #228
  • Added the examples to the source tarball. #242
  • Documentation improvements on specifics of Jacobian and Hessian
    inputs. #247
  • Support for Python 3.12.

Fixed

  • Ensure tol is always a float in the SciPy interface. #236
  • print_level allows integers other than 0 or 1. #244

What's Changed

New Contributors

Full Changelog: v1.3.0...v1.4.0

Version 1.3.0

23 Sep 09:47
382c52b
Compare
Choose a tag to compare

[1.3.0] - 2023-09-23

Added

  • Added a pyproject.toml file with build dependencies. #162
  • Added support for sparse Jacobians in the SciPy interface. #170
  • Added get_current_iterate and get_current_violations methods to
    Problem class. #182
  • Added installation instructions for Ubuntu 22.04 LTS apt
    dependencies.
  • Added a script to build manylinux wheels. #189
  • Improved documentation of minimize_ipopt(). #194
  • Added support for all SciPy minimize() methods. #200
  • Added support for SciPy style bounds in minimize_ipopt() and added
    input validation. #207
  • Added new CyIpoptEvaluationError and included it in relevance
    callbacks. #215
  • Added dimension checks for Jacobian and Hessian attributes/methods.
    #216

Fixed

  • Fixed import of MemoizeJac from scipy.optimize. #183
  • args and kwargs can be passed to all functions used in
    minimize_ipopt(). #197
  • Fixed late binding bug in minimize_ipopt() when defining
    constraint Jacobians. #208
  • Pinned build dependency Cython to < 3. #212 #214 #223
  • Fixed installation on Windows for official Ipopt binaries adjacent
    to setup.py. #220

Changed

  • Changed the license to Eclipse Public 2.0. #185
  • Updated all dependency pins to match those in Ubuntu 22.04 LTS. #223

What's Changed

New Contributors

Full Changelog: v1.2.0...v1.3.0

Version 1.2.0

28 Nov 14:48
Compare
Choose a tag to compare

[1.2.0] - 2022-11-28

Added

  • Added instructions for using the HSL binaries with the Conda Forge binaries.
  • Support for Python 3.10 and 3.11.

Fixed

  • Improved the type information in the JAX example.
  • SciPy MemoizeJac deprecation warning handled.
  • Handled KeyErrors upon unknown IPOPT return statuses.
  • Removed unnecessary shebangs.
  • Improved the Github Actions CI.

Removed

  • Dropped support for Python 3.6.

What's Changed

New Contributors

Full Changelog: v1.1.0...v1.2.0

Version 1.1.0

07 Sep 11:09
Compare
Choose a tag to compare

[1.1.0] - 2021-09-07

Added

  • Added support for objective and constraint Hessians and jac=True option
    for constraints in the scipy interface.
  • Example added showing how to use JAX for calculating derivatives.

Changed

  • Releases have been moved to the PyPi cyipopt distribution namespace:
    https://pypi.org/project/cyipopt/. Users should now install with pip install cyipopt. Be sure to uninstall the ipopt distribution first.

Removed

  • The six and future dependencies are removed.

What's Changed

  • Remove six and future by @moorepants in #112
  • Added example using JAX and the scipy interface. by @jhelgert in #119
  • Adds configuration to use github actions for testing. by @moorepants in #123
  • Add support for objective and constraint hessians and jac=True option for constraints in the scipy interface by @jhelgert in #121
  • Refactor objective, gradient and evaluate_fun_with_grad methods by @jhelgert in #128

Full Changelog: v1.0.3...v1.1.0

Version 1.0.3

07 Apr 07:09
Compare
Choose a tag to compare

[1.0.3] - 2021-04-07

Changed

  • Changed PyPi distribution name back to ipopt, as cyipopt is
    currently unavailable.

[1.0.2] - 2021-04-06

Changed

  • Corrected the CHANGELOG.

[1.0.1] - 2021-04-06

Changed

  • Corrected the PyPi classifier.

[1.0.0] - 2021-04-06

Added

  • conda/cyipopt-dev.yml conda environment file for development.
  • minimize_ipopt approximates the Jacobian of the objective and the
    constraints using SciPy's approx_fprime if not provided
    [#91].
  • Make changes as outlined in Version 1.0 proposal
    [#14].
  • requirements.txt file.
  • Dedicated tests using pytest in cyipopt/tests/ directory.
  • examples/ directory.
  • Support for Python 3.9.
  • Minimum version requirements for all dependencies.

Changed

  • Installation and development documentation moved from README.rst
    to docs/.
  • Python logger changed to use the cyipopt namespace
    [#102].
  • Class and method names now use PEP8 standards. Old class and method
    names now result in a deprecation warning.
  • Module directory renamed from ipopt. to cyipopt.
  • doc/ folder renamed to docs/.
  • Updated CHANGELOG.rst.

Deprecated

  • Package being imported by import ipopt (replaced by
    import cyipopt).
  • Use of non-PEP8 named classes/function/methods, e.g.
    cyipopt.problem (replaced by cyipopt.Problem),
    cyipopt.problem.addOption (replaced by
    cyipopt.Problem.add_option), cyipopt.problem.setProblemScaling
    (replaced by cyipopt.Problem.set_problem_scaling) etc.

Removed

  • test/ folder containing examples, which have mostly been moved to
    examples/
  • docker/, vagrant/ and Makefile
    [#83].
  • Support for Python 2.7.
  • Support for Python 3.5.

Full Changelog: v1.0.2...v1.0.3

Version 0.3.0

01 Dec 08:50
Compare
Choose a tag to compare
  • Added support for Conda Forge Windows Ipopt >=3.13 binaries using the
    IPOPTWINDIR="USECONDAFORGEIPOPT" environment variable value.
    (#78)
  • Added support for Ipopt >=3.13 on Windows.
    (#63)

What's Changed

Full Changelog: v0.2.0...v0.3.0

Version 0.2.0

05 Jun 01:13
Compare
Choose a tag to compare
  • Resolved compatibility issues with Windows.
    (#49)
  • OSError now raised if pkg-config can't find ipopt on installation.
    (#57)
  • Supporting only Python 2.7 and 3.6-3.8. Python 3.5 support dropped.
    (#58)
  • Improvements to the README and setup.py for Windows installations.
    (#54)
  • Drop Python 3.4 support and add Python 3.7 support.
    (#51)
  • Adding installation testing on the Appveyor CI service.
    (#50)
  • Added custom installation instructions for Ubuntu 18.04.

What's Changed

New Contributors

Full Changelog: v0.1.9...v0.2.0

Version 0.1.9

24 Sep 13:36
Compare
Choose a tag to compare
  • Fixed encoding issue preventing installation on some OSes.
  • Removed SciPy requirements from examples.