v7.0
v7.0
This change brings a number of ergonomic improvements to job control, datetime
and working with structures.
Deprecation Warnings
Please read out compatibility commitment to understand how features are deprecated.
the
?
pipe will be deprecated to make way for a the ternary operator. You can achieve the same result with<err> <!out>
, egcommand <err> <!out> parameters... | next-command ...
backtick strings (````) has been an undocumented hack for several years. This release officially sees that hack as deprecated and will be removed in the next release
Breaking Changes
The following builtins have been removed in this release, having been marked as deprecated for 2 years or longer.
die
has been removed because it adds a feature for no purpose. It was original borrowed from Perl but realistically you can do the same withexit 1
so this removal is to bring the language complexity down.the
=
andlet
builtins are now removed. These builtins were created back before expressions were a first class citizen in Murex. Now these serve no purpose and just add clutter to the language specification.tread
is now longer needed due toread
supporting alltread
's use cases.
You can still compile Murex to include these builtins via by including the following compile-time tag: deprecated_builtins
. However we recommend you use the more modern syntax instead.
v7.0.0xxx
Features
xml
: new data type support added (EXPERIMENTAL) (read more)pretty
: new flag added--type
(read more)- core: support added for running Murex scripts against specific versions of Murex
- index: new behavior introduced for v8.0.x
runtime
: new flag added--module-murex-version
(read more)get
&post
:Body
can now be marshalled into JSON. Even ifBody
was originally a different Content-Type, like XML (read more)onPrompt
: new event interrupt:command-completion
(read more)- readline: VIM command mode (read more)
$MUREX_HISTORY
: new environmental variable for changing the write location of Murex's history file (read more)$MUREX_CONFIG_DIR
: new environmental variable for changing the write location of all of Murex's config and profiles (read more)- core: RISC-V 64 CPU support added (EXPERIMENTAL)
cd
: support added for OSC 7 ANSI escape sequence (read more)getfile
&open
: additional type inference logic fortext/plain
Content-Types ((issue #915)[https://github.com/lmorg/murex/issues/915], read more)- core: system profile now loaded after
.murex_preload
- core: add support for preloading code in modules
- integration: support added for OpenTofu
- integration: support added for Orbstack
- integration: support added for Ollama
- integration: updates for Ttyphoon
- readline: add support for line defaults
- readline:
ctrl
+n
for next line ((issue #924)[https://github.com/lmorg/murex/discussions/924], read more) - readline:
ctrl
+p
for previous line ((issue #924)[https://github.com/lmorg/murex/discussions/924], read more) - source: support for loading modules
Bug Fixes
- readline: fix end of line cursor position bug when using
B
with VIM keys - readline: don't show preview if no preview is set
- core: file extension checks from HTTP was happening before content-type normalisation
- core:
<fid:var>
was failing to set$var
with FID
Special Thanks
Thank yous for this release goes to tiymat, atagen for your testing and feedback.
Also thank you to everyone in the discussions group and all who raise bug reports.
You rock!
Published: 14.04.2025 at 23:50
See Also
- Change Directory (
cd
): Change (working) directory - Download File (
getfile
): Makes a standard HTTP request and return the contents as Murex-aware data type for passing along Murex pipelines. - Get Request (
get
): Makes a standard HTTP request and returns the result as a JSON object - How To Contribute: Murex is community project. We gratefully accept contributions
- MUREX_CONFIG_DIR: Defines the path to Murex's config
- MUREX_HISTORY: Defines the path to the
.murex_history
log - Murex Event Subsystem (
event
): Event driven programming for shell scripts - Open File (
open
): Open a file with a preferred handler - Post Request (
post
): HTTP POST request with a JSON-parsable return - Prettify JSON: Prettifies data documents to make it human readable
- Shell Runtime (
runtime
): Returns runtime information on the internal state of Murex MUREX_PRELOAD
(str): Defines the path to the.murex_preload
scriptxml
: Extensible Markup Language (XML) (experimental)- index: Outputs an element from an array, map or table
- onPrompt: Events triggered by changes in state of the interactive shell
This document was generated from gen/changelog/v7.0_doc.yaml.