Info: | Change log for CyIpopt releases. |
---|---|
Date: | XXXX-XX-XX |
Version: | 1.6.0.dev0 |
More information can be found on GitHub in the releases section.
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Dates should be (year-month-day) to conform with [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html).
Include sections:
- Added - for new features.
- Changed - for changes in existing functionality.
- Deprecated - for soon-to-be removed features.
- Removed - for now removed features.
- Fixed - for any bug fixes.
- Security - in case of vulnerabilities.
- Added instructions for using the HSL solvers on Windows. #254
- Dropped support for Python 3.8. #263
- Dropped support for building the package with NumPy < 1.25. #263
- Addressed regression in return value of
intermediate_cb
. #250
- 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.
- Ensure
tol
is always a float in the SciPy interface. #236 print_level
allows integers other than 0 or 1. #244
- Added a
pyproject.toml
file with build dependencies. #162 - Added support for sparse Jacobians in the SciPy interface. #170
- Added
get_current_iterate
andget_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 import of
MemoizeJac
from scipy.optimize. #183 args
andkwargs
can be passed to all functions used inminimize_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 the license to Eclipse Public 2.0. #185
- Updated all dependency pins to match those in Ubuntu 22.04 LTS. #223
- Added instructions for using the HSL binaries with the Conda Forge binaries.
- Support for Python 3.10 and 3.11.
- 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.
- Dropped support for Python 3.6.
- 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.
- 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 theipopt
distribution first.
- The six and future dependencies are removed.
- Changed PyPi distribution name back to
ipopt
, ascyipopt
is currently unavailable.
- Corrected the CHANGELOG.
- Corrected the PyPi classifier.
conda/cyipopt-dev.yml
conda environment file for development.minimize_ipopt
approximates the Jacobian of the objective and the constraints using SciPy'sapprox_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.
- Installation and development documentation moved from
README.rst
todocs/
. - 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.
tocyipopt
. doc/
folder renamed todocs/
.- Updated
CHANGELOG.rst
.
- Package being imported by
import ipopt
(replaced byimport cyipopt
). - Use of non-PEP8 named classes/function/methods, e.g.
cyipopt.problem
(replaced bycyipopt.Problem
),cyipopt.problem.addOption
(replaced bycyipopt.Problem.add_option
),cyipopt.problem.setProblemScaling
(replaced bycyipopt.Problem.set_problem_scaling
) etc.
test/
folder containing examples, which have mostly been moved toexamples/
docker/
,vagrant/
andMakefile
[#83].- Support for Python 2.7.
- Support for Python 3.5.
- Added support for Ipopt >=3.13 on Windows [PR #63].
- Added support for Conda Forge Windows Ipopt >=3.13 binaries using the
IPOPTWINDIR="USECONDAFORGEIPOPT"
environment variable value [PR #78].
- Resolved compatibility issues with Windows [PR #49].
- Adding installation testing on the Appveyor CI service [PR #50].
- Drop Python 3.4 support and add Python 3.7 support [PR #51].
- Improvements to the README and setup.py for Windows installations [PR #54].
- OSError now raised if pkg-config can't find Ipopt on installation [PR #57].
- Supporting only Python 2.7 and 3.6-3.8. Python 3.5 support dropped [PR #58].
- Added custom installation instructions for Ubuntu 18.04.
- Fixed encoding issue preventing installation on some OSes.
- Removed SciPy requirements from examples.
- Updated
setup.py
to be complete and added dependencies. - Added support for Travis CI to test build, install, examples, and docs.
- Made SciPy and optional dependency.
- Linux/Mac installation now supported via conda and conda-forge.
- Added
LICENSE
file and EPL headers to each source file. - Fixed some Python 2/3 compatibility issues.
- Improved documentation formatting for Sphinx.
- Strings can be passed to addOption instead of bytes strings for Python 2 and 3.