This document contains the release notes for each version of PlasmaPy.
A list of the changes for each version are included in the
Change Log.

PlasmaPy uses semantic versioning. Version
numbers are of the form MAJOR.MINOR.PATCH. Development releases have
MAJOR equal to 0. The application programming interface (API)
during the development phase is unstable and anything may change at
any time. Starting with version 1.0.0, MAJOR must be incremented
whenever the API changes in a way that is not backwards compatible,
MINOR must be incremented whenever the API expands while maintaining
backwards compatibility, and PATCH must be incremented for each bug
fix release.

Version 0.1.1 is a minor release fixing a small
number of bugs and adding two
convenience features, plasmapy.online_help and
plasmapy.__citation__. For more information,
take a look at the
Version 0.1.1.

The people who have contributed to this release include
((!) denoting first-time contributors):

We are excited to announce the first development release of PlasmaPy: a community-developed fully open source
core Python package for plasma physics.

Version 0.1.0 is a preview and a prototype. It is not yet feature
complete or recommended for production work. Significant changes to the
API are expected to occur between versions 0.1.0 and 0.2.0. Rather,
version 0.1.0 serves as an invitation to plasma students and
scientists to collaboratively develop a community-wide shared software
package for our field.

If you have a scientific Python 3.6+ environment already configured,
you may install PlasmaPy with pip by
running:

PlasmaPy uses Astropy’s units subpackage to represent
physical quantities with units, and for compatibility with
Astropy and SunPy.
This subpackage handles unit conversions, and raises exceptions for
operations that have incompatible units. New users may wish to become
familiar with this functionality by reading Astropy’s units subpackage
documentation. An example
use case is:

PlasmaPy’s physics subpackage contains functions to
calculate a wide variety of plasma parameters, dielectric tensor
components, and relativity/quantum physics parameters used in plasma
physics. The transport module of
physics contains functionality to calculate collision rates
and transport parameters (including an object-oriented interface to
classical transport coefficients). The atomic subpackage
includes both functional and object-oriented interfaces to access atomic
parameters and represent particles. The mathematics
subpackage contains analytical functions that are commonly used in
plasma physics (including the plasma dispersion function). The
classes subpackage includes prototype classes to represent
plasma configurations, including a particle pusher.

PlasmaPy requires Python 3.6+. The core developers chose to
support Python 3.6+ because Python 2.7 will cease to be supported by
most scientific Python packages within about a year, Python 3.6 will
likely to be the oldest version of Python still in common use by the
time we release PlasmaPy 1.0.0, and Python 3.6 contains new features
such as formatted string literals that greatly improve readability.

If there is functionality that you would like future versions of
PlasmaPy to include or if you discover a bug, we encourage you to
raise an issue with
your ideas or even contribute code directly.

The following resources provide more information on PlasmaPy, including
how to contribute.