Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
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 ...
the
=
andlet
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=
andlet
command names from your expressionstread
has been deprecated for a while due toread
supporting alltread
'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[]
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
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 withexit 1
so this removal is to bring the language complexity down.Breaking Changes
for
syntax change, switching from parenthesis to curly braces (discussion, documentation)tilde
~
sigil for home directories will now fail if username is not found (issue #840)support removed for string concatenation via
+=
. 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 bugsFeatures
variables: tilde
~
sigil for home directories will now fail if username is not found (issue #840)new builtin + operator:
~>
to perform immutable merges (read more)count
: added support for--bytes
and--runes
(read more)variables: Lots of new variables added for POSIX compatibility (issue #873)
expressions: added support for sub-expressions inside object and array builders (issue #834)
core: added support for pseudo-variable pointers via parenthesis (issue #830)
expressions: added support for
++
and--
new builtin:
mjoin
created to join arrays into a string (read more)new builtin:
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 signalsintegrations: added wrapper for Helix editor to support job control
version
: now includes git's branch name, build date and license. (read more)core:
go generate
now builds and executes doc gen. As well as updates Murex's version number and build datedocgen: added support for sub-categories and Vue menu generation
murex
: new environmental variable,MUREX_DEBUG
, enables--debug
flag without having to specify a parameter (eg when using Murex as a shell)integrations: new integration: orbstack.
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 stringcicd: added support for Go v1.23
website: significant updates across all documents
readline: if terminal is small, the max completion rows is automatically reduced
Bug Fixes
core: better conversion of numbers from strings (issue #874)
config
: errors generated via dynamic config are now better surfacedalter
: fixed nil pointer error in--merge
(issue #850)autocomplete: fixed unit file completions for
systemctl
core: terminal no longer hangs if stdin is a term and
<!out>
defined in commandautocomplete: removed deprecated
?
operator fromgit
expressions: sub-shell scalars inside object builders now return objects instead of strings (issue #853)
core: improved expression validator
core: statements are no longer forced to be parsed as expressions when the first parameter is
=
(issue #854)readline: ignore panics in VIM keys. In the edge cases where panics are raised, we'd want to exit that function regardless. So handling panics as exceptions is the cleanest way to handle errors (issue #866)
integrations: removed deprecated builtin,
=
, from Linux profilecore: missing
Release()
afteros.FindProcess()
readline: preview displays error if terminal too small (issue #868)
Special Thanks
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!
This discussion was created from the release v6.3.4221.