PlasmaPy v2026.2.0 (2026-02-20)ο
Documentation Improvementsο
The
mamba-org/setup-micromambaGitHub action is now used to installgraphvizandpandocduring documentation build workflows. Because this action caches installed packages between runs, this change speeds up documentation builds on GitHub by βΌ1β2 minutes. (#3140)Updated the acknowledgements page to include a new NASA award supporting work on PlasmaPy infrastructure and maintenance. (#3148)
The Getting Ready to Contribute page of the Contributor Guide has been updated to show how to set up a virtual environment for development purposes using uv and install the dependency groups used for development. (#3157)
Bumped documentation builds from using Python 3.13 to using Python 3.14. (#3159)
Made minor documentation updates and fixed a configuration issue with the Read the Docs build. (#3188)
Updated subpackage headers and docstrings in
plasmapy.formulary. (#3190)Updated submodule headings in
plasmapy.formulary.collisions. (#3191)Switched the documentation builds from using the
sphinx-collapseextension to usingsphinx_toolbox.collapse. (#3203)Fixed a typo in a formula in the
plasma_frequencydocstring. (#3216)Fixed a typo in
two_fluid_dispersion.ipynb. (#3218)Fixed a typo in the docstring of
em_wavelength. (#3219)
Backwards Incompatible Changesο
Bug Fixesο
Dropped usage of the
newshapeparameter fromnumpy.reshapethat was deprecated in thev2.1.0and removed in thev2.4.0releases of NumPy. Usage of this parameter led to an error inmerge_voltage_clusters. (#3172)Fixed bug in tests for
thomsonwith NumPy 2.4 wherenumpy.random.uniformreturned an array that needed to be cast as a float. (#3186)Corrected
plasma_frequency_liteto take the absolute value of the charge numberZ. Because the absolute value ofZhad not previously been taken, the plasma frequency was able to be negative. This bug did not occur inplasma_frequency. (#3216)
Internal Changes and Refactoringsο
Updated the release checklist following the
v2025.10.0release. (#3131)Updated the workflow to verify that a PlasmaPy release can be installed via
conda-forge. (#3134)Renamed
.github/workflows/conda.ymlto.github/workflows/installability.yml, and added workflows to test that a new release of PlasmaPy can be installed from the Python Package Index with pip and uv, and from conda-forge with miniconda. (#3136)Updated the GitHub workflow for labeling pull requests that do not need changelog entries. (#3146)
Updated the Nox session that upgrades
uv.lockto only deleteuv.lockbeforehand if the file is invalid. (#3150)Simplified the Nox session to regenerate the
uv.locklockfile. (#3174)Renamed and revised Nox sessions for updating
uv.lockand validatinguv.lockagainst the requirements defined inpyproject.toml. (#3179)Adopted
uv buildas the build frontend anduv_buildas the build backend. (#3202)
Updates to Software Testingο
Switched the pytest configuration in
pyproject.tomlto use the modern TOML configuration (available forpytest>=9) rather than the legacy INI compatibility mode. (#3147)Began using
nox-uvinnoxfile.pyto simplify installation of developer dependency groups. (#3157)Removed several tests that were checking that passing a wrong type into certain functions raised a
TypeError. These tests had been issuing a deprecation warning from Astropy related to multiplication of a unit andstrinstance. (#3187)Updated the pytest configuration in
pyproject.tomlandnoxfile.py. (#3194)Separated the continuous integration checks for running tests and building documentation against unreleased versions of upstream dependencies into separate GitHub workflows. (#3195)
Added continuous integration workflows to check PHEP 3 compliance and compatibility with the Python in Heliophysics Community environment. (#3211)