Skip to content

Releases: astamm/nloptr

nloptr 2.1.1

27 Jun 08:10
Compare
Choose a tag to compare

This is a patch release to work around a bug in the CRAN checks. Specifically,
one of the unit tests for the isres() algorithm was failing on some CRAN
builds because convergence is stochastic with slightly different results even
with the same fixed seed prior to calling the function.

nloptr 2.1.0

19 Jun 16:19
Compare
Choose a tag to compare

This release deprecates the default behavior of the inequality equations in any
wrapper function which uses them. Currently, they are calibrated to be >= 0.
This version allows for the equations to be consistent with the main nloptr
function, which requires <= 0. In a future release, the default behavior will
switch to assuming the calibration is <= 0, and eventually, the >= 0 behavior
will be removed. It also includes a large number of safety and efficiency
changes, and an expansion of the unit tests to 100% coverage for all files but
one. The major changes include:

  • Reversed the direction of the inequality equations hin and hinjac in the
    wrapper functions which use them, bringing them into compliance with the main
    nloptr call. This addresses
    Issue #148;
  • Cleaned the Hock-Schittkowski problem no. 100, Hartmann 6-dimensional, and
    Powell exponential examples. This addresses
    Issue #152 and
    Issue #156;
  • Updated roxygen version;
  • Updated maintainer email;
  • Deal with NA returns from parallel::detectCores() (contributed by @jeroen in
    PR #150);
  • Setup rhub v2 checks;
  • Update cmake installation instructions on Mac with brew (#146);
  • Allow use of equality constraints with COBYLA (#135);
  • Replaced the unit testing framework of testthat with tinytest (See
    Issue #136);
  • Brought coverage of is.nloptr to 100%. The only file not completely covered
    by unit tests is nloptr.c. The uncovered calls are error messages which get
    trapped by tests in R before the call gets to C;
  • Linted package for code correctness and consistency;
  • Updated vignette, DESCRIPTION, and NEWS;
  • Updated package website to use bootstrap 5;
  • Expanded unit tests: coverage now over 97% with no file below 90%;
  • Removed forcing C++11;
  • Added safety checks to C code;
  • Added many safety and efficiency enhancements to R code;
  • Most R code style made self-consistent;
  • Updated documentation and messages for accuracy and mathematical formatting
  • Updated Github actions;
  • Some bugfixes (e.g. in isres or the warning in nl.grad).

Please see the commit logs for more detailed descriptions of the changes.

nloptr 2.0.3

26 May 19:49
Compare
Choose a tag to compare
  • Improved compatibility on RHEL/CentOS by first searching for a cmake3 binary on the PATH (#104).
  • Improved backward compatibility with older versions of cmake (#119).

nloptr 2.0.2

19 May 11:12
Compare
Choose a tag to compare

This is a patch version in which:

  • I link to the nlopt library via nlopt/lib/libnlopt.a instead of
    -Lnlopt/lib -lnlopt when building nlopt from included sources to avoid
    potential mess where -lnlopt could look for the nlopt library in other
    places and possibly link with an existing too old system build of nlopt.

Additionally, we contacted Simon Urbanek for updating the nlopt recipe for
macOS users so that it does now match the latest v2.7.1, which should avoid
nlopt to be built on the fly on CRAN machines.

nloptr 2.0.1

03 May 13:02
Compare
Choose a tag to compare

This is a release mainly for increasing direct compatibility with most user cases. In details, here is the list of changes that have been made:

  • Update SystemRequirements description to make it clearer which minimal versions of cmake (>= 3.15.0) and nlopt (>= 2.7.0) are required (#100, @HenrikBengtsson).
  • End configuration sooner and louder if cmake is missing when needed with clearer message (#103, @eddelbuettel).
  • Ensure system-wide installation of cmake in the list of suggestions to install it when missing.
  • Update GHA scripts to latest versions.
  • Configure git to always use LF line endings for configure.ac file.
  • Add CI for R-devel on Windows with Rtools42.
  • Fix for compatibility with versions of R anterior to 4.0 (#111).
  • Look for a cmake3 binary in the current path before cmake for increasing compatibility with most RHEL/CentOS users (#104, @bhogan-mitre @HenrikBengtsson).

nloptr 2.0.0

28 Jan 06:36
Compare
Choose a tag to compare

Major changes

  • Use CMake to build nlopt from included sources on macOS and on Linux if no system build of NLopt (>= 2.7.0) is found.
  • Update included sources of NLopt to latest version (2.7.1).
  • Put back the ability on Linux platforms to re-use an existing external build of NLopt instead of building from the included sources (contributed by Dirk Eddelbuettel, #88).
  • Now builds using NLopt from rwinlib on Windows current release (contributed by Jeroen Ooms, #92), or NLopt from Rtools42 on Windows devel (contributed by Tomas Kalibera).

Minor changes

  • Added a NEWS.md file to track changes to the package.
  • Use markdown in Roxygen documentation.
  • Added a logo and a proper nloptr website.
  • Added coverage.
  • Switch from Travis to Github Actions for CI.
  • Use Catch for unit testing C/C++ code.
  • Now tracking code coverage.
  • Update NLopt-related URLs following migration of NLopt website.
  • Fixed bug to avoid linking issues when using the C API via #include <nloptrAPI.h> in several source files.
  • Fix precision issue in test example hs071 (#81, @Tom-python0121).
  • Made NLopt algorithm NLOPT_GN_ESCH available from R interface (contributed by Xiongtao Dai).