Changelog for the naginterfaces Python Package

Changes in version 28.6.0.0

October 12, 2022

This is a minor update containing bug fixes and enhancements to existing functionality. Please refer to the News document for the underlying algorithmic library, at

Changes in version 28.5.0.0

May 18, 2022

This update includes new algorithmic functionality. Please refer to the News document for the underlying algorithmic library, at

Highlights

  • New algorithmic functionality.

New Algorithmic Functionality

See the News document for a full list of new routines in this release.

Changes in version 28.4.0.0

April 20, 2022

This is a minor update containing bug fixes and enhancements to existing functionality. Please refer to the News document for the underlying algorithmic library, at

Changes in version 28.3.0.1

March 23, 2022

This is a bug-fix update.

Fixes

Licensing

  • Licence utilities have been updated to understand the new product-code scheme.

Changes in version 28.3.0.0

March 16, 2022

This update includes new algorithmic functionality. It contains some backwards incompatible changes; see also the Interface Changes document.

It also brings a new numbering scheme in which the subrelease number (3 here) denotes the month number when the release appeared.

Highlights

  • New algorithmic functionality.

New Algorithmic Functionality

See the News document for a full list of new routines in this release.

Removed Algorithmic Functionality

In this update some previously-deprecated functions have been removed. See the Replacement Calls document for more information.

Enhancements

API

  • The Hessian callback in naginterfaces.library.opt.handle_solve_ipopt() now requires in-place updating of the return vector hx, for efficiency.

    Also in this solver, length argument nnzu has been dropped and the (optional) multipliers u have been added on input for use in a future release.

    These are backwards incompatible changes.

    Additionally, the indicator and statistics arrays used during monitoring and returned by the solver have been expanded in size.

    See also the Interface Changes document.

  • The lsqgrd callback in naginterfaces.library.opt.handle_solve_bxnl() now requires in-place updating of the return vector rdx, for future integration with finite differences.

    This is a backwards incompatible change.

    See also the Interface Changes document.

  • The value for key 'build_id' in the return dict of naginterfaces.library.info.impl_details() now has type str (or None) instead of int (or None) in order to accommodate additional information.

Platform Support

  • The primary CPython 3 supported is now Python 3.10.

  • The primary Intel Python supported is now 2021 (Python 3.9).

  • The primary NumPy supported is now 1.22.

  • This release adds support for Intel-based macOS 12/Monterey.

  • Support for macOS 10.14/Mojave has been dropped.

Changes in version 27.3.1.0

December 01, 2021

This is a minor update containing a functionality enhancement.

All changes are backwards compatible with code using other releases from the 27.3 line.

Enhancements

API

Changes in version 27.3.0.0

October 06, 2021

This is a major update.

Highlights

  • New algorithmic functionality.

New Algorithmic Functionality

See the News document for a full list of new routines in this release.

Enhancements

API

Examples

Installation

  • The source distributions have been given pip compliant directory names. The names of the resulting .zip archives are unchanged. Now each source archive unzips to give directory naginterfaces-{ver}, which no longer has the platform identifier in its name.

Fixes

API

Platform Support

  • The primary CPython 3 supported is now Python 3.9.

  • Support for Python 3.6 has been dropped.

  • The primary supported NumPy version is now 1.21.

  • This release adds support for Intel-based macOS 11/Big Sur.

Changes in version 27.2.0.0

Never publicly released.

Changes in version 27.1.0.0

October 16, 2020

This is a major update. It contains some backwards incompatible changes; see also the Interface Changes document.

Highlights

  • New algorithmic functionality.

  • Support for Python 2 has been dropped.

New Algorithmic Functionality

See the News document for a full list of new routines in this release.

Enhancements

API

Documentation

  • Detailed algorithmic descriptions are now included in the Notes section of a routine’s documentation.

  • NAG Library functions are now documented in individual pages rather than all together by module. This leads to significant performance improvements with some browsers.

    Note therefore that a previous URL of the form

    something/naginterfaces.library.anova.html#naginterfaces.library.anova.confidence

    now becomes

    something/naginterfaces.library.anova.confidence.html

Examples

Licensing

  • Licence diagnostics now display the name of the machine on which they are being run, when licensing problems are found.

Fixes

API

Platform Support

  • Support for Python 2 and 3.5 has been dropped.

  • The primary supported NumPy version is now 1.19.

Changes in version 27.0.2.0

March 16, 2020

This is a minor update containing functionality enhancements and bug fixes.

All changes are backwards compatible with code using other releases from the 27.0 line.

The primary supported versions of CPython 3 and associated NumPy have been increased.

Enhancements

Documentation

  • Expanded the advice on suggested values for some parameters.

Fixes

API

Library Functionality

  • The underlying NAG algorithmic Engine has been corrected so that the presolver used by LP and SOCP optimization routines checks infeasibility first when modifying bounds of non-singleton variables.

Platform Support

  • The primary CPython 3 supported is now Python 3.8.

  • The primary supported NumPy version for Python 3 is now 1.17.

  • Support for Python 3.4 has been dropped.

Changes in version 27.0.1.3

December 17, 2019

This is a bug-fix update which also contains some documentation enhancements.

Enhancements

Documentation

  • Improved the usage of bold text and the ceiling function, and the display of fractions and tables.

  • More intra-routine cross-referencing has been added.

  • Introduced new References subsections.

Fixes

Documentation

  • Annotations for when an argument represents a base-1 array index are now present in more places in the naginterfaces.library.sort submodule.

Run Time

Changes in version 27.0.1.2

October 16, 2019

This is a minor update for compatibility with Python 3.8 on Windows.

Enhancements

Run Time

  • The loading on Windows of the underlying DLL for the NAG algorithmic Engine has been updated. It is now compatible with changes to the ctypes module in Python 3.8.

Changes in version 27.0.1.1

October 08, 2019

This is a bug-fix update which also contains some documentation enhancements.

Enhancements

Documentation

  • Function descriptions have been expanded.

Fixes

Documentation

Run Time

Changes in version 27.0.1.0

September 04, 2019

This is a minor update containing functionality enhancements and bug fixes.

All changes are backwards compatible with code using other releases from the 27.0 line.

Enhancements

API

  • Integer scalars may now be supplied for real-valued input, and will be promoted internally. The same is true for integer arrays as long as the associated array in the NAG wrapper is not to be modified in place.

    For example, instead of

    specfun.bessel_i0_real_vector([0., 1., 3., 6.])
    

    one is now permitted to use

    specfun.bessel_i0_real_vector([0, 1, 3, 6])
    

Documentation

Examples

Fixes

Run Time

Changes in version 27.0.0.1

July 23, 2019

This is a bug-fix update.

Fixes

Documentation

Run Time

Changes in version 27.0.0.0

July 10, 2019

This is a major update. It contains some backwards incompatible changes; see also the Interface Changes document.

Highlights

  • New algorithmic functionality.

  • The underlying NAG library on Linux now uses 64-bit integers.

Removed Algorithmic Functionality

In this major update some previously-deprecated functions have been removed. See the Replacement Calls document for more information.

Enhancements

API

Documentation

  • The Quick Start has been simplified and now calls naginterfaces.library.opt.bounds_quasi_func_easy().

  • The descriptions of communication objects (comm) have been expanded in many cases.

  • Styling improvements have enhanced the layout and usage of space across all pages.

  • Sections listing exceptions have been streamlined by collapsing duplicated entries together.

Run Time

Fixes

Documentation

Run Time

Platform Support

  • The primary supported Intel Python is now 2019 (Python 3.6).

  • The primary supported NumPy version is now 1.16. The minimum supported version is 1.15.

  • This release has dropped support for macOS 10.12/Sierra.

Changes in version 26.2.2.4

February 13, 2019

This is a bug-fix update.

Fixes

Documentation

Run Time

Changes in version 26.2.2.3

December 19, 2018

This is a bug-fix update.

Fixes

Documentation

  • Tables are now rendered in the HTML documentation.

Run Time

  • Diagnostic messages on Windows when a licence could not be validated have been made more helpful.

    See also the Resolved Issues document.

  • Further improvements to the handling of ‘spiked’ arrays, this time in callback functions.

    See also the Resolved Issues document.

  • Improved checking of storage-order compatibility in callback functions.

Changes in version 26.2.2.2

December 11, 2018

This is a bug-fix update.

Fixes

Run Time

Changes in version 26.2.2.1

December 04, 2018

This is a bug-fix update.

Fixes

Run Time

  • The Windows package now operates more effectively in the presence of incompatible compiler run time libraries.

Changes in version 26.2.2.0

November 26, 2018

This is a minor update containing functionality enhancements and bug fixes.

All changes are backwards compatible with code using other releases from the 26.2 line.

Enhancements

Documentation

  • Warnings raised by functions are now documented in a distinct Warns section, separate from any existing Raises section.

  • A new documentation section Other Parameters has been added to routines that use optional algorithmic parameters.

Examples

Fixes

Documentation

  • Array slices in the documentation now follow Python’s half-open semantics.

Run Time

  • The stack context for an algorithmic warning raised by a withdrawn routine has been made more accurate.

  • Rank checking has been fixed for rank-1 NumPy arrays.

    See also the Resolved Issues document.

Platform Support

  • The package now officially supports macOS 10.14/Mojave.

Changes in version 26.2.1.2

October 26, 2018

This is a bug-fix update.

Fixes

Run Time

Changes in version 26.2.1.1

October 08, 2018

This is a bug-fix update.

Fixes

Documentation

Run Time

Changes in version 26.2.1.0

September 17, 2018

This is a minor update containing functionality enhancements and bug fixes.

All changes are backwards compatible with code using other releases from the 26.2 line.

The primary supported CPython 3 and NumPy versions have been increased.

Enhancements

Documentation

Examples

Run Time

  • Diagnostic output has been improved when the underlying NAG library fails to load (which is usually because incompatible runtimes have been loaded ahead of it).

  • Diagnostic output has been improved when arrays having differing storage orders are supplied on input or are returned from a user-supplied callback.

  • Added run-time diagnostic for the use of unsupported 32-bit Python (on Windows).

Platform Support

  • The primary CPython 3 supported is now Python 3.7.

  • The primary NumPy supported is now 1.15, for both PyPI and Intel Python.

Changes in version 26.2.0.2

August 21, 2018

This is a bug-fix update.

Fixes

Run Time

Changes in version 26.2.0.1

August 07, 2018

This is a bug-fix update.

Fixes

Documentation

  • Cross referencing made more accurate between functions and examples in which they are called.

Run Time

Changes in version 26.2.0.0

July 25, 2018

The first release of the package.