This is a massive release ahead of the v7.0. This brings notifications of new deprecations, new builtins, new flags, improved CI/CD flow, and changes to the website. Unfortunately it also carries 3 breaking changes.
Please read out compatibility commitment to understand how features are deprecated.
?
pipe will be deprecated to make way for a the ternary operator. You can achieve the same result with <err> <!out>
, eg command <err> <!out> parameters... | next-command ...
=
and let
builtins are now officially deprecated. They’ve been marked as deprecated in the documentation for a couple of years but you’ll now receive a deprecation warning when using them. This warning will not impact any functions that call them (they bypass the stdout and stderr pipes and write directly to your TTY) but it is still recommended that you update any existing code not to use it. The change is very simple, Murex supported expressions as first class primitives, so you can simply drop the =
and let
command names from your expressionstread
has been deprecated for a while due to read
supporting all tread
’s use cases. tread
will officially be removed in the next release@[]
syntax for ranging has been deprecated for a while. It will be officially removed in the next release in favour of []
die
has been deprecated because it just adds a feature for no purpose. It was original borrowed from Perl but realistically you can do the same with exit 1
so this removal is to bring the language complexity down.for
syntax change, switching from parenthesis to curly braces (discussion, documentation)~
sigil for home directories will now fail if username is not found (issue #840)+=
. This isn’t really needed in a shell with infixing support. Removing this feature allows for more common code with other operators and thus fewer bugs~
sigil for home directories will now fail if username is not found (issue #840)~>
to perform immutable merges (read more)count
: added support for --bytes
and --runes
(read more)++
and --
mjoin
created to join arrays into a string (read more)list.case
created to alter the text capitalizations on arrays and strings (read more)regexp
: new flag, M
, returns matches including first row. This is useful if first row is a headings (read more)murex
: new flag: setsid
provides better POSIX support with SID / GPID management. This breaks some of Murex’s features so this flag is provided for edge cases where commands capture job control signalsversion
: now includes git’s branch name, build date and license. (read more)go generate
now builds and executes doc gen. As well as updates Murex’s version number and build datemurex
: new environmental variable, MUREX_DEBUG
, enables --debug
flag without having to specify a parameter (eg when using Murex as a shell)regexp
: separator can now support separators which are characters larger than 1 byte, ie unicode characters (read more)murex
: new flag --execute
– this behaves like -c
except that it takes @ARGV
parameters instead of a pipeline as a single stringconfig
: errors generated via dynamic config are now better surfacedalter
: fixed nil pointer error in --merge
(issue #850)systemctl
<!out>
defined in command?
operator from git
=
(issue #854)=
, from Linux profileRelease()
after os.FindProcess()
Thank yous for this release goes to tiymat, atagen and orefalo for your testing and feedback. Also thank you to everyone in the discussions group and all who raise bug reports.
You rock!
Published: 18.09.2024 at 20:00
alter
/ ~>
): Change a value within a structured data-type and pass that change along the pipeline without altering the original source inputlist.case
): Changes the character case of a string or all elements in an arraycount
): Count items in a map, list or arrayexpr
): Expressions: mathematical, string comparisons, logical operatorsfor
): A more familiar iteration loop to existing developersmjoin
): Joins a list or array into a single stringversion
): Get Murex versionregexp
): Regexp tools for arrays / lists of stringsconfig
): Query or define Murex runtime settings~
Home Sigil: Home directory path variableThis document was generated from gen/changelog/v6.3_doc.yaml.
This site's content is rebuilt automatically from murex's source code after each merge to the master
branch. Downloadable murex binaries are also built with the website.
Last built on Tue Dec 10 22:56:57 UTC 2024 against commit 60f05a260f05a227caf73dd5b3478e3cb3f4bb24e46745b.
Current version is 6.4.1005 (develop) which has been verified against tests cases.