# EasyBuild 5.0 Changes Overview ## Breaking Changes - Removed support for Python 2.7 and 3.5 ([#4229](https://github.com/easybuilders/easybuild-framework/pull/4229)) - Removed deprecated EasyBuild bootstrap script ([#4233](https://github.com/easybuilders/easybuild-framework/pull/4233)) - Removed experimental support for YAML-based easyconfig format (.yeb) ([#4237](https://github.com/easybuilders/easybuild-framework/pull/4237)) - Removed support for 32-bit targets ([#4272](https://github.com/easybuilders/easybuild-framework/pull/4272)) - Renamed unclear `*run*` methods to `*install_extension*` + renamed `install_extensions` to `install_all_extensions` ([#4400](https://github.com/easybuilders/easybuild-framework/pull/4400)) - Bumped minimum required Lmod to 8.0.0 ([#4424](https://github.com/easybuilders/easybuild-framework/pull/4424)) - Bumped minimum required Tmod (4.x) to 4.3.0 ([#4425](https://github.com/easybuilders/easybuild-framework/pull/4425)) ## Changed Defaults - Enabled `--trace` by default ([#4250](https://github.com/easybuilders/easybuild-framework/pull/4250)) - Changed default for `change_into_dir` to `False` for `extract_file` ([#4246](https://github.com/easybuilders/easybuild-framework/pull/4246)) - Enabled RPATH linking by default ([#4448](https://github.com/easybuilders/easybuild-framework/pull/4448)) - Enabled `--module-extensions` by default ([#4501](https://github.com/easybuilders/easybuild-framework/pull/4501)) - Enabled `module-depends-on` by default ([#4500](https://github.com/easybuilders/easybuild-framework/pull/4500)) - Switched checksum default to sha256 ([#4524](https://github.com/easybuilders/easybuild-framework/pull/4524)) - Limited `maxparallel` to 16 by default ([#4606](https://github.com/easybuilders/easybuild-framework/pull/4606)) - Used Slurm as the default job backend ([#4659](https://github.com/easybuilders/easybuild-framework/pull/4659)) ## Enhancements - Implemented `run_shell_cmd` function to replace `run_cmd` + `run_cmd_qa` ([#4284](https://github.com/easybuilders/easybuild-framework/pull/4284), [#4321](https://github.com/easybuilders/easybuild-framework/pull/4321), [#4322](https://github.com/easybuilders/easybuild-framework/pull/4322), [#4327](https://github.com/easybuilders/easybuild-framework/pull/4327), [#4335](https://github.com/easybuilders/easybuild-framework/pull/4335), [#4336](https://github.com/easybuilders/easybuild-framework/pull/4336), [#4443](https://github.com/easybuilders/easybuild-framework/pull/4443), [#4504](https://github.com/easybuilders/easybuild-framework/pull/4504)) - Added support for running shell commands asynchronously with `run_shell_cmd` ([#4444](https://github.com/easybuilders/easybuild-framework/pull/4444)) - Implemented support for running interactive commands with `run_shell_cmd` ([#4453](https://github.com/easybuilders/easybuild-framework/pull/4453)) - Added support for `--software-commit` and an associated template `%(software_commit)s` ([#4608](https://github.com/easybuilders/easybuild-framework/pull/4608)) - Added module cache build support on EnvironmentModules ([#4615](https://github.com/easybuilders/easybuild-framework/pull/4615)) - Added support for alternate easyconfig parameters/templates/constants ([#4511](https://github.com/easybuilders/easybuild-framework/pull/4511)) - Fixed stability of reproducible tarballs from git repos ([#4517](https://github.com/easybuilders/easybuild-framework/pull/4517)) - Implemented more granular exit codes when `EasyBuildError` is raised ([#4534](https://github.com/easybuilders/easybuild-framework/pull/4534)) - Added CUDA compute capability integer format templates ([#4463](https://github.com/easybuilders/easybuild-framework/pull/4463)) ## Removal of Deprecated Functionality - Removed deprecated `dummy` toolchain ([#4240](https://github.com/easybuilders/easybuild-framework/pull/4240)) - Removed deprecated `--wait-on-lock` option ([#4239](https://github.com/easybuilders/easybuild-framework/pull/4239)) - Removed deprecated `--accept-eula` option ([#4242](https://github.com/easybuilders/easybuild-framework/pull/4242)) - Removed deprecated `is_generic_easyblock` from easyconfig.py ([#4243](https://github.com/easybuilders/easybuild-framework/pull/4243)) - Removed deprecated `use_git_am` option to `apply_patch` ([#4244](https://github.com/easybuilders/easybuild-framework/pull/4244)) - Removed deprecated `fetch_extension_sources` ([#4245](https://github.com/easybuilders/easybuild-framework/pull/4245)) ## Newly Deprecated Functionality - Deprecated support for `EnvironmentModulesC` and `EnvironmentModulesTcl` module tools ([#4439](https://github.com/easybuilders/easybuild-framework/pull/4439)) - Deprecated `run_cmd` and `run_cmd_qa` & co, moved them to `easybuild._deprecated` module ([#4433](https://github.com/easybuilders/easybuild-framework/pull/4433)) - Deprecated old checksum options (incl. md5) ([#4526](https://github.com/easybuilders/easybuild-framework/pull/4526)) - Deprecated support for GC3Pie as job backend ([#4659](https://github.com/easybuilders/easybuild-framework/pull/4659)) ## Other Changes - Added support for Python 3.12 in unit tests ([#4484](https://github.com/easybuilders/easybuild-framework/pull/4484)) - Added support for Python 3.13 in tests ([#4674](https://github.com/easybuilders/easybuild-framework/pull/4674)) This overview summarizes the major changes, enhancements, and deprecations in EasyBuild 5.0. For more detailed information on each change, please refer to the linked pull requests.