PlasmaPy v2025.10.0 (2025-10-25)ο
Documentation Improvementsο
Set documentation builds in continuous integration tests to use Python 3.13. (#3091)
Deprecations and Planned Removalsο
Removed the
binding_energyattribute ofParticle, which had previously been deprecated in favor ofnuclear_binding_energy. (#3074)Dropped support for Python 3.11. (#3110)
Bug Fixesο
Fixed an
AttributeErrorthat was raised when attempting to set the__doc__attribute of the type aliasesParticleLikeandParticleListLikein Python 3.14. The__doc__attribute is no longer set directly because attributes oftyping.Unionobjects may no longer be set in Python 3.14. This error prevents previous versions of PlasmaPy from being imported in Python 3.14 (see #3123). CallinghelponParticleLikeorParticleListLikenow pulls up the docstring for a generictyping.Unionobject rather than the docstrings defined in the source code. The docstrings for these widely used type aliases are still available in the online documentation for PlasmaPy, complemented by the glossary definition for particle-like. (#3110)
Internal Changes and Refactoringsο
Reduced the number of warnings reported during tests to zero when tests are run against the most recent versions of dependencies. (#3074)
Warnings issued during tests are now converted to errors, except when testing against the lowest allowed versions of direct dependencies. (#3074)
Updated the checklist for performing a release. (#3089)
Removed obsolete configuration settings from
mypy.ini. (#3094)Added Python 3.14 to the continuous integration suite. (#3110)
Split up the weekly continuous integration tests previously in
.github/workflows/weekly.ymlintoci-comprehensive.ymlfor comprehensive tests,ci-upstream.ymlfor tests and documentation builds performed with the latest unreleased versions of upstream dependencies, andconda.ymlfor attempting an installation of PlasmaPy using miniconda. (#3110)Removed
pre-commit-search-and-replaceas a pre-commit hook. (#3113)Replaced the Nox session and GitHub check to validate
CITATION.cffwith a pre-commit hook. (#3122)Added a pre-commit hook to update
uv.lockif any changes to requirements were made inpyproject.toml. This hook is not run onpre-commit.cibecause it requires network access. (#3122)Removed some pre-commit hooks that are covered by ruff rules, such as
python-check-blanket-noqa. (#3122)