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

     1  - DocumentID: v2.1
     2    Title: >-
     3      v2.1
     4    CategoryID: changelog
     5    DateTime: 2021-04-30 10:00
     6    Summary: >-
     7      This release comes with support for inlining SQL and some major bug fixes plus
     8      a breaking change for `config`. Please read for details.
     9    Description: |-
    10      This release sees new optional features plus major bug fixes to the existing
    11      code base:
    12  
    13      ### Breaking Changes:
    14      
    15      Two `config` **shell** keys have changed names:
    16      
    17      * recursive-soft-timeout -> `autocomplete-soft-timeout`
    18      * recursive-hard-timeout -> `autocomplete-hard-timeout`
    19  
    20      This is to better describe their functionality now that those values are
    21      also used for `Dynamic` and `DynamicDesc` autocompletions as well as
    22      recursive directory lookups.
    23  
    24      **This change might break some of your existing profile config!**
    25  
    26      ### User Facing Changes:
    27  
    28      * `config` **shell** **max-suggestions** now defaults at `12` rather than 6
    29  
    30      * New optional builtin, `select`, allows you to inline SQL queries against
    31        any tabulated output (eg `ps -fe`, jsonlines arrays, CSV files, etc). This
    32        works via importing output into an in memory sqlite3 database. However this
    33        also breaks cross compiling due to the C includes with sqlite3. Thus this
    34        builtin will remain optional for now.
    35  
    36      * Rethink of how optionals are imported. Rather than modifying `// +build`
    37        headers in `.go` files, optionals can be copied (or symlinked) from
    38        `builtins/imports_src` -> `builtins/imports_build`. This enables us to
    39        write a user friendly pre-compiling build script to enable users to easily
    40        select which optional builtins to include.
    41  
    42      * Stopping jobs via `^z` has been fixed in UNIX. This was a regression bug
    43        introduced a while back however no tests were in place to catch it.
    44        Unfortunately this kind of testing would fall outside of unit testing each
    45        function so I'll need to add another layer of testing against the compiled
    46        executable to verify any future regressions like these: [discussion](https://github.com/lmorg/murex/issues/318)
    47        To use this feature, run a command and then press `^z` (ctrl+z) to pause
    48        the process. You can check which jobs have been paused via `jobs` and/or
    49        modify processes to run in the background/foreground via `bg` and `fg`.
    50  
    51      * Added new API endpoints: `ReadArrayWithType()`. This solves some edge cases
    52        in `foreach` where elements might not match the same data type as the parent
    53        object (eg a `json` object might have `int` or `str` elements in an array)
    54  
    55      * Rewritten how `Dynamic` autocompletions are executed to fall in line with
    56        `DynamicDesc`. This should bring improvements to running autocompletions
    57        in the background and thus improve the user experience with regards to the
    58        shell's responsiveness. The next step would be to have a lower soft-timeout
    59  
    60      * Improvements to the context completions
    61  
    62      * Default lengths for autocompletions where all results are deferred to the
    63        background have been tweaked slightly to give some extra length
    64  
    65      * Minor website tweaks
    66  
    67      ### Non-User Facing / Maintenance Changes:
    68  
    69      * All dependencies have been updated, pinned and the `vendors` directory
    70        rebuilt
    71  
    72      * Fixed some issues flagged up in [goreportcard.com](https://goreportcard.com/report/github.com/lmorg/murex)
    73  
    74      * Some internal API changes that have no UI/UX ramifications but makes the
    75        code more maintainable
    76  
    77      * Lots more unit tests added
    78    Synonyms:
    79    Related:
    80    - select
    81    - jsonl
    82    - csv
    83    - generic
    84    - jobs
    85    - fg
    86    - bg
    87    - ReadArrayWithType
    88    - foreach
    89