Dear EasyBuilders,

It is my pleasure to announce the release of EasyBuild v4.1.0.

This time, I don't have to think hard to come up with a reason why this is the best EasyBuild release to date...

Not only does EasyBuild v4.1.0 include a variety of enhancements, bug fixes, software updates and support for new software, it's also the first EasyBuild version (ever) that was released by someone outside of the HPC-UGent team!

Please join me in thanking EasyBuild maintainer Miguel Dias Costa from the National University of Singapore, for his efforts this week to act as EasyBuild release manager (he requested that I would send the release announcement).


First, it's worth noting that support for running EasyBuild on top of Python 2.6 or for using Lmod 6.x as modules tool is now deprecated, see also https://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html. We won't actively break using Python 2.6 or Lmod 6.x just yet, but if you're still relying on them it's time to look into upgrading...


Highlights of the changes in EasyBuild v4.1.0 include:

* various performance improvements to EasyBuild itself, in particular when using Python 3 or a hierarchical module naming scheme;

* improved support for installing software on Linux/POWER systems, thanks to the contributions by the BEAR team at the University of Birmingham;

  * easier integration with OpenHPC-provided software installations;

* support for including 'extensions' statements in generated Lua module files via the --module-extensions configuration option, which is a new feature in Lmod 8.2+ (see also https://lmod.readthedocs.io/en/latest/330_extensions.html);

* additional GitHub integration features, incl. support for "eb --sync-pr-with-develop", "eb --new-branch-github", "eb --new-pr-from-branch", etc. (the documentation at https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html will be updated soon to cover these new options);

  * one new software-specific easyblocks for cuDNN;

* updates, enhancements & bug fixes for the generic CmdCp, MakeCp, PythonPackage, Toolchain easyblock and the custom easyblocks for Bazel, CUDA, Gctf, MUMPS, netCDF, netcdf4-python, SCOTCH, SuperLU, TensorFlow, and Xmipp;

* support for enabling "pip check" in the sanity check for Python packages via "sanity_pip_check = True", to ensure that all required Python packages are in place;

* added support for 46 new software packages, incl. bwa-meth, CITE-seq-Count, CoordgenLibs, GULP, kwant, MethylDackel, MoviePy, mpiP, pasta, RDFlib, RQGIS3, Short-Pair, SpliceMap, ...;

* updates for already supported software, incl. Bazel 1.1.0, Blender 2.81, dask 2.8.0, h5py 2.10.0, IPython 7.9.0, Mesa 19.2.1, OpenFOAM v1906, PyTorch 1.3.1, SciPy-bundle 2019.10, TensorFlow 1.15.0, TensorFlow 2.0.0 w/ fosscuda/2019b, Xmipp 3.19.04, ...;

  * added easyconfigs for intelcuda/2019b toolchain;

* updated easyconfigs for Java/1.8, cuDNN 7.6.4.38 and NCCL 2.4.8 to use a different 'source' files when installing on Linux/POWER;

  * various bug fixes, incl.:

    - fixed compatibility of EasyBuild framework with Python 3.8;

- fixed semantics of --set-default-module (don't set default for dependencies that are installed due to --robot);

- fixed easyconfigs for installing fosscuda/2019b toolchain to make sure it works with hierarchical module naming scheme;

- added missing extensions to the Python 3.7.2 and 3.7.4 easyconfig files (use "eb --force --skip Python-3.7.2-GCCcore-8.2.0.eb Python-3.7.4-GCCcore-8.3.0.eb" to install the missing extensions);

- added missing extensions to TensorFlow 2.0.0 easyconfigs, and use correct version for the included 'gast' extension;

    - patch binutils 2.31.1 and 2.32 to fix compatibility with RHEL8;

- promote binutils to a runtime dependency for Python built with GCCcore toolchain (to avoid failing 'pip install' if Python package being installed involves compilation);

  * various additional updates, enhancements & bug fixes;

This brings the total number of supported software packages to 1,771!
An up-to-date list of supported software is available at [2].


In addition to this, we have started running the different EasyBuild test suites in the native GitHub CI environment that is a part of GitHub Actions. This allows you as contributor to ensure the test suite passes before you open a pull request for your contributions, which is facilitated by the improved GitHub integration features.


A detailed overview of all changes is available in the release notes [3].


These changes result from a large number of merged contributions,
by 20 different contributors:

- 37 merged pull requests for EasyBuild framework
- 20 merged pull requests for easyblocks
- 217 merged pull requests for easyconfigs

Thanks to everyone who contributed to this release in one way or another!


To upgrade to EasyBuild v4.1.0, there are several options [4].
Two particularly easy options include:

    * eb --install-latest-eb-release

    * eb --from-pr 9439               # use easyconfig from PR #9439 [5]


Enjoy!


regards,

Kenneth & Miguel


[1] https://pypi.org/project/easybuild/4.1.0
[2] https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html
[3] https://easybuild.readthedocs.io/en/latest/Release_notes.html
[4] https://easybuild.readthedocs.io/en/latest/Installation.html#updating-an-existing-easybuild-installation
[5] https://github.com/easybuilders/easybuild-easyconfigs/pull/9439/files

Reply via email to