Version 1.0.1 Release Notes
============================
**Version 1.0.1 is the last release that supports Python 3.5**. All newer version will
require 3.6+ so that we can use formatting-strings and rely on dictionaries being ordered.
New features:
- added thermal distribution model and lineshape
- introduced a new argument ``max_nfev`` to uniformly specify the maximum number of function evalutions
**Please note: all other arguments (e.g., ``maxfev``, ``maxiter``, ...) will no longer be passed to the underlying
solver. A warning will be emitted stating that one should use ``max_nfev``.**
- the attribute ``call_kws`` was added to the ``MinimizerResult`` class and contains the keyword arguments that are
supplied to the solver in SciPy.
Bug fixes:
- fixes to the ``load`` and ``__setstate__`` methods of the Parameter class
- fixed failure of ModelResult.dump() due to missing attributes
- ``guess_from_peak`` function now also works correctly with decreasing x-values or when using
pandas
- the ``Parameter.set()`` method now correctly first updates the boundaries and then the value
Various:
- fixed typo for the use of expressions in the documentation
- removal of PY2-compatibility and unused code and improved test coverage
- removed deprecated ``isParameter`` function and automatic conversion of an ``uncertainties`` object
- inaccurate FWHM calculations were removed from built-in models, others labeled as estimates
- corrected spelling mistake for the Doniach lineshape and model
- removed unsupported/untested code for IPython notebooks in lmfit/ui/*
Version 1.0.0 Release Notes
New features:
- no new features are introduced in 1.0.0.
Improvements:
- support for Python 2 and use of the ``six`` package are removed.
Various:
- documentation updates to clarify the use of ``emcee``.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
Version 0.9.13 Release Notes
New features:
Clearer warning message in fit reports when uncertainties should but cannot be estimated, including guesses of which Parameters to examine
SplitLorenztianModel and split_lorentzian function
HTML representations for Parameter, MinimizerResult, and Model so that they can be printed better with Jupyter
support parallelization for differential evolution
Bug fixes:
delay import of matplotlib (and so, the selection of its backend) as late as possible
fix for saving, loading, and reloading ModelResults
fix to leastsq to report the best-fit values, not the values tried last
fix synchronization of all parameter values on Model.guess()
improve deprecation warnings for outdated nan_policy keywords
fix for edge case in gformat()
Project managements:
using pre-commit framework to improve and enforce coding style
added code coverage report to github main page
updated docs, github templates, added several tests.
dropped support and testing for Python 3.4.
Version 0.9.12 Release Notes
New features:
- SkewedVoigtModel was added as built-in model
- Parameter uncertainties and correlations are reported for least_squares
- Plotting of complex-valued models is now handled in ModelResult class
- A model's independent variable is allowed to be an object
- Added usersyms to Parameters() initialization to make it easier to add custom functions and symbols
- the numdifftools package can be used to calculate parameter uncertainties and correlations for all solvers that do not natively support this
- emcee can now be used as method keyword-argument to Minimizer.minimize and minimize function, which allows for using emcee in the Model class
(Bug)fixes:
- asteval errors are now flushed after raising
- max_time and evaluation time for ExpressionModel increased to 1 hour
- loading a saved ModelResult now restores all attributes
- development versions of scipy and emcee are now supported
- ModelResult.eval() do no longer overwrite the userkws dictionary
- running the test suite requires pytest only
- improved FWHM calculation for VoigtModel
0.9.11:
make exception explicit
0.9.10:
add AMPGO and basin-hopping global optimization methods.
aborting a fit from the objective function now raises AbortFitException
fit statistics are more uniformly calculated.
the uncertainties package is now an external dependency, and an out-dated copy is no longer kept in lmfit.
more exceptions when import matplotlib are now tolerated.
many documentation fixes.
Version 0.9.9:
Lmfit now uses the asteval (https://github.com/newville/asteval) package
instead of distributing its own copy. The minimum required asteval version
is 0.9.12, which is available on PyPi. If you see import errors related to
asteval, please make sure that you actually have the latest version installed.
Changes to 0.9.7 not immediately obvious
Version 0.9.6 Release Notes
Support for SciPy 0.14 has been dropped: SciPy 0.15 is now required.
This is especially important for lmfit maintenance, as it means we can
now rely on SciPy having code for differential evolution and do not
need to keep a local copy.
A brute force method was added, which can be used either with
Minimizer.brute() or using the method='brute' option to
Minimizer.minimize(). This method requires finite bounds on all varying
parameters, or that parameters have a finite brute_step attribute set
to specify the step size.
Custom cost functions can now be used for the scalar minimizers using
the reduce_fcn option.
Many improvements to documentation and docstrings in the code were
made. As part of that effort, all API documentation in this main Sphinx
documentation now derives from the docstrings.
Uncertainties in the resulting best-fit for a model can now be
calculated from the uncertainties in the model parameters.
Parameters have two new attributes: brute_step, to specify the step
size when using the brute method, and user_data, which is unused but
can be used to hold additional information the user may desire. This
will be preserved on copy and pickling.