Changelogο
[0.11.2] - 2026-10-26ο
π Bug Fixesο
*(test) Register custom pytest markers in installed tests
*(pyproject.toml) Revert unintended [tool.pytest.ini_options] changes
Prevent all-NaN error columns from affecting derivative estimate selection in valid outputs
Apply complex-step input validation to Jacobian and Gradient
βοΈ Maintenanceο
(packaging) Adopt SPDX license metadata and refresh lock files
[0.11.1] - 2026-09-02ο
π Bug Fixesο
(test) Skip profiletools-dependent tests when the optional dependency is unavailable
[0.11.0] - 2026-09-01ο
π Bug Fixesο
(numdifftools.test) Remove unsupported
pluginsargument
βοΈ Maintenanceο
Remove unused
typing.Anyimport(cliff) Improve changelog generation and commit grouping
(pyproject) Update metadata, tooling, and lock files
β»οΈ Refactoringο
(test) Run pytest in a subprocess
(profiletools) Remove bundled profiling code
π Documentationο
Update readthedocs.yaml
(pyproject) Improve project metadata and release workflow documentation
(pyproject) Add Git command to extract commit messages since the previous release
(changelog) Modernize release history formatting
(changelog) Add git-cliff configuration
[0.10.1] - 2026-08-12ο
π Featuresο
Add
app2md2for application-to-markdown conversion
π Bug Fixesο
(ci) Make Sphinx doctests work in GitHub Actions
(ci) Fix workflow syntax and optimize test matrix execution in
test.yml(typing) Normalize
ArrayLikeinput inloglimits(Jacobian) Ensure Jacobian does not fail for functions of shape (1,)
π Refactorο
(api) Return
EstimateResultforfull_outputmode(typing) Introduce protocols and annotate differentiation core
(typing) Modernize type annotations and protocols across package
(test_numdifftools.py) Replace lambda with named function
Rename
_atleast_2dto_ensure_2d_shapeRemove Python 2 compatibility code
π Documentationο
Update documentation examples using the new API
Update links and remove redundant Python version references in
info.pyandREADME.rstUpdate maintainability badge path in
info.py
π¨ Stylingο
Update benchmark title using f-strings
(finite_difference.py) Reformat code to comply with max line length
Format
app2md2.pywith RuffRemove obsolete code
βοΈ Miscellaneous Tasksο
Drop NumPy < 2.0 support and modernize tooling
Update
codecov-actionto v6Simplify Python 3.15 allow-failure logic and improve CI workflow security
(ci) Improve test and release automation
Delete obsolete
appveyorandconda_recipefoldersUpdate build & dependency configurations (
pyproject.toml,build_package.py,pdm.lock,pdm.lock314)Add missing
_typing.pyand coverage reports
[0.9.42] - 2025-12-11ο
π Bug Fixesο
Removed deprecated βcross_platformβ from pdm.lock
Updated doctests.
Updated required modules for doc-generation.
Skip two tests not working on python=3.14 in test_nd_algopy.
Replaced trapz with trapezoid in test_extrapolation.py and extrapolation.py.
The function approx_fprime_cs now handles matrix valued functions correctly in nd_statsmodels.py.
_Limit._add_error_to_outliers method can now handle complex numbers.
π Documentationο
Updated configuration for docs generation.
Updated documentation of dea3.
βοΈ Miscellaneous Tasksο
Added .readthedocs.yml, cliff.toml, pyproject.toml.
Updated pyproject.toml and github workflows.
Calculate the Hessian of functions with n-D output.
Deleted obsolete files.
Added prepare-release script
[0.9.41] - 2022-11-10ο
ποΈ CI/CDο
Added initial GitHub Actions workflow.
Added test requirements to CI workflow.
Migrated from Travis CI and AppVeyor to GitHub Actions.
Updated CI configuration for Python 3.10.
Removed Python 2.7 and Python 3.6 from CI.
π Bug Fixesο
Replaced deprecated
scipy.ndimage.filtersimports.Replaced
np.finfo(float).machar.tiny.Fixed NumPy deprecation warnings.
Updated doctests to avoid CI failures.
βοΈ Maintenanceο
Dropped support for Python 3.6.
Removed obsolete Travis CI scripts.
Removed Python 2.7 classifiers.
Updated package configuration and requirements.
β»οΈ Performanceο
Improved percentile calculation performance.
Added workaround for known
np.nanpercentileissue.
[0.9.40] - 2021-06-02ο
β¨ Featuresο
Added
LogJacobianRule,LogHessdiagRuleandLogHessianRule.Added Jacobian support to finite difference rules.
Added
richardson_demo.Added Quadpack and Wynn epsilon references.
π Bug Fixesο
Fixed Richardson error estimates for complex rules.
Fixed Jacobian shape handling.
Fixed Hessian shape handling.
Fixed multiple failing doctests.
β»οΈ Refactoringο
Moved finite difference logic from
core.pytofinite_difference.py.Reduced cyclomatic complexity in extrapolation algorithms.
Simplified step generator logic.
Simplified Taylor-series related code.
π Documentationο
Updated Derivative documentation.
Updated Richardson documentation.
Added doctest support to documentation.
Updated tutorials and examples.
ποΈ CI/CDο
Added Python 3.8 and 3.9 support.
Updated Travis and AppVeyor configurations.
Improved coverage integration.
[0.9.39] - 2019-06-10ο
Fix issue #43: numpy future warning
[0.9.38] - 2019-06-10ο
β¨ Featuresο
Added finite_difference.py.
Added backward differentiation support to nd_statsmodels.
π Bug Fixesο
Replaced deprecated scipy.misc.factorial.
Fixed Python 2.7 installation issues.
Fixed flaky tests and documentation examples.
β»οΈ Refactoringο
Replaced unittest with pytest.
Removed dependence on pyscaffold.
Simplified setup.py and setup.cfg.
ποΈ CI/CDο
Added additional CI tests and profiling coverage.
Updated Travis CI and AppVeyor configurations.
π Documentationο
Reorganized documentation.
Updated package badges and documentation examples.
[0.9.20] - 2017-01-11ο
Updated the author email address in order for twine to be able to upload to pypi.
[0.9.19] - 2017-01-11ο
Updated setup.py in a attempt to get upload to pypi working again.
[0.9.18] - 2017-01-11ο
β¨ Featuresο
Added fd_derivative.
Added more rigorous Hypothesis tests.
π Bug Fixesο
Fixed Jacobian regression introduced in 0.9.15.
βοΈ Maintenanceο
Added .pylintrc and PEP 8 cleanup.
Updated setup.py and packaging configuration.
[0.9.17] - 2016-09-08ο
β¨ Featuresο
Added tests for
MinMaxStepGenerator.Added extra Jacobian tests.
Added examples and improved numerical robustness.
Expanded test coverage and added
test_docstrings()totesting.py.Added support for
'backward'as an alias for'reverse'innd_algopy.py.Added AppVeyor badge and synchronized
info.pywithREADME.rst.
π Bug Fixesο
Fixed Read the Docs link (issue #21).
Fixed sign error in inverse matrix calculations.
Fixed
test_scalar_to_vector.Fixed print statements and replaced
xrangewithrange.Reduced start radius for the Fornberg method.
Updated doctests and documentation tests.
Updated and corrected documentation throughout the project.
β»οΈ Refactoringο
Renamed
bicomplextoBicomplex.Moved finite-difference utilities to
fornberg.py.Moved step generator implementations to
step_generators.py.Unified and simplified the step generator hierarchy.
Simplified
example_functions.py.Simplified handling of
n,order, anddefault_scale.Replaced lambda expressions with regular functions where appropriate.
Reduced cyclomatic complexity across multiple modules.
Renamed non-Pythonic variable names.
Converted several instance methods to static methods.
Avoided mutable default arguments and improved internal APIs.
π Documentationο
Removed obsolete documentation from
core.py.Removed obsolete parameters and examples.
Updated package documentation and doctests.
Replaced old string interpolation examples with
str.format().
π§ͺ Testingο
Added tests for
EpsAlg.Added tests for
epsalg.Added step generator tests.
Expanded coverage of Jacobian-related functionality.
βοΈ Maintenanceο
Removed unused imports.
Removed unnecessary parentheses and obsolete code.
Enabled Xvfb in CI to support graphical tests.
Continued PEP 8 cleanup and code modernization.
[0.9.14] - 2015-11-10ο
β¨ Featuresο
Added conda recipe files.
Added additional unit tests, including
tests/test_extrapolation.py.Reintroduced
c_absandc_atan2.
π Bug Fixesο
Filtered warnings in
limits.py.Updated tests and examples.
Improved package installation and conda support.
π Documentationο
Updated
README.rst.Added additional documentation.
Updated
docs/index.rst.Added coverage information to
README.rst.Improved examples and package documentation.
π§ͺ Testingο
Added more tests.
Expanded extrapolation test coverage.
βοΈ Maintenanceο
Updated version information.
Updated setup and packaging configuration.
Added
.landscape.yml.Updated
.coveragercand.travis.yml.Added the Omnia conda channel to Travis CI.
Updated conda installation paths.
Removed unnecessary runtime dependencies for documentation builds.
Continued project cleanup and dependency simplification.
[0.9.13] - 2015-10-30ο
β¨ Featuresο
Added AppVeyor support.
Added AppVeyor installation scripts.
Added support for differentiating complex-valued functions.
Added support for zero-order derivatives.
π Bug Fixesο
Fixed a missing derivative-order parameter in
Gradient,Hessian, andJacobian.Fixed bugs in AppVeyor configuration.
Removed unnecessary
matplotlibimport.Improved Python 3 compatibility in
run_benchmark.py.Made tests more robust.
β»οΈ Refactoringο
Updated package structure to align with PyScaffold 2.4.2.
Removed duplicate test directories.
Removed unused code.
π Documentationο
Updated
README.rst.Updated
CHANGES.rst.Improved documentation throughout the project.
π§ͺ Testingο
Increased robustness of the test suite.
βοΈ Maintenanceο
Updated setup configuration.
Fixed minimum NumPy version requirements.
Added wheel support.
Updated AppVeyor configuration and build scripts.
[0.9.12] - 2015-08-28ο
Updated documentation.
Updated version in conf.py.
Updated CHANGES.rst.
Reimplemented outlier detection and made it more robust.
Added limits.py with tests.
Updated main tests folder.
Moved Richardson and dea3 to extrapolation.py.
Making a new release in order to upload to pypi.
[0.9.11] - 2015-08-27ο
Fixed sphinx-build and updated docs.
Fixed issue #9 Backward differentiation method fails with additional parameters.
[0.9.10] - 2015-08-26ο
Fixed sphinx-build and updated docs.
Added more tests to nd_algopy.
Dropped support for Python 2.6.
[0.9.4] - 2015-08-26ο
Fixed sphinx-build and updated docs.
[0.9.3] - 2015-08-23ο
more useful benchmark plots.
Fixed bugs and updated docs.
Major rewrite of the easy to use interface to Algopy.
Added possibility to calculate nβth order derivative not just for n=1 in nd_algopy.
Added tests to the easy to use interface to algopy.
[0.9.2] - 2015-08-20ο
Updated documentation
Added parenthesis to a call to the print function
Made the test less strict in order to pass the tests on Travis for python 2.6 and 3.2.
[0.9.1] - 2015-08-20ο
Fix Sphinx build
Total remake of numdifftools with slightly different call syntax:
Can compute derivatives of order up to 10-14 depending on function and method used.
Updated documentation and tests accordingly.
Fixed a bug in dea3.
Added StepsGenerator as an replacement for the adaptive option.
Added bicomplex class for testing the complex step second derivative.
Added fornberg_weights_all for computing optimal finite difference rules in a stable way.
Added higher order complex step derivative methods.
[0.7.7] - 2014-12-18ο
Got travis-ci working in order to run the tests automatically.
Fixed bugs in Dea class.
Fixed better error estimate for the Hessian.
Fixed tests for python 2.6.
Adding tests as subpackage.
Restructerd folders of numdifftools.
[0.7.3] - 2014-12-17ο
Small cosmetic fixes.
pep8 + some refactorings.
Simplified code by refactoring.
[0.6.0] - 2014-02-08ο
Update and rename README.md to README.rst.
Simplified call to Derivative: removed step_fix.
Deleted unused code.
Simplified and Refactored. Now possible to choose step_num=1.
Changed default step_nom from max(abs(x0), 0.2) to max(log2(abs(x0)), 0.2).
pep8ified code and made sure that all tests pass.
[0.5.0] - 2014-01-10ο
Updated the examples in Gradient class and in info.py.
Added test for vec2mat and docstrings + cosmetic fixes.
Refactored code into private methods.
Fixed issue #7: Derivative(fun)(numpy.ones((10,5)) * 2) failed.
Made print statements compatible with python 3.
[0.4.0] - 2012-05-05ο
Fixed a bug for inf and nan values.
[0.3.5] - 2011-05-19ο
Fixed a bug for inf and nan values.
[0.3.4] - 2011-02-24ο
Made automatic choice for the stepsize more robust.
Added easy to use interface to the algopy and scientificpython modules.
[0.3.1] - 2009-05-20ο
First version of numdifftools published on google.code