# 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.