v2.1
v2.1
This release comes with support for inlining SQL and some major bug fixes plus a breaking change for config
. Please read for details.
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 at12
rather than 6New optional builtin,
select
, allows you to inline SQL queries against any tabulated output (egps -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) frombuiltins/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 viajobs
and/or modify processes to run in the background/foreground viabg
andfg
.Added new API endpoints:
ReadArrayWithType()
. This solves some edge cases inforeach
where elements might not match the same data type as the parent object (eg ajson
object might haveint
orstr
elements in an array)Rewritten how
Dynamic
autocompletions are executed to fall in line withDynamicDesc
. 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-timeoutImprovements 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 Facing / Maintenance Changes:
All dependencies have been updated, pinned and the
vendors
directory rebuiltFixed 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
- Background Process (
bg
): Run processes in the background - Display Running Functions (
jobs
): Lists all running functions within the current Murex session - For Each In List (
foreach
): Iterate through an array - Foreground Process (
fg
): Sends a background process into the foreground - Inline SQL (
select
): Inlining SQL into shell pipelines *
(generic): generic (primitive)ReadArrayWithType()
(type): Read from a data type one array element at a time and return the elements contents and data typecsv
: CSV files (and other character delimited tables)jsonl
: JSON Lines
This document was generated from gen/changelog/v2.1_doc.yaml.