github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/gen/changelog/v2.5_doc.yaml (about)

     1  - DocumentID: v2.5
     2    Title: >-
     3      v2.5
     4    CategoryID: changelog
     5    DateTime: 2022-02-12 16:16
     6    Summary: >-
     7      This release introduces a number of new builtins, fixes some regression bugs
     8      and supercharges the `select` optional builtin (which I plan to include into
     9      the core builtins for non-Windows users in the next release).
    10    Description: |-
    11      ### Features:
    12  
    13      * `alter` now supports `--sum` where structures are merged and numeric values are added together
    14  
    15      * New builtin `count`. This has deprecated `len` however `len` will stick around as an alias for backwards compatibility
    16  
    17      * New operators added to `let`: `+=`, `-=`, `/=`, `*=`
    18  
    19      * New builtin `addheading` for adding headings to lists
    20  
    21      * Compiled profile will now always execute even if Murex flags set to ignore the modules/user profile. This is so that aliases like `len` get set and thus Murex can still move forward with changes to builtins but without breaking backwards compatibility
    22  
    23      * `autocomplete` now passes `ISMETHOD` variable to dynamic completions so those dynamic completions are aware if a command requesting auto-completion suggestions is being invoked as a method (mid-pipeline) or function (start of a pipeline)
    24  
    25      * Index, `[`, now supports inlining element, `[[`, lookups. eg `[ a b [/map/c] ]`
    26      
    27      * Dynamic auto-completions that include `@IncFiles` or `@IncDirs` will now automatically append files and/or directories to their auto-completion suggestions
    28  
    29      * New `autocomplete` directives: `IncExeAll` (like `IncExePath` but includes builtins, functions, aliases), `IncManPage` (include results from the `man` page parser -- usually suppressed when `autocomplete` config is set)
    30  
    31      * Disabled 'Loading default profile' message -- this was always pretty redundant but now that the compiled profile is being loaded all the time (eg `murex -c 'command'` or when called in a shebang), it's also now ugly too
    32  
    33      * `select` now supports passing a file in the **FROM** syntax. eg `select * FROM ./example.csv`. The caveat here is this breaks currently auto-complete on column names
    34  
    35      * `select` now supports multiple tables using either named pipes (eg `select * FROM <table1>, <table2>`) or variables (eg `select * FROM \$table1, \$table2`) passed in the **FROM** syntax. Variables should be escaped and you cannot mix and match between named pipes, file names nor variables. You can use any number of tables from 1 to 2^63-1 (64bit systems) or 1 to 2^31-1 (32bit systems). Which should be more than enough ;)
    36  
    37      * `config` option for `select` to define default output data type where multiple tables are imported
    38  
    39      * Lots of new and updated documentation!
    40  
    41      ### Non-user facing changes (internal changes to the Murex code base):
    42      
    43      * `open` functions can now be called by other functions to take advantage of auto-typing and auto gunzip etc.
    44  
    45      * `tmp.Close()` should return `err`. This isn't a bug but it might catch future bugs
    46  
    47      * `LazyLogging` created to speed up writing tests against data structures
    48  
    49      * `utils/List` package created to handle list / array / map functions. Also makes testing more complex routines easier
    50  
    51      ### Bug fixes:
    52      
    53      * Regression bug fixed where `prepend` was invoking `append`
    54  
    55      * `streams.ReadCloser` not setting context
    56  
    57      * `parameters.StringArray()` should copy values instead of a pointer to ensure the underlying parameters are immutable
    58    Synonyms:
    59    Related:
    60    - select
    61    - config
    62    - alter
    63    - autocomplete
    64    - pipe
    65    - namedpipe
    66    - let
    67    - set
    68    - count
    69    - pipeline
    70  
    71  
    72