"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "doc/build/NEWS.txt" between
modules-5.1.1.tar.bz2 and modules-5.2.0.tar.bz2

About: The Environment Modules package provides for the dynamic modification of a user’s environment via modulefiles.

NEWS.txt  (modules-5.1.1.tar.bz2):NEWS.txt  (modules-5.2.0.tar.bz2)
Release notes Release notes
************* *************
This file describes changes in recent versions of Modules. It This file describes changes in recent versions of Modules. It
primarily documents those changes that are of interest to users and primarily documents those changes that are of interest to users and
admins. admins.
Modules 5.2.0 (2022-11-08)
==========================
* Introduce the "--optional" option on "prereq", "prereq-all",
"depends-on" and "always-load" modulefile commands. Expressed
optional dependency is considered satisfied even if modulefile is
not loaded. If optional requirement is loaded afterward, dependent
module is automatically reloaded, unless if the "auto_handling"
configuration option is disabled.
* A dependency expressed in modulefile with "module try-load" command
is considered optional. Dependent module is automatically reloaded
if the optional requirement is loaded afterward, unless if the
"auto_handling" configuration option is disabled.
* Raise error in case of unknown or misplaced option set on "prereq",
"prereq-all", "depends-on" or "always-load" modulefile commands.
* Add the "--timer" command-line switch to report the total execution
time of the **module** command. Also report the execution time of
every internal procedure calls when mixed with "--debug" option.
* Init: move "PATH" setup (to locate Modules' binaries location) from
shell initialization scripts to the "autoinit" sub-command. (fix
issue #462)
* Init: move "MANPATH" setup (to locate Modules' man-pages) from shell
initialization scripts to the "autoinit" sub-command. (fix issue
#462)
* Init: move shell completion setup from shell initialization scripts
to the "autoinit" sub-command. (fix issue #462)
* Enclose installation path references in shell code produced by
"autoinit", in initialization scripts and Makefiles to guaranty
correct evaluation in case these paths contain a space character.
Note that the quarantine mechanism is not compatible with such
installation paths.
* Fix "source-sh" and "sh-to-mod" when used with *fish* shell script
if "regex-easyesc" fish option is enabled. (fix issue #463)
* Add the "protected_envvars" configuration option to define a list of
environment variables that cannot be modified by modulefile
commands. When set, "protected_envvars" defines
"MODULES_PROTECTED_ENVVARS" environment variable. (fix issue #429
with contribution from Adrien Cotte)
* Introduce the "lint" sub-command to statically analyze syntax of
modulefiles, modulerc and global/user rc. (fix issue #451)
* Add the "tcl_linter" configuration option to define the program used
to analyze files with "lint" sub-command. This option is set to
"nagelfar.tcl" by default. When changed from default value, the
"MODULES_TCL_LINTER" environment variable is defined. Default value
can be changed with "--with-tcl-linter" and "--with-tcl-linter-opts"
installation options.
* Add the "--enable-nagelfar-addons" installation option (enabled by
default) to install specific syntax databases and plugins to lint
modulefiles, modulerc and global/user rc with Nagelfar. These files
are installed in the directory designated by the "--nagelfardatadir"
("DATAROOTDIR/nagelfar" by default).
* Doc: add lint sub-command design notes.
* Install: use **install** command rather **cp** or **mkdir** to
install Modules and guaranty consistent permission modes on deployed
files.
* Also unset "pushenv" value stacks on "clear" sub-command.
* Doc: add mod-to-sh sub-command design notes.
* Introduce the "mod-to-sh" sub-command to translate designated
modulefile(s) into code for specified shell. (fix issue #447)
* Make "source" sub-command accepts modulefile specification as
argument. If argument does not correspond to a file path, search it
among available modulefiles. (fix issue #424)
* Doc: clarify "set-alias" only define shell alias and not shell
function.
* Add the ability to filter the list of collections returned by
"savelist" sub-command. Filtering pattern is matched in a case
insensitive manner by default.
* Add support for "--starts-with" and "--contains" options on
"savelist" sub-command.
* Highlight all search patterns on "list" sub-command output instead
of only the first one..
* Highlight all search patterns on "savelist" sub-command output.
* Add support for "--all" option on "savelist" sub-command not to
limit result to the collection matching currently defined
"collection_target".
* Doc: add Shell support section in modulefile man page to describe
how shells support the different kind of environment changes that
can be defined in modulefiles.
* Record during "autoinit" sub-command the initial environment state
in "__MODULES_LMINIT". Enabled modulepaths and loaded modulefiles
through "modulespath" and "initrc" initialization configuration
files are recorded in this new environment variable.
* Add "reset" sub-command to restore initial environment. It takes
recorded environment in "__MODULES_LMINIT" and restores it.
* Initial environment is restored when collection name specified on
"restore" sub-command equals "__init__".
* When no argument is provided to "restore" sub-command and if
*default* collection does not exist, initial environment is
restored.
* Initial environment content is displayed when collection name
specified on "saveshow" sub-command equals "__init__".
* When no argument is provided to "saveshow" sub-command and if
*default* collection does not exist, initial environment content is
displayed.
* Add "reset_target_state" configuration option to determine behavior
of "reset" sub-command. When set to "__init__" (default value)
initial environment is restored. When set to "__purge__", a "purge"
sub-command is performed. Any other value, corresponds to the name
of a collection to "restore". When set, "reset_target_state" defines
"MODULES_RESET_TARGET_STATE" environment variable.
* Doc: add Initial environment design notes.
* Unload *sticky* modules on "restore" and "reset" sub-commands to
fully set environment in collection or initial state.
* Testsuite: add *lint* testsuite to validate syntax of shell and Tcl
scripts of this project. This testsuite can be invoked with "make
testlint" or "script/mt lint". sh, bash and ksh scripts are checked
with ShellCheck tool and tcl scripts are checked with Nagelfar.
* Update "modulecmd.tcl" code and add Nagelfar inline comments to fix
linter reports.
* Script: add usage message and support for "-h"/"--help" option on
**mrel**, **mpub**, **mt**, **mtreview**, **nglfar2ccov**, **mb**
and **mlprof** development utilities.
* Doc: describe **script/mt** and **script/mb** utilities in
Contributing guide.
* Fix ShellCheck error, warning and info reports over all sh, bash and
ksh shell scripts. (fix issue #470 with contribution from Lukáš
Zaoral)
* Init: update profile script for sh-like shells to only source sh or
bash initialization script when BASH environment variable is found
set. (fix issue #473)
* Add "stash" sub-command to save current environment and restore
initial one.
* Add "stashpop" sub-command to restore stash collection then delete
this collection file.
* Add "stashrm" sub-command to delete stash collection file.
* Add "stashshow" sub-command to display stash collection file.
* Add "stashclear" sub-command to delete all stash collection files.
* Add "stashlist" sub-command to list all stash collection files.
* Update "savelist" sub-command to filter out stash collections unless
if "--all" option is set.
* Doc: ensure current user environment does not break logging system
in Log module command recipe. (fix issue #475)
* Rename the default git branch from *master* to *main* to use
inclusive terminology.
* Mark loaded modules that could benefit from a refresh evaluation in
the "__MODULES_LMREFRESH" environment variable.
* Optimize "refresh" sub-command to only evaluate loaded modules that
defines volatile environment changes (shell completion, alias or
function). (fix issue #477)
* Add "modulefile_extra_cmds" hook variable that could be defined in
"siteconfig.tcl" file to define specific commands in modulefile
interpreter context. "modulefile_extra_cmds" is a list of command
name and relative procedure pairs. (fix issue #286)
* Add "modulefile_extra_vars" hook variable that could be defined in
"siteconfig.tcl" file to define specific variables in modulefile
interpreter context. "modulefile_extra_vars" is a list of variable
name and value pairs. (fix issue #286)
* Add "modulerc_extra_cmds" hook variable that could be defined in
"siteconfig.tcl" file to define specific commands in modulerc
interpreter context. "modulerc_extra_cmds" is a list of command name
and relative procedure pairs. (fix issue #286)
* Add "modulerc_extra_vars" hook variable that could be defined in
"siteconfig.tcl" file to define specific variables in modulerc
interpreter context. "modulerc_extra_vars" is a list of variable
name and value pairs. (fix issue #286)
* Doc: Add Site-specific configuration section in module man page.
* Doc: extend Collections section with examples in module man page.
Modules 5.1.1 (2022-05-31) Modules 5.1.1 (2022-05-31)
========================== ==========================
* Install: add **rpmlint** rc configuration file to filter false * Install: add **rpmlint** rc configuration file to filter false
positive warning messages. positive warning messages.
* Install: better guess "libdir64" and "libdir32" directory locations * Install: better guess "libdir64" and "libdir32" directory locations
when "libdir" does not end with *64* but contains *64*. when "libdir" does not end with *64* but contains *64*.
* Install: update RPM spec file to move libtclenvmodules in an * Install: update RPM spec file to move libtclenvmodules in an
skipping to change at line 1029 skipping to change at line 1244
* Introduce super-stickiness: module tagged "super-sticky" with * Introduce super-stickiness: module tagged "super-sticky" with
"module-tag" command cannot be unloaded even if the unload is forced "module-tag" command cannot be unloaded even if the unload is forced
unless if the module is reloaded. (fix issue #269) unless if the module is reloaded. (fix issue #269)
* Allow swap of sticky or super-sticky modules by another modulefile * Allow swap of sticky or super-sticky modules by another modulefile
version if stickiness definition applies to module parent name. version if stickiness definition applies to module parent name.
E.g., *foo/1.0* can be swapped by *foo/2.0* if sticky tag applies to E.g., *foo/1.0* can be swapped by *foo/2.0* if sticky tag applies to
*foo*. *foo*.
* When forcing purge with a "purge --force" sub-command, also unload * When forcing purge with a "purge --force" sub-command, also unload
the modules that are depended by unloadable modules. the modules that are depended by non-unloadable modules.
* Doc: improve readability of Modules installation configuration in * Doc: improve readability of Modules installation configuration in
Installing Modules on Unix document and enable hypertext reference Installing Modules on Unix document and enable hypertext reference
to these elements. to these elements.
* Doc: improve readability of module command configuration option in * Doc: improve readability of module command configuration option in
module document and enable hypertext reference to these elements. module document and enable hypertext reference to these elements.
* Doc: describe in HTML documentation when installation options, * Doc: describe in HTML documentation when installation options,
module command configuration options and options of modulefile module command configuration options and options of modulefile
 End of changes. 2 change blocks. 
1 lines changed or deleted 216 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)