github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/changelog/v2.9.md (about)

     1  # v2.9
     2  
     3  This release focuses on testing and REPL usability improvements but also includes updates several new run modes to make error handling easier in larger scripts.
     4  
     5  ### Breaking Changes:
     6  
     7  * None
     8  
     9  ### Features:
    10  
    11  * `>>` redirect (append to file) operator added. This is just syntactic sugar for `-> >>`. To redirect and overwrite/truncate a file use `|>` rather than `>`
    12  
    13  * Support for automatic globbing in the commandline. This has to be enabled via `config: set shell auto-glob true` and you will get prompted for each glob. Any globs inside blocks will be ignored and this only works on the interactive prompt (ie not in scripts or background processes) -- these limitations are not a bug but by design
    14  
    15  * Dynamic autocomplete suggestions are now cached for 5 seconds by default. This cache can be changed via the **CacheTTL** directive in `autocomplete`
    16  
    17  * Additional scoping for `try` and `trypipe`. You can define the scope as being an entire function or a module. If set for an entire module then any functions, autocompletions, etc inside that module will inherit that `try` or `trypipe` mode automatically. These are set via the new builtin `runmode`
    18  
    19  * New reserved variable `$PWD` (this was just a global variable previously)
    20  
    21  * Additional flags added to range, `@[`
    22  
    23  * New builtin, `man-get-flags`. This exposes Murex's internal man page parser to the command line scripts
    24  
    25  * Binaries now produced for ARM64 Windows
    26  
    27  ### Minor Changes:
    28  
    29  * The order in which namespaces are looked up has been altered since `private`s should be resolved before `function`s
    30  
    31  * Updated autocomplete for homebrew, `brew`
    32  
    33  * New autocomplete for AWS CLI, `aws`
    34  
    35  * New autocomplete for yarn, `yarn`
    36  
    37  * Murex unit tests should report progressively rather than everything upon completion
    38  
    39  * Minimum recommended version of Go has been raised to 1.15. This is due to some bugs in dependencies when running tests against v1.13 and v1.14. Murex will technically compile and work on them but it not worth my time debugging why the CircleCI tests fail for those versions given their age
    40  
    41  * Vendor directory removed. This isn't really needed now support is focused on newer versions of Go
    42  
    43  * Website: New 404 error
    44  
    45  * Website: search bar added
    46  
    47  * The start of a massive push towards upping the test coverage
    48  
    49  * Lots of improvements to the docs
    50  
    51  ### Bug Fixes:
    52  
    53  * FileRef module string for functions forked from the REPL changed to `murex/shell` to bring it inline with the naming convention of other modules
    54  
    55  <hr>
    56  
    57  Published: 15.07.2022 at 20:35
    58  
    59  ## See Also
    60  
    61  * [Reserved Variables](../user-guide/reserved-vars.md):
    62    Special variables reserved by Murex
    63  * [Schedulers](../user-guide/schedulers.md):
    64    Overview of the different schedulers (or 'run modes') in Murex
    65  * [`>>` Append File](../parser/greater-than-greater-than.md):
    66    Writes STDIN to disk - appending contents if file already exists
    67  * [`>>` Append Pipe](../parser/pipe-append.md):
    68    Redirects STDOUT to a file and append its contents
    69  * [`[ ..Range ]`](../parser/range.md):
    70    Outputs a ranged subset of data from STDIN
    71  * [`autocomplete`](../commands/autocomplete.md):
    72    Set definitions for tab-completion in the command line
    73  * [`config`](../commands/config.md):
    74    Query or define Murex runtime settings
    75  * [`function`](../commands/function.md):
    76    Define a function block
    77  * [`murex-docs`](../commands/murex-docs.md):
    78    Displays the man pages for Murex builtins
    79  * [`private`](../commands/private.md):
    80    Define a private function block
    81  * [`runmode`](../commands/runmode.md):
    82    Alter the scheduler's behaviour at higher scoping level
    83  * [`try`](../commands/try.md):
    84    Handles non-zero exits inside a block of code
    85  * [`trypipe`](../commands/trypipe.md):
    86    Checks for non-zero exits of each function in a pipeline
    87  * [`|>` Truncate File](../parser/greater-than.md):
    88    Writes STDIN to disk - overwriting contents if file already exists
    89  
    90  <hr/>
    91  
    92  This document was generated from [gen/changelog/v2.9_doc.yaml](https://github.com/lmorg/murex/blob/master/gen/changelog/v2.9_doc.yaml).