diff --git a/_posts/2025-03-11-release-2.9.0.md b/_posts/2025-03-11-release-2.9.0.md new file mode 100644 index 00000000..bbeb18bb --- /dev/null +++ b/_posts/2025-03-11-release-2.9.0.md @@ -0,0 +1,135 @@ +--- +layout: post +title: Release 2.9.0 of MDAnalysis +--- + +We are happy to release version 2.9.0 of MDAnalysis! + +This is a minor release of the MDAnalysis library, which means that it +contains enhancements, bug fixes, deprecations, and other +backwards-compatible changes. + + +## Supported environments + +This release supports NumPy 2.0+ and offers backwards compatibility +through to NumPy 1.23.2. + +Supported Python versions: **3.10, 3.11, 3.12, 3.13**. + +Supported Operating Systems: + - **Linux** (on [x86-64][]) + - **Windows** (on [x86-64][]) + - **MacOS** (on [x86-64][] and [ARM64][]) + + +## Upgrading to MDAnalysis version 2.9.0 + +To update with `mamba` (or `conda`) from the [conda-forge channel][] run + +```bash +mamba update -c conda-forge mdanalysis +``` + +To update from [PyPi][] with `pip` run + +```bash +python -m pip install --upgrade MDAnalysis +``` + +For more help with installation see the [installation instructions in the User Guide][]. +Make sure you are using a Python version compatible with MDAnalysis +before upgrading (Python >= 3.10). + + +## Notable changes + +For a full list of changes, bug fixes and deprecations see the [CHANGELOG][]. + +#### Enhancements: + +* Support for Gromacs v2024.4 and v2025 TPR files. +* A new "water" keyword for selecting water residues. +* Support for **[distopia][] 0.4.0** as an optional distance library + backend that now supports [many more distance + functions](https://docs.mdanalysis.org/stable/documentation_pages/lib/distances.html#id2) + for *all box types* (including general triclinic unit cells). + + On supported [x86-64][] platforms, install *distopia* with + ```bash + mamba install -c conda-forge distopia + ``` + + You can then [enable *distopia* as a + backend](https://docs.mdanalysis.org/stable/documentation_pages/lib/distances.html#use-of-the-distopia-library) + to make use of the optimized *distopia* code for + compute-intensive distance calculations, such as + [`distance_array()`](https://docs.mdanalysis.org/stable/documentation_pages/lib/distances.html#MDAnalysis.lib.distances.distance_array): + + ```python + protein = u.select_atoms("protein and not name H*") + lipids = u.select_atoms("resname POPC CHOL and not name H*") + d = MDAnalysis.lib.distances.distance_array(protein, lipids, + box=u.dimensions, + backend="distopia") + ``` + + If you want to see if *distopia* is available as a backend in a running + program, check that the variable `MDAnalysis.lib.distances.HAS_DISTOPIA` is + `True`. + +* Parallel analysis support for `MDAnalysis.analysis.nucleicacids`, `MDAnalysis.analysis.contacts`, and `MDAnalysis.analysis.density`. +* XYZ writer can now write positions up to a user-supplied precision via the `precision` keyword argument. + + +#### Changes: + +* `MDAnalysis.analysis.hole2`, `MDAnalysis.analysis.psa`, and + `MDAnalysis.analysis.waterdynamics`, are now only available via + optional dependencies (the mdahole2, pathsimanalysis, and + waterdynamics [MDAKits][]). By default these will not be installed, you + will need to install them separately if you wish to use them from + within `MDAnalysis.analysis`. Please + note that *in v3.0* theses modules will be *removed completely from the + MDAnalysis core library* and you will need to use the MDAKits + directly. +* `fasteners` dependency has been switched to `filelock`. +* Codebase is now formatted with black (version 24) + + + +## Author statistics + +This release was the work of 10 contributors, **3** of which are **new contributors**. + +Our **new contributors** are: + +* @ChiahsinChu +* @tanishy7777 +* @jauy123 + + +## Acknowledgements + +MDAnalysis thanks [NumFOCUS][] for its continued support as our fiscal sponsor and +the [Chan Zuckerberg Initiative][] for supporting MDAnalysis under EOSS4 and EOSS5 awards. + +— @IAlibay and @p-j-smith ([release managers][roles]) on behalf of the [MDAnalysis Team][] + + +---- + + +[SPEC 0]: https://scientific-python.org/specs/spec-0000/ +[x86-64]: https://en.wikipedia.org/wiki/X86-64 +[ARM64]: https://en.wikipedia.org/wiki/Apple_M1 +[installation instructions in the User Guide]: https://userguide.mdanalysis.org/stable/installation.html +[conda-forge channel]: https://anaconda.org/conda-forge/mdanalysis +[PyPi]: https://pypi.org/project/MDAnalysis/ +[NumFOCUS]: https://www.numfocus.org +[CHANGELOG]: https://github.com/MDAnalysis/mdanalysis/blob/release-2.9.0/package/CHANGELOG +[Chan Zuckerberg Initiative]: https://chanzuckerberg.com/ +[roles]: {{ site.baseurl }}/pages/team/#roles +[MDAnalysis Team]: {{ site.baseurl }}/pages/team +[MDAKits]: https://mdakits.mdanalysis.org/ +[distopia]: https://github.com/MDAnalysis/distopia