"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "NEWS.rst" 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.rst  (modules-5.1.1.tar.bz2):NEWS.rst  (modules-5.2.0.tar.bz2)
.. _NEWS: .. _NEWS:
Release notes Release notes
============= =============
This file describes changes in recent versions of Modules. It primarily This file describes changes in recent versions of Modules. It primarily
documents those changes that are of interest to users and admins. documents those changes that are of interest to users and admins.
.. _5.2 release notes:
Modules 5.2.0 (2022-11-08)
--------------------------
* Introduce the ``--optional`` option on :mfcmd:`prereq`, :mfcmd:`prereq-all`,
:mfcmd:`depends-on` and :mfcmd:`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 :mconfig:`auto_handling` configuration
option is disabled.
* A dependency expressed in modulefile with :mfcmd:`module try-load<module>`
command is considered optional. Dependent module is automatically reloaded
if the optional requirement is loaded afterward, unless if the
:mconfig:`auto_handling` configuration option is disabled.
* Raise error in case of unknown or misplaced option set on :mfcmd:`prereq`,
:mfcmd:`prereq-all`, :mfcmd:`depends-on` or :mfcmd:`always-load` modulefile
commands.
* Add the :option:`--timer` command-line switch to report the total execution
time of the :command:`module` command. Also report the execution time of
every internal procedure calls when mixed with :option:`--debug` option.
* Init: move :envvar:`PATH` setup (to locate Modules' binaries location) from
shell initialization scripts to the :subcmd:`autoinit` sub-command. (fix
issue #462)
* Init: move :envvar:`MANPATH` setup (to locate Modules' man-pages) from
shell initialization scripts to the :subcmd:`autoinit` sub-command. (fix
issue #462)
* Init: move shell completion setup from shell initialization scripts to the
:subcmd:`autoinit` sub-command. (fix issue #462)
* Enclose installation path references in shell code produced by
:subcmd:`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 :mfcmd:`source-sh` and :subcmd:`sh-to-mod` when used with *fish* shell
script if ``regex-easyesc`` fish option is enabled. (fix issue #463)
* Add the :mconfig:`protected_envvars` configuration option to define a list
of environment variables that cannot be modified by modulefile commands.
When set, :mconfig:`protected_envvars` defines
:envvar:`MODULES_PROTECTED_ENVVARS` environment variable. (fix issue #429
with contribution from Adrien Cotte)
* Introduce the :subcmd:`lint` sub-command to statically analyze syntax of
modulefiles, modulerc and global/user rc. (fix issue #451)
* Add the :mconfig:`tcl_linter` configuration option to define the program
used to analyze files with :subcmd:`lint` sub-command. This option is set to
``nagelfar.tcl`` by default. When changed from default value, the
:envvar:`MODULES_TCL_LINTER` environment variable is defined. Default value
can be changed with :instopt:`--with-tcl-linter` and
:instopt:`--with-tcl-linter-opts` installation options.
* Add the :instopt:`--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 :instopt:`--nagelfardatadir`
(``DATAROOTDIR/nagelfar`` by default).
* Doc: add :ref:`lint-sub-command` design notes.
* Install: use :command:`install` command rather :command:`cp` or
:command:`mkdir` to install Modules and guaranty consistent permission modes
on deployed files.
* Also unset :mfcmd:`pushenv` value stacks on :subcmd:`clear` sub-command.
* Doc: add :ref:`mod-to-sh-sub-command` design notes.
* Introduce the :subcmd:`mod-to-sh` sub-command to translate designated
modulefile(s) into code for specified shell. (fix issue #447)
* Make :subcmd:`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 :mfcmd:`set-alias` only define shell alias and not shell
function.
* Add the ability to filter the list of collections returned by
:subcmd:`savelist` sub-command. Filtering pattern is matched in a case
insensitive manner by default.
* Add support for :option:`--starts-with` and :option:`--contains` options on
:subcmd:`savelist` sub-command.
* Highlight all search patterns on :subcmd:`list` sub-command output instead
of only the first one..
* Highlight all search patterns on :subcmd:`savelist` sub-command output.
* Add support for :option:`--all` option on :subcmd:`savelist` sub-command not
to limit result to the collection matching currently defined
:mconfig:`collection_target`.
* Doc: add :ref:`Shell support` section in :ref:`modulefile(4)` man page to
describe how shells support the different kind of environment changes that
can be defined in modulefiles.
* Record during :subcmd:`autoinit` sub-command the initial environment state
in :envvar:`__MODULES_LMINIT`. Enabled modulepaths and loaded modulefiles
through :file:`modulespath` and :file:`initrc` initialization configuration
files are recorded in this new environment variable.
* Add :subcmd:`reset` sub-command to restore initial environment. It takes
recorded environment in :envvar:`__MODULES_LMINIT` and restores it.
* Initial environment is restored when collection name specified on
:subcmd:`restore` sub-command equals ``__init__``.
* When no argument is provided to :subcmd:`restore` sub-command and if
*default* collection does not exist, initial environment is restored.
* Initial environment content is displayed when collection name specified on
:subcmd:`saveshow` sub-command equals ``__init__``.
* When no argument is provided to :subcmd:`saveshow` sub-command and if
*default* collection does not exist, initial environment content is
displayed.
* Add :mconfig:`reset_target_state` configuration option to determine behavior
of :subcmd:`reset` sub-command. When set to ``__init__`` (default value)
initial environment is restored. When set to ``__purge__``, a
:subcmd:`purge` sub-command is performed. Any other value, corresponds to
the name of a collection to :subcmd:`restore`. When set,
:mconfig:`reset_target_state` defines :envvar:`MODULES_RESET_TARGET_STATE`
environment variable.
* Doc: add :ref:`initial-environment` design notes.
* Unload *sticky* modules on :subcmd:`restore` and :subcmd:`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 :file:`modulecmd.tcl` code and add Nagelfar inline comments to fix
linter reports.
* Script: add usage message and support for ``-h``/``--help`` option on
:command:`mrel`, :command:`mpub`, :command:`mt`, :command:`mtreview`,
:command:`nglfar2ccov`, :command:`mb` and :command:`mlprof` development
utilities.
* Doc: describe :command:`script/mt` and :command:`script/mb` utilities in
:ref:`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 :subcmd:`stash` sub-command to save current environment and restore
initial one.
* Add :subcmd:`stashpop` sub-command to restore stash collection then delete
this collection file.
* Add :subcmd:`stashrm` sub-command to delete stash collection file.
* Add :subcmd:`stashshow` sub-command to display stash collection file.
* Add :subcmd:`stashclear` sub-command to delete all stash collection files.
* Add :subcmd:`stashlist` sub-command to list all stash collection files.
* Update :subcmd:`savelist` sub-command to filter out stash collections unless
if :option:`--all` option is set.
* Doc: ensure current user environment does not break logging system in
:ref:`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
:envvar:`__MODULES_LMREFRESH` environment variable.
* Optimize :subcmd:`refresh` sub-command to only evaluate loaded modules that
defines volatile environment changes (shell completion, alias or function).
(fix issue #477)
* Add :sitevar:`modulefile_extra_cmds` hook variable that could be defined in
:file:`siteconfig.tcl` file to define specific commands in modulefile
interpreter context. :sitevar:`modulefile_extra_cmds` is a list of command
name and relative procedure pairs. (fix issue #286)
* Add :sitevar:`modulefile_extra_vars` hook variable that could be defined in
:file:`siteconfig.tcl` file to define specific variables in modulefile
interpreter context. :sitevar:`modulefile_extra_vars` is a list of variable
name and value pairs. (fix issue #286)
* Add :sitevar:`modulerc_extra_cmds` hook variable that could be defined in
:file:`siteconfig.tcl` file to define specific commands in modulerc
interpreter context. :sitevar:`modulerc_extra_cmds` is a list of command
name and relative procedure pairs. (fix issue #286)
* Add :sitevar:`modulerc_extra_vars` hook variable that could be defined in
:file:`siteconfig.tcl` file to define specific variables in modulerc
interpreter context. :sitevar:`modulerc_extra_vars` is a list of variable
name and value pairs. (fix issue #286)
* Doc: Add :ref:`Site-specific configuration` section in :ref:`module(1)` man
page.
* Doc: extend :ref:`Collections` section with examples in :ref:`module(1)` man
page.
.. _Nagelfar: http://nagelfar.sourceforge.net/
.. _ShellCheck: https://www.shellcheck.net/
.. _5.1 release notes: .. _5.1 release notes:
Modules 5.1.1 (2022-05-31) Modules 5.1.1 (2022-05-31)
-------------------------- --------------------------
* Install: add :command:`rpmlint` rc configuration file to filter false * Install: add :command:`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 260 skipping to change at line 425
enclose module names in single quotes if they contain a space character. enclose module names in single quotes if they contain a space character.
* When mentioning the loading, unloading or refreshing evaluation of a module, * When mentioning the loading, unloading or refreshing evaluation of a module,
report the tags associated to this module as done when printing results of report the tags associated to this module as done when printing results of
:subcmd:`list` sub-command. :subcmd:`list` sub-command.
* Fix :ref:`log-module-command` cookbook recipe not to break Modules * Fix :ref:`log-module-command` cookbook recipe not to break Modules
initialization when using provided :file:`siteconfig.tcl` file. (fix issue initialization when using provided :file:`siteconfig.tcl` file. (fix issue
#453 with contribution from Eric Burgueño) #453 with contribution from Eric Burgueño)
* Mention tagging evaluation of a module, when tag list of an already loaded * Mention tagging evaluation of a module, when tag list of an already loaded
module is updated. module is updated.
.. _Code of conduct: https://github.com/cea-hpc/modules/blob/master/CODE_OF_COND UCT.md .. _Code of conduct: https://github.com/cea-hpc/modules/blob/main/CODE_OF_CONDUC T.md
.. _codespell: https://github.com/codespell-project/codespell .. _codespell: https://github.com/codespell-project/codespell
.. _Aspell: http://aspell.net/ .. _Aspell: http://aspell.net/
.. _5.0 release notes: .. _5.0 release notes:
Modules 5.0.1 (2021-10-16) Modules 5.0.1 (2021-10-16)
-------------------------- --------------------------
* Doc: add *How to preserve my loaded environment when running screen* entry * Doc: add *How to preserve my loaded environment when running screen* entry
in :ref:`FAQ`. in :ref:`FAQ`.
skipping to change at line 797 skipping to change at line 962
* Introduce stickiness: module tagged ``sticky`` with :mfcmd:`module-tag` * Introduce stickiness: module tagged ``sticky`` with :mfcmd:`module-tag`
command cannot be unloaded unless if the unload is forced or if the module command cannot be unloaded unless if the unload is forced or if the module
is reloaded. (fix issue #269) is reloaded. (fix issue #269)
* Introduce super-stickiness: module tagged ``super-sticky`` with * Introduce super-stickiness: module tagged ``super-sticky`` with
:mfcmd:`module-tag` command cannot be unloaded even if the unload is forced :mfcmd:`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 version * Allow swap of sticky or super-sticky modules by another modulefile version
if stickiness definition applies to module parent name. E.g., *foo/1.0* can 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 *foo*. be swapped by *foo/2.0* if sticky tag applies to *foo*.
* When forcing purge with a :subcmd:`purge --force<purge>` sub-command, also * When forcing purge with a :subcmd:`purge --force<purge>` sub-command, also
unload the modules that are depended by unloadable modules. unload 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
:ref:`INSTALL` document and enable hypertext reference to these elements. :ref:`INSTALL` document and enable hypertext reference to these elements.
* Doc: improve readability of module command configuration option in * Doc: improve readability of module command configuration option in
:ref:`module(1)` document and enable hypertext reference to these elements. :ref:`module(1)` document and enable hypertext reference to these elements.
* Doc: describe in HTML documentation when installation options, module * Doc: describe in HTML documentation when installation options, module
command configuration options and options of modulefile command or module command configuration options and options of modulefile command or module
sub-command were introduced. sub-command were introduced.
* Doc: update HTML documentation Table Of Content. * Doc: update HTML documentation Table Of Content.
* Doc: improve markup of module sub-commands, modulefile commands, * Doc: improve markup of module sub-commands, modulefile commands,
installation option, module configuration option across documentation. installation option, module configuration option across documentation.
 End of changes. 3 change blocks. 
2 lines changed or deleted 167 lines changed or added

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