unsupported ,ˆl–Ým_J¥4Ò‚™P.Ü 7ú˜´oÀ „ ÂE_‡I|¥ŠèªÀÄ?÷Release notes ************* This file describes changes in recent versions of Modules. It primarily documents those changes that are of interest to users and admins. Modules 5.3.0 (2023-05-14) ========================== * Add Module cache design notes. * Add "cachebuild" sub-command to create cache for modulepaths enabled or specified on the command line. Cache files are named ".modulecache" and stored at the root of modulepath directories. * Add "cacheclear" sub-command to delete cache file in all enabled modulepaths. * Use cache file if available rather search the content of modulepath directories when searching for modules (e.g., during "avail", "load", "display", etc). * Script: add cache-enabled version of *avail*, *whatis* and *load* tests on **mb** benchmark utility. * Add the "ignore_cache" configuration option to ignore module cache file. Option is disabled by default and when set, it defines "MODULES_IGNORE_CACHE" environment variable. * Add "--ignore-cache" command-line switch to enable "ignore_cache" configuration option and ignore module cache file for current execution. * Add "cache_buffer_bytes" configuration option to define buffer size when reading or writing cache files. Option is set to "32768" by default. When set it defines "MODULES_CACHE_BUFFER_BYTES" environment variable. * Add "cache_expiry_secs" configuration option that defines the number of seconds a cache file is considered valid after being generated. Option is set to "0" by default which means cache files never expire. When option is set it defines "MODULES_CACHE_EXPIRY_SECS" environment variable. * Modulefiles and directories that are not accessible by everyone are not recorded in cache file. A *limited access* directive is recorded instead to indicate these modulefiles have to be tested and directories have to be walked down to determine what the running user can access. * Doc: update Reduce I/O load cookbook recipe with module cache description. * Correctly apply extra tag set when loading a module whose variant has value automatically set. (fix issue #484) * Catch collection directory creation error and report appropriate message. (fix issue #482) * Fix "source-sh" and "sh-to-mod" shell alias translation when used with new *fish* shell version (3.6). * Install: allow to build Modules from a short-depth git repository. (fix issue #486) * Install: ensure git log format is not influenced by user's configuration in **gitlog2changelog.py**. (fix issue #487) * Init: fix bash shell completion script to be able to complete full name of available modules. (fix issue #490) * Install: move licence name to SPDX format in RPM spec file. * Doc: add Extra match search design notes. * Introduce *extra match search* mechanism that evaluates available modulefiles during a module search to find those matching an extra query on a variant value, a dependency or an environment variable definition. During this specific evaluation, modulefiles are interpreted in *scan* mode. * "scan" string is returned by "module-info mode" when queried during a *scan* modulefile evaluation. * Add the "variant" element in the allowed value list of the "avail_output" and "avail_terse_output" configuration options. When set, variants and their possible values are reported along the module they are associated to on "avail" command output. Adding variant information to this output activates the *extra match search* mechanism that scan modulefiles to find variants they define. (fix issue #407) * Apply graphic rendition of default version ("de" SGR key) to default variant value on either "list" and "avail" command output. * Apply either loaded or auto-loaded graphic rendition to the loaded variant value on "avail" command output. * Update "avail", "paths" and "whatis" sub-commands to take into account variant set in module specification. Available modules are filtered with *extra match search* mecha