Skip to content

5.6.0

Latest
Compare
Choose a tag to compare
@xdelaruelle xdelaruelle released this 31 Jul 19:45
  • Rename contrib directory as share in sources to use clearer name for architecture and configuration independent files.
  • Set a Security policy for the project.
  • Add red, white and black SVG logo files of Modules project.
  • Doc: improve Links, Community sections in documentation index and README
  • Doc: improve Authors and Acknowledgments sections in README
  • Doc: add create-new-release guide
  • Update repository URL to https://github.com/envmodules/modules.
  • Install: update configure script to allow running it from a current working directory different than where this file is stored. (fix issue #558)
  • Doc: create Developer HowTos section on documentation website to group development how-to guides.
  • Doc: add acknowledgments page in the documentation.
  • Doc: describe GOVERNANCE.
  • Doc: add CHARTER.
  • Escape square brackets ([]) used in values within produced shell code as these characters may have special meaning on some shells (like csh). (fix issue #565)
  • Doc: advertise the Modules chat room (#modules:matrix.org) to discuss with the community.
  • Doc: describe the developer-certificate-of-origin process now applied on contributions.
  • Doc: add add-new-maintainer guide
  • Fix interpreter variable reset between multiple modulefile or modulerc evaluations when variable initial value is an invalid list. (fix issue #570)
  • Fix source-sh and sh-to-mod shell translation when used with new fish shell version (4.0).
  • Doc: add mode-select design notes.
  • Introduce use extra specifier to search for MODULEPATH changes performed with module use, append-path or prepend-path modulefile commands on avail, whatis and paths sub-commands.
  • Add --dumpname option to report name of current Environment Modules implementation. Here it returns Modules. This option is also available on Lmod starting version 8.7.50.
  • Add the depends-on-any modulefile command, alias over the prereq command for compatibility with Lmod Tcl modulefiles.
  • Add depends-on-any extra specifier to query modulefile requirement definitions. The extra specifier aliases prereq, prereq-any or require may also be used to query this modulefile command.
  • Introduce the spider sub-command that lists available modules found in enabled modulepaths and recursively found in modulepaths enabled by available modules. After a first step aimed at collecting all modulepaths, spider proceeds and reports like avail sub-command. The same set of options are supported.
  • Introduce the spider_output and spider_terse_output configuration options to define the content to report in addition to the available module names respectively for spider sub-command regular and terse output modes. Excepted value for these configuration options is a colon separated list of elements to report. Default value is modulepath:alias:dirwsym:sym:tag:variantifspec:key for spider_output and modulepath:alias:dirwsym:sym:tag:variantifspec for spider_terse_output. These values can be changed at installation time respectively with the --with-spider-output and --with-spider-terse-output options. These values can then be superseded by using the config sub-command which sets the MODULES_SPIDER_OUTPUT and MODULES_SPIDER_TERSE_OUTPUT environment variables.
  • Introduce the ability to control whether spider command search results should recursively include or not modulefiles from directories matching search query by use of the --indepth and --no-indepth command-line switches or spider_indepth configuration option (that sets MODULES_SPIDER_INDEPTH environment variable through config command). Default value (enabled) may also be changed at installation time with --disable-spider-indepth option.
  • Doc: add spider-sub-command design notes.
  • The lint sub-command now also lint any readable modulecache files when no modulefile specification is passed as argument or if .modulecache file location is specifically passed as argument.
  • Add the hidden element in the allowed value list of the avail_output, avail_terse_output, list_output, list_terse_output, spider_output and spider_terse_output configuration options. When set, it is equivalent to use --all option: hidden modules are shown.
  • Produce a single output for multi pattern avail search rather than a separate output for each submitted pattern.
  • Produce a single output for multi pattern whatis search rather than a separate output for each submitted pattern.
  • Doc: clarify that character used in version specification like , and : cannot be used as variant shortcut.
  • Introduce __MODULES_LMUSE environment variable to keep track of the loaded modules that enable modulepaths.
  • Apply modulepath label defined with modulepath-label also on output of whatis and search sub-commands.
  • Report via information for each module entry on JSON output of avail and spider sub-commands. Via information is the name of the loaded or interpreted module that enables the modulepath in which reported modules are stored.
  • Add the via element in the allowed value list of the avail_output and spider_output configuration options. When set, if a modulepath is enabled by a module, this module name is reported next to the modulepath name. via element is not available for terse output mode. via is set by default in spider_output configuration option.
  • Add modules_release internal state. It will help to know the current version of Modules within siteconfig.tcl script.
  • Introduce module-help modulefile command which defines help text to print when modulefile is evaluated in help mode.
  • Update add-property modulefile command to use its value argument to define tag on currently loading module.
  • Doc: add module-warn design notes.
  • Add module-warn modulerc and modulefile command which prints a warning message when designated modulefile is evaluated. This command accepts options to emit the warning only for specific users, groups or times.
  • Introduce the warning informational module tag on modulefiles targeted by module-warn command. Update default tag_abbrev configuration option to add an abbreviation for the new tag (W) and default light and dark color palettes.
  • Change light and dark color palettes for nearly-forbidden tag (red text with yellow background), to make it look closer to forbidden tag (red background) and distinguish it from new warning tag (black text and yellow background).
  • No raise of nearly-forbidden warning when affected modulefile is evaluated in refresh mode.
  • Issue the nearly-forbidden warning at the end of the affected modulefile evaluation, ensuring it is always reported at the same stage regardless of where it is defined.
  • Change underlying shell code to set environment variable on sh, bash, ksh, zsh and fish shells: enclose value within single quotes rather escaping each special characters.
  • setenv modulefile command now supports environment variable value containing newline character. Exception is made for csh and tcsh shells where newline characters are chopped from value. (fix issue #557)
  • Sort modules in JSON output as done on regular output.
  • cachebuild command now sets the minimal Modules version specified in the cache file magic cookie header to the oldest Modules version compatible with this cache file, rather than the version that generated the cache file. Freshly generated cache files are compatible with Modules 5.3 and above.
  • Doc: improve enable-modules-in-shells guidelines.
  • Doc: add man-path cookbook recipe.
  • Doc: add other-implementations document.
  • Add update sub-command, an alias of reload
  • Add disable sub-command, an alias of saverm
  • Add describe sub-command, an alias of saveshow
  • Add --show_hidden option, an alias of --all
  • Add haveDynamicMPATH modulefile command
  • Fix use.own example modulefile to report when creating local modulefiles directory. (fix issue #576)
  • Doc: add manual page for envml(1) command. (fix issue #190)
  • Introduce Emacs addon files to highlight the modulefile syntax. Installation of these files, which is enabled by default, is controlled by the --enable-emacs-addons and --emacsdatadir configure options. (contribution from Laurent Besson)
  • Add require_via configuration option that controls whether or not a requirement is considered between a module stored in a modulepath and the loaded module that enables this modulepath. With Automated module handling mechanisms enabled, modules stored in a modulepath are unloaded or reloaded when the module enabling this modulepath is changed. require_via is disabled by default but everyone willing to hierarchically organize their modulefiles is encouraged to enable this new option. This option can be changed at installation time with --enable-require-via. When require_via is changed with config sub-command, it sets the MODULES_REQUIRE_VIA environment variable.
  • Install: installation option --enable-new-features is updated to include --enable-require-via.
  • Doc: add require-via design notes.
  • Skip reload of a Dependent Reload module if it is not found after a change in enabled modulepaths. Reload of a not found module is attempted only if it is tagged super-sticky or sticky and force mode is disabled. Skipped module is considered Dependent Unload module.
  • Script: update mb tool to skip test for Modules version below 5.5 if Tcl 9 is selected.
  • Introduce the provide modulefile command that defines module alias over currently evaluating module. This helps convey that the module offers additional functionality or components. (fix issue #539)
  • Change extensions modulefile command to be an alias over the provide command.
  • Add the provided-alias element in the allowed value list of the avail_output, avail_terse_output, spider_output and spider_terse_output configuration options. When set, module aliases are included into the output and the extra match search mechanism is activated to scan modulefiles to get the module aliases they define.
  • Doc: add provide design notes.
  • Introduce provide and provided-alias extra specifiers to search modules on avail, spider, whatis and paths sub-commands. provided-alias extra specifier is an alias onto provide and family extra specifiers.