github cea-hpc/modules v5.4.0
5.4.0

2 months ago
  • Allow to designate module by its full path file name on module-tag, module-hide and module-forbid. (fix issue #485)
  • Introduce tag extra specifier to search modules on avail, whatis and paths sub-commands based on tags applied. Tag abbreviation may also be used as extra specifier name.
  • Add ability to specify multiple names on one extra specifier criterion to select modules matching any of these names (e.g., env:PATH,LD_LIBRARY_PATH)
  • Add ability to specify multiple values on one variant criterion to select modules providing any of these variant values (e.g., foo=val1,val2)
  • Add the indesym element in the allowed value list of the list_output and list_terse_output configuration options. When set, symbolic versions are reported as independent elements rather along the loaded module they are attached to.
  • Add the alias element in the allowed value list of the list_output and list_terse_output configuration options. When set, module aliases targeting loaded modules are reported.
  • Introduce sticky_purge configuration option to define behavior when unloading sticky or super-sticky module during a purge command. Raise an error (default) or emit a warning or be silent. When set, it defines the MODULES_STICKY_PURGE environment variable. Default value can be changed with --with-sticky-purge installation option. (fix issue #502)
  • Introduce modulepath-label modulerc command, which defines label used instead of modulepath directory path in avail output.
  • More than one global rc file can now be specified in MODULERCFILE or via rcfile configuration option.
  • Add the unique_name_loaded configuration option to allow, when enabled, only one module loaded per module name. When set, it defines the MODULES_UNIQUE_NAME_LOADED environment variable. Default value (disabled) can be changed with --enable-unique-name-loaded installation option.
  • Add evaluation-errors design notes.
  • Add abort_on_error configuration option to define module sub-commands that should abort when a module evaluation fails instead of continuing their evaluation sequence. When configuration option is set, it defines the MODULES_ABORT_ON_ERROR environment variable. Default value can be changed with --with-abort-on-error installation option.
  • Add support for abort_on_error evaluation behavior on load, mod-to-sh and try-load sub-commands.
  • Report issue on modulefile when it fails to load an erroneous requirement through module try-load modulefile command.
  • Doc/Install: modernize modulefile code example in documentation and installed example modulefiles.
  • Vim: correctly highlight modulefile commands containing a dash character.
  • Update requirement load error report to place it only under the message block of the module requiring this load. This change helps to better understand the chronology of actions and from where an error occurs.
  • Do not report requirement load error when an alternative requirement module is found and loaded afterward. (fix issue #509)
  • Do not render an error exit code on multi-module option requirement when one module option fails to load but another does. (fix issue #510)
  • Do not report module not found error when loading a requirement if an alternative requirement module is found and loaded afterward. (fix issue #511)
  • Add --glob option to remove-path modulefile command in order to remove any values in variable matching a glob-style pattern.
  • Record module specification on which loaded module stickiness applies in __MODULES_LMSTICKYRULE environment variable. It helps to determine if stickiness is satisfied when changing loaded modules. Which was not working correctly for virtual modules. (fix issue #506)
  • Silently ignore cache file when it requires a greater Modules version. (fix issue #515)
  • Doc: move modulefile(5) man page in section 5. (fix issue #518 with contribution from Laurent Chardon)
  • Add source_cache configuration option to cache files evaluated in modulefiles with source Tcl command. Files sourced multiple times are only read once when option is enabled. source_cache is disabled by default. When set, it defines the MODULES_SOURCE_CACHE environment variable. Default value can be changed with --enable-source-cache installation option.
  • Add support for abort_on_error evaluation behavior on unload sub-command.
  • A modulefile is unloaded anyway even if an evaluation error occurs when --force option is used on ml, purge, reload, reset, restore, stash, stashpop, switch and unload sub-commands. To forbid the unload of a modulefile it is recommended to tag it super-sticky with module-tag command.
  • Disable abort_on_error when --force option is used. In this case, behavior is to continue when an error occurs.
  • Add support for abort_on_error evaluation behavior on ml command. Abort on error behavior is on by default with ml. Removing it from abort_on_error's value enables the continue on error behavior.
  • Add support for abort_on_error evaluation behavior on reload command. Abort on error behavior is on by default with reload. Removing it from abort_on_error's value enables the continue on error behavior.
  • Add support for abort_on_error evaluation behavior on purge sub-command.
  • Add support for abort_on_error evaluation behavior on unload phase of switch command. Abort on error behavior is on by default there. Removing switch_unload from abort_on_error's value enables the continue on error behavior.
  • Add support for abort_on_error evaluation behavior on switch command. Abort on error behavior is applied if switch value is set in abort_on_error and either switch unload or switch load phase fails.
  • Install: installation option --enable-new-features is updated to enable abort on error behavior on load and switch sub-commands.
  • Lib: slightly adapt code of Modules Tcl extension library to properly build against Tcl 9.0.
  • Adapt alias unset shell code for sh-kind shells to avoid errors when alias to unset is not defined.
  • Adapt function unset shell code for sh-kind shells to avoid errors when function to unset is not defined.
  • No output of unload of switched-off failed and load of switched-on failed error messages when module switch command is run from a modulefile.
  • No Switching block message report when module switch command is run from a modulefile.
  • Report all error and warning messages locally under Loading or Unloading block message rather reporting some of them under the block message of the main action. These errors and warnings are thus reported where they occur.
  • Report switched-on load failure as error rather warning.
  • Report switched-on module locating or access issues only once.
  • Report conflict error message when it occurs rather than after modulefile evaluation.
  • Update conflict error message to report all conflicting modules name and version rather conflict module specification.
  • Fix conflict error check to avoid reporting both unloading conflict failed and conflict is loading messages.
  • Raise an error and stop modulefile evaluation when module switch command fails unless if --force option is set.
  • When a useless requirement unload fails, do not increase error count as this failure is reported as a warning and main unload process is not affected.
  • Path element equals to delimiter character is allowed on append-path and prepend-path modulefile commands. (fix issue #522)
  • Add bash-eval shell mode to source-sh modulefile command and sh-to-mod sub-command. With this mode, the generated output of the bash shell script is evaluated to get the environment changes instead of sourcing this script. (fix issue #519)
  • Add --ignore option to source-sh modulefile command to define shell elements changed by shell script that should be ignored. (fix issue #503)
  • Init: Improve Tcsh shell completion script to complete against existing files when pattern starts with /, . or ~/. (fix issue #523)
  • Add --user option to module-forbid, module-hide and module-tag modulefile commands to forbid, hide or tag only if user is listed in the value of this new option. (fix issue #520 with contribution from Jérémy Déchard)
  • Add --group option to module-forbid, module-hide and module-tag modulefile commands to forbid, hide or tag only if one user's group is listed in the value of this new option. (fix issue #520 with contribution from Jérémy Déchard)

Don't miss a new modules release

NewReleases is sending notifications on new releases.