PlasmaPy v0.1.0 (2018-04-29)
============================

Version 0.1.0 is the initial development release of PlasmaPy. This
version is a prototype and a preview, and is not feature complete.
Significant changes to the API are expected to occur between versions
0.1.0 and 0.2.0, including backward incompatible changes.

.. _change-log-0.1.0-new:

New Features
------------

* Composed PlasmaPy's vision statement.

* Adopted the :ref:`plasmapy-code-of-conduct`.

* Created a guide on :ref:`contributing to PlasmaPy <contributor guide>`.

* Adopted a permissive BSD 3-clause `license
  <https://github.com/PlasmaPy/PlasmaPy/blob/main/LICENSE.md>`_ with
  protections against software patents.

* Set up continuous integration testing with `Travis CI
  <https://www.travis-ci.com/>`_, `CircleCI <https://circleci.com/>`_, and
  `AppVeyor <https://www.appveyor.com/>`_, along with test coverage
  checks with `Coveralls <https://coveralls.io/>`_.

* Decided upon code and docstring style conventions and set up
  automated code style checks with ``pep8speaks``.

* Developed `online documentation for PlasmaPy
  <https://docs.plasmapy.org>`_ that is hosted by |Read the Docs|.

  - Automated documentation builds with |Sphinx|.

  - Wrote narrative documentation for each subpackage.

* Adopted use of `~astropy.units` as a units package.

* Created the ``plasmapy.atomic`` subpackage to provide easy access to
  commonly used atomic data.

  - Created a functional interface to access particle properties and
    find the energy released from nuclear reactions.

  - Created the ``plasmapy.atomic.Particle`` class as an object-oriented
    interface to the ``plasmapy.atomic`` subpackage.

  - Created the ``plasmapy.atomic.particle_input`` decorator.

* Created the ``plasmapy.classes`` subpackage that includes the prototype
  ``plasmapy.classes.Plasma3D``, ``plasmapy.classes.PlasmaBlob``, and
  ``plasmapy.classes.Species`` classes.

* Created the ``plasmapy.constants`` subpackage.

* Created the ``plasmapy.mathematics`` subpackage that contains
  analytical functions commonly used in plasma physics.

* Created the ``plasmapy.physics`` subpackage with its
  ``plasmapy.physics.transport`` module to calculate plasma parameters,
  transport coefficients, dielectric tensor elements, collision rates,
  and relativity/quantum physics parameters used in plasma physics.

* Created the `~plasmapy.utils` subpackage.

  - Created ``plasmapy.utils.check_quantity`` and
    ``plasmapy.utils.check_relativistic`` decorators.

  - Created custom exceptions.

  - Added import helper and test helper functionality.

* Began development of the `~plasmapy.diagnostics` subpackage.

  - Created a module to interpret Langmuir probe data.

* Created a repository for `PlasmaPy Enhancement Proposals
  <https://github.com/PlasmaPy/PlasmaPy-PLEPs>`_.

* Began using `type hint annotations
  <https://docs.python.org/3/library/typing.html>`_.

* Set up architecture to incorporate `Cython <https://cython.org/>`_ into
  performance-critical sections of code.

* Incorporated import and setup tools from the ``astropy_helpers``
  package.

* Set up a page describing the :ref:`subpackage-stability`.

.. _change-log-0.1.0-api:

Changes to API
--------------

- PlasmaPy now has an API.

.. _change-log-0.1.0-bugfix:

Bug Fixes
---------

- Fixed bug in universe that cause solar neutrinos to oscillate
  between different flavors.

.. I went to a talk on neutrinos once, but it all just went in one ear
   and out the other.
