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