PlasmaPy v0.5.0 (2020-12-09) ============================ This release of PlasmaPy contains 58 commits in 31 merged pull requests closing 16 issues from 8 people, 4 of which are first-time contributors to PlasmaPy. The people who have contributed to the code for this release are: * Dominik StaƄczak * Nick Murphy * Peter Heuer * Ramiz Qudsi * * Steve Richardson * * Tiger D * * W. Cody Skinner * * rocco8773 Where a * indicates their first contribution to PlasmaPy. Backwards Incompatible Changes ------------------------------ - Created `plasmapy.dispersion` in accordance with PlasmaPy Enhancement Proposal 7 (`PLEP 7 `_) and migrated the dispersion functionality (:file:`dispersionfunction.py`) from `plasmapy.formulary` to `plasmapy.dispersion`. (`#910 `__) - Removed default values for the ``ion`` and ``particle`` arguments of functions contained in ``plasmapy.formulary.parameters``, in accordance with :issue:`453`, and updated all relevant calls to modified functionality. (`#911 `__) - Moved test helper exceptions from ``plasmapy.utils.pytest_helpers`` to ``plasmapy.tests.helpers``. (`#919 `__) - Updated ``plasmapy.formulary.parameters.mass_density`` so it calculates the mass density for a specific particle from a given number density. Original function calculated the total mass density (ion + electron). (`#957 `__) Features -------- - Added a function to calculate the power spectrum of thermal bremsstrahlung emitted by a Maxwellian plasma. (`#892 `__) - Added support for multiple electron components to diagnostics.thomson.spectral_density. Also fixed a bug for multiple ion populations. (`#893 `__) - Added dependency ``pygments >= 2.4.1``. (`#898 `__) - Created the `plasmapy.analysis` package as per `PLEP 7 `_ and initialize the package with the `~plasmapy.analysis.fit_functions` module. Fit functions are designed to wrap together an analytical function, a curve fitter, uncertainty propagation, and a root solver to make curve fitting a little less painful. (`#908 `__) - Created a new subpackage, ``plasmapy.tests.helpers``, to contain test helper functionality. (`#919 `__) - Created decorator `~plasmapy.utils.decorators.helpers.modify_docstring`, which allows for programmatically prepending and/or appending a docstring. (`#943 `__) Bug Fixes --------- - Allowed implicit conversions of AstroPy units in inputs and outputs of validated functions to happen without warnings. Most notably, this removes warnings on eV inputs to temperature fields. (`#886 `__) - Updated ``plasmapy.formulary.parameters.Alfven_speed`` to properly use the updated ``plasmapy.formulary.parameters.mass_density`` and maintain the same behavior. Also added handling of the ``ion`` input keyword, so `~plasmapy.particles.particle_class.Particle` and the `~plasmapy.particles.particle_class.Particle` convertible representations can be used as inputs. (`#957 `__) Improved Documentation ---------------------- - Improved the release guide after the release of 0.4.0. (`#872 `__) - Added various improvements to the documentation. * Replaced home link with the plasmapy logo. * Added module and index navigation links to sidebar header. * Replaced raw html on the main page that simulates a ``nbgallery`` with a real ``nbgallery`` directive. * Moved link to view page source code from the header to footer. * Added link to footer the jumps the user back to the top of the page. * Created and added custom CSS stylesheet. * Created :file:`_templates` directory and templates to customize page elements. (`#875 `__) - Added static stub files to :file:`docs/api_static` so all modules of `plasmapy` are indexed. This is necessary to expose all of `plasmapy` since not all modules are indexed in the narrative documentation. (`#878 `__) - Decomposed sub-package ``plasmapy/utils/roman/`` into the :file:`plasmapy/utils/roman.py` file. Moveed definition of ``roman`` specific exceptions into `plasmapy.utils.exceptions`. (`#883 `__) - Replaced references to ``Riot.im`` with references to ``Element.io`` or Matrix, as appropriate, following their recent rebranding. (`#891 `__) - Updated the information on how to cite PlasmaPy, including in the release guide. (`#900 `__) Trivial/Internal Changes ------------------------ - Applied isort to entire codebase, bringing it back to the pre-commit hook suite. (`#857 `__) - Expanded package metadata contained in ``codemeta.json``, following the CodeMeta standard. (`#902 `__) - Changed remaining instances of @u.quantity_input to @validate_quantities in response to issue #880. (`#905 `__) - Switched from Azure Pipelines to GitHub Actions for PR tests to make things easier for contributors. Moved away from Travis CI for test cron jobs. (`#952 `__)