Hi all,
(Sending on behalf of Sergey)
mpmath 1.4.0 is available on GitHub (
https://github.com/mpmath/mpmath) and
PyPi (
https://pypi.org/project/mpmath/).
Thanks to everyone who contributed to this release! Brief summary of most
important changes follows.
Features:
* Support "python -m mpmath" to provide CLI for interactive work (Sergey B
Kirpichev)
* Support formatting of mp.mpf and mp.mpc in f-strings or with format()
builtin like for floats and complxes (Javier Garcia, Sergey B Kirpichev)
* Support 'a'/'A' (hexadecimal) and 'b' (binary) formatting types (Sergey B
Kirpichev)
* Support rounding modes (MPFR-like) for formatting (Javier Garcia, Sergey B
Kirpichev)
* round(mp.mpf) now returns a mp.mpf instance (Sergey B Kirpichev)
* Better introspection support for decorated functions (Sergey B Kirpichev)
* Add mp.pretty_dps property to control number of printed digits (Sergey B
Kirpichev)
* Support negative indexes in matrix (Riccardo Orsi)
* Add parameters for MPContext constructor (Sergey B Kirpichev)
* Add pretty_dps context property to control number of printed digits (Sergey
B Kirpichev)
* Support rounding property for the mp context (Sergey B Kirpichev)
* Add Fox H-function (with rational parameters) (Hongren Zheng)
* Experimental support for free-threading builds (Sergey B Kirpichev)
Compatibility:
* Drop Python 2 support (Fangchen Li)
* Drop support for Python versions < 3.9 (Sergey B Kirpichev)
* Direct access to _mpf_ tuples now deprecated (Sergey B Kirpichev)
* Removed sage backend (Sergey B Kirpichev)
* Deprecate current (descending) order of coefficients in polynomial functions
(Sergey B Kirpichev, Warren Weckesser)
* Importing from the mpmath.libmp's submodules is deprecated (Sergey B
Kirpichev)
Bug fixes:
* Warn users about Python's true division (Sergey B Kirpichev)
* Correct pow() for mpf's to be consistent with mpfr/float's (Sergey B
Kirpichev)
* Fix mpc() constructor to be compatible with complex(), fix disagreement
fp.pow vs mp.pow (Sergey B Kirpichev)
* Pevent erroneous setting of dps/prec on mpmath module (Colin B. Macdonald)
* Correct atan2(±inf, ±inf) (Sergey B Kirpichev)
* Improve accuracy of log1p() (Tim Peters, Sergey B Kirpichev)
* Fix mpf_div() for prec=0 (Sergey B Kirpichev)
* Use correct mixed-mode functions in fsub/fdiv, add special cases for
infinities in mpc_*div() (Sergey B Kirpichev)
* Add special case for ±inf in polylog_continuation() (Sergey B Kirpichev,
Colin B. Macdonald)
* Increase working precision in polylog_general() for negative s (Sergey B
Kirpichev)
* Correct case for integer n in besselj/besseli (Sergey B Kirpichev)
* Fix erf(z) with re(z) of large magnitude (Sergey B Kirpichev)
Maintenance:
* Run CI tests with pytest-xdist (Sergey B Kirpichev)
* Add pyproject.toml, depend on flake518 (Sergey B Kirpichev)
* Port
torture.py/extratest_zeta.py/extratest_gamma.py to the pytest framework
(Sergey B Kirpichev)
* Use math.isqrt in isqrt_python calculations (Daiki Takahashi)
* Use gcd() and other bigint's functions from the backend (Sergey B Kirpichev)
* Avoid dynamic method creation in _mpf (Sergey B Kirpichev)
* Use setuptools_scm to update __version__ (Sergey B Kirpichev)
* Add CONTRIBUTING.rst (Sergey B Kirpichev)
* Refactor Github Actions (Sergey B Kirpichev)
* Add backport action (Sergey B Kirpichev)
See the CHANGES (
https://github.com/mpmath/mpmath/blob/master/CHANGES) for a
more complete changelog.
See the release milestone (
https://github.com/mpmath/mpmath/milestone/1) for a
complete list of issues and pull requests involved in this release.
Let me know if there are any issues that need to be patched urgently.
--
Oscar