https://murex.rocks/docs/blog/v2.1.html
murex rocks
Welcome
About
Install
Blog
Technical Docs
User Guide
Quick Start
Syntax
Commands
Types
Open Source
Go APIs
GitHub repo
murex Blog
What's new in murex v2.1
This release sees new optional features plus major bug fixes to the
existing code base:
Breaking Changes:
Two config shell keys have changed names:
* recursive-soft-timeout => autocomplete-soft-timeout
* recursive-hard-timeout => autocomplete-hard-timeout
This is to better describe their functionality now that those values
are also used for Dynamic and DynamicDesc autocompletions as well as
recursive directory lookups.
This change might break some of your existing profile config!
User Facing Changes:
* config shell max-suggestions now defaults at 12 rather than 6
* New optional builtin, select, allows you to inline SQL queries
against any tabulated output (eg ps -fe, jsonlines arrays, CSV
files, etc). This works via importing output into an in memory
sqlite3 database. However this also breaks cross compiling due to
the C includes with sqlite3. Thus this builtin will remain
optional for now.
* Rethink of how optionals are imported. Rather than modifying //
+build headers in .go files, optionals can be copied (or
symlinked) from builtins/imports_src -> builtins/imports_build.
This enables us to write a user friendly pre-compiling build
script to enable users to easily select which optional builtins
to include.
* Stopping jobs via ^z has been fixed in UNIX. This was a
regression bug introduced a while back however no tests were in
place to catch it. Unfortunately this kind of testing would fall
outside of unit testing each function so I'll need to add another
layer of testing against the compiled executable to verify any
future regressions like these: discussion To use this feature,
run a command and then press ^z (ctrl+z) to pause the process.
You can check which jobs have been paused via jobs and/or modify
processes to run in the background/foreground via bg and fg.
* Added new API endpoints: ReadArrayWithType(). This solves some
edge cases in foreach where elements might not match the same
data type as the parent object (eg a json object might have int
or str elements in an array)
* Rewritten how Dynamic autocompletions are executed to fall in
line with DynamicDesc. This should bring improvements to running
autocompletions in the background and thus improve the user
experience with regards to the shell's responsiveness. The next
step would be to have a lower soft-timeout
* Improvements to the context completions
* Default lengths for autocompletions where all results are
deferred to the background have been tweaked slightly to give
some extra length
* Minor website tweaks
Non-User Face / Maintenance Changes
* All dependencies have been updated, pinned and the vendors
directory rebuilt
* Fixed some issues flagged up in goreportcard.com
* Some internal API changes that have no UI/UX ramifications but
makes the code more maintainable
* Lots more unit tests added
---------------------------------------------------------------------
Published: 30.04.2021 at 10:00
See Also
* types/* (generic): generic (primitive)
* apis/ReadArrayWithType() (type): Read from a data type one array
element at a time and return the elements contents and data type
* commands/bg: Run processes in the background
* commands/fg: Sends a background process into the foreground
* commands/foreach: Iterate through an array
* commands/jobs: Lists all running functions within the current
murex session
* types/jsonl: JSON Lines (primitive)
* optional/select: Inlining SQL into shell pipelines
* types/csv:
* This site is rebuilt weekly, the content is automatically
generated from murex's source code. Downloadable murex binaries
are also built weekly.
* Last built on Fri Apr 30 13:35:23 UTC 2021 against commit eb8adb6
eb8adb64d530c14c5b202a8bc432851413f4f869.
* Current version is 2.1.3200 BETA which has been verified against
14498 tests.