New features
- Redesigned all of the plotting functions in ``mcalf.visualisation`` to be more general and integrate better with matplotlib
- Added ``mcalf.utils.plot`` module with lots of new functions
- Added function ``mcalf.utils.misc.merge_results`` to merge multiple files exported by ``mcalf.models.FitResults.save``
Refactors
- In ``mcalf.models``, refactored ``mcalf.models.ModelBase`` and ``mcalf.models.IBIS8542Model`` to make the base model more general and the IBIS model more specific
- In ``mcalf.models``, improved handling of default parameters between a model and its parent classes
- In ``mcalf.models``, moved all classes and functions from submodules into ``mcalf.models``
- In ``mcalf.models``, deprecated the inclusion of a prefilter when initialising the model in favor of processing outside of the package, however, the existing functionality remains but a warning is given
- Moved functions in ``mcalf.profiles`` to separate ``mcalf.profiles.voigt`` and ``mcalf.profiles.gaussian`` modules
- Removed unused, undocumented and untested skew normal functions from ``mcalf.profiles``
- Moved functions in ``mcalf.utils`` to separate submodules
- Merged all submodules of ``mcalf.visualisation``
Documentation
- Docstrings are made more consistent, typos are corrected and more examples are added
- Integrated ``sphinx-gallery`` package into documentation
- Added examples to the example gallery for all functions in ``mcalf.visualisation``
- Added detailed documentation on running tests on the code
- Added citation for new paper ([doi:10.1098/rsta.2020.0171](https://doi.org/10.1098/rsta.2020.0171))
- In ``mcalf.models``, generated docstrings from replacement strings to improve consistency
- In ``mcalf.profiles.voigt``, generated docstrings from replacement strings to improve consistency
- Added intersphinx mappings to other packages' documentation
- Included private members of ``mcalf.models.ModelBase`` in subclasses (https://github.com/astropy/sphinx-automodapi/pull/121)
- Automatically update the year in documentation
Testing/CI
- Increased test coverage throughout the package
- Using ``pytest-mpl`` to verify matplotlib figures produced during tests
- Migrated testing from Travis CI to Azure Pipelines
- Moved tests from the package root to ``mcalf.tests`` inside the package source directory to enable testing wheels
- Moved details from ``setup.py`` to ``setup.cfg``
- Moved testing and documentation dependencies to separate extra requirements sections
- Added custom configuration settings for pytest, coverage and tox
- Using ``setuptools_scm`` to keep track of package version number and files
- Force ``mcalf.models.voigt`` to not use the C library if running on readthedocs as they do not support building C extensions