CHANGES
=======

0.3.7
-----

* Switched back to last known working sphynx
* Added a space
* Use the reference
* Fixed #123. Use np.array type if no array operations are supported on the provided data
* Fixed #120. Only dividing by the overal chi once in the last step and then replacing nan by zero does the trick
* Removed some old commented debugging lines

0.3.6
-----

* Updated two tests to reflect that stdevs can be None by default if they are not computed
* Pragmatic fix of #116. Should be improved by giving ODEModels a numerical\_jacobian some day
* Added/extended some comments
* Did it properly now. Locally tests passed, making debugging challenging..
* Implemented sigma \*= np.ones(N). Fixes #109
* Changed my github username. Reflecting that change here
* Changed the dependancy of travis to matplotlib rather than mpl2.0rc2
* Fixed a bug in README and fixed a typo
* Fixed a minor mistake in the docs with header types
* Updated the examples to reflect the API update
* Adapted the tests to be compatible with the API update
* Changed no\_show to show to get rid of double negations, and introduced .execute to make the API consistant with the project
* Install matplotlib 2.0.0rc2 for all py versions
* Install matplotlib 2.0.0rc2 for py3.6
* Include installation instructions for the dependencies of contrib
* Made InteractiveGuess2D objects printable
* Add py3.6 to the travis build
* Added interactive guess to the module docs
* Final polishing
* Changed the example to prevent #104 from cropping up
* Process comments
* Fixed an issue with the dimensionaly of the Dfun argument to odeint
* Minor cosmetic changes to ODE\_2D\_example.py
* Switched to using \_eval\_model in the test
* Fixed typo
* Changed \_get\_data to \_eval\_model since that is more descriptive
* Fixed imports in ODE\_2D\_example.py
* Cosmetic changes in vector\_valued\_2D.py
* Fixed imports in vector\_valued\_2D.py
* Fixed imports in simple\_2D\_example.py
* Use Fit instead of ConstrainedNumericalLeastSquares by default
* Minor housekeeping
* Removed constraint\_type as a class attribute since it wasn't needed and caused the docs to panic
* Added leastsqbound to the list of things to ignore, since it uses a different style of docstrings then we do (numpy?)
* Enabled nitpick ignore for some packages
* Updated some docstring that triggered warnings
* Updated the bash command to a conditional code block for py3.5
* Only build docs in py3.5
* Fixed keywordonly in inheritance scenarios. Now survices all tests
* Added inheritance tests for keywordonly
* Updated keywordonly such that all tests for it work in py2. However, all other tests fail
* Added tests for the keywordonly decorator
* Switched keywordonly from getargspec to signature
* Fixed keywordonly in inheritance scenarios. Now survices all tests
* Added inheritance tests for keywordonly
* Updated keywordonly such that all tests for it work in py2. However, all other tests fail
* Added tests for the keywordonly decorator
* Switched keywordonly from getargspec to signature
* nitpick ignore module refs for now, and updated the build directory in conf so it is not scanned
* pip install sphinx with --upgrade
* Removed cache directory from sphinx command
* Added docs\_build directory
* Added sphinx-build script to autotest doc building
* Fixed #99. Now only Eq, Le and Ge constraints are allowed
* Seperated tests for Minimize from test\_general
* Changed examples to use ConstrainedNumericalLeastSquares
* Reordered some of the imports
* Fixed duplicate target name warning
* Made splitting over multiple lines in occordance with PEP8 and the Hitchhikers guide to Python (aka the bible)
* Made sure tuple unpacking is always presented as the first choice
* Some minor corrections to the style guide
* Updated to version 0.3.5. 0.3.4 was skipped because PyPI is unforgiving to the correction of mistakes, but rightfully so. See pypa/packaging-problems, #74
* Changed nose to pytest, since nose is retarded
* Add the [all] extra requirement
* Fix #95
* Still trying to fix #95
* Trying to fix #95, so trying a few things
* Added \_build to gitignore
* Wrapped all lines to ~80 characters
* FInished linking to API docs
* Extended some docstrings and added internal API links
* Added a constrained fitting example
* Made the notes on measurement errors a warning so it stands out
* Fixed some typos, and added a label to the Global Fitting section
* Started to weave a web of links
* Fixed a small typo, and added another reference to the apidocs
* Processed comments
* Fixed a last few more rst formatting errors in the docstrings. These fixes required explicit escaping in the docstrings, so it's a separate commit, so it may be dropped separately
* Fixed rst formatting errors in the docstrings
* Changed some permanently redirected links
* Added a description how the figures were made exactly to dependencies.rst
* Made the harmonic oscillator figures conform to the other figures
* Changed doc version to 0.3.3. Fixes #65
* Fix #68
* Fixed build warnings, and some minor blemishes
* Seaborn'ed the oscillator image
* Fixed a bunch of rst make-up
* Improved style guide, particularly on accessing vector valued functions
* Improved fitting types, added a few typos. Added a bunch of comments with questions/remarks
* Removed .api from the tutorial Redid most of the examples to follow the changes in preferred syntax Added some (rst) comments with unclear things
* fixed indentation and a typo, and processed @tBuLi's comments
* Added an harmonic oscillator to the docs. Fixes #77

0.3.5
-----

* Fixed FutureWarning for comparing with None
* Added \_build to gitignore
* Added myself to AUTHORS
* Wrapped all lines to ~80 characters
* FInished linking to API docs
* Extended some docstrings and added internal API links
* Added a constrained fitting example
* Made the notes on measurement errors a warning so it stands out
* Fixed some typos, and added a label to the Global Fitting section
* Started to weave a web of links
* Fixed a small typo, and added another reference to the apidocs
* Processed comments
* Fixed a last few more rst formatting errors in the docstrings. These fixes required explicit escaping in the docstrings, so it's a separate commit, so it may be dropped separately
* Fixed rst formatting errors in the docstrings
* Changed some permanently redirected links
* Added a description how the figures were made exactly to dependencies.rst
* Made the harmonic oscillator figures conform to the other figures
* Changed doc version to 0.3.3. Fixes #65
* Fix #68
* Fixed build warnings, and some minor blemishes
* Seaborn'ed the oscillator image
* Fixed a bunch of rst make-up
* Improved style guide, particularly on accessing vector valued functions
* Improved fitting types, added a few typos. Added a bunch of comments with questions/remarks
* Removed .api from the tutorial Redid most of the examples to follow the changes in preferred syntax Added some (rst) comments with unclear things
* fixed indentation and a typo, and processed @tBuLi's comments
* Added an harmonic oscillator to the docs. Fixes #77
* Make travis install just the contrib optional dependencies (for now). Specifying [\*] give pip errors
* Make travis install all extras
* Added matplotlib (required by interactive guess) to an extra/contrib section in setup.cfg
* Moved specific py2 dependancy to requirements.txt with an environment marker
* Added setuptools to pip install -U, to make pbs happy
* Link Fit.model to Fit.fit.model
* Added more tests of auto fit, as well as the same checks for ConstrainedNumericalLeastSquares and NumericalLeastSquares seperately
* Made minor changes to tests to switch to the use of either Fit, or to manually select a type
* Model.shared\_parameters to check if parameters are shared between vector components
* Define the new smart Fit object
* Added tests for the new auto-fit object
* Set pbr environment variable in before\_deploy
* Final commit. Branch master will now be deployed to pypi if a commit is tagged
* Fixed keyword formatting
* Auto package everything in the symfit package
* Fixed rst syntax error
* Changed setup.cfg accordingly
* Changed from README.md to README.rst
* Deploy to test \*only\*
* Deploy to test upon tagging this branch
* README -> README.md
* Changed from setup.py to pbr with setup.cfg. This will automize version management amongst other things
* Changed to deploy master branch only, should be ready for use in the field\!
* Reactivated setup.cfg for making wheels universal
* Deploy both a universal wheel and a source dist
* Added a lot of debuging print statements
* Added skip\_cleanup=True
* Removed matrix line, which was readded by merging with master
* Removed import of other test objects  entirely since that is now done by nosetests
* Fixed the bug in passing assumptions to sympy.Symbol
* Fixed a small mistake of calling .value instead of .stdev
* Re-enabled all tests
* Changed checking for namedtuple to tuple for now, because the namedtyple returns a new type and can therefore not be checked for that easily
* Added \_\_init\_\_.py to make tests a package
* Improved the 2 2D Gaussian test
* Switched all tests to the FitResults.value paradigm
* Retired the old fit\_result.params.a paradigm from test\_general.py. It is updated to the new fit\_result.value(a)
* Fixed typos, comments and improved readability of vector model initiation to be in accordance with style guide
* Improved the test of Maximize to compare directly with the results from scipys minimize
* Added namedtuple type assert for calls to Model
* Added matplotlib and seaborn to travis again, since the tests are still broken in this branch
* Changed .travis.yml to use pip instead of conda
* Moved install twine to the install section rather than before\_deploy
* Force install twine before deploying
* Updated version number to trigger an upload to testpypi
* Deploy to PyPI test from all branches temporarily to see if this solves the issue
* Added encrypted password
* Prepared .travis.yml up to but excluding password
* Removed 3.3 support and changed setup.py accordingly
* Force scipy 0.18.1 to be installed
* Catch LinAlgError in case of singular covariance matrix, don't return one in that case
* Moved tests to adhere to pytest/nosetest standards
* Restricted travis to only run the symfit tests, and not the sympy ones as well
* Minor cosmetic changes
* Give default values to arguments to .execute through keywordonly, such that in the future they can be added to the docs dynamically
* Merged constrained fitting branch into master
* New version of ConstrainedNumericalLeastSquares, all ready to go, and with new tests :)
* Minor fix to a test, calling models returns a namedtuple of arrays, the slicing of those arrays was missing
* Slight cosmetic change
* Removed print statements
* Only pass the numerical\_jacobian to minimize if it exists
* Updated covariance handeling in HasCovarianceMatrix to deal with all types of datasets
* Added a test to make sure the method for estimation of covariances for datasets of unequal length is backwards compatible with equal length
* Added ConstrainedNumericalLeastSquares, and tests. Not all bugs have been ironed out yet, but this is as a first version it works. Stay tuned for the next commits
* ODEModel now also passes the jacobian of the model to the integrator
* Minimize.execute now passes on args and kwargs, something it should have been doing all along
* Removed hard type assertions in FitResults, because its causing more problems than it solves
* Updated some docstrings and removed some commented code that has to go bye bye
* Minor cleanup
* Added ConstrainedNumericalLeastSquares to the API, and did some cleanup
* Changed Fit calls to NumericalLeastSquares calls to make sure we do a local optimization after guessing. See #75, #86
* Fixed a minor mistake in the initiation of Minimize from constraint objects
* Changed interface of Minimize and its subclasses somewhat such that error\_func and eval\_jacobian accept the different types of data (dependent, independent, sigma), seperately. This makes the code inside these functions a lot clearer, and consistent with other Fitting objects
* Fixed some minor typos and changed docstrings
* Changed all the data shorthand properties from dict to OrderedDict, to make sure one can always rely on the alphabetic ordering being respected
* Add a config file for travis-ci
* Changed another test to EAFP
* Changed the if-statement back to a try-except, in order to be more EAFP
* Added some very simple initial data to make sure code examples from the readme will run
* Slightly improved the global fitting example
* Added some notes on global fitting to the docs, a long hidden feature of symfit
* Fixed #61. D should now be present in the next version of the docs
* Fixed #62. ODE models can now be evaluated at single points like their supposed to. Added a test to ensure this is true
* Made TakesData even more bulletproof
* Update tutorial.rst
* Fixed errors that happens when variables are None, which can now happen due to the ODE code
* Update README.md
* Fixed some estatics
* Updated version number
* Fixed merge conflicts
* Deleted some unused imports
* added initial style guide to the docs. #36
* Minor changes to ODE tests
* Minor changes to ODE tests
* Added images for the docs
* #53, included ODEs in the documentation
* Added an example of integrating a complex double equilibrium model. No fitting included. #48
* Added axis labels
* Example of simple ODE fitting has been added:
* Removed .api from examples
* Improved docstring on ODEModel and cleaned up some of its code
* Fixed #59, which caused problems with unicode Argument names
* Newline at the end of the file
* Fixed a small beautymark
* Split off TakesData from BaseFit to suit PR#33
* Added some documentation for the ODE branch
* Fixed some typos. Probably added some too
* Fixed #50 by adding more data
* to appease git..
* Fixed minor bug and increased the number of iterations for NonLinearLeastSquares
* Fixed merge conflicts
* Save changes to local ODE branch
* Fixed #49 and Fixed #48. ODE models are now supported and fitable with at least NumericalLeastSquare. Other objects should be checked
* Defined some model abcs, time to merge with ode
* ODE roughly works now, up to the changes in the abc branch. Redifining ABC's now
* Commit some minor changes before switching branch
* First attempt at defining abc's
* Removed some commented out code
* Made the internal API consistent with #47, internally we now take full advantage of the sexier model API
* Made Model's into dicts, thereby fixing #47
* Added some notes on NonLinearLeastSquares to the docs, and hopefully got rid of \_\_weakref\_\_ autodocking
* Minor changes to make the docs look better
* Removed BaseFit as a seperate entry
* 0.3.2 setup made

0.3.2
-----

* (Non)LinearLeastSquares finished
* Update README.md
* Updated the README
* Fixed #43. Added methods for (co)variance, stdev and value to fit\_results directly for convinience
* Update README.md
* Fixed a crusial typo
* Fixed #40: all BaseFit children must have error\_func and eval\_jacobian
* Slightly changed the fits. py2 compatibility is restored
* Added pyinstaller support. Works by checking if the script is running as exe and then searches the exe folder for the required source file. Does require to distribute the python source code with the exe
* Added some tests for the new parameters/variables convinience methods
* Fixed #27. Also added some docstrings to the support module
* Updated text slightly to include the sigma keyword
* Fixed #22, the biggest problem of symfit. The docs should be changed to clearly reflect the implementation of the sigma keyword in symfit

0.2.6
-----

* Updated setup.py. Also included dependencies this time
* Steps taken towards #22, but more theoretical backing is needed. This new version does reduce the problem, and now defaults to curve\_fit with absolute\_error=True. Fixed #23
* Fixed #26. Symbols are ordered alphabetically
* Fixed #24. Fitting to a constant is now allowed

0.2.5
-----

* Updated setup.py
* Fixed #20 and fixed #17. Python3 should now be supported

0.2.4
-----

* Üpdated
* Submodels can now be evaluated easely. Fixed #14
