We are pleased to announce the release of BornAgain 25.0.0. This release consolidates the transition to a Python-only interface begun in v24 and extends the simulation of magnetic samples. Starting with 25.0.0, we adopt Semantic Versioning: major versions indicate breaking changes, minor versions add backward-compatible features, and patches fix bugs. Data import now mainly uses standard Python packages such as NumPy and FabIO. Fit objective functions are defined directly in user scripts and passed to optimizers from lmfit or SciPy. Detector masks are boolean NumPy arrays; our new standalone tool PixelMasker [1] helps create them. The same plotting functions can now be used for both static figures and live fit monitoring. New simulation capabilities, illustrated in the expanded example collection, include: - Diffuse scattering from rough interfaces with polarized beams and magnetic samples. - Simulations with the beam entering through the substrate. - Depth-probe simulations with polarized beams and magnetic samples. - Custom backgrounds defined directly in user scripts. - Scattering from one-dimensional paracrystals. Each example now declares its dependencies in a header comment. We are experimenting with uv, a Python environment manager that uses this information to set up the required environment and run the script automatically. Most API calls from BornAgain 24 remain supported, but some scripts will need adjustments. The migration guide [2] explains the changes. BornAgain is available through PyPI [3] for Linux and Windows, and our Homebrew tap [4] for macOS. For more details, see the release notes [5]. For the full list of changes, see the CHANGELOG [6]. Best greetings from the BornAgain maintainer team: Ammar Nejati, Mikhail Svechnikov, Joachim Wuttke [1] PixelMasker https://jugit.fz-juelich.de/mlz/app/pixelmasker [2] Migration guide https://jugit.fz-juelich.de/mlz/bornagain/-/blob/v25.0.0/migrate24to25.md [3] PyPI https://pypi.org/project/BornAgain [4] Homebrew https://jugit.fz-juelich.de/mlz/homebrew [5] Release notes https://bornagainproject.org/news/release-25.0.0/ [6] CHANGELOG https://jugit.fz-juelich.de/mlz/bornagain/-/blob/v25.0.0/CHANGELOG