Priority is making the new release compatible with NumPy2. Should backcompatibility with NumPy1 turn out to be difficult, then we ought to discuss whether it's worth the extra effort.
A module that was compiled using NumPy 1.x cannot be run in NumPy 2.1.3 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0.
The packages of Python platforms on all the CI-machines should be hence updated.
Note: Numpy 2 is available only for Python >= 3.9.
Built BornAgain with Python 3.9 and 3.10 with Numpy 2 and tested successfully the Python package and installer with the standard Python installation.
Tested with Conda with Python 3.10 and Numpy 1.24.3.
Linux:
BornAgain Python package build with Python 3.10 + Numpy2 tested successfully on a clean Ubuntu 22.4 with default Python 3.10 and Numpy 1.24.2.
BornAgain GUI and Python package build with Python 3.10 + Numpy 1.24 tested successfully on a clean Ubuntu 22.4 (LTS) with default Python 3.10 and Numpy 2 in virtual-environment (venv).
BornAgain GUI and Python package build with Python 3.10 + Numpy 1.24 tested successfully on a clean Ubuntu 24.04 (LTS) with Python 3.10.15 installed via pyenv.