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 Wed Jan 15 23:07:50 UTC 2025 against commit b4c4296b4c429617fd41527ea0efef33c52c15ef2b64972.
Current version is 6.4.2063 (develop) which has been verified against tests cases.