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.